Byte Magazine Volume 03 Number 04 - Optimization (THIRD SCAN)

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)

by any other

micro-computer system

COMPUTERS TERMINALS PRINTERS SOFTWARE

TAPE SYSTEMS DISK SYSTEMS GRAPHICS

PROM PROGRAMMER

MEMORY - 4K, 8K, 16K & 32K PROGRAMMABLE REAL TIME CLOCK CALCULATOR INTERFACE A - D CONVERTER

Write, or circle our reader reply number for a catalog describing our complete line of computer hardware and software.

NOW AVAILABLE IN BOTH KIT AND ASSEMBLED FORM.

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216

Circle 105 on inquiry card.

Now we can announce it

the multi-disk drive System Three Computer

A fast Z80 microcomputer with up to 512 kilobytes of RAM, 4 disk drives and 1 megabyte of disk storage—<with CRT terminal and fast printer. Even an optional PROM programmer. Strong software support, too, like FORTRAN IV, Extended BASIC, and Macro Assembler.

PROFESSIONAL GRADE— FOR PROFESSIONALS

Chances are you've already heard that there is a Cromemco System Three Computer. We've proudly previewed it at WESCON on the West Coast and NYPC on the East Coast.

But you also know Cromemco. We don't announce until we're ready to ship.

Now we're ready.

And what a computer we've got for you.

It does it all.

It's a complete system—processor, CRT terminal, line printer.

First, it's fast—1 microsecond nominal execution time and 250 nanosecond cycle time.

Its equally fast RAM memory is large and enormously expandable— 32 kilobytes expandable to 512 kilobytes. No danger ot obsolescence from inadequate RAM capacity.

THE ONLY MICROCOMPUTER OFFERING 4 DISK DRIVES

Further, the System Three comes with two disk drives to give you 512 kilobytes of disk storage. Softsectored IBM format. Optionally, you can have four drives with 1 megabyte of storage.

There's disk protection, too, since in the LOCK position disks can't be ejected while they are running.

21-SLOT MOTHERBOARD

This new CS-3 is a computer that won't be outdated soon. It has a 21card-slot slide-out motherboard and an S-100 bus so that you can plug in all sorts of support circuitry. The heavy-duty 30-amp power supply can easily handle all this.

BROAD S-100 SUPPORT

The S-100 is the bus that Cromemco so strongly supports, with over a dozen plug-in circuits ranging

from analog I/O to high-speed RAM memory with our bank-select feature.

TRULY POWERFUL SOFTWARE

You have to have software. And Cromemco is far in front there, too. Our FORTRAN IV, for example, is equal to the FORTRAN compilers on large mainframes. Further, It (and our other software) is low-priced.

Our 16K Z80 BASIC is one of the fastest and most capable. Full 14digit precision.

There's also our Z80 Macro Assembler and Linking Loader. Uses Z80 mnemonics. Allows referencing FORTRAN common blocks.

CRT TERMINAL AND PRINTER

The CS-3 terminal has 80-character lines and a 24-line page with line and page editing.

Note the separate numeric keypad and cursor keypad.

The printer is fast—180 characters per second; 132-column lines.

SEE AT YOUR DEALER

You have to see the CS-3 to fully appreciate it and its low prices starting at $5990 in the rack mount version.

See it at your local dealer shown on the other side of this page. He has a demo to show you.

He also has brochures giving you details.

You know the CS-3 is going to be a sensation.

Better contact your dealer now.

Cromemco

see next page

0

Circle 35 on inquiry card.

BYTE ApriH 978 1

MORE ABOUT THE SYSTEM THREE .

For office situations new System Three can be provided with walnut floor cabinet. Metal bench cabinet also available. Unit is normally rack-mount style.

System Three front panel swings open and 21-slot motherboard/ card cage slides forward for easy insertion of extra circuit boards.

Retainer bar secures circuit cards firmly in sockets.

Optional panel PROM programmer has two sockets to facilitate duplicating PROM content.

SEE YOUR LOCAL SYSTEM THREE DEALER

Phoenix, AZ 85013

BYTE SHOP OF ARIZONA

24 Wesi Cimclbjck (602) 26S-0O65

Lilllc Rock, AR 72206

COMPUTER PRODUCTS UNLTD.

2412 So. Qroailw,iv (501) 666-2839

Carson, CA 90746

SUNSHINE COMPUTER CO.

202 10 S. Lcapwood Avcnui(213) 327.21 18

Cilnis Heishls, CA 9S6I0

BYTE SHOP OF SACRAMENTO

fiO'l 1 Greenback Lane {916) 726-3557

Loomis, CA 95650

KINGMONT ENTERPRISES, INC.

9900 King Rojd (916) 988-8189

Ml, View, CA 94040

BYTE SHOP OF MOUNTAIN VIEW

1063 El Camlnu Real (.115) 959-S'164

San Mateo, CA 94401 COMPUTER TERMINAL

309 So. San Maico Drive ^^^5] 347-9894

Sunnyvale. CA 94086 RECREATIONAL COMPUTERS

1324 SoUEh Mary (408) 73S-74HO

V.in Nuys,CA 91411 COMPUTER COMPONENTS

5848 Sepulveda Blvd. (404) 455-0646

Atlanta, GA 30340

ATLANTA COMPUTER MART

5091-B Buford Hwv (404) 455-0647

Haiku, Maui, HI 96708 CAPACITY, INC.

P.O. Box A (808) 575-3930

Honolulu, HI 48103 COMPACT COMPUTERS

P.O. Sox 10096 (80K) 261-3381

Schaumburg, IL 60195 DATA DOMAIN

1612 E. Algonquin Road [312) 397-8700

Bloomington, IN 47401 DATA DOMAIN

405 So. ColkRc Avenue (H12) 324-3507

Fort Wayne, IN 46805 DATA DOMAIN

2S05 E. Slate nivd. (319) 484-7611

I'ikcsville, MD 21208 MODULAR SYSTEMS, INC.

■lOOS Seven Mile Lane (301) 484-6333

Rockville, MD 20852 COMPUTER WORKSHOP

1776 Easl Icflerion (301) 468-0463

Tuwson, MD 21204 COMPUTERS, ETC.

13 A Allcghcnv Avenue (301) 396-0530

Burlington, MA 01803

THE COMPUTER STORE

130 Cambridge Slrcci (617) 373-8770

Edina, MN 55435 COMPUTER DEPOT

3515 W. 70ih Siieet (613) 927-5601

Iselin, NJ 08830

COMPUTER MART OF NEW JERSEY

501 Route w27 (301) 283-0600

Eggcrtwille, NY 14226

CORSON COMPUTER CORPORATION

3834 Main Sircci (716) 832-0662

Hollis, NY 11423

SYNCHRO SOUND ENTERPRISES

193-25 Jamaita Avenue

(213) 468-7067

Cincinnati, OH 45409 DATA DOMAIN

7694 Camargo Road (513) 561-6733

Dayton, OH 45409 DATA DOMAIN

1933 Bfown Street (513) 223-3348

Columbia, SC 29205

BYTE SHOP OF COLUMBIA

2018 Green Sirecl (803) 771-7824

Nashville, TN 37211 SURYA CORPORATION

5755 Nolcnsville Road (615) 834-5538

Corpus Chrisli.TX 78411

MICRO SYSTEMS SERVICES, INC.

5301 Everhan, Space H (512) 855-4516

Dallas, TX 75243 COMPUSHOP

211 Keysione Pk, 13932 North Central

(214) 334-3412

Houston, TX 77057

COMPUTERLAND OF S. W. HOUSTON

6-139 Wesilicimer (713) 977-0909

Houston, TX 77006 ELECTROTEX

2300 Richmond Avenue (713) 526-6934

Houston, TX 77098 THE MOS

1853 Richmond Avenue (713} 527-8008

Racine. Wl 53405 COLORTRON TV

2111 Lathrop Avenue (41-)) 637-3003

Huntingdon, Cambs., England PE194NI COMART LIMITED

39 Gordon Road. Little Paxlon 0480-74356

Munstcr, 4400 Hiltrup, West Germany BASIS MICROCOMPUTER VERTRIEB

Von-Flotow-Sifabe 5 02501-4800

Wedcl 2000. (Holstein). West Germany DIGITRONIC COMPUTERSYSTEME

Bci Det Doppeleithc 3-5 04103-7393

Mexico IS, D.F. Mexico INTELEX.S. A.

P. A. lie los Santos 70 (905) 516-9970

Zurich, Switzerland 8003 COMICRO AG

Bailener^trasse 381

Cromemco

incorporated Specialists in computers and peripherals

2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 ■

(415) 964-7400

2 BYTE April 1978

Circle 35 on inquiry card.

In fche Queue

EiiJE

April 1978

Volume 3 Number 4

40 90 114 132

10 18 28 49 66 126 168 178

4

6

22

46

62 131,166 147 148 149

152

156 159 160 188 206 208 208

Foreground

OPTIMIZATION: A CASE STUDY

Software Techniques—Noyce A COLLEGE MICROCOMPUTER FACILITY

Lab Design—Foster-Southern TUNE IN AND TURN ON: A Computerized Wireless AC Control System

l^ardware—Ciarcia ROBOT SIMULATION ON MICROCOMPUTERS

Robotics—Webster

Background

THE TDL SYSTEM MONITOR BOARD: A Writer's View

l-iardware—Rehm AN INTRODUCTION TO TABLES

Programming Techniques—Butterfield HOW TO MULTIPLY IN A WET CLIMATE: Use and Basis for a Design

Computation—Bryan t-Swasdee THE RADIO SHACK TRS-80: An Owner's Report

fieview—Fylstra THE BRAINS OF MEN AND MACHINES: Part 4

Robotics—Kent User's Report: THE SOL-20

Product Description—Barbour CIE NET: A Design for a Network of Community Information Exchanges

Personal Computing Networl<s—Wilber SERENDIPITOUS CIRCLES EXPLORED

Graphics—Kellerman

Nucleus

In This BYTE

Personal Computing: New Prospects for Art and Science Letters

Hand Assembling M6800 Relative Addresses BYTE's Bugs BYTE's Bits

Department of Robotics Hocum Programming Quickies

Languages Forum: On Consumers' Languages and Human Interfaces

Concerning PASCAL: A Homebrew Compiler Project

Technical Forum: Problems of International Television Standards Tick. . . Tick. . . Tick. . . Booooom Avoid Self-Modifying Code

Book Reviews

Publisher's Note: Concerning Reprints from BYTE Clubs, Newsletters

What's New? „si"' »

Classified Ads BOMB

Reader Service

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. PC Box 590, Martinsville NJ 08836. Second class postage paid at Peterborough NH 03458 and al additional mailing offices-USPS Publication No. 102410. Canadian second class registration No. 9321. Subscriptions are S15 for one year. S27 for two years, and S39 for three years in the USA and its possessions. In Canada and f^exico. SI 7.50 for one year, S32 for xwo years, and S46.50 for three years. $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 S2.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. Each separate contribution to this issue and the issue as a collective work copyright © 1978 by BYTE Publication Inc. All rights reserved.

I'UliLlSHER Virginia Pcschkc Londnor I.DITOR IN CHILT t-.irl T Hclmcrs 1 r I'RODUCTION MANAt.ER luilitll Havty

ADVERTISING DIRECTOR Dcl)r.i Boudrii'.iu CIRCULATION .MANAGER Gregory Spit/fjclcn COMPTROLLER MitlKtcl Gjl.iri EDITORS liljisc W Liffick Clirislophcr P Morgan CO OP EDITORS Rjymond Cote Scott Morrow

ASSISTANT PRODUCTION MANAGER

K.ircn Gregory

PRODUCTION EDITORS

D.ivid Willijni H.iy\v,ird

N.incy Salmon

EDITORIAL ASSISTANT

L.uir.i A Hanson

ADVERTISING

Nort'cn Bardsley

Jill Cillihan

P.ilricia Clark

PRODUCTION ASSISTANT Clieryl Hurd

CIRCULATION ASSISTANTS Sarah Bauhan Pamela R Hcaslip DEALER SALES Ginnie F Boudricau TRAFFIC MANAGERS Thomas Harvey Edmond C Kelly |r ART

Stephen Krusc

Wai Chiu Li

Dnrutliy Sliamonsky

Ellen Shamunsky

RECEPTIONIST

Jacqueline Earnsliaw

CLUBS AND NEWSLETTERS

D,ivid Wozmak

DRAFTING

Douglas Glen

Slephen Krusc

Lynn Malo

Bill Morello

TYPOGRAPHY

Goodway Graphics

PHOTOGRAPHY

Ed Crabtrec

PRINTING

Runiford Press

NEW PRODUCTS EDITOR

Daniel Fylstra

ASSOCIATES

Waller Banks

Steve Ciarcia

David Fylsira

Porlid Isaacson

BITS INC

Dennis Bliem

Janice Dolan

Floyd W Rehling

Medcllin Sleplicns

Jeremy Yoiist

ADVERTISING SALES REPRESENTATIVES: EAST, MIDWEST Hajar AsstjtiJtes Inc 1 7 Durant Si

West Roxbury MA 02132 (617) 325-5380 100 W Chicago Ave Chicago IE 60610 (312) 337-8008

WEST. SOUTHWEST Buckley/Boris Associates Inc 91 2 South Barringlon, Suite 202 Los Angeles CA 90045 (213) 82C-4621 DISTRIBUTORS: EASTERN CANADA RS-232 Distribmion Company 186 Queen St W, Suite 232 Toronto ONTARIO WESTERN CANADA Kilronic Ltd 26236 26ili Av RR 5 Aldergrove BC VOX lAO

April 1978 © BYTE Publications Inc 3

In This EI^TE

About the Cover...

This month's cover is the worl< of Eduardo Kellerman, computed with a simple APL implementation of the "Serendipitous Circles" algorithm with several modifications. The original algorithm was described by authors D John Anderson and William F Galway in an article on page 70 of the August 1977 BYTE. Eduardo's comments upon the modifications to the algorithm form the text of his article Serendipitous Circles Explored, which includes reproduction of 13 original examples he has made. Four of these examples were used as a group to form the cover of this issue.

An important point to mention is that many of the intricacies of this form of display can be realized by any personal computer owner who also has point plotting graphics capability; and for those who have color graphics, further variations worthy of experimentation include assigning color values to each point. page 178

The evolution of the TDL system monitor board and its documentation are the subjects of Bradford E Rehm's article. The TDL System Monitor Board: A Writer's View. Also included is a complete description of the various features and applications of the system monitor board. page JO

Tables can help you to create more efficient programs, in An Introduction to Tables, F James Butterfield describes different types of tables and helps you to decide which kind is best for your specific need. page 18

Number crunching is a subset of the capabilities of the personal computing system. Most microprocessors have limited capabilities built in, capabilities which make programmed higher level arithmetic relatively slow. One way to get around the limitations of programmed arithmetic software for long operations such as

page 114

multiplication is to implement some specialized hardware. Jack Bryant and Manot Swasdee show How to Multiply in a Wet Climate by adding a MIL spec high speed multiplier to a 6800 processor. This provides a high speed hardware basis for doing floating point arithmetic quickly. page 28

What is the ultimate 8080 (6800, 6502, PDP-8, . ..?) multiplication routine? While not promising an answer, William B Noyce provides a direction in which to look for such with his article Optimization: A Case Study. He takes a routine by Christopher Glaeser which appeared in July 1977 BYTE, and proceeds to explore the ways in which the multiplication algorithm can be optimized with respect to execution time, given the limitations of the 8080 instruction set. page 40

What's inside the Radio Shack TRS-80 computer? Since the warranty is voided if the case seal is broken, Dan Fylstra cannot take you inside, but he can and does give a functional description of what you get with the TRS-80 in his article The Radio Shack TRS-80: An Owner's Report. page 49

With a final installment entitled The Machinery of Emotion and Choice, Ernest W Kent concludes his 4 part series on The Brains of Men and Machines, essential background information for all who would design and implement robotic systems. page 66

One of the computer experimenter's dreams has always been to control lights and appliances around the home by computer, but the thought of installing all the necessary wiring has dampened many spirits. Steve Ciarcia shows you how to get around the problem with a reasonably priced wire/ess AC control system that lets your computer talk to your house. Read Tune In and Turn On, Part 1: A Computerized Wireless AC Control System. page 114

Colleges are at last recognizing microcomputers as very useful and versatile laboratory tools. At Algonquin College, Bill Foster and Bob Southern have set up A College Microcomputer Facility. As an introduction to the setup of such a lab, this article may help answer some basic questions other college departments might have about the practicality of a microcomputer laboratory. page 90

What's it like to use the Processor Technology SOL terminal computer as a personal system purchased fully assembled and tested? Dennis Barbour, an owner of a SOL-20, reports on his experiences with SOL in his User's Report: The SOL-20. page 126

Experimentation with problems of robotic mechanisms does not necessarily have to begin with the mechanisms themselves. Much of the problem of building a robot and making it work lies in the determination of strategies of movement and searching through the environment that the robot inhabits. John Webster's article Robot Simulation on Microcomputers shows how any personal computer with a video display can be used to implement a simple simulation of a robot confined to a playpen, page 132

In this month's BYTE, MikeWilber completes his 3 part series outlining CIE Net: A Design for a Network of Community Information Exchanges with a discussion of "other issues," which help fill in the design, page 168

4 April 1978 © BYTE Publications Inc

A new, powerful, flexible series - EX3000 Compufer Sysfems.

This complete series of computer systems embody architectural concepts previously found only in costly large scale computers. The primary concepts used in the EX3000 computer systems are distributed processing for hardware and multi-tasking for system software. The EX3000 systems distribute system processing functions to those system components that are best suited to perform those tasks. This state-of-the-art technology was prohibitive until the recent introduction of cost effective computational and control microprocessors, along with programmable peripheral circuits to perform preassigned dedicated tasks. Coupling these cost effective components with the distributed processing techniques proven by many large mainframe computer manufacturers, Extensys Corporation has been able to provide exceptionally powerful and flexible systems. Through the efficient use of system components in a modular structure, the EX3000 Computer Systems allow configurations that meet a wide variety of specific applications as well as offering expansion capability to satisify increasing usage demands.

The hardware of the EX3000 Computer Systems consist of subsystems and boards. Three subsystems are provided;

• FOSlOO Floppy Diskette Subsystem with Ito 4 Mega

bytes of on-line mass storage.

• MTS100 IVIultiple Terminal Subsystem with 8 or more

independent RS-232c serial interfaces. ■ TPS! 00 Terminal/Operator Processor Subsystem with keyboard, CRT, RS-232c serial interface, and expanded video attributes.

Circle 46 on inquiry card

Other p/c boards which are included in the EX3000 system are:

■ RIV164A Memory board with 16K to 64K bytes of

RAM storage.

• MM16 Memory Management board with bank switching up to 1 megabyte of RAM memory and a priority DMA mechanism for high speed DMA transfers.

■ MPU805 8085 Central Processor with on-board PROM

space (16K), prioritorized vectored interrupts, and combination interval timers/event counters.

■ MPU800 Optional Z-80 Central Processor with on-board

PROM, vectored interrupts and reset-jump. EMOS, Extensys Multiprocessor Operating System,furnishes fundamental EX3000 system software. This multi-tasking operating system provides a high level interface between application programs and EX3000 hardware components. EMOS is a multi-process, multi-user operating system which provides all file handling capabilities as well as complete program development tools. Multi-user EMOS provides memory protection for each user. It also provides inter-system communication to allow multiple EX3000 systems to operate as a unit with a common data bank along with secured individual user data bases.

Higher level languages including EXTENDED BASIC, COBOL and ANSI FORTRAN which are EMOS-compatible offer added flexibility to generate application programs & development systems.

The EX3000 systems offer both high performance and cost-effective computer power to OEMs and end users. Join the Third Revolution in computer design by investigating the distributed processing/ multi-tasking capabilities of microprocessors built-into the Extensys EX3000 Computer Systems.

For more information on the EX3000 Computer Systems and how they can satisfy your processing needs, give us a call.

Kdensys

'corporation

380 Bernardo Avenue Mountain View, OA 94040 (415) 969-6100

BYTE April 1978

Personal Computing: New Prospects for Art and Science

By Carl Helmers

Articles Policy

BYTE is continually seeking quality tnanuscripts 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 BYTE's 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 $100 and $50. Unsolicited materials should be accompanied by full name and address, as well as return postage.*

Changes of State

I'll start by turning attention to the phenomenon of changes of state. In the abstract, the state of a system is the complete set of parameters needed to describe that system unambiguously at some point of time. The dynamically changing universe in which we live is 'such that changes of state are prevalent in whatever we choose to examine. Life seems fraught with changes of state by its very nature.

In elementary physics, for example, we find the irreversible change of state which occurs when a warm body is placed in a cold chamber without any source of thermal energy, or when an orbiting satellite is placed in a decaying orbit where a slight but measurable atmospheric drag makes a fiery end inevitable. In chemistry, one sees the change of state which is a chemical reaction going to completion after materials are mixed.

On a less directly observable, yet still scientific, basic we find the theories of geophysics and the study of changes of state in the depths of our planet's past. We see residual traces of significant changes of state which must have occurred. We find, for example, a well-defined mechanism explaining the acretion of planets and stars from a proto-stellar nebula. One residual trace of this change of state is the planet Earth and its Moon. A little later in the geological record, we find the change of state which is the evolution of life and its fundamental changes in the chemical composition of the surface and atmosphere of the planet Earth.

The history of the human race on this planet is basically a history of similar changes of state, where the "state" is much more nebulous but nonetheless observable. The state of civilization, as measured by its technologies, has been in a nearly continuous process of change, occasionally marked by landmark discoveries or inventions. Perhaps the first such social change of state was the invention of controlled fire for cooking and heating. Hardly far behind was the invention of the wheel, a basic

mechanism of some repute. Somewhere in this sequence came the invention of written language, a major turning point, as was the development of agriculture. In our recent cultural history, there have been a number of similar profound changes of state: printing, controlled mechanical power, controlled use of electricity. Lately we have reached the zenith of the arts of wheeled transportation combined with controlled mechanical power which is the modern automobile. This probably irreversible change has spread like wildfire through the civilized world of the past 75 years or so.

My thesis is that the idea of the personal computer is the latest example of such a change of state in our technological civilization, a change of state which is still far from completion. It represents the harnessing of controlled mental powers, the ability to automate thought processes and procedures freeing the brain for work more creative than rehashing the familiar. In this essay, I'll concentrate upon the implications of the personal computer for art and science, the two areas of our culture which stand to gain greatly from this new technology. We are at a point in time when the technology of computing is within the range of every citizen who wants to use it.

Art, Science and Intellect

Art and science are both activities of the intellect. I make this statement knowing full well that "intuitive" artists and scientists may protest this identification, but I believe it is obvious. By intellect, I mean the full range of mental activities, including those not fully understood such as creativity and judgement. I'll offer two definitions which will serve to illustrate the close relationship between art and science, as well as the differences.

One way to describe a work of art is as a selective representation of reality created by the artist to produce an aestlietic effect. The nature of the selection process and the identification of the aesthetic purposes

Continued on page 139

6 April 1978 © BYTE Publications Inc

Subsystem B

Each board is a standout. Together, the/'re a powerhouse.

In the beginning there were boards, thousands of them.

That's how we started in the business. Making memories and interfaces for other people's computers... and making them better.

Now that our own Sol has become the number one small computer, you might think we're putting less emphasis on our board business.

Not so.

We're just doing more creative things with them.

One neat package gets your computer on the air.

For example, we've built Subsystem B, which ties together five Processor Technology modules into a completely integrated system that makes other S-100 Bus computers work almost as well as our Sol.

Subsystem B includes a memory module, three input/output modules, a general purpose memory, and appropriate software.

A specialized software program called CUTER knits together your computer and its peripherals to create an integrated, smoothly working system.

It's the fastest, cleanest way to get on line, and it costs less than if you bought each module separately.

You get your choice of two low power, reliable memory modules in 8K or 16K capacity.

Our VDM-1 video display module (still S199 in kit) is the industry standard display device with over 6,000 in use.

Our CUTS high speed, low cost ($149 in kit) audio cassette interface is the most reliable on the market and is supported by our broad line of cassette

software including Extended BASIC, FORTRANf PILOTf FOCAL and numerous others.

And our 3P +S input/output module offers a low cost way to handle virtually all the I/O needs of any S-100 Bus compatible computer system. There are close to 10,000 in the field. Price is just $149 in kit.

Yes, we may have become the maker of the Number 1 small computer — the Sol. But we haven't neglected the quality of our board business. We can't afford to... because we use many of them in our own computers.

For our most recent literature and price list see your dealer or write Processor Technology Corporation, Box B, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. (415) 829-2600.

ProcessorTechnology

* Available soon.

U.S. prices only.

Circle 91 on inquiry card.

BYTE April 1978 7

Introducing Apple II.

The home computer thats ready to work, play and grow with you.

Clear the kitchen table. Bring in the color TV. Plug in your new Apple Ilf and connect any standard cassette recorder/player. Now you're ready for an evening of discovery in the new world of personal computers.

Only Apple II makes it that easy. It's a complete, ready to use computer—not a kit. At $1298, it includes features you won't find on other personal computers costing twice as

much.

Features such as video graphics in 15 colors. And a built-in memory capacity of 8K bytes ROM and 4K bytes RAM -with room for lots more. But you don't even need to know a RAM from a ROM to use and enjoy Apple II. It's the first personal computer with a fast version of BASIC—the English-like programming language—permanently built in. That means you can begin running your Apple II the first evening, entering your own instructions and watching them work, even if you've had no previous computer experience.

The familiar typewriter-style keyboard makes communication easy. And your programs and data can be stored on (and retrieved from) audio cassettes, using the builtin cassette interface, so you can swap with other Apple II users.This and other peripherals—optional equipment on most personal computers, at hundreds of dollars extra cost—are built into Apple II. And it's designed to keep up with changing technology, to expand easily whenever you need it to.

As an educational tool, Apple II is a sound investment. You can program it to tutor your children in most any subject, such as spelling.

history or math. But the biggest benefit—no matter how you use Apple II—is that you and your family increase your familiarity with the computer itself. The more you experiment with it, the more you discover about its potential.

Start by playing PONG.Then invent your own games using the input keyboard, game paddles and built-in speaker. As you experiment you'll acquire new programming skills which will open up new ways to use your Apple II. You'll learn to "paint" dazzling color displays using the unique color graphics commands in Apple BASIC, and write programs to create beautiful kaleidoscopic designs As you master Apple BASIC, you'll be able to organize, index and store data on household finances, income tax, recipes, and record collections. You can learn to chart your biorhythms, balance your checking account, even control your home environment. Apple II will go as far as your imagination can take it. Best of all, Apple II is designed to grow with you. As your skill and experience with computing increase, you may want to add new Apple peripherals. For example, a refined, more sophisticated BASIC language is being developed for advanced scientific and

mathematical applications. And in addition to the built-in audio, video and game interfaces, there's room for eight plug-in options such as a prototyping board for experimenting with interfaces to other equipment; a serial board for connecting teletype, printer and other terminals; a parallel interface for communicating with a printer or another computer; an EPROM board for storing programs permanently; and a modem board communications interface, or a floppy disk interface with software and complete operating system. And there are many more options to come, because Apple II was designed from the beginning to accommodate increased power and capability as your requirements change.

If you'd like to see for yourself how easy it is to use and enjoy Apple II, visit your local dealer for a demonstration and a copy of our detailed brochure. Or write Apple

14M

S) ! 5 i l^ll 1" ) Kill'

Apple II™ is a completely self-contained computer system with BASIC in ROM, color graphics, ASCII keyboard, lightweight, efficient switching power supply and molded case. It is supplied with BASIC in ROM, up to 48K bytes of RAM, and with cassette tape, video and game I/O interfaces built-in. Also included are two game paddles and a demonstration cassette.

SPECIFICATIONS

• Microprocessor: 6502 (1 MHz).

• Video Display: Memory mapped, 5

modes—all Software-selectable:

• Text—40 characters/line, 24 lines upper case.

• Color graphics—40h x 48v, 15 colors

• High-resolution graphics—280hx 192v; black, white, violet, green (16K RAM minimum required)

• Both graphics modes can be selected to include 4 lines of text at the bottom of the display area.

• Completely transparent memory access. All color generation done digitally.

• Memory: up to 48K bytes on-board RAM (4K supplied)

• Uses either 4K or new 16K dynamic memory chips

• Up to 12K ROM (8K supplied)

• Software

• Fast extended Integer BASIC in ROM with color graphics commands

• Extensive rrionitor in ROM •I/O

• 1500 bps cassette interface

• 8-slot motherboard

• Apple game I/O connector

• ASCII keyboard port,

• Speaker

• Composite video

output I

Apple n is also ^^Iw available in board-only form for the do-it-yourself hobbyist. Has all of the features of the Apple II system, but does not include case, keyboard, power supply or game paddles. $798.

PONG is a trademark of Atari Inc. *Apple II plugs into any standard TV using an inexpensive modulator (not supplied).

Computer Inc., 20863 Stevens Creek Blvd., Cupertino, California 95014.

SEE OUR FULL PAGE DEALER AD ON PAGE 105.

pppiG Gomputar inc.

■ * * * Circle 4 on inquiry card.

The TDL System Monitor Board

A Writer's View

At nearly the witching hour of a wintry

December evening, several of us, including some of the engineering and management staff from TDL, settled down for "lunch" at the Edison Diner in NJ. It was indeed lunch time for the TDL people, who had taken to working night owl shifts so that they could do engineering and software work without being distracted by telephone calls and visiting salespeople. In the course of a conversion which meandered from computers, to memories of our spent youths in New Jersey suburbia, to ham radio and back to computers, I learned that prototype printed circuit boards for a new product were being ordered, but that the staff was having trouble finding time to write the documentation for it. In response to this familiar story, I volunteered to write the documentation.

When I offered to do the work I planned to stop by at TDL, pick up a prototype, and talk with both Mike Simmonds, the design engineer, and Roger Amidon, who is largely responsible for TDL's Zapple monitor. I would also get schematics, blueprints and whatever else had fallen out of the creative maelstrom that gave birth to the new product, the System Monitor Board (SMB). These I would remove to my Rhode Island shore cottage, and after several days I would emerge with the finished user's manual.

Bradford E Rehm 1004 Middle Cove Dr Piano TX 75023

What actually happened was that on an ominously cold afternoon several weeks later, Mike Simmonds and I decided that he would fly up from New York, bringing most of the hardware and a lot of the remaining information I would need. Within minutes of our conversation, though, we began to receive the heaviest snowfall of the year. We decided there would be no trips that weekend and that Mike would send a cassette of dictated information.

Now enter a second difficulty: the prototype boards never arrived. And worse, the masked read only memories that held the Zapple monitor were late. It didn't matter that their delivery had been promised and even guaranteed a few days before. They didn't arrive last week, or the week after, or the week after that. It did matter, however, that full page ads were beginning to appear in the magazines, heralding the arrival of the SMB.

TDL patiently explained to customers and dealers that "the product will be available soon; there has been a production delay. We expect to be shipping soon, and.. .we'll do our best..,."

10 April1978© BYTE Publications Inc

^ur experience with personal computers

is going to open an unlimited career at TL

TI is into personal computers in a big way, and that means a ground floor opportunity is going to be open for you, the personal computing innovator. You'll be joining the undisputed world leader in creating new products and markets for consumer electronics with the company that invented the calculator on a chip. And it's all going to happen in TPs new Management and Technology Center for Consumer Products in Lubbock, Texas. Located in the high, dry, and cool plains of West Texas, Lubbock is about halfway between Dallas and Albuquerque. It is the home of Texas Tech University. You are just a few hours' drive from skiing in Taos, or touring and shopping in Juarez, Mexico.

Make your career opportunities in the following areas:

Personal Computer Product Marketing Manager Responsible for establishing

distribution channels for personal computer products, developing advertising and sales promotion programs, training, quoting and providing market requirements for new products and software. Requires BS in EE, math, physics or Computer Science. MBA preferred. Minimum of 5 years' experience in consumer sales or marketing related to desk programmable calculators, minicomputer

systems, microcomputer systems, or small business systems.

Systems Programmers

Outstanding opportunities — design, code, integrate and debug operating system modules, including device service routines, self-test diagnostics, and system utilities. Requires BSEE or Computer Science plus minimum of 3 years in assembly programming with some high level language experience.

Digital Design Engineers

Opportunity to design and develop digital subsystems for major new products. Projects will require design-to-cost discipline with internal and external component vendors, vendors of peripheral devices and making trade-offs of hardware and software. Requires BSEE with 2 years' experience. Prefer experience in design of bubble and/or flexible disk computer memory subsystems.

Product Design Engineer

Responsibility for mechanical design on major new personal computer products. Interface with electrical design engineers, software development personnel, marketing, purchasing, planning and all areas involved in taking a product from concept through initial production. Requires BSME with a minimum of

3 years' experience in design or closely related field. Knowledge of plastic tooling preferred.

Application Software Specialist Total responsibility for

development of complete application packages for specific business sectors and professionals. Specifications, design, coding, program check-out and documentation for personal computer systems. Requires BA or BS in math or Computer Science or BBA with data processing major with 2-3 years' experience. Program in high level language on mini, micro, or business computer systems.

Marketing Support Engineers

Project responsibility for future product service direction concerning existing as well as future products. Develop and maintain total service program for personal computer systems and field testing/check-out. Requires BSEE or equivalent with at least 3 years' experience with programmable desk calculators, minicomputer systems, microcomputer systems, small business systems, or product service management. I I o

Send your resume in confidence to: Bill Toomey/ P. O. Box 10508, M.S. 5807, Dept. B / Lubbock, TX 79408.

Texas Instruments

INCORPORATED

An equal opportunity employer M/F

Circle 113 on inquiry card.

BYTE April 1978 11

In the end, of course, the SMB made it to the marketplace. I had an interesting if somewhat frustrating experience in longdistance communication, but the board survived its ordeal of creation. Now let's have a look at what survived.

At a time when single chip computers boasting a processor, clock, volatile and read only memory, and 10 ports on one die are being announced, a multifunction board may seem less than innovative. The single chip computers are, of course, intended to be used in limited, dedicated applications. The SMB is designed to be the basis for much larger and more versatile systems. It includes the following hardware and software:

• 2 K bytes of masked read only memory containing the TDL Zapple monitor with 26 commands.

• A parallel port terminating in eight switches used to select default 10 device assignments for the monitor.

• 2 K bytes of static programmable memory which can be used for program instructions or monitor extensions.

• Two serial 10 ports (RS-232C or 20 mA current loop).

• One bidirectional parallel port with status bits.

• A cassette port which is controllable through the Zapple monitor.

• A reset circuit which returns the system to Zapple either at power on or at manual reset.

Logical Device

Default Code

Physical Device

Console:

00

Teletype

01

video

10

batch (reader=KBD)

11

(user defined)

Reader:

00

Teletype (reader)

01

tape (user defined)

10

cassette

11

(user defined)

Punch:

00

Teletype (punch)

01

tape (user defined)

10

cassette

11

(user defined)

List device:

00

Teletype

01

video

10

(user defined)

11

(user defined)

Table J: Physical devices serviced by the TDL Zapple monitor. The Zapple monitor handles 10 in terms of four logical devices: the system console, reader, punch and list devices. These are categorical terms, however, and a punch device, for instance, may In fact be the record function of a cassette recorder.

About the Author:

Bradford E Rehm is currently employed as a systems analyst at Texas Instruments in Dallas worthing with a distributed computer system that uses 960 series minicomputers.

The SMB board can be used as the basis for a small familiarization system by soldering tvvo Altair (S-100) bus connectors back to back, plugging the SMB into one and a Z-80 processor board such as TDL's "ZPU" into the other. The boards can later be unplugged and inserted in the bus of a larger system. With the addition of the Z-80 processor, the SMB is capable of addressing a variety of peripherals.

Now, let's look more closely at the functions of the board. First, there is the Zapple monitor. This is a descendant of a 2 K byte 8080 monitor originally released by Intel, and whose command structure probably predates the 8080 processor for which it was written. Because of this, Zapple has a number of commands familiar to many microcomputer users:

D = Display memory in hexadecimal.

F = Fill memory between two locations with a hexadecimal

value.

G = Go to a location in memory and execute the program found there. Two breakpoints can also be set.

H = Display the sum and difference of two hexadecinnal numbers.

J = Test memory between two

locations. Indicate locations of defective bits.

M = Move a program to another

location.

P, T = Put or type ASCII characters in memory.

Ql, QO = Input from, output to a port.

S = Examine and, if necessary, substitute a byte of data in memory.

V = Verify that programs in dif

ferent regions of memory are identical, or display differences and their locations.

Y = Search for and display the

locations of a byte or bytes of data in memory.

Other features of Zapple include variable 10 device commands and device service routine vectors. Zapple handles 10 in terms of four logical devices: the system console, the reader, the punch, and the list device. One member of a group of four physical devices may be assigned for each logical device; the assignments may be made by default or dynamically. The two serial ports, the parallel port and the cassette port on the SMB, handle five of the physical devices

12 April 1978 © BYTE Publications Inc

(the punch is assumed to be connected to the Teletype). Six more devices are handled by user written routines accessed through vectors located between hexadecimal F800 and F823. Table 1 shows the relationships between the logical and physical device options.

The assignments of default 10 devices to each of the four logical devices are done with a set of eight switches, grouped as pairs. The binary default code for each device is determined by the settings of each pair of switches. Thus for the console device to be defaulted to a 300 bps video terminal, the binary code 01 would be set in the pair of switches assigned to the system console device. (The switches for all the defaults are found in one dual in line (DIP) 8 pole pencil switch located on the board.)

In addition to setting the sense switches, one must jumper the video serial port for 300 bps, a simple matter of placing an Augat pin in a clearly labelled socket. The cassette port on the SMB will be selected whenever any of the READ, WRITE (in Intel hexadecimal format), LOAD and UNLOAD (in binary format) commands are used. Finally, when a list command (eg: in the TDL text editor) is used to print a buffer of information, the list device will be called.

If the latter requires serial data, the serial 10 port on the SMB ("video") could be used here. The list switches would be set at 00. If the printer is a parallel input device, the parallel port on the SMB could be used. The data would be applied to lines PDO thru PB7 on J1, the multipin connector (visible in photo 1) which is the 10 connector for the SMB. The status line from the printer would gotoCBI on J1.

But since we may want to save the parallel port for other purposes, which will be discussed later, we can route the list output through a user vector to an external (to Zapple) device service routine and port. The user defined list option sends the processor to hexadecimal address F815 in the vector area of programmable memory, just above Zapple in memory address space. A J MP (C3) instruction must be inserted here to tell the processor where to go next to send characters to the printer. The device service routine must end with a RET (C9) instruction to get back into Zapple.

The first thing one should be aware of in using the parallel port on the SMB is that it is bidirectional. Many processor chips provide data buses which are bidirectional:

they can output data to and receive data from the bus on the same eight lines. The 8080 and Z-80 processors do this. But, curiously, the now widely used Altair (S-100) bus is not bidirectional and uses separate sets of eight lines for sending and receiving data to and from the processor.

There is something to be said for splitting the in and out functions of the bus. If, for example, the input lines are used to receive data from an analog to digital converter being used for games, the output lines would still be available for controlling up to 255 other devices, such as tape recorders, air conditioners, lights, disks and coffee pots. But microprocessors do only one thing at a time (input or output) anyway, so no real advantage is obtained at a price of extra and more expensive hardware.

On the other hand, a bidirectional port is useful for high-speed transmission of data between the main processor and peripheral devices. A floppy disk which, for example, lacks an interface for a particular bus will, chances are, be accessible through one or two bidirectional parallel ports. Lab instruments, additional memory and slave processors are also normally designed around bidirectional parallel interfaces. So it appears that having such a port on the SMB opens up some interesting possibilities.

The feature to which most readers will look with a mixture of interest and skepticism is the cassette port. The interface is well-serviced by the Zapple monitor. Any of the functions available to the paper tape reader and punch are available to the cassette port. To save a program written in the text editor, for example, simply type a U, and the entire text buffer will be dumped. To reload the text, a 50 line block can be retrieved with an A command. The As can, of course, be concatenated: typing three of them brings in 150 lines for editing.

User written programs can be saved in binary or Intel hexadecimal format, and programs written by the TDL relocating macroassembler (including all TDL supplied software) can be relocated using the Zapple commands and the cassette interface. I find this a convenient system to use and can report only one shortcoming which might reasonably have been included (if there were more room available in the 2 K byte monitor). It does not recognize files. One cannot, for example, type R(EAD) LIFE, start the cassette, and wait for the system to find and load the file named LIFE.

The reason we will probably never see

April 1978 © BYTE Publications Inc 13

a file-oriented cassette system from TDL is that the company is currently committed to designing a disk software package.

How difficult is it to make the cassette interface work? Storing data on cassettes can be difficult with some interfaces and some recorders, because it involves interfacing digital systems with analog systems. The simplest problem to deal with involves played back material in the wrong phase for proper decoding. Changing a jumper or a switch setting on the board usually cures this.

The level of the signal to be recorded may be too high or too low for the input circuitry of the recorder to record it properly. The output voltage of the recorder may not be sufficient to properly drive the interface receiver (input) circuitry. The SMB interface provides switch selected record levels and a sensitive receiver interface.

Figure la: The original design of tine TDL system monitor board cassette receiver interface circuit Botfi op amp inputs are biased witti separate resistor networl?s.

+5V

FROM RECORDER

:r5

■ lOOK

R3 I K

4—vw

R4 22K I I—W»

lOOK —

-o

COMPUTER

Figure lb: Tfie new version of tiie cassette receiver interface circuit featuring a single resistor network that drives both op amp inputs and provides stabilized sensitivity. R3 provides isolation between the two inputs. In both these circuits, software decoding of tape data is assumed; generation of data is much simpler and is done with software also.

The output levels available will satisfy the requirements of most recorders' microphone inputs. The RCA CA3130 op amp in the front end of the receiver is the solution to problems I have encountered in driving some other interfaces. My recorder, which uses a single integrated circuit for all its record and playback functions (and which consequently lacks the output power of some of the larger machines), can drive the SMB with volume control set near the bottom of its range. This adjustment is not critical by the way. A nearly full scale setting seems to work as well as a low one.

There was some initial difficulty in making the interface work, but those who buy current versions of the SMB should have no trouble. The original design, shown in figure la, biased each of the op amp's differential inputs with separate resistor networks. If the idle state offset between the inputs is near 0, the output of the recorder will easily drive its input to an offset condition, causing an output deviation to appear at pin 6. If a component in one of the bias networks should change value, however, the permanent offset error this would introduce could swamp the input signal.

My SMB, a prototype, worked perfectly for a few weeks after it was set up. Then it lost sensitivity to the extent that 1 could barely drive it with a 20 W amplifier. A call to TDL produced the modified circuit shown in figure lb. The bias points for both op amp inputs were now set by a single divider network comprised of R1 and R2. The new R3 (1 K) provides isolation between the two inputs, and the new R4 (22 K) is set at approximately the parallel value of the old R1 and R2 (see figure la). In this way, the time constant of the high pass filter formed by CI and R5 is maintained.

The sensitivity of the modified circuit is somewhat better than it had been originally. When good quality cassettes are used and normal tape handling precautions taken, tape errors are extremely rare. 8 K bytes of data can be loaded in about 190 seconds. This seems a long time, considering that the interface is supposed to operate at 1200 bps. Another unit I have used can load the same amount of data in less than 60 seconds. The reason is that the SMB is loading in hexadecimal rather than binary format. The former takes about three times as long because it includes the information necessary to make assembled programs relocatable. If it is important to reduce the

14 April 197S © BYTE Publications Inc

THE BOOK YOU'VE

WWTEDFOR IS HERB

• What is paging? A stack?|

What is an accumulator?

""^^^^^^^^^SH^^^^^^^^Li--* What's the between ... ^^H^^^^Ik^h^^^^^^^^^^B a dot and vector

What's an I/O port?..^ ^^^^HB^ll^^^^^^H CRT

How do you use relative addressing? > Indexed addressing?^ Boolean logic operations?

UNDERSTANDING MICROCOMPUTERS answers these and hundreds of other questions clearly in this profusely illustrated, easy-reading "must" bool<. You'll find fundamental concepts behind the operation of virtually all microcomputers, written in simple English so that anyone can gain the extra knowledge needed to read and understand computer magazines, manufacturers' literature, and feel "at home" around computers. Here are just a few items discussed ...

— How a CPU is organized and how it follows sequences of directives to solve problems

— Illustrates basic instructions from almost every class of microprocessor

— Discusses common memory addressing modes—illustrates typical uses

How do you copy programs using an ordinary tape recorder?

What can a microcomputer really do?

What kind of personal computer should I buy?

•What you must know to tell a computer what to do when using machine language programming methods

- Explains use of flow charts, program worksheets, hand assembly of source codes into object codes, memory maps, purpose of an Editor, Assembler, Monitor

Benefits of using a high level language

■ Introduction to BASIC

■How a computer communicates. Types of commonly used input/output devices and their operational concepts

■ Practical aspects of selecting a small computer system Plus, hundreds of other practical facts and information

If you are at all curious about small computers, you must own this 300 page no-nonsense text that reads like a simple book! Includes an easy-to-use glossary of key microcomputer oriented words. UNDERSTANDING MICROCOMPUTERS. The name says it all. Order your copy now!

^ f CELBI COMPtllER J^CONItimNO INC.

Dept.B

Post Office Box 133 PP STN Mllford, CT 06460

Price shown for North American customers. Master Charge, Postal and Bank Money Orders preferred. Personal checks delay shipping up to 4 weeks. Pricing, specifications, availability subject to change without notice. SCELBI Books are available in many fine Computer Stores.

Now available in hardcover for only $14.95... and paperback for only $9.95. Order yours today!

IMPORTANT! Include 75i; postage/handling for each item delivered by U.S. Mail Book Rate; or $2 for each item shipped First Class or via UPS.

Circle 94 on inquiry card.

BYTE April 1978 15

loading time to under 1 minute, users can load and locate a program (say BASIC) using the fiexadecimal loader. Then, saving it in binary format, using the U command, would permit reloading it, using the L command, in about 55 seconds.

There is an interesting tricl< some users will appreciate if they set up systems with bus driven video displays such as the Processor Technology VDM-1 or TDL's own video board. Zapple allows one to assign the system console to a "batch mode" configuration. This maices the reader logical device the system l<eyboard and the list device the console output. Consider defining the cassette port as the reader device and using it to input a series of commands which would load extensions of Zapple into memory and then return control of the system to the designated console. It works. And the 2 K bytes of programmable memory beginning at hexadecimal F800 is a convenient place to put the extensions. If the keyboard data is to be input through the parallel port, an external driver routine

will also be needed. This means that the system must be initialized in batch mode so that the extensions can be loaded on startup. A program is available from TDL to do this. It assumes the system is started in batch mode, and brings up a keyboard on the parallel port and a VDlM-l display.

I can't claim that the user's manual is a literary masterpiece, but as a means of getting across basic information about a fairly complicated piece of equipment, it will do. The use of the parallel port is not adequately explained; there is no parts layout drawing and there are no detail illustrations. In spite of these shortcomings, I believe a careful beginner could assemble the SMB in two or three evenings without encountering any serious obstacles. I say this because the assembly instructions are clear and make good use of the silk screened parts layout on the board itself.

For those who are interested in getting a microcomputer system up and running with a minimum of fuss and bother, the SMB is one option to consider."

all"*".;

The Digital Cassette Storage System

Witll AUDIO CAPABILITY

Compatible with all S-100 bus microcomputer systems, alpha-1 is the ideal storage system for use in any application. Your alpha-1 may be configured to utilize from one to four drives to provide limitless capabilities. Alpha-1 is a highly economical approach to mass storage for your home computer, your business system, or the classroom.

SEPARATE AUDIO RECORDING

This feature provides your system with capabilities for:

■ Verbal student/computer interaction

■ Tallting games

■ Audio burglar alarm

■ intelligent phone message system

SPEED AND CAPACITY

■ Stores over 500K bytes per C-60 side

■ Average access time for C-60 tape is 17 seconds.

' Load 8K in less than 11 seconds.

■ Data transfer rate at 6250 baud.

HARDWARE

■ Compatible with all popular S-100 bus

microcomputers.

■ Audio track under computer control.

■ Replaces ROM/PROM monitors.

■ Independent motion control and read/

write electronics.

SOFTWARE

■ MCOS Operating System handles variable length named files, updates, packs and copies with a single command. Includes Editor, Assembler and Debugger . . . all provided with alpha-1.

■ Extended BASIC (4.4) with MCOS for array handling and concatenation.

■ PDSl—a sophisticated editor/assembler.

■ Dynamic Debugger provides program display, execution control and monitoring.

■ Games

■ ACR/TarbeU Load

SYSTEM INCLUDES

Mecadrive, case, controller, power supply, cabling, operating manual and software on cassette. The natural wood enclosure pictured here is optional.

FREE BUYERS GUIDE!

You don't have all the facts about tape and disk systems until you have read our BUYER'S GUIDE TO MASS STORAGE . . . Free for the askingl

Available kit or assembled firom dealers nationwide. For the dealer nearest you, write or phone:

iiiecn

7026 O.W.S. Road, Yucca Valley, CA 92284

(71/1)

16 April 1978 (B BYTE Publications Inc

Circle 63 on Inquiry card.

tomorrow's computer here today ... only from the Digital Group

Delivery within 60 days.

Circle 37 on inquiry card.

etails write or call today.

1p.O. Box 6SZ8 Denver, CO 80206 C303I 777-7133

BYTE April !')7S 17

F James Butterfield

14 Brooklyn Av

Toronto Ontario M4M 2X5

CANADA

An Introduction to Tables

The construction and use of program tables is the gateway to developing powerful programs. The new programmer may have trouble getting to know the concept of tables, but time spent learning about tables is well worth the effort.

The first few programs to go into your home computer are likely to be written using a multitude of IF tests: If a value equals 1, branch to a particular routine; if equal to 2, another branch; if over 5, yet another branch; and so on. After a while this gets to be a lot of work. Programmers quickly learn to use table structures to simplify decision making.

Tables are called by many names, depending on the language and the application: arrays, vectors and matrices, to name three. Even the concept of a "file" is usually just a large table which follows the same structural rules but is stored on disk or tape.

Table Elements

Most of the tables we meet in books, forms and so on consist of data arranged in rows and columns. Each row usually contains a record about something. Name, address, age, phone number might be the record of a schoolmate. Each item of this record, such as name, is called a field. In most cases, each record contains the same number of fields; this is called a rectangular table because of its appearance when printed, and is by far the easiest type to handle.

Rows and columns can be interchanged, of course, by laying the table on its side. Let's look at two ways to encode this small table:

Name

Joe

John

Pete

Age

14 18 17

Phone

515-3838 216-3001 414-3377

record 1 field 1 Joe field 2 14 field 3 5153838

This is the most common, and usually the handiest way to set up the table. It's logical, easy to change or to add new items, and not difficult to program a search routine for. All the data for a particular line of the original table is in one record. However, during this search, we must leap 12 bytes or so each time we wish to examine a new record. This may or may not be convenient to do, depending on hardware characteristics. By laying the table on its side, we could write:

record 1

record 2

field 1 field 2 field 3 field 1 field 2 ... etc

Joe

John

Pete

14

18

First we could encode each line this way:

This method is in some ways like devoting a separate table to each kind of data in the big table: a table of names, a table of ages, etc. This type of organization might make it a little easier to search for a name, but it becomes tougher to add a new name to the list, and harder to read. But either way works.

Order of Items

One of the most important decisions you must make in designing a table is how to order the records. For small tables it doesn't matter very much. But as tables get bigger, it becomes important not to waste time on lengthy searches.

At first glance, the simple answer is to put the most often used items at the top of the table where they'll be found first, a procedure which frequently works well. But you must know roughly how often each table item is likely to be used. If the usage pattern changes, your table lookup becomes inefficient. Beware of elaborate schemes to

18 April 1978 e BYTE Publications Inc

TARBELL SETS STANDARDS

For Hobbyists and Systems Developers

Sales to thousands of hobbyists over the past two years have proven the Tarbell 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

• Plugs directly into your IMSAI or ALT AIR *

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

• Extremely Reliable—Phase encoded (self-clocking)

• 4 Extra Status Lines, 4 Extra Control Lines

• 37-page manual included

• Device Code Selectable by DIP-switch

• Capable of Generating Kansas City tapes also

• No modification required on audio cassette recorder

• Complete kit $120, Assembled $175, Manual $4

TARBELL FLOPPY DISC INTERFACE

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

Operates at standard 250K bits

per second on normal disc format

capacity of 243K 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.

6-month warranty and extensive

documentation.

PRICE:

Kit $190 Assembled $265

itcMs 1,11 asj. i

, •llUllllfilC

=>,i)i«iiif)i^aii-i;

IMSAI 8080

I

Compatible Disc Drives

Ask about our disc drives priced as low as $525.

TARBELL PROTOTYPE BOARD

Model 1010

???5?

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

20620 South Leapwood Avenue, Suite P Carson, California 90746

(213) 538-4251

Circle 110 on inquiry card.

BYTE April! 978 19

rearrange the table order as usage changes: they can quickly use up more time than they save.

An excellent method for ordering tables is to use the table address itself as the item to be matched. Let's clarify this with an example. Suppose we have a character in Baudot (5 level) code that we want to translate, say, to ASCI I. The lowest value possible is blank, or 00000 (decimal zero). The highest value is the letters shift, or binary 11111 (decimal 31). If we add this character, as a binary number, to the table base address, we'll create an address ranging from TABLE-i-0 to TABLE+31. In each of these table locations, the corresponding ASCII character will be stored. We'd have to make provision for both upper case and lower case Baudot, of course. The important thing about this kind of table is that we never have to search it. We go straight to the address we want.

The most common way of ordering items in a table is sequential, ie: in ascending or descending order, alphabetically or numerically. Usually we must pick one particular field for the sequence, the one we expect to search most often.

We get many advantages when we have a sequential table. The program can detect right away if it has "gone past" the item it's looking for, so that it won't waste time searching through the rest of the records. With a little more programming effort, we can write a binary search program that passes through a table very quickly. The binary search routine works by examining the middle of the table and deciding if the desired item is above or below this point. From then on, the program concentrates exclusively on the remaining half of the table, and looks at its midpoint in the same way. Each step cuts the remaining portion of the table in half; eventually the desired location is found or a conclusion of "no match" results.

A sequential table is the only type that can be used for a continuous value calculation. You may recognize the following partial table:

Income Tax

less than 2350 0 less than 2375 2 less than 2400 5

This table associates a continuous value, income, with unique tax amounts. If your income was $2378.54 you do not escape tax because there isn't an exact value of $2378.54 in the table. For your program to

find such an intermediate value, the table must be sequential.

There are several drawbacks to sequential tables. The first is the problem of getting the table in sequential order and keeping it that way during deletions and additions. The second is that only one field is in sequence. This means that the user may have to re-sort the whole table to start searching on a new field.

Advanced Techniques

When it is desired to arrange a table in some order, there may be some difficulty moving the items around, especially if they are large and clumsy.

One way to get around this is to leave the data in its original order and build a separate table called an index which gives the order in which the data should be read. This way, instead of moving the data around, the index is simply changed as necessary.

Another way to achieve a similar effect is by chaining. This attaches an extra field to each record which points to the record to be looked at next. The program must have a starting point that tells which record is to be examined first. From then on, the program follows the chain to the last record.

Indexing and chaining are both relatively complex, but they have one important advantage: the same file can have two indices or two chains so that it is simultaneously sorted two different ways. This feature can sometimes eliminate many time-consuming sorts.

Tables which are not rectangular are a source of difficulty, if we are recording, for example, names of parents and their children, we soon face the problem of some parents having only one child, while others have seven or more. Should we allow seven slots for each set of parents and waste precious memory? We could build a complex table structure to allow for a variable number of fields (children). This is practical, of course, but sometimes we can eliminate the problem by making the table into a list of the children rather than the parents.

Another special case which is often encountered is the triangular table, which resembles a square split along the diagonal, with the two halves containing the same numbers. For example, if you calculate a table of mileages between cities, you don't need to store both the Buffalo to Denver and the Denver to Buffalo mileages; they are of course the same. But trying to store only half the table to save memory turns out to be a difficult task. You'll need a medium sized program to get to the right spot in the table.

Access

The addressing modes of your machine warrant study to determine the best way to scan tables. If you have a hardware index register, that's usually the best way both in terms of speed and programming convenience. Each microprocessor has its idiosyncrasies. An 8 bit index will only cover a table size of 256 locations. Sometimes, though, an index doesn't modify a full address, but only an 8 bit offset. In this case th£ index must hold a full address rather than a simple table position. How easy is the index to modify as you step through the table? An increment command that adds one to the index value is of limited value if you want to jump 12 locations at a time.

If indexing isn't convenient for a given job, indirect addressing is the next best bet. Put the address of the start of your table into an indirect address location; then add to it as necessary until you reach the end of the table.

Don't hestitate to search a table backwards if it's convenient. This facilitates searches when using certain types of indexing.

Program Intercommunication

One program segment can communicate with another by means of tables. In fact, processors which feature a common memory use this technique. When working with an interrupt structure, the recommended procedure is to have one program prepare a table of material for another to pick up. This becomes a good way to segment large projects into convenient modules. Each module can be separately debugged by preparing a set of test input tables and examining the output tables it produces. On very large jobs, this kind of segmentation is an excellent way to divide work among several people. Even on line debugging becomes easier, since the tables can be readily viewed at any time.

Conclusion

Tables are a good way to arrange data in a compact, visible and easy to modify form. New programmers sometimes have problems getting used to designing and using them, but they are well worth the effort."

The MSDD-100 floppy disc system Is a modern, low cost, high performance data stor- ' age system for your S100 bus computer system.! A simple, well designed LSI controller board, ' combined with the industry standard Shugart j SA-400 floppy drive gives you a very fast 80K ]

bytes per drive on line. At $499.00 kit (you build only the controller) or $599.00 ready to go, the MSDD-100 is a great buy, and comes complete i with software. Two versions of MICROSOFT BASIC and a complete DOS are available.

If you have wanted 80 x 24 video display power for your S100 bus computer system, look no further. The MSDV-100 video display is a super flexible, easy to use, memory addressed video system that lets you: * underline any character * make any character blink * invert field * draw continuous vertical & horizontal lines * have 9 levels of gray scale for graphs * scroll with ease * much more. The kit is $285.00, or get it ready to go for $385.00. Great software support, of course. Dealer/OEM inquiries invited. To order, or for more information, write to or call MSD, inc., at:

2765 So. Colorado Blvd. Suite 110 Denver, CO 80222 (303) 758-7411

micRO

SYSTEfTIS DEVElOPmENT

Circle 75 on inquiry card.

April 1978©BYTE Publications Inc

21

WHY IS THIS MAN SMILING?

ACKr:0VL£OGe SSCEIPTj pkkhity cqkkukication SOURCEl SAM DIEGC* CA DATEi J«;. 9*1978

DESTIHATION: EDITORS OF BYTE MAGAJINS

70 LAIN ST.

PETEF.^05[0UG)i« ^■'H

23458

Triw.jirissior; authorization codEj ii38

Message follous: li eiitlemen t

I HAVE been an avid HEADER OF YOUR PUBLICATION SINCE I ARRIVED IN THIS GALAXY AFTER KY RECENT AND RATHER

HASTY DEPARTURE FROi: A CNCS FAMOUS EMPIRE.

1 HAVE ENCLOSED A PHOTCGP.APH OF MYSELF ENJOYING

A RECENT tSSUS.

VARHESt REGARDS. HR. D. VADER

SAN DIEGO, CA S. I WILL NOT SOUND ANYWHERE NEAR THIS NICE AFTER I GET MY ARMY TOGETHER.

END MESSAGE

COMMENTS ON STAR TREK

TECHNOLOGY

Concerning the speculative article titled "The Computers of Star Trek" by Schmucker and Tarr in December 1977 BYTE, it appears that they have overlooked several pertinent points.

Firstly, It should be noted that since the Star Fleet Technical Manual is derived from an unauthorized transmission it is at least possible that the copy used as a source was not current and/or did not contain or reflect all modifications made during repairs, refittings, or in the field.

Secondly, cryogenic temperatures (as well as weightlessness and hard vacuum) are available for free in space. By enclosing the memory banks in a pressure cylinder which communicated with the exterior of the ship, the Josephson junction memory would be feasible by today's technology. Indeed, this would appear to be the exact method used in HAL'S (of 2001: A Space Odyssey) memory banks, and that was set considerably closer to us in time. Since energy fields are known to work through free space (tractor beams), the memory banks could stiil be enclosed by their protective fields.

Thirdly, the subject of voice recognition. It is assumed that English is the language of the Enterprise. Since, however, all members of the Star Fleet (which is supposed to be multinational), Star Bases, inhabited planets (known and newly discovered), Klingon and Romulan Empires, and most intelligent creatures encountered also speak English, I propose that this is artistic license. This opens the possibility that the language of the Enterprise is some more universal, perhaps simpler language, possibly on the nature of Esperanto.

Additionally, the development of "talking" computers would, over a period of time, inevitably have an effect on the language of the programmer. Thus, sentence structure, word choice and arrangement would begin to more closely match the computers' optimum requirements to speed input and to

22 April 1978 @ BYTE Publications Inc

\bur

Sol dealer has it.

AL Birmingham: ICP. Computerland. 1550-D Montgomery l-lwy., (205)979-0707. AZ: Tempe; Byte Shop, 1425 W. 12th PI.. (602)894-1129; Phoenix: Byte Shop, 12654 N. 28th. (602) 942-7300; Tucson: Byte Shop, 2612 E. Broadway, (602)327-4579. CA: Berkeley: Byte Shop, 1514 University (415)845-6366; Costa Mesa: Computer Center, 1913 Harbor. (714) 646-0221; Hayward: Byte Shop, 1122 "B" St.. (415)537-2983; Hayward: Computerland of Hayward, 22634 Foothill Blvd., (415)538-8080; Lawndale: Byte Shop. 16508 Hawthorne. (213)371-2421: IVlt. View; Byte Shop. 1063 El Camino. 1415)969-5464; Mt View; Digital Deli, SOW. El Camino, (415)961-2670; Orange: Computer Mart. 633-B W. Katella, (714) 633-1222; Pasadena: Byte Shop, 496 S. Lake, (213)684-3311; Sacramento: Micro-Computer Application Systems, 2322 Capitol, (916) 443-4944: San Francisco: Byte Shop, 321 Pacific. (415)421-8686; San Jose; Byte Shop, 2626 Union, (408)377-4685; San Rafael: Byte Shop. 509 Francisco. (415)457-931liTarzana: Byte Shop, 18424 Ventura, (213)343-3919; Walnut Creek: Byte Shop, 2989 N. Main. (415)933-6252. CO: Boulder; Byte Shop, 3101 Walnut. {303)449-6233; Denver: Byte Shop, E. 1st Ave. & University. (304)399-8995. FU Ft. Lauderdale: Byte Shop, 1044 E. Oakland Pk.. (305)561-2983; Miami: Byte Shop, 7825 Bird, (305)264-2983; Tampa: Microcomputer Systems, 144 So. Dale Mabry (813)879-4301. GA: Atlanta; Computer Mart, 5091-B Buford, (404)455-0647. IL: Champaign; Computer Co., 318 N. Neil, (217) 359-5883; Numbers Racket, 623'/z S. Wright, (217)352-5435; Evanston: itty bitty machine co, 1322 Chicago, (312)328-6800; Schaumburg; Data Domain, 1612 E.Algonquin, (312)397-8700. IN: Bloomington: Data Domain, 4068. College, (812)334-3607; Indianapolis; Data Domain, 7027 N. Michigan, (317)251-3139, lA; Davenport: Computer Store, 4128 Brady. (319)386-3330. KS: Overland Park: Personal Cotnputer Center, 3819 W. 95th St., (913)649-5942. MA: Boston: Computer Warehouse Store. 584 Commonwealth. (617)261-2700. MD: Tovreon; Computer Etc., 13A Allegheny, (301)296-0520. Ml: Ann Arbor: Computer Store, 310 E. Washington, (313) 995-7616; East Lansing: General Computer Store. 1310 Michigan, (517)351-3260; Troy: General Computer Store, 73 W. Long Lake Rd., (313) 689-8321. WIN: Minneapolis: Computer Depot, 3515 W. 70th, (612)927-5601. NJ: Cherry Hill; Computer Emporium, 2438 Route 38, (609)667-7555; Hoboken; Computer Works, 20 Hudson PL, (201)420-1644; Iselin; Computer Mart, 501 Rt. 27 (201)283-0600 NY: Endwell; The Computer Tree. 409 Hooper Rd , (607) 748-1223; New York; Computer Mart, 118 Madison. (212)686-7923; White Plains; Computer Corner 200 Hamilton, (914)949-3282. NC: Raleigh; ROMs N RAMs, Crabtree Valley Mall, (919)781-0003. OH:Columbus; ByteShop, 2432 Chester (614)486-7761; Dayton: Computer Mart. 2665 S. Dixie, (513)296-1248. OR: Beaverton: Byte Shop, 3482 SW Cedar Hills, (503)644-2686; Eugene: Real Oregon Computer Co.. 205 W. 10th, (503)484-1040; Portland: Byte Shop, 2033 SW 4th Ave., (503) 223-3496. Bl: Warwick: Computer Power. M24 Airport Mall, 1800 Post Rd., (401)738-4477 SC: Columbia; Byle Shop, 2018 Green (803)771-7824. TN: Kingsport; Microproducts & Systems, 2307 E. Center (615)245-8081. TX: Arlington; Computer Port. 926 N. Collins, (817)469-1502; AMington: Micro Store. 312 W. Randol Mill Rd., (817)461-6081; Houston: Interactive Computers, 7646'/:' Dashwood. (713)772-5257; Lubbock; Neighborhood Computer Store, 4902-34th St., (806)797-1468; Richardson: Micro Store, 634 So. Central Expwy.. (214)231-1096. VA: McLean: Computer Systems Store. 1984 Chain Bridge. (703) 821-8333; Virginia Beach: Home Computer Center 2927 Va. Beach Blvd., (804)340-1977, WA: Bellevue; Byte Shop, 14701 NE 20th, (206)746-0651; Seattle; Retail Computer Store, 410 NE 72nd, (206)524-4101. Wl: Madison: Computer Store, 1863 Monroe, (608)255-5552; Milwaukee: Computer Store, 6916 W, North. (414)259-9140. D.C.: Georgetown Computer Store, 3286 M St. NW. (202)362-2127. CANADA: Toronto. Ont: Computer Mart, 1543 Bayview, (416) 484-9708; First Canadian Computer Store, 44 Eglinton Ave. W., (416) 482-8080; Vancouver. B.C.: Basic Computer Group, 1438 W. 8th, (604)736-7474; Pacific Computer Store. 4509 Rupert, (604)438-3282.

ProcessorTechnoiogy

o.n iij.quiry card.

Seven points

to consider

before

you buy your

small computer.

In this magazine, alone, there are probably a dozen ads for small computers. New companies are breaking ground like spring flowers.

How, then, do you determine which computer offers the features you need most., .at the price you can afford?

We'd like to propose seven basic questions to help you make an intelligent decision.

IHow complete is the computer system? e Many buyers of small computers are in for a rude awakening when they have to spend additional money for interfaces.

The Sol-20 Terminal Computer was the first complete small computer system. Everything you need to make it work is included in the basic package.

2

Is powerful system software available?

It won't do if your system is "tongue-tied!" Processor Technology Corporation has devoted more effort to the development of software than any other small computer maker Our latest offering is the first fully implemented disk operating system for a small computer: PTDOS. It contains over 40 major commands, several languages and numerous utilities. Our high level languages include Extended BASIC, Assembler, FORTRANf FOCAL and PILOT.*

3Is the system easy to expand? e More and more computer owners are expanding their small computers to handle business and other specialized requirements.

The largest Sol system can handle 64K bytes of RAM memory and operate with a three megabyte on-line disk memory. Sol systems use the S-100 Bus. So you can use a wide variety of hardware.

4is the computer well-engineered? e Our Sol systems are the most conservatively rated and ruggedly built in the industry, period. In addition we designed them with you, the user, in mind; Sols are easy to build and a joy to operate.

5Does it have proven reliability? e What is the track record? There are over 5,000 Sol systems in the field. Our track record for reliable performance is unparalleled in the small computer field.

6

Does it have good factory support?

A computer is a complex piece of hardware. So you want to be sure it is backed up with complete manuals, drawings and a factory support team that cares.

Processor Technology offers the most extensive documentation of any small computer manufacturer. And we maintain a patient, competent telephone staff to answer your questions.

ZAre maintenance and service people accessible? _ Where are they located? Processor Technology has maintenance and service people in over 50 cities around the U.S.

As you continue turning the pages, see how we stack up to the other computers in this magazine. If we've succeeded in whetting your appetite, see your Sol dealer or write for information on the complete family of Sol computers.

Processor Technology Corporation, Box B, 7100 lohnson Industrial Drive, Pleasanton, CA 94566. (415) 829-2600.

*Available soon.

Processor Technology

Circle 91 on inquiry card.

BYTE April 1978 23

For Your SWTP 6800 Computer...

The LFD-400 is ready to plug in and run the moment you receive It. Nothing else to buy! Not even extra memory!

YOU GET:

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

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

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

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

extra memory required • no "booting" needed. O Attractive metal enclosure. O Interconnecting cable—fully assembled and tested. Q Two diskettes—one blank, the other containing numerous

software routines including patches for SWTP 8K BASIC and the

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

schematics, service procedures, and the complete listing of

MINIDOS'".

® Technical Memo updates—helpful hints which supplement the

manual instructions. ® 90-day limited warranty.

Minifloppy is a trademark of Shugarl Associates, lillNIDOS is a trademarl< of PERCOfvl Data Company, Inc,

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

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

MC and VISA welcome. COD orders require 30% deposit plus 5% fiandling charge. Allow tfiree extra weeks if payment is by personal check. The LFD-400 Floppy Disk System is available immediately. Allow three weeks for testing and transportation. Texas residents add 5% sales tax.

PERCOM DATA COMPANY, INC.

Dept B 318 BARNES'GARLANO, TX. 75042 (214) 276-1968

PERCOM™ 'peripherals for personal computing'

facilitate output. This would lead to simpler, more concise speech in general, which would make programming tasks simpler. It would also probably have a negative impact on the society's literary capabilities, but that is not pertinent here.

Gary Wells 2622 NE 14th Portland OR 97212

SOME QUESTIONS ABOUT THE TECHNOLOGY OF EMOTIONS IN THE ENTERPRISE

I would like to commend you all on the excellent article by Schmucker and Tarr, "The Computers of Star Trek," in December 1977 BYTE. It is always intriguing to speculate on such things.

My favorite episode was missing. I refer of course to the time that the computer, with an obviously feminine voice, fell in love with the captain. Such behavior from a purely logical machine seems a contradiction if we are to believe the authors' views as expressed in the character of Speck.

Spock seems capable of separating his emotions from the decision process better than most of the humans on the crew and thus his decisions are respected by the crew members. Such a situation implies that the authors believe that this separation is good.

Questions:

1. How much memory is required for emotions?

2. How do the emotions of the machine alter the decision process?

3. Do the emotions add to the validity of the decisions?

4. What did the computer expect the captain to do once he knew she was in love with him? Was it illegal? Could it be illegal?

Albert C Brunelli RFD #1 Berlin NH 03570

Pi AYE'D

"The Computers of Star Trek" (December 1977 BYTE, page 12) interests me both as a computer professional and as a Star Trek fan. Schmucker and Tarr are to be congratulated on combining the entertaining with the informative. (It is unfortunate, however, that the only widely available hard copy version of the Star Trek episodes is the James Blish series. The late Mr Blish was often forced to oversimplify because his publisher insisted that he adapt six or more hour long episodes into each volume. He also had a tendency to simply make things up.)

Continued on page 162

24

April 1978 © BYTE Publications Inc

Circle 85 on inquiry card.

HORI^N

THE COMPLETE COMPUTER

LookToThe North Star HORIZON Computer.

HORIZON™—a complete, high-performance microprocessor system with integrated floppy disk memory. HORIZON is attractive, professionally engineered, and ideal for business, educational and personal applications.

To begin programming in extended BASIC, merely add a CRT or hard-copy terminal. HORIZON-1 includes a Z80A processor 16K RAM, minifloppy™ disk and 12-slot S-100 motherboard with serial terminal interface — all standard equipment.

WHAT ABOUT PERFORMANCE?

The Z80A processor operates at 4MHZ — double the power of the 8080. And our 16K RAM board lets the Z80A execute at full speed. HORIZON can load or save a 10K byte disk program in less than 2 seconds. Each diskette can store 90K bytes.

AND SOFTWARE, TOO

HORIZON includes the North Star Disk Operating System and full extended BASIC on diskette ready at power-on. Our BASIC, now in widespread use, has everything desired in a BASIC, including sequential and random disk files, formatted output, a powerful line editor, strings, machine language CALL and more.

EXPAND YOUR HORIZON

Also available —Hardware floating point board (FPB); additional 16K memory boards with parity option. Add a second disk drive and you have HORIZON-2. Economical serial and parallel I/O ports may be installed on the motherboard. Many widely available S-100 bus peripheral boards can be added to HORIZON.

QUALITY AT THE RIGHT PRICE

HORIZON processor board, RAM, FPB and MICRO DISK SYSTEM can be bought separately for either Z80 or 8080 S-100 bus systems.

HORIZON-1 $1599 kit; $1899 assembled. HORIZON-2 $1999 kit; $2349 assembled.

16K RAM —$399 kit; $459 as.sembled; Parity option $39 kit; $59 assembled. FPB $259 kit; $359 assembled. Z80 board $199 kit; $259 assembled. Prices SLibject to change. HORIZON offered in choice of wood or blue metal cover at no extra charge.

Write for free color catalogue or visit your local computer store.

North Siar * Computers

2547 Ninth Street • Berkeley, California 94710 • (415) 549-0858

Circle 80 on inquiry card.

BYTEAprin978 25

1

^12 persuasive reasons why Vector Graphic gives you more itiicrocouiputer value

iJlU^ for your mouQi"

Bob Harp< Technical Director

1

2

Our products are designed by professionals with many years of experience in industrial electronics.

Only prime components are used from vendors you will recognize as the most reputable in the industry.

3Our kits are designed to be easily assembled with a minimum of user installed jumpers — you don't have to spend hours figuring how to

configure boards for your application.

Our cabinets quality is superior — designed with careful attention to airflow (a fan is standard) and mechanical rigidity.

We offer a complete line of products designed to operate together — no need to be concerned about compatibility.

You have a choice of CPU boards with either 8080 or Z-80 MPU.

We offer all of our products assembled and tested — for surprisingly little more than kit prices.

§ Our management is genuinely interested in you as a satisfied customer.

You can purchase our products with confidence — they will not become obsolete with the next generation of microprocessors.

We offer complete technical support with engineers and technicians available to answer your questions.

11 Our speedy shipment of orders is the envy of our competitors.

A network of over 150 dealers throughout the U.S., Canada and Europe has been carefully selected to service your needs.

4

5

6 7

9 10

12

No other company in the industry has grown as rapidly as Vector Graphic. If you want to know why Vector Graphic has outstanding acceptance, purchase one of our products. Write or call for your nearest dealer.

ZO^ G^APhiC inc.

Vector Graphic, Inc., 790 Hampshire Rd., A + B Westlake Village, OA 91361, Tel: (805) 497-6853

Photo J: If high speed multiplication is your objective, the MPY-8A J-M (or its cousins) can provide the large scale integrated circuitry needed. This photo shows the packaging of the 16 bit version of the TRW product with its integral heat sink (it dissipates 5 W and sells for $255 in WO quantities as part number IVIPY-16AJ-IVI). Of more interest to the experimenter, due to lower cost, is the MPY-8AJ-IVI part which sells for $115 in 100 quantities, and is the subject of this article. TRW is located at One Space Park, Redondo Beach CA 90278.

a Wet Climate

MPY-8AJ is speed. We think sucii a device will liave wide interest among readers. We decided on tlie following goals to guide hardware design and software development:

• Multiple precision fixed point arithmetic with faster multiplication.

• Fast double subscripted array access (in a microprocessor with indexed addressing).

• A complete floating point package with fast multiplication.

• Best use of hardware to do things which are slow with software.

We decided to begin with the Southwest Technical Products Corporation 6800 system. The SwTPC product has on mother board decoding for addresses 8000 to 801 F (in steps of four bytes). SwTPC documentation refers to an address in this range as a "port," with port 1 (having addresses 8004 to 8007) being dedicated to MIKBUG oper

How to Multiply in

Jack Bryant Mathematics Dept Texas A&IVl University College Station TX 77843

Manot Swasdee EE Dept

Texas A&M University College Station TX 77843

An 8 by 8 bit parallel two's complement multiplier, forming sign and a 14 bit product, was recently introduced by TRW Electronic Systems Division. Designated the MPY-8AJ, the multiplier is a low power high performance bipolar TTL device, forming the product in a typical 130 ns multiply time. This time is an order of magnitude shorter than usual microprocessor instruction execution time. Photo 1 shows the beauty contest photograph of this part, as supplied by TRW. Figure 1 is a block diagram of input, output and control for the device. The product is available in a 40 pin DIP ceramic package, 0.600 series. Single power supply of +5 V and under 2 W power consumption add to the attractiveness of the MPY-8AJ as an addition to microcomputer hardware.

We can do two's complement multiplication with software; what we gain using the

28 April 1978 © BYTE Publications Inc

8 BIT SYSTEM DflTfl BUS

CLOCK X I CLOCK Y I

ROUNO I >

CLOCK P I ]>

X OPERAND REGISTER

Y OPERAND REGIS CLOCK Y

TRI lQ^ TRIM I

ljllMf%,fM ^

ROUNP ASYNCHRONOUS MULTIPLIER ARRAY

mm

LSP

LEAST SIGNIFICANT ^ PRODUCT REGISTER ^

(7 BITS PLUS SIGN) CLOCK

MSP '""^^^^^PH

MOST SIGNIFICANT PRODUCT REGISTER

CLOCK (7 BITS PLUS SIGN)

THREE STATE OUTPUT BUFFER

ENABU

ENABLE

THREE STATE I OUTPUT BUFFER

Figure 7; A block diagram of the MPY-8AJ part. The multiplier is fully buffered by registers: CLOCK X writes the contents of the X inputs Into the X register, CLOCK Y writes the contents of the Y inputs into the Y register, and CLOCK P writes the outputs of the multiplication array into the product registers. Each half of the product register is in turn provided with a three state buffer with output enable control TRI-L and TRI-M. The ROUND input adds I to the least significant bit of the most significant product during a multiplication.

8 BIT SYSTEM DATA BUS

Part 1: Use and Basis for a Design

ating system 10. The advantage to this system is the hardware need only decode 2 bit wide addresses. The user might thus think of the multiplier as an 10 unit. The problem is to best return the 14 bit plus sign product, and the answer to this depends on how the product is used. Here we start (from scratch) and discuss number systems and how the MPY-8AJ can support our design goals. Detailed construction information will be presented in the second part of this article.

Number Systems

A typical 8 bit microprocessor instruction repertoire includes instructions that add, subtract and compare numbers in two forms: as unsigned binary numbers and as two's complement signed numbers. The two's complement signed representation

allows the hardware to add in exactly the same way for unsigned or signed numbers. The range of 8 bit unsigned binary numbers is 0 to 255, while two's complement numbers (in the same order) range from 0 to 127, -128 to -1.

Were one's complements used for negatives, a negative number would simply give significance to the zeros instead of ones. A two's complement negative number is one greater than the one's complement of the positive number of the same absolute value; this means zeros to the right of the rightmost 1 have no significance in either representation. On the other hand, leading zeros in a positive number and leading ones in a negative number have no significance. For example, 00010010 represents the number 18 and 11110010 the number -14. Later, when we consider numbers of more than

April 1978 @ BYTE Publications Inc 29

i

Table 1: Comparison of two's complement and unsigned binary eight bit addition. Although the bits are all the same, the way we interpret an overflow or carry condition distinguishes the two systems.

Example

Two's Complement

Overflow

Unsigned

Carry

a

127+(-1) = 126

Clear

127+255 = 126

Set

b

64 + 64 = -128

Set

64 + 64 = 128

Clear

c

127+(-128) = -1

Clear

127+128 = 255

Clear

d

^128+(~128) = 0

Set

128+128 = 0

Set

8 bit length, we will see (for instance) the 15 bit two's complement 18 is represented by 0000000 00010010 whereas -14 is represented by 1111111 11110010.

In table 1, we give four examples of 8 bit addition as two's complement and unsigned numbers and give the condition of carry and two's complement overflow flags after each sum.

Instead of fixing a particular number of bits, we might as well do them all at once, take a bit pattern /Jq/^I ■ ■ ■ &n '^^ length n + 1 (each |3j is 0 or 1); we can connect an unsigned binary number and a two's complement number B( with this bit pattern as follows: [Here we use the convention that the most significant bit is numbered 0 . . . CH]

B^=-/3Q2"+/3^2n-l +

The bit pattern $q^-] . . . |3r, may also be regarded as a proper fraction (mantissa) B^^, between -1 and 1-2"";

B = -|3n + |3J2 + . . . + /3 /2" m '^0 ^1' ^n'

This amounts to placing the binary point to the left rather than the right. In this system, two's complement overflow means that the

Figure 2: A major use of fast multiplication hardware is In the calculation of address offsets when randomly accessing elements of an array. Here we show a simple memory allocation layout of a 3 by 2 matrix of 4 byte floating point numbers starting at hexadecimal address 0100 in memory address space. The expression:

Element Address = BASE + 4 x (j -i- 2x1)

finds the address of the (IJ)^^ element where I runs from 0 to 2, and J runs from 0 to ]. In this example, BASE has the value of hexadecimal 100. This calculation must be done whenever it is desired to reference a particular element of the array and there is no constraint upon the subscripts which could possibly simplify the calculation.

sum is in an improper fraction. For example, the two's complement binary version of decimal 64 is 01000000 in this notation. This is the fraction 1/2, and 1/2+1/2 = 1 (example b in table 1) which is not a proper fraction, as indicated by overflow.

The simplest (next to 8 bit) number system is the addressing system: 16 bit (or n bit) unsigned integers specify each address in address space. Sometimes we spend as much time figuring out where things are as we do computing. One goal of using the multiplier was to calculate addresses quickly.

Matrices Anyone?

A matrix is a two-dimensional rectangular array of quantities. In BASIC, for instance, the statement

10 DIM R(30,20), S(3,2)

establishes R to be a 30 row by 20 column matrix and S a 3 row by 2 column matrix. If each floating point number in the matrix were four bytes long, R would occupy 30X20X4 = 2400 bytes (plus bookkeeping) and S would occupy 3X2X4 = 24 bytes (plus). The "plus" is necessary because one must know at least the starting (base) ad

Hexadeclmal Address

Base

0100 0101 0102 0103

S(0,0)

0104 0105 0106 0107

S(0,1)

0108 0109 01 OA 010B

S(1,0)

010C 010D 010E 010F

S(1,1)

0110 0111 0112 0113

(S(2,0)

0114 0115 0116 0117

S(2,1)

Typical 4 byte ■ floating point element ot S.

30 April 1978©BYTE Publications Inc

DUR STAR

PERFORMERS S-100 B

Meet The North Star Family

THE NORTH STAR S-100 FAMILY—four high performance products at attractive low prices. Our boards are designed for use in the North Star HORIZON computer and other S-100 bus computers using 8080 or Z80 processors. Visit your computer store for a demonstration, or write for our free color catalog.

available. The MDS includes the S-100 interface board with on-board PROM for system startup, Shugart minifloppy disk drive, cabling and connectors, and DOS and BASIC software on diskette. Kit: $699. Assembled: $799. Additional drive — Kit: $400. Assembled: $450. Single Drive Cabinet: $39. Optional Power Supply: $39.

16K RAM BOARD

No other S-100 bus memory can match the performance of the North Star 16K RAM at any price. This low-power board has been designed to work at full speed (no wait states), even at 4MHz with both Z80 and 8080 systems. Memory refresh is invisible to the processor, bank switching is provided and addressability is switch selectable in two 8K sections. Best of all, a parity check option is available. Kit: $399. Assembled: $459. Parity Option — kit: $39. Assembled: $59.

MICRO DISK SYSTEM

The North Star MDS is a complete floppy disk system with all hardware and software needed to add floppy disk memory and a powerful disk BASIC to S-100 bus computers. The North Star MDS is widely considered one of the best designed and most complete S-100 bus products

Z80A PROCESSOR BOARD

The North Star ZPB brings the full speed, 4MHz Z80A microprocessor to the S-100 bus. Execution is more than twice the speed of an 8080, and the ZPB operates in systems both with and without front panels. The ZPB includes vectored interrupts, auto-jump startup, and space for IK of on-board EPROM. Kit: $199. Assembled: $259. EPROM Option — kit: $49. Assembled: $69.

HARDWARE FLOATING POINT BOARD

If you do number crunching, then this board is for you. The FPB performs high-speed floating point add, subtract, multiply and divide with selectable precision up to 14 decimal digits. Arithmetic is up to 50 times faster than 8080 software, and BASIC programs can execute up to 10 times faster. A version of North Star BASIC is included. Kit: $259. Assembled: $359. Prices subject to change.

Circle 80 on inquiry card.

North Siar * Comruters

2547 Ninth Street • Berkeley, California 94710 • (415) 549-0858

BYTE April 1978

31

Figure 3: A full representation of the unsigned multiplication of two binary integers. Note that here we label the most significant bit with 0, the least significant bit with 7 (opposite of the usual designations in many microprocessor functional specifications).

Multiplier X

X

h

"0^7

Intermediate Terms

■ ■ "7^6

°7f0

The product is a binary sum of the intermediate terms

FM

ECU laoit

00003

BC D

EOU FM+1

0 0 00 4

801F

tQU SMtl

EGU U<^P+1

n n A u u u u rj

0 0 02

3CTH

WMG 2

nn 1 '

HOWL

RMa 1

u u u u O

dASE

W N8 2

C 0 0 0 "5

0 1 0

URo S 1 00

000 11

SUdROUTINE FtTCH4

*

0 0 0 1 3

PunPUSt: FETCH4 LUADS THE INDEX REGISTER

000 14

WITH THE AQDRES5 OF T(I.JI, WHERE:

000 13

0 0 0 16

BllSE

ROW INDEX IN ACCA

0001 7

1 -

ROW INDEX IN ACCA

0 0 0 1 B

J

COLUMN INDEX IN ACCU

ROWL

HCW LENGTH IN BVTES

00020

SCIH

SCRATCH AREA. TWO BYTES

00021

00022

*

H Eb THICTIONS:

00023

ACCA (I) IS DESTHDYED

00024

*

T M05T

HAVE 4 BYTE LONG ELEMENTS

00025

*

0 LE I

LE 127

0 LE J

LE 30

0 0027

RO«L LE

1 24

00028

USES SUBROUTINE FETHGW

*

00030

0 100

BD OF

8SR FETRUW

GET ROW ADDRESS

0003 1

0 1 02

TBA

MULTIPLY J

0

4e

ASL A

BY 4

OOOJ J

0 1 4

A SL A

00034

0 105

9B 01

ADU A SCTH + l

ADD 4*J TO ROW ADDRESS

00035

0 107

9 7 0 1

SIA A SCTh+1

00036

0 109

24 C3

BCC FINFET

00037

0 1 OQ

7C C 0 0 0

INC SCTH

C0038

0 1 0 £:

DE 0 0

FINFtT

LDX SCTH

LOAD INDEX REGISTER

0 0 039

0 110

3 9

H rs

AND RETURN

0 0 041

*

0 0 04?

SUuRUUTINE FETtiUw

00043

*

00044

PUUPQSE: EtTWnw LUADS SCHATCH AliFA SCTH

00043

*

rtlTH THE ADDf.LS

5 (IF T ( I , 0 ) , WME RL :

00046

*

0004 7

*

BASE

Twtl BYIL ADDRESS UF T(0»0

0004B

1

THE RUrt ligDEX IN AlCA

00049

*

ROWL -

ROW LENGTH IN BYTES

00050

*

SCTH

TWO BYTE SCRATCH AREA

00051

*

00052

HESIRICTICNS:

00053

*

00054

*

ACCA(I)

IS DFSIkOYCD

00053

«

OLE r

L E 12 7

00056

*

0 LE HCWL LE 12 7

00057

*

USES HANDWApr MULTIPLIER

0 0058

*

C0059

0 1 1 I

87 fcOlC

FtTNOn

iiTA A F M

MLL T I PL r AlC A

00060

0 114

96 O'd

LCA A RUWL

(CGNT A i N1NG I )

0 0 06 1

0 116

B7 eoiD

5 TA A SM

BY RUW LENGTH

0 0 062

0 119

86 tOlF

LDA A LRP

TC F I NO UFI^ SET

00063

0 I IC

9B 04

ADO A BASL+l

ADD Tu :tAsh

00064

0 1 IE

97 01

SIA A SCTh+l

AND SAVE

0 0 065

0 120

86 eoiE

LCA A URP

00066

0 123

99 03

ADC A BASE

0 0 067

0 125

97 00

SIA A SCTH

C 0 06 d

0 1 27

39

Rib

ALL DCNl

Listing I: Calculation of address of an element of a matrix T of 4 byte words with given base address and row length. Under 80 machine cycles (counting JSR FETCH4) are required per element. The program can be made even more efficient and general if T is assumed to be aligned on a boundary which is a multiple of 4; a 128 by 128 array can be handled.

dress of each matrix and one of the two dimensions in order to get around. Usually a matrix is stored by rows. In figure 2, we display in full the row-storage order of the 3 by 2 matrix S with hexadecimal base address 100.

If T is an N by M matrix (N rows and M columns) of n byte long elements with base addresses B, then the address A of element T(I,J) is computed as follows:

A = B + (1-1) X M X n + (J-1) X n.

The numbers M X n and B do not change once the dimension, word length and base location of T are known. The problem of randomly getting around in matrix T is to find A, and this is mostly multiplication. If we assume MX n < 127 and N < 128, then each product involved in finding A is that of two positive 8 bit two's complement numbers. For instance, if n = 4, this amounts to restricting the maximum dimension of a real matrix to 128 by 31. (Of course, the elements of T could be character strings or bank account numbers; n could even be 1, that is, a byte oriented array. Since our floating point arithmetic uses n = 4, we start with this case.)

Our hardware multiplier forms a 15 bit signed two's complement product after the following, in which FM, SM, URP and LRP are the four successive port addresses of the multiplier:

1. Store the first number to be multiplied in FM.

2. Store the second number in SM.

Step 2 causes the multiplication to take place (and does not change the multiplier stored in step 1). We get back the 15 bit product in URP (the Upper Right-shifted Product: 0 plus the first seven bits) and LPR (the Least Right-shifted Product: the low order eight bits).

Suppose T is an N by M matrix of 4 byte quantities with base address in BASE, BASE+1 and the number 4M in ROWL. SCTH is a 2 byte long scratch area. Listing 1, in M6800 assembly language, is a program to

32 April 1978 3 BYTE Publications Inc

load the index register with the address A where, on entry, the row index is in accumulator A and column index is in accumulator B. (Should, for example, I be unchanged from one fetch to the next, the program can be restructured with an entry point for changing J only.) We think of T as starting at (0,0) instead of (1,1); this replaces 1-1 with I and J-1 by J. (This particular prograrfi supports the floating point package to be introduced later and is not intended to be very general. For instance, the number 4 could be made variable, allowing access in a three-dimensional array T with dimensions MXNXL;here, L is4.)

A slightly different approach is better for byte arrays. In listing 2, an up to 128X127 byte array B is accessed by modifying the offset of indexed addressing. Once we find row I we get B(I,J) in ten cycles with

STA B PT+1 PT LDA A 0,X

ENTRY: B BIT TWOS COMPLEMENT MiJLTlPLICHTlDN

1NITIRLIZE: CLERR TWD BYTES FDR PR0[>U<:T/ EXTEND X AND Y 51 ENS LEFT

/ FDR B = \l TD 15

\

5H1FT X R I BHT

SET

HDD Y TD TWD BYTE PRRTIHL PRODUCT

—TZZ

■CLEAR

SHIFT Y LEFT

<(next b) '

(exTt)

Algorithm 7: 8 bit two's complement multiplication produces a 14 bit product plus sign bit. This algorithm is coded as a 6800 assembly language prdffrdm in listing 3.

Listing 2: Subroutine FETCH I; the initialization and required subroutine FETROW are in listing I. This routine allows byte structured fetch and store in at most 56 cycles. Because the program used modified Indexed addressing, it cannot be Implemented in ROM.

00070 00071 00072 0007J 00074 0 0075 00076 00077 00078 00079 00080 00081 OOOOZ O0OB3 00084 00085 00086 00087

0 ooaa

00089 00090 00091 C 0 09 2 00093 00094 0009S 0 0096 00097 00098 0 0 099 00100 00 10 1 0010? 00 10 3 00104

SUBHgUTINK FETCH I

PUKPOSF: FETCHl LOAOS ACCA »ITH THE CONTtNTS OF B(I.J).KhEHE:

BASE TWO DYTE ADDRESS OF 0(0,0>

I RUW INDEX IN ACCA

J COLUMN INDdX IN ACCb

hukl r0» length in dytes

scth — scratch aheai two bytes

restrictions:

acca is destroyed

0 LE i LE 127 0 LL J LE 127 HOWL LE 128

THE INDEX REGISTER lb RETURNED THE ADDRESS OF HII.O)

USES SUBROUTINE FETROW

0 128 80 E7 0 12A DE CO

BSR LpX

FETRGDl SCTH

FIND ROW INDEX SAMEI FUR SAME ROW

012C F7 0133 SAMEI STA 012F A6 00 FETCHP LDA 0131 39 KTS

0132 F7 0135 A7 0 137 J9

0136 DO

STURbl STUHEP

STA STA RTS

END

ENTRY FOR SAME HOW FETCMP+l MODIFY (NOEXEO O.X ADDRESS AND FETCH

ENTRY FOR STORE ACCA IN B«I,J) STOREP-t-l BE SURE FETROW O.X WAS CALLED FIRST

SINCE IT KILLS ACCA

Listing 3: A software Implementation of what the MPY-8AJ hardware does. More efficient (and more complicated) Implementations are possible.

00003 00004 00005 00006 00007 0000b 00009 00010 0001 1 0001 2 0001 3 00014

oocts

00016

00017 000 1 B 00019 00020 00021 0 0 022 00023 00024 0002S 00026 00027 00028 00029 00030 0003 1 00032 00033 00034 00035 00036 00037 00038 00039 00040 0 0 04 1 00042 0 0 04 3 00044 0004S 00046

SLBROUTINE MYP8S0

: TO MULTIPLY TWO 8 BIT SIGNED INTEGERS GIVING A 14 BIT PLUS SIGN PRODUCT. PRODUCT IS RETURNtD RIGHT-;>HIFTEO IN TWO SUCCESSIVE BYTES P.P*l MULTIPLICANDS ARE IN A,a ON ENTRY.

0000

0CC4

AI

HMB

4

0 004

0002

P

RMI3

2

0 100

ORG

»100

0100

97

01

MPY8SO

STA

A

AJ + I

INITIALIZE

0 102

D7

03

STA

B

Al +3

0 104

4F

CLR

A

0 1 05

9 7

CO

S TA

A

A 1

iiIGN EXTEND

0107

97

02

STA

A

A 1+2

AREA ZEROS

0 109

97

C«

STA

A

P

CLEAR AREA

OlOB

97

C5

STA

A

P*l

FOR PRODUCT

0 1 00

50

TST

B

0 lOE

2C

03

BGE

BPUSMP

01 10

73

0C02

CGM

A 1 +2

ONES NOW

01 13

7D

0001

BPOSMP

TST

Al-f 1

0 116

2C

03

BGE

APOSMP

0 118

73

0000

COM

Al

ONtS NOW

01 I B

C6

OF

APOSMP

LCA

0

» 1 5

SET COUNTER

0 1 ID

77

cooo

LUUPMP

ASK

Al

SHIFT X

0120

76

0001

RQR

Al+1

RIGHT

0 123

24

OC

BCC

iBROMP

0 125

9b

03

LOA

A

Al'i'3

ADD V TO PRODUCT

0 127

9B

C5

AOD

A

P+I

0 129

97

Cb

STA

A

P+1

0 12B

96

02

LDA

A

AI+2

0120

99

04

ADC

A

P

0 1 2F

97

C4

S TA

A

M

0 131

7a

0 C 03

ZtRCMP

ASL

A 1 +3

bHI FT

0 134

79

0002

RCL

Al+2

Y LEFT

0137

5A

DEC

B

0138

26

E3

ONE

LOOPMP

FINISHED?

0 1 3A

96

04

LDA

A

P

YES. ZERO BIT 0

0 13C

84

7P

AND

A

«127

OF FIRST WORD

0 1 3E

97

C4

STA

A

P

0 140

39

RTS

April 1978 © BYTE Publicalions Inc 33

it's a good bet the company you bought your computer from doesnl even make peripherals!

Start in the digital logic end w le business. They were great juilding calculators and computers but when it |;^e right down to it, most xst didn't have the experi^ Ince necessary to build the '^peripherals to support their computer products. And that left a vacuum!

At Heath we had the advantage. Our years of experience in electronic kit design gave us plenty of background with not only digital logic but mechanical and video design as well. And our assembly manuals and documentation are world-famous for easy to understand instructions.

We built the world's first digi4j tal color television, a unique fully synthesized FM tuner, digital frequency counters, clocks - even a digital bathroom scale.

So when we entered the per sonal computing market w. had the "know-how" to build not only our outstanding H8 ft and Hll, 8 and 16-bit computpers, but, in addition, a complete line of supporting peripheral kits!

Select the H9 Video Terminal, the HIO Papertape Reader/ ifi Punch, and very soon our Sown, complete, Floppy Disk system. Each was designed with the systems approach in •-V.inind. Each was conceived to ; - integrally mesh with not only

our own computers, but

itofc,^^^^^^ ■ ^ . - M

through our set of sophisticated interfaces, most others as well. And in that Way we're making every effort to fill the vacuum the others left!

So when you're ready to communicate with your computer turn to Heath. We've got ^ItejSilpherctl kits you'll need prices you can afford.

Maybe the company who sold you your computer didn't think about peripherals - but we sure did! And come to think about it maybe that's why you should come to Heath... in the first place.

^ Heathlcit Cominiiefs

Heathlcit Catalog

Read about nearly 400 money-saving, ° fun-to-build electronic kits.

1 Use coupon to send foi \your mail order catalog or bring coupon to a _ Heathltit Electronic: Center ior your catalog, .

Schlumberger

Heath Company, Dept. 334-400 Benton Harbor, Ml 49022

Pleasosend me my FREE Catalog. I am not on your mailing list.

Name

AddressClty

.State

CP-146

Zip_

AVAILABLE LOCALLY AT HEATHKIT ELECTRONIC

(Units of Schlumberger Products

Corporation) Retail prices on some

products may be elightly higher. ■ •"'

ARIZONA: Phoenix, 85017, 2727 W. Indian School ■) Rd., Phone: 602-279-6247; CALIFORNIA: Anaholm, ''' 9280S, 330 E. Ball Rd., Phone: 714-776-9420; Bl'M CsrrltO, 94S30, 6000 Potrero Ave., Phone: 41S-236*J B870; Los Angels*, 90007, 2309 S. Flower St.,^ Phone: 213-749-0261; Pomona, B1787,155S Orange Grove Ave. N„ Phono: 714-623-3343; Redwood Oily, 94063, 2001 Mlddlefleld Rd., Phone: 41S-3658155; Sacramento, 9S82S, 1860 Fulton Ave,, Phone: 916-486-1575; San Diego (La Mesa, 92041), 8363 Center Dr., Phone: 714-461-0110; San Jose (Campbell, 95008), 2350 S. Bascom Ave., Phone: 408377-8920; Woodland HIII8, 91364, 22504 Ventura Blvd., Phone: 213-883-0531; COLORADO: Denver, 80212, 5940 W. 38th Ave., Phone: 303-422-3408; CONNECTICUT: Hartford (Avon, 06001), 395 W. Main St. (Rte. 44), Phone; 203-678-0323; PLORtOA: Miami (Hialeah, 33012), 470S W. 16th Ave., Phbhe: 305-823-2280; Tampa, 33614, 4019 West Millsborough Ave., Phone: 813-886-2641; GEORGIA: Atlanta, 30342, S285 Roswell Rd., Phone: 404-2524341; ILLINOIS: Chicago, 60645, 3462-66 W. Osvon Ave., Phone: 312-583-3920; Chicago (Downar* Grove, 60515), 224 Ogden Ave., Phono; 312-8621304; INDIANA: Indianapolis, 46220, 2112 E. 62nd St., Phone: 317-257-4321; KANSAS: Kansas City (Mlaslonv 6S202)i 8960'Lamar Ave., Phone: 913362-4486; KENTUCKY: Louisville, 40243, 12401 Sheibyville Rd„ Phona: 502-245-7811; LOUISIANA: New Orleans (Kenner, 70062), 1900 Veterans Memorial Hwy , Phone: 504-722-6321; MARYLAND: Baltimore, 21234, 1713 E. Joppa Rd., Phona: 301661-4446; RockvHIe, 20852, 5542 Nicholson Lane, Phone: 301-881-5420; MASSACHUSETTS: Boston (Paabody, 01960), 242 Andover St., Phone: 617S3T-9330; Boston (Wellesley, 02181), 165 Worcester Ave. (Rt. 9 Just west of Rt. 128), Phone: 617-237-1510; MICHIGAN: Detroit, 48219, 18645 W. Eight Mile Rd., Phone: 313-535-6480; E. Oe- ' troit, 48021, 18149 E. Eight Mile Rd., Phone: 313

'772-0416; MINNESOTA: Minneapolis (Hopkins, SS343), 101 Shady Oak Rd., Phone: 612-938-63711.. MISSOURI: St. Louis (Bridgeton), 63044, 379< *

' McKelvey Rd., Phone: 314-291-1850; NEBRASI

' Omaha, 68134, 9207 Maple St., Phone: 402-99' 2071i! NEW JERSEY: Fair Lawn, 07410, :^ra'adway {Rte. 4), Phone: 201-791-6935; Oi 07712, 1013 State .Hwy. 35, Phone; 201-776-1231r NEW YORK: Buffalo (Amherst, 14226), 3476 Sheridan Dr., Phone: 716-835-3090; Jsrieho, Long Island, 11753, 15 Jericho Turnpike, Phone: 516-3348181; Rochester, 14623, 937 Jefferson Rd., Phone: 716-244-5470; White Plains (North Whits Plains, 10603), 7 Reservoir Rd., Phone: 814-761-7690; OHIO: Cincinnati (Woodlawn, 4S21S), 10133

• Springfield Pike, Phone: 513-771-8850; Cleveland, 44129, 5444 Pearl Rd., Phone: 216-886-2590; Columbus, 43229, 2600 Moras Rd., Phona: 814-4757S0CJ; Toledo, 43615, 46 S. Byrne Rd,. Phone: 419537-tSB/; PENNSYLVANIA: Philadelphia, 19149, 6318 Roosevelt Blvd., Phone: 215-288-0180; Frazer (Chester Co.), 19355, 630 Lancaster Pike (Rt. 30), Phone: 215-647-5555; Pittsburgh, 15235, 3402 Wm. Pann H«iy„ Phone: 412-824-3564; RHODE ISLAND: Providence (Warwick, 02886), 558 Greenwich Ave., Phona; 401-738-5150; TEXAS: Dallas, 75201, 2715 Ross Ave., Phone; 214-826-4053; Houston, 77027, 3705 WBSthelmer, Phone; 713-623-2090; VIRGINIA: Alexandria, 22303, 6201 Richmond Hwy., Phone: 703-765-5515; Norfolk (Virginia Beach, 23455), 1055 Independence Blvd., Phone: 804-460-0997; WASHINGTON: Seattle,.98121, 2221 Third Ave., Phone; 206' " " '"" Milwaukee, 53216, 5215 414-873-8250.

34 BYTE April 1978

Circle 53 on inquiry card.

and 22 cycle access (allowing relocatable code) with JSR SAME!. [This uses the wellknown trick of self-modifying code, and thus will not work if the program is in ROM.]

The Time Has Come . . .

The preceding section was about addresses, which are positive; the MPY-8AJ does signed arithmetic. Before we show how to use it in multiple precision products

(fixed or floating), we need to see how two's complements bit multiplication goes.

Let A be the bit pattern o;qo;-| , . . 07, B the pattern &q . . . /Sy. Were A and B unsigned integers, we could represent the product as shown in figure 3. A few examples show this doesn't work for two's complement numbers if one of A or B turn out to be negative. Not even -1 X 2 is right: recall -1 = mmil, 2 = 00000010; the above scheme gives 000000111111110 (after all

15 14 13 12 11 10 9

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

1

2

3

4

5

6

tV

10

11

12

13

14

15

2

3

4

5

6

7y

y^y

y^

10

11

12

13

14

15

3

4

5

6

1/

y^

10

11

12

13

14

15

4

5

6

Jy

y^

10

11

12

13

14

15

5

6

7/

10

11

12

13

14

15

a2*b2

6

1/,

10

11

12

13

14

15

7X

10

11

12

13

14

15^

""9 10 11 12 13 14 15)

8 9 10 11 12 13 14 15

9 10 11 12 13 14 15

10 11 12 13 14 15

11 12 13 14 15

12 13 14 15B-,*A2

13 14 15

14 15/ Key □

Subject to hardware multiplier evaluation.

I I I I Softvuare fixups required. Definitions of Partial Product Inputs:

"2

"4

"7

«8

'"lO

"11

0:^2

"13

"14

«15

■

0

«9

"^10

"11

<*12

<*13

a, 4

«15

''0

0^

02

03

0A

0B

06

01

08

09

0^0

^11

0^2

^13

(3l4

0^B

0

09

0^o

(3l1

f3T2

0^3

0^4

0^5

Figure 4: Condensed representation of rightmost 16 bits of the product of two 16 bit two's complement numbers; this is also the same pattern we find in 16 bit unsigned numbers. The headings 0 to 15 along the top represent the bit positions of the sum. The headings 15 to 0 along the side are the subscripts of the bits in B, while entries in the table are subscripts of A. Blocked off in this are parts of the product we can form with a hardware multiplier: a2b2 (a 14 bit sum) and the least significant parts of AjB2 and BjA2- Left over are OigB2 and lis^2 (but

note overlap in which ag^g is counted twice). Continued on page 100

April 1978 © BYTE Publications Inc 35

Basic systems for personal computing

If you are just getting into personal computing and are looking for a starter system, you have two choices: a computer kit with RAM memoYy only or a fully assembled computer with BASIC-in-ROM. From reading this magazine and talking to computer buffs it should be obvious that it is desirable to have a computer capable of communicating in the programming language BASIC. This language allows you to instruct the computer in English-like phrases and to use any of the thousands of standard programs written in BASIC (there are probably several in this magazine).

If you purchase a (RAM-only) computer kit you will have to buy additional RAM (4K to 8K), a terminal, and cassette interface for a total cost of about $1000 to run BASIC after you get the kit together and working. Your reward for this endeavor will be a wait of about 15 minutes every time you turn the computer on just to load BASIC into the machine!

Your other alternative is a BASIC-in-ROM computer. These machines have BASIC built in so that it is there whenever the computer is turned on. BASIC-in-ROM computers are also usually fully assembled and cost far less than the RAM-only kits because they are massproduced by the thousands.

But, you must be careful when selecting a BASIC-in-ROM computer. Some models do not have full-feature BASIC. Instead they have Tiny BASIC or 4K BASIC which cannot run most of the standard BASIC programs available. Still others have other shortcomings such as a small calculator-style keyboard which makes program entry difficult, or most important, lack of expansion capability, preventing the computer from growing with you.

Ohio Scientific offers you a line of expandable computers with full-feature 8K BASIC-in-ROM. They all come fully assembled and tested, but give you the option of economizing by supplying the simple things — power supply, keyboard and TV, if desired, so that you get the most computer power for your dollar.

Compare Ohio Scientific's $298 BASIC-in-ROM Model 500 Board (1MHz clock), which has our Version 3.3 BASIC, against other small computers, as in the independent article "BASIC Timing Comparisons" (Kilobaud, Oct. 1977, p. 23). In this test, the Model 500 excelled over all our personal computing competitors, and was second in performance only to our Challenger disk systems, compared against twenty-eight other computer systems. And the Model 500 is our lowest-cost machine! Our larger models are even more dramatic in a comparison with any competitive models.

Having the fastest full-feature BASIC ROMs certainly isn't the only criterion necessary for a superior computer system, but it sure helps. Ohio Scientific offers all the other features necessary, including a full line of computer accessories complete with 15 accessory boards available in over 40 configurations. Many Ohio Scientific accessories are so innovative that no one else in the industry has them — such as dual port memory boards, multiprocessing CPU's and big disks.

Ohio Scientific has other unique features for the personal computerist. For instance, there is Ohio Scientific's Small Systems Journal, published bi-monthly, a full magazine aimed specifically at the owners of Ohio Scientific computers. If you are looking for a personal computer, be sure to look carefully at Ohio Scientific. We think you will find that we have the system for you.

Model 500 Board

A full 8K BASIC-in-ROM computer on a board. This unit contains a 6502 microprocessor with our powerful 8K BASIC-in-ROM, 4K of RAM memory, and a serial port which can be jumpered for 20ma current loop or RS-232. The board can be plugged into any standard OSIbackplane and expanded by our full line of accessory boards. The user must simply supply -i-5Vand -9V power and the serial terminal to be up and running in BASIC. $298.00

Super Kit

An ideal starter computer system. The Super Kit includes a Model 500 CPU Board with 8K BASIC in ROM, CPU, and 4Kof RAM, full buffering for expansion, an eight-slot backplane board, and a Model 440 Video I/O Board. Model 440 provides full CRT functions when connected to a video monitor or modified television set and a standard ASCII keyboard. The user must simply provide +5V and -9V power, an ASCII keyboard, and a modified television set or monitor to have a full computer system with BK BASIC-inROM, 4K user space and a CRT terminal with scrolling. $398.00

Challenger n Disk Systems

Challenger n-P

Our very popular fully packaged BASIC-in-ROM computer. Challenger IIP contains the Model 500 CPU Board with 4K of RAM, our new 540 32x64 character video display, keyboard and complete audio cassette interface. The unit also has internal power supplies and a four-slot backplane with two open slots for expansion. The user has only to connect a monitor or modified television set to its output, and he is ready to program in BASIC. To store programs and data files, he needs only to connect a conventional audio cassette recorder to the built-in audio cassette interface. The unit is fully assembled and ready to go. $598.00

1333 S. Chillicothe Rd. • Aurora, OH 44202 (216) 562-3101

The ultimate in personal computing offered by Ohio Scientific is the Challenger II system with single- or dualdrive full-sized floppy disk. Each floppy stores 250,000 characters. The Challenger II is available as a video system with keyboard so that all the user needs is a television or monitor for operation; or as a serial version where the user must supply his own terminal. Challenger II disk systems automatically load in BASIC and now have an extensive library of high-performance programs. The programs are ideal for the advanced hobbyist, educational users, industrial development and small business applications. Challenger II disk systems are very economical. For instance, a 16K disk system with 250,000 bytes of disk storage starts at under $2000.00

For more information contact an Ohio Scientific dealer or send $1 for our 64-page buyers' guide.

BYTE April 1978 37

The Challenger m

System

When considering cost effective computers for small business applications, the prospective buyer really has only a few choices: Ohio Sclentific's factory-assembled fully integrated computer systems, or the multitude of "pot-luck" 100 systems.

First consider the 100 system. It is a computer system defined as a collection of S-100 components. It is offered by computer stores and systems houses who mix CPU boards, memory boards, cases, mini-floppies, full-size floppies and numerous software packages from many different vendors. In many cases the components even vary from system to system. Unfortunately, what is often used in a computer system is simply what the computer dealer has on hand at the moment. This may include off-brand or obsolete boards, among other things.

The end user of these pot-luck 100 systems may experience dissatisfaction with the system. First of all, all S-100 products are NOT compatible with each other, as is commonly assumed. The same is true for hardware products, and most certainly for software products. So although the user may be able to get one or more software packages from the dealer along with the computer system, it can be a battle from there on converting software to run on his computer.

The second problem Is service. If the customer moves or the dealer goes out of business, the customer is out of luck because virtually no one will service computer systems of mixed origin. The computer system might even have been built from kits since most S-100 manufacturers offer their products in kit form. Several charge outrageous prices for assembled products. And then there is future expansion — this can be difficult because all S-100 products are not created equal or compatible!

We could go on with this horror story, but let us take a more positive approach and look at the other alternative — the factory-integrated computer system. Ohio Scientific manufactures a full line of computers and accessories which are not compatible with S-100 equipment, but are fully compatible with our full line of expansion accessories. All of our systems-level equipment has always been available only in fully assembled form. When you buy an OSI small business system from a dealer, you are assured of buying a standard computer system that was factory assembled and tested. You can be assured of getting service from any of Ohio Scientific's dealers and direct from the factory, now and in the future, whether you stay in your present location or move across the country.

A standardized system means standard software. You can order any of Ohio Scientific's library of diskettes, put them in your disk drive, and your system will perform immediately. And you can make use of our large dealer-generated software library which runs on all Ohio Scientific disk systems. Finally, regardless of the possible pitfalls with other computer systems, Ohio Scientific's Challenger II and Challenger III business systems stand on their own, based on ultra-high performance and impressive performance/cost ratio. Look carefully at the specifications of the Challenger III system on the following page. Compare the advantages of a factory-integrated and supported computer system with those of a computer system of mixed origin. We think you will agree Ohio Scientific is the only sensible choice in cost-effective small business computing.

• Designed for small business computing.

• Uses ttie 510 triple processor CPU Board, runs 6502, 6800, 8080 and Z-80 programs.

• Available witli up to 1 Megabyte of RAM memory; high reliability static RAM is standard; low-cost dynamic RAM is optional.

• Single- or dual-drive floppy disks store 250,000 characters per surface — 3 to 4 times the storage of minifloppies.

• Supports our ultra-fast 6-digit BASIC (see "BASIC Timing Comparisons," Kilobaud, Oct. 1977, p. 23, where Ohio Scientific out-benchmarl<s all of our competitors) and our new super-fast 9-digit business BASIC.

• Powerful operating systems support all standard I/O ports including multiple terminals, line printers, video display and disl<.

• Disk supports: sequential, random and index sequential files.

• Applications software, including:

WP-1, a powerful disk-based Word Processor.

DMS, a unique data-base management system which supports continuous disk addressing of up to 250,000 characters per file.

Complete business packages including Accounts Receivable, Accounts Payable, Ledger, Payroll, Inventory and Taxes.

• Two factory-supported terminal options and two factorysupported line-printer options.

• Optional 74-Megabyte hard disk for $6000. Reel-to-reel mag tape coming soon.

• Optional 16-user operating system with time share and distributed processing capabilities.

• Optional rack mounting and rack enclosures.

• Leasing programs and maintenance contracts available through many dealers. Optional nationwide field service coming soon.

•Challenger III systems have extremely high performance-to-cost ratios. For example, a system complete with triple processor CPU, 32K bytes of static RAM, a serial I/O port, dual drive floppy disks (500K bytes of online storage), fully assembled, plus DOS, BASIC and a demonstration program library costs $3481 fully assembled.

• The same system complete with a deluxe upper-lower case x-y addressable CRT terminal, 65-line-a-minute tractor feed line printer and an applications software library sells for about $6000, or rents for a little over $200 a month on a three-year lease!

DEALERS

The Abacus

Niles Ra

Berrien Springs, Ml 49103 (lilG) 429-303')

Amstican Microprocessors

Equipment & Supply Corp. 20 N Milwaukee Ave Priiiieview IL 60059 |312)G34-0076

Compuler Marl ol New York

118 Madison Ave New York. NY lOOIO (?I3)G86 7923

Camputor Power

? 0 Box ?8193 Siiii Diego. CA92l?8 (714) 746-0064

Computer Shop (Aitcom)

288 Noflolk SI CamDiiOge MA 02139 |617| 661-2670

REPRESENTATIVES

Delaware Microsystems

92 E Mam Si «1 Newark DE 19711 (3021 738-3700

Abacuz Data

PO I

. 276

Inc.

Great Laltes Pholo,

bOOl EaMman Rd Midland. Ml 48640 IS171 631-13451

H/D Computers

217 Easi Mam Si Chailoliesville VA 22903 l804| 2S6-1976

Mlcrocomp

PO 80x 1221

Fond'Du Lac, Wl 54935

1414) 922 251b

Microcomputer Workshop

234 Tennyson Terr Wiltiamsville. NY 14221 (716) 632-8270

Micro Camputer World

313 Michigan N E Grand Rapids Mi 49503 (616I-I51-8972

Small Computer Systems

■1450 Trinily Avenue Salt Lake Cily UT 84120 (801| 967-7635

Oil Citv- PA 16301 Associates Consultants

33 Ogden Ave

Easl Willision. fJY 11596

(516) 746 1079

BRAG Microcomputers

19 CamDndge Si

Rochester NY 14607

(7161442-5861

Byte Shop

2432 Chester Lane

Columbus. OH 43221

(614) 4BG-7761

Computer Business

PO Bo* 171

LaPorle. IN 46350

(219) 352-5812

Custom Computer Systems,

1823 Lowry Ave . Norlh

Minneapolis. MN 55411

16121 588-3944

Johnson Computer

PO Bo» 523

Medina OH 44256

(216) 725-4560

Omega Computing. Ltd.

Box 220 Siaiion P

ToionlD, Oni M5S 2S7

1416) 425-9200

Pan Allanlic Computer Systems. GmbH

51 Darmstadt Frankluriersnasse 78 West Germany (081021 3206 Secom Systems 541 1 New Peach Tree Hd Chamblee, GA 30341 (404) 934-3272 Small Computer Systems 3140 Wailalae Ave Honolulu, HI 96816 (808) 732 5246

Systems Engineering Enlerprises

Suiie 307

1749 Rockville Pike Rockvilie MR20B52 (301) 468-1822 Tek-Aids, inc. Inc 1513 Cram Si ■ Evanslon, IL 6020? (3121 328-0110 Total Data Systems 125 Fairway Lane Fotl Collins CO 80521 (303) 482-6215 Tricomp. Inc. 18 Alameda Square Denver CO 80223 13031 935-1100 Yingco. Inc. 2 World Trade Cnii Penthouse 107th Floor New York. NY 10048 (212) 775 1184

For more information contact an Ohio Scientific dealer or the factory. Be sure to specify your interest in business systems.

1333 S. Chillicothe Rd. • Aurora, OH 44202 (216) 562-3101

BYTEAprin978 39

optimization: A Case Study

Whatever size computer one works with, there is usually pressure to make it perform a given task in less time or less memory. "Optimization" techniques are methods for accomplishing such speed or memory improvements. Usually the most effective changes to a program are "algorithmic changes," changes to the strategy the program uses to get its result. An algorithmic change can reduce the time a program takes to run by 50 to 90 percent. For example, using the well-known quicksort or heapsort instead of a bubble sort to sort long lists can have this effect.

Sometimes, however, significant results can be achieved by "coding changes," in which the modified program does essentially the same thing as the previous version, but in a better way. Most compilers perform optimizations of this type, such as keeping in a register any expression whose value is used more than once, rather than recomputing it whenever it is needed. Coding changes often exploit simple mathematical or logical identities.

This article follows through the step-bystep processes used to reduce by about 25 percent the time and space taken by a small subroutine. The example subroutine is the "Novel 8 Bit Multiplication" by Christopher D Glaeser (July 1977 BYTE, page 142), which is reproduced in listing 1.

Coding changes are not effective, at reducing the time taken by a program unless they are applied to the most heavily used parts of the program. If some part only accounts for 2 percent of the time used by the program, no optimizations applied only to this part can speed up the program by

William B Noyce 31 Cathy St Merrimack NH 03054

more than 2 percent. Usually, the most heavily used parts of a program are inside commonly used subroutines or deeply nested loops.

The 8 instruction loop starting at LOOP in listing 1 accounts for about 80 percent of the time in the multiply subroutine. The loop works by testing, from right to left, bits of the number passed in C, and adding the number passed in D to the appropriate position on the partial product. The number whose bits are tested is called the multiplier, and the number that is added is called the multiplicand. The partial product is kept in HL, because it accumulates a 16 bit sum. Since the multiplicand needs to shift left, it is kept in DE, and the XCHG instruction moves it into HL to be shifted. If we can eliminate the need to shift the multiplicand we can save the XCHG instructions and a little setup code.

The original loop computes:

2°Pn + 2^1 + 2^Po + 2^Pt + 2**?^ + S^Pc + 2^Pe + 2^P-,

where Pj = the multiplicand if bit i of the multiplier is 1, or 0 if the bit is 0. This expression is equivalent, by the distributive law, to:

( ( (P7'2 + Pg) •2 + P5)

• 2 + P4) • 2 + P3) • 2 + Pj) • 2 + P^) • 2 + Pq.

About the Author

Author William B Noyce is 23 years old. For four and a half years he has worked as a systems programmer for the Dartmouth Time Sharing System, and Is currently a Software Engineer at Digital Equipment Corp. A t home he has an 8080 based microcomputer on which he hopes to develop a high level language compiler and a powerful graphics system.

40

April 1978 © BYTE Publicalioni Inc

,^ ^ ^ ^ — • V • • to •

The Computer for the Professional

Whether you are a manager, scientist, educator, lawyer, accountant or medical professional, the System 8813 will make you more productive in your profession. It can keep track of your receivables, project future sales, evaluate investment opportunities, or collect data in the laboratory.

Use the System 8813 to develop reports, analyze and store lists and schedules, or to teach others about computers.

It is easily used by novices and experts alike.

Reliable hardware and sophisticated software make this system a useful tool. Several software packages are included with the machine: an advanced disk operating system supporting a powerful BASIC language interpreter, easy to use text editor, assembler and other system utilities. Prices for complete systems start at $3250.

See it at your local computer store or contact us at 460 Ward Dr., Santa Barbara, CA 93111, (805) 967-0468.

PolyMorphic Systems

BYTE April 1978 41

LOC 03J SEQ SOUQCE STATE^E^JI

1 ; PRESEBUES O.E/H,L. ! 1

; ORIGINAL PROGRAM 3V

C hRISTOPMER 0 GLAESER

I. 5

; eOPTRIGHT 1977 BY BrTP PUBLICATIONS* INC.

6 7

; 27 BYTES/ A30UT 512

C YCLES.

0000

05

9

MULT 1 :

PUSH 0

; SAVE REGISTERS

nool

E5

10

PUSH H

oooj

5A

11

NOU E.D

; MOVE MULTIPLICAND TO

DE (LOWER)

000^

i6aj

1?

PIVI 0.0

; AND CLEAR DE tUPPER)

0005

6A

15

KOV L.O

; CLEAR PRODUCT AREA

0006

ti

1 4

MOV H/D

0007

06uo

15

MWl 3,a

; LOOP COUNTER

000?

79

16

MOV A/C

; PUT MULTIPLIER WHERE

IT CAN SHIf T

17

OOOA

IF

15

LOOPl :

R AR

; TEST NEXT MULTIPLIER

BIT

0005

dfJO

19

JNC SK1P1

OOOE

19

20

DAO 0

; ADO "ULTIPLICANO

OOOF

Ed

21

SKIPI :

XCHG

; SWAP DE WITH HL

0010

29

22

DAD H

; SHIFT MULTIPLICAND LEFT

0011

Ed

2J

XCHG

; SWAP BACK

nou

05

2'

OCR 3

oon

C2UA0Q

25

JNZ LOOPl

; REPEAT 6 TIMES

26

0014

1.1.

27

MOV 3/H

; MOVE PRODUCT TO BC

001'

i.a

28

MOV C*L

0018

El

29

POP H

; RESTORE REGISTERS

0019

01

30

POP D

001A

C9

31

RET

; RETURN

32

3J

I EJECT

Listing J: The starting point for this case study in optimization is a routine by Christopher D Glaeser, which appeared in July 1977 BYTE on page 142. This listing reproduces Christopher's multiplication algorithm, which takes 27 bytes of memory and about 512 cycles of the processor clock.

SOURCE STATEMENT

3A

; MULTIPLY C

BY 0.

GIVI^G BC.

35

; PRESERVES

D.E.H.

L .

36

37

; SHIFT

PRODUCT INSTEAD

OF MULTIPLICAND,

38

; SHIFT

MULTIPLIER

LEFT

INSTEAD OF RIGHT.

39

40 tl

; 25 BYTES.

AB OUT

448 CYCLES.

42

nni3

05

43

HULT2:

PUSH

0

; SAVE REGISTERS

ooic

E5

44

PUSH

M

001D

5A

45

MOV

E . 0

; MOVE MULTIPLICAND TO

OOIE

1 6 jO

46

MVI

0.0

; AND CLEAR DE (UPPER)

0020

6A

47

NOV

L.D

; CLEAR PRODUCT AREA

no2i

62

48

MOV

H. 0

0022

06 08

49

nvi

3.8

; LOOP COUNTER

0024

7y

50

MOV

A. C

; PUT MULTIPLIER WHERE

00 25

2V

51 52

L00P2:

DAD

H

; SHIFT PRODUCT LEFT

0026

1 7

53

RAL

; TEST MEXT MULTIPLIER

00 27

02 2djJ

54

JNC

SK IP2

002A

1 y

55

DAD

0

; ADD MULTIPLICAND

0023

05

56

SKIP2:

OCR

3

002C

C22SJ0

57

J NZ

L00P2

; REPEAT 8 TIMES

58

002F

A4

59

MOV

a. H

; MOVE PRODUCT TO BC

00 30

60

MOV

C . L

00 31

El

61

POP

H

; RESTORE REGISTERS

00 32

Dl

62

POP

D

□ 0 33

CV

63

RET

; RETURN

64

65

I EJECT

Listing 2: By rearranging the code of the inner loop so that an equivalent operation is performed, some time can be saved. This (for an 8080) involves changing the order of shifting of the multiplier, and using a double precision addition operation as the equivalent of a shift. This modified routine takes 25 bytes and executes in about 448 cycles.

This latter expression shows how we can shift the product left after every addition except the last, if we always add the multiplicand into the lower byte. If we added the multiplicand into the upper byte, we could shift the product to the right after every addition, but the 8080 has no 16 bit right shift instruction. The change to shift the product left requires that we examine the leftmost multiplier bits first: the new inner loop appears in listing 2. Note that the product is shifted at the beginning of the loop; this is so it doesn't get shifted after the last time through.

Since the product is shifted left eight times, there is no need to clear its upper half initially with a MOV H, D instruction. Whatever garbage is in H will be shifted off and have no effect on the subroutine's result. But we can put these unused bits to work instead of wasting them. After n times through the loop there are S - /? bits remaining in the multiplier and 8 - n unused bits in H, since the partial product occupies only 8 + n bits. The product and multiplier can coexist peacefully in HL, and every time the product is shifted, a bit of the multiplier falls out into the carry. We can thus eliminate the RAL instruction which shifted multiplier bits into the carry. The new subroutine appears in listing 3.

Where else can we save time or space? The user of the original subroutine obviously didn't care whether the input values of registers A and C were preserved, but we don't use them in the loop. We can save time and space by using these registers. Instead, program 3 uses B, D and E, and saves input values of D and E on the stack. Register pair DE was used as the multiplicand because we needed to use XCHG; DAD H; XCHG to shift it, but we no longer shift the multiplicand. Because we want our multiplicand in the lower byte of a register pair, we should use the number passed in C as the multiplicand and the number passed in D as the multiplier. This is legal because of the commutative law. Effectively, we save the MOV E, D which moves the multiplicand to the lower half of its register pair, and other instructions are changed. We can keep the loop counter in A, which is no longer needed for the multiplier. Now the subroutine no longer modifies D or E, so the PUSH D and POP D instructions may be deleted. The savings in stack space may or may not be important, depending on other parts of the program in which the subroutine appears, but there is a significant saving in time and program size. The final version of the subroutine appears in listing 4. It is 20 bytes

42 April 1978 © BYTE Publications Inc

5Mhz D-32 Dynamic Memory Board

The D-32 is the fastest S-100 memory board available.

Highest Speed

The D-32's high speed is based upon precise control of timing and conservative design. It operates in S-100 bus systems with cycle timing independent of the bus.

Memory cycle timing is derived from a precision digital delay line, which is four times more accurate than other techniques. Power consumption is minimized by the performance of dynamic refresh cycles only when required and by timing them with a 35khz oscillator. During normal program execution, refresh cycles occur following instruction fetch (Ml) cycles, and are fully transparent.

Maximum Reliability

The D-32 is as reliable as static memory boards, since close attention has been paid to the proper engineering discipline to maximize reliability. These details include: the use of molded ceramic bypass capacitors for superior noise immunity, l<eeping trace lines to the edge connector to a minimum to suppress noise spikes on the bus, precisely-controlled timing and a multi-layer PC board with internal power and ground planes for superior noise immunity.

Expandability

The D-32 has a fully-transparent, dynamic refresh. Each 4096 byte block is addressable at any 4K page boundary. Extended address selection allows expandability to one megabyte co-resident in the system.

REFWESM CYCLES OCCUR TRANSPAflENTLY FOULOWINQ Ml CYCLE READ ONLY WHEN REOUtREO 8Y INTERNAL REFRESH TIMING CIRCUIT. ACCESS TIME TA = 280 nsac FROM PSYNC1MAX]

MEMORY TIMING IS PRECISELY CONTROLLED USINflA TAPPED 250 ni DIGITAL DELAY LINE. TIMING SHOWN ISFOR TDL> ZPU-2 RUNNING AT 4inhi ( T-CYCLE ^ 290ni) MEMORY WRITE CYCLES ARE INITIATED BY THE LEADIM EDGE OF MWRITE PULSE.

MEMORY READ CYCLES BEGIN AT THE LEA0JN6 EDGE OF PSYNC (OR P SYNC • I) WHEN BHEUft")..

Main Features

• immediately available, fully

assembled and tested

• static board reliability

• 32K byte memory

• fastest S-100 board available

• independently addressable

4-K blocks

• extended address selection for

expansion to one megabyte

• 5 megahertz typical performance,

4 megahertz worst-case

• cycle timing independent

of S-100 bus

• precision digital delay line

for highest speed

• fully-transparent dynamic refresh

• lowest power consumption

• internal ground plane to increase

noise immunity

• S-100 compatible

Immediate Availability

The D-32 is immediately available at more than 125 TDL dealers nationwide. They will show you this fully-assembled, tested and burned in D-32. If your dealer doesn't carry TDL hardware/software products, write or call:

Sales Department • Technical Design Labs Inc. Building H-1101 Stale Road • Princeton. N.J. 08540 609-921-0321

Cable Address: XITAN PRIN ■ TWX 570-685-9280

TECHNICAL DESIGN LABS

Circle 111 on inquiry card.

BYTE April 1978 43

LOC OdJ

SOURCE STATEMENT

-•MULTIPLY C BY ; PRESERVES 5*E

GI UIN G BC.

Listing 3: Having made the modifications of listing 2, the upper half of the HL register pair can initially contain arbitrary data. By actually using the most significant bits of HL, the product and multiplier can both be kept In this one register in a new version of the routine which takes 23 bytes and about 411 clock cycles.

0Q3i Di

0035 E5

00S6 5a

005? loOO

00 V> 6A

005A 61

0031 06UO

0030 29

003E Il^<.<f00

00 41 19

0042 05

0043 C2iuOJ

0046 44

0047 40 00 48 El 0049 01 0n4A C9

KEEP MULTIPLIER AND PRODUCT TOGETHER IN HL. 23 BYTES» ABOUT 411 CYCLES.

72 73 74 75 76

84 SKIP5:

83 89 90 91 92 95

PUSH

1 D

; SAVE REGISTERS

PUSH

1 H

E ^ D

; MOVE MULTIPLICAND TO DE (LOWER)

V.Ml

0>0

; AND CLEAR DE (UPPER)

rov

0

; CLEAR LOU PRODUCT AREA

MOV

H, C

; HOVE MULTIPLIER TO HIGH PRDDUCT AREA

MVI

5^8

; LOOP COUNTER

DAO

H

; SHIFT MULTIPLIER AND PRODUCT LEFT

JNC

SK IP3

; TEST A MUL TIPL lER BIT

DAD

D

; ADD MULTIPLICAND

DCR

3

JNZ

LOOPS

; REPEAT ft TI1ES

wov

B, H

; MOVE PRODUCT TO 8C

MOV

L

POP

H

; RESTORE REGISTERS

POP

D

RFT

; RETURN

LOC OHJ

SOURCE STATEMENT

Listing 4: By doing "the great register shuffle," further improvement can be accomplished by passing parameters in registers. This version chips away at time requirements and requires only 385 cycles, with 20 bytes of code.

94

; MULTIPLY C

BY 0*

G 1 V I ^G BC .

95

; PRESERVES

0 # E#H,

L .

96

97

; THE GREAT

REGISTER SHLFFLE, MULTIPLICAND IS IN BC/

98

; MULTIPLIES

! I N H/

AND

LOOP COUNTER IN A. DE IS NOT USED.

99

1 00

; 20 BYTES/

fl B OUT

385 C

YC L E S .

1 01

1 02

004%

E5

105

MULT4: PUSH

1 H

; SAVE REGISTERS

004C

0600

104

MVl

3.0

; CLEAR MULTIPLICAND HIGH BYTE

004E

6<i

105

HOV

L>e

; CLEAR PRODUCT LOW BYTE

004r

62

106

KOV

H> 0

; MOVE MULTIPLIER TO HIGH PRODUCT AREA

0050

3tO<>

107

f VI

A/8

; LOOP COUNTER

108

00 52

29

1 09

L0np4: OAD

H

; SHIFT MULTIPLIER AND PRODUCT LEFT

00 53

025/ja

110

J NC

SK IP4

; TEST A MULTIPLIER BIT

0056

09

1 11

OAO

3

; ADO MULTIPLICAND

00 57

30

112

SKIP4: OCR

A

0058

C2 5230

1 1 3 1 1 4

J NZ

L00P4

; REPEAT 8 TIMES

OOSB

44

1 1 5

MOV

3 / H

; MOVE PRODUCT TO BC

00 5C

40

116

KOV

C / L

CO 50

E1

1 1 7

POP

H

; RESTORE REGISTERS

00 5E

CV

118

RFT

; RETURN

1 19

1 20

$ EJECT

SOURCE STATEMENT

Listing 5: After virtually exhausting straightforward Improvements of the looping methods, the only further improvements possible come from unrolling the loop Into larger amounts of program memory. This version partially unrolls the multiplication loop, takes 28 bytes of memory and about 325 cycles.

1 21

; MUL T I PL Y C

: BY 0/

G IV I NG 8 C .

1 22

; PRESERVES

D / E/H/L

1 23

1 24

; LOOP

IS PARTIALLY

UNB CLLED.

125

1 26

; 28 BYTFS/

ABOUT 325 C YCLFS.

1 27

1 28

005F

Eb

1 29

MULT5:

PUSH H

; SAVE REGISTERS

0060

06Q(J

1 30

MVI

1.0

; CLEAR MULTIPLICAND HIGH BYTE

0062

68

1 51

MOV

L . B

; CLEAR PRODUCT LOW BYTE

0065

62

1 52

MOV

H. D

; MOVE MULTIPLIER TO filGH PRODUCT AREA

0064

3EU4

1 53

MVI

A. 4

; LOOP COUNTER (HALF NORMAL SIZE)

1 34

0066

29

1 35

LOOPS:

DAD

H

; SHIFT MULTIPLIER AND PRODUCT LEFT

0067

D26OJ0

1 56

J NC

SKIPSA

; TEST A MULTIPLIER BIT

006*

09

1 57

OAD

3

; ADD MULTIPLICAND

006B

29

1 58

SKIP5A:

OAD

H

; — REPEAT LOOP AGAIN -

006C

D27UUU

1 39

JNC

SKIP5B

006F

09

1 40

OAD

9

0070

50

1 41

SKIP5e:

DCR

A

00 71

C2660U

142 143

JNZ

L 00P5

; REPEAT 4 TIMES

00 74

44

1 44

KOV

9.H

; MOVE PRODUCT TO BC

0075

40

145

MOV

C.L

00 76

E 1

1 46

POP

H

; RESTORE REGISTERS

0077

C9

147

RET

1 48

1 49

$ EJECT

44 April 1978 ® BYTE Publicalion! Inc

loc

SEQ

SOU<?CE STATEMENT

1 50

-•"ULTIPLT C

BY 0/ GIVING

1 51

; f<!eSERVES

D/E,H ,L .

1 52

1 5 S

; LOOP

IS fULLY UNROLLE D.

1 54

1 55

; 69 BYTES,

A3 OUT 258 CYCLES.

1 56

1 5 7

E>

1 53

«UL 16 :

PUSH H ;

SAVE REGISTERS

0079

1 59

MVI

3/0

CLEAR MULTIPLICAND HIGH 3YT

TP 7-3

1 60

MOV

1/8

CLEAR PRODUCT AREA LOW 3YTE

no 7c

id

1 61

HOV

H / D

MOVE MULTIPLIER TO PRODUCT

1 62

0070

29

1 65

DAD

H

SHIFT MULTIPLIER AND PRODUC

00 7E

1 64

J Nt

SK1P6A

TEST A 1UL TIPL IER 1T

009^

19

1 65

D AO

0

ADD MUL TI PL ICAND

008?

?9

1 66

SK I P6A

DAD

-- REPEAT LOOP 7 MORE TIMES

008!

eio7j0

1 67

JNC

S< IP6>^

0186

T 5

1 6f

OAO

D

009''

?9

1 69

S<IP63

DAD

008*

O^oC J J

1 70

J NC

SK I P6C

0089

19

1 71

OAO

D

nnflc

29

1 72

S<IP6C

DAD

H

00 ao

C2 y1jO

1 73

J NC

S< IP6D

009C

1 9

1 74

DAD

D

0091

29

1 75

SKIP6D

DAD

H

0"9?

P2V33J

1 76

JNC

SK IP6E

00 95

09

1 77

OAO

3

00 94

29

1 78

SKIP6E

D AO

H

00*»7

029:,33

1 79

JNC

SK IP6F

009*

09

110

DAO

3

0099

29

1 fi^

S-CI P6 F

D AO

H

009C

D2 AJJJ

1.12

J NC

SK rP6G

009F

Q9

1 d3

DAD

i

00«0

29

11t

SKIP6G

DAD

00 «l

D2A5JJ

1 85

JNC

SK IP6H

39

1 86

DAD

3

187

SKIP6H

-- END OF UNROLLED LOOP -

00*5

41.

1 88

MOV

3 / H

MOVE PRODUCT TO BC

"0*6

40

1 89

HOV

C /L

00*'

El

1 90

POP

H ;

RES TORE REG 1S TERS

"'1*3

Cv

1 91

RET

192

1 93

END

AREA HIGH BYTE

Listing 6: Perhaps the ultimate 8 by 8 bit multiply short of a memory Intensive full table lookup of answers Is this fully unrolled version which expands the memory requirements to 49 bytes, but cuts the time requirement to 258 cycles for nearly 50 percent savings relative to the time requirement of the original program.

long, compared with 27 for the original routine, and takes about 393 cycles, compared with about 525 cycles for the original routine. A million multiplications with a typical 8080 processor's clock would take about four minutes, 20 seconds with the old version and about three minutes, 15 seconds with the new.

If this isn't fast enough, we can speed up the routine still further, by "unrolling" the loop, replicating its instructions as shown in listings 5 and 6. This eliminates some or all of the time taken by the DCR A and JNZ LOOP instructions which control the looping. In listing 5 the loop control is only executed four times instead of eight, and in listing 6 there is no loop control at all. These speedup techniques cost memory, however, and tend to make the code more confusing. It is common to have to trade memory for speed, and which is more important depends on the particular program. With the long program, our million multiplications would take only about two minutes, 13 seconds, just over half as long as the original program."

Now...learn

computer programming faster & easier with

HEATH'S BASIC PROGRAMMING COURSE! ^

This self-instruction course uses proven programmed instruction methods to teach you BASIC... the most popular and widely used higher level programming language. With the help of this course, you'll learn all the formats, commands, statements and procedures... then go on to actually apply them with "hands on" experiments and program demonstrations on your own or any available computer. And unlike other courses or books on BASIC, we teach you problem solving as well as programming so you can apply what you learn. Self-evaluation quizzes and exams guarantee that you understand every detail and when you finish, you may take an optional examination to qualify for a Certificate of Achievement and 3.0 Continuing Education Units (CEU's), a widely recognized means of participating in non-credit adult education. MONEY-BACK GUARANTEE: If for any reason you are dissatisfied, Heath Company will refund the full purchase price of the course.

Schlumberger

HEATH CO., Dept. 334-401 Benlon Harbor, Ml 49022

YES Please send me your EC-1100 BASIC Programming Self-Instructional Course.

My □ check □ Money order for $ is

enclosed. Or please charge to my □ VISA/ BankAmericard □ Master Charge

Account #

Exp. Date

-M.C. Code #_

Signature

(necessary to send merchandise)

(please print)

ADDRESS

CITY

STATE.

_Z1P_

ORDER TODAY - PRICE GUARANTEED THROUGH APRIL 25,1978 ONLY!

Price is mail order F.O.B. Benton Harbor, Ml. Price subject to change without notice.

Circle 53 on inquiry card. April 1978©byte Pubiicaiions inc 45

Hand Assembling M6800 Relative Addresses

Ray Boaz

1516 JarvisPI

San Jose CA 95118

M6800 BRANCH ADDRESS CALCULATOR TABLE

WISH -B

F

E

D

C

B

A

9

8

LSH -B

LSH

F

16

32

48

64

80

96

112

0

F

1

17

33

49

65

81

97

113

1

E

2

IB

34

50

66

82

98

114

2

D

3

19

35

51

67

83

99

115

3

C

4

20

36

52

68

84

100

116

4

B

5

21

37

53

69

85

101

117

5

A

6

22

38

54

70

86

102

118

6

9

7

23

39

55

71

87

103

119

7

8

8

24

40

56

72

88

104

120

8

7

9

25

41

57

73

89

105

121

9

6

10

26

42

58

74

90

106

122

A

5

11

27

43

59

75

91

107

123

B

4

12

28

44

60

76

92

108

124

C

3

13

29

45

61

77

93

109

125

D

2

14

30

46

62

78

94

110

126

E

1

15

31

47

63

79

95

111

127

F

0

16

32

48

64

80

96

112

0

1

2

3

4

5

6

7

WISH

F

1. Count the number of bytes (in decimal) from tlie instruction following the branch to the branch target instruction.

2. Find this number inside the table.

3. Read the hexadecimal equivalent.

a. Top and left for branching backward.

b. Bottom and right for branching forward.

The "hand assembler" is the only resident assembler many of us have, and as such it is the means to an end in homebrew computing. However, this is really the way to learn your computer's instruction set. In March 1976 BYTE Carl Helmers pointed out the big problem of calculating the relative address for branching used in M6800 microcomputer systems. This problem is real and anyone using the M6800 runs into it when hand assembling a program.

The range of branch instructions for the IVI6800 is 125 bytes before the value of the program counter (PC) to 127 bytes after the value of the program counter. Using the instruction following the branch instruction as the starting point, count the number of bytes, in decimal, forward or backward, to the instruction being branched to. Find this decimal number inside the table. Read the hexadecimal equivalent at the top and left side for branching backward, or at the bottom and right side for branching forward. This hexadecimal equivalent is the branch operand, which in this case is the value added to the program counter.

This technique is much easier and faster than either adding and subtracting in hexadecimal, or counting forward and backward in hexadecimal. A few examples are back 4-]Q bytes = FC15, forward 42iq bytes = 2A-15, and back 110-| q bytes = 92i 5."

ATTENTION COMMODORE PET USERS! Low Cost Financial Software on Compatible Cassette Tapes for your PET Computers. Samples from our program library Include: MORTGAGE $15.95 Calculates mortgage data, e.g., principal paid to date, outstanding principal, mortgage equity, interest paid to date, outstanding interest, and more. ANNUAL REPORT ANALYZER (Manual) $22.95 With annual report in hand, you input 5 yrs revenues and income; program computes: Percentage growth in sales, profits, earnings per share; PE ratio; Profit margins; Current ratio; Book value; Return on equity; Payout ratio; Dividend yield; Theoretical value for stock & PE ratio; Implied yield & growth rate; more. STOCK ANALYZER (Automatic Data Entry) $34.95 Same as Annual Report Analyzer except data is auto

matically entered from Data Base tapes simply by entering ticker symbols.

DATA BASE (Updated monthly) $1 50.00 Per Year

Statistical data on over 2,500 Industrial Stocks on the New York, American and Over the Counter Exchanges. OPTIONS $24.95 For both option buyers and writers, program computes the theoretical value of an option with graphics.

Pursuant to Rule 206(4)-l(A)(3) of the Securities and Exchange Commission, it should be noted that the above mentioned programs should not in and of themselves be utilized in making investment decisions. The scope and usefulness of the above programs are limited, with values in some cases being purely theoretical.

SEND FOR FREE BROCHURE NATIONAL CORPORATE SCIENCES, INC. (Registered Investment Advisors ■ Our 10th Year) 790 MADISON AVENUE NEW YORK, N.Y. 10021

46 April 1978 © BYTE Publications Inc

Circle 130 on inquiry card.

VI & ¥11

are finalln released!

Volume VI

Yes and it still contains what was previously advertised. A fully disk interactive business package with A/R, Inv., A/P, ledgers, tax totals, payroll records, more.

As a bonus it also contains the Users Manual for our Firmware Ledger package. These 100 extra pages contain report formats, file creation routines and our very powerful program ACBS1 used to create the powerful file structured data base.

$49.95

Volume VII

Here is that Chess program you have been waiting for as well as a disk interactive Medical Billing package with patient history file.

Also included is our disk interactive Word

Processing package

(revision 0). // .

'5/

/$39.95

a, - V /

Add $1.50/Vol. for U.P.S, Foreign orders add $8/Vol orders over $50.

and handling except to APO and PO addresses.

. for air sfiipment — US dollars only. No purcfiase

Soon To Be Released—Vo\ (Includes Federal Income Tax

. VIII-Homeowners Programs Program)

VOLUME

1 —

$24.95

VOLUME

II —

24.95

VOLUME

III —

39.95

VOLUME

IV

9.95

VOLUME

V —

9.95

OUR SOFTWARE IS COPYRIGHTED AND MAY NOT BE REPRODUCED OR SOLD.

Due to the numerous copyright violations on our earlier volumes — until further notice we are offering a REWARD leading to the arrest and conviction of anyone reproducing our software in ANY way without our written permission. This includes diskettes, paper and magnetic tape, cassettes, records, paper copies, etc.

SCIENTIFIC RESEARCH

220-B Knollwood 4 / Key Biscayne, FL 33149

Phone orders 800-327-6543 /'/^^ Information 305-361-1153

AVAILABLE AT MOST COMPUTER STORES

10% discount on purchases of entire set. Offer expires December 30, 1977

honored

BYTE April 1978 47

Collector's item

The first 16 issues of BYTE — September, 1975 through December, 1976 — in two gold embossed hard cover volumes.

$100

complete set — two volumes

00

These individually numbered sets are personally signed by Cad T. Helmers, Jr., Editor-inChief of BYTE.

As only 100 sets will be offered for sale, orders will be handled strictly on a first-come first-served basis. Send in the coupon today! These early issues of BYTE are packed with articles by your favorite writers:

Helmers, Fylstra, Ryland, Dittrich, Chamberlin, Lancaster, Maurer, and many more.

For your personalized set of BYTE's first 16 issues mail this coupon today!

Carl T. Helmers, Jr.,

Edxtor-inpChiej, BYTE Magazine

Yes, rush me my numbered and personalized 2-volume set of the first 16 issues of BYTE.

Card Number

Signature

Address

City

□ Check enclosed for $100.00 □ Bill BankAmericard/Visa □ Bill Master Charge Expiration Date

Name (please print)

State ■

Zip •

Mail to: BYTE Publications, Inc. 70 Main Street * Peterborough

N.H. 03458

48 ApriM978®BYTE Publications Inc

Photo 1: A view of the complete TRS-80 computer with the Radio Shac/i supplied video monitor and audio cassette recorder,

supplied courtesy of Radio Shack. Priced at $599.95 for a 4 K byte version, this personal computer includes a BASIC interpreter and cassette interface software in 4 K bytes of read only memory. This is a BASIC only machine. The user cannot gain access to the machine language of the Z-80 processor which runs the BASIC Interpreter.

The Radio Shack TRS-80: An Owner's Report

On August 3 1977, the Radio Shack division of Tandy Corporation announced its entry into the personal computing marl<et

with the TRS-80 microcomputer. The move held special significance for the personal computing industry, for with parent company

sales of nearly a billion dollars and over 6000 retail stores including 500 overseas, Radio Shack is in a unique position to help bring personal computers to the average man or woman.

The TRS-80 is an "appliance" computer, preassembled and warrantied with a built-in BASIC language interpreter, and at a price of under $600 it will be affordable by many new personal computing enthusiasts. But $600 still represents a major investment for most of us, and it's desirable to know as much as possible about the detailed specifi

cations of a computer before buying one. If you're contemplating purchase of one of the "appliance" computers now on the market, this review should be helpful to you in making your evaluation.

I ordered a TRS-80 the day after Radio Shack's press announcement, and hence 1 received one of the early units without a complete user's manual or any technical information on the TRS-80's provisions for expansion. Radio Shack has announced plans to introduce several significant hardware and software extensions to the basic TRS-80, some of which may become available before this article appears in print. As you read this, bear in mind that it was written in late October 1977, based on the somewhat limited information available at that time.

Dan Fylstra 22WeitzSt#3 Boston MA 02134

Photography by Dan Comly

April 1978 © BYTE Publications Inc 49

Photo 2: This back view of the TRS-80 processor unit shows the three 5 pin DIN type connectors used to attach the power supply, video monitor and cassette recorder. DiN connectors are commonly used In the audio component field, and are available at most Radio Shack retail outlets. If the complete system of photo 1 is purchased, all necessary cables are supplied

General Specifications

Photo 1 illustrates the complete TRS-80 package, consisting of the keyboard which houses the microcomputer and memory, a video monitor, an audio cassette recorder and a power supply. The keyboard unit measures 16.5 by 8 by 3.5 inches (41.9 by 20.3 by 8.9 cm) and is very portable. The entire package including the video monitor and cassette recorder is a lot to carry, but I did take the entire computer with me on one half mile walk from the Boston home of Radio Shack to my apartment.

The components of the TRS-80 are easily plugged together using standard 5 pin DIN type audio connectors and cords which are supplied with the complete package. Jacks for the powder supply, video monitor and cassette recorder are mounted on the back side of the keyboard unit, as illustrated in photo 2. For the experimenter, the DIN type plugs and jacks are available (you guessed it) as a stock item in most Radio Shack stores.

The video monitor and cassette recorder are standard items, and if you already own one or both of these you can probably use them with the TRS-80 to save on your investment. I actually bought only the keyboard unit for $400 and attached it to a Radio Shack CTR-35 cassette recorder which I already owned, and a Hitachi TV set modified for direct video entry using the Pickles & Trout kit. My home setup is shown in photo 3. The cassette recorder you use should have "earphone" and "auxiliary input" jacks and a "remote" jack for starting and stopping the cassette drive motor. The connection cords for the cassette recorder are supplied with the keyboard unit. The video monitor or TV set should accept a direct video signal

(EIA standard, 75 ohm input) rather than a radio frequency (RF) signal generated by a modulator in order to provide the bandwidth required for the TRS-80's display. For the prospective buyer who doesn't already own this sort of equipment or who doesn't possess the special skills needed to modify a TV set, the complete TRS-80 package includes the video monitor and cassette recorder.

Inside the TRS-80's keyboard unit are 4 K bytes of read only memory containing Radio Shack's Level I BASIC interpreter as well as software to control the cassette recorder and display screen, and 4 K bytes of programmable memory which holds the user's BASIC program. The eight integrated circuit chips inside the unit which provide the 4 K bytes of programmable memory can be replaced by higher density memory chips to provide 8 K or 16 K bytes of memory inside the basic keyboard unit. Similarly, the two chips which provide 4 K bytes of read only memory can be replaced by higher density chips to provide 8 K or 12 K bytes of read only memory, enough to hold a much more powerful BASIC language interpreter and disk operating system which are said to be planned for later introduction.

Radio Shack has priced separately every component and memory option in the TRS-80 system. The microcomputer with keyboard and 4 K bytes of user memory is $399.95; the video monitor is priced at $199.95; and the CTR-41 cassette recorder is $49.95. These components can be purchased as a complete package deal for $599.95. An additional 4 K bytes of programmable memory for a total capacity of 8 K is priced at $99.95, while an additional 12 K bytes of memory for a total capacity

50

April 1978 ® BYTE Publications Inc

of 16 K is priced at $289.95. For planning purposes it is important to note that tinere is no "trade-in allowance" on ttie lower density memory chips if the user decides to expand to the higher density chips. Thus it would not make sense to order the TRS-80 now with 8 K bytes of memory if the owner later intended to expand to 16 K bytes (which will probably be necessary to support the future disk operating system) since the total outlay for 16 K bytes of memory would then be $389.90.

BASIC programs in memory are stored in character form rather than encoded form, but abbreviations for most of the BASIC keywords are provided to save space. Thus you can write P. instead of PRINT and G. instead of GOTO, and thereby save a considerable amount of memory space since these keywords occur so frequently in a large program.

The TRS-80 is based on the Z-80 microprocessor, but this fact is really only important from the standpoint of designing and implementing the computer's read only memory software. At present the TRS-80 user is "insulated" from the hazards (and

pleasures) of programming the Z-80 directly, since the BASIC interpreter is automatically activated when power is turned on, and there is no way at present to drop into machine language.

Display Screen

The TRS-80 includes a 12 inch (30.5 cm) black and white, high resolution video monitor which presents 1024 characters, arranged in 16 lines of 64characters each. (The display is said to be "software selectable" for 32 or 64 characters per line, but no documentation is available at this writing on how the selection is made.) The display is memory mapped (ie: continuously read out of a section of programmable memory separate from the BASIC program and data memory), and is easily controlled from BASIC for both alphabetic and graphic displays.

Built-in software provides an underline cursor and automatic scrolling from the bottom of the display. The keyboard includes four keys to move the cursor in any direction, but present software supports only the "cursor left" key which deletes the character

Photo 3: The author's home setup showing the TRS-80 processor unit with its keyboard, connected to an ordinary Hitachi television set modified for direct video entry using a lilt from Pickles & Trout, POB 2276, Goleta CA 93018. This setup permits conventional program reception on the television and saves about $100 over the price of the complete Radio Shack system; but it requires some electronics sl^ili in order to modify the television set. Use of this television set and modification kit is further described in the article "Convert Your TV Set to a Video Monitor" which will appear In a forthcoming Issue of BYTE.

April 1978 © BYTE Publications Inc 51

>iaF»¥4|1Q3|

mm wo

)9ilfXrY

>€i FOR Y>a TO 27 >7tR)l*^lTQSI

>aifiESEr <xrY)

>«lfXTX

>i»!fxrt

Photo 4: An Illustration of the use of the TRS-80's graphics capabilities. The BASIC program shown on the screen created the square and cutout by using the SET and RESET statements to turn points on and off. This Illustrates the arbitrary way In which text and graphics can be Interspersed on the display.

or characters just entered on the current line. (The cursor can be moved to arbitrary positions under BASIC program control, as described below.) The "cursor |4p" key Is used to continue a line by line listing of a program which has already filled the display screen. Another key is provided to clear the screen.

Character Set and Graphics

The TRS-80's character set consists of 58 characters including upper case alphabetic and various numeric and special characters. In addition, each character position on the screen is divided into six tiny squares, two across and three down, and each of these squares can be set on (white) or off (black) under program control. Thus graphic displays with a resolution of 128 by 48 points can be created on the screen.

The BASIC language features for controlling the graphic display are especially convenient. A point can be turned on with a statement of the form SET (X,Y), where X ranges from 0 to 127 and Y ranges from 0 to 47, or turned off with the statement RESET (X,Y). The function POINT (X,Y) can be used in an IF statement to determine whether a particular point on the display is currently on or off. Besides the graphic point addressing, the 1024 character positions on the screen are numbered sequentially from left to right, line by line, and the cursor can be set to an arbitrary position with a statement such as PRINT AT Z,

"EXAMPLE MESSAGE", A+B, where Z varies between 0 and 1023. Thus displayed messages, which can be interspersed with graphics, are easily placed at any position on the screen. Finally, the CLS statement in BASIC can be used to clear the screen.

Photo 4 provides a simple illustration of the use of the TRS-80's graphics capabilities. The BASIC program shown on the screen created the graphic display by first filling in a solid square with the SET statement, and they blanking out the inner square cutout with the RESET statement. A variety of simple pictures could be drawn in this manner. The TRS-80's graphics features are especially convenient for plotting data or mathematical functions, due to the ability to address single points on the display.

Keyboard

The TRS-80's keyboard includes 53 keys with the standard spacing and arrangement

used on a typewriter keyboard. It is wellsuited for touch typing and will be quite familiar to the experienced user of the Teletype terminals found on timesharing systems and minicomputers. The keys are of the mechanical contact type, and they have a reasonably good "feel" and seem quite reliable in use. A BASIC program can read numeric quantities and character strings from the keyboard with the INPUT statement, which allows a message to be displayed at the same time, as in INPUT "ENTER STARTING VALUE"p<.

S2

April 1978 ® BYTE Publications Inc

Finally, the macro maker of computer printers has gone micro. With a high-speed, desk-top, non-impact printer complete with parallel interface (Model P-1) tha^s perfect for the home, hobby and small business user. A complete 80-column printer for less than $600.

The new Centronics microprinter is big on performance. It prints clean, clear dot matrix characters at a rate of 150 lines per minute. Yet it's quiet, compact, comes fully warranted and is backed by Centronics' worldwide service. If s even available in a serial interface version (Model S-1) for remote applications.

Of course, buying your small systems printer from the industry's leading producer of printers is simply a better buy. You get the security, support and systems flexibility only Centronics can bring. Plus the targeted technology that brings out the best in any computer.

So when you think small printers, think big. Think Centronics. For more information, just clip and mail the coupon below.

I ■ 1

I Centronics Data Computer Corp. i

I Hudson, NH 03051 |

Gentlemen: Tell me more about yournew microprinters.

I Name i

I Address |

I Town . I

I State Zip -. I

I B-4-78_|

CEnTRDniC5®PRinTER5 Simply Better

Circle 21 on inquiry card.

BYTE April 1978 53

Table J: A brief summary of the features and performance of Radio Stiacli Levei I BASIC, as available In the TRS-80.

Data Types

Real numbers (eg;

A) and two string variables (A$ and B$), each up to

16 characters long.

Arrays

One array variable, A (subscript), with

one dimension. The array is as

large as the entire

memory remaining, after allowing for the program

and ordinary variables.

Precision

Six significant digits for real numbers.

C rl

Executes the loop 10 FOR 1=1 TO 10000, 20 NEXT 1 in about 22 seconds.

Statements

LET

GOTO

n civi

BEAD

IF ... THEN

RUN

DATA

FOR ...TO ...

STEP CONT

RESTORE

NEXT

NEW

PRINT

GOSUB

LIST

INPUT

RETURN

ON ... GOTO

DIM ... CjiUoUB

STOP

END

Operators

+

< >

< =

*

> =

/

<

>

Riiilt-in

ABS

MEM

Piinpf innc

INT

TAB

RND

Other

CLOAD

CLS

PRINT AT

Features

CSAVE

SET

INPUT*

RESET

PRINT*

POINT

Cassette Drive

The cassette drive interface can be used witli any reasonably good audio cassette recorder, as outlined above. Data is recorded at a rate of about 250 bits per second. The recording method is designed to be reliable but does not employ any data redundancy or error correction capability. At first I had some trouble recording and playing back programs, but my results improved considerably when I set the tone control to zero. Like most cassette interface systems, the TRS-80 can get hung up searching for a signal on the tape that it never finds. A reset button near the expansion connector can be used to halt the cassette loading process, but afterwards memory may contain some "garbage" from the partially loaded program.

A problem frequently encountered when using audio cassette recorders with personal computers is that when a long program recorded on cassette is being read into memory, you don't know whether the computer is reading properly or has been unable to find the recorded program. The TRS-80 lets you know what's happening while a cassette is being read by flashing two asterisks on the screen when a program is found, and alternating between one and two asterisks while the program is being read. The TRS-80

also starts and stops the cassette drive motor automatically through the "remote" jack, but this means that you must remove the "remote" plug in order to manually rewind or fast forward the tape. This inconvenience is a necessary consequence of using a separate, standard audio cassette recorder without a manual motor control override implemented through operating system software.

Operating System

The TRS-80's operating system controls the cassette interface in response to commands and BASIC language statements. You simply type CSAVE to write the BASIC program currently in memory onto a cassette, and CLOAD to reload it later. The saved programs are not named and the CLOAD command will always load the next program it finds on the tape, but you can save several programs on the same cassette and find them later by writing down the settings of the tape index counter on a piece of paper. Also provided are PRINT# and INPUT# statements in BASIC which let you write and reread the values of program variables on cassette. Although Radio Shack plans to offer a second cassette interface, the syntax of the PRINT* and INPUT*

54 April 1978 © BYTE Publications Inc

Circle 131 on inquiry card.

Statements does not provide for references to different cassette units, so use of a second cassette drive will probably depend on support from "Level H" BASIC, which Radio Shack is said to be I'eadying for future release.

Radio Shack Level I BASIC

Table 1 summarizes the features and performance of the Level I BASIC interpreter built into the TRS-80. The BASIC language features provided are somewhat limited, as might be expected in view of the fact that the BASIC interpreter and operating system fit in only 4 K bytes of read only memory. 26 possible variables can consist of one letter, but not a letter followed by a digit. Two string variables, A$ and B$, are provided and can be used in INPUT, PRINT and assignment statements, but string values cannot be compared. One singly dimensioned array variable, A(subscript), is provided, and all memory space remaining after the BASIC program and ordinary variables are allocated to this array. Each element of the array, a real number of up to six significant digits, takes four bytes of memory. Users requiring multiple arrays such as B(l) and C(J) must simulate by writing, for example, A(!) and A(10+J). iVlultiple dimensions may be simulated with expressions such as A(I+10*(J-1)), so having one array is obviously better than having none at all. Addition, subtraction, multiplication and division are provided but exponentiation is omitted, since this would require the EXP and LOG functions for exponentiation of real numbers.

Presumably Radio Shack's Level II BASIC, said to be due for release in early 1978 according to current expectations, will include a much more comprehensive set of BASIC language features. In the meantime, Level I BASIC can be used effectively for many computer games and for business applications with straightforward arithmetic calculations such as payroll (see below). But you can't plot a sine wave unless you write your own sine calculation subroutine.

Expansion

Radio Shack has announced plans to offer a Variety of expansion options for the TRS-80, but very little detailed information on them is available at the time of this writing. Photo 5 shows the expansion port built into the TRS-80 which reaches the outside world through a small flip-up opening in the case. This 40 pin card edge connector no doubt includes the address and data bus, input, output, read, write, interrupt and interrupt acknowledge signals from the Z-80 microprocessor. A cable can be run

TRS-80

SOFTWARE EXCHANGE

SOLICITING:

User prepared software in RS Basic Level I or II READY to LOAD.

Topics-Any that you feel would be of interest to

others.

COMPENSATION:

In descending order ol preference, and generosity and ascending order of quality standards applied services, or comissions, or cash.

APPLICATIONS:

Accepted programs are catalogued and grouped in logical categories into volumes (60 minute tapes) for loan.

MECHANIC OF SERVICE:

Volumes will be LENT for 3 week periods (including time in the mails).

Deposit $20 for each volume borrowed. Deposit refunded, less any late charges when cassette is returned.

Usage Fee of $3 (not refunded) for each volume

borrowed.

Sample catalog of software upon request. Catalog subscription $3 per year.

Write

TRS-80 SOFTWARE EXCHANGE 17 Briar Cliff Drive Milford, N. H. 03055

16K RAM

FULLY STATIC INTRODUCTORY KIT PRICE

$450

10 SLOT MAINFRAME TT-10. . .KIT S325 I 0 SLOT TABLE TOP MICROCOMPUTERS TT-8080. . KIT $440 SYSTEM WITH I6K & I/O TT-8080-S. . .KIT SI 050

CARD CAGE & MOTHER BOARD ECT-100. . .KITS100 CCMB-10. . .KIT $75 WITH CONNECTORS a GUIDES ECT-100-F. . .KITSZOO CCMB-10-F. . KIT $125

CPU'S, MEMORY MOTHER BOARDS PROTOTYPING BOARDS EXTENDER CARDS POWER SUPPLIES

SHIPPING EXTRA

DEALER INQUIRIES INVITED

FACTORY ADDRESS; 763 RAMSEY AVENUE HILLSIDE, N. J. 07205

MAILING ADDRESS: P. O. BOX 6 UNION, N. J. 07083

.1 I I I I I I I I I I

(201) 686-8080

Circle 43 on inquiry card.

April 1978 © BYTE Publications Inc

Photo 5: The TRS-80's expansion port, a 40 pin card edge connector wtiicli includes the address, data and control buses. This connector reaches the outside world through this flip-up opening on the back of the processor's case.

from this connector through various peripherals and a memory expansion unit. In all probability Radio Shack will use a daisy chaining arrangement which permits a single cable to be run from device to device. (Each device in the daisy chain would either accept an 10 request or interrupt acknowledge signal, or pass the signal on to the next device.)

Peripherals for the TRS-80 currently

foreseen by Radio Shack include a second audio cassette recorder interface, a printer

Hiy«Y YOI ROi IS 4 1

n

II

•1

II

II

II

II

II

■1

■I

=1 a I?

4 5 5

Photo 6: The display created by Radio Shack's backgammon game program, which Is included free with every TRS-80 computer. This demonstration program acts as the dice roller and scorekeeper for the game, but makes no attempt to replace the two human players.

reliable enough for business applications for about $1500, a smaller printer for less demanding individual applications for about $700, and a floppy disk drive also for about $700. Other planned options include a memory expansion unit and a modem to connect the TRS-80 to a timesharing or data communications system. Perhaps most significantly, however. Radio Shack has announced plans to offer an interface to the Altair (S-100) bus, which would provide access to the many memory and peripheral cards offered at competitive prices by other manufacturers.

Software

When the TRS-80 was announced, Radio Shack also introduced five small application software packages on cassette, all of which are designed to run on the basic TRS-80 with 4 K bytes of programmable memory. The first of these is a pair of game programs for blackjack and backgammon, which is included free with every TRS-80 computer. The display produced by the backgammon program is shown in photo 6. The program rolls the dice and maintains the board for two players, but does not provide for a 1 person game against the computer.

Other applications include a "kitchen" package which is said to provide menus, conversion tables, a directory and message center for $4.95; a "personal finance" package, apparently for checkbook balancing, for $14.95 including seven cassettes; an "education" package which provides drills in addition, subtraction and multiplication for $19.95 including three cassettes and a teacher's guide; and a "payroll" package for $19.95. The payroll package, which has been demonstrated to

56 April 1978 © BYTE Publications Inc

The Central Data 2650: Reliable and Affordable

The Central Data 2650 Computer Board system has been carefully designed and built with you in mind. We've also designed software and memory to go with the 2650 so that you'll have a complete system. You deserve quality equipment, and we've built it for you. Take a look at the 2650 board features and see for yourself.

• a 2650 microprocessor

• an 80 character by 16 line display a 300 Baud cassette interface a powerful IK Supervisor Program one parallel input port and one bit settable output port

• 2048 bytes of read-write memory for the video display and your programs

• expands to S-100 bus

• low price of $275

The 2650 board comes assembled, tested and ready to plug in and comes with a full one year guarantee. The price includes a Signetics 2650 Microprocessor Manual and a Computer System Manual from Central Data.

We offer the Editor/Assembler and 8K Basic software packages for the 2650 system, and our S-100 24K memory board allows full expansion of the system. (16K and 32K memory boards are also available.) Each software package costs only $20. The 24K memory board is $395. All software comes with a program listing.

With all these features you can't afford to pass up the Central Data 2650 system.

'HI,!! Rli I

j.HiUUI 111! II l{ WW mi

.ui 11 nil 11 liiiifH \\\\ \im

•;i Him 11 iuiu 111' nu^wi

Central data

P.O. Box 2484, Station A Champaign, IL 61820 (217) 359-8010

Please send me the following:

□ 2650 computer system board ($275)

□ 16K RAM ($289)

□ 24K RAM ($395)

□ 32K RAM ($475)

□ Editor/Assembler ($20)

□ Basic ($20)

□ Additional information

I enclose $

111. residents add 5% sales tax.

Name _ Address City

State Zip _

Central Data • P.O. Box 2484, Sta. A • Champaign, 111. 61820 1

BYTE April 1978 57

Circle 20 on inquiry card.

many interested businesspeople at trade shows, seems to require most of the 4 K

memory for the program and handles just 15 employees on the basic TRS-80, but will handle 100 employees with 8 K of memory, and 300 employees with 16 K.

BASIC programs potentially useful with the TRS-80 can also be found in a number of books. Users will have to modify any such programs to fit the features of Radio Shack's Level I BASIC. In particular, variable names will have to be renamed and array references may have to be modified. And of course the total number of variable names used must be kept within Level I BASIC'S limits. But this may still be easier than writing the programs from scratch.

Additional application packages are said to be planned for future release. The larger applications will probably require extended BASIC and a floppy disk. Also said to be in the works are an assembler, text editor, disk operating system and possibly compilers for other programming languages. It is not clear whether all this software will be developed in-house or will be obtained from outside sources. Some software undoubtedly will be developed by Tandy Advanced Products, another division of Tandy Corporation; Radio Shack also is thought to be negotiating with other software developers. In any case an enormous amount of effort will have to be invested in the development of this software.

Overall it seems that Radio Shack is aiming its application software and peripheral support primarily at the small business market, although applications for education, entertainment and home use are also clearly contemplated. Many related services, such as custom tailoring of application software and training of clerical staffs, will be required to meet the needs of small businesses, and perhaps knowledgeable hobbyists and small systems developers will be able to fill this need.

Availability and Delivery

When first announced, the TRS-80 was difficult to obtain like almost every personal computer. I ordered one on August 4 1977 and picked it up at my local Radio Shack store on October 11. The delay would have been even longer but for the special efforts of the store manager, Steve Lambert, who called me when another customer cancelled his order for a unit that had arrived at the store. In time, however, the TRS-80 should be among the most widely available personal computers, due to Radio Shack's widespread retail distribution and considerable manufacturing capacity.

58 April 197g © BYTE PuUiutions Inc

At present you can order the TRS-80 at any Radio Shack store by placing a deposit

of $100, which can be charged to a major bank credit card. The units generally are not stocked at the stores, although this is planned as the supply permits. When ordered the unit is delivered to the local store from Radio Shack headquarters in Fort Worth TX, where the TRS-80 is produced, with a planned order to delivery cycle of 30 days. Some stores have a demonstration unit on display. [We recently saw one for example, at the Radio Shack store in Keene NH, not exactly America's biggest town ... CW]

A major problem for Radio Shack is the education of store managers who will have to answer questions from customers on the TRS-80. The managers of the first 1 GO stores to receive the computer were flown to Fort Worth for a special training session, and this sort of training effort may well be necessary in the future. But with Radio Shack's profit incentives for store managers, it is a safe bet to predict that the TRS-80 will be effectively merchandised.

Warranty and Service

Service has always been a problem in the personal computer industry, and because of the complexity of the product and the possibility that the user will misinterpret some peculiar but correct action of the computer as a failure, service is likely to be a problem for Radio Shack as well. In anticipation of possible servicing problems, Radio Shack apparently has tried to make the TRS-80 as foolproof as possible. The inability of the user to drop into machine language is a good example of this approach. Similarly, the plastic case of the keyboard unit is sealed, and the warranty is voided if the user opens the case.

The user can return the unit to a local Radio Shack store, which will ship the unit to a service center and receive it and notify the user when the repairs are complete. Initially all servicing will be done in Fort Worth, but it is planned that regional service centers will handle the TRS-80 eventually. This servicing practice also applies to the removal and insertion of memory chips when the user wants to upgrade to a larger (8 K or 16 K) memory.

Conclusion

Like other "appliance" computers now on the market, the TRS-80 brings the personal computer a good deal closer to the average consumer. It is as easy to plug In and turn on as a TV set or a stereo system, and should be usable for a wide variety of Interesting games, calculations and educa

The AJ 841 I/O. A completely refurbished IBM Selectric Terminal with built-in ASCII interface. Just ^995.

FEATURES:

• ASCII code.

• 14,9 characters per second printout.

• Special introductory price —$995 (regularly $1,195) 75% discount from original price of new unit.

• Parallel Interface [requires paralle port for I/O transnnission]

• Order direct from factory

• Documentation included.

Reliable, heavy duty Selectric mechanism.

Off-line use as typewriter

• 30-day warranty — parts and labor

• fHigh quality Selectric printing.

AJ 841 WARRANTY AND SERVICE IS AVAILABLE IN THE FOLLOWING CITIES:

Los Angeles/Cincinnati Philadelphia / Detroit Hockensack/Dallas Columbus / Houston Cleveland / Atlanta San Jose/Chicago Boston/New York Washington, D.C.

For further information coll (408) 263-8520

ANDERSON JACOBSON

Anderson Jaeobson, Inb.. §21 Charcot Avenue San Jose, California 95131

HOW TO ORDER AN AJ 841 I/O TERMINAL

1. Make cashier's check or money order payable to:

ANDERSON JACOBSON, INC. Address your request to:

Personal Computer Terminal

ANDERSON JACOBSON, INC.

521 Charcot Avenue

San Jose, CA 95131

2. Upon written notification, pick up your terminal at the AJ service office located In one of ttie above cities. Allow six to eight weeks for delivery

3. A final checi< of your unit will be made at the local AJ service office at time of pickup.

4. For warranty or repair service, return unit to designated service location.

5. Available in U.S. only

CLIP AND MAIL WITH ORDER

SELECT EITHER; □ EBCD keyboard □ Correspondence keyboard Number of units @ $995 each $

Sales tax at delivery location S

Shipping end handling $35

each (excluding San Jose) $

TOIAL $

NAME

ADDRESSCITY

-STATE

-ZIP.

PHONE (

Circle 3 on inquiry card.

BYTE April 1978 59

tional drills. With a floppy disk and a printer it should be suitable for some business applications. Its BASIC language is somewhat limited at present, but this should be remedied when Radio Shack Level II BASIC is finally available.

The TRS-80 is not the only alternative for the aspiring personal computer user, but it is a strong contender. If you are

thinking about a purchase, compare its features against other offerings along all

dimensions, including capabilities, software, warranty and service, and expansion possibilities. Talk to owners of the TRS-80 and other personal computers, and think about what you intend to do with your own computer. I hope that this review article will help you in your evaluation."

Chapter 4

Arc I hcrf More Slars or Grains of Sand?

In Ihis nKUln-maluiil wurld wi' ari' l.li.ssi'il with very larn.'a

nf yhn- and l«lli<inlhs of llirisc' lo fn,,,- Willi all Lh.s. yi,

l lu' nuniln'r 5 million I ri.OOO.tHHll. fm . saiiipl.', can In' wri nuiiiliiT fi followcil liy MX /iTii^ "

Millions poi„.|il,al of hail,I.

if an answer coiiics oiil "rilvOd"'. Ilial in is i\o iiiiisl sliifl llii- doiinial iioiiil. wliicli is

after Ihf 5. six plaies lo llie lefl, insnrlinj; heroes as iictt'ssary. IVtliiiK-ally, it means 5 X 10 '^. or 5 milliniillis, I yHtlAH'iil ll's really pretty filinple once yiui net the hang of it, and a lot easier to keep trai k of nuniiiers without losing the deeimal point. Since the Computer insists on using it with very large soul very small numhers. we can just as well get in the good haliit, too.

Or technically, S«10<, whldl Is 5 times ten to Ibe

sixth power:

5'19'19*l(l*19*m*l? Now you can see the value of scientific notation!

In our BASIC, that's 5/I«/I»/l«/l«/l«/lt

EXERCISE 4-1: If one million oars ilrove ten tlloLisand miles in a eerlam year, how many miles did they drive altogether that year? Write and run a simple program whieh will give the answer.

Didn't forget the 021133 did yea? Up tUl now we've been remlmfing you that you have to enter etch Une or cenunand — but from now oil, well assume ydii've got that little routine matter dinra pat.

EXERCISE 4-2: Changes lines 29 anti 39 In the Car Miles Solution program (trom Exercise 4-11 lo express tile iiumhers w ritten there in expotiential nbtatttin, or SSN (Standtfrd Scientific Notationl. Then KL'N it.

A Last Minute Note

As this article was being prepared, we received a copy of the Radio Shack User's Manual For Level 1. The manual Is 232 yes long with a GBC binding and is Tftten by Dr David A Lien of San Diego ^A. A note from the author states its •purpose as a tutorial:

. . . This book is written specifically for people who don't know anything about computers, and who don't want to be dazzled by fancy footwork from someone who does. It is written to teach you how to use your Radio Shack TRS-80 and start you on a fast track to becoming a competent pro

and unfair, conventional and unconventional, flamboyant and ridiculous technique I could think of was used. I want you to have fun with your computer! I don't want you to bfe afraid of it, because there is nothing to fear....

The basic layout of the manual is illustrated by the reproduction of page 23 above. It features a wide page format with details on the lefthand side of the page, and points of emphasis (sometimes including cartoons) represented as screened boxes of text on the righthand side of each page. On a basis of first impressions, Dr Lien has completed an excellent tutorial presentation

The PerSci generation of Diskette Mass Storage Systems Smarter, Faster, Smaller.

A new generation of advances in diskette drive technology comes together in PerSci Mass Storage Systems, the first disl^ette subsystems to provide large storage capacity, intelligence and high speed in as little as 434" of space.

Two Times The Capacity...

New PerSci developments in large disk voice coil technology reduced to floppy disk applications make possible data densities as high as V2 Mbyte per diskette side —up to 2 Mbytes in a two drive system. When JBM data format compatibility is required, PerSci Systems will store )4 Mbyte per drive.

Microprocessor Intelligence...

PerSci's highly intelligent microprocessor based controllers, either single or double density versions, include the PerSci File Management Firmware. Under controller direction, the PerSci Mass Storage Systems are capable of performing many functions normally requiring CPU time and memory, including formatting, editing, reinitializing, automatic file and full diskette copy.

7 Times The Speed...

The unique voice coil positioning system of PerSci diskette drives allows PerSci systems to access data as much as 7 tiities faster than competitive systems. A random average seek is only 33 ms, as fast as many large disk systems.

In Half The Space.

PerSci Systems, one or two drive models, can be configured for mounting in a 19" rack or for table top operation. When maximum capacity in minimum space is called for, PerSci offers the "Slimline" system, only 4>2" wide. A single or double density controller can be mounted in the standard system chassis or in the host.

Interfaces to major microcomputers are available and an RS232 serial interface is optional.

Get all the most recent engineering advances in one smarter, faster, smaller system at competitive prices from ■ PerSci, Inc., 12210 Nebraska Avenue, W. Los Angeles, Calif. 90025. (213) 820-3764.

PerSci

Peripherals a Generation Ahead.

circle 87 on Inquiry card.

BYTE April 1978 61

A Bug in the Clockwork

The collection of articles dealing with real time clocks published in the November 1977 BYTE was timely and Interesting. I found the approach of M F Smith (page 50) appealing in its simplicity. However there is an error in the listing given for the interrupt handling routine. The offset between the time values and the overflow values Is stated Incorrectly. Line 29 of the listing should be:

00029 A068 A1 08 CMP A 8,X CARRY?

Your decision to publish a group of articles dealing with a single subject In a particular Issue of BYTE is commendable, and I hope this practice will be continued. I certainly find it more stimulating to encounter a collection of related articles (even If they deal with a subject In which I am not particularly Interested) than to read just a single isolated article.

B W Bangerter, Research Associate Dept of Chemistry Harvard University 12 Oxford St Cambridge MA 021 38

since the correct Index register offset is

8, not 7 as given. With this correction,

Oops! You're right. Listing / is

the routine works well.

shown with the change in line 29 here:

PAGE

001 RAMTIME

00001

NAM

RAMTIME

00002

A04A

ORG

$A04A

00003

A04A 00

FCB

0

DUMMY LOCATION

00004

A04B 00

DAY

FCB

0

TIME IN PACKED BCD FORMAT

00005

A04C 00

HOUR

FCB

0

00006

A04D 00

MIN

FCB

0

00007

A04E 00

SEC

FCB

0

00008

A04F 00

SEC1

FCB

0

00009

A050 00

FCB

0

DUMMY LOCATION

00010

A061 00

WATCH

FOB

0

BINARY 'STOPWATCH' LOCATION

00011

00012

A052 99

FCB

$99 ,$99 ,$24,4

>60,$60

A053 99

A054 24

A05S 60

A056 60

00013

»

00014

A0B7 10

RATE

FCB

$10

•CLOCK RATE

00016

*

00016

'FOR DIFFERENT CLOCK RATES, CHANGE RATE

00017

•E.G., FOR 60 HZ CLOCK CHANGE TO $60

00018

•1-99 HZ ALLOWABLE CLOCK RATES

00019

00020

A058 CE A051

TIME

LD.X

#WATCH

TIME PROGRAM BEGINS HERE

00021

A05B 6C 00

INC

o.x

INCREMENT THE STOPWATCH

00022

A05D 09

DEX

DECREMENT TIME ADDRESSES

00023

A05E 6F 00

DINC

CLR

o.x

CLEAR ON CARRY

00024

A060 09

DEX

NEXT ADDRESS

00025

A061 86 01

LDA A

#1

DECIMAL INCREMENTATION/CARRY

00026

A063 AB 00

ADD A

o,x

00027

A065 19

DAA

HALF CARRY

00028

A066 A7 00

STA A

o,x

COMPLETE DECIMAL INC

00029

A068 A1 08

CMP A

8,X

CARRY?

00030

A06A 27 F2

BED

DINC

YES, CARRY

00031

00032

•••SGHEDULERIS) INSERTED HERE***

00033

00034

A06C 3B

RTI

RETURN TO PROGRAM

00035

00036

END

TOTAL ERRORS 00000

A Bug in the EROM

In table 1 of last month's Ciarcia's Circuit Cellar, "Program Your Next EROM in BASIC," (BYTE, March 1978, page 88), IC4 was incorrectly identified as a 7407; it should have been labeled

as 7406. Note 3 on the same page should read: "Note that IC4 is a 7406. A 7416 should not be used." Figure 1 correctly shows IC4 as a 7406 hex inverter gate. Thanks go to Tim Walters and the other readers who spotted this error."

39 GREAT LOCATIONS

CompulerLcMMl

NOW OPEN:

ALABAMA

Huntsville CALIFORNIA

Dublin

El Cerrito

Hayward

Inglewood

Mission Viejo

Mountain View

San Diego

San Francisco

San Jose

San Mateo

Santa Rosa

Thousand Oaks

Torrance

Justin

Walnut Creek COLORADO

Denver CONNECTICUT

Fairfield DELAWARE

Newark GEORGIA

Atlanta ILLINOIS

Arlington Heights

Niles

Oak Lawn KENTUCKY

Louisville MARYLAND

Rockville MICHIGAN

Kentwood

Southfield NEW HAMPSHIRE

Nashua NEW JERSEY

Cherry Hill

Morristown NEW YORK

Buffalo

Ithaca OHIO

Cleveland OREGON

Portland TEXAS

Austin

Houston WASHINGTON

Bellevue

Federal Way WASHINGTON, D.C. INTERNATIONAL

Sydney, NSW Australia

(205) 539-1200

(415) 828-8090 (415) 233-5010 (415) 538-8080 (213) 776-8080 (714) 770-0131

Call Information (714) 560-9912 (415) 546-1592

Call Information (415) 572-8080

Call Information (805) 495-3554

Call Information (714) 544-0542

Call Information

(303) 759-4685

(203) 374-2227

(302) 738-9656

(404) 953-0406

(312) 255-6488 (312) 967-1714

(312) 422-8080

(502) 425-8308

(301) 948-7676

(616) 942-2931

(313) 356-8111

(603) 889-5238

Call Information (201) 5394077

(716) 836-6511 (607) 277-4888

(216)461-1200

Call Information

(512) 452-5701 (713) 977-0909

Call Information

(206) 838-9363 Call Information

29-3763

62 Aprin 978 © BYTE Publications Inc

Circle 30 on inquiry card.

Rated

The Best Game in Town.

Welcome to ComputerLand. An incredible adventure into the world of personal computers. A one-of-a-kind shopping experience.

Each ComputerLand store presents everything you ever wanted to know about computers. And then some,

Take our Game Room, for starters. You'll find excitement for the whole family in our endless variety of challenging computer gomes. You can battle the Klingons in an out-of-this-world game of StarTrek. Create an electronic work of art with a computer controlled TV. Test your skill In a game of computerized hangman.

You can even plot your blorhythm.

But we're more than just fun and games Each ComputerLand store offers a knowledgeable and personable staff of professionals

And if your system breaks down, our in-store sewice department will get you back up and

running.

Right now!

Great Selection.

Your first stop at ComputerLand may well be your last stop.

ComputerLand offers the finest quality and

tc serve you, Plus the greatest available selection of micro components. Whether it's a data processing system for your business or a computer controlled sprinkler system for your home, you'll find whatever you need at ComputerLand

Read on.

Genuine Service.

We want to supply you with the one

system that's right. Rather than a complete system that isn't. Or a limited system that is.

That's why, at ComputerLand, you deal with real professionals who are also real people. People who speak your language ... in addition to BASIC, COBOL or FORTRAN.

People, in short, who can offer both the novice and the old hand the same expert guidance In selecting the optimum system he or she needs.

Yet, assisting in the purchase is only the beginning of ComputerLand's service. If the kit you bought requires a little more do-it-yourself than you yourself can do, we provide assembly assistance,

If that complex program proves to be just that, we provide

programming assistance.

largest selection of all the major brand names. Like Apple Computer, Cromemco, DEC, Diablo, Hazeltine, ICOIVl, IMSAI, LearSiegler, National Semiconductor, North Star, Texas Instruments, Vector Graphics and more.

Plus a complete inventory of tools, books and accessories.

What's more, at ComputerLand, we deal In product. Not promises. Our inventory is on our own shelves. Rather than the manufacturer's. So you can take delivery on tomorrow's components today. ________________________

Which means, simply put, that at ComputerLand, you get exactly what you wont.

Exactly when you want it.

Be Our Guest.

Begin with the grand tour of our exhibit areas, "Testdrive" any of our Individual systems.

Then tell us your needs. We'll sit down and talk about the system that's rightforyou. It's as easy as that at ComputerLand.

The great computer store. RATED G.

Call or write forthe address of the ComputerLand store nearest you. Franchise opportunities available.

CompulerLcind

14400 Catallna St.. San Leandro, OA 94577 (415) 895-9363

Circle 30 on inquiry card.

BYTE April 1978 63

One Step at a Time

I was glad to see S P Smith's article on sirnulation in November 1977 BYTE, page 18. That happens to be my specialty and an area that I feel has been neglected in - personal computing. I'm afraid Steve erred in his discussion of the numerical integration, though. Over a given step, the average speed is equal to half the sum of the initial and final speeds. In the example, the average speed is H( 100 + 99.16 ) = 99.58 meters per second. Thus the LEM will fall 9.958 meters in 0.1 seconds, and the new position will be 10000. -9.958 = 9990.042. Admittedly, the difference is small and if we take a small enough step size, it becomes negligible. However, steps of integration cost computer time, and if we're going to have a real time simulation, we need to get the most accurate Integration for a given step size that we can. Just for the record, there are many much more accurate algorithms for numerical integration. At work we use a second-order method for all real time work. It's hardly more complicated than Steve's (requiring saving only one back point) but about two orders of magnitude more accurate.

Dr Jack W Crenshaw 2114Cecille Dr SW Huntsvllle AL 35803"

Improving an Improvement

In the November 1977 BYTE an article called "An Improved Lunar Lander Algorithm" by Stephen P Smith (page 18) has one small bug In it. If the user is using an interactive terminal to input the values for vertical and horizontal thrust, a situation can arise where the LEM can gain mass. This is how: if the value for USR(1.) is zero, simulating free fall, and the value for USR (2.) Is negative; then the equation M=M-(A+B)*I*D results in IV1=M(0+{-B))*i*D=M+Bi'l*D. In order to avoid this situation, we suggest that your interactive users cliange the mass equation to M=M-(A+ABS(B))*|i'D. This new equation also prevents the case where the mass remains the same after a burn.

R Jovonovlch G Leenarmen Sperry Univac 2276 Highcrest Dr Roseville NM 55113B

Numb NIM

Re your November 1977 article, page 172, entitled "NIMBLE: The Ultimate NIM?": on page 177, In the last paragraph there appears to be an ob

vious mistake. Comparing the program logic with the statements In this last paragraph, there is a direct contradiction. I believe the second sentence of the paragraph should read "If it « equal to 0 there is no optimal move. . ." A/so the third sentence should read "If P Is not equal to 0..." I believe this was just an inadvertent juxtaposition of the two basic statements by the author.

Fletcher Thane Carson 1778 Ala Moana Blvd #1004 Honolulu HI 96815B

Checking Checks

On page 129 of January 1978 BYTE there are two errors in the BASIC listing of the checkbook balance report program. Line 1130 of the listing should be setting the FALSE flag to 0 instead of 1. The other problem Is the transaction loop at lines 610 to 630. This loop will not be exited until the ENDTR flag is set true. This state does not occur unless an end of file is encountered. Line 985 should read IF OLDDAY #DAY THEN LET ENDTR = TRUE. This will succeed in terminating the loop.

Thanks to both Don Walker and Jean-Yves Bernier for detecting these bugs."

• NOT A KIT

• 8v(?i15A, ±16v@3A power

• Rack mounfable

• 15 slot motherboard

• Card cage

• Fan, line cord, tuse, switchi, EMI filter

• Desk top version option

• 8v(n30A, ±16vji10A option

• SS-50 bus option

• voltage monitor option

Rock mounted model S200

«a^^H^^^^^HlH|l^^ top model ^^^^^■^■^ S235

Write or call for a copy of our detailed brochure which includes our application note BUILDING CHEAP COMPUTERS.

INrEGR4ND

8474 Ave 296 • Visalia, CA 93277 • (209) 733 9288 We accept BankAmericord/Visa and Master Ctiorge

The All New!

Personal & Small Business Computer

Plan To Exhibit

Expo South'

Plan To Attend

May 19-21,1978,Exposition Parle Orlando, Florida

For DetailsCaliOrWrite:

Felsburg Associates,inc.(30l)262-0305

P.O.BOX 735, Bowie.Md.. 20715

64 April 1978©BYTEPublicaiionsInc Circle 56 On inquiry card.

Circle 88 on inquiry card.

Mew!: l6l^aM32kIally statJiC: SAM';^/With^^ 250 ns. or 450m. : : >■ . typical access timer^A^sembled^^Xe^ed. 3uniied in. jGuardnteed. \ * Idkef OUT Ifik dyn]kmic RAM, Built jas solid as the 4;^40d.'ye9r-ord pyramids..

- Ancient Egyptians didn't stop ■ 'With just one pyramid, the Great Pyramid stands on the Plain of ^* Gizeh with two othfr monuments erected for kings and queens.«

Dynabyte didn't stop with one' 16k dynarnfc RAM, either, fiow -'J you can get 16k and 32k fully • static RAM's ttiat are built with the same unmatched caigine^i^ . ability and manufacturing'Skill that went into Egypt's wonders of the ancient world.

When We say binlt, we mean ■ completely built. Assembled, ' tested and burned in. We don't leave anything undone. That way, you can buy any I>/nabyte memory and know that it is backed by a factory guarantee for one full year. Kits and semi-kitS can't say that.

Our 16k static and our 32k static are available with either 250 ns. or 450 ns. access time. Our 250 ns. module is completely ccKmpatible with the 4MHz Z-80A processors. The 450 ns. modules are compatible with the 8080 and the faster 3MHz 8085 processors.

The Great 16k Static Nemoiy. 250ns., $555.450 ns.* $525.

• 4k block addres^g along 4k boundaries

;• 6ank Select " *

. • Write Protect with alarm for - ' each 4k block

• full Schmitt trigger bufferingN, ' *^ NoOMAHrestricttilinij " ^

. • Complete S-ltX) bus cdm' patibility, including the ^pha Micro and Z-2. . - ' " T1|«<lreat32K Static Menioiy. 2^1i8.t $995.450 ns., $925.

• 4k boundary addressing

• Full Schrrtitt trigger buffering

• NoDMAiifestrictions

W% Dynabyte doesn't build memory kits

Assembling a kit can be fun; almost anyone can do it.

But how about testing it? Do you have the test programs and equipment? Do you know which memory test program uncovers pattern sensitivity? Or which finds shorted data bits but won't find address decoder faults?

We do. It's our business. We have the 200 MHz oscilloscopes, the logic analyzers, the burn-in chambers, and the test programs. We find the bugs, even the subtle ones.

Which lets you concentrate on computing.

»■ • Con^rvative thermal design Complete S-100 compati. bility, including the Alpjia ^ Micro i^nd Z-2. .

Th6 Great 16k Dynamic ' Memory. $399.

• Highly cost effective " i'» hiowaitstates"

' • Transparent refresh

16k addressing boundaries

• Widest S-100 mainframe and disk system compatibility >

All of Dynabyte's memories meet rigid industrial gradestandards. Design,%ompdn€nts, construction, testing and performance. But if a module ever needs repair, we provide factory sendee with 24 hour turnaround for both warranty and non-warranty work.

Ask for the Great Memories by Dynabyte at your local computer store. You can also pick up complete product information while you're there.

But if you haven't got a local computer store, vwite Dynabyte, Inc., 4020 Fabian, Palo Alto, CA 94303. Or telephone (415) 494-7817.

Builders of Great Memories

Qjlgle 41 on inquiry card.

BYTE April 1978 65

The Brains of Men and Machines

Part 4: The Machinery of Emotion and Choice

Ernest W Kent, Associate Professor Dept of Psychology

The University of Illinois at Chicago Circle Chicago IL 60680

Note: 7776 terminology utilized In this article

was covered in detail in the first part of this 4 part series, which appeared on page 11, January 1978 BYTE.

In the preceding articles of this series (BYTE January, February and March 1978), we have examined the general organization of the brain, the nature of its components, the methods by which its general output strategies are converted into actual motions, and the ways in which its inputs are recoded as high level perceptual constructs. In this final article, we shall examine the central process in which the inputs are employed in the generation of output decisions.

There are two basic aspects to this process. One is the cognitive or rational aspect of brain operation, analogous to the ordinary logical processes of the computer in function, if not in detailed operation. The other - aspect is the motivational component, which defines the goals to be achieved. This term covers concepts such as emotions, drives, desires and the lil<e. In most standard computer situations, these goals are analogous to the purpose of a program, which is in turn implicit in its operation. They are rarely defined in terms of computer hardware. This means that one of the major differences between brains and present day computers is that brains determine their own behavioral directions or objectives, whether by prewired reflex or by learned processes, whereas computers are built to passively accept whatever purpose is inherent in the current program. As we shall see in the following discussion, there is no fundamental reason why a robot brain could not be built to

operate somewhat like a natural brain in this regard.

Taking the problem of motivation first, let us look at some of the terms that have been used to describe motivations, what motivations do for an organism, and what kinds of them there are. If we start with the notion that they are that general class of cerebral events which determines the objectives of behavior, a wide variety of things immediately come to mind; almost everything we do has some objective or purpose. There are however certain broad categories into which these many objectives can be grouped, and these categories can be further subdivided as well. This can be done in such a way that there is a match between the various categories, and some of the functional systems of the brain.

First of all, we might divide our motivations into the two categories of "seeking pleasure" and "avoiding pain." I know you will immediately think of many situations in which our behavior seems to have as its object things that may bring us pain, out of a sense of duty or altruism for example; but these are probably best considered as instances where the avoidance of duty or the failure to behave in a commendable manner would bring the greater displeasure. These types of motivation can then be seen as the pursuit of less direct goals such as self-esteem, and the avoidance of pains such as guilt, instead of the more obvious direct results of such behaviors. (This type of motivation involves learned processes, and we shall concern ourselves here with simpler types for purposes of illustrating the basic principles.) This division into pleasure seeking and pain avoiding motivational states reflects one of the brain's fundamental operating decisions. Brains evolved from the

66 April 1978 £l BYTE Publiutioni Inc

smartwareTM

distributed intelligence system

Power. Multiply the power of your personal computer with distributed processing. Peripheral and real time control functions can be handled by dedicated processors without tying up your central computer. Ideal for home control applications such as timing, security and energy management.

Hardware. Each smartwareTM system includes cabinet, power supply, real time clock/calendar with battery backup, 20 key keyboard, 8 digit LEO display, smartwareTM bus supervisor, and motherboard to accommodate up to 8 smartwareTM modules. ROM operating system controls keyboard and display for entering and reading parameters, programs and data on the other modules. $348.00

Central processor. General purpose 6502 processor with 4K RAM, IK PROIVI with bus I/O subroutines, 2K empty PROM sockets. Memory is expandable to 62K bytes. Use for your own dedicated applications or as general purpose number cruncher. $248.00

Real time controller. Dedicated processor with ROM software for analog and digital control of up to 1000 channels with yearly, monthly, weekly, daiV/ and hourly cycles. Minimum timing interval is 6 seconds. Use with control I/O modules. $298.00

AC communication processor. Provides bi-directional transfer of control and sensor information by imposing a modulated 50khz. carrier on the AC power line. Up to 255 remote |/0's can be addressed- by this module. Software provides handshaking and redundancy to assure error free operation. $248.00

Remote I/O module. Build your home monitoring and control system without the hassles of control wiring. Just plug the remote I/O module into an AC outlet nearest the application. Each unit has four 500 watt AC outlets, of which three can be switched on and off by the communication processor. The fourth outlet is an always on convenience outlet. The status of the three switchable outlets can be read from the central processor to verify operation. $148.00 Analog options: Temperature sensor input, includes sensor. add $38.00 Analog output, 0 to 5v. add $24.00

IEEE 488 interface. Control

your house while your PET is sleep*ing. Includes complete Instructions and software for using PET computer as a smart terminal. This board allows bi-directional communication between extemal IEEE 488 devices and internal smartwareTM modules.

$148.00

RS 232 serial interface. Connect a variety of terminals and modems to your system. Software selectable baud rates of 110, 300, 1200, and 2400. Double buffered for maximum throughput. $148.00

Temperature sensor module. Analog input for 16 IC temperature sensors, 255° F temperature range, I'F accuracy and 1''F resolution. $188.00 IC temperature sensor with 10 ft. cable, each, $12.00

Software support, includes complete, accurate documentation, full time user applications consultant to answer your questions, continual development of new applications programs, periodic software newsletter to keep you up to date on what we are doing, and custom software and system development services. Our goal is to make this the most powerful, reliable, and usable system you can buy. Call or write if you have any questions.

Coming soon, other smartwareTM modules being developed include direct control and analog I/O, software development modules such as PROM programmer and simulator, and controllers for floppy disks and printers. Write for information.

Quality. We realize that the comfort and security of your home require a reliable system designed to operate 24 hours a day. Each module is burned in and thoroughly testted and includes built in self diagnostic functions.

Guarantee. Your money will be cheerfully refunded if within 90 days you decide you are not satisfied with the performance of your system. One year warranty, parts and labor, for defects in hardware or software.

Prices include shipping.

Minnesota residents add 4% sales

tax.

automatic hardware co.

771 NE HARDING ST • MINNEAPOLIS, MN 55413 • (612)378-3715

le 8 on Inquiry card.

te.

BYTE April 1978 67

first as control systems for organisms with clearly defined biological needs to seek some types of things and to avoid others. All organisms with brains, however simple, seek to eat and to avoid being eaten.

To this end, the brain has evolved tv^o major functional systems, operating in synergy, which transform information on bodily needs and environmental events into levels of activation and'choices of behavioral options throughout the rest of the brain. It is an oversimplification to describe these strictly as "pleasure and pain systems," but such a description has considerable validity. In our laboratories at the University of Illinois at Chicago Circle, we are devoting most of our attention to studying the operation of these systems, in particular their goal directing functions, in the belief that this will reveal some of the most basic foundations of behavior, however far removed the behavior may be from the simple purposes around which these systems were initially developed. These goal directing systems are located largely in the regions of the brain called limbic system, hypothalamus and mesencephalon. Most of their detailed connections are of only marginal interest here, since a robot system will probably have very different motivational requirements than a biological organism. We shall concentrate instead on their functional roles and the details of their interactions with the other brain systems.

One of the further subdivisions of the motivational complement of all organisms is a rather loosely defined set of operating states called "drives." In general, this refers to states which we recognize by such names as hunger, thirst, sex drive, suffocation, pain (in the more specific sense of a particular bodily sensation) and a host of similar terms. These refer in most instances to need states of the organism, and are the most obvious sorts of goals which might direct and energize behavior in the rest of the brain. Two general classes of drives have emerged which are differentiated by their modes of operation, and which have a general applicability to robot systems as well. These classes are the "homeostatic" and "nonhomeostatic" systems. Homeostatic systems, of which hunger is the customary example, operate in such a way as to maintain a proper level of some important quantity or state in the organism. In the case of hunger, there is a system which monitors the level of energy reserves in the body's chemistry and translates this into altered states of activity in the brain when these levels fall critically low. The activation of this system changes the operational state of a variety of

68 April 1978 <D BYTE Publications Inc

other systems and thereby causes the oiganism to engage in behaviors which result in the acquisition and ingestion of food. Stimuli resulting from food intake in turn cancel the inputs to the hunger system, and the organism's behavior returns to other goals. The whole process could be likened to the operation of a thermostat in maintaining temperature. In its overall operation, it is basically a feedback mechanism.

Nonhomeostatic mechanisms do not operate under the control of such cyclically recurring needs, and do not function to maintain a particular control level of a quantity or process. In other ways, however, they are similar. An example is the response to pain. Here the motivational system operates only when, and if, certain external stimuli happen to occur. If the organism is unfortunate enough to encounter a painful set of circumstances, such as blundering into a patch of thorn bushes, systems which detect pain immediately assign the highest priority to behaviors which will remove the organism from the painful situation. This motivational state will persist until the immediate environmental stimuli are escaped or eliminated. Both types of drive mechanisms serve to direct behavior towards situations which will meet the organism's immediate needs.

It is obvious that efficient operation requires more than simply being programmed to consume food if we blunder into it when hungry. The organism must also respond, when hungry, to stimuli which signal the availability or direction and location of the food. Certainly when hungry we find the smell of food or the sight of food or even the sight of the restaurant pleasurable. In fact, however, even the taste of food is not the real object of the hunger drive. The joy produced by the taste of food when hungry serves as a stimulus to continue eating, but the object of the hunger drive state is repletion of energy levels, not the joy of eating. Nonetheless, the pleasure associated with stimuli which signal food, or the fear associated with stimuli that signal pain, serve to both energize and direct our behavior. Since we have assigned this function to motivational states, we must consider, these emotions to be part of motivation too. Emotions of course are recognized as powerful "motivations" in our daily experience, and they are intimately related to drive states in governing our behavior. It is important to distinguish between the operation of the brain's emotional systems with their effects on behavior, and the subjective experiences we usually call "emotion" which are, or are dependent

liiiiiMiiiiiiiL

Trace Electronics

32K/16K STATIC RAM

What could you do with this board in your system?

Trace Electronics brings you a highly flexible, lower powered, fully STATIC 32k or 16k memory board for your S-100 Bus computer (Altair, Imsai, Sol, Poly, Xitan, ect). The model 3200 has a capacity of 32768 Bytes with fully buffered address and data lines. All buffered inputs are Schmidt triggered for excellent noise immunity and require only minimal bus loading (one low power load). The buffered outputs are rated for driving more than 130 low power loads. Since the board is fully static, there is no refresh or clocking required and is therefore compatible with DMA and other devices.

Low power and high reliability are key features of the design. The Tl 4044's (or equivalents) provide storage capacity at up to 65% less power than low power 21L02 chips. The power required is 1.7A at 8V. for model 1600 and 3.3A at 8V. for model 3200. A special thermal design which places a separate regulator on each 4k x 8 section of memory affords a very efficient system of heat dissipation.

The most outstanding feature of the board is its versitile addressing. Each 4k x 8 section is separately assignable to any 4k slot in the computer's address space. This feature allows the user to make use of the growing amount of software that requires this and avoids the problems associated with only being able to assign the board to a continuous 32k block. In addition, the Megextend™ feature allows up to one megabyte to be addressed providing there is a 4 bit output port in the system. This allows up to 32 model 3200 boards per system, as long as the power requirements are met.

The model 1600 is the same as the 3200 except that it only contains 16k of memory chips. The 1600 may be converted to a 32k board by merely installing the extra 16k of memory chips. The sockets for the additional 16k are installed as a standard feature of the model 1600.

Both models are silk-screened and solder masked on FR4 epoxy board with a gold plated bus connector. They are fully

socketed, assembled, tested and burned in.

To order, simply phone Trace Electronics at 215-779-3677 or mail the attached coupon. So as to provide quick delivery all orders will be shipped by the fastest practical means (e.g. Express Mail, Air Mail, UPS Blue Label, ect). Model 3200 is priced at $999. and Model 1600 is $599. Express shipping is pre-paid. Call or write today. Trace Electronics, Inc.. 215-779-3677

P.O. Box 3247 Hampden Station Reading, Pennsylvania 19604

I would like 10 order the following:

□ Model 3200 32k Static Memory. Assembled and

tested J999

□ Model 1600 16k of memory on the above 32k board

Assembled with sockets for 32k and tested with 16k.-$599.

□ Model 1601 16k expansion kit for above. S499.

My address is:

Name

Address

City

Phone

-Zip_

Enclosed is a check or money order order for;

Please charge the item($] I've marked above to my credit card.

□ Visa

□ Niasfercharge

Card No

Exp. date

4 digits above name (Mastercharge onlyLSignature

Note: Address for credit card orders must be the same as that on file with the credit card company.

Mail this coupon to: Trace Electronics P.O. Box 3247 Hampden Station Reading, Pennsylvania 19604

Circle 114 on inquiry card.

BYTE April 1978 69

upon, the operation of these systems. Let us first consider the relationship of emotions to drive states and brain operation.

In general, the brain's emotional motivational system deals v^ith stimuli which anticipate objectives of drive states. That is, there are systems in the brain which respond to stimuli which normally occur prior to contact with the actual goal object. These systems are among those activated by the drive state operating at the time, so that a whole host of stimuli associated with the object of the current drive state are selected for detection. When, in the case of pleasure seeking systems, these stimuli are detected, behavior patterns are initiated which lead the organism nearer to the objective of the drive state. The contrary holds true in the case of the pain avoidance process. Stimuli which signal a situation which can lead to painful stimuli, but are not in themselves painful, still lead to energizing and directing appropriate behavior. The sight of a long drop, the edge of a tall building's roof, for example, is not painful, but it signals potential pain and it is a stimulus which can activate an emotional system (fear) which directs us away from the dangerous situation.

In the case of homeostatic drive systems, the ability of the goal-relevant stimuli to activate the emotional system is dependent on the operation of the drive state. The smell of food is not pleasurable when you are already stuffed. In the case of the nonhomeostatic drives, detection of the goalrelevant stimuli usually leads to operation of the motivational system as readily as the drive stimulus itself. Thus, it is not required that we first feel pain in order for us to feel fear of the pain related situation and act on such fear. The actual goal related stimuli which serve to operate the emotional systems may be simple and "hard wired," or they may be complex and effective only when learning processes associate them with the object of the drive state. Through experience we can thus expand the range of stimuli which we can use to energize motivational systems. This serves to make our goal seeking behavior much more efficient.

When operating, the motivational system not only energizes and directs behavior, but also appears in our subjective experience as "emotions" or "desires." The operation of the hunger drive state mechanism is perceived subjectively as the feeling of "being hungry." The sight of food in these circumstances activates emotional systems whose operation is subjectively experienced as the "feeling of joy." The activation of emotion systems which detect danger signaling

70 April 1978 @ BYTE Publications Inc

Stimuli is experienced as the feeling of "being afraid." It should be noted that making this distinction eliminates a problem posed by the old question of whether or not a machine could have emotions. If by "having emotions," you mean having a mechanism operating which detects certain types of situations and calls for certain categories of response, the answer is yes, clearly, and it could function just as usefully and efficiently as yours. If on the other hand, you mean can a machine have a subjective experience of fear when this mechanism is operating, the question is probably unanswerable.

Strictly speaking, we cannot even say whether or not another person has subjective emotional experiences; we can only know that he engages in emotional behaviors in appropriate circumstances, including behaviors such as saying, "I am afraid." With respect to the construction of a robot device, however, the question of subjective experience is not the essential point. What is important is to recognize that the brain processes which give rise to subjective emotional experiences in us do not have this experience as their purpose. Their purpose is to provide certain useful types of information processing relevant to increasing the power and efficiency of our behavioral responses to our environment. These processes remain as essential to efficient action in a robot brain as they are in an organic brain, irrespective of whether or not they are associated with subjective experiences.

Heuristics and Control

Let us turn now to the actual mechanisms of operation of the motivational system. To a limited extent, motivation in the brain is analogous to an interrupt system in a computer, and it has a priority structure too. Motivational systems of the brain are more complex than an interrupt structure, however, because they do not simply detect specified conditions and turn control over to specific programs of action. Instead, they enable classes of activity and define relevant goal stimuli. While the actual activity undertaken within the operation of a particular motivational state may vary widely, it is only the desired end result which is determined. The behavior that leads you to the food when hungry may be anything from reaching into the refrigerator to looking for a job, or even going hunting. This is a heuristic rather than an algorithmic process, and that is one of the most important distinctions between a brain and ordinary computer operation. In an algorithmic process, the goal is assumed, and

Go tell it to your computer for ^189*

libu can have low cost voice entry to your

computer with SpeechLab.

Heuristics' original Model 50 SpeechLab™ at $299 was a great success. So, not content to rest on our laurels, we went back to our design bench and came out with the Model 20. It sells for $189 completely assembled and tested for use with any S-100 Bus computer such as Sol, IMSAI, Altair or Cromemco and as the 20A, the Apple.

Now obviously, we had to do a few things to bring the price down. The Model 20 has a somewhat shorter manual. Technically, it's not quite as complex. Don't kid yourself though, the Model 20 does a real job. You can control your computer to do such tasks as data entry, quality control and everything else where you want a "hands-off" operation. Elsewhere in the ad we've illustrated some examples of the kinds of things you can do.

About the Model 20

Heuristics' new Model 20 handles up to 32 words. Software

Circle 54 on inquiry card.

is ROM based. The Model 20

uses 64 bytes per spoken word which is callable from BASIC.

Hardware includes 2 band pass filters with 2 bit amplitude, 2 zero crossing detectors and a linear amplifier.

The combined hardware/ software/lab manual includes 10 experiments.

The ROM based speech recognition program occupies 2K bytes of ROM.

The Model 50, still a great buy at $299.

Here's an S-100 compatible system (8080 or Z-80) capable of handling a 64 word vocabulary using 64 bytes per spoken word. You'll get high speech recognition.

Software includes SpeechBasic BASIC programming language in source and paper tape, assembly language speech recognition program in source and paper tape, hardware and self-test program in source and paper tape. SpeechBasic plot, correlation, recognition and advanced recognition programs are offered in source.

The assembly language program uses less than 4K bytes for a 32 word vocabulary. It loads at lOOH. A high core version is available. SpeechBasic BASIC interpreter loads at 0 and requires 8K. A diagnostic program is included.

Documentation includes a 275 page lab manual with 35

experiments and a 100 page hardware manual. All manuals are now available as separate items. The big manual is ideal for schools and colleges as an introduction to speech and pattern recognition.

Hardware includes 3 bandpass filters (6 bits amplitude), 1 zero crossing detector, a linear amplifier, compression amplifier, 6 bit A/D converter and a beeper. The raw waveform is available for advanced experiments. A new noise cancelling microphone is also offered.

Prices (f.o.b. Los Altos, CA)

Model 20A (Apple) $189

Model 20S(S-100 Bus) $189

Model 20 manual $ 15

Model 50 $299

Model 50 lab manual $ 25 Model 50 hardware

manual $ 15

(both manuals $35) Model NC-1 noise

cancelling microphone $ 85

More information.

For more information visit your nearest computer store. Most dealers now carry the Heuristics line. Or if more convenient write for literature. Please address Heuristics, Inc., Box B, 900 N. San Antonio Road, Los Altos, CA 94022. Phone (415) 948-2542.

HeuiisiKS

INC.

BYTE April 1978 71

a sequence of steps is executed which, if executed correctly, is known to lead to the goal.

In a heuristic process, potential results of different paths of action are compared with the goal, and those that seem to lead to states closer to the goal state are executed. The process is then continued, perhaps even with backtracking when it is discovered that a promising course led to a blind alley. This heuristic approach has been implemented occasionally in software; the chess playing programs are good examples; and simple heuristic systems were implemented in hardware even in the earliest robot systems. In one of these systems, for example, the goal was recharging the battery. The "drive state" was initiated by a relay that opened when the voltage fell below a prescribed level, and its action was to place the forward motor drive under control of a directional photocell. The goal related stimulus was a light mounted over the battery charger. When the light was in line with the device's forward direction of motion, the photocell was activated (emotional response) and the machine rolled forward (motivated behavior). When the device was not lined up, it turned at random but did not move forward. It was never guaranteed that the sequence of behavior was correct (consider the consequences of a mirror for example), but within the behavioral potential of the device, it was a best guess.

This type of heuristic system is very similar to that employed by simple brains, and by the simplest modes of operation of motivational systems in advanced brains. To begin with, recall our earlier discussion of the motor output system. We left off at the point where the highest levels of the system received two types of input, one from the cortex and thalamus carrying information on "suggested" behavior patterns encoded in spatial digital form, and another carrying information on the desirability of the current stimulus situation, encoded in temporal analog format. The result of the interaction of these two inputs in the motor system was that the "suggestion" made by the corticaltha|amic inputs was interpreted into continued motor output patterns by the basal ganglia only so long as a continuing "enabling" action was maintained on the "reward detector" input. This will result in a system which exhibits the sort of goal directed behavior shown by the photocell guided robot mentioned above, provided that the reward detector is activated by goalrelevant stimuli. Thus, when the behavior pattern specified by the cortex is translated into temporal motor output patterns by the

basal ganglia and cerebellar systems, the behavior only continues if its consequences produce an input from the "reward detector" system which sustains the current behavior. Otherwise, it dies out and other behaviors take precedence. Just as in the simple robot system, this sort of action will often lead to the goal, even if the various possible behaviors are generated at random. It will not however be very efficient.

This defines one aspect of the operation of the motivational system in a heuristic device: it must gate the reward detector to respond to the class of stimuli which is relevant to the gpats of the drive state in question. If we,Wanted to give the simple robot two motivational options, for example, we would need a system to switch between the photocell and something else, say a microphone, to activate the forward locomotion circuit. Then we could use a speaker to define the location of some other goal, and the goal which was approached would depend on whether the locomotion circuit was driven by the photocell or the microphone. The major difference in the brain is that whole categories of complex stimuli are enabled into the reward circuitry by the drive state, rather than just a single simple stimulus. Moreover, these range from the most straightforward stimuli, which are probably hard wired into the motivational circuit from birth (the taste of food for example), to the most complex stimuli which are clearly learned in later life (a sign offering food for sale). Like most systems of the brain, this one has a hierarchical representation at various levels, and more complex stimuli are dealt with in more advanced structures, while simpler ones are handled at anatomically (and evolutioharily) lower levels.

It is easy to see how a system which detects a need state and initiates a drive operation might gate some simple and specific stimuli into the reward system, but it is not so clear how complex learned stimuli are to be dealt with by a system that must specify classes of events. Research has revealed that the structures of the limbic system are centrally important to our emotional functions as well as to our reward system, and these regions seem to be necessary for activating the reward system when the goal-relevant stimuli are complex and learned. These limbic system structures are also in close connection with the regions of the hypothalamus and other lower centers which function in the detection of need states. Further, limbic system structures receive a wealth of projections from cortical areas which are involved with the higher levels of perceptual feature extraction of the

THE SSB ^50 FLOPPY DISCOUNT

Affordable

The tribe at Smoke Signal Broadcasting tool< our

BFD-68 disl< system and scalped tine price, but not the features to create the ABFD-68 (Affordable Basic Floppy Disl<). We appreciate the fact that the computer hobbyist gave us our start and we haven't forgotten you.

$649 Assembled

Compare Price. Our SS-50 bus compatible disk

system is $150 less than the assembled price of the leading S-100 disk system. And you can at least double that savings when you buy one of the computers manufactured by MSI or SWTPC that use the superior 6800 microprocessor.

Programmable

The BFD-68 is well known for its fine software. The system comes with the best disk operating system available and we offer a multitude of other compatible software products. These include a BASIC interpreter with disk file handling capability. By the way, our DOS now easily handles true random access files as well as sequential. Also, we have a super fast BASIC compiler for business applications. In addition, a Text Editor, 2 Assemblers, a

Trace Disassembler useful for program debugging and an Object to Source Code Generator are all stock items available for immediate delivery. A word processor will be available very soon.

Reliable

We delivered ourfirst mini-floppy disk system a year ago — 6 months ahead of any other 6800 based mini system. Thus, we've had twice the experience in building reliability into the system. Our NEW disk controller was designed using all we have learned In the past year about system reliability.

The ABFD-68 contains all the built in reliability

of our regular BFD-68 plus you save money by supplying your own cabinet and power supply for the disk.

Available

We've shipped literally tons of our BFD-68 disk system in tiie past year and have learned to keep our production up with demand. Give us a call and chances are we'll be able to ship you the new ABFD-68 from stock and charge it to your Master Charge or Visa card. Betteryet, askusforthe name of the computer store nearest you that carries our complete line of computer products.

Circle 100 on inquiry card.

BYTE April 1978 73

Figure 7; General paths of information flow in goal directed behavior. Information from the senses is analyzed both for generation of new action patterns, and for Increase I decrease decisions about current actions. The latter decision Is based on the rate of increase of satisfactory stimuli of types relevant to the goal determined by the drive state generators.

sort described in the last article. If you recall tiiis process, you will remember that the essential ingredient is the definition of the feature by selective convergence of a variety of inputs from lower level feature extractors. There is no essential reason why the "feature" in this process must be related.to a perceptual construct of the type we were dealing with then. In other words, although the process described was presented in terms of the elements of visual object recognition, it would be equally applicable to what might be termed "emotional perception." That is, the emotional relevance of a visual stimulus could be considered as much of a feature to be extracted as its intellectual identification.

We shall say more of this higher level extraction process, but for now just consider how an emotional feature extractor might be wired up. Let us say that as a start we already have a small number of lines encoding the identification of some object in the visual field regardless of location, etc. Now suppose that the output of such elements converges, among other places, on elements of the limbic system, and that the convergence is selected so that the "feature" which is extracted by the target neuron in the limbic system is "relevance" to some drive state. (Exactly how these connections arc determined is not important; it might be hard wired or established through a later process of learning.) We would then have a group of limbic system neurons which would respond to many

stimuli relevant to a particular drive stale. Such limbic system elements, each driven by

a multitude of perceptual objects, would easily be enabled by inputs from the system responsible for gating classes of driverelevant stimuli onto the reward bus. The essential element here is to see that the problem of decoding stimuli for emotional content is the same in terms of information processing as the problem of decoding them for logical purposes, and that much of the same circuitry can serve both functions, since it is only after the level of object identification that the convergence patterns are different.

Exactly how this emotional perceptual apparatus is connected in detail is not yet well-understood, but it appears that whatever the precise nature of its operation, it will not be very different in principle from the model I have just described. Its general functional operation in terms of behavior is established. In terms of potential applications to robotics, the present model will serve to adequately summarize these facts. The general scheme is presented in figure 1. In this diagram we see that the data flow from the receptors follows two main routes. After preliminary analysis in the sensory cortex, the data is available both to the limbic system for motivation-relevant feature extraction processes, and to the other areas of the cortex for logical analysis. The information which is processed in the limbic system can activate the reward mechanism if (1) the information decodes to features relevant to a drive state and (2) the limbic system elements which decode it are gated onto the reward system bus by activity of the appropriate drive state mechanism. When these conditions are met, the behavioral strategies developed by logical analysis of the sensory data can continue to be translated into motor patterns by the basal ganglia and other portions of the output system.

There seems to be a large component of the reward value of positive stimuli which is due to the rate of increase, or derivative, of the decoded stimulus rather than its absolute value. The situation with nonhomeostatic motivations and pain-escape behaviors involves the same machinery, with some differences. In the case of escape and avoidance behaviors, it is of course the reduction of activation of certain stimulus elements which serves to activate the reward mechanism, presumably through release of inhibitory elements. In the case of nonhomeostatic behavior, the situation is reminiscent of the difference between maskable and nonmaskable interrupts. Stimuli relevant to nonhonfieostatic drive states are

74 April 1978©BYTE Publications Inc

SYNCHR060UND

ENTERPRISES, INC.I

Everything you need in small computer systems!

|jj52B CENTRONICS 779 PRINTER

$1099.00

LEAR SIEGLER ADM 3A TERMINAL

Kit $759.95

! Assembled $854.95

ADM 1A TERMINAL

Assembled

$1529.00

ADM 2A TERMINAL Assembled $1995.00

HAZELTINE1500 VIDEO TERMINAL

Assembled $1149.00]

Kit also available km

iPP^

MODULAR 1 INTELLIGENT TERMINAL

703

SERIAL PRINTER

$2395.00

761 PRINTER

KSR with Keyboard $1695.00

Assembled

$1659.00

IMSAI8080 MICROCOMPUTER

With 22 slot

$649.95

SPECIAL BUYS

IMSAI Double Density Persci Drive $2295.00

Sorac IQ 120 Video Terminal 959.00

DEC LA 180 Printer 2769.00

CompucolorSOOl Color Computer 2595.00

ICOM Microfloppy System 989.00

North Star Microfloppy Disk Kit 599.00

GromemcoZ-2 Kit 565.25

Javelin 9" Video Monitor 159.95

Micropolis Model 1053MOD2 , 1799.00

IMSAI AP44-44 Col. Printer Kit 329.00

TDLXitan Alpha 1 ComputerKit 699.00

ICOM Model FD 3712 2795.00

OKIDATA MODEL 110 LINE PRINTER

Friction Feed

$1149.00

Tractor Feed

$1279.00

RS 232C Serial Interface

$260.00

MODEL 22 LINE PRINTER Tractor Feed $2249.00

TELETYPE MODEL

43 PRINTER '

$1299.00 /

IMSAI PC S-80/15 8085 COMPUTER

Kit

$749.00

Assembled

$929.00

We carry a full line of the following: TDL, Centronics, Seals, Hazeltine, Micropolis, Hayden, IMSAI, Cromemco, Compucolor, loom, LearSiegler, OI<idata, DEC, Javelin, North Star, Peripheral Vision. Same day delivery and shipping on most items. Full modern repair facilities on premises for complete servicing of everything we sell.

SYNCHRO-SOUND ENTERPRISES, INC.

The Computer People

193-25 Jamaica Avenue,

Jamaica, New York 11423

212/468-7067 TWX: 710-582-5886

Hours 9-4 daily Visit our new showroom

and Saturday Worlting units on display

Dept. BBB BankAmericard • Master Charge

Circle 108 on inquiry card.

BYTE Aprill 978 75

"nonmaskable" in the sense that the drive state does not have to be activated in order for them to have an effect. What seems to occur here is that the decoding of these stimuli serves to initiate the action of the drive state, thus energizing the organism's behavior, and the subsequent reduction of these stimuli by successful behavior serves to activate the reward mechanism and direct the behavior.

What Vi^e have described accounts for the most basic function of motivational systems, their elementary goal directing functions. Several other important functions remain to be mentioned; among these are: the energizing or activating properties, the cue or stimulus properties, and the property of reinforcement of learning. To take them in order, it is clear from the above discussion that there will be an increase In general activity level resulting from an encounter with stimuli associated with a goal object, for example, directed locomotion towards the goal which arises when the motor system is gated open. This is referred to in psychological jargon as "incentive activation." In addition, there is an increased activity level resulting from the operation of a drive state generator in the absence of any relevant stimuli. This appears to be a general increase in levels of behavioral motor output, irrespective of any specific relation to the drive state. Many different kinds of drives, for example, will produce increased measures of general activity in devices such as running wheels, jiggle cages and the like which measure such activity. The phenomenon is called "nonspecific" activation, and its utility to the organism seems apparent. If a drive state develops, the organism has a statistically greater chance of encountering relevant stimuli if it moves around in the environment, even when such movement is random and undirected (notice how people tend to pace when highly motivated). The same argument would of course apply to a robot system.

The "cue" property of motivational states refers to the fact that the operation of motivational mechanisms generally gives rise to internal sensations which may themselves be considered as sensory stimuli, capable of entering into the information base on which the logical functions operate to produce behavioral strategies. Thus, the organism "knows" when it is hungry, and this data can itself be employed in conjunction with information from memory and sensory input to generate behaviors for trial. These are much more likely to lead to successful results than random behaviors. This makes the system much more efficient than one which, like the simple robot,

simply gates the continuation of successful behaviors. This is because successful behaviors (those that lead to encounters with goal relevant stimuli) are much more likely to occur. For example, if the information about operation of the hunger drive is used in conjunction with information about current location to form a "memory address," any information about known encounters with food sources in the vicinity can be accessed and used to generate behaviors with greater heuristic value than random exploration.

Finally, we must consider the role of the motivational systems in the reinforcement of learning. You will recall that in the first article of this series, I mentioned two kinds of learning process; one was Pavlovian conditioning which depended only on the temporal contiguity of a stimulus which was initially neutral, and a stimulus which naturally evoked some behavior. We saw that repetitions of this pairing led to the ability of the initially neutral preceding stimulus to evoke the behavior normally evoked by the second stimulus. It appears that this type of conditioning may be a fundamental property of neurons. A distinguishing feature of this type of learning is that only the pairing is important, not the consequences. The second type, however, called "operant conditioning," is entirely dependent on the consequences. Behaviors which the organism emits and which are followed by activation of the reward system tend to occur more frequently. Those which fail to generate activation of the reward system tend to occur less frequently in the future. This type of learning is of course enormously useful in improving the range and efficiency of the organism's behavioral repertoire, since it can be used to modify existing behavioral chains by the insertion or deletion of elements, or to build up entirely new behavioral sequences out of accidental successes. This occurs even if the reward system is driven directly by electrical brain stimulation, thus bypassing all the circuitry which normally decodes the environmental and drive state stimuli. It appears that the reward system must be involved in this process, and there is mounting evidence that the basal ganglia participate in important ways as well. It is possible, although not definitely established, that a process of classical conditioning operating between the inputs to the basal ganglia could account for the phenomenon of operant conditioning. This theoretical model will be presented here as the easiest approach to model in a robot brain.

From what we have said already, it is clear that a successful behavior involves two

Computer Mainframe System

First in the TEI family... Tine MCS-112 and 122 Mainframe Systems.

NOW AVAILABLE WITH AN ACnVELY TERiyUNATED AND SHIELDED MOTHERBOARD AT NO INCREASE IN PRICE.

nwdMnct

A heiwy duty precision formed cabinet of fine Ctaftsmanship. Completely madiined and ready for assembly Vented for most efficient'thermaj characteristics. Furnished with all necessary hardware.

The

The front panel is blank except for an indicatins AC ■■■.■£: switch and a reset switch. However, the chassis and mother board are deslsned so that you may nemofe the front panel and insert an IMSAI or equivalent front panel.

Specifications

MCS-112

MCS-122

Dimensions IT'AWxTODxT'AH Power+8 volt DC 17 amps Power a:16 volt DC S amps

ITViiWxIWaDxT'AH 30 amps 4 amps

,The motherboard

An S-100 Bus system hish quality mother board with 100-pin edse connectors. Compatible with IMSAI, MITS, CK3MEMCO, TDL and other S-100 bus confisured circuit boards. Plus connections for reset switch. Voltase terminals are screw type to power supply leads. All card guides are provided. 12 slots for MCS-112 model and 22 slots for MCS-122 model. The motherboard is shielded and acBvely terminated.

Edge connectors

High quality edge connectors factory mounted and wave soldered to eliminate this nuisance for you. Completely checlced out for shorts or open traces. ALL edge connectors furnished, 12 for the MCS-112 and 22 for the MCS-12S. No additional expense when you expand your system.

,The power supply

One of a kind... using a constant voltage transformer (CVT) with a very high immunity to input line noise... greater tlian 100 db rejection. Line regulation better than ± 1% from an input of 95 to 140 Volt AC at full load to 85 to 140 Volt AC at three quarter load. Designed to meet UL-478 specifications (EDP SPECS). Individual fusing on all input and output voltage lines See specifications below for power ratings.

The cooling system

A 115 CFM muffin fan with a commercial grade washable filter will provide clean airflow over all circuitry

,1lic wiring

All vi^rins is color .coded and ALL is precut to length with connectins lugs factory machine applied.

NOW ... TEI puts it ail together for you. Mainframe systems (12 and 22-slot) ... Floppy and mini-floppy disc drive systems (sinsle, double and triple) 16K RAM ... a CPU with addressable "jump to" and autostart capability ... 16 Channel A/D and D/A converter... 3 serial -I- 3 parallel multiple I/O... and other supportins boards . .. and our newest item, the PROCESSOR TERMINAL — A CRT, keyboard, mini-floppy disc and 12-slot mainframe v^ith a 8080A CPU — all housed in one quality aluminum case. All of these fine products at prices you will lil<e.W«Ghtortliefflali.

L

D

MCS

SPECIAL SYSTEMS GROUP MICROCOMPUTER SYSTEM

Contact your local TEI Dealer or if you are not near one of our dealers, write or call CMC /MRKETING COW> the national distributors for TEI

products, for more infornnation.

CMC MARKETING CORP 5601 Bintliff Suite 515 • Houston, Texas 77036 • Phone: (713) 783-8880

Circle 23 on inquiry card.

BYTE April 1978 77

events at the basal ganglia: first the activation of a pattern of neural firing in the basal ganglia by cortical and thalamic inputs, and then a sustaining input from the reward system if the resulting behavioral output produces a more favorable stimulus situation with regard to goal related stimuli. Now any number of possible actions may be sent to the basal ganglia by the cortical mechanisms which are analyzing current events and memories of similar situations in the past. Some of these will be more successful than others in sustaining firing patterns in the basal ganglia. Remember the "self-quenching" action of the inhibitory elements in that structure. One function of this mechanism may be to insure that only one of the competing response patterns will emerge to direct the motor mechanisms. That is, the strongest input will most easily withstand the inhibitory action; and the inhibitory action which its own successful operation initiates will further undermine the attempts of competing firing patterns to seize the upper hand. Think of a bistable flip flop circuit when power comes on. Only one transistor winds up in the on state, and the other is completely off. In the same fashion, the mutually inhibitory actions of firing patterns in the basal ganglia would tend to insure that there was only one winner.

Just as in the case of the flip flop circuit, which one of the firing patterns wins may be determined by very minute differences in the ability of the competing activation patterns to fire their target neurons first. Furthermore, a variety of other factors (for example, how recently a particular neuron has fired) will cause the usual "winner" to lose some of the time. Thus, the patterns that emerge as behavior will have a ranking of probability; but it will never be guaranteed that one will always be the winner, only that it is the most likely to win. This is very different from most computer approaches, in which it is assumed that you know the best way, and do it that way always. In developing new behaviors to suit an unknown and changing enviroriment, however, it is important to be able to experiment a little. Now if we could somehow alter the sensitivity of the target neurons a little bit in favor of one or another of the competing patterns so that that pattern could get a small jump on the competition, the probability of that pattern of behavior emerging as the victor would be increased. If this could be done in a way contingent on the behavior being "successful" (ie: activating the reward system), when by chance it was

the winner, we would have all the features of operant conditioning.

It appears that this happens, and that at least with respect to complex, feedback controlled, environmentally-oriented behaviors, it does involve the basal ganglia. The process is called "reinforcement," and at the cellular level we don't know how it works. A reasonable guess, however, would be that it is essentially a process of classical conditioning of the cells of the basal ganglia by sequential activation by first the cortical and then the reward system's inputs. We know from studies of simple nervous systems that this classical conditioning mechanism, based on simple temporal contiguity of inputs, can occur within a single neuron when two inputs are activated sequentially. The operant conditioning process ' then may be the result of classical conditioning of certain cells, such as those of the basal ganglia, by inputs on the reward bus following firing by inputs from the cortical pattern generators. The resulting small increase in the ability of the cortical inputs to fire those particular target neurons would then increase the likelihood of that pattern emerging as the dominant output.

in the case of a robot system modeling this kind of action, it clearly would be handled differently in detail. One might easily envision a system in which the processors which decoded the equivalent of the cortical inputs into the equivalent of the basal ganglia outputs to the motor system would apply a numerical weighting to the various inputs received, and would increment the weighting if the "reward" input were active within a short period thereafter. What would be important would be the provision of some mechanism, perhaps a pseudorandom number generator, for making the predominance hierarchy probabilistic rather than absolute; and provision for changing the weighting according to the success of the behavior when tried. With these two features, the robot would achieve, within the limits of its behavioral capabilities, the flexibility and adaptiveness that characterize brains. It would also achieve their ability to make mistakes, but that seems to be a price that evolution has found acceptable.

I have presented this model of operant conditioning as though it were occurring exclusively in the basal ganglia. While this illustrates the general principle involved, it is clear that more is involved in the real brain. The projections of the reward system extend into large portions of the cortex, and it is clear that things other than the probability of output patterns can be modi

Until now, the hobbyist and snnall businessman have had one major problem in assembling a reasonably priced microprocessor system with the capabilities found in the more costly computers. It was impossible to find a high-quality, high-output printer for hard copy needs at an affordable price.

Peripheral Vision has come up with a solution.

We are offering a full-size impact printer designed for microprocessors—and it comes with a mini price. Prices start as low as $540 for the printer, interface card kit, and the power supply. And that won't impact your pocketbook.

Peripheral Vision's printer is loaded with capabilities. Take a look:

■ It's fast—120 characters per second

■ 96 characters per line, 12 characters per inch horizontal, 6 lines per inch

■ l\/lakes up to 4 copies simultaneously

■ 5x7 character matrix

■ Ribbon has built-in re-inkers for a life of 10,000,000 characters

■ Paper can be either a standard SVs-inch roll, fanfold or cut page

■ Interfaces to 8-bit parallel ports (one input & one output)

■ Compatible with the S-100 bus (use our optional parallel port card)

Just remember, Peripheral Vision is committed to helping you get along with your computer. As an example, the printer we are offering is high in quality, low in cost and will definitely impact your system. Other examples include Floppy Disk Drive systems, Digital Cassette systems. Stand Alone Audio Cassette interfaces and our inexpensive Keyboard.

□ Send me more information on how to impact my computer!

□ OK, here's my $540, send a printer kit.

□ Here's $695 for an assembled & tested printer. And thanks!

Name Company

Address City State Zip

(BankAmericard/VISA, Master Charge or COD's also welcome.)

Circle 86 on inquiry card.

fied by similar learned processes. For example, the weight attached to particular

stimulus features in generating the output patterns in the first place, or the weight attached to particular items from memory in generating these action patterns, can all be altered by the reinforcement process. Such things more likely occur at cortical levels than in the basal ganglia, and their details are obscure. However, there is no reason why the principles described here could not be applied to such functional processes in an advanced robot. Once the principle of operant conditioning is employed, it Is possible in theory to achieve any degree of fine tuning of any process in the machine. It should be noted, by the way, that the more the machine relies on operant conditioning rather than hard wiring or unmodifiable software to generate its responses, the longer training period it will need, and the longer "infancy" it will have in which it will need a "mother" to keep its major errors from being disasters. In organic brains, the period of helpless infancy is directly proportional to the flexibility and adaptiveness of the adult brain, for just this reason.

Another important brain function, related to the concept of motivation in respect to energizing and directing behavior, is what is loosely referred to as "arousal and attention." There are two general types of arousal systems, and one depends on the other. The most fundamental is a general "tonic" arousal system. This term refers to the fact that the system sets the general level of activity in the nervous system over long periods of time, ie: it sets the "tone" of the system. The most important part of this system is a group of diffuse nuclei forming a long column in the central part of the spinal cord, medulla, pons and mesencephalon. This area is collectively referred to as the "reticular formation." One of the great early discoveries in brain function was the finding that the forebrain does not simply run of its own accord. It requires constant drive from the reticular formation to keep it processing. In this sense, the reticular formation acts like the brain's on/off switch. However, whereas most computers are either on or off, the brain is capable of operating at various levels of activation. Intuitively, you know the difference between feeling highly alert and excited, and feeling awake but inattentive and relaxed. This reflects different levels of operation of the forebrain, under control of the reticular formation. An imperfect analogy could be made with a computer

80 April 1978 ® BYTE Publicalions Inc

having a variable clock speed, but even here, it is not strictly speed of processing that is affected. The general modulating inputs from the reticular formation connect very widely through the forebrain and serve to bias the cells there towards or away from firing level. As we saw earlier, this not only has implication for the rate of activity in these cells, but also for the nature of the processing they perform, since the analog and digital factors in the cell's input are related. Recall for example that the biasing level of a feature extractor may determine the degree to which the input must resemble the optimal input in order to cause an output. Thus, not only level of activity and speed of processing, but also nature of processing is affected, usually in a general way appropriate to dealing with situations requiring or not requiring attention.

At the..two extremes of reticular formation control, we have high excitement on the one hand and unconsciousness on the other. (Do not confuse unconsciousness with sleep. Sleep is a separate active process that reflects a different type of organization of forebrain activity. We shall not discuss sleep, since I have yet to see any relevance of sleep to design of robot brains, and nobody knows what it's good for in humans either.) Part of the utility of such a system in a robot would be to conserve power when the environment was not demanding much attention. The power saving function is not inconsiderable in your own case either; the brain draws about 25 W, which is a healthy fraction of your available energy. A more important point is that the raised arousal levels provide a substrate out of which particular patterns of forebrain activity can be carved by selective inhibition. This is the process called "attention."

Let us first look at the sources of arousal. The reticular system is activated by three major types of input. One, which we have already dealt with in part, is the input from the mechanisms which detect and regulate motivational states. We mentioned there a general, nonspecific component to the arousal produced by motivational states. This appears to function through activation of the reticular formation by the motivational systems, or in some cases by the internal stimuli that activate those systems. A second source of control over reticular activation comes from the sensory systems. This occurs in a rather unique way. As the axons carrying sensory information through the brain to areas which analyze its contents pass by the reticular formation, they give off branches which contact cells

in the lateral part of the reticular formation (see figure 2). These cells in turn activate cells in the central portion of the reticular formation which give off long axons that carry the activation regulating control impulses to the rest of the brain. What is interesting here is that there is no attempt to keep the sensory input lines separate. Inputs from receptors for touch, sound, light and all other senses all synapse indiscriminately on the same neurons. There is thus no qualitative component to the reticular formation's input data, only quantitative. What it is responding to is the total amount of sensory activity in the receptors, or in other words, the general level of environmental "noise." Like all sensory systems, this one responds most strongly to things that change. Thus, abrupt changes in the level of activity at any sensory receptor will serve to activate the reticular formation and arouse the rest of the nervous system. Sti-ange though it may seem, therefore, it is not the conscious perception of the sensory input which is arousing. In fact, if the reticular formation is damaged and the rest of the sensory apparatus is left intact, the organism will not be aroused by the most intense stimulation, even though electrical recording techniques show that the sensory information is getting to the sensory areas of the forebrain in full strength.

The function of this mechanism is clear: if there is a lot of changing activity in the environment, the organism probably needs to be alert and attending to it. The reticular formation is very old evolutionarily, and this mechanism probably represents one of the earliest types of response to the environment, one which is still useful even in the most advanced brains. If the process were to stop here, we would have an organism that could respond, adequately to external events, but which would not be spontaneously alert in the absence of a need state or an external stimulus which required attention. This is approximately the behavior pattern of creatures such as amphibians and reptiles, which have little or no cortex. In the case of animals with a welldeveloped cortex, we see the development of a third set of inputs to the reticular formation, those from the cortex. This establishes a positive feedback loop between the reticular formation and the cortex which enables the cortical-reticular system to "lock on" and sustain its own activity. This development allows for conti-ol over arousal levels by the results of internal processing, and the brain is freed from dependence on need states or environmental input for activation. This is clearly advantageous when a

EYE

6

MULTIPLE SENSORY INPUTS

Figure 2: The brain's arousal and attention system. Thte reticular formation provides general arousal in response to several classes of input. The frontal cortex can focus the brain's processing by cutting selected systems out of the broad arousal provided by the reticular formation.

level of cerebral sophistication has been reached which permits action on the basis of anticipated events. With this feedback loop, the more advanced brains achieve the capability for maintained conscious thought and regulation of their own operation.

The other aspect to the control of arousal is one which allows the organism to focus its operation specifically on certain forebrain processes while shutting down others. That is, given a state of arousal or alertness to begin with, it is possible to channel this activation into particular functions. The operation of this mechanism is what we experience as "attention." In figure- 2, notice that the projections of the reticular formation are shown having a facilitatory effect on a relay neuron in the thalamic nucleus (lateral geniculate) which is part of the pathway from the retina to the visual cortex. It does this by inhibiting a set of neurons in the so-called "nonspecific" nucleus of the thalamus which in turn normally inhibits the sensory relay neuron. Activity in the reticular formation thus tends to promote transmission in the visual system, as it does in other brain systems, and lack of reticular bias tends to shut it down. Now notice the input from the frontal cortex to the cells of the "nonspecific" thalamic nuclei. These have the opposite effect: they can counteract the reticular drive and shut down selected systems. In a similar fashion, the frontal cortex

April 1978 © BYTE Publicalions Inc 81

and the reticular formation jointly control the operation of most forebrain systems. The way the process is arranged, the cortex does not directly activate any of the systems, but it can selectively oppose reticular activation. This means that given a general state of arousal activating the forebrain, the frontal cortex can manipulate the operation of various systems by cutting them out of the reticular activation, or permitting them to run. Thus, the frontal cortex can "carve out" a pattern of specific processing actions by selectively inhibiting v/hat is not wanted. It thus is capable of orchestrating the operation of the higher processing centers, given the basic arousal by the reticular system. This process of attention has its origins in a hard wired reflex operation called the "orienting reflex" which shifts attention to, and has motor components which orient the receptors to, any strong novel stimulus. You experience this primitive mode of attention focusing when you reflexively spin around to face the source of an unexpected sound. At a somewhat more advanced level, the cortex can make use of the information from the motivational system to decide what stimuli or systems are "relevant" at the moment and focus processing activities accordingly. At the most advanced levels of operation, focusing of attention may be directed by the results of logical operations. Whatever the source of the decision, the process is the same.

The frontal cortex is the most advanced part of the brain system, and one of the roles it apparently plays is the organization of the activities of other systems to achieve high level operations. Presumably, the reason it operates by opposing reticular drive, rather than activating the forebrain directly, is because it is itself activated by the reticular system under the control of the factors just discussed. There may be no reason other than evolutionary sequence for not combining the two functions, although the initial general activation as well as the response speed of the reticular formation are a safety feature.

There is a general inhibitory system which can oppose reticular activation at all levels, and the frontal cortex initiated attention control is actually best viewed as the highest level of this general inhibitory system. Other lower processing units can contribute inhibitory control to this system at appropriate levels, and the actual pattern of activation of the brain at any instant is the result of an ascending activating influence from more primitive levels being modulated by a descending pattern of selective inhibition from more advanced levels. This is part of the general "fail safe"

82 April 1978 © BYTE Publications Inc

pattern of control which was described in the first article of this series. Loss of high command does not incapacitate lower centers, it frees them to operate independently as best they can. This is an idea that might be important in reliable robot brain design.

Analysis and Logic

What remains to be discussed is the brain's logical operation. This is of course one of the areas in which our current computers do very well already, and one where the brain frequently comes in second best. It evolved after all around control systems for chasing visible targets, and that doesn't require too much advanced thought. It is just as well, too, that our computers do well here because we really know very little about the brain's logical operations. Humans are best for that sort of investigation, and there are few volunteers for experimental brain surgery. There are a few points of interest, however, that may be worth scrutinizing. The first of these points emphasizes the utility of the brain's combined analog and digital, two-dimensional "byte" of temporal and spatial dimensions (Dare I coin the term "gulp"?). One of the real uses of such an arrangement, in which the intensity associated with each bit (axon) of the digital information is carried in analog form in the temporal dimension of that bit, is that you can operate logically and mathematically on those two aspects of the bit independently.

Consider what can be done if you have a set of lines which represent the output of the highest level feature extractors. These lines are the result of processing in cortical areas where the outputs from the various sensory modalities, already highly recoded, are brought together to generate information about the state of the external world based on a synthesis of the features extracted from all the available sensory data. Studies of brain damage in humans have given us some insight into the operation of these areas and the strange phenomena which can occur when their function is impaired. Things such as loss of the ability to name objects by sight while retaining the ability to draw them, or to name them by touch, are seen. A host of similar tantalizing bits of information are beginning to paint a picture of the functions of these areas. It appears that highly extracted information can be operated on here in a logical way, used to access memory, and even generate output. This, however, is actually prior to the operation of the highest levels of function which are concerned with extrapolation of the future course of

Application Software!

'■'it;,

I

i IIASU

SOFIW \H I I.IHKVRV

VOLUME tl

Vol. 1 — $24.95

Bookkeeping

Games

Pictures

Vol. II — $24.95

Matti/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

You can buy software from anybody

but ours works in your system.

We only sell one product, Quality.

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 FIT's, Inverse-transforms, Windowing, Sliding Windows, simultaneous FFT's 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; thats right, just look it up and make the substitution for your particular version. If you would like to convert your favorite program in to 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 thru V would be useable, however they should execute in only 8K of user RAM,

All of our programs are available on machine readable media. 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.

Soon To Be Released—Vol. VIII-Homeowners Programs (Includes Federal Income Tax Program)

SCIENTIFIC RESEARCH

220-B Knollwood, Key Biscayne, FL 33149

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

Add $1,50 per volume handling, all domBstic shipments sent U.P.S. except APO and P,0, Box which go parcel post. Foreign orders add $8.00/volume for air shipment and make payable In U.S. dollars only.

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Americard accepted.

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

BYTE April 1978

83

Everyone's getting personal in Long Beacii.

3 full days of technical sessions, exhibits, home-brew displays and the latest on personal and small business computing, all at PERCOMP 78. April 28-29-30.

Jim Butterfield is on his way from Toronto with the entire, unabridged truth about KIM. Jim co-authored The First Book of KIM.

Carol Anne Ogdin's keynote address bares the fads on "How Personal Computers Are Being Used Today." Carol comes to us from Software Technique, Inc. in Alexandria, Virginia.

Dr. Portia Isaacson, a contributing editor for Datamation and an associate of Byte, brings computer enthusiasts the very latest word on "Computer Store Retailing."

Attorney Kenneth Widelitz will be on hand with some friendly advice on 'Tax Aspects of Lemonaide Stand Computing" while his friend attorney Leonard Tachner delivers the low-down on "Patents, Copyrights and Computers."

Just for the fun of it, we have an entire home-brew section... robotics, games, computer music, even every-day, sensible stuff like checkbook balancing and preparing mailing lists. You're sure to take home some new tricks to your computer.

And don't forget, PERCOMP '78 has booth after booth of everything in personal and small business computing.

5 months before show time our dynamite exhibit list includes from A to V:

The Astute:

Advanced Computer Products Alpha Supply Co. Apple Computer, Inc. A-Vidd Electronics

The Brilliant:

Byte Industries Incorporated Byte Shop Lawndale Byte Publications, Inc.

Louis Field, president of the International Computer Society/ sees, gives you everything he's got on "Getting Started in Micro-Computing."

From Creative Computing Magazine comes David Ahl with all you'll ever need to know on "Marketing for the New Manufacturer."

The Captivating:

Calcomp

Computalker Consultants Computerland Computer Magazine The Computer Mart of Orange Computer Pathways Unlimited, Inc. Computer Power & Light Inc. Creative Computing

Tlie Energetic:

Edwards Assoc. Electronics Warehouse, Inc. Electro-Sonic Components, Inc. Entech

PERCOMP78

1833 E. Seventeenth St., Suite 108, Santa Ana, Ca. 92701 PHONE # 714-973-0880

Nome

Address.

RIP THIS COUPON FROM THE PAGE AND GET IT TO US BY APRIL 10.

I want to save time and money.

Please send me

pre-registrotion forms.

. State.

-Zip.

(B-4)

The Tantalizing:

Tandy Computers Tarbell Electronics Tech-Mart Telpar, Inc. TLF, Corp.

The Ultra:

Ultra-Violet Products, Inc.

The Valiant:

Vector Graphics, Inc. Vista Computer Co.

Since everybody's coming, better make your advanced reservations. Pre-register and save (you won't have to wait in line) ...but don't forget about your hotel room. Our staff has reserved rooms in hotels and motels near the Convention Center. V^e've even arranged for a shuttle bus service. So call and we'll save a room for you.

Long Beach is close to Disneyland, Knott's Berry Form, Universal Studios... everything, plus our staff will help you get wherever you want to go.

A big, sunny beach is minutes from the Convention Center, and April is a great weather month in Long Beach, so plan to bring the family and have a good time.

Circle 128 on inquiry card.

BYTE April 1978 85

events. If the spatial (digital) byte of this "gulp" of information encodes the state of the external world in its millions of bits, the analog (temporal) byte of the same "gulp" represents the current strength of activation of the feature extractors generating each of these bits. The rate of change of each feature with time can be obtained by differentiating the analog (temporal) byte on that line. This is easily done at the neural level by negative feedback from the cell's own axon, and does not affect the content of the associated digital word. Doing the process twice gives you the second derivative. If the whole collection of bits represents the state of the external world coded in terms of its cognitive features, the process produces the first and second time derivatives of reality, so to speak. These derivatives, added to the initial value, give the predicted next value of the analog (temporal) byte of the next state of the sensory world. It may be in error, but it is the best prediction from available data, at least without assistance from memory of past experiences. This means that it is relatively easy to extrapojate from moment to moment the future course of incredibly complex patterns of information. This extrapolation can be sent to the limbic system for analysis of the reward value of such a state of the world, and anticipatory action taken if necessary. The consequences of one's own actions can similarly be extrapolated by the same process applied to the current output commands. Of course, this simple process cannot be extended too far. It will only suffice for moment to moment sorts of operations, but these are exactly the real time applications that the more traditional approaches are too slow to handle. This is particularly true in the case of a system required to deal in real time with a generalized environment. The details of the process as I have presented them are highly speculative, but it is clear that something like this occurs, and the potential utility of the analog aspect of the "gulp" is clear in this regard.

Our present experimental evidence indicates that this type of ability, the ability to modify present behavior on the basis of extrapolated future events, is the province of the most advanced parts of the brain, such as the frontal cortex. This is particularly true of the ability to inhibit current gratifying behavior in anticipation of greater future good. The anatomy of the frontal cortex's connections suggests that it has all the appropriate links for operating in the way just described, as does its prominant role in inhibitory control of other regions.

86 April 1978 @ BYTE Pubncations Inc

It is easy to imagine that following the development of a primitive extrapolative system such as the one described here, and

the corresponding development of appropriate control outputs to express the corrections behaviorally, further refinements would include the development of logical and memory functions in the service of the extrapolator to improve capability for long term analysis. The development of such capability seems to be one of the advanced features that sets the brains of men apart from those of most animals. The ability to encode complex situations in symbolic form (as in words and numbers) undoubtedly aids enormously in this process. In terms of brain wiring, these processes are not well understood. Fortunately, computer technology is strong here.

The Importance of the "Almost" Gate

Two advantages derived from the nature of the brain's logic gates bear mentioning. What is noteworthy are some functions of the property I have nicknamed the "almost gate," that is, the production of an output pulse when some percentage of the inputs are active. The result of this operation of course is to allow the gate to fire in response to a number of different input patterns which only need be similar. For example, some but not all of the elements feeding a feature extractor may be fired by a similar feature. If it is similar enough it may work. This sort of operation underlies one of the important differences between brain memories and computer memories. When you access a word in a computer memory, you get back the contents of that word, period. Although the physical nature of the brain's memory storage mechanism is a mystery to us still, one thing that is clear about its operation is that a stimulus which matches an item in memory accesses not only that particular memory but also a host of similar items. This is an important tool, since "similar" items are those most likely to have important relationships to the problem at hand. Materials so accessed can of course be screened for relevance and in turn used to generate new memory calls. The development of this type of "associative" memory call in electronic hardware would go very far towards giving a robot brain much of the power of its organic counterpart. So long as the principle of selective convergence is used appropriately to generate the inputs for successive echelons of the "almost gates," it will be the case that the assortment of input patterns which can fire the final gate will have similarity along some important conceptual dimension. The outputs of such gates, when used to form

with The Blues.

The future belongs to those with The Blues from Cybercom.

Join the growing number of users worldwide who are discovering the exceptional quality, plus prompt delivery and significant cost savings. And the new year holds even more promise now with our MB6A 8K RAM board (450 NS) reduced to just $165, and our MB7 16K RAM board now only $449, Also, you might want to check out our new 1/0-4 board that offers two serial I/O ports [2-1 and 2-0] and two parallel ports (2-1 and

2-0], eliminating jumpers, priced at $149.50. Seek out Cybercom's full and versatile line at your local computer hobbyist store, or contact us directly if you want to build a world of the future today

CLjbBTCDrn

A Division of Solid State Music 2102A Walsh Avenue Santa Clara, CA 95050 Telephone [408] 246-2707

MB7 16K RAM board.

Ask for The True Blues.

Circle 102 on inquirv card.

BYTE April 1978 87

memory addresses, would therefore access items associated In that dimension, ie: the same set of input lines would activate detectors for several "similar" input patterns. Of course with a conventional processor it would be difficult to handle the appearance of a number of memory words simultaneously on the bus, but there are a variety of ways to emulate brain architecture, from fast sequential processing to multiple processors handling memory control.

Finally, the "almost gate" mode of operation is probably responsible for that most impressive of all organic brain functions: the ability to make intuitive leaps that defy the constraints of formal logic. When a computer, as presently constructed, has insufficient data to arrive at a solution using acceptable logical procedures, that's that. But the brain's gates can get there without all the "proper" inputs. They can get there with some of the essential elements missing if the input pattern is similar enough to the correct one to get by the "almost gate." Thus, partial pictures of the state of the world can still suggest correct interpretations. Of course, they may be wrong; they have to be tested against reality. We make mistakes; computers don't. But the very feature of our processing that permits mistakes also enables us to go beyond the limitations of the data and make generalizations and intuitive leaps. In a machine with sufficient power to test its solutions against the real world, the ability to make mistakes is not so serious a price to pay for the advantages.

If you have come with me this far, you have seen what I know, or can guess, about some of the interesting relationships between the brain and the computer. What 1 would like to do in this closing section is to share with you some of the speculations of a brain scientist on that most fascinating of all questions that can be asked about a computer: "Could a computer designed by humans really think and feel emotions and be conscious?" It is a question without an answer of course; we can never know for certain about one another's subjective mental experiences, let alone those of a machine. The question belongs to philosophy, if anywhere, and I am not a philosopher. Working daily with the machine-like functions of brains, however, gives a certain perspective on the problem.

By this point it should be clear to you that, while we are far from understanding all of the workings of the brain, those that we do understand have turned out to be quite comprehensible in terms of machinelike functions. The fact that its gates are

made of compounds of carbon and hydrogen instead of silicon and germanium is hardly reason to draw important distinctions. In my opinion there is nothing yet visible In the brain to suggest the presence, or necessity, of any nonmechanistic property in its operation. Yet there is the mind and the universe of subjective experience, which certainly seem to be nonphysical. On the other hand, the mind is certainly at least the "captive" of the physical brain. By appropriate electrical stimulation of your brain, I could cause you to feel rage, fear, joy or other emotions; I could cause you to experience hunger, or satiety, or any other motivation; I could cause you to remember forgotten events, to see or hear things that were not there just as realistically as if they were. All these things can be done by manipulation of the physical brain. They can be done by electrical methods, surgical methods or pharmacological methods, all of which are physical operations on a physical mechanical device. Yet, they surely and unerringly affect, even determine, the content of subjective conscious experience. I can vouch for it since I've done it (some of it) to my own brain.

Now if the mind is the "captive" of the brain in this sense, it must mean either that the mind is a nonphysical something whose nature and content is determined somehow by the state of the physical mechanical brain, or that the mind and the brain are one and the same thing. I prefer the latter notion simpl-y because it requires fewer assumptions. It says that the subjective experience of our mental activities is simply the brain's perception of its own operations. According to this view, the operation of the visual feature extractors, for example, is the experience of the subjective visual perception. Not that the neural activity somehow causes or gives rise to the mental event, but that they are one and the same thing. The operation of the limbic system /s the experience of emotion. The operation of the basal ganglia is the willing of an action.

The point of view incidentally is not necessarily "mechanistic" in the sense of proposing that the mind is physical in nature. It simply says that the mind which we experience subjectively, and the brain which we experience objectively through the senses, are one and the same thing experienced in two different ways. Whether that "thing" is a part of the physical world (which is a construction of our brain by inference about the subjective sensory experiences we have), or a part of the mental world which we experience directly, is indeterminate. They may even both be simply interpretations of something else.

88 April 1978 ® BYTE Pubticalioni Inc

All that is said is that the operation of the machine-lil<e brain as we know it through the senses, and operation of the mind, are two ways of experiencing the same underlying process.

Now what does this imply about a computer? It certainly does not imply that anything that can produce behavior identical to that of a human being must therefore have a mind and subjective experience. As I have noted at other points in this series, our emotional experiences, subjective sensory experiences and other aspects of our minds are all paralleled by particular brain operations which have necessary and useful behavioral functions. A good robot needs an emotion circuit because it is helpful in generating and controlling adaptive behavior. A circuit that performs this function in the case of the robot, however, need not necessarily be associated with a subjective experience. Even if it caused an advanced robot with linguistic capability to be able to discuss its "feelings," it would only imply that the circuitry in question gave the device the ability to adjust its verbal output appropriately in accord with the conditions it encountered, in a way similar to our own.

On the other hand, if the brain's operation is the source of mental experience, and if the brain /s-a physical mechanical device, it follows that a computer of similar complexity might have subjective mental experiences. The question hinges on just how the operation of the brain leads to the occurrence of that set of subjective ex

periences we call a mind. If there is something unique about the particular operation of the particular sort of physical device we know of as a brain, and if that is a prerequisite for mental experience, then clearly no very different machine can have it. If on the other hand, the sort of subjective experience we know is simply a concomitant of certain kinds of self-sustaining information processing operations, regardless of the physical substrates performing them, then it would not matter how the device was constructed.

Thus, the fact that the brain is understandable in all its operations as a physical information processing device can only tell us that it may be possible for a computer to have subjective experience. Whether one ever does or not is not really an answerable question. I think that what it will ultimately come down to is that if our machines have the capability of interacting with us in a rational manner, and making comments that would indicate emotional experiences if made by another human, then we will come to feel that they have subjective experience and treat them accordingly. That, after all, is in the final analysis all that we know about one another."

BIBLIOGRAPHY

Trehub, A, "Neuronal Models for Cognitive Processes: Networks for Learning, Perception and Imagination," J Theor Biol (1977) 65, 141 169.

Circle 64 on inquiry card.

• FAST, ACCURATE A/D, D/A CONVERSIONS

• EIGHT ANAtOG INPUT CHANNELS

• ONE HIGH-SPEED ANALOG OUTPUT

• OCCUPIES ONE I/O SLOT

• $87.50 KIT $115.00 ASSM.

SC-1 SERIAL INTERFACE CARD

• RS-232 SERIAL INTERFACE

• FULL CONTROL SIGNALS IMPLEMENTED

• MOST VERSATILE SERIAL I/O AVAILABLE

$30.00 KIT $40.00 ASSM.

U.S. Orders Postpaid

SOLUTIONS:

tKJK ivnjiOROLA"D2'

PA-1 UPGRADE KIT

• CONVERTS D2 TO TERMINAL I/O

• RETAINS FULL CASSETTE I/O CAPABILITY

• INCLUDES RT/68MX ROM MONITOR/O.S.

• ALLOWS USE OF BASIC, EDITORS, ASSEMBLERS, ETC.

• RS-232 SERIAL INTERFACE

• DAI w/70 p. MANUAL $69.95

MOTOROLA MMS68104 16K RAM

16K BYTES DYNAMIC RAM ENGINEERED SPECIFICALLY FOR "D2" EXORCISOR — TYPE BUSS $395.00 ASSEMBLED

Master Charge & VISA Welcome

M6800 SOFTWARE ^BASIC COMPILER 1

• 8K EXTENDED BASIC COMPILER

• CONVERTS BASIC PROGRAMS TO FAST, MEMORY EFFICIENT MACHINE LANGUAGE

• DESIGNED'FOR RT/68 — SUPPORTS MULTIPROGRAMMING

• EXTREMELY VERSATILE I/O

• KC CASSETTE 4- MANUAL — $49.95

RT/68MX OPERATING SYSTEM

• EXPANDEDCONSOLE MONITOR ROM

• REAL TIME OPERATING SYSTEM

• DIRECT MIKBUG REPLACEMENT

• PIA OR MULTI-ACIA I/O *^T/68MX ROM w/MANUAL $55.00^

Write or call for Free Catalog.

MlCROW\RE SYSTEMS CORPORATION

P.O. BOX 954 • DES MOINES, IOWA 50304 • (515) 279-9856

April 1978 ® BYTE Publicalions Inc 89

CARD READER

DOCUMATION 0M200

LINE PRINTER

CENTRONICS 306

DYNALOGIC

L

DMS/6B00

SYSTEM

T

bps

7^

MICROSTATION NCI

7T"

MICROSTATION NO. 2

MICROSTATION NO. 3

LINE

SWITCHER

MICROSTATION NO. 4

9600 bps

600 bps

CONSOLE CRT

TERMINAL

MICROSTATION NO. 5

MICROSTATION NO. 6

MICROSTATION NO. 7

MICROSTATION NO. 8

MICROSTATION

NO. 9

Figure 7 The system block diagram of the multiple microprocessor laboratory. This design allows each student team to have a separate dedicated computer with a shared set of peripherals controlled by the main system. The use of a common mass storage, printing and card Input facility avoids the expense of having equivalent facilities at each student station. The "microstations" are small computers with limited (but still interactive) resources.

A College Microcomputer

Bill Foster Bob Southern Algonquin College 200 Lees Av

Ottawa K1S 0C5 CANADA

Facility

Photo I: A group of students using the microprocessor laboratory described in this article.

If a student were asked to design a lab facility for a course in microprocessor hardware and software at the college level, the equipment list could be formidable. From the student's viewpoint there should be one computer per student or pair of students, with quick and simple edit capability, fast assembly, instant hard copy and a source file that nobody else can erase. Other desirable features could be serial, parallel and bus access to the computer for hardware projects, access to callable 10 routines, and simple system operation that would not need an operator. With a budget of less than $20,000, the system first planned by the faculty at Algonquin College in Ottawa CANADA lacked many of the above features. However, by use of fast, shared inputoutput equipment plus simple multipoint network communications, such a facility was designed and implemented in eight months within the $20,000 budget. Approximately 100 students in seven separate lab groups used this facility at Algonquin College during 1977. Photo 1 shows some of the students, each in front of one of the microcomputer stations. Figure 1 shows the system block diagram, including the main computer, a Dynalogic DMS/6800

90 April 1978©BYTE Publicationi Inc

system with dual diskettes, and the nine bus connected microstations, each a stand alone college-built Motorola 6800 microcomputer.

Student programs written in assembly language are entered via data cards, either punched or mark sensed, and are assembled at the Dynalogic main station, which also runs Algonquin's batch software program. Listing of programs is optional, controlled by the students. The assembled program can be executed right in the main station or down-line loaded over a common data bus to one of nine microstations. Each microstation is essentially a 6800 microcomputer with keyboard and LED display, where hardware projects can be interfaced and debugged via software or lab test equipment. Details of the microstations are discussed later. A typical 50 card program can be read, assembled and transferred to one of the microstations in less than 20 seconds. If a listing is also needed, the time would be about one minute; hence the system very easily supports lab sized groups of up to 16 students.

One might wonder why the card reader approach was taken in the design of this system. Aside from the much reduced cost co.mpared to diskettes and low speed terminals at each station, the card reader eliminates the time lost in learning the system operation details and the intricacies of an editor, which is a high overhead for a new student in a 1 semester course. Card input permits errors to be corrected quickly and also permits the student to have full control over the source file. The mark sense option permits students to prepare programs anywhere, an advantage to night school students who may not have access to a card punch between weekly classes. On the output side both time and costs are saved by using one medium speed printer (100 characters per second), rather than many low speed hard copy terminals, such as Teletypes.

This facility was available on an open shop basis to all students from 8 AM to midnight daily, except during scheduled lab periods. After the first week the students operated the system without help, with only a few hours lost during debugging of new system software and hardware. The Dynalogic DMS system itself operated without failure of any kind during 1977.

Program Format and Operation Details

Program format is one instruction per card using the Motorola 6800 assembly language. One job card is required to control

the destination of the assembled program. On it the job terminator (&) is followed by a single digit, 0, for the main system, or 1 to 9 for the appropriate microstation. After the card deck is read, the assembler offers the student the option of listing or no listing, the only necessary response during batch operations.

If the program's object code is to be transferred to one of the microstations, the station's number is then announced on the console video display. If the microstation's receive program is already running, the file is transferred after handshaking between the main station and the appropriate microstation. If the microstation's receive program is not yet running, the main station will continue handshaking attempts along with a repeated console announcement of the destination until the microstation responds, after which down-line loading begins. At 9600 bps, most files are transferred in less than 1 second. Striking K on the console keyboard during listing or while waiting to down-line load an object file will kill the student's job, automatically starting the next job.

At a particular microstation, a fresh copy of the object code is sometimes desirable, particularly during debugging operations. Typing L5 on the main station's keyboard reloads microstation #5's most recent object file from the main station's diskette, eliminating the necessity of reentering a card deck. Programs executed in the main station have available to them an extensive set of callable routines, such as OUTMES, which outputs a user message on the console CRT, and INTERM which inputs a character from the console keyboard, plus a set of read and write routines for the diskette.

Hardware

Figure 1 shows the two serial ports on the main computer station, the 500 bps terminal port connected to the console terminal, and the 9600 bps line port. Under program control, the line port can be steered by the line switcher to communicate with the card reader and line printer or to the "microbus," an RS-232-C serial bus connected to all nine microstations. The line switcher box also contains hardware for parallel interfacing of the card reader and line printer, as well as code conversion hardware for the card reader's output, converting either mark sense code or 029 punch code to ASCII. The microbus uses standard RS232-C signals, but with secondary channel pin assignments at the microstations, per

Acknowledgements

Our sincere thanks go to Sam Zemlak and Andy Ouellette who constructed and tested the line switcher and the nine microstations.

April 1978 © BYTE Publications Inc 91

IDOO

lABO

1900 1800 1700 1600 1500 1400

400 300 200 100

MONITOR - PERMANENT SECTION

BATCH-RESIDENT SECTION

(OVERLAYS EXPENDABLE PART OF MONITOR)

BATCH-READ EXPENDABLE SECTION

7

SYMBOL TABLE

SOURCE PROGRAM

7

ASSEMBLER

7

USER

PROGRAM

AREA

7

PHASE ONE

PHASE TWO

PHASE THREE

Figure 2: The main station wliicli controls the entire system has this memory map in its 8 K byte region of programmable memory. The three phases of a batch processing operation of a given student's job are shown as a horizontal dimension of the memory map.

Photo 2: A closeup of a typical microstation with a student busy using it.

mitting the use of normal RS-232-C pin assignments by the microstations for their own serial communication with other devices.

System Software

The batch software is essentially DYNAMO, the Dynalogic monitor, extensively overlaid to support batch operation. Figure 2 shows the 8 K memory map during three main phases of the batch cycle. During phase 1 we see the source program in memory, as read from the card reader, before it is written out on the diskette. Phase 2 shows the assembler now in memory as it reads the source file and outputs the object file to the diskette. The symbol table builds up from address 1640, the top of the assembler, and may overwrite batch's read routine which is expendable after phase 1 is completed. Up to 90 symbols are permitted. During phase 3 the object code is transferred from the diskette to the appropriate station. A program executed in the main station can use up to 6 K bytes of programmable memory (hexadecimal addresses 0000 to 18FF) and is written as a subroutine which returns to batch upon completion. Batch itself is automatically refreshed from the diskette before the next job, ensuring clean code even if it was previously overwritten by the symbol table or by a runaway student program.

Figure 3 shows the diskette track allocations. Batch itself is stored on track 76. The latest source file, up to 6 K bytes long, is stored on tracks 74 and 75. The object code is stored on tracks 64 to 73, with one 4 K byte track being assigned to each microstation. This permits the reloading of an object file, as mentioned previously.

Microstation Operation

Photo 2 shows a student working at one of the microstations. Each of the nine microstations is essentially a stand alone microcomputer complete with 2 K bytes of programmable memory and several levels of hardware interfacing. Debugging of the hardware can be carried out via programs down-line loaded from the main station or via short routines entered on the 17 key keypad (shown in figure 4). A 4 digit LED display provides visual feedback to the student in either case.

Receiving and running a program loaded by the main station is relatively simple. The designated microstation is set into the receive mode by depressing the control (CTRL) key followed by the receive (RCV)

92 April 1978 © BYTE Publications Inc

key on the keypad. (Throughout the rest of this article, a sequence such as this will be denoted as CTRL RCV.) The microprocessor will then receive the program only after the handshaking sequence takes place. When loading is complete, the hexadecimal starting address of the program is announced on the microstation LED display. CTRL GO will start execution of the program.

Manual Program Entry

Students are encouraged to enter short programs via the keyboard directly in hexadecimal to improve their skills in using machine code. The initial starting address is set up by CTRL LA followed by a 4 digit hexadecimal address. The program is automatically loaded into consecutive memory locations by CTRL LD followed by a series of 2 digit hexadecimal numbers.

Program Debug

A large variety of hardware and software tools have been provided for debugging programs. These debug aids allow the students to trace through a program, stopping wherever necessary to look at internal registers and external 10 conditions.

A program can be checked by reloading the starting address and pushing CTRL XD. Each time XD is pushed thereafter, the next byte of machine code is displayed and the program counter is incremented. If at any time an error is discovered, CTRL CH decrements the program counter and allows the student to change a byte. Besides providing a quick means of loading and checking machine language programs, the above mentioned keyboard control also allows the student to do hardware checks. Since input and output ports look like memory locations in the 6800 system, a student can load and examine data at these locations and determine whether a hardware interface is functioning properly.

Each of the internal registers of the machine can be examined at any time by pushing CTRL ST (assuming that the program has stopped and the microstation is now under keyboard control). The stack pointer, condition code register, accumulators A and B, index register, and program counter are each displayed in turn as ST is pushed. Further flexibility is provided by the single instruction (SI), go trap (GT), and software interrupt instructions which permit controlled return to the user at specific points in the program. Some of the features of these routines are described below.

TRACK 76

- BATCH OBJ

7 5

l| SOURCE

74

J PILE

73

OBJ FILE FOR NO. 9

72

NO. 8

71

NO. 7

70

NO. 6

69

NO. 5

68

NO. 4

67

NO. 3

66

NO. 2

65

NO. 1

64

OBJ FILE - MAIN (0)

n

, SYSTEM

SOFTWARE

Controlled Execution: SI and GT

Single Instruction Routine (SI)

CTRL SI executes a single instruction of the user's program and returns to keyboard control. The address of the next instruction to be executed is displayed on the hexadecimal LED display. Thereafter, each time SI is pushed, an additional single instruction will be executed. Two modes of single instruction are available, each of which can be entered at any time by setting or resetting a flag via the keyboard. The first mode (default mode) returns to the user after each executed instruction, except for subroutines, where return to the user occurs only upon subroutine exit. The second mode, which is entered by depressing CTRL F on the key

Figure 3: Allocation of the mass storage on a floppy disk. In order to allow quick reloading from the microstations, the current microstation object file is kept for each microstation, dedicating one track per microstation and one track to the main computer's object file. Thus if a program blows up in a student's system, it can be reloaded (and patched) without reassembly.

Figure 4: Detail of a microstation keypad. The normal mode of operation is hexadecimal input; when the CTRL key is followed by any other key, one of the 7 7 special functions (see text) is performed.

April 1978 © BYTE Publicaiions Inc 93

IS,

Figure 5: A more detailed block diagram of the system s microstation hardware.

April 1978 © BYTE Publications Inc

pad, executes each instruction separately, including those of the subroutine. Return to the first mode is accomplished by CTRL E.

Go Trap Routine

This is a breakpoint setting routine which can be invoked at any time by CRTL GT plus a trap address. The program runs from the present program counter value and continues until it reaches the trap address. This routine permits the student to check out a specific section of a program.

Software Interrupt Routine

This is a user subroutine which, when called, simply returns the program to keyboard control. The student can insert these subroutine calls inside the program. A keyboard control feature allows him or her to ignore some or all of these breakpoints. This routine is particularly useful for debugging interrupt programs.

Hardware Interfacing

Serial data devices can be interfaced to the microprocessor via a standard 25 pin connector connected to an asynchronous communications interface adapter (ACIA). Parallel interfacing is provided via a 44 pin connector and a peripheral interface adaptor (PIA). Students who wish to design their own interfaces can connect directly to the microprocessor's bus via two 44 pin connectors.

Implementation

A block diagram of the necessary hardware for the system is shown in figure 5. In actual fact more hardware was used because the Motorola Evaluation module was also part of the system. The 2708 erasable programmable read only memory contains the system software which Is accessed via the nonmaskable interrupt (NMI) instruction. Initially the NMI is caused by the user pushing a button on the front panel of the microstation. The beginning of the interrupt routine initializes peripherals, waits for the control key to be pushed, and jumps to one of the control programs based on the encoded value of the next noncontrol key. These control programs are discussed separately below.

LA, XA, LD, XD and GO Programs

These programs involve the program counter (PC) in some way. Setting up or examining the program counter cannot be

STACK

POINTER

AFTER INTERRUPT

A

STACK POINTER BEFORE INTERRUPT

-(5,X) -(6,X)

achieved directly in the 6800 because no instruction permits it. The user's program counter can be set up only during an interrupt of the user program. At this time the user's counter is stored on the stack (see figure 6). It can be located without changing the stack pointer by transferring the stack pointer to the index register using the TSX Instruction. Locations (5, X) and (6, X) now contain the counter value which can be examined or changed at will. Once the program has been loaded, the student can run a program by doing a CTRL GO, which causes a return from interrupt to occur.

Figure 6: The stack frame after an interrupt in a Motorola 6800. In order to reference the stack frame, the content of the stack pointer Is transferred (and Incremented in the process) to the index register, which ends up pointing to the stack frame's first element.

Debug Routines: ST, SI, GT and Software Interrupt

Stack Routine (ST)

When a program is interrupted, the contents of all the registers are stored on the stack. A CTRL ST permits the examination of each of these registers. This is done by moving up the stack and outputting the contents of each register on the LED display. Further movement up the stack allows the student to look at previous activity on the stack. The stack pointer is displayed at the beginning of the ST routine, permitting the student to follow this activity.

Single Instruction Routine (SI)

Here the user program is started, but interrupted after execution of the first instruction. This is done by loading the single instruction counter (see figure 5), allowing it to start counting, and then performing a return from interrupt (RTI) instruction. The RTI instruction takes ten cycles, after which time the user's program will start running. The counter is designed to cause a nonmaskable interrupt (NMI) after 11 cycles, which will be exactly one cycle into the user's program. Thus the NMI

April 1978 © BYTE Publications Inc 95

IDS

INTERNATIONAL DATA SYSTEMS, INC.

400 North Washington Street, Suite 200, Falls Church, Virginia 22046 U£.A.

Telephone (703) 536-7373

88rMODEM: A complete serial I/O port and an Originate/Answer MODEM on an S100 bus connpatible board. The 88-MODEM features automatic auto-dialer (not software timed), operates at any software selected baud rate between 66 and 600

baud, has separate 8-pole transmit and receive active tillers, and all functions are software selected. The 88-(^/IODEIvl provides communicalion to -58 dbm and is intended for use witti either a CBS (1001D) or CBT Data Access Arrangement for connection to the telephone system. The kit price is $245.00.

88-UFC UNIVERSAL FREQUENCY COUNTER; The 88-UFC is an SI 00 compatible frequency and period measurement module. The 88-UFC has four software selected Inputs. Frequency measurement to above 6Q0MHz and period measurement to 1 /10th microsecond are standard. The counter provides nine digits of readout and is priced at $179.00 In kit form.

88-SPIi< CLOCK (vlODULE The 88-SPM provides a time of day Clock and an independent realtime clocl< on one SI 00 compatible module. Provisions are included for battery backup so the 88-SPM can maintain the time during power-off conditions. $96.00 kit

1001D (Type CBT) Data Access Arrangement $125.00 88-RCB 16 Channel Relay Control Board Kit $179,00 MCTK Ivlorse Code Trainer/Keyer Kit 29.00 TSM Temperature Sensing Module Kit 24.00 DAC-8 8-Bit Digital to Analog Converter Kit 19.00 88-TCXO Temperature Compensated Crystal

Oscillator for 88-UFC 145;00 88-XTAL Crystal Timebase option for 88-SPIv1 25.00

TERMS: Payment with order shipped prepaid, added for COD, Master Charge accepted

will returtn the microstation to keyboard control as soon as the first instruction of the user's program has been executed.

Go Trap Routine (GT)

This stores the trap address and executes

continuous single instructions until the program counter equals the trap address.

Software Interrupt Routine

Motorola's SWI instruction was not used to provide this function because the MIKBUG read only memory vectors the software interrupt to its own breakpoint routine and thus makes it unavailable to any other firmware in the microstation. In order to provide the equivalent of the SWI instruction, a software interrupt subroutine is made available to the user. This subroutine uses the single instruction counter to cause an interrupt.

RCV Program

Our receive program is similar to Motorola's MIKBUG Load routine with a few added features. One feature is the handshaking. The microstation must receive a microstation identification number and reply with the same number before it can receive data. Since all the microstations are on a common bus, a transistorized three state RS-232-C output is provided for the line. Another feature of the RCV firmware loads the address of the first data blocl< into the program counter (via the stack) and returns the microstation to keyboard control so that CTRL GO causes immediate execution of the program.

Future Plans

An Altair 8800 with a resident assembler

has been acquired to act as one of the microstations. It will receive and assemble 8080 source programs that have been sent from the card reader via the microbus and will then provide a listing to the line printer if so desired. Finally, it will either run the job locally, inside the Altair computer, or will down-line load the object file to one of eight 8080 microstations that will be located on a second microbus.

Summary

The final acceptance test of any system is always provided by the user, who in this case is the student. The students' reactions have been very positive judging from the way they handle complex software and hardware projects on the system during the semester."

96 April 1978©BYTE Publications Inc

Circle 58 on inquiry card.

WDrkhorseor Horseplay?

Software systems from TSC are designed for tough business and industrial uses on the job or just plain tun ott the job. Whether you are looking for a system to be used primarily in a working situation or a system for the home, look into TSC software. Assembly Language Programs (Includes Source Listings)

SL68-29 680G Text Processing System* $32,00 SL68-24 6800 Text Editing System* $23.50 SL80-10 8080 Text Editing System $28.50 SL68-26 6800 Mnemonic Assembler* $23.50 SL68-19 6800 Micro BASIC Plus* $15.95 SL80-9 8080 Space Voyage $12,00 SL68-5 6800 Space Voyage* $12,00 SL68-27 6800 Disassembler $ 9,00

SL68-28 6800 Program Reloccrtor $ 8,00 SL80-8 8080 Blackjack $ 6,50

"Kansas City Standard object code cassette tape available for an additional $6.95. Paper tapes available for some programs. Send 25C for complete catalog,

lechnical Systems Consultants, Inc.

BOX 2574 W. Lafayette. Indiana 47906 317-423-5465

Specialists in Software & Hardware for Industry & the Hobbyist

Program-of-the-Month Club™

One year membership for $2,00, Discounts

offered wiih no obligations.

To Order: Include 3% postage, $1,00 handling

on orders under $10.00, and Indiana residents add 4% sales tax. Check your dealer!

TSC Monthly Feature:

8080 Text Processing System

Over 50 commands in the Text Processor allow formatting capabilities such as multiple spacing, indenting, saving contiguous text, various forms of justilication, titling, page numbering and line length control. Macros are supported for special user-defined formatting commands allowing footnotes, form letters, etc. There are even number registers for variable storage, conditional commands, and terminal prompts.

The text file must be edited externally. The TSC Text Editing System is recommended, as it and the Text Processor give your computer the power of the most complete text processing systems. The complete assemjaler language source listing is included.

SL80-11 8080 Text Processing System $32.00 With Paper Tape $41.00

Circle 112 on inquiry card.

BYTE April 1978 97

The disk system you want at a price you didn't expect from a company that understands systems.

98 BYTE Aprill 978

THEVISTA<50

FLOPPY DISCOUNT

We know that one of the biggest problems in personal computing is that you're buying with your own personal dollars.

That's precisely why you're going to like doing business witti us.

We're Vista Computer Company, the personal computer systems brainchild of the business computer systems people at Randal Data Systems.

And our V80 Floppy Disk System is a perfect example of how we're prepared to help you get the most out of your personal computing dollars.

$649 buys you the whole kit and kaboodle

The $649 you spend on a Vista V80 Floppy Disk System ($749 assembled) gets you everything you need:

An 80K byte minifloppy drive (assembled and tested) that can be powered directly by your 8080 or Z-80 computer (Case and power supply optional.) An I/O cable and a single card, 8100 buscompatible controller kit that handles up to four drives and includes a PROM for bootstrap loading (additional drives just $399). VOS, the most advanced microcomputer disk operating system available, and our BASIG-E compiler, designed to work with VOB» al| on a

single diskette. Software functions include instantaneous program loading, named dynamic files, program editing, assembling, debugging, batch processing, and file copying on back-up diskettes.

All backed by the Vista 90-day warranty, membership in VUE (Vista Users' Exchange), and Dataforce, our associated service company with 115 locations throughout the country.

Test drive the V80 at your local computer store

Drop by your nearest computer store and run the VBO through its paces. Once you find out what it can do for you, you'll see that our combination of high performance and low price is hard to beat and easy to take.

We love to talie orders

If you'd like us to ship you a Vista VBO Floppy

Disk System, they're available now. Just send us a check or money order for the amount of purchase, or your BankAmericard/ VISA or Master Charge account number with expiration date and authorized signature. California residents add 6% sales tax. Uncertified checks require six weeks processing.

To place your order, or to obtain further information, call or write today.

Vista Computer Company, 2807 Oregon Court, Torrance. CA 90503. (213) 320-3880.

Vi/tQ

We never forget it's your pocket.

Circle 120 on inquiry card.

BYTE April 1978 99

Continued from page 35

Listing 4: 16 bit Integer multiplication; only the rightmost bits are retained, making this multiplication also valid for 16 bit unsigned integers. If 11-13

are in lower 255 bytes of memory, the product will be formed in about 140 machine cycles. The stack, Index register and operands are all unchanged.

0 0002

BCIC

FM

taoic

OOOOJ

BOID

SM

EQO

FM+1

0 0004

HO It

UFP

ecu

SMtl

OOOOS

ROIF

ECU

UHP+l

0000b

0000

0002

I 1

RHb

2

00007

0002

0C02

12

RMH

2

OOOOS

0004

0002

13

HKd

2

00009

0100

SlOO

00010

*

0001 1

bLBHOUTINE MPY16T

0 001 2

*

000 13

*

puhpose: to

MULTIPLY TKO 16 BIT

00014

«

THUS CUMPLtMENT INTEGERS GIVING

OOOIS

«

A 16 BIT TlnOS

CUfPLfMENT RESULT

00016

*

00017

*

parameters:

00018

*

00019

«

I 1 —

TWO DYTfc FOfI CNE MUL1IPLICANO

00020

*

I 2 —

TWO BYTE AREA FUR OTHEH

00021

*

13 —

TWO HYTE PPODUCT

00022

«

00023

*

RESTRICTIONS:

00024

*

00025

*

acca ano accb

AHE DESTROYtD

0002&

*

usts hakubare

MULT 1 PL IER

00027

•

00023

0100

86

06

MPV16T

LOA

A

«&

SET MULTIPLIER TO

00029

0102

B 7

eoiE

STA

A

UHP

STRIP BflTH SIGNS

000 JO

0 105

96

0 1

L DA

A

11 + 1

00031

0107

H 7

fcO I c

STA

A

FM

SIGN STrtlPPtO

00032

OlOA

06

03

I.CA

U

12+1

A2 ANO B2

00033

OIOC

F 7

801U

STA

a

SM

0 0 034

0 1 OF

B6

80 1 E

LOA

A

URP

STORE IN 13

0 0 035

0 112

9 7

04

s r A

A

I J

00036

0 114

LOA

A

LHP

00037

0117

97

OS

STA

A

I3tl

0 0 038

0119

7F

BOIE

CLR

URP

CLEAR STRIPPER

0 0039

0 1 1 c

F7

e 01 c

STA

u

FM

REMEMBER 82 IS

0 0 040

0 1 1 F

96

00

LOA

A

1 1

IN ACCB

0 0 041

0 121

a?

801D

i>IA

A

SM

FORM U2*A1

0 0 042

0124

R6

80 IF

LDA

A

LRP

9B

04

ADO

A

13

ADO TO PRODUCT

0 0 044

0 1 29

97

C4

S lA

A

I 3

0 0 0 ^4

0 1 2R

96

C2

LDA

A

12

FORM m*A2

00046

0 1 20

B7

60 1 C

STA

A

FM

00047

0 130

96

01

LCA

A

Il + l

00048

0 132

87

eolo

STA

A

SM

0 0 049

0 1 35

U6

801F

LCA

A

LKP

OOObO

0 1 38

96

04

ADO

A

13

ADO TO PRODUCT

0005 1

0 I3A

97

C4

STA

A

13

000b2

0t3C

96

01

LDA

A

Il + l

00053

0i3E

OC

CLC

PREPARE FOR ROR B AT ONLYA

00054

0 13F

SO

TST

a

BETA 8 SET?

00055

0 1 40

2D

C4

tiLT

THYA2

00056

0 142

40

f bl

A

ALPHA 8 SET?

00 057

0 143

20

G5

BLT

ONLYA

00058

0145

39

NTS

wfc GOT LUCKY

00059

0 146

40

TRYA2

TST

A

ALPHA 8 T0U7

OOOoO

0 147

2D

OF

ULT

BOTH

0006 I

0 1 49

1 6

TABMPY

TAB

00062

0 1 4A

5fc

ONLYA

KCK

B

SHIFT RIGHT

0006 J

0 1 4R

24

06

BCC

ZDUT

OI^E OUT?

00064

01 40

86

eo

LOA

A

IIIS80

YtS - ADD IT

0006S

0 14F

90

OS

Ado

A

13*1

TC LEFT PRODUCT

00066

0151

9t

05

STA

A

13+1

00067

0 1 53

09

04

zauT

ADC

d

13

ADD REST TO

00068

0 1 55

07

04

STA

d

13

LEFT PRODUCT

0 0 069

0 157

39

RTS

0 0070

0158

va

BOTH

ASA

UNLUCKY CASE

00071

0 159

88

80

ADD

A

«S80

AbjUST CARRY OUT

00072

01 SB

20

EC

URA

TABMPY

00073

END

the adding), which is not even a negative number (considered as a 14 bit product plus sign). Extending the most significant 1 to the left seems to help at first until one considers the problem 30 X 17: as 8 bit numbers, we have 30 = 00011110,17 = 00010001 and their multiplication by the above scheme gives the same 000000111111110; since no one would agree that 510 = -2, something must be wrong. A clue was mentioned earlier, something about leading ones being insignificant for negative numbers. Sure; well, at least it's worth a try.

Let's create 16 bit numbers from A and B by extending the sign bit of each to the left eight bits, and carry out the usual unsigned binary multiplication algorithm on these 16 bit numbers (keeping only the rightmost 15 bits). The product will be the correct (except for overflow, which results in -128X -128 "=" -16384) 14 bit two's complement number plus sign. In algorithm 1, this process is described; M6800 assembly code is given In listing 3 to implement this logic.

Integer Arithmetic

The multiplier we used for fast addressing performs the function just described, multiplication of two 8 bit two's complement numbers giving a 14 bit product plus sign. We now consider application to fixed point arithmetic. We start with 16 bit two's complement integers; the PDP-II series of minicomputers, for instance, and some versions of BASIC have integers of this type. In an 8 bit computer, such an integer A is stored in two successive bytes, say A-j and A2; we must also speak of the bits in A, say oiQa-] ... ai5 and the number 32 formed from A2 by replacing ag by 0 (ie: a2 = 0 ag .. . ai5). In figure 4, we display the product of two numbers A and B represented this way without the as and |3s. '

On the (eft, we display in a vertical column the subscripts of the /Jj, and next to each j the subscripts of the aj which (3j multiplies. The product is formed by summing each vertical column with carry. We can see much of this pattern is made up of parts of an 8 bit two's complement multiplication: for example, the part in the upper right corner is a2b2 (recall a2 is the positive two's

100 April 1978 © BYTE PuUications Inc

ARTEC CRAFTSMANSHIP HAS CREATED

The First Truly Silent Motherboard

Noise in your bus lines means errors in your programs. The Artec shielded Motherboard totally eliminates noise.

At 4MHz, the Artec shielded Motherboard is free from spurious noise. No ringing in your bus lines. No errors in your programs.

This Motherboard offers you engineering and craftsmanship never before available in the small computer field. Outstanding as either a replacement for your present Motherboard or as the heart of a new system. Consider these features:

■ Vsth inch thick—more than twice as thick as most Motherboards.

■ Totally shielded—all holes plated through; full bus termination

■ Fits easily into any^n? dard chassis.

■ Misterite edge Mnnectors—the finest quality connectors available.

■ Reflowed solder circuitry.

■ No soldering required.

■ Designed for the S-100 bus.

The Motherboard price is: $150(kit)

$190 (ASSEMBLED)

Five years of experience in every card

For five years, Artec has worked hard to develop a complete line of custom, prototype and off-the-shelf printed circuit boards. And in five years of tough industrial use, Artec boards have proven themselves among the most reliable boards available anywha®.

NEW! DEC® and Heath Compatible LSI Boards

The new Artec WW11 lets you adapt or add mm your dec LSI-11 or Heathkit LSI minicomputer. Can accommodate 14 and 16 pin - - \DIPs plus all necessary >3j passive components. ] FULL CARD $75

(10.45" X 8.4') .

HALF CARD $35 ,

1-5 225" X 8.4-; ^ --V^,™,,. /■*

Circle 6 on inquiry card.

Trademark of Digital Equipment Corporation

Order today!

Put an Artec board to work for you. Use your

Mastercharge or Visa. Or just send along a money order. We can accept only U.S. currency Please include $3 handling on alt orders. California residents add 6% sales tax.

Please send me: (include quantity)

Shielded Motherboard

Full WW11 Card

Half WWII Card

□ IVe enclosed a money order for $

□ Mastercharge □ Visa

(number)

(exp. date)

Name

Address

City.

State.

.Zip.

Calif. Res. add 6% sales tax. End. S3 handling, w/a discount for students and computer club members. (Please enclose name of club or school)

mec eiecTROMO, inc

Artec Eleotrorilcs, Inc.'605 Old County Rd.'San Carlos, CA 94070 (415) 592-2740

BYTE April 1978 1 01

Figure 5: Alignment of tiie rightmost 16 bits of a product of two 76 bit Integers, relative to two 8 bit words of memory. Note the overlap (*) of the agPg term which appears twice. This overlap is also seen in figure 4, which was used to derive this partial product representation.

WORD 1

WORD 2

lOil 2 3 4 5 6 7i8igi011 1213 14 15i

Ai B2

A2 Bi

"8 B2

I I I I I > I I I

32 b2

I I I I I

I

Source of Intermediate Term

8 bit two's complement multiply 8 bit two's complement multiply 8 bit two's complement multiply

program logic

A Note about the Flowcharts...

• The flowcharts labelled algorithm 1 to algorithm 4 in this article were supplied In camera ready form by the authors. They were produced at Texas A&M University using flowchart documentation packages and plotter outputs. They provide an excellent Illustration of practical applications of computer technology In the field of Illustration and drafting.

Algorithm 2: A 16 bit signed two's complement multiplication, implemented with 8 bit by 8 bit signed two's complement operations (products A2*B2, A1*B2, A2*B1 as defined In text). This Is coded in 6800 assembly language in listing 4, using the MPY-8AJ hardware.

c

ENTRY: IE B MULT I PL 1 CRT IDN

—T~

STRIP BIEN5 OF R2 HNI> B2 RND MULTIPLY

STORE PRODUCT

FORM RI»tB2

RDD RIHHT a BIT5 TO LEFT PRODUCT

FORM RZ»B|

HDD RIBHT B BIT5 TO LEFT PRODUCT

CLERR

RDD 12a TO RIGHT PRODUCT

t

SET.

ADD WITH CRRRY BI TO LEFT PRODUCT

CORRECT FDR CRRRY-OUT BY HDDINE I2B TO HI

MOVE HI TO BI

(exTt)

102 April 197S ® BYTE Publications Inc

Prototype Boards... Adapters to S-100 Bus...

Heath H-8, Radio Shack TRS-80, SBC-80/10, Pet, Kim, SWTP 6800, Motorola Exorciser...

We supply adapters to permit using most S-100 boards for nearly all of the popular microprocessor systems; our Heath H-8 and SBC 80/10 adapters plug into their respective mainframes and piggybacl< one S-100 board. To use additional 8-100 boards, you simply go to an external S-100 backplane with a ribbon cable. The Radio Shack (Tandy) TRS-80 adapter is connected by ribbon cable and is an S-100 size board that plugs into any S-100 backplane (a variety of backplanes are available from us). Similar adapters will be Introduced shortly for 6502 and 6800-based systems such as the Pet, Kim, SWTP 6800, and the Motorola Exorciser.

The introductory price of the H-8, SBC 80/10 and TRS 80 adapters in kit form are $ 49.95

Price is subject to change without notice.

111$ S-tOa GENERAL PURPOSg BOARD (iiios) $19.95

meS'lOO WIRE WRAP SOARD..„ $20.95

1190 HEATH H»8G-F BOARD(JifMA.)... .,. $ 29.96

1191 HEATH H-8 WIRE WRAP BOARD *,,.,, .;,iS:34^S i

1204 HEATH H-8 EXTENDER BOARD. $24.05

1192 MOTOROLA BCORCtSER G-P BOARD $ 29.96

1193 MOTOROU EXORCISER WW BOARD {Kius.) ......$ 34.95

jiiiiiiiiiiiiiiiiiiitiiii

SWT-2 SWT-1

iiiiiiiiiiii

$15.95 $ 8.95

iiiiiiiiiiiiiiiii.

DEC PDP-8, PDP-11, tSI-11, HEATH H-ll — QUAD WIDTH

iwut,} Special Prfce $31.95

DUAL WIDTH ie.96

Excelfent vafue for any home br^w

SBC 80/10 Prototype Boards COMING SOON!!!

Memory and video boards available for Heath H-8 system. Send stamped, self-addressed envelope for details.

Heath and SWTP boards come with appropriate connectors. General Purpose (G-P) prototype boards can be used either for point-topoint wiring or with wire-wrap sockets; obviously, wire-wrap versions Intended for wire-wrap sockets and wire wrapping only. AM $1.S0 per order for shipping, handling, and Insuranee.

Available from your favorite dealer. ..OR.

P.O. Box6215, Syracuse, New York 13217 (315) 422-6666

Circle 19 on inquiry card.

BYTE April 1978 1 03

BYTE 1

BYTE 2

0 1 2 3 4 5 6 7i8

I15I16

ai b

1 °1

ai b2

82 bi

orgBi

BYTE 3

(ai 63)R

(32 b2)R

(a3bi)R

018 B2

23

1 ■ s

«16 Bl

Ai /38 A2

* * * * * ★

Figure 6: When performing floating point operations, a 24 bit mantissa is convenient. Here is siiown a partial product brealidown, witli components of tile products designated as in figures 4 and 5. Ttie hardware muitipiier is used to form partial products marked with a star (*). The term R indicates partial products formed with the multiplier's rounding Input active. This partial products sum assumes positive operands; the use of signed operands is accommodated by extending the sign bit (most significant bit) left as indicated by arrows. As in other illustrations of this article, bits are numbered from the most significant (0) to the least significant (23).

complement number Oag ... 0:15, b2 the number 0)3g . . . Pi5). Also, the lower triangle is the least significant eight bits of the product Bi A2. In figure 5, the alignment of these partial sums is displayed relative to two 8 bit words which contain the product. (A little calculation shows that the product A2B2, as an 8 bit two's complement product, is of little use; only the rightmost eight bits will be correct. The wedge left over in the center would be the leftmost bits of Ooig ... a-] 4 X OjSg . .. |3-i4 were it not for carry from the right part of this product.)

While it is easy to change A2 into 32 (for example, if A2 is in accumulator A, the instructions LSR A; ROL A do the trick in a mere four cycles), it seems a good thing for hardware to be doing. Recall our "port" is four bytes wide and we are only storing multiplicands in two of them. A third can be used for a "condition set." We might, for instance, use bit 5 to strip the sign from the contents of FM, bit 6 to strip the sign from SM (the first and second multiplicands). We use URP for the address of "condition set." Algorithm 2 shows one order in which the parts of figure 5 can be formed and added. Note that most of the additions do not require carry out.

The program in listing 4 is at least three times faster than usual 16 bit multiplication

mm ^„,,ness, 4-C has introduc'.d

4.C's P'°6'»"» ",\„ be corf.6"»<"°„fJis„ict

/v^vailable

ven package. mvited. lust circle the e

,X^'o^ ««LAB« SOON

... MO«, AVAILABLE . Medical

r»neral Ledger . Labor Distribution

Accour^ts payable . sales Analysis

Accounts . purchasing

inventory , Order Entry Billinfl

and a and prov'

Dealer i service request

Meaicai

control

6800 Application Software from

P. O. BOX 530 MUNDELEIN, IL

60060

104 April 1978 G BYTE Publications Inc

Circle 48 on inquiry card.

Order your Apple II now.

from any one of the following autfiorized dealers:

Computerland 3020 University Dr. [\I.W. Huntsville 539-1200 The Computer Center 303 B. Poplar Place Birmingham 942-8567

ALASKA

The Alpha Corporation 100* InflAirpoilRd. Anchorage 279-1316

Tsam Electronics

Anchorage 276-2923 Anchorage 272-4823 Fairbanks 456-4157 ARIZONA Byte Shop Tempe 894-1129 Phoenix 942^7300 Tucson 327-4576 CALIFORNIA

A-VIDO Electronics 2210 Bcllllower Road Long Beach 598-0444 Byte Shop

Gitms Heights 951-2983 Palo Alto 327-8080 tesadena 684-3313 ^anJose 377-4685

San Mateo 341-4200 Santa Clara 249-4221 Walnut Creek 933-6252 Computerland ElCerrito 233-5010 Hayward 538-8080 Inglewood 776-8080 Mission Vieio 770-0131 San Diego 560-9912 San Francisco 546-1592 Thousand Oaks 495-3554 Tustin 544-0542 Computer Components 5848 Sepuiveda Blvd. VanNuys 786-7411

Computer Country 506 E. 1st. St. Tustin 838-4770 Computer Playground 6789 Westminster Avenue Westminster 898-8330 Gomputer Store 1D93.MISSlon St. .San Francisco 431-0640 The Computer Store 820 Broadway Santa Monica 451-0713

Electric Brain

3038 N.Cedar Ave.

Fi^sno 227-8479

Home Entertainment Emporium

2100 Sepuiveda Blvd.

Manhattan Beach 546-2501

Rainbow Computing, inc.

10723 White Oak

Granada Hills 360-2171

Strawberry Electronics

71 Glenn Way #9

Belmont 595-0231

COLORADO

Byte Shop

3464 S, Acoma St.

Englewood 761-6232

Team Electronics

Boulder 447-2368

Colorado Springs 596-5566

Fort Collins 484-7500

Sfand Junction 245-4*55

Greeley 356-3800

Longmont 772-7800

Pueblo 545-0703

CONNECTICUT

Computerland

2475 Black Rock Turnpike

Fairfield 374-2227

The Computer Store

63 S. Main St.

Windsor Locks 627-0188

DELAWARE

Computerland Kirkwood Highway Newark 738-9656

FLORIDA Byte Shop

Ft. Lauderdale 561-2983 Miami 264-2983 GEORGIA

DataMart, inc. 3001 N. Fulton Drive Atlanta 233-0532

HAWAII

Real Share

190 S. King Street .#890 Honolulu 536-T041

ILLINOIS Computerland

Arlington Heights 255-6488 Niies 967-1714 Oakiawn 422-8080

Data Domain 1612 E. Algonquin Rd. Shaumburg 397-8700 Itty Bitty Machine Company 1316 Chicago Avenue Evanston 328-6800 Team Electronics Carpentersviiie 428-6474 Decatur 877-2774 Galesburg 344-1300 lyioline 797-8261 Peoria 692-2720 Rock Island 788-9595 Rockford 399-2577 Schaumburg 882-5864 Springfield 525-8637 INDIANA The Data Domain Fort Wayne 484-7611 Bioomington 334-3607 West Lafayette 743-3951 Indianapolis 251-3139 The Home Computer Center 2115 E. 62nd St. Indianapolis 251-6800

IOWA

The Computer Store 4128 Brady St. Davenport 386-3330 Team Electronics Ames 232-7705 Bettendorf 355-7013 Cedar Rapids 393-8956 Davenport 386-2588 Dubuque 583-9195 Iowa City 338-3681 Sioux City 252-4507 Sioux City 277-2019 Waterloo 235-6507 Video Midwest, Inc. 2212 IngerSQil Ave. ■ DeslMoihes 244-1447

KANSAS

Barney & Associates 425 N. Broadway Pittsburg 231-1970 Team Electronics Garden City 276-2911 Hutchinson 662-0632 Lawrence 841-3775 Manhattan 539-4636 Salina 827-9361 Topeka 267-2200 Wichita 685-8826 Wichita 942-1415 Wichita 682-7559 KENTUCKY Computerland 813 B. Lyndon Lane Louisville 426-8308 The Data Domain Lexington 233-3346 Louisville 456-5242 MARYLAND Computerland 16065 Frederick Road Rockville 948-7676 Computers, etc. 13A Allegheny Ave. Towson 674-4742

MASSACHUSETTS

The Computer Store, Inc. 120 Cambridge Street Burlington 272-8770

MICHIGAN

Team Electronics

Escanaba 786-3911 Menominee 864-2213

MINNESOTA Team Electronics

Minnetonka 544-7412 Edina 920-4817 Eden Prairie 941-8901 Bemidji 751-7880 Willmar 235-2120 St. Cloud 253-8326 Owatonna 451-7248 Ribbing 263-8200 Virginia 741-5919 St. Anthony 789-4368 West St. Paul 451-1765 Minneapolis 377-9840 St. Paul 227-7223 St. Cloud 251-1335 Minneapolis 869-3288 Minneapolis 378-1185 Maplewood 777-3737 Mankato 387-7937 Eveleth 749-8140 St. Paul 636-5147 MISSOURI

Electronic Components, Intl. 1306-B South Hwy 63 Columbia 443-5225 Team Electronics Biscayne Mall 301 Stadium Blvd. Columbia 445-4496

MONTANA

Computers Made Easy 415 Morrow Bozeman 586-3065 Team Electronics Great Falls 852-3281 Missoula 549-4119 NEBRASKA Team Electronics Grand Island 381-0559 Lincoln 435-2959 Omaha 397-1666 . Omaha 333-3100 Norfolk 379-1161 North Platte 534-4645 NEW HAMPSHIRE Computermart 170 Main Street Nashua 883-2386

NEW JERSEY

Computerland 2 De Hart Street Morristown 539-4077

Computermart 501 Route 27 Iselin 283-0600

NEW YORK

Computerland Buffalo 836-6511

Ithaca 277-4888 Computer Mart of N.Y. 118 Madison Ave. New York 686-7923

Co-op Electronics 9148 Main Street Clarence 634-2193

NORTH CAROLINA

Byte Shop

1213 Hillsborough St. Raleigh 833-0210 Computer Room 1729 Garden Terrace Charlotte 373-0875 Rom's & Ram's Crabtree Valley Mall Raleigh 781-0003

NORTH DAKOTA Team Electronics

Bismarck 223-4546 Fargo 282-4562 Grand Forks 746-4474 Minot 852-3281 Wiiiiston 572-7631 OHIO

Computerland 1304 SOM Center Rd. Mayfield Heights 461-1200 The Data Domain Dayton 223-2348 Cincinnati 561-6733 OKLAHOMA Bits, Bytes & Micros 1186 N. MacArthurBivd. Oklahoma City 947-5646 High Technology 1020 W. Wilshire Blvd. Oklahoma City 843-9667

Team Electronics

Norman 329-3456 Oklahoma City 634-3357 Oklahoma City 848-5573 Stillwater 377-2050 Tulsa 633-4575 Tulsa 252-5751 Yokon 373-1994 OREGON Team Electronics Bend 389-8525 Canby 266-2539 Salem 364-3278 PENNSYLVANIA Computer Mart of PA Route 202

King of Prussia 265-2580 SOUTH DAKOTA Team Electronics

Pierre 224-1881 Rapid City 343-8363 Sioux Falls 336-3730 Sioux Falls 339-1421 Sioux Falls 339-2237 Watertown 885-4725

TEXAS

Byte Shop 3211 Fondren

Houston 977-0664 Computerland Houston 997-0909 Austin 452-5701 Computer Shops, Inc. 13933 North Central Dallas 234-3412 The Computer Shop 6812 San Pedro San Antonio 828-0553

Computer Terminal 2101 Myrtle St. El Paso 532-1777 The KA Computer Store 1200 Maiesty Drive Dallas

The Computer Hardware Store 818 Franklin St. Alexandria 548-8085 Home Computer Center Virginia Beach 340-1977 Newport News 595-1955 Timberville Electronics P.O. Box 202 Timberville 896-8926

WASHINGTON

Team Electronics 423W.Vakima Yakima 453-0313

WASHINGTON, D.C.

Gerogetown Computer Store 3286 M. St. N.W. Washington, D.C. 362-2127

WISCONSIN Team Electronics

Eau Claire 834-0328 Eau Claire 834-1288 Madison 244-1339 Milwaukee 461-7600 Racine 554-8505 Sheboygan 458-8791 Greendale 421-4300 Rhinelander 369-3900 LaGrOsse 788-2250 Wausau 842-3364 Milwaukee 672-7600 Janesviiie 756-3150 Manitowoc 684-3393 Milwaukee 354-4880 Oshkosh 233-7050 WYOMING Team Electronics Hilltop Shopping Center 207 S. Montana Casper 235-6691

CANADA

Future Byte

2274 Rockland

Montreal, Que. 731-4638

AUSTRALIA

Computerland 52-58 Clarence St. Sydney, NSW 29-3-153

appkz computer inc.

10260 Bandley Drive Cupertino, California 95014 (408) 996-1010 SEE OUR PRODUCT AD ON PAGES 8 AND 9. EURAPPLE

European Operations of Apple Computer, Inc. 2031 Byron Street Palo Alto, CA 94301 (415) 964-7020

Circle 4 on inquiry card.

BYTEAprin978 1 05

due to use of the hardware multipher. (Motorola program PGM7, for instance, uses about 700 machine cycles.) No use is made of the stack or index register, and the numbers multiplied are left unchanged. (Many multiplication routines gobble the operands as they go.) Similar programs (with roughly the same gain in speed) can be written for integer multiplication of 3 or 4 byte length. Nothing new happens, however; our hardware multiplier still needs to return the product right justified in two bytes (with bit 0 off).

Well, we're in for a little surprise.

Number Crunching

Another application of our multiplier is

to floating point multiplication. Floating point arithmetic allows us to keep track of numbers with a vastly larger range than fixed point arithmetic would in the same amount of storage. The reasons for adding floating point operations to a microsystem lie be

yond the scope of this article, but we include this because something curious happens when an 8 bit two's complement multiplier is used in floating point multiplication.

The system we decided on for floating point representation allows a range of about ± (10-38 to 1037) (plus the number 0) and has an "accuracy" of about seven decimal digits. Byte 0 holds the exponent e, the power of 2 in two's complement form, and bytes 1 to 3 hold the two's complement normalized mantissa m. (Norma/ized means - 1/2<m<-1 or 1/2 <m<1.) The number represented is m X 2^.

This system was picked mainly for speed. IVIemory was also considered: greater accuracy uses more time and space to store user data. More complicated and lengthy routines to compute transcendental functions, for instance, are required. Since we were designing a floating point package from scratch, compatibility with established methods did not seem to matter much.

Lam

XI

X7

WITH

DE

D0

CLOCK

if

LDHD YI-Y7 WITH DE-I>0

CLERR 5TR1P SIGN X

CLDCtC Y

:i>2

WRIT 1/2 CLOCK CYCLE

CLOCK

CLERR STRIP 51BN Y ^

BET OVFLW

(^exTt)

SET FF TO ROUND

SET FF TO STRIP SIGN X

I

SET FF

TO STRIP SIGN Y

Algorithm 3: Hardware write cycle operations at the interface for the high speed multiplier. This algorithm shows the actions needed during a write cycle in which the computer sets up operands. Address 0 writes the X operand from the data bus, optionally stripping the sign bit. Writing to address 1 also performs the multiplication by clocking the product latches after a suitable wait period of one half the microprocessor's clock cycle. Writing to address 2 Is used to set the state of three flip flops which control the multiplier's ROUND input, stripping of sign from X Inputs and stripping of sign from the Y Input. Default values which are initialized on power up, as welt as a system reset, have all three control flags cleared.

106

April 1978 S) BYTE Publicalions Inc

inpei§onsu " computing books!

First H««l^«i!^|^

HOW TO PROFIT FROM YOUR PERSONAL

COMPUTER:

Professional, Business, and Home Applications By T. G. Lewis. Describes how to put tlie computer to work for you. #5761-X, paper, 256 pp., $7.95

HOME COMPUTER SYSTEMS HANDBOOK

By Sol Libes. A technical look at personal computers. #5678-8, paper. Available April, 1978

THE FIRST BOOK OF KIM

By Jim Butterfield, Stan Ockers, and Eric Rehnke. How to write KIM programs, with illustrations. #5119-0, paper, 176 pp., $9.00

FORTRAN WITH STYLE: Programming Proverbs

By Henry F. Ledgard and Louis J.

Chmura. Programming style guide that conforms to the new definition of standard FORTRAN.

#5682-6, paper, 176 pp., Available May, 1978

basic basic

""" , ,„ sieund in*"

t "i ■■- „ JUJESS.C0*«

■Ssr""""'-"'':.;

BASIC BASIC, Second Edition

By James S. Coan. Fundamentals of BASIC programming. #5106-9, paper, $8.95; #5107-7, cloth, 288 pp., $9.95

HOW TO BUILD A COMPUTERCONTROLLED ROBOT

By Tod Loofbourrow. Provides an application of a microprocessor and hands-on experience with robotics. #5681-8, paper, Available May. 1978

These NEW books join our winning list of best sellers including: Advanced BASIC (Coan), The BASIC Workbook

(Schoman), Game Playing with BASIC (Spencer), Digital [Tin Hayden Book

Troubleshooting (Gasperini), Digital Experiments LjpJ Company, Inc. (Gasperini), Standard Dictionary of Computers and 50 Essex Street

Information Processing (Weik), Telephone Accessories Rochelle Parl<, NJ 07662

You Can Build (Gilder)

Available at your local computer store!

Circle 52 on inquiry card.

BYTE April 1978 1 07

select! j>

10

»^clock| >

ENABLE OUT

CLOCK P<

^ ]>CLOCK X CLOCK Y CLOCK C

Figure 7: Clocking and input address decoding. 10 select, RW, $2 CLOCK and address Rq, ^1 are present on the SwTPC 10 port bus. Signals CLOCK X, CLOCK Y, and CLOCK P go to the IVlPY-SAj. CLOCK C is used to set condition code for sign stripping and rour)ding (see figure 8), and EN A BLE OUT is used to enable three state output buffers (figure 9). IC1 Is an MSI device, a 2 to 4 decoder (half of a 74LSI39); IC2 is half a 7474, a positive edge triggered flip flop with preset and clear. Details of this circuit in relation to the entire high speed multiplier subsystem will be found in the complete schematic to be presented In part 2 of this article.

Let A and B be two floating point numbers in tiiis representation. We consider the problem of calculating A X B. First of all, the exponent is no problem — just add — so we will forget that for now. Let the mantissa of A be A-] A2 A3 (each Aj is a 1 byte word) and that of B be B-] B2 B3. Suppose both A and B are positive (so that A-| and B-j are positive two's complement numbers).

Let the bits of A's mantissa be oiqol-] .. . Q!23 ^"'^ those of B's be jSQ^i ... 1323- We need also the unsigned parts of the bytes Aj and Bj obtained by setting the first bit zero; call these aj arid bj. For

example, A2 is agag ... and a2 is Oag ... a-] 5. We now think of each of the aj and bj as being a mantissa: thus

a-, = a-,/2 + 02/2^ + ... + a-jll',

and they satisfy 0 < a, < 1, 0 =C b, < 1. With all this notation, the mantissa of A

is

+ ao2"

+ 332"

-16 + a32-l6.

When we write out the product of this with B and align the parts (much like we did earlier), we find the products now need to be left justified. For example, aibi (which form the first few bits in the product) is 14 digits plus sign (which is zero), and the right shifted product is simply in the wrong place for adding into the product we are forming. (This is the little surprise: our hardware multiplier needs to return the product left shifted for floating point arithmetic.)

One way out is to have the multiplier return sign plus first seven bits in FM, next seven bits then 0 in SM: that way we don't have to waste time shifting. (This neatly uses all four bytes in the port, also.)

Figure 6 is the floating point analog of figure 5. In it we show how the parts of the product line up. (We forego the analog of figure 4, although one was pondered over to arrive at figure 5.)

One more thing: look at the products aibB, a2b2 and a3bi. They're only the left eight bits, right? What if we could add 2-8 to the product: that would round (up, the right way since everything is positive), that is, cause a value of 1 to be added in if the part thrown away were more than 1/2 X 2-7. The MPY-8AJ has precisely that input:

Figure 8: Sign stripping, rounding and overflow decoding. RESET, D7 and D0-D2 are SwTPC bus signals. Outputs ROUND, SIGN X and SIGN Y go to and signal SIGN P comes from the MPY-8AJ. CLOCK C, X and Y are generated by figure 7 circuitry. All flip flops are half of a 7474 as In figure 7.

RESET I

DOO

DlO

07 O

02 C>

CLOCK C

0

3

—I Ground

+5V

„ CLR „ D 0

PR

+5V

D Q

■rov

CLR

0

0

CLK

8

PR

CLOCK|

>SIGN Y

OVERFLOW

108

April 1978 ® BYTE Publications Inc

SINGLE-BOARD or MULTI-BOARD Z-80 SYSTEM

NO SYSTEM COMPARES IN DOLLAR VALUE OR COMPACTNESS !!! FEW CHALLENGE ITS CAPABILITY OR FLEXIBILITY

Our RM Z-80 CPU SYSTEM shown below, can be implemented as a stand-alone minicomputer system by merely adding a power supply and a Teletype or TV terminal as an I/O device (on board interface included). ALONE, it stands as a fast, powerful minicomputer system. You can add memory or accessory boards at any time and when packaged in our RM Terminal case (below right), it is one of the most powerful self-contained desk-top minicomputers on the market. In addition to the CPU board, the case houses the power supply, keyboard, up to 64K of memory, a video display interface board, an optional Teletype, and special-purpose boards such as audio and digital cassette interfaces and a scientific calculator interface board. After all these, there is still room in the enclosure for your "home-brew" board built on one of several RM prototype boards available from MINI MICRO MART.

llltiilfltTt

Shown above is a fully loaded RM Z-80 CPU System. Actual size: 7"x ^QVi

RM TERMINAL ENCLOSURE, illustrated at right (surplus like-new condition), is the ideal enclosure to house your system. It features a topquality Microswitch l<eyboard, a multivoltage commercial power supply, Boxer fan, AC line noise filter, a card frame to hold nine RM boards; momentary contact switch panel, with illuminated switches for system reset and other functions. In addition to a full RM computer system, it will house a Teletype Model 32 or 33 Printer or, as an alternate, a full S-100 Backplane. Worth many time our selling price of ONLY $149.95

TELETYPE MODEL 33 PRINTER, rectmditioned, to fit in above enclosure ONLY $440.00

SPECIAL NOBBIEST PACKAGE NO. 1

RM Z-80 Board $ 164.95

4K Static RAM Board 99.95

RM VDI-512 video Display Interface 99.50

Backplane '. , 10.95

3 Connectors for above , 17^85

Audio Cassette Interface ' _'' 24^95

Rr^ Programmable Serial Port 14 95

RM Programmable Parallel Port 14 96

Software Tapes: BASIC and Monitor 80 " lO QO

IK Monitor PROM 24 95

LIMITED TIME OFFER: $ 399.95 * °°

Add $150 for assembled and tested version.

POWER SUPPLY KIT for above $24.95

SPECIAL PACKAGE NO. 2

RM Z-80 Board $ 164.95

16K Static RAM Board 479.95

RM VDI-2480 Video Interface* 199.95

Backplane 10.96

3 Connectors lor above 17.85

RIVI Programnnable Serial Port 14.96

RM Programmable Parallel Port 14.95

Software Tapes: BASIC and Monitor 80 10.00

3K Monitor PROM 74.85

LIMITED TIME OFFER: $84>9.95-^^-^

Above system assembled and tested ADD $ 170.00

All boards fully socketed.

COMPLETE SYSTEM Pkg. No. 2 (above) with Conversion Board to S-100 Bus and RM Terminal ONLY$999.95

Above assembled and tested $ 1,249.95

— LIMITED TIME OFFER —

Handling, shipping and insurance: Add $2.50 for board sets. Add $10.00 for Terminal or Teletype

MiniMicroMart, Inc. leiS James street, Syracuse, New York 13203 (315) 422^67

Circle 72 on inquiry card.

BYTE April 1978 109

Figure 9: Output decoding. Four MSI devices, 74153 dual 4 to 1 data selectors, are used to decode outputs PS, PI,... ,P14 of the MPY-8AJ as well as the OVERFLOW signal generated (on the condition In figure 8). Two three

state 74125 quad buffers decouple the low impedance totem pole 74153 outputs from data bus DO, Dl, ... ,D7. Since the X and Y Inputs of the multiplier are high impedance, X1-X7 and Yl-Y7 are coupled directly to data bus bits D6 to DO. ENA BLE OUT signal cornes from figure 7.

we decided to use the "condition code" (already used to strip signs) to set tiie round condition. Bit 7 on sets round, off clear, any time data is stored in U RP.

Logical Design of Hardware

Algorithm 3 shows what happens when data is stored in the port which contains the hardware multiplier. Address 0 is FM, 1 is

SM and 2 is URP (where the condition code is set). Figure 7 shows logical design of input address decoding, clocking and output enable signals.

One condition not dwelled on earlier is the overflow condition of the product. Recall there is no 15 bit two's complement representation of-1 X -1;the MPY-8AI returns -1 (as does its software equivalent MPY8S0 In listing 3). Note also that URP always has its first bit 0. Since some applications (not discussed here) need to check the overflow condition quickly, we turn this bit on on detecting -1 X -1. (Thus the test is simple: overflow if and only if URP is negative.) We show logic to strip signs, set the ROUND input (to MPY-8AJ) and detect overflow in figure 8.

Output decoding consists of performing the function shown in algorithm 4. Figure 9 shows our hardware solution using MSI 4 to 1 Ijne data selectors and three state output buffers.

Next month's conclusion of this article contains detailed construction information for the SwTPC 6800 system. Also included is test software."

LDRO BIEN HMD MSP IN [>7-D0

—'i

LUW LSP IN 07-Dl/ 0 IN OEI

LDHI> nVFLW IN D7/ 5IBN AND BITS l-B DF MSP IN PE-D0

(exit)

I

LDHO BIT 7 DF MSP IN

D7/ BITS 1-7 DF LSP

IN OE-DB

J

Algorithm 4: Hardware read cycle operations for the high speed multiplier provide two ways of looking at the 15 bit (sign plus 14 bit product) outputs of the multiplier. When addresses 0 and I are accessed, the 16 bit number in these two bytes represents a left aligned 15 bit two's complement product with a low order 0 bit and high order sign bit. When addresses 2 and 3 are accessed, the 16 bit number in these two bytes consists of a right aligned 15 bit product, with the most significant bit set by the overflow bit (see algorithm 3) which is 0 normally, set to I if a product of-1 "i" -1 Is detected.

110

MODEL CC-8 $185.00 (4800 $195.00 (9600

Baud)

Baud and 220V/50 Hz)

9600 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate 10° 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 certiHed data cassettes. Can be used in remote locations from a 12 Volt battery.

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 tlie second ROM allowing up to a full 2K

of monitor programs.

Fits all SlOO 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 RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER $190.00 ($160.00, Kit)

PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. EXPANDS MIKBUG Wllto IK of ADDITIONAL ROM PROGRAM

This is a complete tape controller for the SWTP 6800 system. Has 3K of EPROM space for your own programs. A 1 K ROM (2708) is provided with all tape and monitor functions. The ROM program is identical to our extensive 8080 ROM program.

Has one ACIA for one or two tape drives, one UART for an additional Serial port and a 4 bit parallel port for motor control. Will control one or two CC-8 or 3M3B drives with the software provided. Can be used with other tape drives controllable with 4 TTL bits if appropriate software changes are made.

Extra serial port is provided for your use with a second terminal or printer (RS232, TTL or 20 ma).

The ROM program supplements the MIKbug program and is entered automatically on 6800 CONTROLLER for SWTP reset. SWTbug compatible ROM is also available.

$190.00, Tested & Assmb. ($160.00, Kit) availability - off the sheu.

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.

availability - Off the shelf.

$190.00, Tested & Assmb. ($160.00, Kit)

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.

Naticiial Multiplex Cerpcraticn

i 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 t ,

Circle 77 on inquiry card.

BYTE ApriM 978 111

Whet Your Appetite

.Scelbi/BYTE Primer, edited by Carl Heimers and Nat Wadsworth. $10.95

__Your Home Computer, by James White. $6.00

_How You Can Learn to Live Witli Computers, by Harry Kleinberg. $8.95

.Computer Lib/Dream Machines, by Ted Nelson. $7.00

.Computer Science, A First Course, by A I

Forsythe. Hardcover. $18.25

.Getting Involved With Your Own Computer—A Guide for Beginners, by Leslie

Solomon. $5.95

Homebrew and Beer Budget Specials

Build Your Own Working Robot, by David Heiserman.

Microcomputer Design, by Martin Research.

Modern Operational Circuit Design, by John Smith.

Introduction to Microcomputers, by Adam Osborne

^Volume 0

Volume I

Volume II

Food for

The BITS Small

$5.95 $14.95 $23.25

$7.50

$7.50 $15.00

.Linear IC Principals, Experiments, and Projects, by M Noll. $8.95

.Microprocessors From Chips to Systems, by Rodnay Zaks. $9.95

.Microprocessor Interlacing Techniques, by Rodnay Zaks. $9.95

.Security Electronics, by John E Cunningham. $5.95

.Practical Solid State Circuit Design, by Jerome E Oleksy. $6.50

.Digital Logic Circuits, by Sol Libes. $7.95 .Digital Computer Fundamentals, Jefferson C Boyce. Hardcover. $15.95

.Introduction to Biomedical Electronics, by J Bukstein. $5.95

) Cookbooks (

.Active Filter Cookbook,

by Don Lancaster. $14.95

_TV Typewriter Cookbook,

by Don Lancaster. $9.95

_TTL Cookbook, by

Don Lancaster. $ 8.95

.CMOS Cookbook, by

Don Lancaster. $ 9.95

) References (

.How to Buy and Use Mini and Microcomputers, by William J Barden, Jr. $8.95

.Payroll with Cost

Accounting, by Lon Poole. $12.50

.Problems for Computer Solution, by Steve

Rogowski. $9.95

112 BYTE April 1978

Thought

Systems Menu

jr

Nybble on Our Programming Delights

_How to Program Microcomputers, by William Barden, Jr. $8.95

_6800 Programming for Logic Design, by Adam Osborne. $7.50

_8080 Programming for Logic Design, by Adam Osborne. $7.50

_Scelbi 6800 Software Gourmet Guide & Cookbook, by

Robert Findlay. $9.95

.Sceibi 8080 Soiftware Gourmet Guide and Cooicbooic, by

Robert Findlay. $9.95

_Practical Microcomputer Programming: The Intel 8080, by

W J Waller, A V Shatzel, and H Y Nice. Hardcover. $21.95

.Basic Basic, by James S Coan. $8.95

. Adwineed Basic, by James S Coan. $7.95

.Structured Programming in APL, by Dennis Geller and Daniel

Freedman. $9.95

.APL, An Interactive Approacli, by Leonard Gllman and

Allen J Rose. $11.95

For Reservations Call Toll Free

WATS up? The BITS toll free hotline is now available for customer orders. Dial your bank card orders Monday through Friday between 9:00 a.m. and 5:00 p.m. Eastern Standard Time. 1-800-258-5477. In New Hampshire, call 924-3355. Before you dial, please have ready your BankAmericard or Master Charge credit card number and expiration date, the titles of the books you wish, and your shipping address. To call about an order-please dial (603) 924-3355.

Talce a BYTE of the BITS Catalog

At last! The BITS catalog is here! We've carefully screened and evaluated scores upon scores of microcomputer books and reference texts. Now we offer what we believe to be the most authoritative, most comprehensive catalog of personal computing publications available anywhere. It's a reference work in Itself. Catalog sent with every order. Or simply circle the BITS number on your BYTE reader service card.

DIAL YOUR BANK CARD ORDERS ON THE BITS TOLL FREE HOT LINE: 1-800-258-5477.

In New Hannpshire, call: 924-3355 Check Payment method:

Send to: '^^ check is enclosed

BITS, Inc. ^_ Bill my MC No. / / / Exp. date.

70 Main Street Bill my BAG No. / / / Ei<p. date .

Peterborough NH 03458

Name

Address

Total for all books checked Postage, 75 cents per book for.

Citv

State

Zip Code

Outside U.S. $1.00 per book for. Grand Total

. books ^ books

Signature

You may photocopy this page if you wish to leave your BYTE intact.

Prices shown are subject to change without notice. Billing charge $1.00 (Institutional orders only). /^5"

Circle 14 on inquiry card.

BYTE April 1978

113

Tune In and Turn On!

Steve Ciarcia POB 582

Glastonbury CT 06033

"Hi, Steve, you look lost in thought." Ken seated himself beside me on the front step of my house. "Your computer finally getting to you?"

I raised my head slightly and shook off the daydream appearance. "Oh, don't mind me. I'm just waiting for my neighbor Clarence to come over the way he usually does when he sees me sitting out here. No doubt he's going to tell me about the latest gadget he just bought or tantalize me with some new component in his kilowatt stereo system." The more I thought about Clarence's oneupmanship, the madder I became. "I go out and buy a lawn mower and he buys a tractor for his 1/4 acre lawn. I paint my trim and he paints his house."

"Don't get so upset. I've got a neighbor like that down at my end of the street, too. It's not that unusual." Ken's presence was beneficial. I was less likely to commit homicide with witnesses around. That kind of stuff wns too messy anyway. I had something better planned for Clarence. In fact the more I thought about it the better I felt.

"Clarence doesn't have a computer yet, does he?", Ken asked.

"No. But I'm sure he's looking. The last time he was here he told me how he had found out about mine. Apparently someone showed him a copy of BYTE. He's looking for a computer now, I'm sure." Ken looked at me with a certain degree of skepticism. He also has a technical background and understands the uses and applications of computers.

"What would Clarence do with a computer?", he asked. I was sure he wanted to own one but resolved that he couldn't afford one in the foreseeable future. "He doesn't know the first thing about them."

"Knowing Clarence, he'd probably use it as a door stop. Use is unimportant to him. Ownership is the key. I really don't think I can keep him from buying one but I'm going to take advantage of the fact that Clarence always has to have something better." I had been scheming, devising and programming

at a feverish pace ever since Clarence put me on notice that he was going to buy a computer.

"What are you planning?" Ken was becoming increasingly curious.

"Oh, nothing special. I'm just going to make Clarence think that my computer's capabilities are greater than they actually are. If he wants to buy one that does what I'm going to simulate, it'll cost him a hundred grand.

Ken smiled. He knows that deep down I am soft and gentle but also knows that I enjoy playing a practical joke.

"I know you have quite asystem, but how are you going to make it appear like one costing $100 K?", he quizzed.

"Skulduggery and trickery, my friend." I was about to explain when Clarence suddenly appeared on my walk. 1 gave Ken a nudge and said, "Here he comes, right on time, just play along."

"Hi, Steve, Ken. I just happened to notice you out here and thought I'd stop over for a chat. I've been giving that computer thing some thought. Dropped by the computer store today to ask them about.. . what did you call it. . .mass storage? Well anyway, they said I should get four dual density — i think it was — floppy disks. That should be adequate. You only have two, don't you, Steve? You must find yourself limited," Clarence continued. First it was the best 8 bit unit he could find; then he settled on a 16 bit system but was still trying to decide whether 64 K of memory would be adequate. "I looked at some printers, too. I think your DECwriter is adequate, but doesn't Digital Equipment sell something a little better? For more money, of course.''

I was coming to a slow burn. Ken's expression seemed to say, "Is this guy for real?"

"I really don't know, Clarence. Why don't we go in and check with my computer."

Clarence's eyebrows rose a little as we got up to enter the house. I made a point of mentioning that he should check the mailbox beside the door since he was closest. As he opened it I said, "Nevermind, I justremem

114 April 1978®BYTE Publications Inc

Part 1: A Computerized Wireless AC Control System

In which a homebrew wireless AC control system foils Clarence's oneupmanship...

bered 1 gave the mail to the computer earlier today."

Clarence's mouth opened a bit, but he

was not ready to argue the point. I gave Ken the elbow again to keep him from saying anything. "Just to be on the safe side, maybe I'd better check. Please close the door and come into the den."

As Clarence turned to close the door, I stepped into the den, reached behind the corner of one of the bookcases and pressed a

button. This was the signal for the computer in the basement to go into action. I started counting silently down from 20. By the count of ten Clarence had entered the den. I motioned for Ken and Clarence to sit down and said, "We'll get the information you need later, Clarence. I'd better check on that mail first, it might be important." Six, five, four .... I stood up in the middle of the room and said, "Computer?" . . . Ken and Clarence looked at me as if I were crazy .. . two . . . one . .. zero ....

At the next instant the table lamp next

DEN STEREO SYSTEM

Ml

O O o o O

m

A

DEN

TABL^

LAMP

O

REMOTE RECEIVER CHANNEL I

REMOTE RECEIVER CHANNEL 2

REMOTE RECEIVER CHANNEL 3

DEN

TELEVISION

VACUUM CLEANER IN BEDROOM

REMOTE RECEIVER CHANNEL 4

BASEMENT COMPUTER SYSTEM

COMPUTER W/BASIC

AC REMOTE

CONTROL

TRANSMITTER

(FIGURE 3)

30 KHz - 110 KHz

REMOTE RECEIVER CHANNEL 5

PORTABLE TV IN

LIVING ROOM

DOG QISGUIT

EXISTING HOUSE WIRING

PLUG RECEPTACLES

Figure 1: Block diagram of tiie author's wireiess AC remote controi system. An AC transmitter modulates tiie existing iiouse wiring witli high frequency signals. These signals are detected by special receivers (described next month) which plug into any AC receptacle. Appliances or other electrical devices can be plugged into the receivers and controlled by the user's home computer. The setup shown Is one application of a 4 receiver system. Applications Include turning house lights on and off during the user's absence, automatically taping off the air from a stereo, etc.

April 1978@BYTE Publications Inc 115

Photo 1: AC remote receiver (shown in center of photo) enables author's

Scottish terrier, Brenda, to watch Lassie reruns.

to me seemed to turn on by itself. A second later the stereo turned on, though no music was heard. Presently, in a nonhuman voice that a Star Trek fan would appreciate, the speaker said, "Computer!" I started counting down mentally from 30 this time.

"WHAT!?", Clarence and Ken both said in unison. I put my forefinger to my lips and motioned to Ken to play along. Clarence was too engrossed in the current situation to notice. "How did you do that?", he said excitedly.

The 30 seconds were almost up as I stood and said, "Computer, did I give you the morning mail to process?" Two . .. one . . . zero .... The voice responded with the single word, "Affirmative."

I started to count ten seconds tliis time.

Clarence's eyes were wide open as I said, "Computer, give me a listing of the mail delivery."

"Mail Delivery Recorded ... Date 3-2078 ... File N472 ... Magazine - Popular Science ... March 1978 ... Bill - Home Heating Inc ... $64.32 ... Due 30 days ... Bill . . . ." The somewhat metallic voice spoke in a monotone and at a constant rate. It was unmistakably synthetic and no one could dispute it. I listened to the computer speaking through the stereo system and waited for the key word (my next cue). ". . . Daily Newspaper.. . Hartford Courant . . . 3-20-78 . . . Major headlines as follows

"Enough!", I shouted, and the voice stopped. It was actually programmed to stop anyway, and I started mentally counting to the next phase.

"What kind of computer is this? How big a system do you have?", Clarence exclaimed. I waved him back to his seat and decided to lay it on a little thicker.

At the right time I said, "Computer, have you finished the house work?"

116 April 1978 © BYTE PuHicitions Inc

"Negative ... Master Bedroom should be vacuumed ... it shall be done . ..."

A vacuum cleaner switched on upstairs and could be clearly heard in the den. Clarence jerked his head around when he heard the noise and nearly fell out of his chair. 1 turned toward the stereo and said, "No! Do it later!" Within a couple of seconds the noise of the vacuum cleaner stopped. This told me 1 had about two minutes.

Clarence and Ken were amazed. "Well Clarence, what do you think? The house is completely under computer control, ll knows what I'm saying and does what I want."

"Will it respond to my voice?", Clarence asked weakly.

"Oh I'm sure it understands you, but it only responds to my voice ... obviously for security reasons. We wouldn't want someone telling it to do something bad, would we? 1 only use it for constructive purposes, like my checking account." The two minutes were up. I raised my arm and pointed to the TV set. It switched on apparently by itself.

A few seconds later a checking account statement appeared on the screen and started scrolling slowly up the screen. Clarence got up, walked over to the display and stared at it as though hypnotized. I grinned sadistically at Ken. He grabbed my arm and whispered, "How are you doing all this?"

"Shhh. It's done in BASIC. I have one of those new Votrax speech synthesizers feeding into the auxiliary input of the stereo. The TV is really a video monitor. It's wired to the computer system in the basement. Turning things on and off is simple with my new AC remote control receivers spread around the house. I just used the speak command in Zapple BASIC the same way other people use print commands. When the program is triggered, it starts a preprogrammed sequence. 1 know what it's going to say and how much time there is between statements."

"Oh, you're a nasty one, aren't you?" Ken smiled.

"So much for all this, Clarence; you must have better things to do. I have to go out soon. I hope you don't mind?" I glanced at my watch noticing it was nearing 7 PM, and motioned for him to follow me toward the front door. As we were leaving the den, the video monitor, stereo and lights extinguished as miraculously as they had come on. Clarence just shook his head and followed, muttering something about needing a drink.

At exactly 7 PM as Clarence was about to leave, we passed through the living room

Let's Get Personal in Anaheim

June 6-8,1978

A rewarding personal experience is in store for you June 6-8 at the NCC 78 Personal Computing Festival... the most comprehensive personal computing event ever held. The Festival, a separate feature of the National

Computer Conference, will include approximately 30 program sessions, commercial exhibits of consumer computing products and services, plus a contest and exhibit of microprocessor systems and applications. All Festival activities will take place in the Disneyland Hotel Complex, just a few minutes from the Anaheim Convention Center, site of this year's NCC.

Plan now to attend the big, new NCC 78 Personal Computing Festival. The program will include special paper, panel, and tutorial sessions on such topics as speech synthesis and recognition, computerized music systems, hardware and software design, computer graphics, and small business systems. All papers will be published in a softbound volume, Festival Digest '78, which will be available during NCC.

Festival exhibits will provide an extensive display of commercial offerings by organizations serving the personal computing field. More than 100 companies, occupying over 175 booths, will display systems, components, terminals, software, kits,disc and tape cassettes, relevant publications, and related hobby items.

Rounding out the Festival will be a contest featuring microprocessor systems, devices, and applications ranging from home-brew DOS and graphics terminals to educational applications and computer games. Prizes will be awarded for the best exhibits.

Don't miss the year's most exciting personal computing event. For more information, return the coupon or call AFIPS at 201/391-9810.

□ Please keep me up-to-date on Festival plans and activities.

□ My company is interested in exhibiting at the Festival.

□ Please send me information on the special NCC Travel Service.

Name

Company

Street

City

. Division.

-State.

-Zip.

NCC 78 Personal Computing Festival

c/o AFIPS, 210 Summit Avenue Montvale, N.J. 07645 telephone: 201/391-9810

Circle 127 on inquiry card.

BYTE Aprill 978 117

where he noticed a small TV sitting on the

floor next to the couch. He was about to ask something when a bell sounded; my Scottish terrier Brenda came tearing into the room and sat in front of the TV. The TV came on instantly and a program flashed onto the screen. I waved my hand to Clarence and said, "Oh, don't worry about that. It's just a rerun of Lassie. The computer takes care of the dogs, too."

This last bit was obviously too much for Clarence. He just kept muttering as he left, saying something about maybe reconsidering his 16 bit decision and going to 32 bits. I never heard the rest as he left, still shaking his head.

Ken waited uniil Clarence was gone and then said, "I can understand how you staged the stuff in the den, but your dog?"

"Look Ken, if you're going to do something, you might as well do it right. As far as Brenda is concerned, she just heard a bell and came to sit and wait for a dog biscuit the same way she's been doing every night at 7 PM for weeics."

AC Remote Control

I don't expect everyone to build remote control devices like the ones presented here just to get back at the Clarences of the world, but I do see them as the next logical extension of the house computer system. Many experimenters have graduated from using the computer strictly for games and are now writing more sophisticated programs. They may be accounting, music, composition or straight number cruncher . programs, but the key is evolution. The concept of a home management system is fine, but it is bound by the system peripherals.

The basic logic flow of any computer system is: input, process, output. The computer accepts data input, processes it based upon a fixed routine called a program, and outputs the results. This result can either be an alphanumeric response on a video display that allows the operator access to this processed information, or a logical result such as yes and no, or on and off. In the latter case, the single logical on or off value can also be used to control some device. A typical example is a furnace circulator pump. Temperature information is entered into the computer, which decides whether the heat is too high, in which case the pump should be off, or too low, in which case the pump should be on. This decision could be displayed at an operator console, instructing the operator to physically turn the pump on or off, but it would be far more efficient if the computer could perform the action as well as calculate the decision.

118 April 1978 © BYTE Publications Inc

The concept of computer control is as

old as the computer itself. Process control and data acquisition are the major applications of industrial computers. While the computer structure might be similar, the logistics are quite different. When a factory wants to add a computer to control a process, they automatically add 30 percent to the control costs for wiring! In the home application, even though the wiring cost might be less, the idea of stringing wires all over the house is abhorrent to most of us. No one wants to start punching holes in the walls.

The easiest alternative is wireless control. Such an approach uses the existing 115 VAC house wiring for both control power and signal transmission. This method is most cost effective in limited applications using fewer than a dozen channels, or in the case where the operations being controlled are not critical.

Carrier Current Systems

Simply stated, the carrier current method transmits a high frequency carrier (30 kHz to 500 kHz) similar to a standard radio transmission into the house wiring. It is superimposed on the 60 Hz, 120 VAC line and is broadcast throughout the house. This transmitted carrier, often referred to as carrier current, can be modulated to send music or digital information. In limited on and off control applications, though, the mere presence or absence of the carrier frequency is used to provide the control logic. The use of a modulated or unmodulated system depends ultimately on the number of parameters to be transmitted. If only one output is to be controlled, and it is going to be on or off (such as a desk lamp), a single frequency can be used. Detection of the frequency of transmission at the receiver turns the light on, and its absence turns the light off. Controlling two outputs requires two separate frequencies, one for each channel, and additional logic must be added in the receiver if the appearance of simultaneous output control is required. In cases where more than 20 channels are to be controlled or multiple settings are required at each controlled point, modulated transmissions are best employed. An example of this would be a 256 position level switch in some remote location. Rather than attempting to use 256 separate frequencies, a single frequency can be modulated and used to transmit an 8 bit code to the receiver. This is similar in format to the serial data presently used on cassette interfaces. The only difference is that the serial data stream is transmitted on a high frequency carrier

OSBORNE ASSOCIATES, INC.

The World Leaders In Microprocessor Books

If you want information on microprocessors, begin with th9 Osborne books.

PROGRAM BOOKS WRITTEN IN BASIC

Payroll With Cost Accounting Accounts Payable And Accounts

Receivable General Ledger

These books may be used Independently, or Implemented together as a complete accounting system. Each contains program listings, user's manual and thorough documentation. Written in an extended version of BASIC.

#22002 (400 pages), #23jjp2*, #24002*

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.

#21002 (200 pages)

ASSEMBLY LANGUAGE PROGRAMMING 8080A/8085 Assembly Language Programming 6800 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. #31003 (400 pages), 32003*

AN INTRODUCTION TO MICROCOMPUTERS

Volume 0 - The Beginner's Book

If you know nothing about computers, then this is the book for you. It introduces computer logic and terminology in language a beginner can understand. Computer software, hardware and component parts are describee!, and simple explanations are given for how they work. Text is supplemented with creative illustrations and numerous photographs. Volume 0 prepares the novice for Volume I. #6001 (300 pages)

Volume I — Basic Concepts

This best selling text describes hardware and programrnjng concepts common to all microprocessors. These concepts are explained clearly and thoroughly, beginning at an elementary level. Worldwide, Volume I has a greater yearly sales volume than any other computer text. #2001 (350 pages)

Volume II — Some Real Products (revised June 1977)

Every common microprocessor and all support devices are described. Only data sheets are copied from manufacturers. Major chip slice products are also discussed. #3001A (1250 pages)

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. #4001, #5001, #7001 (300 pages each)

OSBORNE & ASSOCIATES. INC. • P.O. Box 2036 • DEPT. 17 •Berkeley, California 94702 • B48-2806 9:00 a.m. - 5:00 p.in. PST

TWX 910-366-7277

Price applies to orders received by June 30. 1978* aPRICE

6001 Volume 0—The Beginner's Boole

2001 Volume I — Basic Concepts

3001A Volume II — Some Real Products (1977 edition)

4001 8080 F^ogramming For Logic Design

5001 6800 Programming For Logic Design

7001 Z80 Programming For Logic Design

31003 808OA/8O85 Assembly Language Programming

210O2 Some Common BASIC Programs

22002 Payroll With Cost Accounting

12.60

QTY

• 6-1/2%, SF Bay Area residents only

• 6%. California residents outside SF Bay Area

• Payment must be enclosed for orders of

10 books or less.

• I have enclosed;

TOTAL

s Tax (Calif, residents only) Shipping Charges

□check Qmoney order TOTAL AMOUNT OF PURCHASE

AMT

NAME

Cirr STATE ZIP PHONE

SHIPPINQ CHARGES Shipping charges for bulk orders to be arranged.

□ 4th class (no charge, allow 3-4 weeks within USA, not applicable to discounted orders)

□ $.50 per book, UPS (allow 10 days) in the U.S.

□ SI.50 per book, special rush shipment by air in the U.S.

□ All foreign orders, $3.00 per book, for air shipment ^^These books are scheduled to be published during 1978.

Please notify me when they are available:

□ 23002 Accounts Payable and Accounts Receivable

□ 24002 General Ledger

□ 32003 6800 Assembly Language Programming

Price increase scheduled for July 1, 1978

Please send information on;

□ pricing, ordering, and titles available after 6/30/78

□ initial dealer consignments

□ dealer and school discounts

□ foreign distributors

Circle 82 on inquiry card.

BYTE ApriM 978 119

+ 163 VOLTS

Figure 2: Example of carrier current transmission. The standard 60 Hz 115 VAC sine wave is shown being modulated by a 30 kHz carrier. Two different frequencies 4 kHz apart are used to turn devices on and off, respectively, in this design. (Note: drawing Is not to scale.)

(5 VOLTS

-163 VOLTS

WWvZ

30KHI

APPROXIMATELY 4V PEAK TO PEAK ~T (MEASURED AT ' SOURCE)

and detected in a receiver before being converted for use. Tliis metiiod should only be considered for extensive communications, since it is relatively expensive and the receivers are more complex.

The major consideration one should make when looking at a carrier current control system is the ultimate number of discrete points to be controlled. An output channel is defined as a single bit, ie: a 4 channel system would consist of four on/ off control elements, in a single channel system, the simplest carrier/no carrier method is normally employed. For systems with the capability of two to ten channels, multiple frequencies with latching logic are usually considered. In cases where the minimum number of channels is 16, modulated carriers and serial data transmission are advised. There exists a gray area between ten channels and 20 channels. Both multiple frequency and serial data can be used in this range, but the cost difference must be considered.

Carrier Current Control Methods

There are four carrier current transmission methods that could be used on the standard home computer system:

1. Single Channel On/Off. Usually a high frequency carrier is transmitted through the house wiring. A tuned receiver turns on when the tone is transmitted, off when not.

Advantages: Cheap. Less than $10 for both transmitter and receiver.

Disadvantages: One channel only. Tone transmitter must remain on for output to remain on.

2. Multiple Channel - Multiple Frequency. Generally speaking, two high frequency carrier current signals are usually not transmitted simultaneously if they are from separate channels. The AC line is quite noisy and not exactly the best antenna. To avoid harmonics which could trigger unaddressed channels, single unique frequencies are used for each channel. In a multiple

channel arrangement, no single channel is continually addressed, so some method must be incorporated to latch the logic output. The multichannel methods seen most often utilize pulsed transmission. A particular receiver's frequency is pulsed once or twice within a timed window. One pulse means "on," two mean "off." The desired control output is latched into a flip flop in the receiver.

Advantages: Relatively inexpensive. About 20 different channels can be accommodated with a transmission bandwidth of 100 kHz. Only a single frequency receiver is required for each channel.

Disadvantages: Pulsing the latch on or off requires external gating logic in addition to a tuned receiver. Multiple channel arrangements require considerable interchannel decoupling and narrow receiver bandwidths. Depending on the particular logic design, this can be inconsistent with "pulse window" techniques. Control pulses must be accurately timed using either hardware or software techniques. This method, while conceptually simple, requires considerable additional circuitry to make it glitch proof.

3. Multichannel — Multifrequency — Dual Receivers. This method is essentially the same as the previous one except that separate frequencies are used to turn the controlled output on and off. Either method would utilize the same transmitter.

Advantages; Since separate frequencies are used for the set and reset functions, special constraints on timing are eliminated. Long time-constant input filtering techniques can be used to reduce glitches. No special software is necessary to drive the transmission device. This method combines the best features of methods 1 and 2.

Disadvantages: Decreases the total

120 April 1978 © BYTE Publications Inc

Introduction To Microcomputers,

Volume 0, is writteB for the absolute beginner, the person vwho "knows nothing" and needs the elennentary understanding necessary to ask questions and decide where he wants to go. "The Beginner's Book" tells you what nnlcrocomputer systems are all about: the component parts, options available, and what they can do for you. Volume 0 also gives an introduction to microcomputer logic. $7.50.

Getting Involved With Your Own Computer by Leslie Solomon and Stanley Veit answers the questions: "What can small computers do? Which is best fo my purposes?" Whether your interest is business applications, word processing, education, security, etc., this lucid text will bring you in touch with an exciting new world destined to affect us all. $5.95.

Get Down to

Business

Payroll With Cost Accounting in

BASIC is now available. The book includes program listings with remarks, descriptions, discussion of the principles of each program, file layouts, and a complete user's manual with step-by-step instructions, flow charts 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. $12<ifl<

Microprocessors: From Chips to Systems by Rodnay Zaks is a complete and detailed introduction to microprocessors and microcomputer systems. Some of the topics presented are: a comparative evaluation of all major microprocessors, a journey inside a microprocessor chip, how to assemble a system, applications, interfacing (including the riew S-100 bus) and programming and system development. $9.95.

Microprocessor Interfacing Techniques

by Austin Lesea and Rodnay Zaks describes the complete assembly of a microprocessor system: assembling a processor; 10 techniques; interfacing to a keyboard, LED display. Teletype, printer, floppy disk, video display, cassette-tape; industrial interfacing: analog to digital (and vice versa) techniques; communications; and standards, including Altair (S-100), IEEE-488, CAMAC. A complete case study is presented for a multi-channel communication system and a chapter is dedicated to troubleshooting techniques. Actual interconnects are presented for a number of microprocessors including the 8080 arad ti!ie SSOO. #.95.

MICROPROCESSOR

INTERFACINS

TECHNIQUES

DIAL YOUR BANK CARD ORDERS ON THE BITS TOLL FREE HOT LINE: 1-800-258-5477.

In New Hampshire, call: 924-3355 Check Payment method:

Send to: I^V check is enclosed

BITS, Inc. ^2 Bill my MC No / / / Exp. date.

70 Main Street mSim 'SSm Bill my BAG No L i L Exp. date.

Peterborough NH 03458

.Name

Address

Total for all books checked Postage, $.75 per book for_

. books

Citv

State

Zip Code

Outside US $1.00 per book for. Grand Total

.books

Signature

You may photocopy this page If you wish to leave your BYTE Intact.

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

Circle 14 on inquiry card.

BYTE April 1978 121

+5 V

-12 V

gnd

+ 12 V

Number

Type

pin

pin

pin

pin

1C !

IVl Kj I H\JO

13

3

2

IC2

LM301A

4

7

IC3

MC4024

14

7

IC4

H11A1

no supply pins designated

IC5

MC1403

1

3

IC6

741

4

7

number of possible control outputs. Since two separate frequencies are required for each channel, only about ten total channels can fit in a 100 kHz bandwidth.

4. Single Frequency — Asynchronous Data Transmission. This type of carrier current transmission system can be used to transmit serial data rather than a discrete control signal which Is on or off. This data, when received and decoded, can be effectively used to control a number of devices. The method is essentially an extension of the pulse window transmission concept stated earlier. Finer filtering methods are required though, since timing is more critical.

Advantages: A single frequency system can allow as many as 128 controlled outputs on a single frequency for each 8 bit data word.

Disadvantages: Expensive. Transmitter

Figure 3a: Precision ± 2.50 Vsource for use with the transmitter In figure 3b.

+ 2.50V 1 ^

: +VREF

Table 1: Power wiring table for figures 3a

and 3b.

is serial and each receiver must incorporate logic for serial to parallel conversion, usually in the form of a universal asynchronous receiver-transmitter (UART) or its equivalent.

A Design with Expansion In Mind

Most lil<ely, any experimenter interested in constructing a carrier current control system will want to start with one or two channels. In my own case i can see expansion to maybe eight channels. The most cost effective approach for me is to use either system 2 or 3 described above. The multifrequency pulse transmission method has in my experience proven to be too unreliable in practice. Reliability is gained at the expense of considerable extra circuitry. In a system used to control the operation of 115 VAC appliances and lights when I'm not at home, I need as much reliability as I can get. For this reason my design relies on the use of two frequencies for each channel: one to turn the device on and a different frequency to turn it off. These frequencies will be grouped in pairs and referred to as a single channel. The bandwidth of each channel is about 8 kHz. In practical terms this means that, if the transmitter has a total frequency range of 30 kHz to 110 kHz, or 80 kHz, then 80 kHz divided by 8 kHz equals ten independent channels. Within this 8 kHz band, two separate frequencies are allocated. One turns the device on while the other turns it off. In the example illustrated in this article, channel 1 occupies 35 kHz to 43 kHz. The on and off frequencies are 35 and 39 kHz, respectively. The next channel, channel 2, occupies 43 to 51 kHz and the on and off frequencies are 43 and 47 kHz, respectively. There is no magic strategy for picking frequencies. Each remote receiver detects two frequencies 4 kHz apart. The only consideration is that all receiver frequencies be separated by at least 4 kHz. The fewer the channels, the further apart these frequencies can be. In a 2 channel system, choosing widely separated frequencies is safest

Figure 3b: AC remote control transmitter. The circuit consists of a digitally programmable frequency generator (I CI, IC2, ICS, ICS and iC6). The output of ICl, a digital to analog converter, Is converted from a current to a voltage by IC2 and sent to IC3, a voltage controlled oscillator. In this design, the voltage controlled oscillator can produce frequencies In the 30 kHz range. Optoisolator IC4 keeps the computer circuitry from interacting with the house wiring (see CA UTION note!). The transmitter section consists of IC4, Ql, Q2, and Q3. The three transistors form a power amplifier which couples the signals through a capacitor onto theACIIne. The.5 Woutputof the amplifier Is sufficient to reach all areas of most home wiring systems.

122 April 1978 @ BYTE Publications Inc

1 VVV~H

o o o o o . o

> ^ o

q d

CM -H I g

"J

c

03

> > CD

0 o a

1 ay

ra f- c o S °

- E > •- = S

rajs'°

a) ro r- to 5

v.- °

M O O

— N

^ I O

o

a

a

\E -o ^ °-3

ay"

- c >

o I

: > -D jg ">

fP > CO

1 un + T

a a

~ E o

O "D

>

I

6 A 6

m

ooo.

April 1978 © BYTE Publications Inc 123

Photo 2: Prototype boards of transmitter (at left) and one receiver board. Receiver unit Is described next month.

Channel 1 could occupy 35 kHz to 43 kHz,

and channel 2 could be between 83 kHz and 91 kHz (and transmit on 83 kHz and 87 kHz). Apportioning bandwidth to maximize the number of channels is a major consideration in a multifrequency system. (I will describe the receiver section next month.)

Figure 3 is the schematic of the AC remote transmitter. It consists of a digitally programmable frequency source and an optically isolated house wiring driver.

The programmable frequency generator, 1C1, IC2, IC3, ICS and IC6, forms a precision voltage controlled oscillator. IC1 is an 8 bit digital to analog converter (explained in greater detail in my article "Control the World," September 1977 BYTE, page 30) v/hose output current is proportional to the 8 bit data word impressed on its input lines. The current output is converted to a voltage through 1C2 and presented to the input of 1C3, voltage controlJed oscillator (VCO). Its output

100 FOR X = 0to255 110 OUT 2,X

120 REM PORT 2 IS THE OUTPUT PORT ATTACHED

TO THE DAC INPUT 1 30 FOR D = 1 TO 500 140 NEXT D

150 REM THIS IS A DELAY ROUTINE SO THAT THE PROGRAM

DOESNT SCAN TOO FAST TO SEE 160 NEXT X 170 GOTO 100

180 REM CONTINUE TO CYCLE INDEFINITELY

Listing I: A BASIC program to test the voltage controlled oscillator shown in figure 3. The program causes the output frequency of the oscillator to ramp up In fairly linear fashion and reset.

frequency is proportional to input voltage.

Analog frequency sources such as this are usually avoided because of stability problems. The alternative involves programmable divided-by-N counters and a crystal frequency input, which would mean about 25 integrated circuits to produce the same range of selected frequencies. Therefore, it is important to overcome potential stability problems. The major error-producing components in such designs are usually the voltage references and oscillator timing elements. By using a precision voltage reference circuit, 1C5 and ICS, and incorporating polystyrene low drift capacitors in the voltage controlled oscillator section, these problems are virtually eliminated.

The result is a digitally programmable oscillator. With the values chosen, the range is about 30 kHz to 110 kHz. Changing the output frequency is simply a matter of changing the code on the digital to analog converter. Within the 80 kHz range of the voltage controlled oscillator there will be 256 discrete increments of frequency. Presuming that the input and output characteristics are linear, each increment would be 80000/256 or approximately 300 Hz. This means that, if a digital input code of binary 0000000 produces an output of 30,000 Hz, then octal 00000001 would be 30,300 Hz. Further extrapolation gives an output frequency of 49.2 kHz for binary 01000000 (decimal 64). In reality, the voltage controlled oscillator is not perfectly linear, but the output frequency can be set empirically by using a simple BASIC program. This setup procedure will be covered in detail when I discuss the receiver calibration section next month.

Once the oscillation frequency has been produced, the next problem is to transmit it through the house wiring. This transmitter section consists of IC4, Ql, Q2 and Q3. The oscillator output is optically isolated and coupled to the output driver stage through IC4. The three transistors form a power amplifier and pump about .5 watts onto the AC line. This amount of power is sufficient to reach all areas of your home and probably a few of your neighbors, but there should be no interference with any household appliances. [As in all carrier current systems, the range is any AC wiring sharing the same final step down transformer. This might be two or three houses in suburbia, or one floor of an apartment house or dormitory ... CH] Since the output driver is isolated from the computer, it cannot use the computer power supply as its power source, so components D1, D2 and Tl form a voltage doubler circuit

124 April 1978 © BYTE Publicalioni Inc

to provide approximately + and ~ 13 V to run the driver. It is important to note that there are two separate grounds in the circuit. One is the computer ground and the other is the driver circuit ground. They are NOT to be c@nw*led together (see CAUTION note).

Building and Testing the Transmitter

Photo 2 shows the transmitter on the

left and one of the receiver boards on the right. It is necessary to build the receiver to completely test the transmitter without the use of an oscilloscope to make sure everything is all right. Certain shortcut methods can be employed this month, though, to give you reasonable confidence about the circuit's operability.

Build the circuit as shown in figure 3 with the exception of the driver circuit and IC4. Add a 0.1 /iFcapacitor in parallel with the 0.005 /iF capacitor already between pins 3 and 4 on IC3. This will effectively lower the output frequency range of the voltage controlled oscillator into the audio range. By putting a 100 12 resistor between 1C3 pin 6 and an earphone whose other terminal is connected to ground, this audio tone can be heard. It is a simple matter to change the tone. The astute experimenter will realize that we have constructed a programmable tone generator, possibly suitable for music applications.

Use BASIC to Run the Controller

As with most of my recent designs, this one is driven by a latched parallel output port, and update speed is of no particular importance. This makes it a natural for BASIC, which sets 8 bit output ports. This interface controller can be set to any frequency within its range under program control. BASIC can also perform a simple test to determine whether the voltage controlled oscillator works (see listing 1). This program causes the output frequency of the voltage controlled oscillator to ramp up in a roughly linear fashion and reset. With the capacitor values in the schematic, the range should be approximately 30 kHz to 110 kHz. Again, picking any larger capacitor value will allow this sawtooth tone generator to be heard in the audio range.

Actual control of a device comes after the receiver section has been built and mounted in an enclosure such as that shown in photo 3. While it is difficult to discuss the application without having discussed the method, 1 don't want to leave everyone hanging till next month. The simple program in listing 2 controls two remote channels, designated channel 1 and channel 2, from

the computer keyboard. This is written in Micro Com Zapple BASIC.

Next month I'll describe the design and construction of the receiver section as well as discuss more detailed applications. A natural for this project is to use a quantity of these remote receivers to control light and sound sources around the house to simulate occupancy when no one is home.

If you have any questions about this article or previous articles, please feel free to write to me. Please enclose a stamped, self-addressed envelope and I will attempt to personally answer all letters.

Next month: "Tune In and Turn On: Part 2.""

Photo 3: Complete receiver package. Remote controlled appliance plugs into rear of box. Set and reset buttons allow appliance to be controlled locally as well as remotely.

Listing 2: A sample BASIC program used to control the circuit in figure 3.

100 PRINT "INDICATE CHANNELTO BE CONTROLLED

-1 OR 2 - " 110 INPUT A 120 IF A < 2 GOTO 150 130 GOTO 100

150 PRINT "DO YOU WANT TO TURN CHANNEL"; A; "ON OR OFF?" 160 INPUT B$

170 IF B$ = "ON" GOTO 300

180 REM THE REMOTE CONTROLLER IS ATTACHED TO OUTPUT PORT 2 190 REM THIS ROUTINE TURNS A CHANNEL OFF 200 IF A = 1 THEN OUT 2, 180

210 REM 180 IS THE DECIMAL OFF CODE FOR THE CHANNEL 1

PROTOTYPE 220 IF A = 2 THEN OUT 2,118

230 REM 118 IS THE DECIMAL OFF CODE FOR THE CHANNEL! PROTOTYPE

240 GOTO 100

300 REM THIS ROUTINE TURNS A CHANNEL ON 310 IF A = 1 THEN OUT 2,162

320 REM 162 ISTHE DECIMALON CODE FOR CHANNEL1

PROTOTYPE 330 IF A = 2 THEN OUT 2, 96

340 REM 96 IS THE DECIMAL ON CODE FOR CHANNEL 2

PROTOTYPE 350 GOTO 100

April 1978@tiYTE Publications Inc 125

The SOL-20 in a New England parlor context, obviously enjoying life. The entire system fits on one table with a video monitor on top of the computer and an audio tape recorder for mass storage to the right.

User's Report: The SOL-20

Dennis E Barbour 2 Coliseum Av Nashua NH 03060

John Kemmeny in his boolc, Man and

the Computer, reveals his thoughts concerning the future of computers. Kemmeny believes that people will have access to large regional computers in the future. This will allow people to do many jobs in the home and provide entertainment and knowledge. A computer terminal in the home will be tied to a large regional supercomputer giving people the ability to do many things at home not now possible, such as reading the latest news stories, studying subjects for degree credit, storing recipes to allow the input of a week's menu and production of a grocery list of needed items, and the recording and computation of family financial matters. The possible uses of this type of computer are unlimited.

Processor Technology has taken this concept of the home computer terminal attached to a supercomputer one step toward reality by providing the home user with a terminal and microprocessor combination, the SOL, capable of functioning

with, or independent from, another computer. The operating systems provided by Processor Technology allow the SOL system to operate as a microprocessor independent of any outside processor with its own Deripherals until the terminal command is issued, which causes SOL to operate as a computer terminal. This combination will allow the greater use of your home microcomputer today and in the future. What follows is a brief description of a SOL system based on my personal experiences.

Hardware

My microprocessor, a SOL-20, uses an 8080 processor chip. (The 8080A and the 9080A are also available.) This system has both parallel and serial communication interfaces, a keyboard interface, audio cassette interface, a video display generator, 1024 8 bit words of volatile system memory, and 1024 8 bit words of volatile display refresh memory. My system also has 8 K

126 April 1978 © BYTE Publications Inc

bytes of volatile main user memory for programming and an operating system in a "personality module" with preprogrammed read only memories.

A feature of the hardware is a parallel interface consisting of eight bits for each input and output plus control handshaking signals. The output bus uses three state TTL levels for bidirectional interfaces. The serial interface circuit includes both asynchronous RS-232 and 20 mA current loop provisions and operates at from 75 to 9600 bits per second, switch selectable. (When I say that something is switch selectable, I mean that there is a series of small switches on the printed circuit board and an explanation in the hardware manual of what the switch does and what your options are.) The keyboard interface handles a 7 level ASCII encoded TTL keyboard which requires a strobe pulse after the data is stable.

The audio cassette interface is program controllable and self-clocking with a phase lock loop. It operates at the dual rate of 300 or 1200 bits per second. Included is an automatic level control in both the record and playback modes. Recording is the CUTS/BYTE standard compatible, an asynchronous Manchester code at 1200/2400 Hz or 600/1200 Hz.

The video display circuitry generates 16 lines from data stored in its 1 K refresh memory. Alphanumeric and control characters (the character set includes all upper and lower ASCII plus control characters) are displayed in either black on white or white on black (this feature is switch selectable). The solid video cursor with a switch selectable blink is programmable. This circuitry can drive any video monitor or monochrome television converted to handle video input.

The assembly of the SOL appears to be relatively easy. I bought my SOL fully assembled, but 1 read the assembly instructions, looked at the diagrams, and thoroughly examined the hardware. 1 believe that 1 could quite easily put a SOL together. The instructions are simple and straightforward. The assembly notes include parts lists, assembly tips and precautions, pictures and drawings, and step-by-step instructions on assembly and testing. Also included are instructions on handling integrated circuits, soldering techniques, and a list of the tools that will be needed. Processor Technology provides schematic and detailed assembly drawings in a separate section of their manual.

Another important feature of the SOL is the system's completeness and modularity. All of the hardware is in one package and looks like a large electric typewriter. The

DUMP ADDR, ADDR Dump memory locations to screen

ENTER ADDR Enter data to memory

TLOAD Load to memory

EXECUTE ADDR Execute a program at a given address

BASIC Execute a program located at address zero

TERMINAL Return to terminal mode

Table 1: CONSOL operating system command summary.

DUMP ADDR, ADDR

ENTER ADDR TLOAD

EXECUTE ADDR

BASIC

TERMINAL

TSAVE (NAME) ADDR, ADDR

TXEQ (NAME) ADDR

TCAT

SET

SET Dl

SET IN

SET OUT

SET TAPE

SET CI

SET CO

SET TY

SET XE

Dump memory locations to screen

Enter data to memory

Load data from tape to memory

Execute a program at a given address

Execute a program located at address zero

Return to terminal mode

Save certain memory locations on tape

Load a certain program from tape and execute It

List tape header information

Allows the setting of the followlrig things

Set display speed

Set input driver

Set output driver

Set tape speed

Set custom input driver address

Set custom output driver address

Set types into tape save header

Set execute address Into tape save header

Table 2: SOLOS operating system command summary.

video monitor and cassette recorders are attached at the back panel with cables. The system does not have exposed boards or parts to collect dust or be damaged. The system can be easily transported.

Operating Systems

SOL, at present, has three operating systems. They are CONSOL, SOLED and SOLOS. CONSOL allows simple terminal operations and computer functions. SOLED allows more advanced terminal operations than CONSOL with additional screen, file and cassette tape operations. SOLOS allows use of the full range of the microprocessor plus the full functions of an intelligent terminal. 1 cannot describe SOLED any further, not having the information available to me. However, CONSOL and SOLOS will be described in detail.

CONSOL, the simplest of these operating systems, allows the SOL to function both as a standard CRT terminal and as a microcomputer. This software system is not as sophisticated as SOLOS which has many more commands and greater abilities.

All the operating systems work in the following fashion. The same switch to power up the hardware serves to initialize the operating system. The operating system initializes system memory, clears the screen and enters the terminal mode. Depressing the mode key causes SOL to operate as a microcomputer. The operating system issues a prompt character and awaits further commands.

April 1978 © BYTE Publications Inc 127

10 REM THIS PROGRAM IS FOR TEACHIMG YOUNGSTERS MULTIPLICATION.

20 PRINT "DO YOU WANT TO TRY THE MULTIPLICATION PROGRAM?"

30 PRINT "ANSWER I FOR YES. AND E FOR NO."

AO INPUT X

50 IF X-a THEN 340

60 PRINT

70 PRINT "INPUT THE FIHST NUMBER."

80 INPUT A

90 PRINT Al" TIMES"

too PRINT

110 PRINT "INPUT THE SECOND NUMBER." ISO PRINT B

130 PRINT a;" TIMES";;8!" EQUALS" 140 PRINT

150 PRINT "INPUT WHAT YOU THINK THE ANSWER SHOULD BE." 160 J-A*B

no INPUT C

180 PRINT Aj" times";b;" equals";c

190 IF C-J THEN 860 aOO PRINT

210 PRINT "YOUR ANSWER WAS INCORRECT." 220 PRINT

230 PRINT a;" TIMES"JB;" EQUALS"JJ 240 PRINT SSO GOTO 290 260 PRINT

270 PRINT "CONGRATULATIONS. YOUR ANSWER WAS CORRECT." 280 PRINT

290 PRINT "DO YOU WANT TO CONTINUE?"

300 PRINT "ANSWER 1 FOR YES* AND 2 FOB NO."

310 INPUT X

320 IF X-2 THEN 340

330 GOTO 60

340 PRINT

350 PRINT "HAVE A NICE DAYI" 360 END

mm

DO YOU WANT TO TRY THE MULTIPLICATION PROGRAM?

ANSWER t FOR YES. AND S FOR NO.

?1

INPUT THE FIRST NUMBER. ?2

2 TIMES

INPUT THE SECOND NUMBER. ?2

2 TIMES a EQUALS

INPUT WHAT YOU THINK THE ANSWER SHOULD BE. ?2

a TIMES 2 EQUALS 2

YOUR ANSWER WAS INCORRECT.

2 TIMES 2 EQUALS 4

DO YOU WANT TO CONTlNUEr*^' ' ANSWER 1 FOR Y^S< AND 2 FOR NO. ?l

INPUT THE FIRST NUMBER. 72

2 TIMES

INPUT THE SECOND NUMBER. 72

a TIMES a EQUALS

INPUT WHAT YOU THINK THE ANSWER SHOULD BE. 74

2 TINES 2 EQUALS 4

CONGRATULATIONS. YOUR ANSWER WAS CORRECT.

DO YOU WANT TO CONTINUE? ANSWER 1 FOR YES. AND 2 FOR HO. 72

HAVE A NICE DAYI

Listing 1: A tutorial BASIC program of the simplest variety, created one evening to Instruct a 6 year old In some of the complexities of arithmetic.

There are five commands for operating SOL as a microcomputer under CONSOL, two for entering data, two for cxecLiling programs, and one for displaying the contents of memory on the monitor. (See table 1 for the complete list of CONSOL commands.) A person can enter data either through the keyboard by means of the ENTER command or through a cassette tape recorder by means of the TLOAD command. The ENTER command permits the altering of any byte or series of bytes of storage with either data or a machine language program. Program execution begins with the issuance of either of two commands. EXECUTE allows the execution of a program beginning at any point that you name in memory, whereas the issuance of the BASIC command starts program execution from memory location zero. The fifth command, DUIVIP, allows the displaying of any byte or series of bytes on the video monitor.

The SOLOS operating system allows for more advanced operation of the SOL. (See table 2 for a complete list of SOLOS commands.) Besides the six basic commands allowed under CONSOL, there are four additional commands, with one of these additional commands, SET, having eight different options. To begin with, the TLOAD command is different under SOLOS than under CONSOL. Under SOLOS, the TLOAD command allows the searching of a tape with multiple files for a certain named file, skipping over all files before it. Under CONSOL, you have to manually move the tape to the beginning of the tape file.

TSAVE allows the saving on tape of the contents of the memory locations indicated. TXEC allows the loading of a named program from tape to memory and the immediate execution of that program. TCAT allows the listing of the tape file header information on the monitor. This information includes the file name, execution address, and the beginning and ending addresses of the program when loaded to memory.

The SET command has eight different options. One can set the display speed, allowing the speeding up and slowing down of characters on the monitor to suit your programming. Using this option of the BASIC language interpreter, I was able to generate a very impressive lightning bolt image for my young son and his friends. The input and output driver speeds can be controlled through the use of the SET command along with the tape speed, and

128 April 1978©BYTE Publications Inc

the input and output driver addresses. The tape save lieaders can also be altered using SET. The more useful of the two operating systems is obviously SOLOS sincfi it allows greater flexibility.

Software

My system has a BASIC interpreter, the BASlC-5 package. This interpreter has many of the usual BASIC commands and statements. It also allows use of system commands within programs. BASIC-5 allows the usage of single dimension arrays, many BASIC functions, and the ability to read and write tapes. It also has 8 digit precision and the ability to link to machine language subprograms.

I would advise the purchase of the 8 K BASIC for one important reason: the ability to have several commands and features not available in the BASIC-5 interpreter. These would be the RNUM command which allows the renumbering of statements, and also the ability to utilize alphanumerics and matrices (instead of only single dimension arrays) which would be particularly useful.

Uses

I have utilized my SOL for several things. First and foremost, I have introduced my 6 year old son to computers through games and learning programs, such as the multiplication program reproduced and described in listing 1. 1 have also used it for entertainment especially through the use of the target game provided by Processor Technology, and a few games I have written. Lastly, I have used it to fool around with my first love, history. I have written several statistical analysis programs for the SOL using the SASiC-5 software to continue with my research on colonial New England. Also reproduced here, as listing 2, is a sample of a simple program to do elementary fertility figures.

I have reproduced and wholly written a few programs to assist in the mathematical education of my son. MULT and two other programs have been written as interactive quizzing programs to test and teach mathematics through praise when he is correct and by showing him the correct way when he is wrong. Thus the computer acts as a teacher and could be utilized in this fashion in every home and classroom for elementary school aged children. More sophisticated programs could be implemented on the SOL for older children. These programs, in the form of games, could serve two purposes, entertainment and education.

Listing 2: A sample of a statistical BASIC application typical of programs used by the author in his avocation of historical studies.

10 PB1NT"THIS PROGRAM WILL PRODUCE FERTILITY FlGUHES"

11 PRINT"FOR THE DATA INPUT. THE OUTPUT CONSISTS OF" 18 PRINT"THE PROPORTION OF BIRTHS TO MARRIAGES OVER"

13 PRINT"A DECADE WITH FIVE YEAR INCREMENTS BETWEEN DATA." U PRINT"THESE FERTILITY FIGURES <THE BIRTH RATE) CONSIST OF"

15 PHINT"THE NUMBER OF BIRTHS FOR A DECADE DIVIDED BY THE"

16 PR I NT "NUMBER OF MARRIAGES FOR A DECADE VHlCH BEGAN FIVE"

17 PRINT"YEARS EARLIER."

65 Dl-0

66 I-O

100 PB1NT"INPUT THE STARTING YEAR (BETWEEN 1650/179S) DESIRED

105 INPUT Y

106 PR1NT"INPUT THE NUMBER OF SETS OF YEARS OF DATA

107 INPUT D

no PRINT"INPUT THE NUMBER OP FIVE YEAR INCREMENTS DESIRED

120 INPUT N

ISB DIM Yl(40).M1(40><Bl(40>>Fl<40>>Ye(40>

189 DIM F2(40><Y3(40>

130 FOR J-l TO D

140 READ YI(J)#MI(J)<B1(J>

160 NEXT J

195 PRINT" MARRIAGE YEARS FERTILITr"

800 FOR J-l TO D 205 IF I>N THEN 340 810 IF YKJXY THEN 890 820 Y2(J)"Y1<J*8)-l

230 Fl (J)>(B1 >«'B1 (J4'2>>/(HI(J>«MICJ'»1)) 850 PRINT Yl(J>«Y8(J>>Ft(J> 860 S-S«FI(J> 870 D1«D1*1 880 I-I+l

885 F8(I)-FlCJ)

886 Y3(l)«Y1(J) S90 NEXT J

340 H>S/DI

350 PRINTVMEAN OF FERTILITY FIGURES

395 PRINT

396 PRINT

398 PRINT " YEAH rERTIUITY"

399 PRINT"****************************************************"

400 FOR K»l TO I

420 L«INT<(F2(K)*lO>/2)

430 PRINT Y3<K)»"**";TAB<L)J"*"

490 NEXT K

500 PRINT"****************************************************"

900 DATA 1650>5>£8>1655<8<32>1660<14>43<166S>9>44 910 DATA 1670<20>78.1675<I8.90>l6SO>26>125>I685>e9<168 9E0 DATA 1690<84<163>1695>80<156<l700<e4>179>l705<34>l96 930 DATA 1710>54>839<17i5<40«a47>l780>6«<e87<l7S5«66.e89 940 DATA 1730<e4>333>1735>88<388>1740*88>371<174S>9e>354 950 DATA 17SO>87>372.175S>I05>365«I760>88«388>176S>80>377 960 DATA 1770>65>342<I77S>80>3II<1780>108*89S<i78S<105>344 970 DATA 1790>US<828<1795>99<3S0 999 END

THIS PROGRAM HILL PRODUCE FERTILITY FIGURES FOR THE DATA INPUT. THE OUTPUT CONSISTS OF THE PROPORTIOM OF BIRTHS TO MARRIAGES OVER A DECADE WITH FIVE YEAR INCREMENTS BETWEEN DATA. THESE FERTILITY FIGURES <THE BIRTH RATE) CONSIST OF THE NUMBER OF BIRTHS FOR A DECADE DIVIDED BY THE NUMBER OF MARRIAGES FOR A DECADE WHICH BEGAN FIVE YEARS EARLIER•

INPUT THE STARTING YEAR (BETVEE'I 1650/1795) DESIRED! 71650

INPUT THE NUMBER OF SETS OF YEARS OF DATAl 730

INPUT THE NUMBER OF FIVE YEAR INCREMENTS DESIREDI 780

MARRIAGE YEARS FERTILITY

1650

1659

5*769231

1655

1664

3.954S45

1 660

1669

5.304348

1665

1674

5.793100

1670

1679

5.657895

1675

1684

6.659091

1 680

1689

6.018182

1 685

1694

6.018868

1 690

1699

7.613636

1695

1704

8.588727

1 700

1709

7.5

1705

1714

5.588787

1710

1719

5.680851

1 71 5

1784

S.538468

1780

1789

4.784615

1785

1734

4.406667

1730

1739

4.063953

1 735

1744

4.119318

1 740

1749

4.033333

1 745

1754

4.117318

MEAN OF FERTILITY FIGURESt 5.553943

April 19780 BYTE Publications Inc 129

ircle 64 on inquiry card.

SEMINARS

Micro Diversions Continuing Microcomputer Education announces

MICROCOMPUTING HARDWARE AND SOFTWARE

An introduction to the design,

construction, and programming of microprocessor-based computers.

These are companion "how-to-do-it" courses on the hardware and software technologies of personal computing taught by Micro Diversions product designers.

^ — SOFTWARE OUTLINE " m^m ai HARDWARE OUTLINE —

_ The Software Concept llA) The stored program - bits and bytes I |(B) Algorithms in problem solving I |(C) Assemblers and htgh'fevel languages ^

I Introduction to Programming - BASIC | _ (Al Elementary programming concepts

B|Bl BASIC language siatemenis I

|(C) Simple data structures and examples |

1 Introduction to Assembly Language I (A) Registers, memory, input/output

1(B) Data representation (Ct Data movement and exchange |(D1 Arithmetic and logical operations

^The Z 80 Microprocessor Instruction Set |lA) Registers and addressing modes

1(B) Memory and register data transfers (C) Arithmetic and logical operations |(D) Bit manipulation

■ {£) Transfer of control, jumps '(F) I/O instructions

I Ihow a Microcomputer's Memory Works

■ Assembly Language Techniques -j;^, Random access memory, its architecture (Al General conventions ■ and design

1(B) Data structures and types Ifg) Read-only memory

■ IC) Modular progrannming - subroutinesgci Mass storage (disks and tape cassettes)

History and Culture of Microcomputing I;A) When, where, why IIB) literature, reference books, joMrnals

Id Personal computing, applicrations of

■ microcomputers

I Digital Electronics

■ [A) Introduction to and survey of component

families

ItB) Common components and how to use

■ them

'lO Large-scale integratiori components |lD) Basics of digital design

|lntroduct(on to Microcomputer Architecture

■(A) Buss concept

'(B) Addressing, input/output

|(C) User interface techniques

§How a Central Processing Unit Works

1(A) Introduction to the CPU concept (B) Intel8080CPU |(C) ZilogZSOCPU

-ID) Interrupt architectures and uses B(E) Real time clocks

J(D1 Using the instruction set

I Interrupt and I/O Programming

(A) Interrupt structures 1(B) l/Ohandlers

I (C) Data rates and trade-offs

I Software Architecture of a Monitor ■ lA) The monitor as procedure

(B) Functions of a monitor

I (C) The jump table - vectored entry |[DI Analysis of a monitor

I Loading and Debugging |(AI Getting the code in

IB) Relocation and linking I (C) Breakpoints and snapshots |(D) Patching and polishing

(D) Bubble memories

How TV Interfaces Work 1(A) Character display principles and design ■(B) Full graphics interfaces for plotting and * drawing

|{C) Light pens and how to interface them

|How Microcomputer Peripherals Work

■(A) Keyboard scanners

'iB) Tape cassette interfaces

||C) Telephone interfaces (UARTsand

. modems)

'(D) A/D converters

^Hobbyist Construction Techniques |(A) Layout and technical considerations g(B) Mounting techniques 1(C) Wire wrapping toots and techniques ■(D) How to get started (what to buy, where

Eight Monday and Wednesday Evening Sessions

1 May through 24 May Each course $110.00 or $190.00 for both.

icro Diversions. Inc.

7900 Westpark Drive. Suite 308 McLean, Virginia 22101 (703)827-0888

130 April 1978©BYTE Publicatront Inc

Listing 2, continued:

YEAR FERTILITY ++++♦+++++++♦♦♦++♦++++♦+++++++++++++♦+++++++++♦++++♦

1650 ** *

I6SS •

1660 ++ •

1665 +♦ »

1670 ♦+ •

1675 •

16S0 ** m

1685 •

1690 +♦ »

1695 ♦+ ♦

1700 •

1705 ++ ♦

1710 «

1 71 5 •

17S0 ♦+ *

1785 ♦

1730 •

1735 ++ •

1740 +♦ •

1745 ♦+ • ♦♦♦♦♦++♦+■••♦+♦♦♦♦♦♦+♦♦+♦♦♦♦♦♦♦+♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦♦

In closing, I find the SOL system easy to use, fun to program, and important in our home. It provides my family with entertainment in the form of games both from Processor Technology and written by us. It also provides a mathematics tutor at home for my son. It has also given my son an interest in and understanding of computers far beyond his years and education, i definitely recommend the SOL, based on my experiences with it."

80-103A Serial I/O and FSK modem for professional and hobby communications.

• Completely compatible with your IMSAI, ALTAIR* SOL** or other S-100 microcomputers. Trademarks of *MITS, **Processor Technology

• Designed for use on the dial telephone or TW>^ networks, or 2-wire dedicated lines, meets all FCC regulations when used with a CBT coupler.

• All digital modulation and demodulation with on

board cyrstal clock and precision filter mean that NO ADJUSTMENTS ARE REQUIRED

• Bell 103 standard frequencies

• Automated dial (pulsed) and answer

• Originate and answer mode

• 110 or 300 BPS speed select

• Complete self test capability

• Character length, stop bit, and parity

• 90 day warranty and full documentation PRICES Bare Board and Manual 49.95

Assembled (48 hour burn in) 279.95 Master Charge or Visa accepted.

DC Hayes Assoc.

P.O. Box 9884, Atlanta, Ga. 30319, 404/231-0574

Circle 51 on iriquiry card.

BYTE's Bits

w

Dallas to Host AAME Exposition

The International Microcomputer Exposition will be held in the Dallas TX Convention Center, September 29 through October 1 1978. The exposition, cosponsored by The American Association of Microprocessor Engineers (AAME) and other groups, will be directed toward all levels of technology from the engineer to the novice. Seminars and panel discussions will be held, and over 250 exhibits are planned. For more information, contact Beverly Tanner at (214) 271-931 !.■

A Conference in Texas

1978 Computer Users' Conference will be held on April 20 and 21 at East Texas State University, Commerce TX. The theme will be "Reality in the Computer World" with the session topics being "Using the Computer AS a Profession" and "Using the Computer IN a Profession."

In lititfgon to Iceynote speeches,

industrial and educational representatives will hold panel discussions of current and future computer science curricula for the respective computer usage areas.

Fees for the conference are $20 ($10 for students). For further information contact Donna Flutcheson, Computer Users' Conference Coordinator, East Texas State University, Department of Computer Science, Commerce TX 75428, (214) 468-2954."

Cruise Interfacing.. .

Join a Seaborne Microcomputer

Worl<shop

An advanced Microcomputer Interfacing and Programming Workshop to be presented on a 7 day Caribbean cruise has been announced by the Extension Division of Virginia Polytechnic Institute and State University. The workshop is scheduled to be presented aboard the TSS Carnivale from June 17 thru 24. It will consist of an introductory session followed by five

daily sessions of six hours of lecture and laboratory work. The course content is designed for scientists, engineers and executives who have prior knowledge of basic digital electronics and microcomputer interfacing and programming techniques.

The course is being offered in cooperation with the departments of chemical engineering, chemistry and extension at Virginia Polytechnic Institute and State University. The instructors for the course will be Professors Peter Rony, David Larsen and Paul Field. It is the latest in a series of over 30 seminars which have been presented by this group. Text and laboratory workbook material for the course includes several new books in the Bugbook series, authored by the instructors and their colleagues. Participants will work in pairs on their laboratory experiments using a complete 8080a microcomputer and breadboarding station. The stations will be assigned for the duration of the course so that additional work may be done in the participants' staterooms.

Norris Bell, director of VPI's Continuing Education Center, said that the cruise ship course is the result of a search for new and interesting ways of providing continuing education. Additional information on the course and on the travel agency handling the arrangements are available from the Registrar, CEC, VPI & SU, Blacksburg VA 24061, (703) 951-5182."

SAVE THE WHALE

The world's best computer may be inside a Sperm Whale's head.

The Sperm Whale has the largest brain of any creature that has ever existed on our planet. The brain of this 18-meter marine mammal weighs up to 9 kilograms. It uses echo-location to find giant squid at ocean depths of over 1,000 meters. More than 13,000 sperm whales are scheduled to be slaughtered this year by agreement of the internatianal Whaling Commission.

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 $10 or more contribution to CCS, P.O. Box 145, Wethersfield, CT 06109.

Tliere are tw/o mountain peal<s of evolution on planet earth: on the land, homo saplenshuman beings; in the isea, cetaceans- w/hales, dolphins, and porpoises.

Draunng hv

Circle 143 on inquiry card.

April 1978 e BYTE Publications Inc 131

Robot Simulation on Microcomputers

Why build a mechanism when a video display can be used to visualize logical problems of robots?

John Webstar

Director, Audio Visual Services University of New Brunswicic Fredericton NB E3B 5A3 CAIMADA

A short time ago I came across a program (Dr Dobb's Journal, volume 1, number 8, page 28) written by Marvin Winzenread, entitled "The Bouncing Beastie: A Random Wall<er for Processor Tech's VDM-1." When I loaded the program, sure enough, this little thimble with feet appeared and began stumbling around the screen leaving a trail of asterisks. That was it. No big deal, you say? Marvin says the little character looks like a turtle to him, but to me it looked like the robot I'd tried to build when I was in high school, and I was entranced.

I'm one of those people who has always wanted to build a robot, but never quite did it for various reasons.

Part of the problem is that once you figure out approximately how to build, say, a simple little robot that will wander around your living room bouncing off furniture, then there isn't really much point in going to all the trouble and expense of actually building it. You already know what it's going to do, and it wouldn't really be all that useful.

Another factor is that the hardware robots will need already exists and isn't likely to change all that much in the foreseeable future. The thing that's lacking is the software. If we had the proper programs we would all have robots today.

Watching Marvin's surprisingly fascinating little creature bounce around the screen, it occurred to me that a very interesting, entertaining and hopefully useful alternative to actually building robots might be to simulate them on a microcomputer television display. Thus, my microbots were born. Microbots are simulated robots that move about a simulated room (the television screen) under software control. With microbots you can spend your time thinking up new things for them to do and testing robot related software without worrying about the hardware.

"Microbot" is a simple 8080 machine language microbot drivier program that

provides a starting point for robot related program development.

In its present form (see figure 1 and listing 1) the program begins with a microbot creature starting in the center of an empty room. It then makes a move in one of eight random directions for a randomly chosen distance (of one to four squares). The microbot will sense the perimeter wall and reject any random moves that would make it walk "into" the wall. It will also reject a move that is in the opposite direction of the previous one. This prevents "bouncing" and produces a more realistic movement pattern.

A call to a random number generator (RND) first selects the 180° sector for the next move by setting bit 4 of the present direction status word (DSW) to either one or zero. The subroutine REC stores this information at hexadecimal location 14D and moves the previous contents of 14D (the DSW for the previous move) to 14E for later comparison.

A second call to the random number generator provides one of the four possible moves within the chosen sector. This value (00, 01, 02, or 03 hexadecimal) is then added to the data in 14D to produce the final direction status word for the present move.

Figure 2 illustrates the eight possible moves and their associated status words.

Notice that opposite directions are indicated by the state of bit 4 of the direction status word. This fact is used in the present program to disallow immediate reverse moves. It also makes it simple to reverse direction when desired by the programmer.

There are three status words used in the present program. Location 14D contains the present direction status word; location 14E contains the direction status word of the previous move; location 14F contains a distance status word (DIS) that determines the length of the present move.

The program segment CHEK then

132 April 1978®BYTE Publications Inc

Figure 1: Flowchart of the

Microbot program. The program is shown with notations of hexadecimal address and labels shown to correlate the flowchart with the 8080 assembly language code of listing I.

START

STARTIOOOO

INITIALIZE SCREEN WITH BORDERS AND OBSTACLES

PUT MICROBOT ON SCREEN

G0:002D

SAVE OLD DSW

P/CK NEW PATH WHEN OLD ONE USES UP DISTANCE

WAIT DELAY

:007l

REPLACE MICROBOT WITH TRAIL CHARACTER

I CONTINUE SAME

I PATH UNTIL L

I DISTANCE I

I USED UP I

M0VI:0073

NEXT:O0E5

DECODE AND EXECUTE ONE OF 8 MOVE CALCULATIONS

YES

NO

PUT Ml( ON SCR

JROBOT EEN

SUBROUTINE

BOUNDS

COMPLEMENT SECTOR BIT

DISTANCE:' DISTANCE-1

YES

April 1978® BYTE Publirations Inc

SECTOR 0

SECTOR 0

SECTOR

SECTOR I

Figure 2: In the representation used for direction status words (DSWs) in the IVlicrobot program, tlie possible directions breali down into two sectors based on the status of bit 4 of the DSW byte. The two low order bits determine the direction within each sector according to the diagram.

DIRECTION

STATUS WORD (HEXl

UP

03

UP RIGHT

00

RIGHT

01

13

10

II 12

DIRECTION STATUS WORD (BINARY) 7 6 5 4 3 2 10

T

DIRECTION CODE 0-3

SECTOR BIT -DON'T CARE, ZERO DEFAULT

compares the present and previous direction status words to see if tiiey are in opposite directions. If they are, a new direction status word is sought.

Next, wait routines are inserted to slow the movement to a realistic speed. The speed of your microbot can be varied by changing the constants at hexadecimal locations 63 and 69. WAIT checks to see if the present move is horizontal or not. A longer wait is used for horizontal moves to compensate for the fact that there are 64 horizontal and only 16 vertical positions on the VDM-1 display.

A "trail" character is then inserted on the present square and the direction status

word is decoded with a resulting jump to one of eight move routines. Any noncursor character may be inserted at location 72 as a trail character. After completing the proper move, the subroutine BOUNDS is called to determine whether or not the microbot is trying to move to an obstacle position (ie: any square containing a cursor), if it is, bit 4 is complemented and the resulting move returns microbot to his previous position, effectively cancelling the disallowed move. Each move routine ends with a jump to NEXT which writes the microbot character into the new position square and checks the distance status word. Depending on the contents of DIS, either the last move is repeated or the program jumps back to GO to initiate a new random move.

Future Expansion

As the purpose of this article is to present a basic concept and program for others to

134 April 1978 © BYTE Publications Inc

expand, let's look at some possible areas of development;

1. Search Efficiency: As many robot systems will incorporate search or random search routines, the VDM display allows an excellent theatre for study of the efficiency of various approaches. A measure of the average time it takes a microbot to fill all screen squares with his trail would provide indication of the efficiency of his move pattern. Various changes could be made to microbot's move routines and the results analyzed.

If Microbot's "room" of 16 x 64 squares proves too small for your needs, rooms of any size may be constructed and stored away in 1 K memory sectors. A check to sense that the creature was moving off the side of the screen could be used to call up another sector, move it to the screen and allow microbot to enter on the opposite side. Also, the same algorithm could be easily extended to displays with a higher resolution.

2. Learning: Some of the most complex and interesting programming work to be done is in the field of artificial intelligence and robot "learning." Microbot's use of direction status words should provide a capability for storing, retaining and modifying (eg: retracing steps) move paths that might be kept for future reference if useful, or discarded by the program if inappropriate or less efficient. Refer to texts on artificial intelligence for much more detailed discussions of what it

Everything you'^

~ o know about

ve ever

^mfedto

miooccm^iiters in

ONE conmletebook foronb^ $10.95

The ultimate book about microcomputers. Written by experts ... SCELBI and BYTE. Over 400 pages. A collector's item, featuring The Basics

from the first 16 issues of BYTE and SCELBI's classic library of books. Your microcomputer bookshelf is incomplete without this priceless edition

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

You can't buy information organized like this anywhere. This is the book that everyone who is into microcomputers needs for reference, for ideas, for clues to problem solving. It is a truly authoritative text, featuring easy-to-read, easy-to-understand articles by more than 50 recognized professional authors, who know and love microcomputers from the ground up. Logical and complete, it features many glossaries, and is illuminated with profuse illustrations and photographs.

The Scelbi/BYTE Primer is

divided into four logical sections, that take you from point "0" through building and programming your own computer... step-by-step-by-step.

What can you do with a microcomputer? Checkbook balancing. Recipe converting and food inventory. Heating and air conditioning control. Home and business security and management. Playing the ponies. Analysis of the stock market. Maintaining massive data banks. Self-instruction. Toys and games. Small business accounting and inventory. And lots, lots more.

How does a microcomputer do

it? Lots of "how to" theory. Introducing you to microcomputer operation. 6800, 6502, Z80 CPU chip capabilities. RAM and ROM memories. Addressing methods.

Ill

SSEIEIEI'TE

Over 400 pages. Selected articles from BYTE and SCELBI books. Profusely illustrated. Many photographs. $10.95, plus 500 shipping and handling.

How to control peripherals. Transmission of information to and from computers. Magnetic recording devices for bulk storage. Analog to digital conversion. Hoyv a computer can talk. Other I/O techniques. And more.

Order your copy today!

SCELBI COMPUTER CONSULTING INC.

Post Office Box 133 PP STN Dept. B

Milford, CT 06460

BITS

70 Mam Street Peterborougil, NH 03458 1-800-258-5477

Prices shown for North American customers. Master Charge. Postai and banl< Money Orders preferred. Personai checks deiay shipping up to 4 weeks. Pricing, specifications, availability subject to change without notice.

All about building a microcomputer system. Over 12 complete construction articles. Flipflops. LED devices. Recycling used ICs. Modular construction. Making your own p.c. boards. Prototype board construction. Make your own logic probes. Construction plans for 6800 and Z80 computers. Building plans for l/Os — TV and CRT displays, cassette interfaces, etc. Mathematics functions. ROM programmer. Plus much, much more.

How to program a microcomputer. Programming for the beginner. Assembling programs by hand. Monitoring programs. Number conversions. Game of Hexpawn. Design your own assembler. Lots more.

And that's only the beginning! Others have spent millions acquiring the type of microcomputer information found within the 400 pages of The Sceibi/ BYTE Primer. But, it costs you only $10.95, plus 500 for postage and handling, complete! You know the quality of Sceibi and BYTE. This is your assurance of excellence throughout this MUST text. Order your copy today! And, get one for a friend!

Circle 95 on inquiry card.

BYTE April 197« 135

0000

3 1

5 7

0 1

START

LX 1

SP,015 7H

OOA 1

1 9

DAD

D

0003

AF

XRA

A

00A2

CD

F6

00

CALL

BOUNDS

0004

D3

C8

OUT

0C8H

0OA5

C3

E5

00

JMP

NEXT

0 0 0 6

1 6

OE

MV 1

D , OEH

0 0A8

2 3

RT

INX

H

0 0 0 8

2 1

0 0

cc

LX 1

H.OCCOOH

0 0A9

CD

F6

00

CALL

BOUNDS

0 0 0 B

0 :

4:

AO

LX I

B, 0A0 4 2H

OOAC

C3

E5

00

JMP

NEXT

U (1 0 t

CD

0 8

0 1

CALL

LOAD

0 0 A F

1 1

42

00

DR

LX 1

1), 04 2H

0 0 11

0 1

3 C

2 0

SCRN

LX 1

B , 0 2 0 3 C H

0 0 B 2

1 9

DAD

1)

0 0 14

CD

0 8

0 1

CALL

LOAD

0 0 B 3

CD

1 6

0 0

CALL

BOUNDS

00 17

0 1

40

AO

LX 1

B,0A004H

0 0 B 6

C3

b5

00

JMP

NEXT

00 1 A

CD

08

0 1

CALL

LOAD

00B9

1 1

40

00

DN

LX 1

D.040H

00 1 D

1 5

DCRD

00 BC

1 9

DAD

D

00 1 B

BA

CMPD

OOBD

CD

F6

00 •

CALL

BOUNDS

00 1 F

C2

I 1

00

JNZ

SCRN

ooco

C3

E5

0 0

JMP

NEXT

0 0 2 2

0 I

3 E

AO

LXI

B,0A03EH

00C3

1 1

3E

00

DL

LXI

D, 0 3EH

0 0 2 5

CD

0 8

0 1

CALL

LOAD

00C6

1 9

DAD

D

0 0 2 8

2 1

2 0

CE

LX 1

H,0CE20H

00C7

CD

F6

00

CALL

BOUNDS

0 0 2 B

3 6

0 7

MV 1

M , 0 7H

0 OCA

C 3

b5

00

JMP

NEXT

0 0 2 D

CD

1 A

0 i

GO

CALL

RND

0 0 C D

2 B

LFT

DCX

H

0 0 .1 0

B6

0 2

AN 1

0 2H

0 0 C L

CD

F 6

0 0

CALL

BOUNDS

0 0 3 2

CA

3 7

00

JZ

RC

OOD 1

C3

b5

0 0

JMP

NEXT

0 0 3 5

3 H

1 0

MV 1

A . 01 OH

00D4

1 1

BE

FF

UL

LX 1

D.OFFBEH

00 3 7

CD

1 0

0 1

RC

CALL

REC

00D7

1 9

DAD

D

0 0 3A

CD

1 A

0 1

DI S

CALL

RND

00D8

CD

F6

00

CALL

BOUNDS

003D

3 2

4F

0 1

STA

0 1 4FH

OODB

C3

E5

00

JMP

NEXT

0040

CD

I A

0 1

Dl R

CALL

RND

OODE

1 1

CO

FF

UP

LX I

D. OFFCOH

004 3

47

MOV

B . A

OOEl

1 9

DAD

D

0044

3A

4D

0 1

LDA

0 1 4 DH

00E2

CD

F6

00

CALL

BOUNDS

0 0 4 7

b6

I 0

AN 1

0 1 OH

0 0 L 5

3 6

0 7

NEXT

MV 1

M , 0 7H

0 0 4 9

8 0

ADD

B

0 0 L 7

3 A

4 F

0 1

LDA

0 1 4 FH

0 0 4 A

3 2

4D

0 1

STA

0 1 4 DH

0 0 L A

3 D

DCR

A

0 0 4 D

4 7

CHEK

MOV

B . A

0 0 E B

3 2

4 F

0 1

STA

0 1 4FH

0 0 4 b

3 A

4E

0 1

LDA

0 1 4 EH

0 0 E b

Fb

FF

CP 1

OFFH

00 5 1

AS

XRA

B

OOFO

CA

2D

00

JZ '

GO

00S2

FE

1 0

CP I

0 1 OH

0OF3

C3

57

00

JMP

WAIT

00 54

CA

40

00

JZ

DIR

00F6

7 E

BOUNDS

MOV

A ,M

00 5 7

3A

4D

0 1

WA IT

LDA

0 1 4DH

00F7

E6

80

ANl

080H

005A

E6

OF

ANl

OFH

00F9

C8

RZ

0 0 5C

FE

0 1

CP 1

0 1 H

0 0 FA

3 3

INX

6

0 0 5 L

CA

6 7

00

J Z

SWA 1 T

0 0 F B

3 3

1 NX

6

0 0 6 1

0 1

KF

5 F

LWA 1 T

LX 1

B, 5 FFFH

0 0 FC

3 A

4D

0 1

LDA

0 1 4DH

0 0 6 4

C3

6 A

0 0

JMP

DEC

0 0 F F

0 E

1 0

MV 1

C,01 OH

0 0 6 7

0 1

FF

1 F

SWA 1 T

LX I

B,1FFFH

0 10!

A9

XRA

C

0 0 6 A

0 B

DEC

DCXB

0 10 2

3 2

4D

0 1

STA

0 1 4DH

00 6 B

7 8

MOV

A , B

0 10 5

C3

7 3

00

JMP

MOV 1

005C

FE

00

CP I

00

0 10 8

70

LOAD

MOV

M. B

006E

C2

6A

00

JNZ

DEC

0 10 9

23

INX

H

00 7 1

36

20

MVl

M, 020H

0 1 OA

OD

DCRC

007 3

3A

4D

0 1

MOV 1

LDA

0 1 4DH

0 1 0 B

B9

CMPC

007 6

FE

00

CP I

0

0 1 OC

C8

RZ

0 0 7 8

CA

9 h

0 0

JZ

UR

0 1 0 D

C3

08

0 1

JMP

LOAD

0 0 7 B

FE

0 1

CP 1

0 1 H

0 110

E5

REC

PUSH

H

0 0 7 D

CA

A8

00

J Z

RT

0 111

2 1

4D

0 1

LX 1

H , 0 14 DH

0 0 8 0

FE

0 2

CP 1

0 2H

0 114

4 E

MOV

CM

0 0 8 2

CA

AF

00

J z

DR

0 115

7 7

MOV

M , A

00 8 5

FE

1 3

CP 1

0 1 3H

0 116

2 3

1 NX

H

008 7

CA

B9

00

JZ

DN

0 117

7 1

MOV

M.C

0 0 8 A

FE

1 0

CP I

0 1 OH

0 118

E 1

POP

H

008C

CA

C3

00

JZ

DL

0 119

C9

RET

008 F

FE

1 1

CP I

0 1 1 H

0 1 1 A

E5

RND

PUSH

H

009 1

CA

CD

0 0

J z

LFT

0 1 1 B

2 1

4 4

0 1

LX 1

H,SH+3

0094

FE

1 2

CP I

0 1 2H

0 1 1 E

06

08

MV 1

B , 08H

0096

CA

D4

00

JZ

UL

0 120

7 E

MOV

A,M

0 0 9 9

FE

0 3

CP 1

03H

0 12 1

0 7

RTOP

RLC

009 B

CA

DE

00

JZ

UP

0 12 2

07

RLC

009 t

1 1

C2

FF

UR

LX 1

D, 00FFC2H

0 12 3

07

RLC

Listing 1: The Microbot program, assembled for an 8080 system which has the Processor Technology VDM-1 board located at hexadecimal locations CCOO to CFFFIn memory address space (1024 by tes).

136 April 197g©BYTE Publications Inc

0 12 4

Ah

XRA

M

0 12 5

1 7

RAL

0 12 6

1 7

RAL

0 12 7

2 0

DCRL

U 1 2 8

2D

DCRL

0129

2*D

DCRL

0 1 2 A

7H

MOV

A ,M

0 1 2 B

1 7

RAL

0 I 2C

7 7

MOV

M, A

0 1 2D

2C

1 NRL

0 1 2 t

7 t

MOV

A .M

0 1 2 h

1 7

RAL

0 13 0

7 7

MOV

M. A

0 1.")!

2C

INRL

0 1 3 2

7 t

MOV

A,M

0 13 3

1 7

RAL

0 134

7 7

MOV

M , A

0 13 5

2C

INRL

0 13 6

IH

MOV

A ,M

0 13 7

1 7

RAL

0 13 8

7 7

MOV

M. A

0 13 9

0 5

DCRB

0 1 3 A

C 2 2 1

0 1

J NZ

RTOP

0 1 3 D

h6 03

AN 1

0 3H

0 13 1

t 1

POP

H

0 14 0

C9

RET

0 14 1

SH

DS

4

0 14 5

AR

DS ENP

6

means for a program to "learn."

3. Sensing the Environment: Simulation

of optical, audio or tactile sensors would be very easy with microbots. Remote squares could be examined by microbots' "eyes," for example, according to any rules or limitations (such as distance and direction) the programmer wishes to impose. Experiment with obstacles of different shapes. Color or texture differentiation may be simulated by using other obstacle characters in addition to cursors, eliciting different responses from your creature. A starting point might be to have your microbot periodically scan one wall, searching for an "object" partially obscured by obstacles.

Other interesting possibilities would arise with two microbots in the same room leaving different trails and searching for each other, if you decide to explore this area, you might want to give toes to your microbots, so one 'microbot can tell which way the other's trail leads. Leaving a trail of three sequential numbers instead of asterisks might be one way.

4. Work: If you had a little robot running around your house, what would you like it to do? Vacuum the floor? Pick up small objects and put them away? How about a robot that checks your

Figure 3: The PAPERBYTEStm bar code representation of the object code for the iVIicrobot 8080 program by John Webster. The standard bar code frame format is used, with its synchronization byte (hexadecimai 96) followed by checksum byte, line Identification byte, line length byte and data field. The data field of each frame uses the "absolute" format consisting of a 2 byte address followed by data to be stored at that address. The assembly of listing I was also typeset by machine from the same data file and contains the source code as well as the object code found In this bar code representation.

The documentation of bar code loader programs suitable for loading this program with the data in this figure Is found In the book Bar Code Loader by Ken Budnick, available for $2 at local computer stores and by mail from BITS Inc, 70 Main St, Peterborough NH 03458. To read this data will require a homebrew or commercially manufactured bar code scanning wand, using procedures outlined In Ken Budnick's book.

000000000000000 0000000000! 1 I 1 1

012 3 45678901234

0000000000 0 0 00

000000000001 1 1 0 1 34679ACDF023 0A3C4C4C5D5D5C

000000000000000 00000000001 1 1 1 1 0123456789012 34

April 1978©BYTE Publications Inc 137

Circle 109 on inquiry card.

THE PROM SETTER

• WRITE and READ EPROMs 1702A, 2704/2708

• Can be arranged to do 1702A, 2716T1 or 2708, 2716T1 and with a tew additional parts 2716INTEL, 5204, 6834

• Plugs directly into your ALTAIR/lMSAl Computer

• No External Supplies. Your Computer does it ALL

KIT - $210 ASSEMBLED - $375

IMrom

• Operates in S-100 BUS

• 16 EPROM* sockets with own address select and up to 4 waite states

• Can be wired for any EPROM (in 8/16 unit operation) 1702A, 2704, 2708, 2716INTEL, 2716TI, 5204, 6834

• IK RAM independently address, takes precedence over ROM

• POWER ON JUMP & RUN (Computer With/Without Front Panels)

*EPROMs not included

KIT - $117 ASSEMBLED - $168

Delivery Less Than 60 Days

SZERLIP ENTERPRISES

1414 W. 259th St. - Harbor City, California 90710

CaUfomia residents please aiU 6% sales tax

potted plants and waters them if they need it? Or why not all these things at once? The possibilities are really limitless. Microbots will allow you to develop and test logical procedures for solving all of these problems. 5. Feeding Time: Don't forget that you are simulating a real working robot and that certain internal housekeeping routines should be built in.

Since any self-respecting real world robot will run on rechargeable batteries, a timer or move counter should be one of the first things built into your program to simulate "low batteries" and to initiate a search and docking routine for recharge at one or more "power stations" in the "room." Of course, ypu also have to remember to empty the vaeuum cleaner or whatever.

Conclusion

Sound interesting? Why not run Microbot and see what ideas occur to you? What robots really need right now is for lots of computer hobbyists to start thinking and working on their software. Oh yes, in case I forgot to mention it in my enthusiasm, it's also a lot of fun."

11 Si¥EI

The

HARDWARE

MATHBOARD

that performs!

¥r Logarithmic Functions ^ Trigonometric Functions

# e" , y » , DTR, RTD

# (Multiplication, Division, Addition

and Subtraction ^ 8 Digit Mantissa, 2 Digit Exponent 4f Fast execution time (comparable with

in-system Software Pacitage)

# Compatible with M6800 Microprocessor

and

KIT #1: Printed Circuit Board, assembly & operating instructions, Software Pkg. - $72.80

KIT #2: Kit #1 plus all components, unassembled - $252.00

KIT #3: Fully assembled & checkedout board, Instruction manual and Software Pkg. - $555.00

WOODTRON LTD., P.O. Box 4067 — Station 'C, Calgary, Alberta, Canada T2T 5M9

138 April 1978 © BYTE Publications Inc

Circle 121 on inquiry card.

Sjantinued from page 6

varies from artist to artist. Sometimes the

medium of the representation itself seems to tai<e on more importance for the artist than the aesthetics and inputs from reality. But works of art do not grow by accident, they are created by the designs of the artist.

One way to describe a theory of science is as a selective representation of reality created (and tested) by the scientist in an attempt to understand reality. By its nature, the selection criteria of science lend to be more demanding of precision than those of the artist. These scientific selection criteria are independent of any one scientist, and the nature of the representation is invariably the written word expressed in one or another mathematical formalism. But theories of science do not grow by accident either; they are created and tested by scientists.

The key concept in both these informal definitions is that of the selective representation of some aspect of reality. In art this may be transformed to such an extent that the input from reality is difficult to see. In .science the representation may be so abstract that only those who are at the frontiers of research may yet understand the theory. But both are selective representations, v/ith the selection activity performed by the creator of the work of art or theory of science. The activities of the mind of the artist or scientist are what I refer to as the "intellect." To see the impact of perSdftai computers on these two forms of intellectual activity, we must examine the nature of the computer in its role of intellec-' Hilailfiplifier.

Enter the Intellectual Amplifier

The change of state represented by the contemporary technology of the personal computer is characterized by the growing use of these "intellectual amplifiers" by the individual citizen. We are leaving the state of the inaccessible computer in its computing center, and entering the state of the self contained and inexpensive personal computer. The essences of the computer's contribution to the mental processes of art and science are the same: automation of well understood processes, and speeds of real time operation impossible for unaided human beings.

A characteristic of the creative intellect is the tendency to compartmentalize an activity, isolate its essentials. The whole activity may be too complex to handle at all if this is not done. We find the artist working in oils dividing a complicated

POWERFUL DISK BASED SOFTWARE for NORTH STAR DISK and HORIZON COMPUTER USERS!

SYSTEM Z Development Software Requires 1 North Star Disk Drive and I2K RAM

ASMB Z80 Disk Based .Assembler for rapid development of moderately sized assembly language programs. Requires 8.5K of memory. Price: $60

DASMZ A Disk Based Assembler for developnienL of lar^c assernl)ly laMo;ua<^e programs. R('(|iiir(;s6K of memory. Priee: $60.

ZEDIT A powerful text (Mlitor willi full lext manipulation operations. Reijuires 1.5K of memory. Price: $60.

ZEBUG A Debug Monitor/Disassend)ler that translates object code into instruelion menmonies. Reqidres 3.5K memory. Price $6Q.

BUSINESS PACKAGE

General Ledger .S60

Accounts Payable .$60

Accounts Receivable S60

Payroll S60

Inventory $60

Amortization $35

Mailing List $60

Purchase complete Business Package for $395 Dealer inquiries are invited. Write or call for fuU Software Package details

ils: J

Sunshine Computer Company

20710 S. LEAPWOOD AVE., CARSON, CA 90746 k (213) 327-2118 J

Circle 1Q7 on Inquiry card.

April 1978 @ BYTE Publications Inc 139

Our MacroFloppy™ goes twice the distance.

For %95.

Introducing the Micropolis MacroFloppv'":1041 and :1042 disk drive subsystems For the S-100/8080/Z-80 bus. Packing 100% more capacity into a 5M-inch floppy disl< than anyone else. 143K bytes, to be exact. For as little as $695.

The MacroFloppy:1041 comes with the Micropolis Mod I floppy packaged inside a protective enclosure (without power supply). And Includes an S-100 controller Interconnect cable. Micropolis BASIC User's Manual. A diskette containing Micropolis BASIC, and a compatible DOS with assembler and editor. The ;1041 is even designed to be used either on your desk top, or to be integrated right into your S-100 chassis.

The MacroFloppy:1042 comes with even/thing the -.1041 has, and more. Such as d.c regulators, its own line voltage power supply and, to top it off, a striking cover Making it look right at home just about anywhere.

Both MacroFloppy systems are fully assembled, tested, burned-in, and tested again. For zero start-up pain, and long term reliability. They're also backed up by our famous Micropolis facton/ warranty.

And both systems are priced just right. $695 for the MacroFloppvTl041 and $795 for the MacroFloppy:1042.

You really couldnt ask for anything more. At Micropolis, we have more bytes in store for you. For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue. Canoga Park, California 91304. Phone (215) 703-1121.

Or better yet, see your local dealer.

Ctrele 66 on Inquiry card.

MICROPOLIS"

More bytes in store for you.

picture into regions of detail according to his plan for the picture; we find the composer of musjc selecting a theme or set of themes which is then woven into a fabric of variations and harmonic structure which might constitute a piece of music; the scientist, given a hypothesis and its experimental context, orchestrates the methods and instrumentation procedures needed to test the significance of the hypothesis; the science educator chooses a logical structure of presentation of information in the field of a course. I call such activities "well understood" what to do: the process is unambiguously defined given the goals. The automation of such "well understood" processes is one of the major uses of the small computer systems we call personal computers. Once the process is known well enough to be expressed as a computer program, detailed thought about the sequencing and operation of that process can be set aside while turning attention to less well understood phenomena and processes. The result is an amplification of the mental powers of the individual who uses the small computer effectively.

A second aspect of the inexpensive personal computer is that of speeding up

operations which can only be carried out slowly — if at all — by the human brain. The reaction times of the human nervous system are on the order of 10s of milliseconds in reflex situations. The time needed to think about anything significant is typically much longer. Thus if the human being is asked to respond to a phenomenon on the order of microseconds or milliseconds in duration, the task is impossible unaided. Just as the telescope with photographic emulsions or image intensifiers extends the resolution and light gathering power of the human eye, the computer can extend the response time and acuity of the human nervous system viewed as an instrument of process control, sequencing and measurement. This is an obvious advantage of the small computer to the scientist in the laboratory, but is just as useful to the artist in certain contexts.

Personal Computers: New Prospects for Science

With the basic principle of the "intellectual amplifier" characterized, what about some specific implications for the scientific user? In a sense, most practicing scientists

140 April 197S®BYTE Publications Inc

MetaFloppy™

The Micropolis MetaFloppy™ gives you more than four times the capacity of anyone else's 5%-Inch floppy Because it uses 77 tracks instead of the usual 35,

The field-proven MetaFloppy with thousands of units delivered, comes in a complete family of models. And, like our MacroFloppy™ family of disk drives, MetaFloppy is designed for the S-100/8080/Z-80 bus.

For maximum capacity, choose our new MetaFloppy:1054 system. Which actually provides you with more than a million bytes of reliable on-line storage. For less money than you'd believe possible,

The MetaFloppy:1054 comes complete with four drives in dual configuration. A controller Power supply Chassis. Enclosure. All cabling. A new BASIC software package. And a DOS with assembler and editor There's even a builtin Autoload ROM to eliminate tiresome button pushing.

If that's more storage than you need nght now, tiA' our IVletaFloppy:1053, with 630,000 bytes on-line. Or our MetaFloppy: 1043, with 315,000 bytes on-line. Either way you can expand to over a million bytes on-line in easy stages, when you need to. Or want to.

In other words, if your application keeps growing, weVe got you covered. With MetaFloppy

The system that goes beyond the floppy

For a deschptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, Califiomia 91304 Phone (213) 703-1121.

Or better yet, see your local dealer

MICROPOLIS"

More bytes in store for you.

goes beyond.

Circle 67 on inquiry cgrcj.

have in one way or another grown used to the use of computers over the past decades. In a way, the new low cost computers are but an extension of a trend that has seen a growing use of computer simulations, instrumentation with minicomputers, etc. The real implications are an enhancement of computers' utility due to increased accessibility made possible by low cost.

One interesting way to view the personal computer is as a new form of "logical" blackboard and challc, pencil and eraser. There have been a number of articles in the world of traditional data processing covering the concept of "disposable" programs and languages in which to express such programs. In the same way that your standard blackboard is a "disposable" writing system for notation of theory being worked out, the accessible personal computer can be viewed as an instrument for quickly and interactively performing numerical and logical tests of the implications of a theory. Make no mistake about the role of the thinker in this: just as paper and pencil or blackboard and chalk are useless without thoughts to fill them, the personal computer as an interactive computational aid is similarly useless unless there are thoughts distilled into short

disposable programs to keep it busy.

As an example of a simple use of the personal computer for a calculational scratchpad, I offer a program written by one of our authors, Paul Lutus, which will be published in the next few months in BYTE. The program is a numerical integration algorithm, where the function is specified explicitly in BASIC as, for example:

10 Y = SIN (X)

I loaded Paul's tape for the program into my Apple II and proceeded to explore some of the definite integrals of various functions. To do a course integration, this little program would be given a small number of points within the integration limits; to do a much finer integration (and possibly take a considerable amount of time) I would give it a larger number of points within the range of the integration. But the key point was that with such a program I was able to interactively explore the behavior of a class of problems (definite integrals) with variations of detail (the choice of function, integration limits, and number of iterations through the range of integration).

April 1978®BYTE Publications Inc 141

Circle 134 on inquiry card.

PRAMMER III

by xybek

The Ultimate EPROM Memory Board For Your S100-Bus Computer

*• Accommodates from 1 k to 30k of ttie above EPROMS, in any combination, each addressable on any Ik (2k for 2716) boundary within the board's 32k address space.

•*• Ikof scratch-pad RAM.

* On-board programming for all three EPROM types.

* Tri-state buffers on all address and data lines.

■k Empty EPROM sockets do not require address space.

•k Assembled, tested, ready to run —' only $369,50

xybek • P.O. Box4925 • Stanford, CA94305 Telephone: (408) 296-8188

Are You Interested In

ELECTRONICS or PROGRAMMING, & TECHNICAL WRITING?

How would you like a challenging position as a technical writer with an exciting and progressive company that offers liberal fringe benefits and pleasant friendly atmosphere in which to work?

You'll research and write either service and/or operating and programming publications (depending on your background and Interest) for our computers and peripherals. You'll be working closely with Lab engineers, service engineers and marketing personnel.

The service writing position requires that you have an electronics background, perferably practical microprocessor experience plus experience with test equipment, troubleshooting and schematic layout of analog and digital circuits.

The operating and programming writing position requires a programming background with proficiency in BASIC, algabrak; or other computer languages.

Hewlett-Packard offers a progressive salary and liberal fringe benefits, including profit sharing, insurance, stock purchase, flexible hours and ottiers.

For consideration both immediate and confidential, forward your resume to Ms. Kathi Kline, CPD, Personnel Department P.O. Box

301, Loveland, Colorado 80537.

We are an equal opportunity ^ employer dedicated to affirmative action.

HEWLETT M PACKARD

This interactive programming example was not done, mind you, with a timesharing

BASIC on a minicomputer or larger system, but on a self-contained 16 K system with extended BASIC which sells currently for $1700 and which has been offered at sale prices as low as $1300. When such a personal computer is sitting on a scientist's desk, then the concept of an interactive computational scratchpad becomes a reality.

But blackboards are used for more than just working out problems in isolation. One of tlie major functions of the traditional blackboard and chalk (or its equivalents) is communication of ideas to colleagues and students: education. The interactive personal computer with graphic capability is potentially a powerful teaching tool. Grapliic demonstration of functions is often done in a handwaving sort of way by lecturers at a blackboard. I claim that the use of a small computer with television display graphics of moderate resolution and programs to calculate functions would perhaps be a more dramatic presentation. When taking a course in the theory of complex variables, for example, experimentally performing integrations along various contours could dramatize (and help the student internalize) the effects of the parameters of integration. When taking a course in quantum mechanics, wouldn't the computation and display of contours in a probability field help dramatize the concept graphically? The personal computer with graphic capability provides the teacher with the means to set up and illustrate mathematical behavior in numerous fields.

Of course, using the computer as an aid to the lecturer can be extended: there is a similar advantage to be had in the use of such experimenters as a part of interactive study outside of a lecture context. The new availability of small computers makes the concept of computer aided instruction take on new emphasis. Rote drill as well as thought problems can be cast into an interactive sequence which may be carried out by students using such a computer. Here the "well understood" process being automated is the process of conveying knowledge to a student and testing or reinforcing that knowledge.

The theoretical and pedagogical aspects of the personal computer used in a scientific context are largely in the category of "automating well understood processes" described earlier. Using the small computer system in an experimental or laboratory context represents another significant use. Here, the personal computer's use is but an extension of a trend which started with the first

142 April 1978 © BYTE Publications Inc

Circle 135 on inquiry card.

minicomputer ever sold to a research establishment. The computer becomes the high speed real time nervous system of the experiment, collecting data, sequencing events, and possibly doing limited forms of real time analysis and display. Many of the personal computers on the market are sold with sufficient documentation so that any competent laboratory technician can combine applicatipn software with several digital to analog or analog to digital converters, relays and miscellaneous sensors in order to implement the instrumentation of an experiment design at much less cost than might have previously been possible. Of course the computational abilities of the small computer in a laboratory situation allow significant portions of an experiment's analysis to be done on the same machine after the active portion of the experiment is completed.

In all this application of the small personal computer system to the real world of the scientist, there is one nontrivial danger: it is a possibility that the user of a computer will become intoxicated with the programming art, thus losing sight of the problem for which the program was desired. It is hard to imagine significant use of a computer without some form of programming, so the danger of getting lost in the details of the use of a computer is very real. Yet many experiments have been and continue to be done with computers, so the danger must not be insurmountable.

Personal Computers; NeS^r Prospects for Art

As noted earlier, I view art as the artist's selective representation of some aspects of reality to create an aesthetic effect. One key to any application of personal computers to art is the existence of specialized peripherals upon which to realize the representations chosen. It turns out that two classes of peripherals are typically found: the graphic image outputs useful as described for scientific as well as artistic purposes, and the audio output peripherals essentially useful only in a musical context. Given either or both of these classes of peripherals as an external representation, and the "intellectual amplifier" characteristics of the computer system driving them, some interesting new possibilities are available to the artist.

For the moment, just ignore the ability to calculate and sequence data to an artistic peripheral and consider the two classes of peripherals alone. The existence of a graphic display hy itself allows traditional artistic functions to be done in a new medium. Similarly, the classic electronic music

250nsec. chips—^375

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 8O8O and 8085 systems.

450 nsec. chips—^325

For 2 Mhz. Systems — Same circuit as above but priced lower because of less expensive memory chips. It is fully assembled, tested, guaranteed and is priced lower than most kits.

Fully Static is Best — Both boards use the state-of-the-art Texas Instruments TMS 4044 which requires no complicated and critical clocks or refresh. The fully static memory chip allows a straight-forward, "clean" design for the board with a single 8 volt power supply using 1.6 amps nominal.

Fully S-100 Bus Compatible — Each 4K addressable to any 4K slot and separately protected by DIP switches. Jumpers to customize board to any known

S-100 system.

Commercial Quality Components — First quality factory parts, fully socketed, buffered, board masked on both sides, silk-screened, gold contacts, bus bars tor lower noise.

Guaranteed — Parts and labor guaranteed for one full year. You may return undamaged board within ten days of receipt for full refund.

See at your local computer store

Factory Orders — You may phone for MC, VISA. Ca.shier's check, M.O. speed shipment for mail orders. Personal check OK. Shipped prepaid with cross country orders sent by air. Shipping — stock to two weeks nominal. All orders confirmed within 24 hours indicating expected shipping date. Washington residents add 5.4% tax. Spec, sheet, schematic, warranty statement sent upon request.

Seattle Computer Products. Inc.

r-^ 16611 111th S.E., Renton, Washington 98055 (206) 255-0750

Circle 97 on inquiry card.

April 1978 ® BYTE Publications Inc 143

!EXTRA!

High Prices Byte The Dust,

(Fayetteville, NY) Computer Enterprises has kept their prices low. If you order now, on top of reliability, lightning-fast delivery, you'll pay only the prices you see below. Other great products from, the leaders in microcomputing are available from Computer Enterprises.

Credit

Cash 1

Card Price

Price .

H T OQv* GiAdla^ Amur A V«f

■ jjcar oiegier /iuivi o/i ilii

■fl) { foO

9 r UO _

' IMSAI8080 w/22 slots Kit

614

590 1

1 IMSAIPCS-80/30Kit

1097

1055 1

1 IMSAIPCS-80/15Kit ...

731

703 1

' Edge Connectors & Guides

1 forlMSAI

4

4 1

1 Heuristics Speechlab

265

854 !

1 Vector Graphic SSOns 8K

187

180 1

1 IDL VDB Video Display

338

385 1

1 IDL Software Package A

1 on North Star Disk ....

2S8

819 1

■ IDL Software Package on

150

144 1

1 George Risk ASCII

5S

50 \

1 Cromemco Dazzler Kit

190

183 1

1 Cromemco 16K PROM

128

183 \

1 Cromemco lU-ART Kit

173

166 1

Call or write for our giant Spring Computerlogue Catalogue Today.

IMSAIVIO-B Kit 252 842

IMSAIVIO-C Kit 297 286

IDL XITAN ALPHA 1.5 795 764

Cromemco Z2 Kit 557 536 Dynabyte 850ns 16K

Static RAM Assmbld. .. 577 555

Shipping charges: tlO per GPU on larger units; *1.60 per kit. *8.00 mln,

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 weeksi for personal checks to clear. N.Y. State residents add approp. sales tax. Availability, prices and specs may change without notice.

Operating Hours:

M-W 10-5E.S.T. Th-P 10-9E.S.T. Closed Sat. & Sun.

Write or Gall

oompulcr cmeipri/Gf"

P.O. Box 71

Fayetteville, N.Y. 13066

Phone (315) 637-6208 Today!

synthesizer sans computer performs a traditional function (one instrumental sound) on a new medium. But then consider that an electronic medium is inherently subject to editing by a computer and to dynamically changing its pattern under control by a computer. Using a computer to control an audio output or a display, with progressions of displays varying in time, is what I call "algorithmic art." The essence of this entirely new art form is that simple mathematical principles can be used to create aesthetically satisfying visual or aural representations which can be classed as "art."

So let's turn first to the use of a personal computer to update a traditional technique. This is the technique of representing objects on a plane surface in multiple colors. A standard personal computer product, with no modifications necessary other than writing a small program to use a homebrew joystick, was used to create several visual representations stored in film. The program and some examples of this use were found in a review of the Apple II computer I wrote in the March 1978 BYTE. I employed the homebrew joystick for control of position in the limited resolution field of the display, an ordinary keyboard for setting of colors, and a button to allow colors to be extended while the cursor is moved about the screen. This is a simple and not particularly revolutionary technique.

Using the computational power of the computer, in the August 1977 BYTE, authors D John Anderson and William F Galway presented a short article on the subject of "Serendipitous Circles," a method of filling a display field with points based on an extremely simple algorithm with an inner loop containing just two computational steps outside of housekeeping functions. Depending upon the initialization of the parameters of the computation, an amazing variety of patterns is created, constantly changing in real time. Then, taking this algorithm one step further, a reader of BYTE, Kellerman, explored modifications of the algorithm and the principle of merging several generations of the display. The result was a short article and the cover of the April 1978 BYTE. The "Serendipitous Circles" algorithms are best calculated in real time, and with sufficiently fast displays they result in a dynamic form of art in which there is a pleasing visual progression with time. Here we have an example of art created by the design of the computational

144

April 1978©BYTE Pilblicalions Inc

Circle 28 on inquiry card.

algorithm. The graphic forms which result are the representation in two dimensions of the results of a computation; the artist selects the computation and thus determines what the display looks like. I can only view with some wonder the fact that the viewer can find the result of this simple computational technique so aesthetically pleasing.

As computers with good graphic capabilities come to market, algorithmic art is bound to become more important. One such example is used by the Apple Computer Company, for example, as part of a standard demonstration of what they call high resolution graphics. This example is the algorithm which computes a constantly changing colored pattern called the Spirograph. On a color television, it is like looking at a succession of different "mandala" designs of the sort usually created with colored string and pegs.

Turning to a different field, that of musical art, the use of the computer also creates exciting possibilities. With the appropriate synthesizer output peripherals, any personal computer can be used to control a personal orchestra in real time. (Well, depending on the number of channels, the orchestra might be more like a string quartet.) This is the "traditional" method of representing music, updated with the small computer acting as the logical equivalent of a player piano's roll.

The use of a digital representation of a musical score enables people to play music independently of muscular coordination and skill. It also allows complexity approaching the small orchestra to be managed by one artist. But that is not necessarily all there is to computerized music.

Using the "intellectual amplifier" characteristics of a processor between keyboard and music synthesizers, for example, algorithms for the assignment of keys to timbres in real time can produce extensions of the concept of the organ to a much fuller variety and flexibility of tone color. A simple example: if I am pressing two keys, I'll have the instrument sound timbres A and B, while if I press three keys at once, I'll have the instrument sound timbres B, C and D. In this way, the tone colors of the instrument can be made to vary during live performance in a way impossible on a conventional organ. And further, I change the character of my instrument by changing the algorithm.

Or turn to a different problem altogether: that of analysis and composition of music. Statistical methods can be used to analyze the probabilities of sequences of notes in

Circle 25 on inquiry card.

April 1978©BYTE Publications Inc

145

some piece, capturing the composer's "style." These parameters can then be used to generate sequences of notes "in the style of" that composer, yet constantly changing with time. Here we have used an algorithm to select and play notes, another example of one of the "algorithmic arts."

Some Parting Comments

We are all living in an exciting time of transition, as the wealth of computers and computer aided technologies permeates civilization. As I have noted, the effect of the growing availability of personal computing machines has the potential for significant influences upon art and science, influences achieved by the computing machine's

action as an "intellectual amplifier" magnifying the effectiveness of one's thoughts through automation of well understood processes and coordinating actions and measurements with time resolutions impossible for humans. The new prospects for art and science are inherent in use of computers for what they are good for, on a wider scale then ever before, now that personal computing technology has become within the means of so many people."

This editorial was prepared as the text of a talk delivered on March 13 1978 during a session entitled "Creating with Calculators in the Classroom"at the American Chemical Society's 175th annual meeting In Anaheim CA.

Your Microcomputer can be a Money-Making Machine with SOFTWARE from SYNCHRO-SOUND

Here are two Software packages that enable you to profitably make

full use of the potential in your small computer system: SynchroSound's interactive business systems designed for use on an 8080or Z80-based microcomputer witti floppy disks and a hard-copy printer. Written in Microsoft Basic (known as Altair Basic*), the software supports file maintenance, query and reporting functions. This support includes creation, modification and deletion of customer records and processing of transactions to be posted against tiie files.

ACCOUNTS RECEIVABLE PACKAGE

TheA/R module creates a history file of charges, credit and payment records for audit purposes. Payments can be applied to a particular invoice, or to the oldest open items..Batch Mode for monthly statements, aged receivables schedule, and delinquency notice as well as on-line Inquiry mode for specific information are both fully implemented.

Operators Manual & Disk—Single Copy $500.00

INVENTORY PACKAGE

The inventory system maintains a current listing of stock items featuring on-line transaction processing. Reporting functions include a master inventory listing with price and cost data, reorder alerts, vendor specification, and summary valuations. Year-to-date usage records are kept for each inventory item to facilitate sales analysis.

Operators Manual & Disk—SingleCopy $500.00

Operators Manual only- $35.00 refundable upon purchase of Software Package.

Microsoft Disk Basic —Single Copy $350.00

WRITE OR CALL FOR FURTHER INFORMATION

Additional Software Packages will be available in the near future

nark of MITS. Inc.

SYNCHRO-SOUND Enterprises, Inc.

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

Hours 9-4 Daily and Saturday

Worl<ing Systems on display

Dept. BS

BankAmericard/Master Cfnarge

146

April 197S©BYTE Publicalions Inc

Circle 108 on inquiry card.

Department of Robotics Hocum

Notes by Carl Helmers

We have been hearing numerous reports of late concerning a reputed "robot" which would be sold for about $4000 and would be capable of household tasks from washing dishes to greeting guests. This particular "robot" has been seen in numerous general public media of late, including television and newspapers. Two (possibly independent) sources have confirmed how this allegedly artificially intelligent robot works. The first source to come to my attention was a newsletter called Robot Builder No. 4 put out by Michael Westvig of 208 Via Colorin, Paios Verdes Estates CA 90274, which gives an account of the experiences of a group of individuals from the artificial intelligence laboratory of Carnegie-Mellon University, reported by Mark Fox and Brian Reid. The second source of information, confirming the reports of the newsletter, was a recent trip to the Massachusetts Institute of Technology Artificial Intelligence Laboratory. During that trip, which was a one day whirlwind tour arranged by Dan Hillis of the LOGO project, I was told of an ARPA Net file which has been accumulated on this "robot" by Al workers at laboratories around the country. The- story on "Quasar" found in the ARPA Net file confirms the information in Michael Westvig's newsletter.

As a gizmo, there really is a "robot" travelling here and there for public entertainment. It has no mechanisms remotely capable of the grasping, sensing and manipulation needed to wash dishes or do other

household ch ores. It has various mechanical systems for moving around, and - here is the hocum — a simple radio frequency link to two controlling human beings. One of the gentlemen responsible for operating the robot is the "voice" of the machine, carefully cupping the microphone in his hand while acting as a remote ventriloquist for the "robot's" voice. The second operator is a gentleman who, according to the Robot Builder account, keeps his hand in an airline flight bag which contains the controls for mechanical motions of the "robot." In short, don't get your hopes up that this is a real implementation of the independent robotic system concept of science fiction. As an entertainment and diversion it may be most acceptable, but an artificially intelligent robot it is not. The engineering technology is on the level of remote controlled model airplanes.

There is some legitimate concern by the people in the artificial intelligence community that the widespread electronic and printed media coverage of such a device may raise false expectations with respect to robot technology. I hope not. This "Quasar" carnival act may indeed have some positive effects by acting as a friendly publicist for the concept of the intelligent mechanism which is a real robot. If nothing else the public fascination generated by the extravagant claims of this "robot" will help demonstrate that a market for real automata at consumer prices will be present when engineering catches up with science fiction."

ALPHA Z-80* $ ^95

ASSEMBLED

• 12 SLOT MOTHER BOARD

• 12 CONNECTORS (S-100 BUS)

• 17 AMP POWER SUPPLY

• HEAVY DUTY CABINET WITH FAN

• Z-80 CPU BOARD: All Sockets Included, Gold Contact Fingers, Higin Quality Glass Epoxy PC Board, Double-Sided, Plated Through Holes, Requires Only -f- 8 VDC / 800 MA.

NOTE: 22 SLOTS/30 AMP POWER SUPPLY - $595.

ADS also sells IMSAI and NORTH STAR Assembled at Kit Prices + LEAR SIEGLER ADM 3A Assembled at $888.00. TERMS: Cash with Order. Prices include Freight. (N.C. Residents add 4% Sales Tax.)

• Z-80 Is a registered trademark of Zilog Inc.

ALPHA DIGITAL SYSTEMS

Data Acquisition, Computation anci Control

ROUTE 4 BOX 17 lA BOONE, NORTH CAROLINA 28607

ADS

Circle 2 on inquiry card.

April 1978@BYTE PuUications Inc

147

Rene E Pittet 537 N Gordon Marshall Ml 49068

BASIC Sorts

The world of 'personal computers is full

of surprises at every turn for novices such as myself. Lilce a child discovering the world around me, I want to share my discoveries even with people who have already experienced them. IVly latest discovery is the ability of the 8 K BASIC supplied with my SwTPC-68 to perform sorts on numbers and words.

Listing 1 is a program for arranging a series of numbers into ascending order.

Listing 2 is a similar program that arranges a series of words in alphabetical order. The underlying strategy is the same for

Listing J.

00100 PR I NfNUMBER SORTlNf-)" 00 n B PR I NT

00 1 SB PRINT"HOW MANY NUMBERS TO BE SORTED?" 0013H INPUT N

00M0 PRINT'TNPUT NUMBERS ONE AT A TIME."

001 50 FOR 1=1 TO N 00 16 H 1 NPUT X( I ) 001/0 NEXT I 00180 S=0

00190 Nl=N-1 00200 FOR 1=1 TO Nl 00210 IF XCI) 00220 Z = X(1) 00230 X(I ) = X< 1 + 1 ) 00240 X(I+l) = Z 00250 S=l 00260 NEXT I 00270 IF S=1 THEN 00180 00280 PRINT 00290 FOR 1=1 TO N 00300 PRINT X<n B0310 NEXT I 00320 PRINT 00330 EMD READY. RNH

X(I♦! ) THEN 00260

NUMBER SORTING

HOW MANY NUMBERS TO BE SORTED? ? 5

INPUT NUMBERS ONE AT A TIME. 27 .8 1 1 .5 55 .98 33

.98 1 1 .5 27 .8

33 55

SRU 0 .467 UNTS .

RUN COMPLETE.

both programs. The alphabetic sort program gives each letter in the word a number. The individual letters are ranked in ascending order from A to Z. The entire word is then treated as one number.

In lines 110 to 170 of both programs the number of names or numbers to be sorted is read along with the data list which is stored in an array. Line 180 sets a flag to zero. A FOR. . .NEXT loop sorts through the list and determines which of the elements of each data pair is largest. If the second element is of lower rank than the first, the routine sidetracks the lower rank data momentarily into temporary storage place Z and the process is repeated until one pass through the data is completed. The flag at S is then checked. If S is equal to 1 another pass is necessary. If S is equal to 0 the routine will drop through to another FOR. . . NEXT loop in lines 290 to 310 where the list of numbers or words is printed out in ascending order.

Note that the order of the sort can be changed from ascending to descending by making the "greater than" test in line 210 a "less than" test. Also note that line 200 says repeat the loop four times rather than five times. This is due to the fact that line 210 looks ahead one step.*

Listing 2.

00100 PRINT"NAME SORTING" 00110 PRINT

00120 PRINT"HOU MANY WORDS TO BE SORTED?" 00130 INPUT N

00M0 PRINT"INPUT THE WORDS ONE AT A TIME.

00 150 F OR 1 = 1 TO N

0016 0 INPUT A$<I)

00170 NEXT I

00180 S=0

00190 N1=N-1

00200 FOR 1 = 1 TO Nl

00210 IF ASCI) <= AS(I+1) THEN 0026B

00220 ZI=A$<I)

00230 At<I) = A$(I + l )

00240 AI(I+1> =ZS

00250 S=l

0026 0 NEXT I

0027 0 IF S = 1 THEN 00180 00280 PRINT

00290 FOR I = 1 TO N

00300 PRINT ASCI);"S";

00310 NEXT I

00320 PRINT

00330 STOP

READY,

RNH

NAME SORTING

HOW MANY WORDS TO BE SORTED? ? 5

INPUT THE WORDS ONE AT A TIME.

? RAY

? GINNY

? ROY

? JEANNE

? ROBERT

GINNYJJEANNEJRAYSROBERTJROY; SRU 0 .46 2 UNTS .

RUN COMPLETE.

148

April 197«©SYTE Publications Inc

Languages

On Consumers' Languages and Standardization of Human Interfaces

The suggestion of G A Taylor that a new standard is needed for the small appliance computers is timely. I do not share, however, his fear thai BASIC or APL will become the Appliance Computer Language (ACL) used by the mass population. I believe that such a future ACL will be more simple than BASIC, more powerful than APL, and that without such a new and universal language the mass market in home computers will never beome a reality. I would like to share with you the experience on which 1 am basing that conclusion.

In the research and development division of a large corporation, I am handling applicatron program designs which are too complex to be solved as a routine part of an engineer's work. Depending on the nature of the task, I implement the program with timeshare FORTRAN or APL or on a Tektronix Graphic System 4051 with only 16 K of memory in BASIC. These are special purpose interactive programs which are used typically for half a year and are used by "normal people." A normal person is concerned about the mechanical vibrations of a part which he designs. He is not concerned about dollar signs, differences between □ and m and delimiters. When the program is verified I do sit down to the terminal with the future end user and witness how the simplest and most explicit instructions get misunderstood and confused by technically competent people.

The APL ranks highest in my experience as a medium in which the programs with good human interface can be written without generating an extra five pages of the code for each new command. APL accepts and executes most commands (niladic functions without result) when they are entered as basic input or as a response to a numerical quad. I would like to hear about another language which is that foolproof.

The APL (or Forth) is recursive, BASIC is as interpretative as APL but not recursive. The future ACL will be recursive and compilable by parts; it will respect the usual arithmetic priority and will have no large special character set. in particular, it will

not call sin X, 1 0 X and it will not say "syntax error" when you forget the right

argument.

I don't think that such a language can be developed by volunteers. The group suggested by G A Taylor should be formed for the purpose of developing standards which are not only hardware independent, but to a degree language independent as well.

To give a concrete example from my own experience, I am familiar with two very high level systems called DIALOG and SCEPTRE: after the beginner learns that he must hit the return key to get any action, he comes to the cases where the clever programmer decided to save him that work by

16K Static RAM

'330 K'lt '365 Assembled

• Very Low Power-650MA+5V; 90MA+12V; 16MA-5V

• Applications Notes-6800 and 6502 Sys.

• Low-profile sockets for all chips

• Solder mask; silk screen; plated through holes

• Each 4K addressable to any 4K boundary

• Fully buffered S-100 bus—gold-plated contacts

• NEC UPD 410 D memories

COD, Master Charge, B of A, Visa Accepted .... Orders shipped prepaid. California residents add 6% sales tax.

^^DENBERG DATA PRODUaS

PO BOX 2507

SANTA MARIA. CAUFORNIA 93454 8O5-037-79S1

Peter Mikes

5761 Greenbrier Dr

Dallas TX 75209

Circle 118 on inquiry card.

Apifil 1978 ® BYTE Publitations Inc 149

Circle 18 on inquiry card.

I I I

I I I

I I I I I I I I I I I I

I

I I \

ADM-3A 756

00*

IN KIT FORM

• 80 CHARACTERS/LINE •24 LINES/SCREEN

• ADDRESSABLE CURSUR •9,10, or 11 BIT WORDS

Plus Shipping and Handling

' 75-19,200 BAUD ' FULL & HALF DUPLEX ■ ODD/EVEN/NO PARITY ' RS232 INTERFACE OR 20 ma CURRENT LOOP

GET COMPLETE DETAILS «WTH A DIREa CAIU 214 258-24ia TWX 910-860-5761 TELEX 7S-0022

800 527-3248

258-2«ia TWX 910-860-571

capital

930 N. BELTLINE

equipment brokers IRVING, TEXAS 75061 ^

rDR. DOBBS - INTERFACE AGE - BYTE - POPULAR ELECTRONICS - ROM - KILOBAUD

I ARTICLE INDEX

PERIODICAL

GUIDE

FOR

COMPUTERISTS

1977

MAKE FULL

USE OF

MAGAZINES

INDEX OF PERSONAL COMPUTING ARTICLES

Letters from Readers * Book Reviews

Articles *Editorials *Indexed by Subject *

1977 Jan-Dec 25 Magazines Indexed

1975 1976 15 Magazines Indexed

$5 each Postpaid Money Back Guarantee

E.BERG PUBLICATIONS

1360 SW 199th Ct; Aloha, OR. 97005

SEND FOR BROCHURE

I ELECTRONICS - RADIO ELECTRONICS - PERSONAL COMPUTING - CREATIVE COMPUTING!

requiring only Y or N answer. Tlie return is then interpreted as zero answer to the next question.

There is no simple correlation built into the present languages between the types of prompts and types of legal answers. To the end user, such correspondence is allimportant, particularly when applicable to all new computers."

Concerning PASCAL A Homebrew Compiler Project

Stephen P Smith ROB 841 Parkslev VA 23421 (804) 665-5090

Your editorial in December 1977 BYTE was commendable. It served to reinforce my conviction that PASCAL is the next step up from BASIC for personal computing. As you and your readers know from the biographical sketch that preceded my article in November 1977 BYTE, a PASCAL compiler is my pet microcomputer project. Because that sketch prompted a number of inquiries about the status of my work, I thought a letter to BYTE would be timely following your editorial.

My approach to the compiler is to start with a small subset of PASCAL and add features as my resources and talents permit. I've begun by determining the minimum subset needed to describe its own compiler. Because statements written in the resulting language will still be valid PASCAL, the initial version can be debugged and run as a cross compiler on any computer which supports the full language. When operational, my compiler will convert itself to machine code to be loaded on the target microcomputer. Further development will be done on that machine. Each subsequent revision will be written in the PASCAL subset of the previous one.

At this writing, I have completed the parsing procedures and am testing them on a DECsystem 10 with the guidance of Dr Robert Mathis at Old Dominion University. The production of machine code is still some way off, because I feel I need more experience with the instruction set of the target machine, MOS Technology's 6502. I expected to get this experience with a

150 April 1978 © BYTE Publicatran! Inc

Circle 12 on inquiry card.

6502 based Challenger i ordered from Ohio Scientific in August, but it has yet to be delivered. Perhaps this spring I will have an operating compiler to report.

As an alternative to my subset approach, there is another vvay to implement PASCAL. It reflects upon your editorial discussion of the compiler/interpreter alternative. 1 am developing a pure compiler, but the standard PASCAL implementation is a hybrid. A program is available to convert source programs into assembly code for a hypothetical stack computer (HSC code). The assembled hypothetical stack machine code is then interpreted by the target machine. This technique has speeded implementation of PASCAL at several installations, and might be useful for personal computing since the hypothetical stack machine code is itself portable. A club, for example, might maintain the source to hypothetical stack machine compiler on one member's computer which had the necessary resources. Other members need only support the hypothetical stack machine assembler and Interpreter for their machines. Although operationally more cumbersome than direct machine language compilation, this approach might speed up the availability of PASCAL and reduce the hardware requirement for applications users.

1 know there are others around the world who are interested in PASCAL for their personal computers. I hope you will continue to provide a forum through which we may communicate.

Shortly before going to press B YTE received the following note from Stephen Smith:

My computer arrived shortly after I mailed this letter, 109 days after OSI confirmed my order."

Languages Forum is a feature which is intended us an interactive dialog about ttie design and implementation of languages for personal computing. Statements and opinions submitted to this forum can be on any subject relevant to its purpose of fostering discussion and communication among BYTE readers on the subject of languages. We ask that all correspondents supply their full names and addresses to be printed with their commentaries. We also ask that correspondents supply their telephone numbers, which will be printed unless we are explicitly asked to omit them.

PERSONAL COMPUTER BREAKTHROUGH!

12K Home Computer System

$299.95

BALLY PROFESSIONAL

ARCADE■

THE ONLY VIDEO GAME THE HOME USER CAN PROGRAM.

The Professional Arcade

is a complete home computer system and includes these exciting features:

• Z-80 based prooesser unit (5 times more powerful than ttie Z-80 alone)

• 24 key keyboard — adapts to a variety of programs via keyboard overlays

• Instruction manual

• 4 remote hand controls (all functions can be addressed through Tiny Basic.)

Calculator — 5 function 10 memory: problems can bescrolled up and down on TV screen from keyboard

3 games — Gunfight, Checkmate, Scribbling, fun for the family — more available now, many more on the way

Tiny Basic is Here NOW! Order Today And Get It FREE!

With Tiny Basic, the Professional Arcade Is the only Video Game on the market that the home user can program. Tiny Basic includes keyboard overlay, ROM cassette, and instruction manual. Features: music, graphics and color. Program storage of up to 1800 characters. "Token" features permits substitution of a single character for an instructional word or phrase. 68 alphanumeric and special characters accessible from tiie keyboard. Displays 11 lines of 26 characters.

BUY TINY BASIC today for $49.95. and receive a full refund when you purchase the expansion package. This limited time offer Is available only

from NCE/CompuMart.

Expand Your 12K System To 44K At An Unbelievably Low Price!

Your Professional Arcade - can be expanded into a complete home information system through a 50 pin connector located at the back of the unit. Preliminary Specifications Include:

• Full Basic with extended graphics and music.

• 16K additional ROful • Industry Compatible keyboard

• 16K additional RAM • IEEE port • Preliminary price: $300

Initial deliveries should begin during the third quarter of this year. Price, delivery, and specifications are preliminary, and are subject to change without notice.

Additional future options include printers, acoustic couplers, temperature and light controls, telephone dialers, disks, Selectric interface, digital tape decks, and of course, extensive software.

Priority Delivery

As the value leader in mini and micro computers we placed a large order early and have the Arcade® in stock for immediate shipment while supplies last. Orders will be strictly processed In the order received. Priority of shipment of expansion packages will be based on the date of order of the Arcade"'"" so order now. Phone orders accepted.

No Risk. If after 10 days you're not 100% satisfied, for any reason, just return the computer with all accessories for a full refund.

Name

Address.

City, State, Zip.

BY48

Quantity

Description

Each

Total

Bally Arcade

$299.95

Tiny Basic option

49.95

TERIMS AND CONDITIONS: All o'ders must be signed by an authorized person. Equipmanl may be purchased by cash or credit For nel 30 days, approved open account custoitfeis must (ill out credit application below. FOB shipping point shipments will be insured lor lull value, customer reponsible lot settling liansil damage cla

Micti. residents add 4% Sales Tax

Total Amount

I NCE ■ h . calaiogl with respect lo merclianiabili material lor any parliculai purpose liable for consequential damages.

langu

'Khoul

'^JCE si

W FOR CHEOIT C«RO OR0EII5 Hhi« Cnaigt

NCE/Compumart

1250 N. Main St., P.O. Box 8610 Dept. BY48, Ann Arbor, Mi. 48107 (313) 994-4445

Circle 65 on inquiry card.

April 1978©BYTE Publicalions Inc 151

f

w

E John Dehaven RCA/WACS

Cape Romanzof, AK APO Seattle WA 98706

Technical Forum is a feature intended as an interactive dialog on tfie technology of personal computing. The subject matter is open-ended, and the Intent is to foster discussion and communication among readers of B YTB. We ask that all correspondents supply their full names and addresses to be printed with their commentaries. We also ask that correspondents supply their telephone numbers, which will be printed unless we are explicitly asked

Solving the Problems of International Television Standards

The following is a reply to Guy Burkhill's question in June 1977 BYTE, page 60, about use of 525 line video withi Englisli TV sets (presumably 625 line): I think I can help answer the question because I worked for some years with TV in a city that has both standards: Bangkok. In Bangkok there are three or four stations broadcasting with the US and Japanese CIRR standard (525 line, 60 fields per second, 2:1 interlace, 30 frames per second) and three or four using the German PAL standard (625 line, 50 fields per second, 2:1 interlace, 25 frames per second).

As you can imagine, there is a lot of business converting sets originally in one form or the other to work on both! If you are satisfied to stick with black and white, there is no problem at all. Nothing needs to be done!

I have seen hundreds of different kinds of TVs from all over the world and they would all receive both kinds of video transmission, and in most cases, a compromise setting of the vertical hold vi'ould cause them to lock on either signal. In the worst cases, a slight tweak of the vertical hold is all that is necessary. This is because the horizontal and vertical oscillators in TV sets are phase lock types that synchronize on sync signals that are part of the transmitted signal. Horizontal is no problem because the frequencies are nearly the same

(625 X 25 = 15625, 525 x 30 = 15750) TV

sets are never synchronized on the AC line because you might not be on the same generators as the TV station. The choice is made to make the vertical frequency match the line frequency in a given country so that any hum (line modulation) component that might creep into the video is stationary on the screen.

The only thing necessary to convert a black and white TV is to insert a ($2.00) 1 MHz oscillator-mixer module on the output of the video detector to convert the 4.5 MHz sound intermediate frequency (IF) to 5.5 MHz or vice versa, which would not be a consideration for a monitor application. This module was often installed with a switch so it could be turned on or off, but I have seen it installed without this switch many times and there was no noticeable deterioration of the picture caused by the presence of the extra sound subcarrier.

Here are some additional tips. You will experience 20% underscan. If this bugs you, adjust the vertical height control. Usually these controls (height and width) are set too high on a TV set anyway, since a customer is much more likely to be bugged by dark borders than he is by the loss of some of the picture.

All TVs contain various traps in the video IF, depending on the quality of the set Almost all will have a sound IF trap

$95 Stand Alone Video Terminol

++,-./01245b739: :<=>? §RBCDEFGHIJKLMNOPQRSTUUyyVZ[M"_ 'abcdef yhi jklnnopqrstiiywxyz-CI>^i

• 04 .\ 10 nne lormai. wiin i za aispiayanic enaraeiers • Serial ASCII or BAUDOT with multiple Baud rates ' •$187 As,sembled or $157 Kit (Partial Kit $95) ^ • Full cur.sor control with scrolling and paging • On board power supply

• Many additional features

Call or write today. MCVVISA accepted

\ XITEX CORP. P.O. Box #20887

' Dallas, Texas, 75220 • Phono (214) (i20-299;5 Overseas orders and dealer inquiries welcome

152 April 1978©BYTE Publicalions Inc

Circle 124 on inquiry card.

to trap out the sound subcarrier. I would suggest that these traps be removed (or switched out) for optimum use of a TV set as a video monitor.

If you are contemplating the use of color, you may be in some trouble. You should be very sure of just what you have in the way of signal before proceeding (see below). The two systems used in Bangkok have a color oscillator (phase locked again) that differs by some 800 kHz in the two systems. At the very minimum another converter is needed ahead of the color burst detector to get this oscillator in sync. If it is PAL, the phase alternating flip flop must be switched out ("red" signal). While successful color conversions have been made, it is very difficult to get everything right.

If you are not prepared to do a lot of tinkering with a color set, and do not have access to test equipment (good color generator and wideband scope at a minimum) your best bet would be to bite the bullet of customs and import a set from the US or Japan.

I do not presume to tell you what you have in your own country (Great Britain), but my reference [ITT Handbook, 5th edition) says that your standard is 405 lines/ 50 fields, 2:1 interlace rather than 625 lines. The sound carrier is AM rather than FM, according to this reference. IVlake sure of this before you buy a lot of expensive hardware!

It sounds like my remarks about black and white video would apply pretty much to your setup if it turns out to be this way in fact, except that the horizontal frequency would be 10,125 Hz which might be out of the range of adjustment of your horizontal oscillator without a little modification. These horizontal sync controls are typically built with a very wide range, though, so a TV set may be built to low standards of precision.

Under the 405 line system the video bandwidth is down to 3 MHz from the US 4.2 MHz. 1 don't know if this loss of resolution is tolerable, and what could be done about it would depend on the TV set. In some, it would be easy to take out traps and tweak the video IF a bit wider; in others it would be very difficult.

As to the other end of the conversion, I once converted a digital color generator (Heathkit) to generate both kinds of signals in use in Bangkok, and it was not too difficult at all, especially when you consider that the sync signals are not at a critical frequency. Get a schematic (send a couple of dollars and an explanation) from several manufacturers of TV interfaces and check out the possibilities. ■

Circle 5 on inquiry card.

Ar t-by-Computer t„ is here!

Pi 1g 13 ^ File 60

Black-on-white, 9 3/4H by 12 3/4W reproductions of connpul;er generated designs. See Jan 78 Byte

or circle reader service number for details. Sei; of 12: $20.00; singles $2.00 each. Minimum order: 2 prints. Orders less then $10.00 and all orders from outside continental U.S. add $2.00 postage and hand I i ng. Payrrient must be in U.S. dollars. California res i denies add 6% sales tax. Send check or money order to:

LeI and C. Sheppard PO Box 60051, Dept. B Sunnyvale., California 94086.

Also available at selected retail outlets. © Lei and C. Sheppard, 1978.

r

The KIM to S-100 bus Interface/Motherboard

• Combines the power of the 6502 with the flexibility of

the S-100 bus

• Attaches to any unmodified KIM

• Complete interface logic and fuliy buffered motherboard

in one unit

• On-board regulation of power for KIM

• Eiglnt slots of S-100 compatibility for additional F5AM,

Video and I/O boards, PROM F'rogrammers, Speech processors...

• Includes all parts, sockets for ICs, one 100 pin connector,

and full Assembly/Operating documentation

♦ Kit $125, Assembled $165

♦ All units shipped from stock

FORETHOUGHT PRODUCTS

P.O. Box 386-F Coburg, OR 97401

J

Circle 47 on inquiry card.

April1978®BYTEPublicatianslnc 153

Circle 22 on inquiry card.

MATRIX PRIJSTER

S100 Bus Compatabia 40 Charaetars Par Lina 90 Linas Par Minuta

Crisp Clear Copy Software Controlled Type Fonts — Script Justification - Generate Any 7 Dot Matrix Symbols or Characters

• Inexpansiva

• Reliabia

• Dapandabia

• Attractiva Cabinat Includad

• Complate with Softwara Examplai & Inatructiani

• Usas Plain Papar

• Kit $375

$426.80 COMPLETE (Assembled)

DISKETTE IJSTEREACE

* S100 Bus Compatable a Uus FD1771 With

On-Board Crystal

* Simple - easy to program

• Handles up to 4 Drives

• Just Plug in Intarfaca,

• $225 COMPLETE

• Minifloppy Drive $355 each

• SA800 Drive $595 each

• SA801 Drive $610 each

• IK On-Board PROM and CP/M Softwara $100

Hook Up Driva and Run Your Program

VISA - MASTER CHARGE - CHECK - MONEY ORDER GEORGIA RESIDENTS ADD 4% SALES TAX

CENTURY DATA PRODUCTS, INC.

1758 TULLY CIRCLE NE / ATLANTA, GEORGIA 30329 404/325-7878

Presenting a growing line of professional quality

IMSAI/ALTAIR

^ BOARDS

COMPATIBLE

8K BLANK RAM BOARD lor 21D2 type memory. $25.00

-wWl MEMORY PROTECT/UNPROTECT and SELECTABLE WAIT STATES

Z-80 CPU BOARD $35.00

-wilh PROVISIONS lor ONBOARD 27118 and POWER ON JUMP

PROTOBOARD

$25.00

(NEW) 2708/16 EPROM BOARD $25.00

—accepts up to 16K of 2708's or 3ZK of 2716's, AtL BOARDS FEATURE

FULL BUFFERING on ALL DATA and ADDRESS LINES' SOLDER MASKS and SILK SCREEN' DIP SWITCH ADDRESSING' GOLD EDGE CONNECTORS PLATED THROUGH HOLES

lejCBpffor PROTOBOARD

WATCH FOR OUR 16/64K DYNAMIC RAM BOARD AND ADDITIONAL BOARDS TO BE ANNOUNCED FORTHWITH.

W 9

IMSAI8080 Kit

—with 22 Slot M.B.

$560.00

PLUS SIO.OO SHIPPING

Z-80 CPU CHIP $22.00

Z-80ACPU CHIP $25.00

450 ns,.; .$12.00

PLEASE ADD 12.00 SHIPPING PER ORDER.

illlflM QlldiO

PO BOX 91 ITHACA, N.Y. 14850

PLEASE CALL (607) 273-3271 TO ORDER OR OBTAIN TECHNICAL ASSISTANCE. OEM nil quantity dlKounti mllaUa r

Tick ... Tick ... Tick

... Booooom

W B Jazembski Texas Tech University School of Medicine PCS 4569 Lubbock TX 79409

Not all dangerous devices give nice little

warning sounds. One such dangerous device may well be that small TV set thai you are planning to use as a video monitor. All too many of the small TV sets being sold at bargain prices today are not line isolated devices. To the uninitiated this means that when you plug it into the wall, the AC power line is connected directly to the common reference or as you diehards call it, the "ground." In other words, the electrical reference connection within the TV set that you call the "ground" may be connected to the power line neutral (with its remote ground). Or it may just as easily be connected to the "hot" side of the line) depending upon which way you plug it in.

Where does the danger come in? If you connect your computer system to the TV set, the reference common on your system may well become lethally "hot" with 120 VAC. You may say that your system has worked for over a year with no trouble, so why worry. This is like carrying a small screwdriver in your pocket; it may take a year or more before it becomes wedged in the wrong way and punctures your skin when you bend over. In like manner, the "hot" chassis syndrome may exist for many moons before you acidentally find that you have one hand on a ground when you touch the chassis of your computer system with your other hand. (The radio industry produced "hot chassis" cheapies for months before a number of fatalities forced the change to complete isolation. You will note that the inexpensive TV sets do not have a conventional metal chassis except for the tuner and that there are no openings in the case to poke a screwdriver into.)

Even if you are the only one who touches your homebrew computer, you may forget sometime and touch metal and ground simultaneously. Or, you may have a young visitor who has not yet learned the dangers of knob twirling and switch pushing. Oops, there goes a neighbor's kid, and he was one of the nice ones.

For computer manufacturers: Remember you will be held responsible for such acci

154 April 1978 © BYTE Publiutlons Inc

Circle 59 on inquiry card.

dents unless you have made it quite clear that only persons expert in the field should attempt to interface to a TV set without being absolutely certain of the type of TV set they are dealing with. Check with your lawyer and see just how responsible you are in light of the current wave of product liability laws and litigation.

Oh yes, for you hardy homebrew souls who still wish to proceed with the small TV set, there are several solutions that may be used to use that $79 set that you bought for your home computer. Probably the easiest to understand and implement is to purchase a small line isolation transformer from your friendly electronics supply house and install it between your TV set and the power line."

Avoid Self-Modifying Code

Don Kinzer

388S IMW Columbia

Porttand OR 97229

Concerning the Programming Quickie in July 1977 BYTE, page 166, by Gregory Worth, I would like to make a comment. The timing subroutine as shown is similar to one I've been using for some time. However, Mr Worth's version has a potential problem which is rooted in the fact that the routine employs what is commonly referred to as "self-modifying code." It is best to avoid such tactics, especially when the task can be accomplished equally well without self-modifying code. The offending instructions appear in the listing at hexadecimal address 0006 and 0009. These instructions actually change the instruction at location 0003 from LDX # C350 to something else (depending on the state of the carry) and back again. If the user applies a reset at the right time (or, wrong time as the case may be) the instruction at 0003 will be left in the garbaged state. For the same reason the code is not reentrant.

The fix is simple. All Mr Worth needs is six bytes of code that take 12 cycles total to execute. This can be accomplished several ways including six 1 byte, 2 cycle instructions such as NOP, CLV, SEV, CLC, or SEC; three 2 byte, 4 cycle instructions such as CPX L00P2; or two 3 byte, 6 cycle instructions such as TST L00P2. All of the above instruction sequences will have the same effect as the two offending instructions, except that they don't change any memory locations."

Circle 93 on inquiry card.

9Pi^J?MTA.T9^'* SAv jNGS...

IMSAI 8080

jA VERY SPECIAL PACKAGE: IMSAI 8080 KIT C22-SLOT [MOTHERBOARD, FRONT PANEL, 28-AMP'POWER SUPPLY), WITH I IMSAI »tK STATIC RAM MEMORY KIT. ..RETAIL VALUE: $838

I SPECIAL CASH PRICE: $599.95

80 80 WITHOUT MEMORY: $569.95

TDL XITAN 2

NO TIME TO BUILD: TECHNICAL DESIGN LABS, ASSEMBLED AND TESTED XITAN ALPHA 2 CWITH Z-80 BOARD, SYSTEM MON-{ ITOR BOARD, AND 16K OF STATIC MEMORY) WITH 12K SUPER 1 BASIC... TOTAL RETAIL VALUE: il7^9 \

SPECIAL CASH PRICE: $1399 j

WANT MORE MEMORY? ADD AN ADDITIONAL 16K TDL STATIC | RAM ASSEMBLED MEMORY... LIST PRICE: $699 !

CASH PRICE CW/PURCHASE OF XITAN 2): $559 I

QUANTITIES LIMITED. ALL PRICES PLUS SHIPPING. CHARGE CARDS OR CCD., ADD 5%.

BUS S-1QQ. INC. W

ADDRESS 7 WHITE PLACE 1

CLARK, NJ G7G66 O

INTERFACE 201-382-131B P

HOURS: M-F 10:00 A.M. - 6:00 P.M. EST ^ SAT. OR SUN. - BY APPT. ONLY jl

THE ROBOTS ARE HERE!

COMPLETE KITS Send for Brochure

P.O. Box 10767 WinstontSalem, NC 27108

(919) 748-8761

□ □

n

Circle 49 on Inquiry card.

April 1978 © BYTE PuMicatipns Inc 15S

Circle 36 on inquiry card.

Gook Feviews

21 START-AT-HO ME COMPUTER BUSINESSES

fii the shoesMag, start-at-home

computer business handbook

CONSULTING •PROGRAMMING •SOFTWARE PACKAGES • COM FREELANCE WRIT I NG • SEM INARS • TAPE/DISC CLEANING FIELD SERVICE • SYSTEMS HOUSES • LEAS ING«S UPPLIES

PUBLISHING • TI ME BR0KER5 • HARDWARE DISTRIBUTORS SALES AGENCIES • HEADHUNTING • TEMPORARY SERVICES USED COMPUTERS • F I NDER ' S FEES»SCRAP COMPONENTS COMPUTER PRODUCTS AND SERVICES FOR THE HOME

Plus - - hundreds of ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and much more. No career planning tool like it ever published. Order now and if you're not completely satisfied, send it back within 30 days for a full and Immediate refund.

• 8i X 11 ringbound Cin pp. •$12.00

Call 312-945-2940 or mail coupon

730 WAUKEQAN ROAD • SUITE 10B DEERFIELO, ILLINOIS S0015

DRTHSERRCH

ificotpor a led

Rush copies of "The Shoestring Start-At-Home

Computer Business Handbook to me right away

NAME/COMPANY

ADDRESS

CITY/STATE/ZIP

□ check ENCLOSEDanKAMER I CARDQMASTERCHARGE

»

A PROFESSIONAL COMPUTER TERMINAL FOR THE NOBBIEST

SINGER

7100/7102

New & Reconditioned ' Terminals with ASCII Code

FEATURES:

7100

$650. to $1295.

• ASCII CODED without tape punch or reader . 110 to 150 BAUD (11 to 15 CPS adjustable)

• Word Processing Quality • RS232 Serial or Current loop Interface • Nationwide Service

• Warranty • Off line use as Typewriter

• (Option) Special Interfaces available for Hobby Computers (state which when ordering)

7102

• Same features as 7100 plus tape punch & reader

TERMS:

C.O.D. and

Cashier's Check Shipping and

Handling $35.00 ea.

HK

H&K COMPANY

COMPUTER CORPORATION

(816) 561-1776

Scientific and Engineering Problem Solving with the Computer

by William Ralph Bennett jr Prentice-Hall, Englewood Cliffs NJ 07632 457pages, 8'Aby 11 inches $17.95

Reviewing this book is not unlike the task C K Ogden set himself in the Saturday Review when he reviewed the Encyclopedia Britannica. Williain Ralph Bennett's Scientific and Engineering Problem Solving with tfie Computer will appeal at once to the computer scientist, physicist, artist, electrical engineer, musician, and linguist, to name but a few of the disciplines covered. It is massive in size and scope.

The book grew out of Prof Bennett's highly praised course, "The Computer as a Research Tool," given at Yale University. Its structure, in the author's words, is based on the belief that "the best way to teach students computational methods is to give them lots of interesting problems of gradually increasing difficulty." The BASIC language is used throughout the book because the author feels it is easily learned and is conversational in tone.

Rarely has such a diversity of material been covered with this much rigor, elegance, and wit. Prof Bennett is a polymath with a vengeance: here you'll find topics ranging from pattern recognition to Poe's cryptograms; from falling bodies to Fourier scries; from entropy to electric fields; not to mention rocket travel; the diffusion of disease; the Dolby system of noise reduction; lasers; hieroglyphic decoding; the sailor-prostitute problem; cyclotrons; Taylor series; economics and matrix inversion; contour plots; nonlinear distortion in magnetic tape recording; Van Allen belts; solar flares; the Roger Bacon cypher; and on and on (that's less than a fifth of the subjects listed in the table of contents).

Every subject is covered in depth, and real, practical algorithms and example programs are given (in some cases for the first time). For example, in chapter 4, which deals with language, the author states his intent to lure humanity majors into the world of computers. The chapter begins with a description of the classic idea of the monkeys and the typewriters, in which an army of monkeys typing at random would eventually type out all of the world's great literature.

This leads naturally to a discussion of

156 April 1978©BVTE PuWications jnc

Circle 50 on inquiry card.

Circle 38 on inquiry card.

random processes, Eddington's conlectures

about the random motion of gas molecules, some first order monkeys, a few BASIC correlation matrix programs — and the unsuspecting humanities student is hooked (along with the rest of us)! Nor does Prof Bennett stop there, for next is a discussion of second and third order monkeys, the Eddington baboon, Markov processes applied to music, entropy in language, and this typical exercise:

Using the algorithm in the text with the pair-correlation matrix from Hamlet, compute the most probable diagram path which starts with the letter T. Gompare the result with that gi¥«n above for Poe's The Gold Bug.

I particularly enjoyed chapters 7 and 8, which cover Fourier series and electronics. Here you will find elegant programs designed to teach the theory of vibrating strings, the design of filters, and the fast Fourier transform. This is one of the exercises:

Write a program to generate fake data for the plucked string example. Use the method of least squares fit to extract "best fit" parameters for the amplitude, decay rate and frequency. ..

An intriguing feature of the book is the wealth of excellent, unusual illustrations (page 346 depicts Michelson's incredible spectrum analyzer machine built in 1903). Physicists will enjoy thumbing through it for this feature and for the careful exposition of physics in a computer science context.

The book contains a complete introduction to BASIC for readers new to the language. Anyone with a good grounding

ITM

^wCP/M'

LOW-COST MICROCOMPUTER SOFTWARE

CP/W^ OPERATING SYSTEM:

• Includes Editor, Assembler, Debugger and Utilities.

• For B080 or Z-BO systems.

• For IBM-compatible floppy discs.

• $100-Diskette and Documentation.

• S25-DDCumentation (Set of B manuals) only,

MAC"^ MACRO ASSEMBLER:

• Compatible with new Intel macro standard.

• Macro library facilities.

• Complete guide to macro applications,

• $90-Diskette and Manual.

• S15-Manual only.

SID'^'' SYMBOLIC DEBUGGER:

• Runs with CP/M and MAC.

• Symbolic memory reference.

• Built-in assembler/disassembler.

• Real time breakpoints.

• S75-Diskette and Documentation.

1 HESE^HCH

P.O. Box 579 • Pacific Grove, California 93950

C4081 649-3896

PUT YOUR FINGER ON SOFTWARE WITH

AN INDEX TO PUBLISHED MICROCOMPUTER SOFTWARE

$4.95

SSI lets you know where to find software, what software is available, what publications give you the most software for your needs, plus right where to go for specific programs. SSI indexes many microcomputer magazines and books with, of course, complete publication documentation.

Order direct from the

Schreler Software Index 4387 East Giove Street Phoenix, Arizona 86040

Circle 73 on inquiry card.

April 197S@BYTE Publications Inc 157

Circle 81 on inquiry card.

yOUniMTKMOW

OAE'S new PP-2708/16

PROM Programmer is the

OAE'S new PP-2708/16 i

PROM Programmer is the only programmer with all these features:

• Converts a PROM memory socket to a table top programmer: No complex interfacing to wire —just plug it into a 2708 mennory socket*

• A stiort subroutine sends data over the address lines to program the PROM

• Programs 2 PROMS for less than the cost of a personality module. (2708s and TMS 2716s) I

• Connect 2 or more In parallel — super for production programming

• Complete with DC to DC switching inverter and 10 |

Pat's Pending

turn cermet trimmers (for precision pulse width and amplitude alignment) • All packaged In a handsome

aluminum case PP-2708/16 . . A & T $295.

KIT $245. PP-2716 (Programs Intel's

2716) A & T $295.

KIT $245.

OAE

Oliver Advanced Engineering, Inc. 676 West Wilson Avenue Glendale, Calif. 91203 (213) 240-0080

ED SMITH'S SOFTWARE WORKS Announces A IVI6800SYSTEM RELOCATING ASSEMBLER AND LINKING LOADER forSwTPCo or Altair 680b

ATTENTION ALL NON DISC 6800 OWNERS: Now you can produce large object programs without the restriction of requiring enough memory storage to contain the text needed for large size object programs. By using our Relocating Assembler and Linking Loader you create your programs in smaller, more easily handled segments which can be assembled separately and then linked together at load-time. This, in effect, allows assembly of programs whose object code alone would require most of your system memory. Load-time linking also provides the capability of setting up program libraries which can be called by any program without having to include the text in each assembly. This assembler has many features new to the personal computing market, such as relocatable code, a full alphabetized cross reference listing, both locjil and global labels, listing of execution time, 8 character labels, use of a break character in labels, variable column print and terminal listing formats, and for all those PR-40 forty column printers out there the ability to produce an 80 column professional looking assembly output listing. The assembler also includes a mini-editor to allow coresident correction of assembly errors, load and save source code, generate new source code, list source code, etc. The source code uses the TSC Text Editor format so that their program may be used to compliment and expand the included editing functions.

The Relocating Assembler and the Linking Loader are furnished on cassette in relocatable formatted code, so they may be placed anywhere in memory. A short mini-loader program in standard Mikbug format is supplied to initially load the Linking Loader at any desired address. A comprehensive Instruction Manual and an extensively commented assembly listing complete the M68AS assembler package.

M6BAS $50.00

A disc oriented version of the Relocating iUsembler and Linking Loader is also available

from Smoke Signal Broadcasting.

Other Programs (see Dec. Byte)

M6800 Disassembler/Trace M68DT $20.00

M6800 Source Generator M68SG 25.00

M6800 Relocate M68RL 10.00

M6800 Binary Loader M68BL 10.00

Package of above 4 programs M68PK 55.00

Order direct by check. Specify system conHguiation if other than SwTPCo. California

residents add 6% sales tax.

Note: We shortened our address:

Ed Smith's

SDFTlUfiRE liJDRhS

p. O. Box 339 Redondo Beach, CA 90277

in algebra should be able to absorb most of the material here, but calculus is a definite plus if you want to tackle the later chapters. Scientific and Engineering Problem Solving with the Computer is primarily an idea book that reads like a good novel, but satisfies like a good textbook. I intend to keep it nearby in case I have to design a laser or analyze the syntactic structure of the Greek Decree Of Canopus.

You never know.

Chris Morgan, Editor ■

Your Home Computer

by James White

DYMAX, Menio Park CA 94025

235 pages, softbound

$6

This book is a good introduction to

personal computing for the reader with little or no technical background or experience with computers. It is particularly strong in its hints for evaluating and buying a personal computer and its suggestions for home applications.

The book begins with a brief introduction to the concepts underlying computers, including the semiconductor technology which has brought computer prices down to an affordable level. This is followed by an introduction to microprocessors, types of memory, and microcomputer peripherals. Photos of some of the popular micro products are included as examples. The book concentrates on the concepts and the factors for evaluation which should be considered by the prospective microcomputer buyer.

The most interesting section of the book offers advice on how to get started with personal computers, commenting on microcomputer manufacturers and mail order vendors ("cash now, delivery later"), computer stores, the hazards of kit building, and the differences between single board computer "trainers" and full-scale micro

158 April 197S®BYTE Publications inc Circle 99 on inquiry Card.

Circle 123 on inquiry card.

computers. A very brief introduction to

programming is included as well. The author suggests an evaluation scheme for "system selection by weighted factors."

The final section of the bool< describes a wide range of home computer applications. Cursory discussions are offered on educational applications, amateur radio, electric trains, robots, electronic music and art, games, financial record l<eeping, stocl< market analysis, a kitchen inventory system, word processing and home environment control. A chapter entitled "Inventions Wanted" encourages the reader to try out his or her own innovative ideas.

Appendices provide useful, though necessarily incomplete, lists of names and addresses of manufacturers, personal computing periodicals, computer clubs and computer stores, as well as a table for the ASCII character set.

My only complaint is that the book doesn't devote much attention to software concepts. I believe that these can be approached on the same nontechnical level as the book's discussion of hardware concepts, and that an understanding of a computer's software features (from the user's point of view) is crucial to an intelligent purchase decision. Nevertheless, the book should prove very useful to anyone wishing to get started in the field of personal computing.

Dan Fylstra 22 Weitz St #3 Boston MA 02134*

Publisher's Note... Concerning Reprints from BYTE

Readers are advised that through error on our part in coordinating selections of material for outside reprints of past materials from BYTE, there is a significant overlap of content between 7776 Best of BYTE Volume 1 published by Creative Computing Press, and 7776 Sce/bi/BYTE Primer published by Sceibi Computer Consulting Inc.

We do not advise purchase of both volumes by readers without comparing their respective tables of contents side by side, among friends or in a local computer store. After discovering this problem, we have taken the only step possible for us: There will be no second printing of 7776 Best of BYTE Volume 1 now that the first press run is nearly exhausted.

Virginia P Londner Publisher

16K X 8 BIT RAM IVIEMORY

STATIC OR DYNAMIC HAVE IT YOUR WAY !!!!!!

DYNAMIC RAM

.Sphere Plug Compatible 270 NSEC Access Time 470 NSEC Read/Write Time Fully Socketed Low Power

STATIC RAM

Sphere Plug Compatible Easy Home Brew Interface 150 NSEC Access Time 300 NSEC Read/Write Timis Fully Socketed

MODEL

WWW16KA

DESCRIPTION

Fully Assembled

PRICE

$549.00

WWW 16KK

Kit

$449.00

MODEL

WWW.KAS

DESCRIPTION

Fully Assembled

PRICE

.$650.00

WWW.KKS

Kit

$550.00

WWW ENTERPRISES P. O. BOX 548 HARBOR CITY, CA. 90710 (213) 835-9417

NORTH STAR BASIC PROGRAM

EACH SYSTEM GOMPUETE, ON DISKETTE READY TO RUN

♦ACCOUNTS RECEIVABLE *GENERAL LEDGER ♦ACCOUNTS PAYABLE *PAYROLL ♦SOFTWARE LOCATOR *N.S. BASIC TUTORIAL ♦BUSINESS STATISTICS *BIORHYTHM GENERATOR ♦WORD PROCESSING

♦RENTAL LOCATOR SERVICE *CHECK BOOK BALANCE

♦MEDICAL BILLING ♦INVENTORY ♦SALES ANALYSIS ♦BOWLING HANDICAPPER ♦COIN COLLECTOR ♦DIET PLANNER

♦IMPORTANT DOCUMENT LOCATOR

—ONLY $35.00 PER SYSTEM, POSTPAID— EQUIPMENT REQUIRED, SINGLE DRIVE, 8-K FREE MEMORY, PRINTER OPTIONAL

A/A SOFTWARE

OH

SOFTWARE

DEPT. 11 P. O. BOX 2528 ORANGE, CA 92669

Circle 125 on inquiry card. Aprin978©BYTE Pubiicaiions inc 159

Circle 101 on inquiry card.

Newslelfeps

Software

Games • CRAPS (Las Vegas siyle) $6.00

• MULTIPLE LUKAR LANDER $8.00

• SLOT MACHINE $6.00

• GAME PACKAGE: Russian Roulette, Mad Scientist, and ABM $8.00

Graphics . PICTURE MAKER with AMP-L ANNY $12.00

• GRAPHICS PACKAGE I: Loser Beam, Space Shuttie, and Biast Off $10.00

• GRAPHICS PACKAGE II: Rain in Greece. Flea Textwriter, Random Walk $10.00

Scientific . FOURIER FIT: Does curve fitting $15.00 Systems • RANDOM NUMBER GENERATOR TEST $5.00

• HEX MEMORY LOADER $10.00

• MEMORY DUMP PROGRAM $10.00

• MEMORY SEARCH $5.00

Ail Programs Written in BASIC Complete Easy to Read Documentation Programs Completely Tested

SOFTWARE RECORDS

P.O. BOX 8401-B UNIVERSAL CITY, OA 91608 (cal residents add 6% sales tax)

Boards DO Something

CL2400

Real Time Clock

systems, inc.

,ff ffist i i.» j

I 11 I 1 I 1 t ■ $98—Kit $135—Assembled

—iiiiiB' \~m iiwiiitfii--'"-*

If your system heeds to know what time It is, our CL2400 is the board for you. The present time in hours, minutes, and seconds Is always available for input, and is continuously updated by the highly accurate 60 Hz power line frequency. Need periodic interrupts? The CL2400 can do that, too, at any of 6 rates. Reference manual with BASIC and assembly language software examples Included.

PC3200

Power Control System

PC3232 $299—Kit $360—Assm. PC3216 $189—Kit $240—Assm. PC3202 $39.50—Kit $52—Assm.

If your system needs on/off control of lights, motors, appliances, etc., our PC3200 System components are for you. Control boards allow one I/O port to control 32 (PC3232) or 16 (PC3216) external Power Control Units, such as the PC3202 which controls 120 VAC loads to 400 Watts. Optically isolated, low voltage, current-limited control lines are standard in this growing product line.

systems, inc.

(formerly comptek)

P.O. Box 516 La Canada, CA 91011 (213) 790-7957

North Florida Computer Society

The computer entliusiasts of Pensacola FL have formed an organization for all interested people called the North Florida Computer Society. They meet on the second Thursday of the month. For more information write to Eugene Rhodes, 227 Edison Dr, Pensacola FL 32505.

For Computerized Hams.. .AlVIRAD

The Amateur Radio Research and Development Corporation is a Virginia based group which has been operating for three years. AMRAD's membership has grown from 28 at the end of 1975 to 90 at the end of 1976, to 200 at the end of 1977.

For more information concerning the club, write to the Amateur Radio Research and Development Corporation, 1524 Springvale A% MsUan VA 22101.

Tennessee Computer Fair Scheduled for May

The Computer Club of Walters State Community College, Morristov/n TN, Is sponsoring the First Annual Computer Fair of East Tennessee to be held May 3 1978 from 10 AM to 8 PM on the college campus. Admission will be free. A variety of computer equipment will be on display, illustrating applications in education, business and the home.

There will be a charge of $15 for those wishing to exhibit at the fair. The money will be used to establish a scholarship fund in computer science. For more information, contact William R Parks at Walters State Community College, Morristown TN 37814, (615) 581-2121.

Space Coast Microcomputer Club

The Space Coast Microcomputer Club newsletter, the Enterprise, has a rather eye-catching cover design. Edited by Mike Rodby (also club secretary), it contains statements from club officials, articles from members, and a variety of computer related material. Write to the Space Coast Microcomputer Club, 219A Fillmore, Cape Canaveral FL 32920.

160

April 1978 © BYTE Publications Inc

Circle 17 on inquiry card.

Birmingham AL Amatew Rmliffl Qiib

The Birmingham AL Amateur Radio Club and the Birmingham Microprocessor Group will sponsor the "BirmingHAMfest 78," May 13 and 14, at the new air-conditioned Birmingham-Jefferson Civic Center. There will be numerous exiiibits and forums on microcomputers, amateur radio and related areas, and a flea market. For more information, write BirmingHAMfest information, POB 603, Birmingham AL 35201.

On Line

On Line is a medium through which computer experimenters can swap and sell equipment, programs and services related

to the field of home and business computers. For information concerning advertising rates or subscriptions, write to On Line, D H Beetle, Publisher, 24695 Santa Cruz Hwy, Los Gatos CA 95030.

Homebrew Computer Club

This organization's newsletter contains many good articles covering the experimenter's world. For a subscription or more club information, contact Homebrew Computer Club Newsletter, POB 626, Mountain

View CA mm,

NECS

The New England Computer Society located in Bedford MA holds informal meetings dedicated to the TRS-80 and COSMAC VIP, as well as software demonstrations. For further information contact the New England Computer Society, POB 198, Bedford MA 01730.

Long Island Computer Association (LICA)

LICA is now well into its third year of existence, and has two active special interest groups: one for the 8080 (which has been running up the phone bill with three computers now operating modems), and one for the 6800. There is also a class on computer construction held monthly before the regular meetings and conducted by Al Harrison. For more information, contact LICA, 28 Splittrail PI, Commack NY 11725.

Houston Amateur Microcomputer Club (HAuCC)

For information concerning membership, meetings and the like, write to HAuCC, POB 37102, Houston TX 77036. ■

Circle 84 on inquiry card.

8700Processor: 6503MPU, wear free "ActiveKcyboard",

Micro-Diagnostic® Extensive documentation. Fully Socketed. Piebug Monitor: Relative address calculator, Pointer High-low, User Subroutines^ Back-step key.

Cassette Interface: Load & Dump by fUe*. Tapcmotton control. Positiveindksition of operation.

Applications systems from $90 (10 unit quantity) Development systems from $149 (single unit)

:TELLMEMORE ;

want to see for myself thi^ the 8700 is The Answer, : * ( ) Please send documentation

: and price lists. $10 enclosed. name: . . ;

: [ ] I don't need documentation : \ please send price lists. address; ;

: ( ) Please send FREE CATALOG. : etor: state: zip: '<

: EUtnimiCS o^"-'-' • 1D2D W. WllsMrB Blvd.'OlildiomaCity. OK 73ltS IM5I M3^9li26:

1976/1977

CO

i

(O

iliTE

Cover Price * plus postage and handling

-n o

Back Issues for sale

B The following issues available: 1 '76

'77

3000 July ICQ August 230 October 330 November 550 December

350 March

730 May 1000 June 1000 July 1500 August 2600 September

350 November

800 December

= *Cover price for all issues tliru August 1977 is ■

= $1.50 plus $.25 postage and handling. Sep- [

= tember '77 thru December '77 issues are ■

= $2.00 plus $.50 postage and handling. j

rniiiiiiiiiiiiiniiuiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiHuiiiiiE

Send requests to: BYTE Magazine 70 Main St

Peterborough NH 03458

Attn: Back Issues

April 1978<SBYTt Publical

itions Inc 161

LEARJ^XO PROGRAM

MH'IHM'<»ll>l"n:K»>

And at an affordable price. The Modu-Learn™ fiome study course fronn Logical Services. Now you can learn microcomputer programming in ten comprehensible lessons. At home. In your own time. At your own pace

You learn to solve complex problems by breaking them down into easily programmed modules. Prepared by professional design engineers, the

Modu-Learn'"" course presents systematic software design techniques, structured program design, and practical examples from real 8080A micro-computer applications. All in a modulai^sequence of 10 lessons . . . more than 500 pages, bound into one practical notebook for easy reference.

You get diverse examples, problems, and solutions. With thorough background material on micro-computer architecture, hardware/software tradeoffs, and useful reference tables. All for only $49.95.

For $49.95 you learn design techniques that make software work for you. Modu-Learn™ starts with the basics. Our problem-solution approach enables you to "graduate" as a programmer.

Circle the reader service number below to receive our free descriptive brochure and course outline. Use your Master Charge or VISA card to order today. Call Pat at (415) 965-8365.

Circle 62 on inquiry card.

P.O. Box 60968 Sunnyvale, OA 94088 408-245-8855

Continued from page 24

One out-of-Gontext quote was seized upon by editor Morgan as an error, thereby drawing my attention to a possibility not explored by the authors. The command "Compute to the last digit the value of pi" was issued because it is impossible to fulfill. The computer had been invaded by an evil disembodied entity which effectively became the consciousness of the computer. When Commander Specie's little tricl< tied up the entire system, the entity fled.

The fact that a conscious being could inhabit a computer in so integral a fashion may imply that the "computer" of Star Trek's time is based on an entirely new, indeed unfathomable, technology. (I say "may" because to the best of my knowledge no one has yet attempted to inliabit a Z-80.) One possibility which suggests itself is that the device is at least partly organic. (Blish's adaption of the episode "Miri" features a portable cat-brain computer not mentioned in the television version.) Such a development would probably lend itself very nicely to speech recognition and natural language processing.

Carol J Pruitt 1134 Summit Av SW Cedar Rapids IA S2404

GIZ-WIDGETS

I have iust read the response to reader Salas's letter in January 1978 BYTE, and must disagree with one statement: "Where tracing or debugging of read only memory software is involved, the simulator technique is the only one which will work, since breakpoints cannot be set in read only memory." A very elegant hardware debugging method exists that is useful for code obtained from any source (read only memory, programmable memory, fast cache, or whatever). In fact, one of your advertisers, IVIicronics, offers just such a device.

Conceptually, such a device is fairly simple. Assuming that your processor(s) is (are) interruptible, connect the interrupt line to a logical comparator whose inputs are from digit switches on one side, and the address bus on the other. Whenever the address that you have dialed into the digit switches appears on the bus, an interrupt is generated, sending the processor to a routine that you have already placed in memory. This routine does whatever housekeeping is necessary, and does a register dump for the operator. This scheme has numerous capabilities: for example, if you are trying to find out why memory location XYZ keeps getting clobbered, you can dial in the address of XYZ. Then, when XYZ is accessed for write, the breakpoint system generates an interrupt and flags the current PC for you. Now you know where to go looking

in your program for the troublesome code. Note that a little ingenuity will allow conditional breaks, where the conditions can be the contents of some register, a switch cohtrolled by the operator, read status, write status, fetch status, or anything else you might imagine can be used as a condition. Either the condition itself, or the combination of the condition and the address bus state, can be used as the interrupt signal.

If you don't have an interruptible system, there is still hope. Connect the comparator's output to a latch, and connect the latch to the system's HALT line. When the machine stops, the pertinent data can be re:id from the bus display.

it should be clear that my approach to solving computing problems is with hardware, not with cumbersome and potentially very expensive software. I find that $10 worth of components will usually do the work of a routine that took a week to code, debug and document. Of course my solutions tend to be permanent in existence. 1 have a whole shelf full of little giz-widgets that were built on the spot to solve a particular problem, performed their function, and found their way onto the shelf as reminders of times past. But the price is right, and 1 will keep on using the method that gets results for me.

By the way, i can't say exactly what the capabilities of the Micronics system are — I don't have one because it won't plug into my 6800 based system. But from the way their ad reads, it will do everything you want for a debugging tool.

As a closing note on a different subject, I find your January 1978 feature article by Kent to be fantastici I am looking forward to more! Keep up the good work.

Bob Hale POB 616

Rancho Santa Fe CA 92067

It all depends on your point of view. Tile ordinary processor, without a hardware aid such as you propose, will still prove impossible to trace through read only memory using breakpoints. Many of us find a logical shelf full of software giz-widgets doing jobs similar to your quick hardware tools.

MORE Al WANTED

I have read Michael Wimble's 2 part article on artificial intelligence in May and June 1977 BYTE and found it interesting and informative. Please include more articles on Al as the details of implementation are not widely known or understood, and examples would go a long way to getting the hobbyist started in this fascinating field.

Robert Graves 21175 Goldsmith F^rmington Hills MI 48024

162 April 1978 © BYTE Publications Inc

THANKS FOR CALCULATOR ARTICLES

As a member of the SR-52 Users' Club, 9459 Taylorsville Rd, Dayton OH 45424, I was very glad to read "How to Write an Application Program" by William B Jenkins (October 1977 BYTE, page 18), featuring the Texas Instruments SR-52 programmable calculator. I hope that you have more articles like this, as it seems to me that the programmable calculator does not get the publicity it deserves.

David W Johnston POB3781 Wi^hington DC 20007

KIIVI NOTES

Hal Chamberlin's article "A Sampling of Techniques for Computer Performance of Music" in September 1977 BYTE has provided a lot of good information to say nothing of good music from KIM. Many people around here have been surprised and pleased at the sound — an excellent article.

I v^ould like to point out that the voice pointers {VIPT thru V4PT) point not at the waveform tables as they should, but at location 0000, which means that the program uses itself as the waveform table . . . making a rather horrible sound indeed, and leading one to believe that the filter is inoperative.

An interesting "song" can be heard if one changes the song pointer (SONGA) to point to the program itself, or even to the KIM'S built-in piFQgrains m read only memory.

Hugh C Holland 500 W Main St EndicottNY 13760

The comment statements in listing 2 (page 72) and the main text both indicate that the four voice pointers point to the waveform table, table 5, page 79. We should have stated this explicitly in the caption for listing 2. We apologize to Mr Holland and to other readers who may have been eaafumi by this point. . .CM

PC ARTWORK SERVICE NEEDED

I have invested considerable money in artwork and drafting aids for twice actual size printed circuit layouts. I have been using this method for six years now, but my contact in the photography business can no longer do my photoreduction or plastic masks.

I wonder if any of my fellow BYTE readers know of a firm willing to do small jobs of this type? If someone does, please contact me.

Brian Beard PSC Box 1755 MacDill AFB FL 33608

RIBBONS FOR THE SwTPC PR-40 PRINTER

Some time ago the systems design department of this university bought a PR-40 printer from SwTPC I'or use with the several SOL-20s used in our control systems lab. Naturally a new ribbon became necessary after a time and, logically, it made sense to obtain it through our normal suppliers of such basic items. The problem, as I soon found, lay in finding a manufacturer's part number for the ribbon, a detail not found in any of the documentation.

After some false starts I called the manufacturer of the print mechanism, LRC Inc in Riverton WY. About one minute later I was in possession of chapter and verse. Efficient, fast and courteous service was a very refreshing change.

For the information of PR-40 users, the correct ribbon is AddressographMultigraph Graphics P/N 116-2395-326.

John G Wilson, Systems Analyst Faculty of Engineering Systems Design University of Waterloo Waterloo, Ontario CANADA N2L 3G1

BUBBLES HAVEN'T BURST ON THE SCENE?

What happened to the TBM0103 bubble memories you said would hit the market last fall as subsystems of mass storage? Your comments were made in the July 1977 BYTE editorial, "This Elephant Never Forgets," by Carl Helmers.

John Herscher 2105 Independence Av Kansas City MO 64124

Texas Instruments martlets a wliole line of new terminal products which incorporate this memory part. These have been seen in the marketplace of commercial equipment since introduction at the NCC show last summer. Apparently most of the Tl production is being used internally for their own products, rather than being sold to other manufacturers for incorporation into end user equipment. But this is no doubt a temporary condition, for Tl is hardly about to ignore its traditional components martlets for parts.

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!

RCA COSMAC microprocessor/mini

computer

SPECIFICATIONS

ELF II features an RCA COSMAC COS/MOS 8-bit microprocessor addressable to 64k bytes with DMA. interrupt, 16 registers, ALU, 256 byte RAM, full hex keyboard, two digit hex output display, 5 slot plug-in expansion bus. Stable crystal clock for timing purposes and a double-sided plated-through PC board plus RCA 1861 video IC to display any segment of memory on a video monitor or TV screen.

Use ELF II to ... PLAY GAMES usino your TV for a video display,,. CREATE GRAPHICS pictures, alphanumerics, animated effects ... fearn how to DESIGN CIRCUITS using a microprocessor ... the possibilities are infinite!

A THOUGHTFUL GIFT FOR ANYONE WHO MUST STAY UP TO DATE IN COMPUTERS AND ELECTRONICS!

$gg95

— » — — — — — SEND TODAY «

NETRONICS R&D LTD., Dept By3

333 Litchfield Road, New Milford, CT 06776 Phone (203) 354-9375

ELF II explodes into a giant when you plug the GIANT BOARD" into ELFs I expansion bus. This powerful board in- ■ eludes cassette I/O, RS 232-C/TTY, 8- I bit P I/O and system monitor/ ■ editor...meaning your ELF II is now the I heart of a full-size system with unlimited I computuig powerl S39.9S kit. S2 p&h. ■

• 4k Static RAM addressable to any 4k page to 64k. S89.93 kit. S3 p&h.

• Prototype (Kluge) Board accepts up to 32 LC.'s of various sizes. $17.00 kit. SI p&h.

• Expansion Power Supply. $34.95 kit. S2p&h.

• Gold plated 86-pin connector. S5.70 postpaid.

Coming Soon! rw»»»„^^<<^»^.,»iw^

Tiny Basic

ASCII KEYBOARD • CONTROLLER

Yes! / want to run pronrams at h onif and have end a s c d : a $99.95 plus S.I p&h for RCA COSMAC ELF II kit. Featured in POPULAR ELECTRONICS. Includes all components plus everythin(i you need to write and run machine language programs plus the new Pixie chip that lets you display video graphics on your TV screen. Designed to give engineers practice in computer programming and microprocessor circuit design, ELF II is also perfect for college and college-bound students (who must understand computers for any engineering, scientific or business career). Easy instructions get you started right away, even if you've never used a computer before!

As your need for computing power grows, five card expansion bus Oess coimectors) allows memory expansion, program debugger/monitor, cassette I/O, A to D and D to A converters.

be

controllers, etc. (soon to available as kits). Manual includes instructions for assembly, testing, programming, video graphics and games plus how you can get ELF II User's Club bulletins. Kit can be assembled in a single evening and you'll still have time to run programs, including games, video graphics, controllers, etc., before going to bed! □ $4.95 for 1.5 amp 6.3 VAC power supply, required for ELF II kit. □ $SiO0 for RCA 1802 User's Maniiiil; □ I want mine wired and tested with the power transformer and RCA 1802 User's Manual for $149.95 plus $3 p&h. Conn. res. add sales tax,

NAME

ADDRESS

CITY

STATE.

__ZIP_

_ _ _ „ . _ □ Send info on other kits!

B^RDJ^D-A,A-DCONVERTER• ^^OM.^CII keyboar^puts,^^terie^qujri^nvlte^^

Circle 78 on inquiry card.

April 1978® BYTE Publications Inc 163

ake Your Phone a ushbutton Tone-Dial

ight From Receiver

You simply will not oeiieve now easy our Soft-Touch™ dial is to install. If you own your own telephone, you need only unscrew the mouthpiece and put on the Contemporary Soft-Touch™. In almost no time at all, you can be sitting in your your easy chair, at cord's length from your phone, aialing any number by just touching the number buttons. With aircontrols right in the hand set, it's easy. Convenient. And best of all, it's so inexpensive. You pay one low price and the Soft-Touch™ is yours. No installation fee. No extra monthly charges - ever! Our Soft-Touch™ works on the very same tone dial principle used in all new telephones. It lets you dial a number in one tenth of the time it tal<es with those older spin back rotary dials.

Tone frequencies are crystal controlled, providing accuracy 6 times beyond actual requirements. The builtin microphone is similar to those found in the finest tape recorders. Clarity is better than the old carbon microphones currently used in most telephones. Important: Soft-Touch™ is approved for you to put on your own phone. If you can unscrew a bottleoap, you can install your own Soft-Touch™ in less than a minute. But, if you lease your phone from the phone company, they mey wish to install it. Regulations and telephone company charges for this service differ among local telephone companies. It's A Portabla Computer Terminal, The powerful tone generator is a perfect direct access communicator with traditional computer systems. Several banks have already begun to introduce their customers to direct computer services.. .right from a

ahone...using the Soft Touch™ tone generating dialer lee It For 10 Days...At Our Expense. If not satisfied with the convenience of the extraordinary Soft-Touch'", return it within 1Q days for a prompt and courteous refund of the purchase price. SoftTouch™ is a registered trademark of 2001 Telephone Systems. Protected by U.S. Patent No. 4042793 with Manufacturer's Full Year Guarantee.

Please send me Soft-Touch™ Tone Disls. My color choice Is:

Blick litem 90361 - J29.95 1 Colors below at $31.95 eacli:

□ Red litem 00351 □ Glnn (Item 00371

□ Tan/Beige litem 003S| D Wiile (Hem 0039)

□ Yellow litem 00401

Add $2.00 each for shipping and handling III. Res. add S% sales tax

□ Chect or M.O. Enclostd □ Charge M; Credit Card:

□ American Express □ Mastercharge □ Carte

□ Bank tmer./insa □ Diners Club Blanche Credit Card No.

Mastercharge Bank No..

Name

Address

CItj

Slate

_ Exp. Dale _

-Sp

Signalure

BYTB-091 CREDIT CARD ORDERS CALtTDLLFREE

OAn OOO 0070 lllinots:312-595^)461 O\i\J-0£i-£ilC Telex Orders: 25:5268

790 Maple Larre Bensenvllle, II. 60106

Cpntemporory

' marketing, Inc. ^

164 April 1978© BYTE Publications Inc Circle 34 On inquiry Card.

A SUGGESTION FROM EREWHON. . .

Prof Kent's article "Biological Model for Robotics" in lanuaiy 1978 BYTE was interesting and the best presentation for the layman I've seen.

I've been interested for a long time in trying to devise ways of imitating any kind of biological brain and while at the IVlichelson Labs in 1964, built a few electronic neurons from discrete components using the cordwood concept. The volume was still 154 cubic inches, which I calculated would require the entire 3 story lab building to house the brain of a small bug. Since I had no funding I gave up that idea.

Later in 1967, while head of tile Eluidics Lab at Genge, I built some neurons using fluidic logic and amplifiers, as well as matching power amplifiers and even solid state fluidic powered muscles. The neurons were reduced to about a tenth of a cubic inch, but the power supply problem was insurmountable, and the cost for a brain of any complexity came in at about $100 million for components alone.

I have given up on the concept of duplicating biological mechanisms with electronics and fluidics primarily because I have discovered a neat way to duplicate brains for about $10,000 each, and the beauty of it is that almost any hobbyist can do it providing (s)he gets the appropriate state licenses.

My partner and I made two of them, which turned out pretty well except for a few minor aberrations which a friend at UC Santa Barbara assured me would clear up in a few more years.

This method has a very high yield; less than one serious malfunction in 100,000 brains, which is a lot better than the silicon chip guys can do.

The only trouble with these brains is that it is difficult to achieve specific characteristics in the finished product, and the housing they come in is not suitable for harsh environments. Of course the real problem is that after about 18 years, these androids run off, and since you can't tell them from humans at that age, the society grants them human status and you can't get them back.

I feel that the best way to make brains is to do a little genetic engineering on existing life forms and then maybe you could grow them faster with better control over parameters and at considerably lower cost. While you're at it, you can redesign the housing and program them so they won't run off.

Right now I'm waiting for the fellows at the lab to get the genetic engineering down pat so a guy can fool around in his home lab and make his own brain. In the meantime, I'm sticking to my old PDP-8L for strictly digital applications.

John F Cogger, President Cogent Inc 1605 Morse Av Ventura CA 93003

IN THIS READER'S OPINION BOMB BOMBS?

Your BOMB questionnaire is improperly structured for a nonbiased sampling of the true feelings of your readers towards the articles in question.

The causes of this bias are the result of several specific problems, the first of which Is the physical layout of the questionnaire. By giving the questionnaire more answers in the good to WOW range than in fair to poor rate, you have biased your answer towards the good to very good answers. You could probably give the questionnaire to 100 people who have never heard of your magazine and get a preponderance of good to very good rather than the normal distribution of answers around the fair answer which would be the normally expected result.

The second problem results from the very nature of questionnaires, ie: what relationship does your sample (the readers who returned the cards at their own expense) have to your readership as a whole. The answer is probably very little.

Let us examine the typical responder. First, he (or she) must be extremely selfmotivated, merely because he (or she) is interested in an unusual, expensive and technical hobby. The responder would be of above average intelligence and must be motivated enough to pay $.13 to tell you how he (or she) feels about an article.

This last point bears further examination. In response to prepaid questionnaires, the response rate is at best 10% to 20%; the response to questionnaires that are not prepaid is typically one to two orders of magnitude less.

Thus by skewing the expected distribution of answers toward favorable replies by questionnaire structure, by the nature of your sample universe (your readership would tend to be of above average intelligence, extremely selfmotivated and as a result tend to very opinionated) and by requiring positive action (putting the stamp on the card) to respond to the questionnaire, you will have gotten an extremely small, biased sample of an extremely large data base.

It's your survey to run, but you should realize that in my opinion your statistical model has little resemblance to reality.

John W Simpson Jr Box 13062 Pittsburgh PA 1S243

We have no pretension that the BOMB voting represents an unbiased sample, its prime purpose is editorial feedback from readers. If no one sent in the cards, we would assume (being optimists) that everything was "right" with an issue, in so far as readers are concerned, a possibly dangerous assumption. But cards always come in. BOMB gives us a structured form of feedbact^ with a monthly sampling of those

readers who are "intelligent" and "selfmotivated" enougfi to express an opinion by botii the circled ratings and the comments scrawled across the bottom of perhaps 20% to 50% of the cards.

From a functional point of view, the design of the form and the requirement of a thirteen cent stamp act as a filter to limit the responses to the "opinionated." The analysis would be intractable on a monthly basis if this were not the design. The key items are that BOMB provides both verbal commentary and an algorithm for numerically evaluating in some sense "what the readers think" of the authors in an issue. The reality in question is in tile responses themselves, not in some alleged statistical model. . .CH

COGNITION AND ROBOTS

I feel there is a tendency among people in the field of artificial intelligence to give their work false prestige by using the terminology of consciousness to talk about machines. The confusion that exists these days, even among computer professionals, about the difference between computation and thought Is so great that the terms should not be thrown around this way.

To state that difference briefly: the concept of computation is logically dependent upon, and derives from, the concept of thought. When you are faced with a new problem, you explore various ways of solving it, possibly coming up with new cognitive methods in the process. Once you have enough experience with a certain class of problems, you can put a method of solving them into words which are so explicit that no further thought is needed to follow them; you just carry out the procedure. But this is something you can only do after having completely solved that class of problems, in pattern. For instance, to solve an arithmetic problem, you can just apply the appropriate rules. The only mental effort required is the effort of remembering the rules, and possibly some of the intermediate results.

Computing became more significant when people realized they didn't have to carry out this mechanical rule following by themselves. They could design machines which would perform computations for them, given an appropriate encoding of the necessary data. But these machines could not solve any problem until someone had thought out the method of solving it and turned it into an explicit procedure. This is a restriction on computation as such, and hasn't been relieved by any technical improvements; nor can it be. The key to computation is the elimination of all thinking from a procedure. This applies to learning and heuristic programs as much as to any others; these programs simply perform computations to generate other computational rules or trial results.

I believe that robots do not have "senses" and do not "perceive." Sense

perception is the function of providing raw data about the world to a conscious being. If you remove this differentiating condition, then anything that affects something from without might as well be called a perception. The only difference between a robot's "perception" of light by pholodiodcs and a rubber ball's "perception" of a wall when it bounces is a difference of medium and of complexity. Treating the concept this way renders it meaningless.

Nor is possessing a model of one's environment the same as having knowledge. Knowledge is the sum of a conscious being's identifications of reality through sense perception and through the development of concepts from these perceptions. The idea that knowledge isn't awareness of what's "out there" by firsthand means, but rather a structure "in here" which (if you're lucky) has some sort of correspondence to the outside reality, is just a modernized version of Kant's phenomenal world."

If we are going to avoid giving people science fictionish fears of robots that have minds of their own, we should avoid misleading terminology.

Gary McGath 7 Silver Dr, Apt 3 Nashua NH 03060

COMMENTS: TRANSIENTS

I have just read the article entitled "Spikes: Pesky Voltage Transients and How to Minimize Their Effects," as published in November 1977 BYTE. I would like to take this opportunity to update the readers of BYTE on the state of the art concerning your solution to the transient problem.

We have been involved in the research and development of transient voltage suppression devices for several years and now feel obligated to alert everyone to the potential hazard of varistors in the application you describe. As a manufacturer of transient voltage suppressors we discarded the varistor a number of years ago because it will age, and aging increases the leakage current. The higher the current, the faster the aging - a runaway condition. The higher the ambient temperature, the sooner this can happen. A runaway condition might be a fire hazard. The varistor has its place in the proper environment, but its application must be carefully chosen.

As a manufacturer of transient voltage suppressors, we have marketed a 110 V "plug-in" unit that is extremely effective without the use of a varistor, at a cost that is comparable to the circuit you describe. If you would like additional information concerning our product, please feel free to contact me personally.

Stephen J Sorger, Vice President W N Phillips Inc 356 Bacon St Lake City MI 49651 ■

AVAILABLE FOR IMMEDIATE DELIVERY

An Advanced, Comprehensive, Commerctaily oriented, Compiler/ InterpreterBASiC language faciifty designed for use with the

CP/m'OPERATINCS SYSTEM

CBASIC FACILITIES INCLUDE:

DISK ACCESS — Sequential and

Random Files. Fixed and Variable length records.

PRINT USING allows sophisticated formatting of output to both the Printer and Disk Files. FOURTEEN DIGITS Of numeric precision.

LIBRARY FACILITY supports

"Canned" procedures which are

Included at compile time.

LINE NUMBERS are not necessary

on every line. They are needed only

to transfer control.

VARIABLE NAMES can be up to

31 characters long.

STRING manipulation facilities

include MATCH, LEFTS, RIGHTS,

MIDS, LEN, Concatenation, Arrays

and More.

PEEK, POKE, CALL, WHILE ...

WEND, TRACE, Printer Selection, Multiple lines per statement. Remarks that don't take space, IF ... THEN ... ELSE, Logical Operations, INPUT LINE to enter text including commas and special characters, READ LINE to read text files and MORE.

$9995

FOR ONLY

Including Extensive User's Manual Manual onlySIS.OO

BUSINESS APPLICATIONS PROGRAMS ForCP/M Users:

QSORT — A Full-Diskette Sort/ Merge (in 8080 code) with Documentation $ 95

UTILITIES — Including a Full-Disk Copy and Memory Test $ 40

GENERAL LEDGER—A Generalized Bus i ness G L desi g ned f or Accou ntants or Small Businesses. Includes complete documentation. Written in CBASIC $995 NAME AND ADDRESS FILE SYSTEM — Interactive Entry program Adds, Changes, Deletes, or Displays records. Prints labels or reports of all or selected portions of a file. Written in CBASIC S 79

To Order or For More Information, Write:

/tf uctuf eel /y/lem/ Group

5615 KALES AVENUE OAKLAND, CALIFORNIA94618 (415)547-1567

California residents add 6Vi % Sales Tax. Prepaid or COD only.

Dealerlnquires Invited , , CB/M lsatraderriatkof DlgltatResearph; S

Circle 106 on inquiry card.

April 191% © BYTE Publications Inc 165

EYTE's EHs

WARBLE ALARM CAR-VAN CLOCK

WITH HEADLIGHT ALARM

COMPLETE KIT $35.95 ASSEMBLED $45.95

ELAPSED TIMER

SECaiUDSOISPUV SWITCH

9MINUTESNOOZE ALARM

9MPLE4WIRE HOOK-UP

JUMBO K" LEO DISPLAY

1T0 S9 MINUTE COUNTDOWN TIMS'- ■"INSSIMULTANEOUSLY WITH LLOCK!

RUGGEDABSCASE

QUAHTZ CRYSTAL ACCURACY

DIGITAL AUTO INSTRUMENTS »i TACHOMETER SEVEN MODELS!

#2 WATER TEMP. •3 FUEL LEVEL «4 SPEEDOMETER •5 OIL PRESSURE •6 OIL TEMP. •7 BATTERY MONITOR

KIT INCLUDES:

• CASE & ALL HARDWARE . PRESSURE a TEMP. SENDERS

• ASSEMBLED MAIN PC BOARD FEATURES: . 4" ORANGE LCD'S . 4»"«*"iir ABSCASE

*ADD S10 FOR REQUIRED SPEED SENDER . SIS FOR SPEED SENDER ALONE

KIT: $49.95 .ASSEMBLED: $59.95

ELECTRONIC 'PENDULUM' CLOCK

SWING PENDULUM 7" HOURS AND MINUTfiS DISPLAY TIME SET PUSH BUTTONS ALARM FEATURE

KIT-UNFINISHED CASE $59.95

ASSEMBLED-STAINED CASE $69.95

QUARTZ DIGITAL AUTO CLOCK OR ELAPSED TIIVIER!

ELAPSED TIMER: HRS, WINS & SECS '^...^ SIMPLE PUSHBUTTON RESET & HOLD TOGGLE SWITCH

KIT INCLUDt^iVeHYTHING. NOTHING ELSE TO BUYI 4-LEDSI INTEftNAL BATTERYBACKUPt NON POLAR INPUri

T20R24HRMODE

DIMENSIONS AV)

KIT: $27.95.

.ASSEMBLED: $37.95

NOW WITH

ELAPSED

TIME!

• 4 DIGIT KIT

• 6 DIGIT KIT

3/2 DIGITAL CLOCK

$49.95 • 4 DIGIT ASSEMBLED. $59.95 $69.95 • 6 DIGIT ASSEMBLED. $79 95

117 VAC. 12 OR 24 HR MODE KIT COMES COMPLETEI

6 DIGIT VERSION: 27"x 5" x IK" 4 DIGIT VERSIONMS" « S" x W

TV-WALL CLOCK

• 2S- VIEWING DISTANCE

• .6" HOURS a MINUTES

• .3" SECONDS

. COMPLETE WITH WOOD CASE

KIT: $34.95 ASSEMBLED: $39.95

ECONOMY CAR CLOCK

'//■ LED MODULE!

COMPLETE WITH CASE. BROCKET S TIME SET

PUSIIDUTTOWS

ALAMM Ol'TIOfy

KIT: $19.95 ASSEMBLED: S26.95

PENDULUM

$14.95

a YOUR DIGITALCl.OCKAPEN0UtUMSWING 9 TO 12V DC - eo HZ INPUT SIMPLE WOK OP TO ANV CLOCK

CASE WITH BRACKET

$3.75

MARK FOSKETS'

SOLID STATE TIME

P.O. BOX 2159 DUBLIN, CALIF. 94866

ORDERS (415) 828-1923

24 HR PHONE

BankAmericard

CALIFORNIA RESIDENTS ■ ADD 6%SALESTAX

National Computer Conference

Gets Personal

Anaheim CA is tlie site of tine 1978 National Computer Conference (NCC) to be held June 6 thru 8 at the Disneyland Hotel Convention Center. Featured at the show will be a Personal Computing Festival, which quickly became one of the most popular attractions at last year's NCC.

Major events scheduled for the Festival include an exhibit of personal computing products and services, a program of papers and presentations, and a display of individually designed personal computing systems and applications. Commercial organizations will display microcomputer systems, kits, components, terminals, floppy disks, cassette tape systems, and software in the Exhibition Hall.

A special program of papers and presentations relevant to personal computing is to be presented; a softbound volume, Festival '78, will contain the collection of these presentations and will be available during the Festival. Approximately 30 sessions are planned, covering such topics as graphics, music systems, speech synthesis, computer games, personal computers for the handicapped, small business sytems, software design, microprogramming, optical scanning, floppy disk systems, seminars for club leaders, hardware and software standards, and many more.

Individuals will have a chance to display their own personal computing projects and compete for prizes.

Main Show Activities

Not to be outdone, the main show at the National Computer Conference will feature over 330 organizations at 1,382 booths showing everything from minicomputers to multimillion dollar systems. Software systems, test equipment, peripherals, education, and training materials are just a few of the items to be seen. More than 4,000 industry representatives will be available at the show to demonstrate products and answer questions.

There will be over 100 technical sessions dealing with systems, methodology, applications, and management issues. Time will be allocated for presentations based on outstanding papers delivered at recent specialized conferences and worlcshops, and—of parti

cular interest to personal computer enthusiasts—a number of sessions will be devoted to microcomputer applications and design. Conservation of energy and allocation of resources are two of the topics to be discussed. Computer systems sessions will cover data networks, distributed systems, programming and operating systems, plus computer architecture and the impact of recent developments on hardware technology.

Conference Call

Conference registration for NCC 78 includes corresponding admission to the Personal Computing Festival. For students, experimenters, and others not planning to attend the NCC main conference, separate one day and three day registrations will be available for $5 and $9, respectively.

Approximately 25,000 people attended last year's NCC Personal Computing Festival; conference officials hope to surpass this figure by a comfortable margin. Attending the NCC last year proved to be fruitful for us: the sheer variety as well as quality of the offerings was exciting and thought provoking. We look forward to the same high quality this year.. .CM"

Picking the Right Color Television for an Apple, Continued

In the review of the Apple II published last month (page 18), I noted problems with the display achieved using a Panasonic color television. In that writing I stated that Apple Computer recommends use of Sony color televisions due to their superior shielding from extraneous radio frequencies. I tested that recommendation by going to a local shopping mall and purchasing a 19 inch diagonal Sony "portable" television which lists for about $600 currently. When this television is used with the Apple II instead of the 13 inch Panasonic, all traces of instability and RF interference are gone when the Apple II drives the television on channel 3 using a modulator.

However, there is a problem which still remains: when the television is looking at channels 2, 4 and 5 broadcast from Boston MA (perhaps 75 miles line of sight) through a rusty derelict of an

166 April 1978©BYTE Publications inc Circle 104 on inquiry Card.

outside antenna which came with my house, I pick up noticeable herringbones from my homebrew computer system in the basement-and when the Apple II is on, the herringbone pattern picked up by the antenna lead running next to the Apple 11 is even stronger. So users of personal computers who live in fringe areas with respect to television reception are advised to sign up for the local cable company, or be careful to run antenna leads far away from the computer. This problem is hardly confined to any one design, and I would expect that any personal computer delivered in unshielded packaging would have some television interference problems due to the high frequency components present in typical digital signals. . .CH"

Call for Abstracts

A call for abstracts has been issued for the Software Quality Assurance Workshop: Functional and Performance Issues, to be held in San Diego CA on November 15, 16 and 17 1978.

Cosponsored by the Los Angeles Chapter and National ACM (SIGMETRICS and SIGSOFT), the workshop is concerned with current developments and experiences in assuring software quality. In this context quality means software meeting specifications and requirements in both operation and performance. Since software quality cannot be tested into a software product after it has been completed, the effort to assure quality must surround the product throughout its development cycle. As a result, software quality assurance issues include: procedures for functional and design reviews; tools and procedures for controlling, testing, debugging, and assessing adherence to standards and conventions; and final product acceptance testing. Abstracts on experiences (successes or failures) are welconfie.

Topics may include: quality assurance tools, configuration management, performance measures, reporting systems, software library control systems, system auditability, performance evaluation, technology tradeoffs, methodologies, standards development, and testing techniques and tools.

The computer system base for these tools or procedures may include the full range from microcomputer to large systems. Interested parties are invited to submit ten copies of a detailed abstract to the program chairman, Clint Woodworth, Clinton Woodworth Associates, 150 Lagunita Dr, Soquel CA 95073.

All submissions will be read by the program committee and evaluated on the basis of significance, relevance to the workshop purpose, and overall quality. It is important that the abstract convey the ideas and contain enough information to enable the program committee to determine the scope of the work. Given the time constraints, the abstract should be limited to no more than five double spaced pages. The author's name and affiliation should appear only on a cover sheet attached to one copy of the abstract for use by the program committee chairman.

The deadline for submission of abstracts is April 15 1978. Authors will be notified of acceptance or rejection by )une 10 1978. The authors of accepted abstracts must submit their manuscripts to the program chairman, typed according to specifications, by September 10 1978. In addition, these authors should prepare verbal presentations for part of the workshop program itself.

For additional information about this workshop, contact A C (Toni) Shetler, general chairman, Xerox Corporation A3-49, 701 S Aviation Blvd, El Segundo CA 90245. Proceedings for this workshop will appear in a special issue of the SIGMETRICS Performance Evaluation Review and will be distributed at the conference."

Cartoon by Kenneth R Lodding

"Does he want booze? Money? Girls? No, he wants a 1000 lines of error free code."

SAVE 10-20%

ON LEADING LINES

FLOPPY DISKS

Best price & delivery on

floppy disk interfaces

North Star Micro Disk, kit ustsesg $ 599

Above, assembled List $799 6 99

Vista IVIicro Disk, kit Ust 9649 549

Above, assembled List $749 649 New N/licropolis MacroFloppy

1143 kilobytes), a$sembled 695 Dual Micropolis MetaFloppy

(630 kilobytes) 1895

(MICROUATION, TARBBU, & other Interlaces and drives elsoavailat>le.)

Z-80 S-100CPU BOARDS

Digital Innovations reg SI69.95 $ 129.95 North Star 4 MHz reg. $199.00 169.95

TDLZPU reg. $269.00 229.00

Assembled and tested (any of above) —

LIMITED TIME SPECIAL ADD $ 40.00 (CROMENCO, ITHACA AUDIO, and others available.)

S-100 ADAPTERS for Heath H-8, Radio Shack TRS-80, or Intel SBC — Introductory offer: ONLY $49.95

S-100 MEMORY BOARDS

North Star 16K Dynamic RAM

Kit Ust $399

Assennbled List $459 Dynabyte 16K Dynamic RAM,

Assembled & Tested List $399 SD32K Dynamic W/8K, kit SD 32K Dynamic w/16K, kit SO 32K Dynamic w/32K, kit Cybercom (SSM) 16K Static w/4K, kit Assembly (for any of above items)

MAINFRAMES

$329 379

319 149 249 449 139 ADD 50

North Star Horizon 1, kit ust $1599 $1349

Above, Assembled & Tested Ust $1899 1599

North Star Horizon 2, kit List $1999 1699

Above, Assembled & Tested ust S2349 1939

IMSAI8080 w/22-slot, kit List $699 584

IMSAI PCS 80/30 Ust $1199 1018

IMSAI PCS 80/15 699

IMSAI VDP 80/1000 List $5995 5094

TDL Xitan 1 List S769 6 54

(Also save on CROMENCO, POLYUORPHIC, & SOLID STATE MUSIC.)

TERMINAL VALUES

Economy Terminal — part new,

part used, available as low as $ 349.95

Brand new 24 x 80 commercial terminal (upper and lower case,

numeric key pad, etc., by

Intertec — Introductory Price $ 749.95

Add $1.50 per board and/or $10 per system for handling,

shipping, and insurance.

SEND FOR FREE 64-PAGE CATALOG.

MiniMicroMart Inc.

1618 James Street Syracuse, New York 13203 (315)422-4467

Circle 145 on inquiry card. April 197S@byte Publications inc 167

This Is the third and final part of Mike Wllber's series on the design for the

CIE Net. Readers should refer to purl 2, figures 7 to 5, for BNF expressions of the protocols referenced in this last segment. In this article we continue the figures and listing sequence numbers from the previous part

CIE Net: A Design for a Network

Mike Wilber 920 Dennis Dr Palo Alto CA 94303

Protocol Levels and Parameter Lines

The formats of interstation transmissions and end-to-end messages include protocol level numbers and parameter lines in order to make the formats identify themselves. The intent is that these identifications change whenever the format changes sufficiently to invalidate a program that would have to understand the format. The protocol level numbers are just that, but the end-toend messages also contain parameter lines that can more easily show fine shades of meaning. For example, the parameter line describing text compression might name the compression algorithm being used and also give some initial settings for its state variables.

The rest of this specification says nothing about particular choices of values to be inserted for protocol level numbers and parameter lines, but some (arbitrary) choices should be taken. For the sake of definiteness, we can arbitrarily pick the number one to be used for the <protocol number> in both the interstation and end-to-end protocols. The parameter lines used for the <compressed tail> and the <file tail> can be arbitrarily picked (for example, with my initials, giving "BiVIW 1") in order to leave room for expansion.

Flow Control and Congestion

One of the most embarrassing questions you could ask me now would be something like, "How do we convince the poor people in Denver that they are interested when all the traffic from one coast funnels through

them before spreading out to the other coast?" I don't have any good answers to any such question. The whole problem is helped somewhat by the voluntary nature of the network: a relay station can stop taking traffic from a CIE when its buffer storage gets filled up. (Note that that forces the CIE to (somehow) decide which of its traffic is the most urgent.) It's also helped somewhat by the fact that transcontinental telephone calls get very cheap late at night, and so a single long hop becomes much cheaper than many short hops.

Flow control is included at the interstation level, but is absent at the end-toend level. The reason for the omission is simply that the transmission is so highly buffered that the source CIE is out of the picture long before the destination CIE is contacted. Any CIE or relay station along the route can simply refuse to accept more traffic than it can handle (perhaps returning a negative acknowledgment), but the entire flow control question needs far more thought than I've given it so far.

Legal Aspects

There are a couple of legal aspects that deserve mention, even though I am not in a

position to say anything very decisive about them. The first is a big unknown to me: there may be states (or whole regions) where the telephone company has tariffs preventing private individuals from using personal telephones for data transmission. (The same may also be true of whole countries that might want to put up a network

168 Aprin978®BYTEPubircaIion5lnc

of Community Information Exchanges

Part 3: Other Considerations

something like a CIE Net.) I am unfamiliar with the laws and regulations covering private telephone usage in all locations, and such regulations could be a real impediment to any sort of grass roots computer telecommunication network.

The other area is one on which I can be slightly more conclusive: regulatory hassles. At least in the US, coming under the regulatory agencies can consume vast amounts of time and money. Communication is a field of endeavor that is subject to regulation, but that only seems to be a real problem when money changes hands. Even when money changes hands, though, the regulatory agencies seem happy to let you go relatively unperturbed if you can convince them that nobody is making a profit,

A Universal Language

A CIE Net would need a universal language if messages are to be effectively transmitted throughout a large, diverse and only loosely organized community of stations providing transmission and buffering services. A universal language is especially imperative because of a very important characteristic of the routing algorithm I propose: that a message headed for a distant station need only be forwarded in the correct general direction. For example, suppose that all states bordering Canada, Mexico and the Pacific Ocean spoke one language, that all other states spoke a different language and that the only bilingual stations were in Chicago. Then either a message from Denver to Los Angeles would get all the way to Las

Vegas before getting rerouted to Chicago, or else stations in Denver would have to keep track of the regional languages and the locations of polyglot stations. Of course, the situation becomes worse if the mixture of relay stations changes rapidly with time and with only loose local coordination, as I think it is important to allow.

Since a CIE Net should be widely accessible to a major portion of the personal computer community, and since a universal language hardly precludes the use of more highly optimized languages, the most important property of a universal language is that it is most likely to be available to the highest portion of people in the community. (Don't forget that stations are free to agree on a more optimal language between themselves; a universal language only serves the purpose of assuring that they will be able to agree on some language at all.) Thus, even though I propose an asynchronous serial transmission mode at a certain speed because almost all current hobbyist equipment can handle it, there is no reason why stations could not (or should not) agree to transmit faster by a factor of three (or a hundred), or even use 16 parallel synchronous megabit lines, for example.

Before I give the details of the universal language, let me point out the light in which I present the details. All the details allude to standards that are widely accepted in the established computer community. Details are given here to identify the standards and to give you a quick summary of their contents. They are not given to specify a Standard; for example, I will make no at

April 1978 ® BYTE Publications Inc

169

Circle 132 on inquiry card.

commodore Radio Shack

P

EITHER WAY... We've got software for you!

Put your computer to work at home or on the job with these programs and adaptable subroutines. For 8K PETs or 4K TRS-BOs with Level I BASIC, on cassette to save you typing time. See B YTE March 1978 for

full descriptions ol the last three programs listed.

PERSONAL FINANCE: INSURE finds your life insurance needs based on ages of dependents, college plan?, Social Security, etc. HOME compares buying a house to renting an apartment, considering inflation, mortgage rates and taxes. SPEND tracks your monthly bills, credit card purchases and checking account balance to see if you're spending too fast. All 3 for $12.95

GRAPHICS PACKAGE: DOODLER by Les Logan quicl<ly draws horizontal, vertical and diagonal lines and saves the patterns for later display. PLOTTER by Peter Maggs creates adjustable bar charts and linear or log scale graphs (80 by 50 points on PET, 128 by 48 on TRS80) with automatic scaling and labeling of axes—perfect for data analysis. LETTER displays messages in large block letters from a full character set under program control. All for $12.95

INTRODUCTORY SPECIAL: $9.95 till March 31, then $14.95

STIMULATING SIMULATIONS by G.W. Engel, with book .. $14.95 6502 ASSEMBLER IN BASIC (for PET only) $24.95

ORDERS: Check, money order or VISA/Master Charge accepted. We guarantee you functioning programs, readable cassettes and prompt delivery. Our catalog, $1 or tree with any cassette, futfy documents these and other programs and describes our royalty program for software authors. For a FREE flyer, use reader service card, or send a self-addressed stamped envelope for faster service.

^STi Personal Software^"

■■■hI P.O. Box 136-B4, Cambridge, MA 02138 VISA/MC telephone orders welcome at (617) 783-0694

MP I

QUALITY CONTROL TEST

KEYBOftRD TEST m Bm RS232 SERIAL PORT

KEYBOftRD TEST 398 BAUD CURRENT LOOP

OH LINE TEST 9636 BAUD RS232 SERIAL PORT

BUFFER WRAP AROUND

I .i- I'.,.; ■.-;£:■..iTi I ^ 34r^eTe3l3 ,- _cytl>!:' " ' f»rtTTERM M t .. .,..1 _ . .n.»-a*e, ^<

Need Hard Copy?

TRY OUR SOFT PRICES $425

Complete standalone 40 column impact riot matrix printer with a 64 ch.nractnr ASCII set. Inckides power supply, casework and interface electronics for connection to a mini 'micro processor parallel port. Serial interface versions for RS232'current loop applications .start at S575 in single quantity.

SEND FOR FREE LITERATURE

Box 22101

Sail Lake City, Utah 84122 (801) 364-2411

tempt to give tolerances on critical timings.

Since far more interfaces, terminals and programs are compatible witir the Model 33 Teletype than are both incompatible with it and also compatible with any other single convention, part of the universal language incorporates those conventions. That is, the universal language I propose includes sending ASCII at 10 cps asynchronously. Since these protocols only need the characters used in the radix-41 representation plus the six characters, comma, colon, space, slash, carriage return and line feed, there is no need to take a stand on any other part of ASCII, such as the varying representations of altmode or of the arrows. Since far more people have access to the regular private party telephone lines (usually dial-up) than to any other telecommunication media, those phone lines are also included in the universal language that participants can always use when no better means is mutually agreeable. Also, since most hobbyist modems use the Bell 103A conventions, they are a part of the universal language. That is, the station from which the phone call was originated transmits binary data as the audio frequencies 1070 Hz and 1270 Hz for zeroes and ones, respectively; and the station answering the phone call transmits on 2025 Hz and 2225 Hz, respeetiveiy. That, then, is the universal language.

There is no requirement that the hardware be implemented in hardware; the only requirements imposed here define the way the functional units behave. To fix ideas, though, we will define two functional units that serve as modems. A modem that transmits on the frequencies used by the originator of the phone call and receives on the other pair will be called an originate-mode modem; one that transmits on the pair used by the answering station and receives on the other will be called an answer-mode modem. Note that there is no requirement that any station be capable of automatically placing or answering a phone call, though either capability (especially the latter) may prove attractive and economically feasible to some stations. Also, note that some popular standards (such as Altair (S-100) bus or RS-232C) deal only with conventions internal to a station and so are entirely irrelevant to this set of protocols. Finally, since many extant computers that could be hosts to stations in a CIE Net take unyielding and conflicting stands on whether a line is to be fulj or half duplex and whether transmissions are to be handled a line or a character at a time, these protocols can handle all four cases rather than taking any stand on the issue.

170 April 1978 ©BYTE Publications Inc

Circle 133 on inquiry card.

The Radix-41 Representation

Certainly, the representation of binary data in a radix-41 coding is one of the more obscure features of my suggestions. There are several motivations, however. The most important motivation is to allow stations to transmit arbitrary binary data through relay stations and intermediate CIEs that may not be able to handle binary data, especially an intermediate CIE that is implemented in string BASIC on a host that does not give it access to machine language. Using radix-41, a station that cannot use binary can instead fall back to the more basic properties of arithmetic with small integers. The interstation protocol must also exhibit a high resistance to transmission errors, and it is easier to design a code based on a prime number (such as 41) than otherwise. Since phone line noise typically comes in bursts rather than being isolated, the code used here is optimized to detect bursts of errors (treating isolated errors as a special case), and it relies on retransmission to correct the errors.

1 chose the particular prime number 41 for a couple of reasons. I contemplated the character sets representable in Baudot and available to a number of string BASICs and decided that their common ground included at least the capital letters, the digits and not too many other characters. For example, it seemed that a radix-47 representation would be unduly awkward for a number of implementations. The number 41 also has the interesting property that its cube is just over 65,536, so a 16 bit number can be represented by a 3 digit number in radix-41. Thus, radix-41 can represent binary data with a data rate of 5.33 bits per character, or 1.5 symbols per 8 bit character. (Elsewhere you will find a text compression scheme that compensates for this inefficiency by representing text as binary data, using an average of 5.24 bits per character.) The radix-41 representation is oriented to stations that can represent numbers up to 65,535, but it can also be handled pretty well by stations that can only gracefully handle numbers up to 1,681.

The table of radix41 representations (figure 6) shows how to represent the digits of a radix-41 number as characters of ordinary text. The radix41 representation of a 16 bit binary number can be found by dividing the 16 bit number by 41 and dividing the quotient by 41 again; the radix-41 digits are the two remainders and the second quotient. (Dividing by a constant can be considerably faster than general division, as shown by listing 1. Since the digits become

Listing 7: A divide by 41 aigorithm specified in symboiic notation for an 8080 processor. This algorithm is used In the radlx-41 computations used to

encode data for the CIE Net as shown in figure 6. This listing represents each instruction as an 8080 operation code followed by symbols for register operands, terminated by a semicolon. One line is devoted to each major step in the algorithm as highlighted in comments which begin with an asterisk (*).

Dl V41: '01 VIDE B Y 41 IN 8080 MACHINE CODE

•GETS: DE = DIVIDEND •GIVES: ABC DESTROYED

• DE = QUOTIENT

HL = REMAINDER

•TAKES 364 CYCLES = 177 US INO WAIT STATES), OCCUPIES 59 BYTES ♦ASSUMES DIVIDEND OBEYS 0 =< X = < 65S35

•USES THE FACTS THAT 40 ■- 0.999'41 < 1024/25 < 41 AND THAT IF YOU FORM A

• TEST QUOTIENT Q2 = (25«X)/1024 (INSTEAD OF THE REAL QUOTIENT Q = XV41)

• AND A TEST PSEUDOR EMAIND ER RBAR = X - 41*Q2, THEN YOU HAVE

• -2^41 = -82 < -66 < -0.001-X < RBAR < 41, AND SO Q2-2 =< Q =< Q2

•ALSO USES THE FACT THAT 40"Q2 =< 65S3S SO THAT YOU CAN AVOID OVERFLOW

• BY TAKING RBAR = (X - 40"Q2) - Q2

•NOTE: THIS PROGRAM WAS CODED FOR SPEED, NOT CLARITY, COMPACTNESS OR

• ADAPTABILITY

•ALSO NOTE: THIS PROGRAM WORKS ON AN INTEL 8080 AND IS SUSPECTED TO

• WORK ON A Z80 OR (WITH A MODIFICATION NOTED BELOW) ON AN NEC 8080 •ALSO NOTE: THIS HYPOTHETICAL ASSEMBLY LANGUAGE IS USED FOR COMPACTNESS

• OF THE LISTING

•SETUP

SUB A; MOV B.A; *SETAHL = 3^DE

MOV H,D;MOV L,E; DAD D; ADC B; DAD D; ADC B; •SET AHL = (8 • AHL) + DE = 25 • DE

DAD H; ADC A; DAD H; ADC A; DAD H; ADC A; DAD D; ADC B;

•CARRY NOW CLEAR BECAUSE AHL = 25*X < 2S^6S538 < 8388608 = 2 *• 23

•SET 8C = -(AHL / 1024) =-(AHL /4) / 256

• (= -(25 * XI / 1024 = -02)

RAR: MOV B.A; MOV A.H; RAR; MOV C,A;

SUB A; ADD B; RAR; CMA; MOV B,A; MOV A,C; RAR; CMA; MOV C.A; INX B;

•THAT SUB CLEARS THE CARRY BIT SO YOU DON'T SHIFT GARBAGE INTO THE TOP

•SET HL = DE - 140 • 02) = (40 • -Q2) + DE

MOV H,B; MOV L.C; DAD H; DAD H; DAD B; DAD H; DAD H; DAD H; DAD D; •SAVE Q2 IN DE

XRA A; SUB C: MOV E,A; MVI A; 0; SBB B; MOV D,A; •SET HL = HL + BC = (X - 40*Q2) - Q2 = RBAR

• IF RBAR >= 0, THEN 02 -< Q, AND SO Q2 = Q AND RBAR IS THE REMAINDER DAD B;ORA H;RP;

•THAT ORA TESTS THE SIGN OF HL BECAUSE 0 »< Q2 =< 1680, AND SO A >= 0 ••••FOR AN NEC 8080 TOO, THE ORA SHOULD BE REPLACED BY SUB A; ADD H

•OTHERWISE 02 > Q, SO SEE IF Q2-1 = Q OCX D; LXI B; 29;0; DAD B; RC;

•29 IS HEX FOR 41, AND THE 8080 STORES THE LOW BYTE IN THE LOW ADDRESS •THE DAD SETS CARRY IFF IT MAKES HL GO POSITIVE

•FAILING ALL THAT, IT MUST BE THAT Q2-2 = Q DGX D;DAD B;RET;

known and are used in opposite orders, their order of transmission is arbitrary; one can appeal to the intuitive notion that they be transmitted in the order of their significance, though, and say that the second quotient be transmitted first, then the second remainder and finally the first remainder. In this connection, note that the table of radix4-1 representations in figure 6 specifies characters, not their ASCII representations; it is understood that a Baudot (or other nonASCII channel) will use its own representations of the characters.

There is an issue of how to most economically use 16 bit words to represent data of smaller natural sizes, such as 8 bit bytes or the smaller fields of my compressed text. Clearly, they should be packed, several

April 197g©BYTE Publications Inc 171

Figure 6: Definition of a radlx-41 character set for use in CIE Net protocols.

This character set as expressed in ASCII is highly error tolerant, and Is consistent with most more elaborate graphic coding schemes.

to a word, but in which order? People do not universally agree, and convincing arguments can be advanced for both sides. All the arguments have their merits, but the one I found most persuasive is an appeal to intuition: we are used to writing the more significant digits of a number before the less significant digits, and people generally tend to be confused at the notion of reversing their order. Therefore, my schemes all assume that, when several fields are packed into a 16 bit word, the first fields will occupy the more significant positions.

The error resistance of radix-41 derives partly from the fact that, when the characters representing the radix-41 digits are transmitted in an 8 bit code, they only use 1/6 of the representable combinations. Were that fact not modified by another property of the ASCII representation of the radix-41 code, more than 83% of the random errors could be detected by rejecting any transmission not entirely composed of characters in the radix-41 set. Unfortunately, the radix-41 characters are clustered quite close to one another in ASCII (in terms of their hamming distances), so radix-41 is actually somewhat less resistant to errors than an optimally chosen ASCII set.

Text Compression

The whole point of this net is to transmit information, usually text, and one of its most limited resources is channel bandwidth. Now, text has a high degree of regularity, and we are used to capitalizing on the regularity by using such devices as alphabets and the ASCII character code. ASCII uses seven bits to represent each character, but it still leaves a large residue of regularity that can be used to further compress text. For example, if two people agree to confine their conversations to a particular list of 65,000 English words, they can represent each word as a 16 bit binary number, using an average of less than three bits to represent (the equivalent of) each character.

I propose a slightly different scheme for compressing text for transmission through a CIE Net. It is used at the option of the person sending a message, and so it represents little impediment to applications to which it is ill-adapted. It represents the entire ASCII character set, but the most frequently used characters have quite short representations. The representations vary in length from three bits (for E and T) to

0

8

16

24

32

40

0

(

7

F

N

V

)

1

0

8

G

0

W

2

1

9

H

P

X

3

2

A

1

Q

Y

4

3

B

J

R

z

5

4

C

K

S

6

5

D

L

T

+

7

6

E

M

U

15 bits (for NAK and DC2), with a calculated average of 5.24 bits. Note that, with more computation or intermediate storage, text can be compressed much further. For example, the dictionary of 65,000 English words just mentioned only uses 2.67 bits per character. The compression scheme I propose seems to be a reasonable compromise between the conceivable extremes.

The compression scheme is best described from the point of view of a program that decompresses the text. The details are in the tables of compressed representations in figure 7, but the general scheme is as follows. The receiver reads the first three bits and uses their values to retrieve the proper entry of a decoding table. The entry may indicate that the three bits represent a character, or they may direct the receiver to use the next few bits with one of three additional decoding tables. This process is slightly complicated by the fact that each of the four decoding tables is actually doubled, and the receiver must keep track of whether to use the upper case table or the lower case table. Initially, the receiver will use the upper case table, and the compressed codes allow for temporary or permanent case shift and for unconditional reset to a designated case.

For example, the word "fie" is represented (in context) by the 15 bit string 110,010,101,000000 (with byte boundaries emphasized by commas). Note that the coding scheme also allows the encoder to detect and further compress repetitions of a single character. Thus, a gap of five spaces can be represented by the 15 bit string 111,11110,0010,100.

You may have noticed that the compression tables give compressed notations for over half the ASCII codes, an escape to full ASCII, and no expression for any necessary control functions outside the normal ASCII repertoire. There's a purpose to that. The additional control functions can be provided by using a notion of hidden characters: each character that has a compressed notation can be thought of as hiding its ASCII representa

172 April 1978 ® BYTE Publications Inc

tion, which is then available for other uses. ! propose hiding four control functions under four letters of the upper case alphabet, as follows;

A — Change to lower case permanently;

B — Change to upper case permanently;

C — Change to another compression scheme (The next eight bits give the number of the new compression scheme.);

Z — (Reserved for future expansion of the repertoire of control functions).

Thus, a change to lower case permanently is represented by the 15 bit sequence 111,11111,1000001.

Encryption Considerations

A CIE Net would differ from most other

information processing setups by trying to appear attractive to people for possibly

Next Five Bits

(111 00 yyy)

(111 01 yyy)

(111 10 yyy)

(111 11 yyy)

Upper

Lower

Upper

Lower

Upper

Lower

Upper

Lower

yyy

Case

Case

Case

Case

Case

Case

Case

Case

000

V

V

0

8

001

B

b

1

9

<

mo

X

X

2

#

$

>

?

oil

Q

q

3

!

&

•<fcomma>

100

K

k

4

(

<xcase>

101

J

j

5

)

*

<pcase >

110

Z

z

6

+

<Repeat>

111

<period>

7

/

<ASC1I>

Notes:

<crlf>: Carriage return followed

by line feed. <xcase>: Change to the other

case for the next character

only.

<pcase>: Change to the other case permanently.

<Repeat>: Take the next four bits as a repeat count; repeat the following character that many times and three times more.

<ASCil>: Take the next seven bits as an ASCI I character code (also see text).

Figure 7: Definition of a compressed data encoding scheme w/iich is optimized for tfie frequencies of letters in typical English language texts. All codes are either upper or lower case, depending on the last case setting encountered. The first three bits of an atom of text contain a specification of a space, one of the four most common letters, or a reference to one of three possible extensions of the 3 bit word. For atoms with the first three bits containing 101 (marked by *) or 110 (marked by **), one of two alternate second level tables of eight possible characters is specified. For atoms which begin with 111 (marked by ***J^ the second part of the atom is a 5 bit field which has numbers, special characters and the lesser used alphabetic characters. The 5 bit extension form also has four special codes which provide for case change, permanent case change, character repeats, and escape into ASCII. If the ASCII escape is used, seven additional bits specify the ASCII code. Definition of an explicit upper or lower case setting can be done by implication (upper case is in effect at the start of a text string), or by an escape into ASCII followed by the ASCII code (see text) which forces an explicit case setting.

April 1978 © BYTE Publications Inc 173

sensitive Information but still providing

almost no restrictions on accessibility of tlie data containing that information. For example, an order for several hundred dollars worth of computer manuals might be placed in a CIE's outgoing message files, relayed through some unpredictable collection of relay stations and intermediate ClEs and finally placed in a supplier's incoming message files. If the source or destination CIE, for example, is so small that it uses volunteer relay stations and its host doesn't provide good file protection (eg: if all CIE subscribers look like one person to the host), then that message is accessible to many people.

Encryption provides a partial answer to the problem. The basic property of encryption is that it makes data unintelligible without making them inaccessible. That is, any encryption scheme worth its salt will prevent the "bad guys" from

forging or perusing

your information. Without access restriction, however, an encryption scheme is powerless to prevent "bad guys" from

deleting,

garbaging or recording

your data. In the context of a CIE Net, the first two kinds of interference can be detected by means of the reply mechanisms (if garbaging makes a message completely unintelligible) or by including redundancy information (eg: a checksum) with the information being encrypted.

Also note that encryption and compression interact in a peculiar way: an encryption algorithm endeavors to destroy the very regularity that allows a compression scheme to work. Since compression schemes are optimized to give the most compact representations to information having some appropriate kind of predictability, they must necessarily give less compact representations to less predictable information. If the encryption algorithm is very good, it will produce a result that is almost completely unpredictable; applying a compression scheme to that result will produce a representation that has expanded to an extent roughly commensurate with the degree it would normally have compressed it! In the context of a CIE Net, the wisdom to be drawn from that observation is that, when a message is encrypted and compressed, the compression should be done first.

Comparison with the PCNET

Given the preceding detailed exposition of the CIE Net design, it could be constructive to compare it with the PCNET design and highlight the differences and similarities. The PCNET has the same major goal as the CIE Net; to bring computer telecommunication to tlie individual. Since BASIC is the lingua franca of personal computers, the PCNET is also designed so that it can (largely) be programmed in BASIC. It also has a layered set of protocols, because that approach facilitates the formulation, comprehension, implementation and modification of the protocol set. Finally, since it is designed to be accessible to BASIC, it resembles the CIE Net in having a radix41 representation of the interstation transmission blocks. (In fact, the checksum calculation described here is that of the PCNET because it is easier to implement than what 1 had originally specified.) More insight, however, can be gleaned from an examination of the differences between the two designs.

The PCNET isn't as strongly oriented to having a set of CIEs (or any other server nodes) as is the CIE Net. (This difference is one of emphasis, not one of substance: either design can easily be adapted to the opposite stance.) That is, the normal mode of operation in the PCNET will be for the person sending a message to place a direct phone call to the ultimate destination and send the message in a single hop. However, the PCNET is not committed to direct transmission: it permits the end-to-end message to arrive at its destination long after it was sent, and it tolerates long delays in the end-to-end acknowledgment. That is, the normal mode of operation in a PCNET is predicated on the ultimate destination (a personal computer) being receptive to a transmission at the moment the source spontaneously sends it. This solution is diametrically opposed to the notion of a CIE serving as a buffer: either the sender and receiver must schedule their activities appropriately, or the destination must be equipped for unattended operation, including answering the phone, running the proper programs and storing the message it receives. The price Is hardware and software complexity at the destination node; the benefit is freedom from the CIE and its own attendant software complexity and need for explicit cost recovery procedures.

The PCNET may also capitalize on an optional capability for personal computers to automatically place phone calls, if some surprisingly thorny problems can be ironed

TRENTON STATE COLLEGE

Trenton, New Jersey

The Third

Trenton ComputGr Festival

April 2^ & Z3. OZB

Super Outdoor Flea Market

Surplus computer gear, bargains galore, over 5 acres of space ($2/spot, no electricity).

Indoor Commercial Exhibit Area

90 exhibitor boothsi showing newest products; special discounts; funky games to play.

Forums, Talks & Seminars

Meet the leading experts and hear sessions on

robots, computer music, amateur radio, etc.

Hundreds of Door Prizes

* ★ * Banquet Saturday night

For more information call: 609-771-2487 or 201-277-2063 Admission $4 Students $2 Hours: 10AM-6PM Saturday; 10AM-4PM Sunday

★ ★ ★

Banquet $9. Avoid disappointment — prer«gister for the banquet! Send your check for $9 per person to: TCF-78, Trenton State College, Trenton, N.J. 08625.

Circle 115 on inquiry card.

Convenient To NY, PA, MD & DEL

Easy to get to; free parking for over 6,000 cars.

Sponsored By:

Amateur Computer Group of New Jersey

Philadelphia Area Computer Society

Trenton State College Digital Computer Society

Dept. of Engineering Technology Trenton State College

I.E.E.E. Princeton Section

BYTEApriM97S 175

Acknowledgments

777/5 series of articles owes much of Its strength to the thoughtful comments and perceptive criticisms of Dave Caulklns, Ron Crane, Peter Deutsch, Bernie Elspas, David Fyistra, Marc Kaufman, Bill Kautz, RobertMaas, Dennis McGhle and Jon Pastel; it owes all of its weakness to me.. .MW

out. The worst problem is that errant (or malicious) hardware or software can intolerably inconvenience innocent bystanders. (Discussion on this point also unearthed the fact that even malfunctioning, or carelessly designed, hardware to automatically answer the telephone can be intolerably offensive.) Assuming those issues can be resolved, some PCNET nodes could increase their degree of automation at a cost in hardware and complexity of software.

The PCNET has an optional binary format for interstation transmission blocks in addition to the radix41 format mentioned above. That allows it to utilize the phone line bandwidth more effectively than is possible in radix-41, but it can, of course, only be used between nodes capable of conversing in binary.

The PCNET has two layers of interstation protocol, where the CIE Net has only one. The second interstation level is used to multiplex several conversations in each direction between a pair of stations. Even at the present level of personal software sophistication, this facility can be used to transfer two files concurrently, say, with each file being transmitted during dead times in the other transmission. The CIE Net lacks this facility but would probably not be handicapped at first by the lack. The PCNET has no analog to the <protocol number>s of the CIE Net. I suspect that lack will cause a certain amount of awkv\/ardness in a maturing PCNET.

The PCNET uses a worldwide addressing

scheme (based on latitude and longitude) that makes the CIE Net's zip codes seem parochial by comparison. (About the only advantage of zip codes is that they are more compact, and thus marginally easier to remember. A CIE Net would probably very quickly adopt the PCNET scheme, replacing the optional USA prefix with a required "latlong" prefix.) The latitude and longitude have an important advantage over zip codes: a glance will tell you the general direction in which to forward the message. Thus, the PCNET trades a small amount of legibility for two important advantages.

The PCNET end-to-end message headers all look more like CIE Net <mail head>s than like CIE Net <message head>s. That is, the end-to-end message header is more compact on the CIE Net but more readable and more nearly self-describing on the PCNET.

In conclusion, then, these are the main

differences between the CIE Net and the PCNET. In most cases, arguments can be advanced for each side, and it can be instruc

tive to consider them and see what advantages each gains and what sacrifices it makes to gain them."

BIBLIOGRAPHY

This list cites books, articles and other informative graffiti to which the text alludes, by title or otherwise, or which you might find edifying since you're interested enough in the subject to have read this far. Two of them are available from the NTIS, the National Technical Information Service, Springfield VA 22161. Others are published by NIC, the ARPA Net Network Information Center, SRI International, Menlo Park OA 94025, or by ANSI, the American National Standards Institute, 1430 Broadway, New VorW NY 10018.

1. ANSI: "USA Standard Code for Information Interchange," USAS X3.4-1968, October 10 1968.

2. ANSI: "American National Standard for Bit Sequencing of the American National Standard Code for Information Interchange in Serial-by-Bit Data Transmission," ANSI X3.15, August 19 1966.

3. ANSI: "American National Standard Character Structure and Character Parity Sense for Serial-by-Bit Data Communication in the American IMational Standard Code for Information Interchange," ANSI X3.16-1966, August 19 1966.

4. Elwyn R Ber\ekamp.AlgebraicCodmgTheory, IVlcGraw-Hill, New Yorl<, 1968.

5. Bolt, Beranek and Newman: "Specifications for the Interconnection of a Host and an IMP" (BBN 1822), Bolt, Beranek and Newman, Cambridge MA, January 1976 (available from NTIS: order number AD A019160).

6. Digital Equipment Corporation: "Specification for: DDCMP Digital Data Communication Message Protocol," Digital Equipment Corporation, Maynard MA, December 1974.

7. Digital Equipment Corporation: "DECnet Digital Network Architecture Design Specification for: Data Access Protocol DAP," Digital Equipment Corporation, Maynard MA, July 1975.

8. Elizabeth Felnler and Jon Postel: "ARPAnet Protocol Handbook" (NIC 7104), Stanford Research Institute, Menlo Park CA, April 1976 (available from NTIS: order number AD A027964).

9. Leonard Kleinrock, William E Naylor and Holger Opderbeck: "A Study of Line Overhead in the Arpanet" (in Communications of the ACM), Association for Computing Machinery, New York, January 1976.

10. Shu Lin: An Introduction to Error-Correcting Codes, Prentice-Hall Inc. Englewood Cliffs NJ, 1970.

11. W Wesley Peterson: Error-Correcting Codes, The IVIIT Press, Cambridge MA, 1961.

12. Ken Pogran, John Vittal, Dave Crocker and Austin Henderson: "Proposed Official Standard for the Format of ARPA Network Messages" (NIC 37435, RFC 724), May 12 1977.

13. Mike Wilber: "A Networl< of Community Information Exchanges: Issues and Problems" (in the proceedings of The First West Coast Computer Faire, April 1977), Palo Alto CA.

14. Mike Wilber and David Fylstra: "Homebrewery vs the Software Priesthood," BYTE, Peterborough NH, October 1976.

176

April 1978 ©BYTE Publications Inc

5 PLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION

8 ^

a: d^^^'^^i.'>mL SEND TODAY FOR CATALOG OF COMPLETE IC AND KIT LISTING O

. .. . g

o

HU(aE DISCOUNTS!

Savings up to 70% on major brand IC parts and computer kits.

1 A

KITS

SOLID STATE MUSIC

O C >

>

z

28.00 28.00

8K RAM

8080 CPU 12-Slot Mother

Board 33.00 IITHACA AUDIO S-100 P.C. Boards

8K RAM 28.00 Z-80 CPU 28.00 ISOLID STATE MUSIC S-100 Kits & 1 Bare Boards

MB-3 2K/4K EPROM

Uses 1702A EPROMS Kitw/oEPROMS 59.95

MB-4 4K STATIC RAM Kit Bare Board MBeA8K Kit

STATIC RAM Bare Board

MB7 16K STATIC RAM

Kit 435.00

Bare Board 25.95 MB8 8K/16K EPROM

Uses 2708's I Kit Less EPROMs 75.95

95.00 25.95 129.95 25.95

C

A

Oq-^o

74L$00 TTL

74LI00

21

74LS138

70

74L$02

21

74LS139

70

74LJ04

24

74LJ151

65

74LS08

21

74L$153

66

74L$10

21

74LS154

1 00

74L$14

85

74LS157

62

74l.$20

23

74LS160

62

74L$21

23

74L$16J

82

74L$22

23

74L$162

82

74L$30

.23

74LS163

.82

74LS32

30

74LSie4

98

74U37

31

74L$174

.75

74L$38

31

74LSl7b

79

74L$42

60

7415190

90

74L$47

75

74L$191

90

74LS48

72

74LS192

90

74L$73

35

74L$196

80

74LS74

35

74L$197

80

74LS75

53

74LS221

1 06

74L$76

37

74LS257

71

74LS86

36

74LS258

70

74L$90

52

74LS266

26

74L$92

.52

74LS283

.72

74L$93

52

74L1365

55

74US109

36

74L$366

55

74L$112

36

74LS367

55

74LS113

36

74L$368

55

74L$1Id

36

74LJ3e6

39

74LS125

46

81L$95

77

74CS126

46

81LS96

77

74L$132

75

81Li97

77

81LS98

77

BOOKS

The BASIC Workbook J5.50

Programming Proverbs , 6.95

Discovering BASIC 6.85

COBOL with Style 6.95

Advanced BASIC 7.95

Basic BASIC ' 8.95 Standard Dictionary of Computers & Information

Processing 16.95

Game Playing with Computers 16.95

Game Playing v»ith BASIC 6.95

Introduction to BASIC 8.95 l-lome Computers: ZlOQuestlons

and Answers Volume 2: Software 6.95

Minicomputers 13.95 Microcomputer Dictionary

and Guide 19.95

Microprocessors 10.95

Microprocessor Basics 10.95

Modern Data Conimunications 8.95 Home Computers: 210 Questions and Answers Volume 1: Hardware 7.95 Understanding Integrated Circuits 4.95

BOOKS

Semiconductor Circuit

Elements Digital Experiments Digital Signal Analysis Digital Troubleshooting 110 CMOS Digital IC Projects Fundamentals and Applications

of Digital Logic Circuits 400 Ideas for Design. Volume 2 Analysis and Design of

Digital Circuits and

Computer Systems Finite State Fantasies Telephone Accessories

You Can Build Basic Electronic Switching

for Telephone Systems Basic Carrier Telephony How to Get the Most Out of

Your Low-Cost Electronic

Calculator Calculator Users Guide

and Dictionary

MB9 STATIC PROM/RAM

Kit Less Memory 72.00 VBIA VIDEO INTERFACE

Kit 129.95

Bare Board 25.95 I02 PARRELL I/O

And Kludge

Kit 49.95

Bare Board 25.95

I04 2+2 I/O Kit 139.95

SYNTHESIZER SB-1 MUSIC Kit with

Software 145.00 MT-1 15-Slot Mother

Board 39.95 XB-1 EXTENDER BOARD

Bare Board 8.99 SSM 8080 MONITOR VI

ON 2-2708 47.00

ON 8-1702A 47.00

6.95

8.95 19.95 9.95 5.95

7.95 13.75

22.50 1.25

4.95

6.95 6.85

4.95

74XX

7401) 7401 740? 7dL)3 7404

7406 7407 7408 7409

SUPPORT DEVICES

6820 8.00

6850 8.00

8212 3.45

8214 8.00 8216 8224 8228 8226

8238 '

«9

• MEMORY

1702A 3.75 2708 12.50 2716 22.50 21L02 450ns 1.25 21L02 250ns 1.60 1101 .50 2114 8.50 MICROPROCESSOR 8080A 11.50 Z-80 24.95 Z-80A 34.95 6800 16.50

4001 4002 4006 4007 4008 4009 4010 401 1 4012 4013 4014 4015 4016 4017 4018 4019 4020 4021 4022 4023 4024

4025

16

4028

74

4030

,22

4035

98

4040

99

4049

34

4050

.34

4051

89

4052

1.15

4053

89

4066

59

4071

19

4081

23

4082

,23

4507

39

4510

1 05

748? 7483 748^1 74H6 7489 74g>l 7491 749? 7493 7494 7495 7496 741(H) 74107 74loy 74121 74122 74123 74132 74141 74146 .74)50 74151 74153 741 54

.157 iI61

7442 7443 7444 7445

45U

7453 7454 7460 74 70 7472 7473 7474 7475 7476 7480 7481

5716 W. Manchester Ave.

Suite #5

Los Angeles, CA 90045

TELEPHONE ORDERS; Call (213) 641-4200

□ Send your complete catalog, quickly.

□ Please send me the following| items I have listed below:

Qty. stock No. Price

WS4

Name

Charge My

□ M.C.

□ BAC<V)SA)

Postage/Handling

$1.50

Address

City

SatrsfaGtion 100%Guaranteed I

CaUfornia Residents Add 6% I —- Sales Tax |

Note: Minimum Order $10.00, 5% Discount over $100.00 on t.Cts only.

-State

-Zip.

NEW 1978

IC MASTER

Over 40,000 IC's listed. Over 2,000 pages.

Updated every 90 days.

Retail Value

$55.00

Youf Price

$46.00

;OMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE

Circin 55 on inquiry cni d.

in M Npt.l l')7s 177

Serendipitous Circles Explored

Figure 1: This picture was created using the algorithm described in "Serendi- • Eduardo Kellerman

pitous Circles" (August 1977 BYTE, page 70) by overlapping the results of IBM Corporation

using 24 unique smarting points. Reflections are used to obtain a kaleidoscopic System Products Division

effect. / Endicott NY 13760

178 April 1978 © BYTE Publications Inc

In "Serendipitous Circles" by D J Anderson and W F Galway (August 1977 BYTE, page 70) a simple algoritlim for generating computer art is described. Tlie algorithm basically consists of computing a series of (X, Y) pairs and displaying them on a grapiiics device. Eacii (X, Y) pair is computed from tiie preceding one using two equations, one for X, and one for Y. All one needs to do is to supply an initial (X, Y) pair.

in tills article are sinown the results of experiments with different equations for generating the (X, Y) pairs. A storage scope was used as the graphics device, thus all points displayed are stored on the screen until a picture is "completed." Very interesting diagrams were obtained when the results of using several (X, Y) starting pairs were overlapped. Further enhancement was obtained by reflecting the patterns about the X and Y axes. All the pictures shown in this paper include these reflections. They were generated on a Tektronix 4015 storage display driven by an APL program.

Text continued on page 182

Figure 2: Here, the original equations were slightly modified to be:

X:=X-(YI2)

Y:=Y+(XI2.1)

Figure 3: The equations used were:

X:=X-(Y/3)

Y:=Y+(Xli.5)

\

Aprin978IC>BYTEI>ublicatldnslnc 179

t

1

Figure 4: This Valentine's Day card was the result of using: X:=X-(2xY) Y:=Y+(X/L1)

Figure 7: X:=X-(YI2) Y~Y+{X/4)

I

i

I

Figures: X:=X-Y Y:=Y+(XI2)

Figured: X:=X-(2 x Y) Y:=Y+(XI3)

Figure 8: The circles become lines when: X:=X-2xY Y:=Y+2xX

CONVERT ANY TV TO A HIGH QUALITY MOKJITOR

Mint! QUALllY

J,

T1TTT7T ¥ ¥ 1 » ¥

T V ¥

T ¥

■

MOD -- KITS

• Hot Chassis ot Transformer sati'

• 64-80 characters per Una

• By-passes tuner & I.F.

• Normal viewing unaffected

• Safe—Easy Installation

ACVM Hl-Resolution $24.95 ppd

RFVM Ch2-6 Modulator $9.95 ppd

VaWINC; Box293T5 Los Angeles, Calif. 90029

Calif. Residents add 6% Sales Tax

Circle 117 on inquiry card.

itittilMiiitiir--'^---'---'--^

D.C. METRO AREA

TYSONS CORNER, VIRGINIA

THE

COMPUTER SYSTEMS STORE

MICROCOMPUTERS & PERIPHERALS HOME, SCHOOL & SMALL BUSINESS

FEATURING Small Business Systems Complete ¥¥ith Application Software Including Word Processing

DEALERS FOR

Contmodore Pet Processor Technology PoJymorphjc Cromemco Southwest Technical MtctD-Comfiutef Business Systems, tnc.

Lear S«gler Diablo

Texas Instruments DEC

Noun Star Anderson Jacobson Boolts & Magazines

1984 Chain Bridge Rd McLean. VA 703-821-8333

Circle 33 on inquiry card.

2

7

2

18 b

V V 1 01 1J 01 0

B

A

I

QUICK

What is 186...in Hex? ...in Octal? Wall size Conversion Chart gives you the answer fast!

* Four colors

*Two orientations—octal or hex -* All four bases on each chart INTRODUCTORY OFFER: 2 charts $8 (Regular $6,each) Send check or money order to: ZETA SYSTEMS CANADA

2547 Heather Street Vancouver, B.C. V5Z 3J2 Charts will be sent first class in a four (4) ply mailing tube

4

. IT'S A GF^EAT BIG COMPUTER WORLD

j_ But You Only Need

hThe computer corner

>~ (SOL - A New Dawn Is Herel

t~ •IMSAI8080

^ "POLy - 88 'TDL Z«)

i~ •Memories a I/O Boards 1

h- •Computer Book Service ' _

I- •lyiagnetic Tapes & Disks _

I- * Full Line of Magazines «

I- * Brain Games 8i Puzzles _

h- •Workshops & Club Infomiation _

^ Visit THE COMPUTER CORNER for "

^ all your computer needs. Stop in and

^ browse — you'll like ourparsonal service.

L THE COIUPUTER CORNER

[_ Whlta Plalni IVIall - Uppar Lavtl

r~ 20a Hamilton Avenue ~

\- IWIiita Plalm, Naw Verli 10601

-*>r

Tat:t9MI WHY-DATA

Ampla Paritlng 10^ Daily & Saturday

J<' / 10-9Thuridflv < >

USR-310 ORIGINATE ACOUSTIC COUPLER

$139

Also Availab:.

USR-320 Autu Answer Modem $160.00 USR 330 Originate/Auto Atiswet Modem $185;00 Interfaces:

• USR-310 - RS232C only

• USR-320 and USR-330 - RS 232C or 20nnA (Specily with order II bolti interfaces are required, add $10 to unit prii».)

All Units Feature:

• 0-300 Baud Data Rale

• Hall/Full Duplex

• Fully Assembled And Tested

USR 310 operates witti any standard teleptione. USR-320 and USR 330 interlace to phone lines via CBS-IOOIF DAA whicti can te leased Ifom itie phone company tor approximately $5 per month or purchased trom U.S. RoHolics lor $165.00. Prices include shipping and handling in continental U.S. Illinois resiilents add SS, sates tax.

U.S. ROBOTICS, INC.

BOX 5502/CHICAGO. IL 60680 (312) 528-9045

• Stand Alone Unit

• 90 Day Warranty

• Optional Annual Maintenance Coverage

Circle 27 on inquiry card.

SURPLUS ELECTRONICS

IBM SELECTRlCi BASED l/Q TERMINAL (USED) $695.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A, 5V35A Otiiers, • Displays

• Cabinets • XFIVIRS • Heat Sinks ■ Printers • Components Many other items

Write for free catalog WORLDWIDE ELECT. INC> 10 FLAGSTONE DRIVE HUDSON, N.H. 03051 Phone orders accepted using VISA or MC. Toll Free 1-8Q0-2S8-1036 In N.H. 603-885-3706

Circle 116 on inquiry card.

MiliiMiilMiiiii

!! FREE GIFTS !!

FREE Tl 57 with purchase of $1,000 of TECHNICO systems equipment

FREE Tl 58 with purchase of $1,500 of TECHNICO systems equipment

WRITE OR CALL FOR DETAILS Tl 57 and 58 also available at LOW, LOW prices witti no ottier purchase required. TECHNICO 9900 SS 16 BIT COMPUTER 16 bit microP, 32 bit I/O, tiardiwais mult Er divide, bulfered bus, 20 ma loop, RS 232C, B interrupts, fuHy SKksled. Expands up to 64 KB memory. Unguages: Assembler, BASIC, SUPER BASIC. ICDBOL HIRTRAN IV

available soon.l Suijer Sbirler Kit S299

Assembled S399

TELETYPE TERMINAL MODEL 43

with TIL only S S8S lowest prices

wilhRS232 only$1186 anrwherel

Oilier Teleti/pe macflmas^also enSBblA TeH us your mtetBstsMBeds. Also: Boards forKSm Malm, UMT with BAUD BATCgenmloi. To order: Check, money order, major credit cards. $3 shipping, NYC residents add 8% tax,

OWENS ASSOCIATES, DEPT. B 147 NORWOOD AVENUE STATEN ISLAND, N.Y. 10304 Day. evening and weekend cells welcomel (2121 448-6283 (2121448-6298

Circle 122 on inquiry card.

Experimenters and Professionals •TTL Hl-Lo Level Detection '150K Z - Use with MOS-CMOS 'Input overvoltage protection •Easy to hold .6" dia. x 5.2" long 'Pulses as short as 15n.s. stretched

to about 1 /5 second 'Assembled and tested - $15.95

postage paid

Send Check or Money Order to:

PHILECTRONIXCO. Box 831 Dept. X Los Alamos, N.M. 87544

■i

Circle 83 on inquiry card.

SUPPLIES

• FLOPPY DISKS, MINI OR STANDARD MEMOREX OR

• 3M DATA CARTRIDGES DC300A, OCIOOA

■ 3M DIGITAL CASSETTES •3M OR MEMOREX AUDIO

CASSETTES, C-80

■ 3MDISK CAflTfllDGES

WE OFFER:

• COMPETITIVE PRICING

■ IMMEDIATE DELIVERIES (Any Quaniitv)

• UNCONDITIONAL GUARANTEE

BETA BUSINESS SYSTEMS

8369 VICKERS ST., «G SAN DIEGOrCA 92111 17141

*'^Circle 126 on inquiry card.

Circle 89 on inquiry card.

Circle 13 on inquiry card.

Figure 9: Want lots of circles? Wen use:

X:=X-(YI8)

Y:=Y+(XI8)

Text continued fi-om page 179

In addition, ail the pictures have the follpwing in common:

1. A random number (4 to 32) of patterns resulting from different starting (X, Y) pairs were overlapped.

2. The starting X and Y values for each

pattern were chosen randomly from

the range 0 to 65536.

3. The number of points plotted from each initial (X, Y) pair was randomly chosen to be between. 150 and 1050 points (before reflecting about the X and Y ax6s)."

Figure 10: X:=X+(YI2) Y:=Y-(XI2)

182 April 1978 ® BYTE PuMicationsInc

Figure 11: An unexpected result Is obtained with:

X:=X-(YI8)

Y:=Y-(X/8)

Figure 13: Here an "old" value of X was used when

computing Y:

Xold:=X 4

X:=X~(YI2)

Y:=Y+(Xoldl2)

Figure 12: X:=X- (Yp. 1) Y:= Y- (XI2)

April 1978eByTE PuUicatloiu Inc 1S3

RADIO SHACK AND COMMODORE USERS

Low Cost BASIC Software on Compatible Cassette Tape for your TRS80 and PET computers. —Games ' —Small Business —Investment —Scientific and —Educational Programs Taper also available for OSI, SwTPC 6800, Processor Technology, and D. G. Systems

SEND FOR FREE CATALOG

Silver State Enterprises P. O. Box 27111

Lakewood, CO 80227

MINICOMPUTER Supplies & Accessories

Fast Servlce-NamB Brand Products Send for NEW Catalog

• Books • Paper

• Cassettes • Ribbons

• Floppies • Tools

• Over 150 Items^

Send $1.00 for Catalog (refundable on first order)

MISCO INC. The Minlconiiputer Supplies Co.

963 Holmdei Keyport Road Box 399J, Holmdei, N.J. 07733

Satisfaction Guaranteed

Circle 98 on inquiry card.

Diskettes • Mini-Diskettes • Cassettes • y," Cartridges

Overnigtit Delivery Large In Stock Assortment Send For Price List

Computer Resources Co. 1437 Gordon St. Allentown, PA. 18102 Phone (215) 439-1717

DEALERS ONLY

PRINTED CIRCUIT BOARDS

(BARf BOARDS OmW

29.95 EA.

YOUR CHOICE Of

S-100BUS ;.!

8K WW EXT 4KltOM «

OR . ... '"1

6800 BUS E* 8K WW EXT f

We alio stock components for all above boards.

Guaranteed, If not'iectitusletely safiisfied return fWrefiiftd. We back everything we sell.

JfNDSASE FOR OUR CATALOG TO: BARNES ELECTRONICS

P.O. BOXS73 OAK RIDGE, TN. 37830

^PAYMCNT TERMS CASH WITH OKDEKS.

ALL ORDERS FOB. OAK HIDCC, TN. fN. RES. ADD 4Vi%. ADD $2.00 PER BOARD fOR fOSTACE AND HANDLING. ',gPT MASTER CHARGE AND B.A.C.)

Circle'31 on inquiry card.

iMICRO SALE^

I DISCOUNTS up tc 20% I SYSTEMS and PRODUCTS

I I

Circle 10'6it')iM|uiry card.

IMSAI

CROMEMCO □EC

DVNABVTE EXTENSVS EAIRCHILO ICOM

MICROTERM

NORTH STAR (•OLYMORPHIC RCA

SEALS

S. W. TECHNICAL TEXAS INSTRUMENTS TECH. DES. LABS. VECTOR GRAPHIC

NAT'L.MPLX. ■ ZILOG

Z80 COMPUTER kit $199.

S-100 system, P/C backplane, Z-80 CPU and power supplies, manuals. I/O Si memory options.

IQCMPUTER SYSTEMS i

I 313/779-8700 26401 Harper j 1^ St Clair Shores, Ml 48081 ^

The "EXTERMINATOR"

by VAMP

AM New Dual Function Board: Serves as an extender card & also terminates S-100 bus. Eliminates crosstall<, overshoots & noise which can scramble data. Occupies only a single slot. Fully fused. Assembled & Tested. VTE-100 "Exterminator" .$49.95 Extender Card only

wlth connector $21.95

Add $2 Shipping 6% Calif. Sales Tax. VAMP Inc. Box 29315 Los Angeles, Calif. 90029

PEOPLES' CAPITALISM

ECONOMICS OF THE ROBOT REVOLUTION

by

James S. Albus

Faces up to the central socioeconomic issues of the next Industrial revolution.

"Most Professional"

Sen. Mark Hatfield

Available from AIR A

P. O. Box 456

IVIinnieapolis, IMN 55440

$3.95

paperbacl<

Circle 79 on ingijirv card.

BUSINESS PROGRAMS FOR SWTPC

Editor - UHtr Wrilw' SIM

Math PmHmm- (11 s>^ digit accuracy with tree lormai and Fortran type forrnalling on read

and write ..^ $100

P«yf9"" $400

Invvntory* t400

Utility PKlcag* (He^ Loader - Mikbug* tor

maiied dump wLih spaces) ,. $ 10

Slngk Sttp Debugging Program* (with mnemonics, register display, and user se

(eclableRAMdisplay.flequifesMP-T) t 29

Power Supply Modlflcallon Kit tor SWTPC Compuler (Fill moiher board with as much

mamoryasyouwishwithoulvoltagedropi $ 20

SWTPC DM Convortlon Kit tConnecl your SWTPC disk drives, cabinet, and power supply 10 Smoke Sgnal Conlrolter Board and use Smoke Signal Operating Syslem antJ our sollware Price includes Smoke Signal ( jn If oiler board and operating system i" J269

208 Megabyte QIMIX Memory for SWTPC

(Phone lor details I Software Addretaabte QIMIX 16K Memory

Board for SWTPC (Facdijiales lime sharing,

mulli-lasking.large programmingj $985

4KQIMIXPromBoardandProgrammer (259

Dealer for SWTPC. Smoke Signal Broadcaslinn

Pe'com, GiMlX. Motorola. Tl. GE. Teletype"..DEC.

Centfonics Lear Siegter. Soroc elc

AAA Chicago Computer Center

3007'^r W. Waweiand Ave.. Chicago, IL 6061B (312j 539-5833 (3 PM - 5 PM only)

'Ofigiul puri:ha«r has unlimiled lifelime upgraift gutanlec "Origin^il puichaur has gualifieil lifElinw upgrade guarantee.

Circle 1 on inquiry card.

THG

COMPUT6R HARDWARE STORG INC.

Dealers for

APPLE II, IMSAI VECTOR GRAPHIC KIMI.OAE CYBERNEX. JIM PAK

With

ALPHA-1 CASSETTE SYSTEM

16 Bits ALPHA MICRO

TECHNICO STARTER SYSTEM Catalog Available

R18 FRANKLIN Sr ALEX VA. i 7fl3 5.18 8035

9 WEST GARY ST.. RICHMOND. VA K 804.780.03.18 5?:

circle 11 on inquiry card.

Beckian Enterprises All Prime Qmlity — New Parts Only — Satisbctkni Goanmteed

EDGE CARP COmECTORS: GOLD PLATEV.

BODY: Non brittle, solvent resistant, high temperature G. E. Velox. The finest-elec

trical properties aveilebte. CONTACTS: Bifurcated Phosphor Bronze, Gold over

Nici<el.

ALTAIR TVPE: contact Ctrs. .125: Row Spacing, .140

50/100 DlpS9lder ^ $4.26 ea. Bpci. $4.00 ea. IM5AI TYPE: Contact Ctrs. .125: Rom Spacing, .280

50/100 Dip Solder $4.25 ea. S pes. $4.00 ea.

50/100 Wire Wrap (1 Turn) $4.25ea. Spcs. $4.00 ea.

IMSAI Card Guides .25 per pair to IMSAI Prites

Note: Also good for CROMEIMCO.

OTHER eONNECTOHS Al/AILASIE

.100"

Contact Cfii:

. 740" Ro(U Spacing.

15/30

Solder Eyelet

$2.30 ea.

5 pes.

$2.10

ee.

22/44

Dip Solder

$2.75 ea.

5 pes.

$2.40

ea.

22/44

Wire Wrap (3 Turn)

$2.50 ea.

5 pes.

$2.20

ea.

40/80

Wire Wrap (3 Turn)

$4.00 ea.

5 pes.

$3.70

ea.

Wcte; W^iAZ W/wp Spac^g li .200"

(Row

Spac-Lng ]

. 156"

ConMct tiyu:

.740" Row S)xuUng.

18/36

Dip Solder

$2.25 ea.

5 pes.

$2.00

ea.

22/44

Dip Solder

$2.50 ea.

5 pes.

$2.26

ea.

15/30

Wire Wrap (3 Turn)

$2.00 ea.

Spcs.

$1.80

ea.

.156"

Corvtact Ctu:

.200" Row SpmUng.

22/44

Wire Wrap (3 Turns)

. $2.80 ea.

5 pes.

$2.50

ea.

36/72

Wire Wrap 13 Turns)

$4.00 ea.

5 pes.

$4.00

ea.

15/30

Dip Solder

$1.90 ea.

5 pes.

$1.65

ea.

18/36

Dip Solder

$1.95 ea.

5 pes.

$1.70

ea.

36/72

Dip Solder

$4.00 ea.

5 pes.

$3.65

ee.

43/36

Dip Solder (6800)

$4.90 ea.

5 pes.

$4.75

ea.

WE ARE VOUH COWWECTOR SPECIALISTS.

IF you VO NOT SEE THE COmECTOR HERE WAT

you NEED, PLEASE WRITE US. IW MOST CIRCtHlSTAMCES, WE CAW SUPPLY IT TO VOU. .

25 PIM PB TVPE SUmiN'UTURE CONNECTOR. , CANNON: Gold Plated.The Best You Can Buy.

'D825P Male Plug

$2.60 ea.

Spcs.

$2.25

ea.

0B2SS Female Socket

$3.70 ea.

Spcs.

$3.4B

aa.

DB 51212-1 Hood: (Grey)

$1,00ea.

Spcs.

$0;9S

ea.

OB 51226-1A Hood. (Black)

Sl.lOea.

Spcs.

$1.00

ea.

0 20418-2 Hardware Set

$0.80 aa.

Spcs.

$0.76

ea'.

SAVE: mV A COMPLETE SET.

Complete Set Includes: 1 pc. DB25P: 1 pc. 0B2SS:

1 PC. Hood of your choice Grey or Black. 1 Set $6.50 ea. 5 Sets $6.25 ea. Note: For D 20418-2 Hardware Set. add $0.75 ea.

270i - PRIA<E SOSOA - PRIME

1460 nS) $10.00 ea;

$14.00 ea.

I.e. SOCKETS; PIP SOLPER

Low Profile.

14 pin. & 16 pin. $0.16 ea.

HEAT SHRINK TUBING

l/S" Shrinl<s to 1/16" I.D. $0.35per ft.

CABLE TIES

3</i" and SK" $0.03 ea.

WRITE FOR LARGER OUANTITV mSCOUNTS PEALERS WELCiM "

MIWIMOM ORPER: ^70.00: Add $7.00 ijq/t ikipp^y^. Ondexi, o\jeA $25.00, we. pay tke. ihipplriQ. CaJU-i, P.u,MmU add 6% Tax. NO CO.P. SHIPMENTS. ..

ondM. F/tom: Beckian Enterprises

P.O. Box 3089 Simi, CaUL 93063

DIGITAL I/O

.(^S.SKWBLED

s^59.95

. Pn lines of l/O

. parallel B bit ports

. interrupt lines

. '^onf iffured'f or 8 or 16 bit

- read or write

. 2-50 pjn I/G confiectors

Board alone ?22.50

BK EPROM

.'Dual l^Y banks

. 5"olt only

.Corpqtable with our bus

.KIT WITH UK '■t39.95

.Board alone.

■t 1^*9.95 *22.50

B

O A R D S

PROGRAM MilMQ

, ?urns lip to U—27'i6

. One shot for timing pulse

, iRequires our digital I/O

board for bus interface . Plugs into cur motber board . Latched addresses no counters . Can operate remote from mother

board

. With 2 zero insertion force socKets

PRICE $U9.9h

KIM KIM

People keep asking if our boards are compatable with KIM. Our

boards are compatable with most microprocessors and were especially designed for consultants, designers engineers, OEr.'s and others not wanting "hobby" type boards. Our boards are professional! Now we even have an interface board that plugs into the KIK expansion connector. It maintains Kir's Integrity while giving the user 13 other 4K memory blocks compatable with our mother board. All lines are fully buffered with powerful drivers. It has circuitry to write protect '4- separate kK blocks of ram.

Inverting and non-inverting spare buffers are provided for customizing as required. All memory 'slots are user reloeat albe.

HOW EASy CAN IT BE!I

PRICE $2'*-.95 (and no need for S-100 "hobby"board

Send cheek or money order to:

KATHRYN ATWOOD ENTERPRISES P.O. Box 5203 Orange, California 92667 • We accept Bank Americard, VISA and

^astercharge

California residents add 6% tax

For orders less than $25'.00 add J $1.25 for shipping .

2102L1 RAKS

. High si>iee.d . Low power

Sold in increments of 25 only PRICE $1.20, ea.

WITH EPROM (8K) OR PROGRAyKING BOARDS, EXTRA ZERO INSERTION FORCE SOCKETS

$5.00 ea.

RAM BOARD Assembled and Tested $89.95 In kit form $79.95

Our ram board is fully buffered. It is low power, static and 5 volt only . We* use 450ns access rams on the board. The board size is 4j X 6 inches.

BUY U OF OUR RhV BOARDS AND

GET OUR KCTHER BOARD ASSEK'BLY AT NO EXTRA CHAP'^-! :

AliL ATWOOD BOARDS HAVE:

..Plated thru holes. . , . .5 Volts only. . . . ..Gold over nickle edge connector• ..Standard pin Connector. .

..6Jx4^inch

..Professional not "hobby" . . .

Circle 7 on i

BYTE April 1978 1 85

% LOGIC PROBE

• milHcpalHrfvoni

I

• PiriM alratchino

• Mylli-familv

lONsec SPEED AT 3.5 to 15V LEUELS

ONLY

$39.95

Compatible with RTL, DTL, TTL, CMOS, MOS, and Microproc«ssors

using a 3.5 to 15V power supply- Thresholds automatically programmed. Automatic resetting memory. No adjustment required. Visual indication of logic levels, uiing LEDs to show high, low, bad level or open circuit logic and pulses. Highly sophisticated, shin pocket portable (protective tip cap and removable coil cord) Elinninates need for heavy test equipment. Send S39.SS A definite savings in time and money

ICalif. residents add 'o' engineer and technician.

6% sales tax) to: i>4i*dmiu>nMi«(comt

l^y^ELECTROIMICS

Box 19299, San Diego, CA 92119, (714) 447-1770

SOFTWARE

FOR CP/M

ANYONE RUNNING CP/M WITH BASIC-EOR C BASIC CANNOT AFFORD TO PASS UP THIS FANTASTIC OFFER. ONE LOW PRICE AND FAST DELIVERY FOR A STANDARD DISKETTE LOADED WITH APPLICATIONS PROGI^AMS:

• MEDICAL/DENTAL BILLING PROGRAM

• LETTER WRITING PROGRAM

• VALUABLE UTILITIES PROGRAMS

• 15 ADVANCED GAMES

• PLUS MUCH MORE'

PLEASE INDICATE BASIC-E OR C BASIC. SEND CHECK OR MONEY ORDER FOR

$50.00 TO:

« Computer Systams Associates

^ a41B Wimlnacan /Mwnum - NswCaatla. Pa. 16105

Circle 9 on inquiry card.

Also write for-a quote for the lowest price on

any IMSAI product. '?

PA residents add 6%

Circle 76 on inquiry card.

Circle 24 on inquiry card.

Disc/3

DISC/3 COMPANY

COMPLETE MICRO

BUSINESS SYSTEMS

SOROC IQ 120 $ 899.95

Assembled

LEARSIEGLER ' $ 799-95 ADM-3Akit

IMSAI 8080 kit - $ 599.95

CENTRONICS Business $1145.00 Printer (132 columns)

Disc/3

DISC/3 COMPANY 1840 LINCOLN BLVD. SANTA MONICA, CALIF. 90404 (213) 451-8911

CALIFORNIA

APPLIED TECHNOLOGY

32K-MEMORY CARO-$410 S-100 PSEUDO STATIC KIT

2708E 450-NANOSECOND-$14

2708 E PROM 650 NANOSECOND $10.95

80 MAJOR COMPUTER PRODUCT LINES AND AN EXHAUSTIVE LINE OF ELECTRONIC COMPONENTS

COMPUTERS

HARDWARE AND SOFTWARE CUSTOM HARDWARE AND SOFTWARE RESEARCH AND DEVELOPMENT

P O Box 1239

TWENTYNINE PALMS.CA 92277

714-367-6996

FREE BASIC PROGRAM AND CATALOG

o

3

Our clients are. state-of-the-art f:orTipanies looking for promotaoie creative software engineers, and systems analvsts/programmers.

Growth positions in the 15-40K range are available. ' Applications are in diverse areas including Graphic Arts, Text Handling Syslems. Micro-Based Controllers, Manufacturing, and Inventory Control Systems

We would like to tell vou more about these growth positions. All inauiries will be held in strict confidence.

Call us collect 603-888-5500 or send resunne

Touchstone Associates Inc. Personnel Consultants 104 D.W. Highway, Nashua, N.H. 03060

TAPE RECORDERI

QUAD 5 CHANNEL 1/4" TAPE TRANSPORT, ONE FURNISHED

LOGIC FOR AUTO SELECT, REWIND, EOT, ,f)£P' LOW LEVEL,a LAST CARTRIDGE-POWER S)'' REQ'D 12 V SAMPS DC-STD RACK PANEL 121/6" HIGH I9"WIDE 20"DEEP, WT85LBS, FREIGHT COL. USED-GOOD COND-LIMITED QTY DATA BOOK $10."

.025 SQUARE PIN PUSH-ON TERMINALS,

FOR JUMPERS-PATCH-POWER-PLUS REPAIR, ETC, HARD TO FINDI 10/4090 I00/$4.S0

PC LEAD CAPACITORS 20/$ 1.00

70PF NI500 lOOVOLT 5% DISC V, I20PF lOOVOLT 5% DISC 6 PAX

.OIMFD 200V0LT TUBULAR CERAMIC k .005MFD 500V0LT DISC f .005MFD lOOVOLT DISC *O.UU ,0066MFD-lOOVOLT SO. DIPPED P0LY> .OIMFD SOVOLT 5% POLY TUBULAR, LONG LEADS, IO/$LOO I00/$7.S0

n—r BI-PIN BASE T-l 3/4 I2V40MA

'^-l 1— INCANDESENT I0/$I.00 IOO/$aOO

CORE MATRIX STRIPPED FROM GOMPUT ERS-8 PLANES-NO DRIVERS-NO DATA

AS IS-NO RETURN. 256+BYTES *ia95, IK BYTES $27.95, 4K+ BYTES $39.96. 2 ONLY 1620 ASS'Y GOOD COND EACH $126.00

CARD GUIDE S FRAME-I9PR-9 I/2H 5I/4WI2I/2L; OR 15 SOCKETS ELCO NO. 7008-035-163-002 ON RAILS, YOU STRIP-CHOICE $9.95 EACH. OTHER SURPLUSSEND $1.00 FOR LIST OR CALL 817-626-2961, MC, BAC.VIZA ACCEPTED $1000 MINIMUM ORDER

J BE ELECTRONICS SALES PO BOX 4504, FT WORTH, TEX,76106

WITH HEATH

You know us for our quality Haathkits - and for our raputaliqfi for "doing things right." Our pro' grass slorv gots far back, and prospoels ara vary favorabia for tha yaars ahaad.

SQfTWARE DOCUMENTATION WRITER

An «ffactivt, proven technical writer needed to write Heatlikit computer systemt operations manuals and epplieationt procedures. A B.Sc. CS or quivelent is required. Candidates must be familiar with LSI-11/PDP-11, software and applications proflrammlng, higher level languaoes, and operating systems, principles and techniques.

Salaries are eompetitiva, with excellent benefits edditional. Our ideal location is a pleasant, small

community on Lalte Michigan. 90 minutes from

Chicago.

Please send resume in confidencB, or phone collect to Ken Smith, (6161 982 3673.

HEATH COMPANY

I Benton Harbor, Michigan 49022

An Equal Opportunity Employer M/F

Schlumberger

Electronics Engineer

'/Vie Dfparlmcnt of Chemistry of Hunter College seeks a person with a background in Electronics .(B.S. in E.E. or equivalent) to maintain and repair a wide range of laboratory scientific instrumentation, including minicomputers, associated peripherals, and radiofrequency equipment. The successful applicant will also be able to design and build interfaces and other needed electronic equipment, and interact collaboratively with research personnel. Salary competitive. Interested applicants should send a curriculum vita and at least two letters of recommendation to Dr Robert Lichtcr, Chairman, Chemistry Department, Hunter College, 695 Park Avenue, New York. N. Y. 10021. An equal opportunity employer.

Circle 141 on inquiry card.

Circle 142 on inquiry card.

ircle 146,0

Circle 45 on inquiry card.

4525 ^ The Programmable Scientist

MODEL No. 4525 - 100 STEPS

> 100 STEP LEARN MODE KEYBOARD PR0GRAM1HING CAPABILITY

• RPN Logic • RoUable 4-lpvel stack • 8-digit plus 2-digit exponent ^ LED display • Scientific notation • Sine, cosine, tangent & inverse trignometric functions • Common & natural logarithms & antilogarithms • Instant automatic calculation of powers and roots • Singlekey square root calculations • Single-key PI entry • Separate storage memory • Square, square root and reciprocal calculations • Change sign & register exchange keys • Includes NiGad batteries.

Manufactured by National Semiconductor - 1 Year Warranty A.C. Charger $4.95 Protective Case $2.95

Shipping and liandling - $3.50 California resMonts add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. REDONDO BEACH, CA. 90278

TEL. (213)376-8005 WRITE FOR FREE CATALOG You are Invited to visit our store at ttie aliove address

3RD GENERATION

ASCII KEYBOARD KIT

$63.00

FURTHER IMPROVEMENTS-MORE FEATURES

TTL Logic Circuits Power: +5V 275mA

Upper and Lower Case Full ASCII Set (Alpha Numeric, Symbols, Control)

7 or 8 Bits Parallel Data Optional Serial Output Selectable Positive or Negative Strobe, and Strobe Pulse Width 'N' Key Roll-Over Fully Debounced Carriage Refiirn Key Repeat Function Key Shift Lock, 2 Shift Keys 4 User Defineable Keys P.C. Board Size: 17-3/16" X 5"

OPTIONS:

• Metal Enclosure (Painted IBM Blue and White)

$25.00

• 18 Pin Edge Con. $2.00

• I.e. Sockets $4.00

• Serial Output (Shift Register) $ 2.00

• Upper Case Lock Switch for Capital Letters and Numbers $ 2.00

KIT Includes: Keyboard, P.C. Board, all required components & assembly manual.

NOTE: If you have this 63 Key Teletype Keyboard you can buy the Kit-without it for only $44.95

GRAND GIVEAWAY yvV^ SALE//

EILECTRONIC POCKET

Memory Modules We Stock

CALCULATOR

With Any $10.00 Purchase (WITH coupon)

SSMMB7 200ns 16K 525 Industrial ^ Systems 8K 229 SPACEBYTE16K Static 599 SSM MB7 450ns 8K 199 Vector Graphics 250ns 8K 269

Common OB Series

Poly 88 Xitan I

Vector Graphics Alpha Micro System

Computers We Stock

735. 769. 819. 1495.

FULL ASCII UPPER/LOWER CASE

/ COMPUTER KEYBOARDS

~ Used Guaranteed Working

single Supply -i- 5v @ 800 ma Schematics Included Basic Keyboard $45.00 Add: SS.OO for Upper Case Alpha $10.00 for Numeric Keypad $5.00 Misc. Function Switch S40.00 Metal Case w/bottom IMSAI 699. S4S.00 Metal with Walnut Ends

S0L20 1095. SI.SO Connector

CromencoZ2 595. $2.00 for 10 Extra Switches

Apple 11 (16K) 1698. Compucolor. 2750. ' '

Connector

DB 9P DB 9S DB15P DB15S 0B25P DB25S DC37P DC37S DDSOP DD50S

1

1.10 1.50 1.50 2.25 2.25 3.25 2.95 4.90 3.90 6.50

10 1.00 1.40 1.40 2.00 2.00 3.10 2.75 4.50 3.50 6.00

Surplus TRW Power Supply Original Cost $100.00 Plus

• GONE GOOFY PRICE * 5—

TEXAS INST Lo Profile Sockets

We stock a complete line of 7400,

74LS, 4000 CMOS

Pin

1

10

DIP Switches

8

.30

2.50

• 14

.25

2.00

1

10

16

.27

2.20

4

1.85

1.65

18

.40

3.20

5

1.85

1.65

20

80

6.00

6

1.85

1.65

22

50

4.00

7

2.00

1.80

24

50

4.00

8

2.20

1.90

28

50

4.00

9

2.30

2 10

40

50

4 00

10

2.40

2.20

WEST COAST'S LARGEST SELECTION OF COMPUTER RELATED HARDWARE

rM 1 COUPON I m

CUT COUPON FOR COUPON ITEIVIS ■

COMPUTER COMPONENTS, INC.

I

4705 Artesia Blvd., Lawndale, CA 90260 (213) 370-4842 Lawndale, CA Store Open Mondays 10 AM - 7 PM 5848 Sepulveda Blvd., Van Nuys, CA 91411 (213) 786-7411

I

J

Circle 26 on inquiry card.

BYTE April 1978 187

What's New?

Inexpensive Impact Printer

PERIPHERALS

. This Pussycat Is Fa^t and Inexpensive

The "Pussycat" Model 650 Ckj Page Printer is capable of printing full 1920 character cathode ray tube screens in less than 20 seconds, with internal buffering so that CRT dialog is Interrupted for only 2 seconds (at 9600 bps). The thermal printer accepts data at the maximum transmission rate over an RS232 serial line, and prints the screen image noiselessly at 100 characters per second sideways on a standard size sheet of paper, In a 24 line by 80 character forjnat using a full 96 character ASCII set. The 9 by 12 dot matrix provides for descenders on lower case characters. The "Pussycat" uses thick film thermal dot arrays fixed In position for its printing heads, and has no moving parts other than its platen. Heating of the dots is controlled by an internal 6800 microprocessor. When printing blank lines the device's "slew rate" is five feet per second. The Model 650 measures 4 by 12 by 12 inches, weighs only 15 pounds, and is priced at $795 in OEM lots of 75. More information is available from Perkin-Elmer Terminals Division, Rte 10 and Emery Av, Randolph NJ 07801, (201) 366-5550."

1

Circle 584 on inquiry card.

The Integral Impact printer can print multiple copies on both fanfold and roll paper. It uses a 5 by 7 dot matrix to print the standard 64 character ASCII set at speeds up to 120 characters per' second with up to, 132 characters per line. Standard features Include an RS232 and current loop serial interface at data rates from 110 to 1200 bps, and a parallel interface is also provided. Double width characters are provided, and switches select character sizes and line lengths from 80 to 132 characters per line. A reinking mechanism gives the ribbon an expected life of up to ten million characters. Housed in an attractive tabletop console with operator controls on the front panel, the Integral Impact is available at a unit price of $745 with discounts for larger quantities from Integral Data Systems Inc, 5 Bridge St, Watertown MA ' 02172, (617) 926-1011."

Circle 585 on inquiry card.

g cLjbBrcDm boards

MB-1 MK-8 Computer RAM (not S-100), 4KX8, uses 2102 type RAMs, PCBD only $22.00

MB-3 17d2A EROM Board, 4KX8, S-100 switchable address and wait cycles, kit less PROMS $58 00

MB-4 Basic 4KX8 ram, uses 2102 type rams S-100

buss. PC board $27.00

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100

buss. PCBD $26.00

MB-7 leKKS, Static RAM uses uP410 Protection,

tully buffered. KIT $400.00

MB-8 2708 EROM board, S-100, 8KX8 or 16KX8 kit

, without PROMS $65.00

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or 82S129 PROM kit without RAMs or PROMs . $72.00 10-2 S-100 8 bit parallel I/O port, % of boards is for

kludging. Kit $46.00 PCBD $27.00

10-4,Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports.

Kit $130.00

VB-1B 64 X 16 video board, upper lower case Greek, composite and parallel video with software, S-100.

Kit $125.00 PCBD $27.00

Altair Compatible Mother Board, llxllVixVs". Board only ....$40.00. With IS connectors ...$90.00

Extended Board full size. Board only $ 9.00

With connector , $13.00

Cosmetic Reject PCBDs

MB-6A $18.00, lO-2........$20.00

82S23

$1.50

PRIME

DEVICES

82S123

1.50

82S114

2.95

8080A

$15.00

B2S115

3.50

8212

3.75

82S126

1.95

8214

6.30

82S129

1.95

8216

3.95

828130

1.95

8224

5.00

82S131

1.95

8228

6.95

82S136

3.95

8251

9.95

82S141

3.95

8255

9.95

MMI6330

1.50

/V/7nC/i„e. WAMECO INC.

MEM-1 8KX8 fully buffered. S-100, uses 2102 type

rams. PCBD- $26.00

Mother Board 12 slot, terminated, S-100, board

only $27.00

CPU-1 B080A Processor board S-100 with 8 level

vector interrupt PCBD $27.00

RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD $27.00

EPM-I nOSA 4K Eprom card PCBD $27.00

10% discount on 10 or more of WAMECO PCBD in any combination.

2102AL-2

Prima 2S0 NSEC;

$1.60

2102AL-4

Prime

450 NSEC

$1.30

2708 Intel

Prime

(.5USEC)

$15.00

2708 SIg Prime (.65 USEC)

■ $12.95

1702A-8 AMD Prime

$3.50

1702A Intel Not Prime (2US)

$2.00

TMS-6011

Prime

$6.95

2501B

$2.50

1488N

$1.50

2502B

2.56

1489N

1.25

2504

2.00

4044

2.25

2507V

2.50

8038

3.90

251 OA

2.50

5320

5.95

2517V

2.50

5554

1.90

2518B

2.50

5555

2.50

2519B

2.50

5556

2.50

2521

2.50

5055

1.25

2522

2.50

5312

4.00

2525

2.50

MH0025

1,50

2527

2.50

MH0026

1.75

2532V

2.50

MH0028

1.90

2529

2.75

2533V

2.95

419 Portofino Drive San Carlos, California 94070

Please send for IC, Xislor and Computer parts list

MIKOS PARTS ASSORTMENTS

All piece parts for assembly of Wameco and SSM PCBD's. All Factory Marketed Parts. Order PCBDs right.

Mikos #1 Parts for MEM-1 PCBD with prime

2102AL-4 450 nsec rams. Less PCBD $103.00

Mikos #2 Parts for CPU-1 PCBD with prime 8080A

8212's and 8214. Less PCBD $60.00

Mikos #3 Parts for MEM-1 PCBD with prime

2102AL-2 250 nsec rams. Less PCBD $113.00

Mikos #4 Parts for QM-1A with super \6vt loss gold

plated connectors. Less PCBD $52.00

Mikos #5 Parts for RTC-1. Less PCBD $43.00

Mikos #6 Parts for VB-1B less molex- connectors and PCBDi _ _ ....$62.00

82806

$1.00

8T26

$2.00

82807

1.00

8T28

2.00

82S50 '

1.00

8T34

2.50

82S62

1.00

8T37

2.50

82S90

1.00

8T38 "

2.50

82S91

1.00

8T74

1 1.50

8T01

2.50

8T80

2.50

8T09

1.25

8T90

- 2.50

8T1C

2.50

8T95

2.30

8T13

2.50

8T96

2.45

8T14

2.50

8T97

1.50'

8T20

2.50

8T98

2.00

8T23

3.00

8T110

2.00

8T24

2.50

567

1.50

Check or money order only. If you are not a regular customer and your order is large please send either a cashier's check or a postal money order, othenwlse there will be a delay of two weeks for the check to clear All items post paid in the U.S. Calif, residents add 6% tax. Money back 30 day guarantee. We cannot accept returned IC's that have been soldered to. Prices subject to change without notice. $10 tninimum order. $1.00 service charge on orders less than $10.

188

April 1978 © BYTE Publications Inc

Circle 71 on inquiry card:

I

i Electrolabs 415-321-5601 is

PQB 6721, Stanford. CA94305

ESAT-IOOA: REVISED DESIGN I For Teletype, SC/MP. Jolt, Kim, SBC80, COSMAC. Electrolabs Stand Alone Terminal. Completely assembled, burned in and tested. Very reliable. $ 299.00

NOW 80 char. X 24 lines5x7do t matrix ASCII, commumcaling with a

serial, asynchronous 1 ^ unit code, TTL compatible, 300 to 9600 Baud. Kevboard controls are: BACK SPACE, FORWARD SPACE, LINE FEED, CLEAR PAGE, CLEAR LINE, FULL/HALF DUPLEX, LOG A L.'RE MOT E, CURSOR ON/OFF, ODD/EVEN, NO

Circle 42 on.inquiry card.

PARITY. Output is comp video, 75 Ohms. Keyboard required is parallel out 7 unit ASCII with negative true strobes. Kevboard may tap up to 200 MA frotn the onboard BV supply. Power required; 1 10 VAC ([^ 7 wans. You don't even need a computer, S-100 or otherwise. Mav be used wiih,Modem for limo-share terminal applications. MODHM : Bell 103 Sid. V.idic Card wiih or.gij

mmirmmmmm, ■viiVaitai W if iai

mm

I

DAA Ki r (lor ;

e)

539.00

, EPROMS

2716

$39,00

2708

450ns

11.95

2708

650ns

8.95

5204AO

7.95

5203AO

3.95

1702A

3.95

RAMS

21U)2

2Sans $ 1.59

21L02-3

450ns

1.19

F2101L1PC

450ns

1.68

21IIAL-4

450ns

1.99

2114-3

300ns

10.95

2606-1

500ns

1.75

C3I07-B '

60ns

1.49

PD4I1D

135ns

3.99

PROMS

S2S2708

50ns

$22.95

MEMORY BOARDS

MHM-IOO-SKB $139

8K static for SlOO bus, assembled, burned in and

fully tested.

MI M-I I-2-1KB $679 for PDP11-03 or Heatfikit LSl-11. 24 KBy of RAfUl and 2KBy of 2708 ROM. Beautifully done board. Qualified through tests your CPU would flunk. Refresh CPU controlled. Includes 2708's.

OTHER NOTABLE ITEMS

Z80+XTAL $27.95 N3002 Bit Slice CPU $3.95

Z80A■^XTAL 33.95 LS7031 8 decade CTR+

8080A 10.95 display driver up to 500

2SI3 Char Gen 5.9S MHz m/external BCD

AY5-1013 4.95 CTRs $1555

MMS320 4.95

\ferbatim

Mini Diskettes

Removable Magnetic Storage Media manufactured by Information Terminals Corp.

1-9 10-25 26-100

$4.79 $4.65 $4.45 IVIDS25-01 (Soft Sectqr) for: Intelligent Systems, IVIagnavox, IVIicrokit and Vector Graphics

MD52S-I0 (10 Sector! for: Digi-log, North Star, Polymorphic,Tei Inc., Wang MD525-I6 (16 Sector) for: Altair, Comtek, IVlicropolis,.R2E, Realistic Controls and Teleray Research Inc. Standard Size Diskettes FD34-1000 (Soft Sector, IBM Std. FD32-1000 (Hard Sector. Inner dia.l FD65-1000 (Hard Sector, Outer dia.l Cassettes R-300 Digital Direct

1-150 For digital recording on audio recorders 2 for 8,95 RECERTIFIED DISKETTES fully guaranteed 3740 type 10/27.95

SYSTEM BUY OF THE YEAR I TEALTRONIC 2500

includes 165cps bidirectional matrix printer, ASCII keyboard, wide band video monitor, FOUR Shuoart 800 floppy drives, high speed CPU structured from 2900 bit slice chips to execute in IBM's ACL business lanuage and containing 32K of memory. Regulated, protected cool running supplies for all of these items„

1-9

10-25 ;

26-100

$5.99

$5.33

$4.79

1-9

10-25

26-100

$5.25

$4.99

$4.35

NOTE: In Europe these fetch $19,000. One of these with a LSi-11 would be incomparable I

All New In Console including software With 2 Drives

$5775 $3900

100% GUARANTEE I We offer a money-back guarantee on the products that we sell. Full refund or replacement for any unsatisfactory products returned within 15 days of purchase* Our magnetic media is certified 100% error-free, shipped fresh from refrigerated storage. FREE CATALOG I Free catalog of IC's, components, word processing supplies, useful devices and equipment will be sent in response to each Inquiry and order. Call for information on quantity prices and special discounts.

ORDERS NOW BEING TAKEN FOR: THE NOT-SO-DUMB TERMINAL 80 char.XSO In. rolling full ASCII stand alone communicating Z-80 based terminal. Smarter than the "Owl," includes EBCD to ASCII translator. Options for 256X256graphics. 100 lines, full editing,

etc. Requires KDB and a reasonable monitor such as a slightly modi lied TV. $489.00

LSI-11'' COMPONENTS

Manufactured and tested by Digital Equipment Corporation. Compatible with DEC PDP-11/03'and Heathkit H-11. Or build your own computer using the housing assembly. All cards 8.5 in. x 5 in.

KDll-HA LSI-11/2 Central Processor Unit Includes power

Includes power fail/auto restart, I/O DMA port, real time

clock input and vector interrupt handling ..........$ 695

MSVll-DA 4kxl6-bitRAM,on-boardrefresh ;,..,$ 350

MSVll-DB 8kxl6-bit RAM, on-board refresh $675

MSVll-DC 16kxl6-bit RAM, on-board refresh $1095

H9281-BB 8-card housing assembly and backplane , $ 155

Other components available, write for catalog. We reserve the right to limit quantities.

MICROPROGRAMMING INC. 12033 Riverwood Drive Bumsville, MN 55337 Phone: (612)894-3510

Terms: Prepaid or COD (10% Deposit). Package DiscountBuy a CPU and memory, deduct 5% of entire order.

*LSI-11 is a trademark of Digital Equipment Corporation

Circle 68 on inquiry cai^d.

BYTE April 1978 189

Whafs New?

SOFTWARE

6502 Assembly Language Programmers Take Note

Micro-ADE is a complete assembler, disassembler and text editor package for 6502 based computers, customized especially for tlie KIM-I with at least a 4 K memory expansion board. The two pass assembler- can be used to assemble small programs directly in

memory, or it can read source code from one cassette recorder and write object code on another for large programs. Program and symbol table listings may also be produced. The disassembler translates object code back into assembler source code, optionally using the

assembler's symbol table to produce a fully symbolic listing. The text editor includes automatic line numbering, a FIX command to edit parts of lines, and the ability to save, load, and copy programs or data from one cassette to another.

The entire package, including, a set of high speed tape cassette input output routines for the KIM-1, fits in 4 K bytes, optionally in read only memory. Documentation of the symbol table allocation and source text format makes it possible td use the assembler, disassembler and text editor with other system software packages, and the entire set of input and output routines for the cassettes and terminal are provided in commented source code form with a narrative description to facilitate interfacing the package to other lO devices and operating systems. The comprehensive 56 page user manual covers every aspect of using the package, even to the point' of adding motor control relays to the cassette recorders.

The Micro-ADE package including the user manual, hexadecimal program listing, and paper tape or KIM-1 cassette costs $25, while the complete commented source listing of the entire package is available for an additional $25, from Micro-Ware Ltd, 27 Firstbrooke Rd, Toronto Onurlo CANADA M4E2L2.»

Circle 628 on inquiry.card.

P.O. BOX4430X Santa Clara, CA 95054 .Forwlli call only:(«8) 988-1640

^^^^For will call only:(4ll<» 988-1640 ^^^^^1^2996 Scott Blvd. ^

Mr™'".

eeoo

24 50

B080A with oaia

11 50

2B0

29 95

8212

3 50

B2U

8 00

8216

3 85

8221

3 50

822H

6 25

8251

11 50

8255

10 75

CDPIS02CD

1995

CDP1802O

25 00

COP1861

1295

E820

12.00

6850

la.oo

6502.

24.S0

pnoM

1702A

495

N82S23

2 95

N82St23

3 50

N82S126.

3 75

II82SI29

3 75

N82S13I

3 75

N02S136

8 75

2708 16 50

DM8577 2 90

8223 2 90

2716 36 00

IC SOCKETS Soldar Tin Low Profile PIN 1UP PIN tUP

3 .15 24 .36 14 16 16 20 36 18 .27 40 I 22 .35

3 Itvel wile wn9 goM 14 pin 35 16 pin 39 ~ U 14 PIR WW "

CONNECTORS

44 pin edoe 2.00 100 pin edge 4.50 100 pin Mgi WW 5 25

MOS/MEMOny MM

2101- 1 4 50

2102- 1 1 28

31C2AL-.1 1 r>n

21f02 2104A.4 2107B

2111- 1

2112- 2 MK4116

" 25136 21L021 MM52e2 MM5320 MM5330 P04110-3 P04I1D-4 P5101 4200A 82S2S 91UI2A HOOISS-S MM57I00 GIAV38500-1 MCM6S71A

INTERFACE

NBT26

N8T?a

i.es

3.SS 4.00 7 OO

7 90 34 95

8 75 1 49

40 5.95 5.94 4.00 5.00 13.95 15.95 2.90 2.50 695 950 13.95 15.00 3:00

cRvnus

1 MH! 4 50

2 MHz

4 MHz

5 MHz 10 MHz 18 MHz 20 MHz 32 MHz

32768 Hz 4.00 1.8432 MHz 4.50 3.5795 MHl 1.20

4 50 4 25 4.25 4 25 390 3.90 390

2 0100 MHz 1 95 2 097152 MHz 7 75

2 4576 MHz

3 2768 MHz 5 0688 MHz 5 165 MHz 5.7143 MHz 6.5536 MHz 14.31618 MHz 4 25 18.432 MHz 4.50 22.1184 MHz 4 50

7 50 7 50 4 50 4 50 4.50 450

COMPUTEII BOARD KITt

IK RAM Boitd Kit SI34 95

4KEPR0MIQt 114.95

I/O BoatH HI 44.50

Extpnilef Board w/conneclor 12.50

Vidfio Intarlaca board kil 125.00 16K EPflOM board Ml */o PROMS 74.50

16K Sialic RAM board HI 395.00

Noin Star Floppy DIat nt S6C5 00

AddHional OrhrB Kit 415.00

ParaMnlBS 100A Lotic

Analytir KH S199 00

Model 10 Tfiager Expandef Kil S?99 00

Mu.-lel :iin Bus G'ahber Kii sir.'t no

Cosmac Super ELF' Kil $106.95

RCA CMOS expandable microcomputer with HEX keypai) Input and video output tor graplilcs. Includes PC board and all parts witti full sotdots and power supply.

High addrets ditplay option $8.95 Low addrtit dliplay option 19.99 Nlci< Mtmof* Savir Kit (4.95

4K 'ELP Expansion Board Kit

Willi Cunlta iRMitin S79.98. On bun) op

tloM inllibti: IK iNpir ROM monitor tl9.95.

Parallel I/O port: $7.95. RS232 interlace $3.59. TTV zgmA Interlace $t.95. 8-190 Memory tnlerlaciB $5.30.

Tiny Basic ior ANY 1802 System

Kantai City Slondlrt CliiOMo Sie.OO. On ROM Monitor S38.Bg. Siipor 'ELP owiora tain 30% alt.

Video Modulator Kit $9.95 Convert your TV set into a higb quality monitor without attecting normal usage. Complete kil with full Instructions.

RCA CosmacVIP Kit $275.00

Video computer witti games and graphics.

'78 IC Update Master Manual

1978 IC Update Master Manual $39.90 Complete IC data selector 2175 pg. Master reference guide. Over 42,000 cross references. Free update service through 1978. Domestic postage $3.50. Foreign $6.00. Final 1977 Master closeout $15.00

Auto Ciock 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 lor beaiilifiil dari( gray case. Best value anywhere

Sinclair V/i Digit Multimeter

Ban. oper. ImV and .1NA resolution. Resistance to 20 meg. 1% accuracy. Small, portable, completely assem. in case. 1 yr. guarantee. Best value everl $59.96

HMS' 5b 00 mm order U S Funds Calil residents add 6°d lax. BankAmericard and Master Charge accepted Shipping charges will be added on charge ^ards ll-E Send lor your copy ol our NEW 1978 QUEST CATALOG, Include 24C stamp.

fdD April 1978 ® BYTE Publications Ihc

Circle 92 on inquiiv card.

CAliFoRNiA iNduSTRiAl

Post Office Box 3097 B • Torrance, California 90503

Point DfSale C/imPUTER

Manufactured by TRW Data Systems lorthe fast food incluslry Designed for ertor-ffee dala entry. Tfie operator simply blackens tfie appropriate box on a mark sense card and inserts II into the form reader. The CPU searches inlernai programable drum memory lor unti price and extends it by quantity, displaying ihe customer's grand total on the LEDmodule.

Memory system is capable ot retaining over 40 register items. Accumulated data may be pulled by a master computer.'

This point ot sale computer makes a super mark sense data terminal. The TRW 1336 Is shipped complete with cables and self-contained +5 & ± 12v. power supply. Brand new In factory cartons. Original cost $7,000. Weight 100 lbs., shipped freight collect. Operating tnstfuctlona Included. '

CONNECTORS

RS-232

DB25P nale plug & hood

^ ^\

|°V.-.V.V.V.V.V.Vo

^—mm—

DB2SS female

*3.95

Edge

Connectors

100 PIN

IMSAI/ALTAIR

S-100 • GOLD PLATED • .125" CENTERS

Allair .140 row. solderlail $5.98 3/$16.50

Imsai .250 row, soidertail $4.98 3/$13.00

3 Level Wire Wrap .250 row... $4.98 3/$13.00 SPECIALS

WAV same as above without earsS3.50 3/$10 72 (dual 36) W/W .156" centers... %2S0 3/$6

>498

10 for t45.

B

■I i Certified Digital

SCOtCn CASSETTES

Diskettes *5.5o

Please specify

IBM3740 aeriei

or 32 sector.

also MINIDISKS

Won't drop a BIT!

CALIFORNIA INDUSTRIAL

is an Autttorized Dealer of Scotch Brand Data Products

Electronic Entertainment Center

Tennis-Handball Hockey-Smash

Action-packed color entertainment for the wIioIb lamily. Adjustable Bklll level conlrolB allow players ol alt sgea la comJ pete In tennis, tiockey and t^andball. F TtilB four game entertainment center turns your tslavlslon Into a video playground. .

Color ^24.88

On Bcrssn scoring, live action sound and

true comportenl color makes Th'ls video conlor an o.collnril buy a( only $24 88. Complelo with anienna box and AC adapter.

HEXAflEGIMAL KEYBOARD

$3495

hlanl-Switch hexadecimal keyboards are designed micrDComputer systeme that requfrs44>lt output In standard twx code.

Each assembly consists ol IBhermetl' caHy sealed reed swiictieaand nL'*ona, snot" denounce orcuilrv. Reliable low friction ace la I resin plungers are credited lor tt\a smoolh operation and long tite of Ittis premium keyboard.

Requires single + 5 volt supply.

<e4.88

V UNIVAC KEYBOARD

Th? iimaui Speny Univac l7iaHoll«tilh kvytua'd aMiimbiy row avutitUe Irom CUIom>a IrtdutUMl 'O' onty 134 SB Trie loeai campultfr inpul cl*iric« lor accounttnl* ind fR«lhemaiic«ns Tlw numenc Ntyt V% pIScM On in* IMMr inrae rom to fsMRiWe a Mn k«y siMnB mMlun*. Thit

condition CompMu witn doeuiMnUilon

TELETYPfM0IKL43

New from Teletype, lha Model 43 Is capebleol printing 132 ASCII ctiaracters per line. Send and receive data at I0or30 char, par second. Keyboard Qaneralea all 128 ASCII code comblnstlona. RS-232 Interlace, aame as Ihe popular Model 33. Data sheet aant upon requaat, Manufa^r tureriuggestedprloefl377.00. ^ - .^

IMMEDIATE DELIVERY *12l9

TTL model with NOVATION brand Acoustic Modem. il419

REGULATED

POWER SUPPLY

Delivers 5 volts at 8 Amperes along witti th^ea other regulated outputs.

Ttils used supply is sold "as is," but we still feel ttiat this is Ihe best buy you'll ever see In a regulated power supply. 75 lbs., Schematics Inciuded.

ui.d M9.50

Shipped Freight Coll

S-100 mother

The Quiet Buss from California Industrial is Oualily engineered. No shorl cuts fiave been taken to coOucG ihis mother board. Active termination circuiiry prevents nolso and crosstalk. Manulacluiod Irom extra heavy FR-4 epoxy glaes. Features 2 ounce double thickness copper Iraoee.

SLOT 29.95

mflnUflL DRflPHiTE DiSPLflV DEnERflTDR I

Modem iKhnoiogy has pionMrad Ihe davelopmeni o' ih>s unique character printer. Our Manual Saphite DispUy I Osoeralor has the CBpatriHtyol producing Ihe tult upper anO I hnvBi case ASCnseLSell-conlaiiwd cursor BSSwnblyalleMS f Uw operator to aUmtnsie erroneousfy entered intormsbon I EichtmnurnanulaclursdtoslnciiolsrancesasprescrlbQa | by slarKlacds sal forth by Callfomialndutlrial. One free wit) I awyordst.

This joyitick Isaiura 'our lOOK poianHomelart. Ihal vary cesistancB proportional lo irm angle of ina ■tick. Parfeci lor televlsJon games, quad stereo and radio controlled

5&l2voLt

REGULATORS

_jiL_ia2.

»119ea. .97 .88

Neiatlva

Potltlve

UV Erasable

TO-3

LM320K(>

LM340K( >

MEMORY

10-220

LM 32070

LM340T()

2U02

LOW POWER

4sa IMS

'119

^mI Lowest Price ^ Anywhere

Our loiv pi-(,vuf sialic RAMs arR Liclrjry prime Piirclias.ed on r:oniriici ilircclly Irom one of Calilornia H ti'injinij semtconductor martufar:hirers

7496 7497 74100 74107

4033 4035 4040 4041 4042 4043 4044 4046 4047 4049 4050 4051

1702A 4 95

82s23 2 95

825123 2 95

2102 1 79

2102-1 1 69

21L02 1 19

250 nS 1.49

S-100 PROTOTYPE BOARD

onoo4laidinum<feiHinvai> t4aoo satlllty along wtiti standard 1,9.*'*' address decoding and butferlng lor S100 syslams. Room tor 32 uncommitted 16 pin ICS, S bus butler & decoding chips, 1 DIP address selscl swllch, a 5 volt regulator and more. WWtOO-Wtre wfop breadboard, similar to the QP100. Allows wirs wrap ol all sizes of socKels In any sUes ol sockets In any combination. An euro reguknor position for multiple vonage oppHcottons

FROM ATARI

COLOR TELEVISION R.E MODULATOR

'1395

^SPEAKERS $

Miniature

Perfect for TVgames,alarni

systems,speech synthesizer or intercom. 8 ohms

5"HiFlilelity >298

Thumbwheel ^^^^^ switch

^^"'^Ten position

BCD

Miniature / Switches A

your choice

ID 50 m Ik US .81.73.66 SPOT Mlntatura Toggles

7101 C&K ON-NONE'ON

7107 Jbt ON'OFFdnnt.ON) I

7108 CK ON-(momenl.ON)

Rocker JBT DPDT

Rotary 3P-4-Po». Rotary 3P-6-Poj. PuthBCILOJ $.3aa.3/Sl

Whst's New?

SOFTWARE

0096 210000 0099 22000^ 009C 21F9FF 009F 220Z01 OOAZ

0OA2 2A00D4 00A5 11010^ OOAB 29 00A9 19

ODM) es

FOR 1-1 TO 71 READ V(Xit NEXT I LXI H.O SHLD VI LXI Hf-7 SHLD FTl EQU » LHLD \rL LXI D.«U DM> H DAO 0 PUSH H POP H CALL REM) PC 2 L»U> VX •

me n ■

8KLD VI

XCHG

'«9F»ZtP29C l>OF« ii^-^a

0OF9 19 OOFA ZZIAOI

OOFD ZIFFFF 0100 2Z1S«1

oioa 210100

01 OA 2Z1A01

0109 212Ann

oloc cDoooa

OlOF 117870

LXI Kr«$«B^ LXI DylfrMS DAO D

SHLD VC -1! EY"1I D-RND<38>+318&4 LXI H.-l SHLD VEX LXI H.l SHLD VEY LXI Hf38 CALL RAND LXI D>318«4

A "Universal" BASIC Compiler

Futuredata Computer Corporation has announced a Universal BASIC Compiler, which can be used to generate code for the 8080, 8085, 6800 and Z-80 processors.

The product includes a high level debugger that allows program debugging without dealing directly with assembly ' language.

Programs written in BASIC can be compiled for any of the processors. The compiler eliminates the need to rewrite programs when switching from one processor to another. All standard BASIC statements are included plus string variables, array variables, bit functions, PEEK, POKE, INP and OUT functions. The user can intermix assembly language instructions directly in the BASIC program. The debugger allows the user to set and clear breakpoints with BASIC statement numbers and to display variables in memory using the BASIC variable name.

Futuredata BASIC has the option of outputting an assembly language source code of the compiled program to an editor file. Each BASIC statement becomes a comment in the assembly listing. The compiled assernbly instructions follow the BASIC statement. This allows the user to optimize sections of the program by directly editing the assembly language after compilation.

The compilers run in systems with at least 32 K bytes of programmable memory and are available for any of Futuredata's disk-based Microsystems: the Microsystem/20 with dual 5 inch minifloppy disks, the Microsystem/30 with dual 8 inch floppy disks, or the Microsystem/32 with dual 8 Inch double sided, double density floppy disk. Each Microsystem comes complete with an 8080, 8085, 6800 or Z-80 processor, a 960 character video display, a 53 key ASCII keyboard, memory peripherals, software and manuals.

The price of the Universal BASIC Compilers is $300 each. Contact Futuredata Computer Corporation, 11205 S La Cienega Blvd, Los Angeles OA 9004S, (213) 641-7700."

Circle 654 on inquiry card. .

KIM-1 Software in ROM from Vienna

This KIM-1 accessory of European origin features a resident assembler and text editor in read only memory. The assembler is single pass and has 22 different error messages, and fits in 4 K bytes; the line oriented editor permits user defined commands and occupies 2 K bytes of read only memory (ROM). For input and output the KlM-1 cassette or Teletype interface is used. The programs in ROM are delivered on a European card which plugs into a KIM-1 expansion bus with room for four cards. The unit is available from Ernst Steiner, Geylinggasse 16, 1130 Vienna AUSTRIA."

Circle 653 on inquiry card.

Text Editor Offers Conditionals and Macros

The Z-TEL text editor has, in addition to the usual text editing features, the ability to move blocks of text around in an edit buffer and the ability to define macros, test conditions and transfer control from one part of a command string to another, with nested iteration and backward search capabilities for added convenience. The editor is a relocatable, reentrant program running in 7 K bytes of memory and is priced at $50 on paper tape from Technical Design Labs, Research Park BIdg H, 1101 State Rd, Princeton NJ 08540, (609) 921-0321."

Circle 652 on inquiry card.

192 April 1978 ©BYTE Publications Inc

*

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a

.••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

••••••••••••••■•••••••■••«••■••••••••••••••••••••••••••••••••••••••••••••••••••■•••

••■•••••••••••••••••••••••••••••••••••••«•••••••••••••■•••••••••••••••••••••••••••«

■•*■•**•*••••••••••••••••••••••«••••••••••••••••••••••••••••••••••••••••■•••••••••»

KIT FEATURES:

16K E-PROM CARD

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! S-100 (Imsal/Altair) Buss Compatible!

1. Double sided PC board with solder mask and silk screen and golil plated contact fingers.

2. Selectable wait states.

3. All address lines & data lines buffered!

4. All sockets included.

5. On card regulators.

KIT INCLUDES ALL PARTS AND SOCKETS (exc8|it 2708's). Add $25. for ^ asscmUeil and tested.

$69.95 kit

SPECIAL OFFER:

Our 2708's (4S0NS) ars $12.95 when purehauHl with above kit

BK LOW POWER RAM KIT $149.00

S-10G (Imsai/Attair) Buss Compatible!

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 seleetible to pin 67.

5. FOUR 7101! ngiilatoR are provided on card.

USES 211.02 RAM'S!

Fully Assembled & Burned 111 $179.00

Blank PC Board w/ Documentation

$29.95

Low Profile Socket Set 13.50

Support IC's (TTL & Regulators) $9.75

Bypass CAP's (Disc & Tantalums) • $4.50

MOTOROLA QUAD OP - AMP

MC3401. PIN FOR PIN SUB. FOR POPULAR LM 3900. 3 FOR $1

RECTIFIER SPECIAL

1.5AMf> 100PIV EPOXY CASE AXIAL LEADS 15 FOR $1

MOTOROLA 7805R VOLTAGE REGULATOR

Same as standard 7805 except 750 MA output. TO-220. 5VDC output.

44c each or 10 for $3.95

FULL WAVE BRIDGE 4 AMP. 200 PIV. ew EA. 10 FOR $5.75

NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWARE

450 NSI 2708EPROMS 4S0NSI

Now full speedl Prime new units from a major l/.S. Mfg. 450 N.S. Access time. 1K x 8. ^quiv. to 4-1702 A's in one package. ^ Special Offer: $12.95 eacli when

$15.75 ea. purchased with our 16K EPROIM Idt!

Z-BO PROGRAMMING MANUAL By Mostek, The major Z-80 second source. The most detailed explanation ever on the working of the Z-BO CPU CHIPS. At least one full 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! A D.R.C. exclusive! $12.95

POWER RECTIFIER #2 Motorola

Stud Mount. 1N1187. .

35 AMPS. 300 PIV. Military Quality! $1.19 ea. or 4/$3.50

4K STATIC RAM'S 2114. The new industry standard. Arranged as 1K x4. Equivalent to 4-21 L02's in 1 package! 18 pin DIP. 2 Chios give 1Kx8. 2/$24. 8/$85.

741C OP AMPS Mini Dip. Prime new units. Has computer Mfg's house number. 12/$2. 100/$15.

Jumbo Red Leds New by G.E. Like MV5024. Number SSL-22.

6/$1. 25/$3.75

OPCOA LED READOUT '

SLA-1. Common Anode.

.33 inch character size. The original high efficiency LED display. 75c ea.

or 4 for $2.50

Disc Capacitors .1 MFD 16V. P.O. leads. Most popular value. By Sprague. 20^1.00

12VDC Relay by CDE. SPOT. Coil is 280 ohm. Small Size. $1.29

CMOS SPECIAL!

CD 4001 -5for$1. CD 4011 -5for$1. CD 4013-3 for $1.

CD4040-$1.each CD4042 - 2 for $1. CD 4049 - 3 for $1.

3 AMP RECTIFIER

1N4721. Axial Lead. 200 PIV HEAVY DUTY! House numbered

4 for

—

Metal Case

$1.00

EXPERIIMENTER'S CRYSTAL

262.144KHZ. This frequency is

2 to the 18th power. Easily divided down to any power of 2, and even to 1HZ. New by CTSKnight. A $5. value!

$1.25 each

HEAVY DUTY!

Full Wave Bridge 25AMP 50PIV $1.25

GE Ni-Cad Battery Pack 3 Cell pack, gives 4 volts at 900MAH. Brand new, factory fresh. Each cell is 2/3 "C" size. $4.50 /pack.

Buy 3 packs (12 volts) for $10.95. Limited stock!

Tantalum Capacitors 1 MFD. .35V. By Kemet. Axial Lead. Best Value! 10/$1.

GE 10 AMP Triac

SC146D. House no. To-220 case. Rated

10amps400PIV. 75Gea. 3/$2.

Digital Research Corporation

^ (OF TEXAS)

P. O. BOX 401247 • GARLAND, TEXAS 75040 • (214) 271-2461

2N3904 House No. TO-92. NPN.

VCEO-45. HFE 100 to 300 10 for $1.00

LS SERIES TTL

74LS00 —33c 74LS74 —49c

74LS02 — 35c 74LS90 — 69c

74LS04 — 35c 74LS138—89c

74LS08 — 35c 74LS154—1.49

74LS10— 33c 74LS173—1.10

74LS20 —33c 74LS3fa7—75c

74LS73 —49c 74LS368—85c

TERMS: Orders under SI 5. add 75c. No COD's. We accept VISA, MasterCharge and American Express Cards. Money Back Guarantee on all items! Texas Residents add 5% Sales Tax. WE PAY POSTAGE!

a9 ^*^*. •...••*•.••.•..••••.••.•.••.. .•..•••.i!iSSSSiSi£S.SiiS.iiSjS.SlS«S....... ...«••... ....^

•r^»S••••••••••••••••••••••••••••••••••••••••••••••••••••••••••■••••••••••••••••••••••••••••^

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••

Circle 39 on inquiry card.

BYTE Aprill 978 1 93

Wti3l's New?

SOFTWARE

Leisure Program Library for New Tl Calculators

Owners of the Texas Instruments Programmable 58 and 59 calculators (see December 1977 BYTE, page 204) can now enjoy recreational applications of their pocket sized cpmputers with the Solid State Software Leisure Library module. This plug In read only memory unit contains 2b different keystroke programs for golf handicaps, bowling scores, chess ratings, results of deals in duplicate or triplicate bridge, blackjack, acey deucy, craps, NIM, biorhythms, a spacecraft landing and a sea battle game, and other applications. Two programs use the alphabetic and plotting capabilities of the PC-100A printing cradle. The module is $35 from Texas Instruments Inc, Inquiry Answering Service, ROB 53 (attn: Leisure Library), Lubbock TX 79408."

Circle 574 on inquiry card.

FDOS III for ICOM Floppies

FDOS III is a new operating system for 8080 and Z-80 computers using any of ICOM's family of floppy disk drives and Interfaces. It Is compatible with programs written under FDOS II and has relocatable driver modules for file access. The system includes a string oriented text editor and a relocatable assembler for 8080 or Z-80 programs. Single commands provide for functions such as loading of files, editing and assembly, disk to disk, disk to punch and reader to disk lO. Files may be deleted, renamed or merged to create new files, and may be tagged with attributes to prevent deletion, for example. FDOS III Is available from Pertec Computer Corp Microsystems Division, 21111 Erwin St, Woodland Hills OA 91367, (213) 999-2020."

Circle 575 on inquiry card.

Complete ANSI FORTRAN Compiler for Z-80

This FORTRAN compiler Ihiplements full American National Standard FORTRAN IV with a number of extensions. Including one and two byte integers, double precision reals, complex, logical and string data types, named COMMON, sequential and direct access 10, and hexadecimal constants. A full library of scientific and string functions is provided, and a linking loader with automatic library search capabilities can • link FORTRAN with assembler programs. Generated code can be placed in read only memory, and the package may be used optionally with a planned hardware multiply and divide module for greater speeds of execution. The compiler runs in 24 K bytes of memory In both FDOS IV and CP/M versions. It Is available on floppy disk with a user's manual for $349 from Technical Design Labs, Research Park, BIdg H, 1101 State Rd, Princeton NJ 08540,(609) 921-0321."

Circle 576 on inquiry card.

A FORTRAN Compiler for 8080s

Microsoft, 300 San Mateo NE, Suite 819, Albuquerque NM 87108, has just prepared a brochure on their FORTRAN-80 package, summarizing the features of the compiler for 8080 processors. User's guides for the FORTRAN-80 compiler, MACRO-80 assembler, LINK-80 loader and LIB-80 library packages are available for a price of $20 each. Single user price for the FORTRAN-80 compiler Is $500. Versions are said to be available for CP/M, ISIS-II, DTC Microfile and MITS DOS floppy disk operating systems. Write the company for complete details or phone Steve Wood, (505) 262-1486."

Circle 578 on inquiry card.

Where Do New Product Items Come From?

The information printed in llie new products pages of BYTE is obtained from "new product" or "press release" copy sent by tlie promoters of new products. If in our judgment the neat new whizbang gizmo or save the world software package is of interest to the personal computing experimenters and homebrewers who read B YTE, we print the information in some form. We openly solicit such information 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.

TDL^'ersion 3.0 "Super BASIC"

Technical Design Labs has Introduced Version 3.0 of "Super BASIC," a 12 K BASIC Interpreter. Version 3.0 upgrades and supersedes Version 2.1 with Improvements In speed and error handling features. Included with the announcement of this improvement was The 12 /f BASIC User's Manual of approximately 70 pages In length.

Version 3.0 of Super BASIC provides programmable error handling that allows the user to specify special erroriiandling ■ routines processing any error occurring In the basic program without aborting the program. In addition, the ERR and ERL functions are available to provide further flexibility In error processing.

Version 3.0 of Super BASIC allows for the serial input and output of data from the firm's Zapple Monitor defined reader and punch devices. This data may be In ASCII (using. INPUT and PRINT commands), or in binary (READ and WRITE). For noncontrolled reader/ punch deviceSj a high speed binary mode Is provided (MLOAD and MSAVE). During data Input, end of file detection Is provided through the OH EOF GO TO construct.

Version 3.0 provides the VARADR function which allows the address of a particular variable to be passed to an assembly language routine through the CALL statement. This allows routines to return data to the calling program.

Version 3.0 also has a provision to associate arbitrary file name strings with LOAD, LOADGO, and SAVE commands.

Version 3.0 of Super BASIC is being released for use with the CP/M disk operating system and is expected to be available soon in a serial paper tape version.

As with all TDL software it is relocatable and uses the monitor's operating system for its 10 handling. It comes with the user's manual and occupies 12 K of core. Although primarily designed to run on TDL's Z-80 microcomputer system, it is adaptable to other systems which use the ZIlog Z-80 processor. Super BASIC Version 3.0 is on a diskette and is a part of TDL's Software Package A which consists of Version 3.0, The Macro Assembler 2.2, Z-TEL Text Editing Language and the Text Output Processor. This entire package is available now for $249.

For further information contact Technical Design Labs, Research Park, BIdg H, 1101 State Rd, Princeton NJ 08540, (609) 921-0321."

Circle 577 on inquiry card.

Correction

The price of the Equinox 100 computer system Is $799, not $699 as we stated In the new product release on page 172 of the January 1978 Issue. Our thanks to Linda Hall of Parasitic Engineering for calling this to our attention.

194 April 1978©BYTE Publications Inc

ELECTRONIC SYSTEMS

». box 212 Burllngame OA 94010

(408)374-5984

UART

&BAUD

RATE

GENERATOR

Part no. 101

• Converts serial to parallel and parallel to serial

• Low cost OH board baud rate generator

• Baud rates: 110, 150, 300, 600, 1200, and 2400

• Low power drain +5 volts and -12 volts required

• TTL compatible

• All characters contain a start Int, 5 to 8 data bits, 1 of 2 stop bits, and either odd or even parity.

• All connections go to a 44 pin gold plated edge connector

• Board only $12.00; with parts $35.00

8K

STATIC RAM

Part no. 300

• 8K Altair bus memory

• Uses 2102 Static memory chips

• Memory protect

• Gold contacts

• Wait states

• On board regulator

• S-100 bus compatible

• Vector input option

• TRI state buffered

• Board only $22.50; with parts $160.00

RS-232/TTL INTERFACE

Part no. 232

• Converts TTL to RS-232, and converts RS-232 to TTL

• Two separate circuits

• Requires -12 and +12 volts

• All connections go to a 10 pin gold plated edge connector

• Board only $4.50; with parts $7.00

DC

POWER SUPPLY

Part no. 6085

• Board supplies a regulated +5 volts at 3 amps., -)-12,-12, and -5 volts at 1 amp.

• Board has filters, rectifiers, and

regulators

• Power required is 8 volts AC at 3 amps., and 24 volts AC C.T. at 1.5 amps.

• Board only $12.50

TIDMA

Part no. 112

• Tape Interface Direct Memory Access

• Record and play programs without bootstrap loader (no prom) has FSK encoder/decoder for direct coimections to low cost recorder at 625 baud rate, and direct connections for inputs and outputs to a digital recorder at any baud rate.

• S-100 bus compatible

• Comes assembled and tested for $160.00

TAPE Part no. Ill

INTERFACE

• Play and record Kansas City Standard tapes

• Converts a low cost tape recorder to a digital recorder

• Worlts up to 1200 baud

• Digital in and out are TTL-serial

• Output of board connects to mic. in of recorder

• Earphone of recorder connects to input on board

• Requires -^5 volts, low power drain

• Board $7.60; with parts $27.50

• No coils

Part no. 107

RF

MODULATOR

• Converts video to AM modulated RF, Channels 2 or 3

• Power required is 12 volts AC C.T., or +5 volts DC

• Board $4.50; with parts $13.50

APPLE I

MOTHER

BOARD

Part no. 102

• 10 slots — 44 pin (.156) connectors spaced %" apart

• Connects to edge connector of computer >

• Pin 20 and 22 connects to X & Z for power and ground

• Board has provisions for bypass capacitors

• Board cost $15.00

TELEVISION TYPEWRITER

Plart no. 106

• Stand alone TVT

• 32 char/line, 16 lines, modifications for 64 char/line included

• ParaUel ASCU (TTL) input

• Video output

• IK on board memory

• Output for computer controlled curser

• Auto scroll

• Non-distructive curser

• Curser inputs: up, down, left, right, home, EOL, EOS

• Scroll up, down

• Requires -h5 volts at 1.5 amps, and -12 volts at 30 mA

• Board only $39.00; with parts $145.00

MODEM

Part no. 109

• Type 103

• FuU or half duplex

• Works up to 300 baud

• Originate or Answer

• No coils, only low cost components

• TTL input and output-serial

• Connect 8 ohm speaker and crystal mic. directly to board

• Uses XR FSK demodulator

• Requires +5 volts

• Board $7.60; with parts $27.50

To Order:

Mention part number and description. For parts kits add "A" to part number. Shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISA number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5% for tax. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included with all products. Deder inquiries invited. 24 Hour Order line: (408) 374-5984. ^21

Circle 44 on inquiry card.

BYTE April 1978 195

Whal's New?

PERIPHERALS

Hexadecimal Keyboard for Micro Designer

Two hexadecimal data entry and display ' keyboards are now available for the Mini-Micro Designer (MMD-1) microcomputer trainer. 16 hexadecimal digit keys and eight function keys are provided, allowing the user to examine or modify memory or registers and control program execiition. Also included is an Interconnection cable, a hexadecimal conversion ROM chip to replace the ROM on the MMD-1, and an instruction manual. The MMD/ HEX-1 keyboard is $105 in kit form and $125 assembled, while the MMD/ HEX-2, which includes two LED hexadecimal digit displays with provision for four additional digit displays, Is $165 in kit form or $185 assembled, from E & L Instruments Inc, 61 First St, Derby CT 06418, (203) 735-8774."

Circle 646 on inquiry carcJ.

Video Board Offers 80 Cliaracter

Display and Graphics

This video display ' board provides

two pages of its own display buffer

memory, each with 25 rovirs of 80 characters each. The character set includes 96 upper and lower case ASCII characters with descenders, and 64 graphic display symbols which permit a graphic resolution of 160 horizontal by 75 vertical points. The buffer memory can be loaded at a rate of 400,000 characters per second. A hardware blinking cursor is provided, and a mode register allows other characters to blinlc. The device consists of two boards, one piggybacked on the other, and occupies one- card socket in an Altair (S-100) bus compatible system, but takes up the space of two cards. The board is $349 in kit form or $449 assembled, from Technical Design Labs, Research Park BIdg H, 1101 State M, Princeton NJ 08540, (609) 921-0321."

Circle 647 on inquiry card.

Printer Made in Switzerland

This alphanumeric printer should be of special interest to our European

readers. It prints 21 characters per line (with options for 32 or 40 characters) at a rate of 2 lines per second from a set of 64 ASCII characters, in response to a 6 bit parallel, CMOS or TTL compatible input signal. Printing is done on metallized, electrosensitive paper using a mobile head with seven electrodes to form dot matrix characters. Busy, blank, data request and end of line signals are also provided on the 32 pin DIN 41612 connector. Space on a printed circuit board is provided for up to 24 wire wrap sockets, for special interfaces. The MP 580 printer is offered as a module for a 19 inch (48.3 cm) frame for 1380 Swiss francs (about $550), or in a case measuring 135 by 155 by 195 mm for 1480 Swiss francs, from Gertsch & Briitch AG, Hertistrasse 25, CH-8304 Wallisellen SWITZERLAND, telephone 01-830-1255."

Circle 648 on inquiry card.

New Low Cost Terminal

The LTL-lk terminal displays 80 characters by 24 lines from a 64 character (upper case only) ASCII character set on a 9 inch diagonal screen with P4 phosphor. A wraparound block seethrough cursor is provided with various cursor control functions operated by control codes. The detached keyboard includes 53 keys, with 2 key rollover and N key lockout. The terminal communicates over an RS232 interface at any of eight data rates ranging from 110 to 19,200 bps. The LTL-1 k is priced at $695 from Cybernex Ltd, POB 9086, 111-2595 Biackwell St, Ottawa, Ontario CANADA KIG 3T8, (613) 741-1540."

Circle 649 on inquiry card.

Computerize Your tHouse with This Remote Control System

The Introl system allows your computer to remotely control electrical appliances and other equipment by sending signals over the 110 VAC power lines. The system consists of an Altair (S-100) bus compatible AC controller board which can turn on and off up to 64 remote units anywhere in a building. The AC Remote unit has two independently controllable AC sockets which can each turn on and off a 500 W appliance. The computer can also poll the remote unit to check its on or off status. Programs can easily be written in BASIC or assembly language to control remote devices. Future compatible remote units include a dual temperature sensor for solar heating control and other applications, and an 8 input status monitor. In kit form the AC Controller is $149 and each AC Remote unit is $99, from Mountain Hardware Inc, POB 1133, Ben Lomond CA 95005, (408) 336-2495."

Circle 650 on inquiry card.

196 April 1978©BYTE Publications Inc

DIODES/ZENERS

1N914

lOOv

TOmA

nc ■UD

8-pin

pcb

OK .ZD

WW

.40

1l\400o

600v

■f A

1A

■Uo

14-pin

pcb

WW

\ IN'HJU/

1 nnn»#

lUUUV

1 A

1

16-pin

pcb

.25

WW

4n

1N4148

75v

' 10mA

.05

18-pin

pcb

.25

WW

.75

1N753A

6.2v

z

.25

22-pln

pcb

.45

WW

1.25

1 N/OOA

1 f\ti

1 uv

z

24-pin

pcb

.35

WW

1 in

1. 1 u

1N759A

12v

z

.25

28-pin

pcb

.35

WW

1,45

1N4733

5.1v

z

.25

40-pin

pcb

.50

WW

1.25

IN 5243

13v

z

.25

Molex pins .01

To-3 Sockets

.45

1N5244B 1N5245B

14v 15v

z z

.25 .25

2 Amp Bridge 25 Amp Bridge

100-prv 200-prv

1.20 1.95

SOCKETS/BRIDGES

TRANSISTORS, LEDS, etc.

2N2222A NPN (2I\I2222 Plastic .10) .15

2N2907A PNP .15

2N3906 PNP (Plastic) .10

2N3904 NPN (Plastic) .10

2N3054 NPN .35

2N3055 NPN 15A 60v .50

T1P125 PNP Darlington .35

LED Green, Red, Clear, Yellow .15

D,L.74; 7 seg 5/8" High com-anode 1.95

XAN72 7 seg com-anode (Red) '1.25

MAN71 7 seg com-anode (Red) 1.25

MAN3610 7 seg com-anode (Orange) 1.25

MAN82A 7 seg com-anode (Yellow) 1.25

MAN74A 7segoom-cathodB (Red) 1.50

.FND359 7 seg com-cathode (Red) 1.25

4069 4071 4081 4082 MC14409 MC14419

.40 .35 .70 .45 14.50 4.85

CMOS

- T T

L

lUUu

1 K

7400

.15

7473

.25

74176

1.25

74H72

.45

74S133

.40

H\J\J 1

1 R

7401

.15

7474

.30

74180

.75

74H101

.75

74S140

.55

on

7402

.20

7475

.35

74181

2.25

74H103

.75

74S151

.30

AnnA

j.yb

7403

.20

7476

.40

74182

.95

74H106

.95

74S153

.35

>innc 4UUo

.95

7404

.15

7480

.55

74190

1.75

74S157

.75

.35

7405

.25

7481

.75

74191

1.05

74 LOO

.25

74S158

.30

Anno

.95

7406

.35

7483

.95

74192

.75

74L02

.25

74S194

1.05

Anna

.45

7407

.55

7485

.75

74193

.85

74L03

.30

74S257 18123)

1.05

4U 1 U

7408

.25

7486

.25

74194

1.25

74L04

.30

A^^^ 1 1 1

7409

.15

7489

1.35

74195

.95

74L10

.30

74LS00

.25

Am 0 H U 1 z

OCX

7410

.10

7490

.55

74196

1.25

74L20

.35

74LS01

.35

7411

.25

7491

.95

74197

1.25

74L30

.45

74LS02

.35

AM A

QK

7412

.30

7492

.95

74198 .

2.35

74L47

1.95

74LS04

.30

An^ EI

7413

.35

7493

.35

74221

1.00

74L51 ^

.45

74LS05

.45

*HJ ID

7414

1.10

7494

.75

74367

.85

74L55

.65

74LS08

.25

Am 7

1 1 n

7416

.25

7495

.60

74L72

.45

74LS09

.35

Am o 4Uio

1 1 n

7417

.40

7496

.80

75108A

.35

74L73

.40

74LS10

.35

Kn

7420

.15

74100

1.15

75110

.35

74L74

.45

74 LS11

.35

4020

.OO

7426

.30

74107

.35

75491

.50

74L75

.55

74LS20

.25

4021

1.00

7427

.45

74121

.35

75492

.50

74L93

.55

74LS21

.25

4022

.85

7430

.15

74122

.55

74L123

.85

74LS22

.25

4023

.25

7432

.30

74123

.55

74H00

.15

74LS32

.40

4024

.75

7437

.30

74125

.45

74H01

.25

74S00

,35

74LS37

.35

4025

.30

7438

.35

74126

.35

74H04

.20

74S02

.35

74LS40

.45

4026

1.95

7440

.25

74132

1.35

74H05

.20 ,

74S03

.30

74LS42

1.10

4027

.50

7441

1.15

74141

.90

74H08

.35

74S04

.30

74LS51

.50

4028

.95

7442

.45

74150

.85

74H10

.35

74S05

.35

74LS74

.65

4030

.35

7443

.65

74151

.65

74H11

.35

74S08

.35

'74LS86

.65

4033

1.50

7444

.45

74153

.75

74H15

.45

74S10

.35

74LS90

.95

'4034

2.45

7445

.65

74154

.95

74H20

.30

74S11

.35

74LS93

.95

4035

1.25

7446

.95

74156

.95

74H21

.25

74S20

.35

74LS107

.85

4040

1.35

7447

.95

74157

.65

74H22

.40

74S40

.20

74LS123

1.00

4041

.69

7448

.65

74161

.85

74H30

.20

74S50

.20

74LS151

.95

4042

.95

7450

.25

74163

.85

74H40

.25

74S51

.25

74 LSI 53

1.20

4043

.95

7451

.25

74164

.60

74H50

.25

74S64

.20

74LSI 57

.85

4044

.95

7453

.20

74165

1.50

74H51

.25

74S74

.35

74 LSI 64

1.90

4046

1.75

7454

.25

74166

1.35

74H52

.15

74S112

.60

74LS367

.75

4049

.45

7460

.40

74175

.80

74H53J

.25

74S114

.65

74LS368

.75

4050

.45

7470

.45

74H55

.20

74C04

.25

4066

.95

7472

.40

74C151

2.25

9000 SERIES 9301 .85 95H031.10 9309 .35 9601 .45

9322 .75 9602 .45

MICRO'S, CPU'S, 74S188 1702A MM5314 MM5316 2102-1 2102L-1 TR1602B

RAMS, ETC.

3.00 4.50 3.00

3.50 1.45 1.75 4.50

TMS 4044-45NL 14.50

8080AD 8T13 8T23 8T24 8T97

2107B-4, A 2708

12.00 1.50 1.50 2.00 1.00 4.00

11.50

IVICT2 .95

LINEARS, REGULATORS, etc.

8038 3.95

LM320T5

1.65

-LIVI340K15

1.25

LIVI723

.50

LIVI201 .75

LM320T12

1.65

LM340K18

1.25

LM725N

2.50

LM301 .45

LM320T15

1.65

LM340K24

.95

LIV1739

1.50

LIVI308 (Mini) .95

LIVI324N

.95

78L05

.75

Ll\/I741(8-14).25

LIVI309H .65

LIVI339

.95

78L12

.75

LIVI747

1.10

LIVI309K (340K-5>85

7805 (340T5)

.95

78L15

.75

LiV11307

1.25

LIVI310 1.15

LIV134GT12

1.00

78M05

.75

LIVI1458

.95

LfVI31 ID(Mini) .75

LIVI340T15

1.00

LM373

2.95

LIV13900

.50

LIVI318(Mini) .95

LIV1340T18

1.00

LI\/I380(8-14PIN).95

LIVI75451

.65

LM320K5(7905)1.65

LM340T24

.95

Ll\/I709 (8,14 PI N).25

NE555

.50

LIV1320K12 1.65

LIVI340K12

1.65

LM711

.45

NE556

.95 .95

NE565

INTEGRATED CIRCUITS UNLIMITED

NE566 NE567

1.75 1.35

7889 Clairemont Mesa Boulevard, San Diego, California 921;! 1

(714) 278-4394 (Ca/if. Res.) All orders shipped prepaid No minimum

Open accounts invited COD orders accepted

Discounts available at OEM Quantities California Residents add 6% Sales Tax All IC's Prime/Guaranteed. All orders shipped same day received. 24 Hour Toll Free Phone 1-800- 854-2211 American Express / BankAmeriGard / Visa / MasterCharge

SPECIAL DISCOUNTS

Total Order Deduct $35 -$99 5% $100-$300 10% $301-$,1000 15% $1000-Up 20%

Circle 57 on inquiry card.

BYTE April 1978 197'

What's New?

Digital Pulser Delivers High Current

The DP-1 monitors the node being probed and sets itself to deliver a pulse at the other logic level of 50 mA in CMOS mode or 100 mA in TTL mode. The pulse pushbutton sends a single pulse if pushed once, or trains of about 100 pulses per second if held down. Pulses are monitored by an LED. The DP-1 obtains its power from the system under test, and the power connector is a standard phono plug. The DP-1, which is one member of a family of digital troubleshooting hardware which the manufacturer calls -The Logical Force, is priced at $74.95 from Continental Specialties Corp, 44 Kendall St, New Haven CT 06509, (203) 624-3103."

Circle 657 on Inquiry card.

Use These Cassettes for Reliable Tape lO

The Pilon-30 dat^ cassette incorporates several of the features of higher priced digital cassettes to provide Increased reliability for audio cassette recording of digital Information at a reasonable price. A principal Improve

ment is a pilon coated pressure pad which assures low frlctfon tape movement across the head and eliminates the typical lint producing fiber pad. The pad leaf spring in ordinary cassettes has been replaced by an energy absorbing foam spring, which dampens oscillations that are sometimes induced in the spring of the tape drags across the pad. The cassette incorporates 150 feet of low noise, lo\y dropout polyester tape In a 5 screw housing which eliminates the case deformation which sometimes occurs when the case is thermo-compresslon sealed. Data, storage capacity is 50,000 bytes at 300 bps or 200,000 bytes at 1200 bps. The Pilon-3t) is priced at $2.49 and is available through computer stores or direct (minimum order S cassettes) from PerCom Data Company Inc, 318 Barnes, Garland TX 75042, (214) 276-1968."

Circle 656 on inquiry card.

Money Management Kit from Tl

Continuing its efforts to educate consumers in the use of calculators and computers for everyday problem solving, Texas Instruments has introduced a new personal money management kit, consisting of a 100 page book. Doing More with Your Money, .and a Tl Money / Manager calculator. The book is Intended for people not highly-skilled in financial mathematics, and is organized to give quick answers to common financial problems. The book begins with a chart giving the "answer you need," "information you have" and "page to see." The calculator has several preprogrammed financial routines as well • as the common arithmetic, memory and percent functions. The package is $21.95 from Texas Instruments Inc, POB 5012, ' Dallas TX 75222, (214) 238-2011."

Circle 651 on inquiry card.

The Classic Kit for TV Set Conversion

Long available for video camera and tape (ecorder experimenters, the PixeVerter has become very popular with computer hobbyists and is now sold by more than 100 computer stores across

New Pocket Calculator Features Built-in Printer

The HP-19C, a printing version of the HP-29C introduced earlier, is the first pocket calculator with a built-in thermal printer. The calculator also features continuous memory whose contents are not lost when power is turned off. The keystroke programmable HP-19C includes 98 fully merged program steps, 30 data storage registers, and a full set of editing and programming functions such as insertion and deletion of program steps, a total of ten decision tests, ten addressable labels, indirect addressing and three levels of subroutines. The printer can be used to create a permanent record of computed results, to make listings of programs in mnemonic form, and to trace execution during program debugging. The continuous memory feature makes it possible to retain the program, 16 of the 30 data storage registers, and the display register when power is turned off. As many as four keystrokes can be merged into one program step, so that programs of 175 keystrokes can typically be entered. The HP-19C is $345 from Hewlett-Packard Company, 1507 Page Mill Rd, Palo Alto CA 94304, (415)493-1501."

Circle 655 on inquiry card.

the US. When modulated by a standard composite video signal between .25 and 5 V, it generates a VHP television signal which can be fed into the antenna terminals of a TV set and used on any black channel between 2 and 6. Because of bandwidth limitations in the TV set, only a limited number of characters per line can be displayed. The device is assembled on a 1.25 by 2.1 inch printed circuit board and requires less than 3 mA at 5 V. The Pixe-Verter is $8.50 postpaid from ATV Research, 13th and Broadway, Dakota City MB 68731, (402)987-3771."

Circle 658 on inquiry card. ,

198 April 1978 © BYTE Publications Inc

FOR ALL CUSTOMERS EXCEPT CALIF. CALL TOLL FREE 800-421-5809

410D

Siiiic Bams .MtorS6.7S«.

5671AP Chdiactfi Gen. 5 tor 510.00 ei.

4096

Dynamic Rams 100 for S3.S0 ea.

DM6131N

100 (or $2.25 ea.

TMS-4027 Ovnamic Rana 100 for $3.60 Ba

21L02 MSOntI Static Hams 100 lor Sl.lOea.

1702A E-PROM Bfor $3.7&ei

6502

MicroprocettOT Bfor $11.00oa.

2708 (450ns)

E-PROM

Sfot Si 1.00 ea

21L02 |250ni) Sialic Rams 100 tor SI.36 ea.

z^aoA

Microptc S (or S36.00 ta.

8312

a Bit 1/0 Port TSIot S3.0O>i.

4116(200nt) I6K Dynamic Ram loi Appli: Usuri 16 tor $24.00 ea.

Z-SO

Miaoiifoceslor SlorS20.00lia.

,8224-4

Cloclt Gar). & Dvi. 2Slor S&75ea.

7435-' ' Hax Bolter TS 100 lor .70< ea.

74368

Hea Imrerter TS 100 loi. .70< aa.

741.S367 Hex Buller 100 lor .7U

251315»l Cturacler Gen. Slor $9.00 <a.

MICROCOMPUTER COMPONENTS

MiCROPROCeSSOR'S

PROM'S

DYNAMIC

RAMS

F8

Z80

1696 t 2200*

1)02A

7704

770fl

A 00 1 1'jOO t 12 00 t

STATIC RAMS

1 16

17- 63

64 «p

41HU/41IG 1103

37 00 1 00

Z80A

28.00)

174

1 ISt 1 36i

3104

4()0

CDPI80?CO

1996)

2JI6 lb'12n

■TdOO t

?ao?

160

1 16

3I07H

4,25

»G0

24 96 NEW

2716 l6vtrN7

38 00 NEW 20 60 NFW

1 76

1 GO

1 bOi

31076 4

3 96

AMI90I

22.96

2758 I5vl

4t(m

10 75

1000

0 261

TMS405fl

400

6503

f?26i

D3U0I

03604

5703AQ

b704AO

6834

1 00

13 00 mw

IIDIA

1 00

90

TMS4060

460

6800

1896*

7101 1

3.95

2 76

260

rM84070 3

.1200

MEW

680?

7600 »EW

2103

1 76

1 lb

1.00

4096

4,0Q.>

80061

9,961

nuo

7102 1

1 40

1.3b

1 10 •

4116 '4I6D

32.00

8036

7700 NEW

W bOi

2111 1

-395

3b0

3 2bt

MM6770

4.60

e060A

1196*

6834 1

14 05 400

2112 1

7 9b

280

2 09

MCM()60b

60fl

B08S

27.00 NEW

B2S33B 6261298 82236

7114 :t

11 00

1000

9 7b.

TMSB600TL

67-00

4 75 360*

2125L 714/

11 10 37 50

900

8 30 NEW NEW

USRT

31L01

7 bO

7 3b

200

B080A SUPPORT DEVICES

3106

395

3 IQ

3 7b

S?3bO

10 76

B?l? B7I4

B?Te

360 1

6800 SUPPORT

3107

3.95

3 10

11 7b

fiStOP

4 9b

TM5 404414 bi

9 95

900

B9b NEW

UART'S

900 t 3 75 t

fiSBlOP

fiOO NEW

4200A > TMfi 404b(4b' 5101 /4C89

12 95 1 1 00 H.30 3 25 2.75 450

1 1 95 10 00

1 1 00 t ') 2b

AYb 1013A

6 26

B2?4

360 <

D870P

/50 t

/ 2b 1 2 8b

AV5 1014A

8.36 t

tlSb t

0821P

/bO NEW

3 05

TR16026

626

B226 B??B

3 Ob NEW ' <I5 t

6828P 683'IP

11 7'j

748!} 745701

2 10 ■1.00

1 90 3 75

TMseott

- IM&402

6.06 10.80

B23B 8251 B?53 B7bb 6757 8750

JW t 9 05 • 21 95 t ?1 96 . 71 9b t ?] 9b 1

08bOP C857P 0860P fiB62P (iH7lP 08/bP

'.) 'b . II /5 1 lUOU t Ifl bO t 78 00 NEW

8 /b Nrw

PRIOI P8156 P8I66 ^ RSgB B102BPr

4 70 17.00 21.00 1.88 166

3.40 14.00 1600 1.76 146

^flO NEW NEW NEW

160 130

rM6403 10 80

MISC. OTHER COMPONENTS

NUT 20 3 39 .

R375

20 00 N£W

CSflOP

7 bO i

NaT2G

7 10

am

700(1 NEW

CHARACTER GENERATORS

N8195 NSTW

1 3'> 1 35

FLOPPV Disc CONTROLLER

Z80 SUPPORT DEVICES

2b Ki

^6.'6

1 3b

i7;iB

bbnb

3BSI

12 Ob

2513 7513

q:75

9:75 1

^37 98 ^111^95

1 35 7 00

i; 718-01

6/ !Jb »

3887

1?!)!)

?bl3 ?5tfi

10.65 1 15.95 NFW

8ILSI17 U88

7 0(1 1 7b

tV GAME CHIPS

SHIFT REGISTERS STATIC "ir^SfJI.

10.06 10.96

1489 n330b

■1 00

NLW

7blBB 7633V1 TM83Q0? TM53U2 MMS066

.1 !!!■ 2 00

1 on

.<.!ib

30(1

MCM6674

13.75 •

r>32DTA

4.55

KEVBOARD CHIPS

AY5 2376 1.1 /ti i

Mi:M6675

WAVEFORM GENERATOR

13.26 1

1)3208A (J32n H3222 B324 7 03345

14 70 10.00

f) 70 10 15

5 00

NtW NEW NEW NtVV NEW

AVB 3600

13 !l t

KIM

m)3R

M(:4074

3.501 7.36t

r.3404 P3408A

6./b 1200

FIFO 334IA

nbo

(1107 CbO? Gb7n

HOO NHV n iib .

m\

CLOCK CHIPS

160t

P4201A MM6330 MM6369 TMSbbOl

b20 7 50 1 90 D4.0b

28130

IBPSt ■

Gb7? Gb30

;i 7E>

MM63lt

6-!)6

UMB130

290

lb Ob

MM6313

6.95

DMB13I

7 76

F-8 SUPPORT DEVICES

Gb30 do:'

MM&314

6.96

0U8B33

3 50

3851 3853

13 961 1396 *

6b30 nn.3 6630004 6630006

tbflb IbPb

F.iM63t|{ MM5376 CT/OOl

6.95 696 6.00

DU8835 DMa837 UK 50340 MK50350

3b0 350 20 Oil

ibtm

Nttt , NEW

THE PROM SETTER

• WRITE and READ EPROM

1702A-27O8-2716 5204-6834

• Piujis nirrrlly tnlo ynur ALTAIR IMSAI Cnmnulpr

• Ini iiitlfs Miitn Module Board and Bxlerna) KPROM Si.i:krl Dnil

• Thp RPRdM Socket IJnil is connpotert lo the Cnmputpr ihniUfih ii 25 Pin f^nnnpclor

• PrDKriimminji is nccnniptished by Ihe (^umpuler

• lusl Hf'fld in ihp Pmsram lo hp Written on Ihe KPROM inld your Proressnr and lel Ihe Compuler

(1(1 ihp rpsi

• [!•;(' Sni ki'i iinii lo Read EPROM's Cnnlenis into v'liir C(iin[Milpr

• Siiflv\Hrr inrlurifld

• \(t Kxlrrnril Pnwpr StippltPS, Ynur Compuler doei

II xll

• i)»iilil<'-. ,>5 ,in KiRhl Bil Parallpt I'O

• M.inii.il includpd

THE PROM SETTER KIT ASSEMBLED $210.00 $375.00

Till

VIDEO INTERFACE

Video

You will want to know about the TV to Televisior Interface Kit. No need to buy a separate Video Monitor if you already own a TV set. Just connect tfie TV-1 between your system video output and the TV set antenna Terminals - that's all there is lo it - TO conven your TV set to a Video Monitor, and at a much lower cost! PRICE $8 95

PERSCI DISK DRIVE FOR &100

COMPLETE Info 2000 S-100 DISK SYSTEM (includes'dual drive, power supply, case, intelligent controller, adapter, cables, and disk monitor on EPROM) ^2 g50 QO

COMPLETE TDL SOFTWARE'

PKG. FOR DISK $195.00

MOTHER BOARD

• 13 SLOT MOTHER BOARD w/front

panel slot

• S-100 DESIGN

• FULL GROUND PLANE ON ONE SIDE

• RC NETWORK TERMINATION ON

EVERY LINE EXCEPT PWR & GRD

• KLUGE AREA

• STRONG 1/8" THICK DOUBLE SIDED

BOARD

BARE BOARD S3S.00 KIT $95.00

JADE 8080A KIT

$100.00 KIT BARE BOARD $35.00

JADE PARALLEL/SERIAL

INTERFACE KIT

s.,00 $124.95 KIT

2 Serial Interfaces with RS232 interfaces or 1 Kansas City cassette

interface.

Serial interfaces are crystal controlled. Selectable baud rates. Cassette works up to 1200 baud. 1 parallel port.

8K STATIC RAM BOARD

ASSEMBLED AND TESTED

250ns. $189195 450ns. $14975

WILL WORK WITH NO FRONT PANEL

FULL DOCUMENTATION

FULLY BUFFERED

S100 DESIGN

ADEQUATELY BYPASSED

LOW POWER SCHOTTKY SUPPORT IC S

KIT

250ns. $169.95 450ns. $129.95

BARE BOARD $25.00

WTSCHEMATIC ^ ■ vrw

ADAPT YOUR MOTOROLA

SYSTEM TO OUR 8-100 8K ^AM ^ARD. KIT PRICE $12.95

IMSAI/ALTAIR 1

COMPATIBLE

S-lOO

jadeZ80„,.

-with PROVISIONS for |\|| ONBOARO 270B ariO POWER ON JUMP

$135.00 EA. $149.95 EA,

BARE BOARD $35.00

MICROBYTE

32K STATIC

YES

YES

YES YES

we have thePHANTOM Imi if you need it

we have extra vddren lines if you want to sw-iich ba.iks lor mo(ethan65K memory

this board is fully static no compromises, il vworhs with everyihing. DMA. Diik con troKeri, vou nime A'

this board it low power

we distribute Ihn power, wnh rune i..ounl 'em, nine) voltage regulaiori.

YES Its S100 bus compatible lot coursel

YES eech 4K block on the board cap be HpmtelyaddreuBtl anyyvhere iri mei^iorv

. It's fully assembled with sockets for all chips

il's solder me^ed end wave soldered iwe moved out of our garage long ago)

1. It's fast enough nu wail states l450ns

slandardi highti ipnd on request YES , (he price,iiright

32K ASSEMBLED AND TESTED

16K KIT (450ns)

It's tested, burned in and fully guaranteed ONLY

$775

EXPANDABLE TO 32K $335

JADE VIDEO INTERFACE KIT FEATURES $99.95

S-100 Bus Compatible 32 or 64 Characters per line 16 lines , _ ,

Graahics (128 x 4? .matrix) Parallel & Compositive video On boara low-power memory

Powerful software includedjor cursor, home, EOL, Scroll Graphics/ Character, etc.

Upper case, Jower caw & Greek BUick-on-white & white-on-black

Computer Products

5351 WEST 144Ih STREET LAWNDALE. CALIFORNIA 90760 (2131 679-3313

RETAIL STORE HOURS M F 9-7 SAT. 9-5 Oiicounts available at OEM quantities Add &17S for shipping. California residents add 6% sales tax

Circle 60 on inquiry card.

BYTE April 1978 1 99

IBUGBOOK®

Continuing Education Series ' Its

THE SS9 timeu appuutiims

SOURCEBOOK WITH EXPSUIIEIiTS bVHmritt.l««ii

tli^ bwh ilKm you «hil nt SSS umr 11 int Am Ifl Utt mduM M onr 1M nttous du^ UdNilqw*. ivHlilni md (6 Mi>> "iMy-U-w"

17400N TTL

SN7400N

.16

SN7472N

.39

SN74160N

1.25

SN7401N

.18

SN7473N

.39

SN74161N

.99

SN740eN

.20

SN7474N

.35

SN74162N

1.95

SN7403N

.20

SN7475N^

,50

SN74163N

.99

SN7404N

.20

SN7476N'

.35

SN74164N

.99

SN7405N

.20

SK747»^

5.00

SN74165N

.99

5N740eN

.35

SN7480N

.50

SN7416eN

1.25

SN7407N

.35

' SK74a2N

.99

SN74ie7r4

3.25

5N74UN

.20

SN74S3N

.70

SN74170N

2.10

SN740gN

.25

SN74SSN

.89

SN74172N

6.00

SN7410N

.20

SN74S6N

.39

SN74173N

1.50

SH7411N

.30

SN7466N

3.50

SN74174N

1.25

SN7412N

.35

SN748gN

2.49

SN74175N

.OS

SK7413N

.69

SN7490N

.45

SN74176N

.79

5N7414N

.70

SN7491N

,75

SN74t77N

.79

SN7416N

.35

SN7492N

.49

SN74179N

2.49

SN7417N

.35

SN7493N

.49

SN74180N

.99

SN7420N

.20

SN7494N

.79

SN74181N

2.49

SN742tN

.39

SN7495N

,79

Sn74182N

.05

SK7422K

.49

SN7496N

.79

SN74164N

1,95

5K7423N

.37

SN7497N

3.00

SN7418SN

1.95

SN74ZSN

,29

SN74100N

1.25

SN74186N

15.00

SN7426N

.29

SN74107N

.39

SN741S7K

6.00

SN7427N

.37

SN74109N

.95

SN74188N

3.95

SN7429N

.42

SN74116N

1.95

SN74190N

1.79

5N7430N

.25

SN74121N'

,39

SN74igiN

1,25

SN7432N

.25

SN74122N

.39

SN74192N

.89

SN7437N

.35

SN74123N

,50

Sr474193N

.89

SN7438N

,35

SN74125N

.60

SN74194N

1.25

SN743gN

.25

SN74126N

.60

St474ig5N

.75

SN7440N

-21

SN74132N

1.25

SN74196N

1.00

SN7441N

.89

SN74136N

.35

5N74197N

1.00

SN7442N

.69

SN74141N

1.15

SK74t06N

1,75

SN7443N

.75

SN74142N

2.95

SN74199N

1.75

5N7444N

.75

SN74]43N

3.25

SN74200N

S.S9

SN7445N

.i^

SN74144N

3.00

SN742S1N

SN7446N

.69

SN74145N

1.15

SN74279N

^90

SN7447N

.69

SN74147N

2.35

SN742e3N

2.25

5N744$N

:e9

SM7414SN

2.00

SN742e4N

6.00

SN7450N

.25

SN741S0N

1.25

SN74285N

6,00

5N74S1N

.25

SN741S1N

.ra

Slf74365N

.75

Stl7453N

.25

SN741S3N

.60'

SN74366fj

,75

SN74S4N

.25

SN74154N

1.25

SN74367N

.75

SN74&9A

.25

SN7416H*

.60

SN74368N

.75

SN7460H

.25

SN74156N

.»

SN7430aN

2,25

SN7470N

.45

SM741S^

.S9

6N74393N

2,25

2(hHll«auntlor100 Comtlned 7400':

CMOS

OMOOO

.23

CWOOI

.23

CD<002

.23

CD4U6

1.19

CDW7

.2S

com

.49

C0«10

.49

CIHOIt

.23

CD4012

.25

CD<Oia

.39

CO4014

1.39

CD401S

1.19

CD4016

.49

CD4017

1.19

CD40ie

.99

CD4019

-49

CO402tl

1.19

CD4021

1.39

CO4022

1.19

CD4D23

.23

CD4024

.79

CD402S

.23

CCM026

2.25

CO4027

.69

CD402B 004029

.99

CD4030

1.19 .49

CIH03S

.99

CD404O

1.19

004041

1.25

CD4042

.99

CD4044 CO4046 CD4047 CD4048 CO4049 CD4050 CD40S1 CD40S3 CD4056 CD40Sg

CD4066

C04069

CD4070

^4071

CD4072

CD4076

CD4061

CD4082

CD4098

MC14409

MC14410

MC14411

MC144ig

MCt4506

MC14507

CD4508

CD4510

CD4511

CD4515

CQ4518

lMSUOH

LM301H

LM301CK

LM302H

LM304H

LM305H

LM307CN

LM308H

LM308CN

LMSOOH

LAI309K

LM31KN

LMSIIH

LM311N

LM317K

LM31BCN

LM3igN

LM320K-5

LM320K-5 2

LM320K'12

LM320K-15

LM320T-5

LM320T-5,2

LM320T-6

LM320M2

LM320T-1S

' IM324N LM339N IM340K^ LM340K-6 LM340K-8 LM34nc-I2 LM340K-1S LU340K-16 LM340K-24 tW340T-5 LM34GT-6

.60 -35 1.00 1.00

LINEAR

LM340T-B 1-25 LM340T-12 1-25 LM340T-15 1.25 LM34aT-18 1.25 LM340T-24 1-25 LM3S0N 1.00 LU3S1CN 78MG LM370N LM373N LM377N LM3BDK LM3S0CM LM381N LM3B2N NE501K NE510A NE52gA NE531H NE536T NE540L " NE550N KE555V NE560B NES61B

1.75 1.15 3.25

3,00

NES6SH

NE56SN

NQ6eCN

NES67H

NES67V

LM703CN

LMTOgn

LM709N

lill710N

LM711N

IA»723H

IJyI723N

LM733N

5.00 1.75

CD4520

1,29

MC14562

14.50

004566

2.25

MC145e3

3.60

T4CD0 faritt

74COO

,39

74C02

-55

74D04

.75

74CI0

,65

74C14

3,00

74C20

.65

74C30

,65

74C42

2.15

74C73

1.50

74C74

1,15

74C;89

4.00

74C90

3,00

74C93

2,00

74C95

2,00

74C107

1.25

74C151

2,90

74C154

3,00

74C157

2,15

74C160

3,25

74C161

3.25

74C163

3.00

74C164

3,25

74C173

2-60

74C103

2,75

74C195

2,75

S0C95

1,50

80C97

1-50

LM73gN

1.19

LM741CH

,35

LM741CN

.35

LM741-14N

-39

LM747H

-79

LM747N

.79

LM748H

-30

LM74eN

.39

LM1303N

.90

LM1304N

1.19

LU1305N

1.40

LM1307N

.85

LM1310N

2.95

LM1351N

1,65

LM1414N

1.75

LM145aCf*

,59

LM1496N

.95

LM155GV

1,75

LM2111N

1,95

LH2901N

2,95

LM3053

1.50

LM3065N

,69

LM3900N(3401).49

LM390SN

.89

LM3909

1.25

LM5556N

1.85

MC5558V

1.00

LM7525N

.90

LM7S34N 803Sa

.75

LM75450

4,05

.49

75451CN

.39

754S2CN

.39

75493CH

.39

7S4S4CN

.39

75491CN

,79

75492CN

.89

75494CN

.89

flC4151

5.95

RC4194

5.05

(IC419S

3.25

74LSO0 74LS02 74LSD3 74LS04 74LS05 74LS0a, 74LS10 74LS13 741514 74LS20 74t.S2S 741S27 74LS2B 74LS30 74LS32 74LS40 74LS42 74LS47 74LSS1 74LS55 74LS73 74LS74

i74LS00 TTL

.35 74LS7e

.35 74LS83

.29 741865

^29 74LS86

.ffl 741590

1.75 74LS92

.29 74t^

.39 74t.S95

.30 74LS96

.39 74LS107

.29 74LS100

.39 74LS112

.39 741^23

1.25 74LS132

1.25 74LS136

.29 74tSt38

.29 74LSt39

.49 74LS151

1.25 1.25 1.25

74LS15S 74LS1S7 74LS160 74LS161 74LS1B2 74(^163 74LS1B4 7415175 74LSiei 74LS100 7418191 74LSt02 74LSt93 74LS194 74L5105 74LS253 741.S257 74LS260 74LS279 74LS367 7418366 74LS670

IfDSiSSRsTii ikitMHii.iiM|r,n

117.00 pir III

Sou It (Ml hnt 'liH booki HlftM 0m.9O imifmina Momd to Iht rudif 111 M Ml tMd D knowibout m iftiB di^M to un than juncUofl wlih inlcnptDnuet lyAm. Yov'lt laiffl ibotit the UiFc p)^^ (Hgmi fMnxM iAduding gttH, np-fkNU. UtchM, bum. ihcodm, muiH' pitnn, Mnuridplinn. LEO ditplm, RAM'i, ROM'i, tnd mucA. mudi imn.

BU&BODN rri ' Piur n. Rhiy, Dniil Q. LMM. VrMHTJ

4 you to M MulBU UUT Chip—Out d Ifflpwtant

t, Mc,.«

AmalauT Ridla.

tor Un haim iml iiHamoUh. phol^tl^ir. minie iml gniind

iM ns inMrtK* ttmUn). hiSeuliriy

lot any RTTY emiiytiul,

».H lUAUbKlli

k) PiMr II. Mn, IM4 0. Unn. WUHYi, JmuAm K TDh

KittitthiboalittiilputtHil togdhsr, Be*l<l*a hairing much viluiM ti Ihin in I ttriu ol upirfRwmt m which tht tMdtr cctniMtily nplnm 1 a060 dtip pki by pin md miDdinu you lo tht WiiV to mluocampuUr, inkitM MiftHMl mtMD. n U ncammantM Ihit you hava ma bac on tAt BUSBOOIQI ft II batom pracMUng Mh BUGBOOK ill.

INSTRUCTOR'S MANUAL

NKKiary tot iratruOlon ol Bugbook I ind II, Dxpgrinwnti, tugDtnioM lof hjilhaf rMBng. pf iIIbIM aHMfonlea. ft mim tor aaW-laKWnB Im

OP AMP MANUU

HIOUDKVimlVI S10.00 par nl

k(DHM e. Una*, Mr D- lls«r, JmMIu A. TIM

I Eipgrtmntt In digltil aladronln, 9080A mlcroeomputar ptDgnmrnlnp and BDSIA mtcroGonipBiar Maftaclng. An mtagiatsd appcoich lo Mf-initructAi (uuc dlpHil aMrwilc*, braidboanftng and SOSOA Innrladna/pnrgramnitnl) Bugbook VI Imagfatas iha dWIal coocipis ol Bugbook V Into a tiaatmani nt SOiOA micniconipulai ptggnmmtnp and Inlerladng, DeUII & labonlaty wparWunt* IndudaJ wWi aach toWi.

CMOS-M — OESIQMERS PRIMER AND HANDBOOK

Smti at bailc itruaura ot CMOB.flwteM i

s6.oa

COMPLETE MANUAL FOR DIQITAL CLOCKS by John WbIu and John Brooki

FamlliarizeB lachnician or hobbyist wllh basic theories behind digii^l clacks Inclndss trouble sHoolttll) guides. I^C characlartstics of docte. soldBrino iBChfitquas, clock component data slieeis nnd conslmction Hps. $3.W

SALE DISPLAY LEDS

SALE

TYPE

PQURITY

HT

PRICE

TYPE

pqumn

HT

PRICE

MAN 1

Convnon Anoda-red

,270

2,95

MAN 6680

Common Uthode-orBnae

.560

,79

MAN 2

5 X 7 Dot Matrtx-rofl

,300

4,95

MAN 6710

Common Anode-red-D.D.

.560

.79

MANS

Common CaDtode-tad

.125

4/$1

MAN 6730

Common Anode-red tt

.560

,79

MAN 4

Common Calhode-md

.187

1,95

MAN 6740

Commm CathodB-rad-D.D.

.560

,79

MAN 52

Common Anode-green

300

1.00

MAN 67S0

Common Cattmda-red ±\

.560

.79

MAN 71

Common Anode-rad

,300

1.25

MAN 67E0

Common Anode-nd

.560

,79

MAN 72

Common Anode-red

.300

,79

MAN 6780

Common Cattuda-red

,560

.79

MAN 74

Common Cathode-rsd

.300

1.50

DL70t

Common Anode-ied ±1

,300

1 DO

MAN 81

Common Anoda-yellow

.300

,79

DL702

Common Cathode-red

.300

1.25

MAN 82

Common Anode-yallow

,300

,79

D1704

Common CattiDde-ted

.300

.99

IMNB4

Common Cathode-yellow

.300

.79

DL707

Common Anode-ted

-300

.99

MAN 3620

Cominon Anode-onngB

.300

.79

DL741

Common Anode-red

.600

1,49

MAN 3630

Common AnodB-oianga ±1

.300

1.35

DL746

Common Anoda-red ±1

.630

1,95

MAN 3640

Cammon CaUioda-oiwioa

.300

.79

DL747

Common Anode-rad

.600

1,49

MAN 4610

Common Anoda-onngs

.300

,79

□L749

Common Cathode-red ±1

,630

1.95

MAN 4640

Common Cattwde-orangB

.400

.70

0L7S0

Common CalhBda-rad

.600

1.49

MAN 4710

Cammon Anode-red ^

.400

.«

Dias

Common Cathode-rad

.110 3/1.00

MAN 4730

Common AnodB-rad

.400

1.O0

mo7o

common Cathode (^0359)

.250

.60

MAN 4740

Common Calhode-red

,400

.79

FNDS03

Common Cittnde {R1D600)

.500

.99 .09

MAN 4810

Common Anoda-yeHow

.400

1.00

FND507

Common Anoda (FND510)

.500

MAN 6610

Common AnodB-orBnga-D,0.

,560

.79

5082-7300

4 X 7 Sgl. Dlj^-RHDP

.600

19.05

MAN 6630

Common Anoda-orangB

,560

.79

5082-7302

4x7&gL DIglt-LHDP

.600

19.95

MAN 6640

Common Catt»da-oranBe-D,0

,560

.79

5082-7304 5082-7340

Overranga charadar (±1) 4x7 Sgl. DIglt-Hexadecimel

15,00 22.50

MAN 6650 MAN 6660

Common Cathoda-oianoe ^1 Common Anoda-onnae

,560 ,560

.79 .79

.600 -600

RCA LINEAR

C43013

2.15

CA3082

2.00

CA3023

2.56

CA30B3

1.60

CA3035

2.48

CA3088

.85

CA3039

1.35

CA3089

3.75

CA304B

1.30

CA3091

3.50

CA3053

1,50

CA3102

2.95

CA3059

3-25

CA3123

2.15

CA30&0

3.25

CA3130

1,39

CA3080

.65

CA3f40

1.25

CA3081

2.00

CA3401

,49

CA3600

1,75

XR-2206KB Kit $19.95

WAVEFORM GENERATORS

XR-205 SB 40

XR-2206CP 5.50 XR-2207CP 3.M

EXAR

XR-2211CP

$6.70

STEREO DEC

ODERS

XR-4136

2.W

XH-1310CP

S3-20

XR-1468

3.85

XR-131DEP

3.20

XR-14&B

5.80

XR-180OP

3,20

XR-14B0

4.80

XR-2567

2,99

XR-2208

5.20

XR-2206KAKIt $14.95

TIMERS XR-555CP XH-320P XR-556CP XR-2556CP XR-2240CP PHASE LOCKED XR-210 XR-215 Xfl-567CP XR.567CT

S .49

3.20 4.B0 DLOOPS 5,20 6.60 1.95

IC SOLDEflTAIL

25-49 50-100

. LOW PROFILE (TIN) SOCKETS

e pm

16 pin tS pin 22 pm 14 pin 16 pin 16 pin 24 pin

10 pin 14 pin IG pin 18 pin

35 SOLDERTAIl STANDARD (TIN)

SOLDERTAIL STANDARD (GOLD)

1-24

25-^9

50-100

24 pin

S3B

37

36

28 pin

.45

.44

"\ .43

36 pin

.60

-59

.58

40 pin

-63

.62

61

2Spin

S 99

,90

,61

36 pin

1,39

1.26

1.15

40 pin

1.59

1.45

1.30

24 pm

S 70

.63

57

28 pin

1 10

1 00

90

36 Din

1 75

1 40

1 26

40 pm

1 75

1 59

' 45

L#3

22 pin

.95

.85

.75

24 pin

$1 05

.95

.85

26 pin

1.40

1,25

1 10

36 pin

1,59

1.45

1 30

40 pin

1.75

1-55

1 40

50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST.

ASST. 1 ASST. 2 ASST. 3 ASST. 4 ASST..5 ASST. 6

ASST. 7

ASST. BR

10 OHM

12 OHM

IS OHM

18 OHM

72 OHM

Sea.

27 OHM

33 OHM

39 OHM

47 OHM

56 OHM

1/4 WAH 5%

50 PCS.

68 OHM

82 OHM

100 OHM

120 OHM

150 OHM

S ea.

180 OHM

220 OHM

270 OHM

330 OHM

390 OHM

1/4 WAn 5%

SD PCS.

470 DHU

560 OHM

680 OHM

S20 OHM

IK

Sea.

1 2K

1 5K

1 8K

2 2t(

2 7K

1/4 WAH 5% =

SO PCS.

3 3K

3.%

4.7K

5 6K

6.SK

Sea.

8.2K

lOK

12K

I5K

18K

1/4 WAH 5% =

50 PCS.

22K

27K

33K

39K

47K

Sea.

56K

68K

S2K

100K

I20K

1/4 WAH 5% =

SO PCS.

150K

18(U(

22DK

270K

330K

Sea.

390K

47IH(

560K

6S0K

820K

1/4 w*n 6% =

60 PCS.

IM

1.2M

1,5M

ISM

2 2M

sea.

2.7M

3.3M

3.9M

4.7M

5.6M

1/4 WATT

50PCS.

Includes Resistor Assortments 1 -7 (350 PCS.) $9.95 ea.

Mir-U,S,niirii Only AU Vk lain Tit

SpBc Sheatt - 2Sc — Send 35c Stimp tor 1978 Milog

Dealaf Inlormalion Available ,

a

m

es

ELECTRONICS

1978 CATALOG

NOW AVAILABLE

10Z1-A HOWARD AVE., SAN CARLOS. CA. 94070 PHONE ORDERS WELCOME — |415) 592-8097 A(ivertlsed Prices Bood Thru April

WIRE-WRAP KIT — WK-2-W

WRAP . STRIP . UNWRAP

• Tool for 30 AWG Wire

• Roll of 50 Ft. Wlilto or Blue 30 AWG Wire

• 50 pes. eadi f", 2". 3" & 4" lengths prg-stripped wire.

$11.95

WIRE WRAP TOOL WSU-SO WRAP » STHIP « UHWmP-M.95

Wine WRAP WIRE — 30 AWG

25ft.min.$1.25 50tt.$1.95 100ft,$2.95 1000ft.$15,00 SPECIFY COLOR — White • Yellow ■ Red - Green - Blue • Black

WIRE DISPENSER — WD-30

• 50 ft, roll 30 AWG KYNAR wire wrap wire $3.45 ea.

• Cuts wire to desired length

• Strips 1" ot insulation Specify — Blue-Yellow-White-Rei

REPUCEMENT DISPENSER SPOOU FOR WD 30

Specify blue, yeUow, wtiite or red $1.98/ipool

Prime Inventory

''^401 SW7407 SW7416 SW7417 SW7420 SW7423 SW7'I25

SW7430 SW7432 SW7437 SW743fl SW7440 SW7443 SW7444 SW7J'15 SW7446 SW7«0 SW7<153 SW7'154 SWT'ieO SW7472 SW7475

clearance STEWART WARNER ^pf^

lOfmliL) in 1000 PM 10(niin.J 1O0 lOU

$1.20/101 $9,00/IC« S8O,00MSW7482 Um» 44.00M 430,Si/lol

2.20 10.00 •moo SW4S3 3.50 31.00 300.00 180.00 SWr40e 2.20

14.00 12.00 12,00

31 OO

31.00 31.00 36.00

160,00 SW74gi

100.00 SW7494 3,50

180.00 SW7495 3.50

130 00 SW7496 3,50

nO.OO SW74I00 6,90

110.00 SW74IW 2,20

110,00 SW74105 2,20

110,00 SW74107 2,20

ItO.OO SW74121 2,20

80,00 SW74123 2,50

300,00 SW74145 5.50

300,00 5W74150 6,90

300,00 SW74151 3,50

350,00 SW74153 ■1.00

80 00 SW7,1156 4 00

80 00 SW74™ 4 50

80.00 SW74181 9.90

00.00 SW74182 4 50

1B0.00 SW9601 2,50

300,00 5W9602 4 90

19.00 3i,oq

3100

31.00 31 00 56.00 1900

ig.w

19.00 19,00 22.00 51,00 66,00 31.00 36,00 36.00 41.00 9G.O0 41,00 22,00

180.00 300,00 300,00 300.00 3D0.M

650,ra

ISO.OO 180.00 2X.O0 500.00

350,00 350.00 400.00 950.00

SW7480 2,90 26,00 250,00

Pre-tubed • No mlxlns or combining prices

TV GAME CHIP SET — $7.95

Includes AY-3-8500-1 Chip and 2.010 mhz crystal (2.010 crystal - $.99 ea/AY-3-8500-1 Chip — S7.50 ea.)

TYPE

m;46

1N751A 1N752 1N753 1N754

1NS23G IN456 1N45e 1N4a5A 1N4001 1N4002 1N4003 1N40Q4

ZENERS

VOLTS W

3.3 400m

5.1 400ni 5,6 400m

6.2 400in 6,6 400m 6,2 400m 15 400m 5.S 500m 6.2 500m 6.8 SOOm 7.5 500m

50 PIV 1 AMP 100 PIV 1 AMP 200 PiV 1 AMP 400 PIV 1 AMP

DIODES —

PfllCE TYPE

4/1.00 1N4O05

4/1.00 1N4006

4/1,00 tN4007

4/1-00 1N3G00

4/1,00 1N4148

8/1.00 1N4154

4/1.00 1N4305

28 1M734

28 IN4735

26 1N4736

28 1N4738

6/1.00 1N4742

8/1.00 1N4744

6/t,00 1N1163

12/1.00 1N1184

12/1.00 ir41165

12/1.00 1N1186

12/1.00 iNiiea

RECTIFIERS

VOLTS W

600 PIV 1 AMP 800 PIV 1 AMP 1000 PIV 1 AMP 200m

10m 10m

12 15

50 PIV 35 AMP

100 PIV 35 AMP

150 PIV 35 AMP

200 PiV 35 AMP

400 PIV 35 AMP

6/1,00 15/1,00 12/1,00 20/1,00

1w

C36D C38M 2N232e MOA 960MOA 960

SCR AND FW I

ISA @ 400V 35A @ 200V

1,6A @ 200V 12A@ 50V 12A @ 200V

RECTIFIERS

SCR

FW BRIDGE REC, FW BRIDGE REC.

1,95

7mi "11.00

3/11.00 4111 00 JN2222* 5/11 00 2H236) 5/11 W iWimt. DO 7N24IM tfti 00 2N2S0eA ([tl.OD

iiewTA srti.DO

IKXa S/tl DO !T,00

\ m

II !S t1.00 S/11,00

s/srw

3JS1,Da 441.00

2N3035 !H3<Si MJE795S

■mm

PN3M7

TRANSISTORS

;N3711 iltl DO

2N3734 t -8S

imm \\ 00

21077! 12»

itUSOJ 5J11.00

;n»04 4/11.00

101.00 43l.90 441,00 401.00 441,00

swoo

4iItJI0 441.00 441 A) 441,00 S41Jia

s4i.oa

141,00 S4I.0O

s4toa

KOO 341,00 S4I DO CIOOSISCR 241,00 40*08 11,75 4IXI0 11.75

IHUOl BH40}

iteiio

2HS432 210440

CAPACITOR

1-9

10 pi

,05

22 pi

,05

47 pi

,05

100 pi

,05

220 pi

.05

470 pi

.05

.OOlrrvl

,12

.0022

.12

,0047ml

.12

,01ml

,12

+20%

.28

1/35V

,15/35V

.28

,22/35V

,28

.33/35V

.28

,47/35V

,28

.6B/35V

,28

1,0/35V

,28

60 VOLT CERAMIC DISC CAPACITORS

10-49 50-100 1-9

,04 ,03 .OOl/iF .05

,04 .03 ,0047*tF ,05

.04 .03 ,OVF ,05

.04 ,03 ,022mF .06

,04 ,03 ,047aF .06

.04 .035 -Vf ,12 100 VOLT MYLAR FILM CAPACITORS

.022ml ,13

.047m( ,21

CORNER

.23

,im( ,22mt

.27

1,5/35V ,30 ,26

2.2/2SV 31 -27

3.3/25V .31 .27

4.7/25V .32 .28

6.6/25V .36 ,31

10/25V ,40 .35

15/25V ,63 .50 MINIATURE ALUMWUM ELECTROLmC CAPACrTORS

Ailil Lstd

RadlllLMtf

.47/50V

,15

,13

,10

-47/25V

,15

.13

,10

1.0/50V

,16

.14

,11

,47/50V

.16

.14

.11

3.3/50V

.14

.13

.10

1,0/16V

.16

.13

.to

4-7/25V

-16

.14

.12

1.0/25V

.15

.14

.11

10/25V

.15

.13

.10

t.0/50V

.16

.14

.11

10/50V

.16

.14

.12

4.7/18V

.15

.13

.10

22/25V

.17

.15

.12

4.7/2SV

.15

.13

.10

22/50V

.24

.20

.18

4.7/50V

.16

.14

.11

47/25V

.18

.17

.IS

10/t6V

.14

.12

.09

47/50V

-25

.21

.19

10/25V

.15

.13

.10

I00/2SV

.24

.20

.18

loysov

.16

.14

.12

100/50V

.35

.30

.28

47^

.24

.21

.19

220/25V

.32

.28

.25

100/16V

,19

,15

.14

220/50V •

.45

.41

.38

100/2SV

.24

,20

,18

470/2SV 1000/lBV

.33 .5S

.29 ■50

.27 .45

100/50V 220/16V

,35 .23

,30 ,17

,28

.16 J

2200/16V

.70

.62

.55

47DJ2SV

.31

.28

200 BYTE April 1978

Senp|/CT Mates with two rows of .025" sq. or uUblVCI dia. posts on patterns ol .100" IIIMDCDC '^^"'B^s 3"<^ stiielded receptacles. JUIVIr Cno *'rot)e access holes In back. Choice ol 6" or 18" length. No. or Contacts Lengtti Pries

Part No.

924003-18R 924003'OeR 924005-18R 924005-06R 924Q06-18R 924a06-06R

26 26 40 40 50 50

18'

18" 6"

$ 5.38 ea. 4.78 ea. 8.27 ea. 7.33 ea. 10.31 ea. 9.15 ea.

£3 IIIMPFR ^0^^" 'Ol ''(' bo^ftls tor Instant, muWITIr Cn pluj-in access via socket-connector UCAnCDC jxi'iP'tS' .025" 5(). posts. Choice nCHUCnO ol straight or right angle.

Pan No.

No. ol Pottt

Angle

Price

923863-R

26

straight

$1.28 ea.

923873-R

26

right angle

1.62 ea.

9238e5-R

40

straight

1.94 ea.

92387S-R

40

right angle

2.30 ea.

9238e6-n

SO

straight

2.36 ea.

^878-R

50

right angle

2.82 ea.

EiJNTRA-CONNECTOR

Provlites botli straight and riglit angle functions. Mates wtUi stanilani .10* x .tty" dual row connectors (I.e. 3m, Ainsley, etc.) Permits quick testing of inaccessible lines. Pin No.: 922576-26 No. at contactK 26 Filn S6.90

HINTRA-SWITCH

Permits InsUnt llne-liy-llns switchliig for dlignosth; or OA testing. Switches actuated with pencil or probe Hp. Mates with standard .10* x .10* dual-row connectors. Low prolila deslgr Switcti buttons recessed to eliminate accMantal switching. Pan No.: IS'26 No. of coetaelr26 Price Sti.so ea

-'^CRYSTALS

— .--lA-** IHISE raEOUmCIES ONLY ts^^, —

Pill«"

CV1A CY2>

THESE FREOUENCIES IINLV Frfqutncy Ctio/SlYla"

1.000 MHI HC33/U 2.000 MHz HC33/U

l»3A irr7A CY12A CV14A CVliA Cy22A CV30B

2.010 MHi

HC3MJ

15.95 Si.95

tm MHl

5.000 MH2

10,000 mi

14.31618 UH; 1S.000 MHl 20,000 MHI 32.000 MHz

Hcism Hcieiu

HC18/U HC18U HCIB/U HC18/U HC18/U

t.99l S4.95 S4.95 54.95 54,95 $4,95 S4,95 $4,95

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

.156 Spacing-Tin-Oouble Read-Out Bifurcated Contacts — Fits .054 to .070 P C. Cards 15/30 PINS (Solder Eyelet)

18/36 PINS (Solder Eyelet)

22/44 PINS (Solder Eyelet)

50/100A (100 Soadnoi PINS (Wire Wrap)

25 PIN-D SUBMINATURE (RS232) DB25P PLUG DB25S SOCKET 0B51226-1 COVER FOR 25S/25P

>ALOTS OF POTS iS

^^HfUntested V square Spectral Tiimpots' /^^Ingle-lum Printed Circuit Potentiometers

GB134 3-....hl«if»;»^.5„oohn, -«i«.$2.95 GB135 3... ct. - " K-95

GB136 3.3.0,: ;ooj<;|~ .24p.. $2.95 (Values subject to substitution within each group.) EXTRA SAVIMGS'Snr an a (a«n4. i3»« m) tor onhi S7.49

SI .95 S2.49 S2.95 S6.95

S3.25 S4.9S $1.75

H".mo«illeo'liekie

suaicu^

1-9

10+

JMT121 SPOT on-oH'On S1.95 SI .43

Tnnnic JMT123 SPOT on-none-on 1.65 l.Zl

■ail ■"4Tai DPOT on-oll-on 2.55 1.87

(■"•"MU'rol jMTaa DPOT oii.iionii.on 2.15 1-58

MPC121 SPOT an-olt-on 52.05 SI .53

TOGGLE MPCI23 SPOT on-nona-on 1.75 1.31

{PAitM DfCUh) MPC221 DPOT on-off-on 265 1.97

MPC223 OPDT on-nomHW 2.25 168

I

1.95 1.S5

II

PUSHBtmON MS102 MtatliK 16103

DPST SPST

opm .35 dassd .35

2G6.4 8 pOi dip 4 swldl 206-7 I4ptndip Tswldl 206.8 16 pin dip 8 swtcll

1/16 VECTOR BOARD

0.1 * Hail SpicMg

P

Pitttrn

Prin

Part No.

L

W

1-8

10 up

e4M4IW2XXXP

4.5a

e.50

t.72

1.S4

189P44 062XXXP

4.50

t7.00

3.69

3.32

MP44 062WE

4.50

650

2.07

1.86

HPM062WE

4.50

S.SO

2,56

2.31

169P44 062WE

4.50

17.00

5.04

4,53

ieBP84D6ZWE

B.50

17.00

9 23

B 25

mPU D62WEC1

4.50

17 00

6 80

6,12

(^PPER ClAD

INSTRUMENT/ CLOCK CASE

M unit, led benl. ttSntxl-e/iF.

^ $3.49

MICROPROCESSOR COMPONEMTS

8212 8214 8216 8224 8228

CPU

8 Bit Input/Output

Priority Interrupt Control Bl-Direclional Bus Driver Clock Generator/Driver

System Controller Bus Driver 5.95 280

$10.95 CDP1802 CPU S19.9S

4.95 MC6800 8 Bit MPU 19.95

7.95 MC6820 Periph. Inteito Adapter 7.95

4.95 ItlCeaiOAPI 128xSStStiolUM 5.95

5.95 MC6830L8 1024 x 8 Bit ROI«

CPU

15.00 24.95

SOBOA

Super BOOB

S1095

zsso

sai Mpu

26.50

psoas

CPU

3iM

2504

vet

1024DyninM

t 3.95

Ktx 32 BIT

2519

Hex 40 BIT

400

2522

Dun 132 BH SSR

2»

2S24

512 DyntnHc

.99

2525

1024 Dynamic

3.00

2527

OiMl 2S« BIT

3.95

25Z9

Dull 512 BIT

4.00

2532

Outd aO BIT

3.95

2533

1024 ShOc

5.95

3341

flfo

6.95

7415670

1Bx4Rq .

3.9S

IMRTS

AY-5-1013

30X Biud

S 5.95

RDM'S

2513(2140)

Char. Gen -uoper cau

% 9.«

2513(3021)

Char. Gen.-lowar cut

S.95

251B

Char. Gen.

10.95

MMS230

2040 BIT (512 X 4 on 250 kB

1.95

IMM5Z82

2)Cx1 OymmlcRAM

3hrt.04

2111

TMS4H4.4SNL 7469

etoi am

8599

21L02f91L02 74200

93421 ; UPD414(2104] • UP04I6 1

1702A

5203 B2S23 628123 745287

Static I SUHc I DynarTilc

SUUc

Slitic

SUUc

static

Static

Suite I static

SlallG

Sialic

Dynamic 16 Pin Famos

Open C

49.95 15.95

2716

6301-1

6330-1

2 95

SPECIAL REQUESTED ITEMS

FCM3B17

S5.00

11C90

it.gs

72QS

I9«

n8> 3.9S

AV-3-B500-1

7.50

4N33

3.95

ICM7049

24J6

mmn amm

AY-5-fl100

17 50

eT20

7.50

ICM7207

7.50

mm 11.95

AY-5-9200

1495

8T97

2.00

ICMT208

22.00

MC3061P 3.50

AY-5-9S00

4.95

Hootes

;.9s

ICM7209

7.S0

MC4016 (74416) 7.50

AY-S-2378

t4.»5

MCM6571

13.50

MK5O240

17J0

MC140SL7 8.95

9374

1.96

MCM6574

13.50

DS0026CH

3.75

MCUOaLS 9.98

MCM6S75

Tiuoe

10.80

CLOCK CHIPS

MM530g S9,95 MM53I1 4,95

MM53I2 4.95

MU5314 4.95

MU5316 6.95

MM5318 9.95

MMSUI

Featured on February^ Fiwit Corar of Popular E/actrontes

Logic Analyzer Kit Miim iiDMi>_ _

Model 100A — iiMi iiiS

$229.00/kit

• ♦111

Analyzes any type of digital system Cnecks data rates in excess ol 8 million words per second . Trouble shool JIL. CMOS, DTL. RTL. Schollky and MOS lamilies Displays leiogicstates upto8digitSi«ide • See ones and zeros displayed on your CRT, octal or hexadecininl loini.il Tests circuits under actual openltiicj condilions Easy to assemble—Oomas iwIth step-by-step construction manual nitiidi tndiKlis SO lages on logic analyiir o|»i|llon. (Model lOOA Manual - $4.95)

Some applications are:

- Troublestiooting microprocessor address, Instruction, and data flow

- Examine contents of ROMS

- Tracing operation of control logic

- Checking counter and stiift' register operation

- Monitoring I/O sequences

- Verifying proper system operations during testing

PAMinONICS TRIGGER EXPANDER - Moilgl 10

Adds 16 .ddltkinal bits. Provides digital delay and qualltlcatkin ol Input clock and 24-blt trlQoenwjnl. —ComwcB dliBctlo Modol lOOAtor hitatiratwi unlQ. yuti\ 1.

Model 10 KR - $229.00

Bt».l«> —S9J8

3H-DlgH Portable OMM

• Overtoid Proieded

• r high LED Display

■ Diltery or AC operation

• AuioZaromo

« \m, im. 0.1 ohm nsoluiion

Model Z800 $99.95

Comes With tesl leads, operaling manual and spare luse.

• lOrMghpullinpefldancs

• OCAcaincvi%tviriai RangM: DG VMUge ±0-tOOav/ ACVonigcO-IOOOV Freq. Riqwnte: S0-4W HZ

. oaMCurnntO-IOOinA ReAancr D-10 mto oDm

Stee:S.4')i4.4-xr

Accoitorin: AC Adapter BC-2B S9.00 RecMroeabls

BanariM BP-26 20.00 Canyliig CtM LC-2> 7.50

CONTINENTAL SPECIALTIES

PR0T0B0ARD6 Otiter CS Proto r

100 MHz 8-Dlgit Counter

• 20 Hz-100 MHl Range * Four powsr soucts. l.e

• .6- LEO DispUy battertis, 110 or 220V witii

• Crystal-contiDHed tlmebase charger t2V wllfi aulo

• Fully Automitfc lighter adapter and sxlemai . PorttWe - completely 7.MOV power supply

.tr^;-,.vr $134.95

K5.63

ACCESiORIES FOR MAX 100:

MMIaOafgif BImlintM

UMpoMf from ear Mtaty Motfil 1M — CIA sa.lB

tSUnMr/Blffllinloc

uaiiiovAc ■«UMin-ciiit9.n

$15.95

(6" long X 4" wide)

PB100 - 4.5" x 6" % 19.95 PB101-5.6"x4.5" 29.95 PB102 - 7" X 4.5" 39.95 PB103 - 9" x 6" 59.95 PBIM ■ 9.5" X a • 79.95 PB203 - 9.75 X 6Vf! K 2V< 80.00 P8203A - 9.70 x 6Vi x 2« 129.95 flMfatfn|iaw.rlapMr)

LOQIC lUONITOR

for DTL. HTL. TTL or CMOS Devices

$84.95

PAOTO CLIPS

14 PIN 10 PIN 24 PIN 40 PIN

S4.50 4.75 0.50

13.75

DESIGN MATES

0M1 - Circuit Designer

$69.95 DM2 - Function Generator

$74.95 DM3 - RC Bridge

$74.95

SB QT PROTO STRIPS

ii;jlitliiiiHei|i]iiw,n- h^b.

□Ttnn

#h0lBl

prin

aT-59S

S9D

12.S0

0T-S9B

bus slnp

2.U

0T-47S

An

1000

QT-47B

bus strip

2.35

QT-35S

350

8.50

0T-35e

bus stnp

2.00

QT-18S

180

4.?5

QT-12S

120

3.75

oT-as

80

3 25

QT-7S

70

3.00

Experimentor 300

S 9.95

Experlromtor 600 $10.95

tSJO MMmm Oren - U.S. Fone. Only CIHmla RnMml. — A« 0% Siln T.i

SpM ti»Bt> ■ zsc - Sine 35C <bii)p hr ten latiiei Dnlr IntHiDMIon Anilabfa

1978 CATALOG

NOW AVAIUBLE

ELECTRONICS

lOZI-A HOWARD AVE., SAN CARLOS, CA. 94070 PHONE ORDERS WELCOME - (415) S92-8097 . Advetttead Prices Qqod Tliru April

The Incredible 'Pennywhistle 103"

$129.95 Kit only ^

Till PnmprtWIi 103 is capable ot rtconflng dan to and from audio tape without critical speed raqulrements lor Ihe iKOnfer and It Is aUa (o communicate directly with ancrthar modem and teimiiul tor telephone "tammlng" aitd communkattons laflt«itait..ln«idieon.KbtTeeolcrttka)i4astmenl(andlsbu^ readily anniUa ports.

DetaTnnintiiiloaMMrad .....Fnqueny-Sliin Keytng, tidl-diiplex thalt-dupls

Mailmnm Del* RaM.., JOD Bud.

Data Formal JtqnchrDMutSerWfretunitomarklevet required

bclwen each diaractsi). Receive CTiannel Fftoiianelit.. .2025 Hz (or space: 222S Hz for mailc. Tranimll Channel Fraqvanclet ..Swrildi saleclablB: Low (normal) = 1070 space,

1270 mark; High - 025 space. 2225 mark.

Rtceivs Sentltlvlty -4S dbm accoiniically coupled.

Trantmit Level -15 dbm nominal. Ad|ustBbla from ~G dbm

Id -20 dbm.

nacetm Frtqancy Tolstance .. .Frequency reference automatically adtusis to allow (or operatiwi between 1B00 Hz and 2400 Hz.

Digital Data IntiTlaee ElA flS-232C or 20 mA currant loop (receiver is

optolBolated and non-polar).

Power Hivdnmnii 120 VAC, single pliasa, 10 Watts.

Ptiytlctl All-comptmanls mourn on a single 5' by 9*

printed dreuH board. All compomnts induded.

RGquites a VOM. Audio OscllMof. Frgquency Counlaf andrtr Oacllloscopa to aligi.

o:>^ the 3

rd

Hand

$9.95 each

'LeavBs two hands free for working

* Clamps on edge of bendi. table or work bench

* Posrtlon board on angle or flat position tor sobering or dipping

* Sturdy, aluminum construction for hobbyist, manufacturer or school rooms

DIGITAL STOPWATCH

• BrifW e Digit LEO Display

• Times lo $B minutes S9.S9 seconds

• Crystal Controlled Time Base

• Tliree Stepwatdn in Ona Times Shigle Event Spin A Taylor

• Size 4.5" X 2.15" X .90" (4ft ounces)

• Uses 3 Pmna Cdis.

Kit — $39.95 I

Assembled— $49.95 Hsavy Duty Canv Case $5.95

Stop Watch Chip Only (7205) $19.85

3V2DIGIT DPM KIT

New Bipolar Unit • Auto Polarity

• Auto Zeroing • Low Power

• .5" LED • Single IC Unit Model KB500 DPiVI Kit $49.00 Model 311D-5C-5V Power Kit $17.50

JE700 CLOCK

nie ii .'00 IS i low cosidKiilaidoa. bul IS 3 veif high qualitv unit The unit leaiuies a simulated walnut case with dimensions dI 6' K 2W X r It utilizes i MAN 72 high Diightness readoul. and Iht MM53I4 clock chip.

115 VAC

KIT ONLY

$16.95

HEXADECIMAL ENCODER 19-KEY PAD

.1-0 . ABCDEF

• Shift Key

• 2 Optional Keys

$10.95 each

New 63 KEY KEYBOARD

$29.95

IN STOCK

TFiis keyboattl leatures 63 una

coOfU SPST kpys. unatiacHM I

.-ioy k'nj C B ^ sol

hboiSft ' Encoder CMp (encodes 16 keys) Ar-s-237e Encoder CMD fancodes 68 Kevs)

JE803 PROBE

The LOBic Probe is a unil which is lo' thf most aan mdescfisible m noubti shooting logic ljmil>e& Til. DTL. RTL CMOS It Ueiivn Ihe power il needs to operait directly oil ot Iht circuit under lest, drawing a scam 10 mA mai li uses a readout lo indicate any ol the lollowing states Dy ihesesymbols |H|-l(tOWI-o|PULSE(-P The f^- — _

ProbecandeiecthqhfreQueAcypulsesio'SMHi Sg.yO Kit II can I De used at MOS ievHs or arcuit damage

printEd circuit board

VI 5V 1A Supply

This is 1 Slandard TTL oowor supply using the well lirwwn LM309K regulator ICIo provide a solid 1 AMPol current at 5 volts We try to maiie things easy tor you by providing everythingyou need in one package, including the hardvrafe

'•">»• $9.95 Per Kit >

Circle 61 on inquiry card.

BYTE April 1978 201

What's New?

Static Programmable Memories from Dynabyte

Two fully static programmable memory modules for the Altair (S-100) bus are now available from Dynabyte Inc with access times of either 450 or 250 ns. The 250 ns mode is compatible with 4 MHz Z-80 processors.

Like the company's 16 K dynamic programmable memory module, both modules are completely assembled, tested, burned in and guaranteed for one year. They feature bank select, which allows up to eight separate banks (of up to 64 K each) to reside in the same system. The module may be addressed in four separate 4 K blocks along 4 K boundaries. Each of these 4 K blocks may be individually write protected. If an attempt is made to write into a protected block, an audible alarm will be activated and a visual indicator will be displayed for several seconds. The 32 K static module offers 4 K boundary addressing, complete buffering and conservative thermal design.

Suggested retail prices for the new modules are: Model 1645 (16 K, 450 ns): $525; Model 1625 {16 K, 250 ns): $555; Model 3245 (32 K, 450 ns): $925; Model 3225 (32 K, 250 ns): $995. Dynabyte products are available in retail computer stores. For more product information, contact Mike Watts or Rick Mehrlich, Dynabyte Inc, 4020 Fabian, Palo Alto CA 94303, (415) 494-7817."

Circle 571 on inquiry card.

Intelligent Disk System

This dual floppy disk drive, intelligent controller and bus adapter package features an integral 8080 microprocessor and a Complete repertoire of file management commands. Tlie adapters interface the PerScI Model 277 disk drive and Model 1070 controller to either an Altair (S-100) compatible bus or a Digital Group bus. The adapter boards include sockets for 3 K of EROM and 1 K of programmable memory, which are designed to hold a disk operating system (DOS). Two versions of the DOS, one

for Z-80 based Altair (S-100) bus computers and one, for Z-80 based Digital Group computers, are available on appropriate memory chips (2708s and 2114s). The DOS permits the use of Technical Design Labs Z-80 software With the PerSci disk. TDL software distributed under license includes 8 K and 12k BASICS, FORTRAN, and a text editor and word processor. The entire package including dual disk drive, controller, adapter and DOS for either bus, and all cables and connectors is priced at $2485. The DOS on memory chips alone is $180, and' the Altair (S-100) adapter is $120 in kit form and $195 assembled and tested from Info 2000, 4901 Tara Ter, Culver City CA 90230, (213) 559-7121."

Circle 573 on inquiry card.

Artec Electronics Introduces 32 K Byte Expandable Memory Board

Artec Electronics Inc has introduced a 32 K byte' static programmable memory board in modular form designed for the Altair (S-100) bus.

Designated the 32K-100, the board is speed compatible with Zilog Z-80 based systems. The basic board with all support circuits, power regulator, 8 K bytes of memory parts and assembly manual sells for $290. An additional 8 K bytes of static memory chips cost $255 each, and a full 32 K memory board sells for $1055.

The 32K-100 requires a single +8 V 3 A power supply; access time of the direct memory accessible (DMA) compatible board is 250 ns. DMA compatibility allows users to access memory directly without going through the central processing unit (CPU) on the microprocessor board.

The 32 K board, fully buffered on all address and data lines, also features battery backup to allow operation at reduced power consumption, and a "bank select" provision so users can select the blocks, or banks, of memory they want to address. Contact Artec Electronics at 605 Old County Rd, San Carlos CA 94070, (415) 592-2740."

Circle 572 on inquiry card.

202

Apnl 1978 © BYTE Publications Inc

NLS MS-15 MINISCOPE $ 289,00

00 CM

$10.90 $9.74

Gen. Purpose D.I.P. /^^K Terms VISA MC BAG cMeck, Money Order, CO D . U.S Funds Only. CA residents add 6% sales tax. MiniBoards with Bus Pattern X Jm^b |.„-, $ib 00.'Orders less ttian $75.00 include 10% shipping and handling; excess refunded. Just in case ,0, solder or Wire vvrap^ X TSI^ '"'I"* P''''™'"Sorry.noow th. counter sale." e..d J«n. .w.

' n^Ly 56 X ^^ndlo,ou,l...,....ochu,.. pHOnB OrdsrS welcome (213) 893-8202 qem.nuln..ltuli.n.lln,ul,i»,ln.l,«l.

BdOOSINm 9l.-Sir4 OO

$ 3d00SINIt/V 91--SIAI

Circtfi 90 on inquiry card.

ll> M -\|iril 203

Whal's New?

RAM-N-ROM from Szerlip

Szerlip Enterprises has introduced the RAM-N-ROM board, which operates on the Altair (S-100) bus and can be wired to accept several l<inds of erasable read only memory (EROM). There are sockets for 16 EROMs and 1 K of volatile memory on this board. According to Szerlip, the new memory board is compatible with the following EROM parts: 1702A, 2704, 2708, 2716, 5204, and 6834. The EROM segment has its own switch for address select and control of up to four 8080 wait states. The volatile memory scratchpad also has its own switch for address select independent of the EROM.

The board has seven voltage regulators. Three regulators are dedicated for each group of eight EROMs. One separate 5 V regulator is used for all other logic Including the volatile memory.

The RAM-N-ROM board has circuits that permit a power on iump if desired. The kit comes complete with sockets for all the integrated circuits and all the materials required including a manual ' (EROMs are not included). The RNR100 sells for $117 in kit form and $168 assembled from Szerlip Enterprises, 1414 W 259 St, Harbor City CA 90710."

Circle 586 on Inquiry card.

Wire Wrapping Boards for LSi-11

The CIP4 and CIP4/11 universal wire wrapping boards plug into the Digital Equipment Corp standard "Omnibus" and "Q-Bus" backplanes, and provide 32 columns of 60 low profile socket terminals per column with alternate rows of ground and power terminals. The boards will accommodate up to 110 16 pin sockets or an equivalent in other sizes and are priced from $1.50 to $2 per chip position, from Garry Manufacturing Co, 1010 Jersey Av, New Brunswicft NJ 08^02, (201) 54S-2424."

Circle 587 on inquiry card.

You'll Have A Devil of a Good Time

A booklet entitled The Devil's Dungeon, and subtitled An Adult Fantasy in BASIC written by Dr C William Engel is now being marketed by Engel Enterprises, POB 16612, Tampa FL 33687. Ttie Devil's Dungeon is a member of a class of games which involve various activities in a simulated labyrinth. In this case, the object is to retrieve simulated gold from a maze in an occasionally active volcano complete with monsters, demons and poisonous gas. The cover letter accompanying the copy we received credits inspiration for the program to simulation games such as "Dungeons and Dragons" which are typically done without computers.

The program is about 120 lines long, and is written in a fairly typical extended BASIC with multiple statements per line. The documentation includes a complete flowchart of the game with line numbers referencing the program listing, several pages of instructions in the use of the game, a list of the principle variables of the program and their uses in the program, and two lists of suggested modifications which the user may wish to consider.

The Devil's Dungeon is a 14 page booklet in a GBC binding, available from Engel Enterprises for $3.S0.«

Circle 588 on inquiry card.

Accounting System in BASIC

A Comprehensive Accounting System in BASIC by Dr John Edwards contains a BASIC source program listing which includes sections on accounts receivable, accounts payable, merchandise inventory, fixed assets inventory, payroll, financial reporting, and check registers. A special section of the book and program listing is provided to help generate the initial database required by the other programs. The programs are disk file interactive and are said to comprise an entire business accounting system. Floppy disks containing versions of the programs for the Alpha Microsystems, Altair, and Poly 88 computers are planned for later release. The book is priced at $149.95, COD orders only, from Microcomputer Business Systems Inc, 1776 Plaza, 1776 E Jefferson St, Rockville MD 20852, (301) 468-0455."

Circle 589 on inquiry card.

Full Scale Database Management System Micro-SEED, a rich implementation of the April 1971 report from the Data Base Task Group of CODASYL, is said to be the first full scale database management system to operate on a rr\icrocomputer. It is compatible with SEED, a system available on the IBM 370, DECsystem 10 and 20 and other large computers. The package includes a Data Definition Language (DDL) which checks and compiles the data definition into a schema table, Data Manipulation Language (DML) subroutines which can be called from FORTRAN or assembly language programs to retrieve and update the database, and a database initialization program (DBINIT). Micro-SEED runs on the TDL Xitan Z-80 computers and requires the standard disk system configuration plus an additional 48 K bytes of memory. A user's manual is supplied with the package, along with three months of maintenance. Developed by International Data Base Systems Inc, Micro-SEED is sold for $1250 by Tech-, nical Design Labs Inc, Research Park, BIdg, H, 1101 State Rd, Princeton NJ 08540, (609) 921-0321."

Circle 590 on inquiry card.

Word Processor in BASIC

IDSWORD1 is a word processing package designed to run under MITS Disk Extended BASIC. Some of Its functions include line and global editing, merging files, moving words or blocks of text, printing with right Justification, and production of form letters or mailing labels. The package consists of several programs loaded from disk under the control of a "menu" program, enabling the system to run on a computer, with 28 K bytes of memory. The system Is offered with documentation on a diskette for $250, from Interactive Data Systems, POB 290, Owlngs Mills M D 21117, (301) 486-6945."

Circle 592 on Inquiry card.

204 April 1978 ® BYTE Publications Inc

r AN EMPIRE INO. CO.

64K FOR. $995.00

S.D. COMPUTER PROOUCTS

P.O. BOX 28810B DALLAS, TEXAS 75228

32K FOR $475 EXPANDORAM KIT 24K for $367.00^

At last! The popular Expandoram Is available in a 16k multiple version. Similar to our 32k Expandoram, the new Super Expandoram is offered In 16k, 32k; 48k and 64k. Low power devices mean the very lowest power consunnptton. Allow 3-4 weeks for delivery.

16K — $281.00 48K — $757.00 32K — $519.00 64K — $995.00

MEMORY CAPACITY MEMORY ADDRESSING MEMORY WRITE PROTECTION 8K, 16K. 24K. 32K using Mailek MK4115 with aK Goundaries and protection. Utllizet DIP swlldm. PC board comat with sockats for 3iK operation. Ordara now being accepted. Allow 6 to 8 nMkaTor dallvary.

Buy an S100 compatible 6K Ram Board and upgrade the same tward to a maximum of 32K In steps of 8K at your option by merely purchasing nwre ram chips from S.D. Sales! At a guaranteed price — Look at the features we have built Into the board.

16K FOR $259.00

INTERFACE CAPABILITY Controt, data and address inputs utilizes low power Schottky devices. POWER REQUIREMENTS + 8VDC400MADC + 18VDC 400MADC —18VDC30MADC on board regulation Is provided. On board (invisible) refresh is provided with no wail states or cycle stealing required, MEMORY ACCESS TIME IS375n«. Memory CyclflTlme Is SOOns.

8K FOR $151.00

Z-80 CPU BOARD KIT - $139.

CHECK THE ADVANCED FEATURES OF OUR Z-80 CPU BOARD: Expanded set of 156 inalructions, 8080A software capability, operation from a single 5VDC power supply; always slops on an Ml state, true sync generated on card (a real plus feature!), dynamic refresh and nmi available, either 2MHZ or 4MHZ operation, quality double stded plated ttirough PC bovd; pans plus sockets priced for all ICS. 'Add $10 extra for Z—80A chip wtitcti allows 4MHZ operation. Z—M chip with Manual — 29 9S

S.D. SALES NEW EXPANDABLE EPROM BOARD

16K or 32K EPROM $40.95 w/oul EPROM

Allows you to use either 2708's for 16K of Eprom or 2716's for 32K of Eprom. KIT FEATURES:

1. All address lines & data lines buffered.

2. Quality plated ttirough P.C. Board, including solder mask and silk screen.

3. Selectable wait states.

4. On board regulation provided.

5. All sockets provided w/board.

WE CAN SUPPLY 4S0n8 2708'8 AT $11.95 WHEN PURCHASED WITH BOARD.

4K LOW POWER RAM KIT

Fully Butferied — on board regulated — reduced power consumption utilizing low power 21L02 ~ 1 500ns RAMS Sockets provided for all IC'S. Quality plated through PC board. 'Add $10. for 250ns RAM operation.

The Whole Works - $79.95

8K LOW POWER RAM — $159.95

Fully assembled and tested. Not a kit. Imsai — Attair ~ S-100 Buss compatible, uses low power static 21L02-500n3 fully buffered on board regulated, quality plated through PC board, including solder mask. 8 250 ns ODeration' pos. <«p switches for address v-rHwianwii ■ WlectT $189.95

6 DIGIT ALARM CLOCK KIT

Features: Litronix dual 1/2" displays, Mostek 50250 super clock chip, single I.C. segment driver, SCR digit drivers. Kit Includes all necessary parts (except case). Xfmr optional. Eliminate the hassle. ci <> oe

AC XFMR - $1.50 Cm $3.50 ♦i^.yO

Bowmar 4 Digit LED Readout Array Full V2" Litronix Jumbo Dual Digit LED Displays

4 JUMBO .50'' DIGITS ON ONE STICK! WITH COLONS & AM/PM INDICATOR .$3.95.

DL 722-C.C. DL 721 8 O A

99c

DL 728-C.C. DL 727-C.A. $1.29

NEW FROM S.D. "VERSAFLOPPY"™ KIT

THE VERSATILE FLOPPY DISK CONTROLLER

ONLY $149.00

Fa«tur«t: IBM 3740 Soft S«ctor«d Compallbla. 8-100 BN8 tSampatibia lor Z-BO or 8080. Controt* up to 4 Drlmt (•Ingl* Of doubla sfdad). Dlrvcily control* tht following drives:

1. Shugart SA40O/4SO Mini noppy.

2. Shugart SA600/8S0 StindanT Hoppy.

3. PERSCI 70 and 277.

4. MFE 700/790.

5. CDC 9404/9406.

34 Pin Connector for Mini Floppy. 50 Pin Connactor for Standard Fhtppsr. Oparatas with modlflad CP/M oparatlng syatam and C-Baiic Compilar.

Ttia naw "Varaafloppy" from S,D. Computar Products provldai complala control tor many of tha availabia Floppy Disk Drivaa Both Mini and Full Slit. At tha haart o( "Varaafloppy" la tha powarful Wntam Dl|ttat FD177tB-l Simla Danally Contro|lar

tor Contfiti Softwar* an ndiuM Tn ttw prlc*.

FD 1771B-1 CHIP ALONE $39.95

Low Cost Cassette Interface Kit

Faaluras: Play and rsard K.C. Standard 2400/1200 Hi tipai, 300 Baud. TTL I/O Cempallbta, Phaaa Lock Laap. Bath 22 Pin Conntdor and S Pin Main Cannadof. Comas partially atsamblsd. Oiclllator and phtaa (oak laap pra-lvnad lo K.C. Standard. Saiador lartteh aaoda •Mtltt data ar lulllMy Input Mi tt wXannrnmu LEO IbAcbIw togte 1 iMl.

,|i^B*Ji«i*

KjUUllliJllllllllllllr

$19.95

Jumbo LED Car Clock Kit

FEATUHES:

A. Bowmar Jumtx) .5 inch LED array.

B. MOSTEK - 50250 - Super clocli.chlp.

C. On board precision crystal lime base.

D. 12 or 24 hour Real Time format.

E. Perfect for cars, boats, vena, etc.

F. PC txMrd and all parts (less case) Inc. Alarm option — $1.50 AC XFMR — St 50

$16.95

2IL02-SOONS 21L02-2S0NS 2114 - tK 1I01A -256 1103 — IK MK4115.8K 74S200 ■ ?56

Z—80 includes manual Z—80A includes manual S080A CPU 8 BIT

8008 CPU 8 BIT

B/11 SO 8/15 95

14 95 BIS4 00

35

15 45 3 95

29 95 34 95

11 95 6 95

* * * ★super floppy special^ * * *|

S. D. SALES.' VERSAFLOPPY S-100 CONTROLLER BOARD PLUS SHUGART SA 400 FLOPPY DISK DRIVE INCLUDING CABLE FOR ONLY

$479.00

MICRO-DIP $1.95

•New — Series 2300 The World's Smallest Coded BCD Dual-ln-Llne SwItOi! PC Mount 2300 02Q BCD 1-2-44 2300 12G BCD 1-2-4-8 Compliment

★ ★JOYSTICKS* ★

FOUR 100 K-OHMS

POTS Ideal for electronic games '"-^sa.SS

PROMS

I1702A ■ IK ■ 1.5US . 3.95 or 10/35. 2708 ■ 8K ■ 450ns 14.95 5204 - 4K 7.95 82S129 — IK 2.50 2708U 8K signetics 650ns 9.95

COUNTER CHIPS

MK50397 6 Digit elapsed timer . 8.95

MK50250 Alarm clock 4.99

MKS0380 Alsrm chip 2.95

MK50395 6 digit up/dn. count. 12.95

MKS002 4 diill counter 8.95

MKSOZl-Cal. cfilp sq. root 2.S0

Thermistors 1.5K ohm . . . .5/$1.00 Tantalum Caps 1 mfd. 2QV0C

P.C. Leads 15/$1.00

Flat Pack IC Assort 2Q/$1.00

Electrical Coll

13T Type C - lOT Type C 12/$1.00

2 Transistor Audio 8/$1.00

Trimmer Pots

lOK, 20K, 25K, Mini 10/(1.00

Disc Caps For Bypass .01 mfg - 100 WUOC

PC Leads 40/Sl.OO

New Camblon Jacks Part #450-4352

Goldl>l«ted 50/$1.00

Z-80

Programming Manual

IN DEPTH DETAIL OF THE Z-80 CPU MICRO-COMPUTER S. D. SALES SPECIAL S9.95

Silicon Rectifier Sp/ecial 1N4007. ^

1 amp 1000 PN 10/$1.00

Photocell Assortment 12/$1.00

Plastic Readout l-'llters

Amber 6/$1.00

Disc Cap Assortment 60/$1.00

P.C. Lead Diodes

1N4148 IN 914 100/$2.00

1N4002 1A-100 PN . .; .40/$1.00 MICA Trimmer

PC402 Miniature 1.5-20 P.C. P.C. Mount. .4/$1.00 Resistor Special 22 ohm

Carbon Comp 25/$1.00

Resistor Assortment 1/4 W 5% & 10% PC leads 206/$1.5O

MICROPROCESSOR CHIPS

8212 - 1/0 port 3.50

8214 —P.I.C .12.95

8216 — Hon Invait Bin 4.95

8224 — Clock Gen 4.9S

8226— Invert Bus 3.95

PIO for Z—80 .14.95

CTC for Z—80 14.95

8228 Sys. Controller 8.20

8251 Prog. comm. Interfact. .10.95 8255 prog. prep, interface.. .13.50

8820 Dual Line Recr 1.75

8830 Dual Line Dr 1.75

2513 Char. Gen 7.50

8838 Quad Bus. Recvr 2.00

74LS13BN — 1/8 decoder .....99 ST97-HeitTri-Stato Buffer . ..1.25

1488/1489 RS232 1.50

TR 1GII2B Utrt 3.95

TR 1863 Uart 8.50

FO 1771B-1 39.95

CHOOSe $1. FREE MERCHANDISE FROM ASTERISK ITEMS PN EACH $U ORDER

CALL IN YOUR BANKAMERICARD (VISA) OR MASTER CHARGE ORDER IN ON OUR CONTINENTAL TOLL FREE WATTS LINE:

L1-800—527-3460

Texas Residents Call Collect:

214/271-0022

DEALER INQUIRIES INVITEDI

NO CCD s. TEXAS RESIDENTS ADD 5X SALES TAX. ADD 5% OF ORDER FOR POSTAGE & HANDLING . ORDERS UNDER S10. ADD 75c HANDLING.FOREIGN ORDERS - U. S. FUNDS ONLYI. ^

Circle 96 pri. jnguj

BYTE April T978 205

t

FOR SALE: DEC P0P-8-E. 8 K memorv management, three 10 board*, programmer's panel, 72 inch rack, many manuBts and diagrams, tapes, all excellent. DEC original in 1974, $2000. ASR-33 Teletype printer paper tape read-punch, 20 mA and 232 cables, $100 of supplies, manuals, all excellent, $700. Two Xybek disk controllers, three Memorex 651 floppy drives, 50 disks, manuals, running, but needs work, $700. Take it . all, $3000. Harry Bellmar, 77 Elizabeth Ln, S Dennis IMA 02660, (6171 394-8876 after 5 PIVI.

WANTED: I am interested in microprocessor instruction set simulators to run on a PDP-11 or LSI-n. Send brief description, media and cost to W Lloyd Milligap, 8604 Maywood Or, Columbia

SO 29209.

FOR SALE OR TRADE: Burroughs E-4000 system: complete with CPU, 10 console, and mag stripe card reader, with schematics and manuals. Cost $24,000 in 1970; make offer or trade for terminal (like ASR-33). Ray Vender Bok, 7121 Wrenbury, Portage Ml 49081, (6161 323-2662.

FOR SALE: Most of the memory and CPU parts,, blueprints and description for the IMP-16 system by Hal Chamberlin, as described in The Computer Hobbyist. Send SASE for list and prices. Larry Neville, Rt 2, Box 65E, Talbott TN 37877.

FOR SALE: SwTPC 6800 computer with 12 K memory. Serial control interface, parallel interface, burned-in and debugged. Also has cooling fan. With manual, in excellent shape and condition, $600. James K Wendel, 2 2nd St NE, East Grand Forks MN 56721.

FOR SALE: 50 memory chips type 21021, 25 wire wrap sockets 116 pin), 23 of 14 pin wire wrap sockets, all never used, $75. Logic elements; (ten) 74LS02, (ten) LS08, (ten) LS10. (ten) LS20, (nine) LS21, (ten) LS32, (ten) LS112, ■ix buffers 8T97. All never used, logic elements for $12. Gerald W Edgar, 440 Princeton SE, #6, ,Albuquerque NM 87106, (505) 266«671 before 7:30 AHflMST.

FOR SALE: 8 K 8080a System, tlx parallel 10 ports (add two chips for three more PIO and one serial), 3 K PROM board (without 2708 PROM), two 4 K 450 ns low power static programmable memory, TVT-III terminal with cursor control board, UART board, 2 K programmable memory board. Hall effect ASCII keyboard, HITS audio cassette interface (sockets for all chips). All boards new, unused, most assembled, 5 A power supply, edge connectors, card guides, case, documentation, two 60 chip wire wrap proto boards with 96 wire wrap sockets. $695 ($1200 originally), need money for school; write for more information. David Krivoshik, 18 Newcomb, Elizabeth, NJ 07202.

IMSAI 8080: With 20 K memory, 2 K EROIUl, MIO board, works well, uses cassette mass storage, ASR 33 Teletype. Everything new condition. Cost as kit, $2900. Has 22 slot mother board and sockets. Best offer. Roy Ware, 351 N Marion, Ottumvra IA 52501.

BYTES WANTED: Will buy a set coritaining issues 1 thru 16, or more. J M Smith, 21505 Evelyn Av,

Torrance CA 90503, (213 ) 540-0205.

FOR SALE: Pitney-Bowes embosser. Electric keyboard, 6mbosses plastic cards, ie: credit cards, address cards, etc. Has optical character recognition (OCR) font that can be "read" by computer's optical scanner. Replacement cost, $7000, 1972, Model 7953. Needs repain. $100, FOB. Holt, 1517) 694-5987, days; (517) 882-5212, evenings.

WANTED: A Diablo, Qume, or any daisy wheel printer. All leads would be appreciated. Philip Zimmermann, 490 NW 20th St, Apt 308, Boca Raton FL 33431, (305) 395-2907. home; (305) 974-1700 Bxt 203, work, noon to 8 PM.

FOR SALE: Altair 8800a computer, assembled and tested. Hardly used, excellent condition. Includes 1024 bytes static memory and manuals. $625 or best offer. Frank Guidi, 11097 Av, 424, Dinuba CA 92618, (2091 591-3763.

WANTED: May 1977 BYTE. If you have a spare copy or would lilte to sell your*, contact me. Chuck Warren, Box 147, Western Springs IL60EB8.

FOR SALE: Sanyo VM4155 solid state video monitor, new, $200. J Williams, 2415 Ansdel Ct, RestonVA 22091.

FOR SALE: TDL 16 K memory board with NEC 410D 4 K by 1 static programmable memories. Typical power consumption is 200 mA @ +5 V and 200 ns access time (TOL specs). Perfect condition, used four months, $580 and I will pay postage. Ronald Zawiitoiki, 12307 S 31st St, Omaha NE 68123,14021292^2674.

FOR SALE: Heath H8-2 parallel interface for H8 or 8080 c6mputer. New, unassembled, in original shipping carton. Chuck Sadoian, POB 112, Dinuba CA 93618, (209) 528-2284.

FOR SALE: Altair 8800a, 24 K static, expander board, two serial 10 lines, 88 ACR, ASR-33 with auto tape drive, iCOM microfloppy, disk BASIC, assembler, editor, monitor, all manuals — all up and running. Best offer. Harris G Bruch, POB 1155, Plattsburgh NY 12901, (518) 561-1632 or 561-4680.

FOR SALE: Microdata 810 minicomputer with 16 K of core memory. Also. Mohawk card reader with interface card. Serial interface to Teletype. ASR 33 Teletype. Documentation. Make offer. Bill Fujitsubo, 1506SandcastleOr, Corona'del Mar CA 92625.

FOR SALE: IMSAI 8080 processor card, or SS Music PROM cerd for 1702s. with two 3/4 K of

memory. Both cards in A-1 shape, fully socketed with full documentation. First $50 each takes them. J B Ellmers, 841 Kinderkamack Rd. Oradell NJ 07649, (201) 265-7065 after 6 PM.

WANTED: Small real estate investor desires to purchase the cheapest in-house system available that can compare previous sales and all the other information usually found on Board of Realtors multilist cards. No financial analysis or other comparisons are required other than that usually found on the multilist book cards. It is essential that the system be able to compare any items usuelly found on multilist cards for all properties presently in the multilist system and those that sold in the last two years. Printer essential. R Broxton, POB 2337, Gaithersburg MD 20760.

FOR SALE. Morrow cassette interface board with three tape ports, serial and parallel 10 ports. Altair (S-100) bus compatible. KG standard. Assembled and checked out, asking $90. Tom Hamilton, 1405 Washington, Birmingham Ml 48009, (313) 647-5420.

FOR SALE:- Brand new COSMAC Elf-ll Microcomputer with 1 A power supply, audio amplifier, graphics chip, hexadecimal keyboerd and display. Fully assembled and burned in with RCA menual, $100 or best offer. Joe OeRosa. 734 N Greenbrier, Orange CT 06477, (203) 795-3656..

PROJECT STEAM 77: We are running a little behind schedule, but some members of The Steam Automobile Club of America have a groupdeveloped, low cost, VW based steam car in the advanced stages of development. We need knowledgeable computer tinkers, interested in helping develop a microprocessor-based automatic control system •for the monotube boiler of our car. We have an analog system in operation, but would like some digital thoughts on the problem. Doug Garner, 2 Sir Francis Wyatt PI, Newport Newa VA 23606.

FOR SALE: Altair 8800b, 16 K Altair memorv card, 88-2 SIO serial 10 (one port). Processor Tech SPplusS, 8 K BASIC, fully burned in, store checked end tested. List S2333, asking $1960 for all. Dr John Hotchin, 18 Paxwood Rd, Delmar NY 12054, (518) 4394122.

FOR SALE: Processor Technology VDM-1 video displey module with driver software, 4 K static

memory board, two MITS 4 K dynamic memory boards, and mother board with 16 sockets. All are assembled with sockets and loving care. All are untested and will sell cheap. Call or write: Bob Stodola, 1910 Beechwiood Av, St Paul MN 55116, (319) 698-2731.

FOR SALE: Assembled Altair (S-100) compatilple IMSAI UCRI cassette interface, $39. Assembled SwTPC TVT CT-L boeid, $15. 8 K EMPU 1.0 (a micro APL lor the Z-80/8080) with user's manual, $10 on Tarbell cassette, $20 on paper tape. North Star disk, CUTS or MITS cassette. Erik T Mueller,' 36 Homestead Ln, Roosevelt NJ 08555,1609) 448-2605.

FOR SALE OR TRADE: Gams programs in Radio Shack Level I BASIC for use in 16 K version of TRS-80 microcomputer. Already loaded on cassette tape and ready to run. Will trade for other game programs or will sell for $10 each. Games available: Lunar Lander, Enterprise, Hunt the Wumpul and Space Attack. Alvin D Files, POB 1882, Ada OK 74820.

Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To be considered for publication, an advertisement should be clearly noncommercial, typed double spaced on plain white paper, and include complete name and address information. These notices are free of cherge and will be printed one time only on a space available basis. Insertions should be limited to 100 words or less. Notices can be accepted from individuals or bona fide computer users dubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in -an issue of B YTE.

Please note that it may take three or four months for an ad to appear in the magailne,^

206

iprti 1978 @ BYTE Piibilcatloiis Inc

FOR SALE: 20 Burroughs Model N7200 7 track magnetic tape encoders (key-to-tape units). These units are new. They were purchased from the manufacturer. Data Trends Inc, a Burroughs subcontractor. They can be purchased as is (complete unit) for $225 or fully operational for $350 (they retailed for $7500). Drawings, operating manuals and spare parts are available. Photograph of unit will be sent on request. R Gorman, 207 Colfax Au, Pompton Ukes NJ, (201) 334-5660 days; (201) 835-6961 evenings.

FOR SALE: Singer 52 line printer. 100 lines per minute, 132 characters per line maximum. Connect via 10 channel. Standard paper. Power: lis V, 60 Hz; 6 A. 30 inches wide by 27 inches deep by 38 inches high. Working and going, shipped "es is," put on line with minimum work. Price including manual. $650. Shipped FOB. Cinderella Boot Shop, 104 E 2nd Av, Williamson WV 25661. (304) 235-1995.

FOR SALE: Altair 680b microcomputer,assembled by MITS and in perfect operating order. Consists of the 680b in case with full front panel. Main board has TTY port, monitor PROM and high speed reeder PROM (paper tape reader), 1 K programmable memory. Extender card has three connectors. 16 K static programmable memory cerd assembled by MITS. Universal 10 card implements one RS232C port (for CRT) and one parallel port (used with a Remex paper tape reader, not Included). Runs 8K BASIC; have but.never ran essembler and text editor (both on paper tape). ' Kit prices alone would be $1400, best offer over $1000. BYarkon, 1457 Broadway, Suits 305, New York NY 10036, (212) 221-6093.

FOR SALE: Assembled end working OP-80A high speed peper tape reeder, $75. Also I'm looking for BYTE Issues 3, 8. 9, 10 (November 1975, April thru June 1976). Holden Caine. 1 Windsor PI, Melville NY 11746, (5161692-9512 after 5 PM.

VISIBLE OR INFRA RED

USED FOR CHARACTER RECOGNITION FOR COMPUTERS WITH EXTERNAL CIRCUITS

MAY BE USED IN

A VACUUM, UNDER WATER, HIGH ALTITUDE

IN MAGNETIC ENVIRONMENT BECAUSE THERE IS NO

HIGH VOLTAGE OR MAGNETIC DEFLECTION

MINATURE SOLID STATE

202 VIDEO CAMERA KIT

FEATURINGA. .100 x 100 BIT SEL F SCANNING CHARGED COUPLED DEVICE

THIS UNIQUE UPDATED CAMERA KIT

FEATURES THE FAIRCHILD CCD 202C IMAGE SENSOR

ADVANTAGES

• IN THE FUTURE

WE WILL SUPPLY A

COMPUTER VIDEO INTERFACE CARD

• All clock voltages operate at 6V regulring no adjustments

• Higher video output signal

• We supply the power board, so only a 5V 1 Amp power source Is needed

• The circuitry has been simplified for easier assembly

• Two level TTL output is supplied for Interfacing

FEATURES

• Sensitive to infra red as well as visible light May be used for IR surveillanGe with an IR light source Excellent for standard surveillance work, because of light weight and small size All components mounted on parallel S^A'xei^' single sided boards Total weight under 1 lb.

We supply ail semiconductors, boards, data sheets,

diagrams, resist6rs and capacitors, and 8MM lens. • Sorry we do not supply the case, batteries and 5V supply.

Add $2.00 Postage and Handling

UNIVERSAL 4Kx8 MEMORY BOARD KIT $69.95

32-2102-1 fully buffered, 16 eddreis lines, on board decoding for any 4 of 64 pages, standard 44 pin buss, may be uiad viritfl F-8 & KIM

EXPANDABLE F8 CPU BOARD-KIT $99.00

featuring Fairbug PSU.TK-of static ram. R5 232 interface, documeniation, 64 BYTE reqis.er

4K BASIC FOR FAIRBUG F8

on paper tape $25.00

C/MOS (bJODE CLAMPED)

4047- 1.50 4012- .16 4023- .16 4046-1.45

4518- .eg 4013- .29 4024- .66 4049- .34

4001- .16 4016- .74 4025- .16 40B0- .34

4002- .16 4016- .29 4027- .37 4055-1.26

4006- .95 4017- .7B 402B- .73 4066- .58

4007- .16 4018- .78 4029- ,77 4071- .24

4009- .37 4019- .37 4030- .33 4076- .97

4010- .37 4020 - 84 4035- .97 74C10- .22

4011- .16 4022 - 85 4047- .58 74C193 1-SO

2708-8K E"pROM (450 ni) Sio.95

2522 STATIC SHIFT RE6 S 1.95

2513 CHARACTER GEN % 6.75

25J8-HEX 32 BIT SR i 3.50

5203- 2K EPROM ™-..„™ t 4.50

21L02-1 (450 ni) » 1 35

21078 „ * 3.50

MK4008P $ 1.95

5280 4K DYNAMIC RAM............... S -4.75

1702A UV PROM „ S 4.95

5204- 4K PROM $10.95

82S23 S 1.95

AY-5-1013 UART „ $ 6.95

8703C TELEDYNE 3 STAGE

BINARY S BIT A/D CONVERTER $13.50 aoaOA $11.95

AP PROTO BOARDS USED FOR SOLDERLESS BREADBOARDINO 264L — 128 FtVE-TIE POINT

TERMINALS $12.75

212R —POWER BOARD S 2.50

224BL— 96 FIVE-TIE POINT ,

TERMINALS . .. | 9.75

209R — POWER BOARD • 2.29

IC TEST CLIPS TC-14 — S4.50 TC-1 6 — 14.75

CTS 206-8 eighi position dip switch .... $1.90

C rS-206-4 four position dip iwitch ., . .$1.45 LIGHTACTrVATED SCR's

T0-t8. 200V 1A $ 1.10

SILICON SOLAR CELLS 2%" diimter ■4V at SOO ma $4.00

RS232 0 8 25P male S2.95

CONNECTORS OS 2SS female S3.50

FNoa57C.c..4' $ .SO LED READOUTS

FCS S024 - 4 disit MAN-7-.3" C.A. $ .B5

CO. B" dtiplay S6.9S DL 747 C.A. .6" $1.66 PNO 503 C.C .5" S .85 FND 800 C.C. .8" S1.9S FND 510 C.A. .6" $ .85 FND 807 C.A. .8" ST.BB OL-704..3" C.C. $ .85

PRINTED CIRCUIT BOARD

4 1/2".6-1/2" SINGLE SIDED 6POXY

BOARD 1/16" ih»:k unetthert

$.60 ea 5/52.60

7WATTLD-65LASERDIODE IR Sa95

2N 3820 P FET $ 45

2N 5457 N FET .- $ .45

2N2646. . S .45

ER 900TRIGGER DIODES 4' SI 00

2N 6Q28PROG UJT S 65

MINIATURE MULTI-TURN TRIM POTS 100. 500. 1K,2K,5K,10K.25K.50K,100K. ^OOKj500t^^e^^5eacf^^_^/$2_0^

WSU-30 Hand wire wrap tool u»d

to wrap, unwrap & strip 0 30 wire S5.30

VERIPAX PC BOARD

This board is a 1/16" single tided paper epoxy board. 4V*x6li" DRILLED and ETCHED which will hold up to 21 tingle 14 pin IC's o> 8. 16. or LSI DIP IC'i with busses lo<

power supply connector 54 00

MV 5691 YELLOW-GREEN

BIPOLAR LEd S .90

FP 100 PHOTO TRANS S 50

RED. YELLOW, GREEN or AMBER

LARGE LED's.2" 6/$1.00

1L-5 (MCT-2) OPTO-ISOLATOR ... S .75

MOLEX PINS 100/Sl-OO

100&/$8.00 10 WATT ZENERS 3.9, 4.7, 5.6. 8.2,

16,22.100,150 or 200V. es. $ .60 1 WATTZENERS4.7.S.6.10,12. 15

18 or 22V '. ea. $ .25

UC6860 MODEM CHIP S9.96

MOM 6571A 7 X 9 charactsr gen ■■■ $10.76

Silicon Power Rectifiers I

PRV lA 3A 12A 50A 12SA 240A

100 .06 .14 .30 .80 3 70 5.00

200 07 .20 .35 115 4 35 S.5Q

400 09 .25 50 1 40 6.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 1.10 2.75 1 2.50 20.00

SAD 1024 b REDICON lOZl^UB^nslog "Bucket

Brlgada" ihifi regiaw. $18.95

IN 4148 IIN9 14) 15/Sl OO

MCABl OPTICAL LIMIT SWITCH SI 50

REGULATORS

309K $ .95 340K-12.15

723 $ .50 or 24V. .... $ .95

LM 376 S .60 340T-5. 6, 8, 12

320K-S or 15V $1.20 15.18 or 24VS .95

320T-6.1& " 70 MG $1.36

or.24V . . $ .96 79 MG $1.36

Terms: FOB Cambridge, Mass. Send Check or Money Order. Include Postaoe, Minimum Order SS.OO. COD'S $20.00 ,

Santt 25i for niii dtnloii fKniiiiiiitt Tr.Kisistors .mil Riictif lers 145 Hompshiri! St., Cn[nhricl(|>.-, Miiss

0)

TRANSISTOR SPECIALS

2N6Z33-NPN SWITCHING POWER $1.95 MRF-8004aCBRFTran>Ittof NPN $ 1-50

2N3772 NPN Si TO-3 $ 1.00

2N1546 PNP GE TO-3 $ .75

2N4908 PNP Si TO-3 S 1,00

2N6(S6 NPrg Si TO-3 Oailinnion . S 1.70 2N5086 PNP Si K)-92 4/S 1.00

2N404 PNP GE TO 5 . . - 5/S 1.00

2N3919 NPN S. TO-3 RF S 1.50

MPSA 13 NPN Si TO 92 . . , . 3/S 1.00

2N3767 NPN Si TO-66 S .70

2N2222 NPN Si TO-18 5/S 1.00

2N3055 NPN Si T0.3 S .50

2N3904 NPN Si TO-92 5/S 1.00

2N3906 PNP Si TO-92 5/S 1,00

2N5296 NPN Si TO-220 S 50

2N6109 PNP S. TO-220. . S .55

2N3638 PNP Si TO-5 5/S 1.00

TTL IC SERIES

7400- .13 7446- .68 74151- .61

7401- 113 7446- .66 74163- .61

7402- ,13 7447- .68 74164- .04

7403- .13 7446- .68 74166- .68

7404- .15 7480- .16 74167- .65

7406- .13 7472- .26 74t6t- .66 7406> .16 7473- .28 74163- ,55

7407- .20 7474- .36 74164- .85

7408- .18 7475- .45 74185- .95

7409- .18 7476- .30 74170- IBB

7410- ,13 7480- .31 74173- 1.20

7411- .18 7483- .65 74174- .95

7412- .13 7486- .87 74175- .85

7413- ,38 7486- .38 74176- .75

7414- .60 7490- .42 74177- .75

7416- .22 7491- .58 74180- .66

7417- .25 7492- .43 74181- 1.90 7420- .13 7493- ,43 74190- 1.00

7426- .26 7494- .67 74191- 1.00

7436- .22 7495- .66 74192- .79

7427- .19 7496- .65 74193- .79 7430- ,13 74107- .26 74194- ,80 7432- .22 74121- .29 74195- .86

7437- .21 74122- .38 74196- ,86 7d38- 21 74123- .45 74279- .55

7440- .13 74125- -40 74367- .65

7441- .70 74126- .40 75491- .50 7442^ .37 74150- .94 75492- .SO

1/2 Hf. DATA CASSETTES $1.25

44 Pm Solder Tail .156" Connector S2.20

MM 53B7AA new clock chip which will directly drive LED's 12/24 hrs., 1 supply 8i alarm $5.95 NO. 24 6 CONDUCTOR SPECTRA FLAT CABLE 10* $1.60 100'$13.60

NO. 30 WIRE WRAP WIRE SINGLE STRAND 100' $1.40

ALCO MINIATURE TOGGL^W^HE^""

MTA 106 SPOT S 1.05

MTA 206 DPDT $ 1.70

MTA 206 P-OPDT CENTER OFF < • i.sb MSD 206 P-DPpT CENTER OFF . LEVER SWITCH 5 1.88

SOL^D STATE SALES

P.O. BOX 74 B

SOMbRVIl.I.E. MASS. 02113 TEL. 16171 M7.705:!

Full

Wav

e Bridges

DIP SOCKETS

PRV

?A

6A

2SA

B PIN .22 24 PIN .40

100

200

.75

1.25

1.30 2.00

:4 PIN .25 28 PIN .50

400

.95

1,50

3.00

16 PIN ,28 40 PIN .60

600

l.ZO

1.75

4.00

IS PIN .30

Si 1010 G lOWATTS $ 6.80

Si 1020 G 20WATTS ', . . S13.70

Si 1060 G 50 WATTS S26.90

TANTULUM CAPACITORS

22UF 35V S'Sl.OO

6 8UF 35V 4/S1.00

47UF 35V 5/S1,00

lOUF lOV $

.25

68UF 35V S'Sl.OO

22UF 2SV S

.40

1UF 35V 5/Sl.OO

1SUF3&V 3/$1.00

2.2 UF

20V5/S1.00

30UF 6V 6/$1.00

3.3UF 35V 4/S 1.00

47UF 20V $ .36

4.7UF 15V 5/$t.00

68UF15V S

.50

HLS SERIES

LINEAR ClAtuiTS

74LSOO

- .21

7415136

- .47

LM 101

- .75

74LS02

- ,21

74iS132

- .80

LM 301/748 .39

74LS03

- ,31

74LS136

- ,30

LM307

- ,30

14LSa4

- .28

74LS13a

- ,70

LH30e

- .76

74LS0S

- .28

7415139

- .70

LM 311

- .75

74IJ06

- ,21

74LS151

- .70

LM 318

-1.30

74LSO0

- .28

74LS1S3

- .70

LM319

- ,96

74LStD

- .21

74LS1G5

- ,70

LM 324

- 1.05

74L811

- .21

74L51U

- .70

LM33g

-1.10

74t.Sl3

- .44

74LSIfi7

- .73

LM3S8

-1,40

74LS15

- .28

74LS10O

- .88

LM 370

- M8

74LS20

- .24

74L$iai

- JS

LM 377

-3.W

74U21

- .26

741.5163

- .86

LM380

- .99

74LS3a

- .26

74L.S183

- .86

LMaai

-1.28

74LKn

- .32

74L6ta8

- M

LM 383

-1.28

74LS27

- .33

MLSieS

- m

LM537

-IBO

74LS30

- M

74LS170

LM5B3

-2.B0

74LS3a

- M

74LS173

-1.10

uueBs

- .39

74LSS7

- 32

74LS174

-1.00

tMBSS

- J5

74L8U

- M

74LS17B

- .80

NeB40L

-2.3S

74LS40

- .28

74L81M

- .06

860

-3.00

74L543

- .BS

74LS1S1

- .96

886

~ »

T4LS47

- .78

74L8193

- .96

566

- 1.36

74LSS1

- X

74LS193

- 95

567

- 1 30

74LSW

- .76

74LS1M

- .96

703

- .00

74LS90

- .95

74L5196

- .85

709

- .36

74LS74

- .3B

74USI97

- ,95

710

- .36

74 LS78

- .K

74LS221

- 1.26

741C or V

- .31

74LS85

1.30

74LS257

- .70

- .68

74LS90

- -H

74LS368

- ,70

LM 1310

-3.80

74LSn

- .SB

T4LS278

- .66

148B

- M

74Ln3

- .EB

74LS3m

- .68

14M

- M

74LS1(»

- J8

74LS36S

- M

CA30«e

- .78

74UM3

- .3B

74LS367

- .86

3000

- .40

74LS113

- .38

74LS3fle

- ,65

B038CC

-3.90

74LSn4

- .3B

74LS390

791

1.95

74 LSI'25

- .-IT

LF3GGH

1.75

TRIACS SCR'S

■ 70 1-10 1.75

1,10 1.60 2.60

I.5A 6A 35A

40 .50 1.20

400

6o6

WE SHIP OVER 95% OF OUR ORDERS THE DAY WE RECEIVE THEM

.60 .70 1.60

1.00 1 20 2-20

;ijtgle 103 on inguiry c^rd.

BYTE April 1978 207

Feac3ep Sepvice

To get turther informatiun on Ihe products advertised in B YTH, 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 13 cent stamp to the card, then drop It In tile mall. Not only do you gain Infontlatlon, but our advertisers an encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

1

AAA Chicago Computer 184

47

Forethought Products 153

87

Per Scl 61

125

AJA Software 159

48

4C 104

132

Personal Software 170

2

Alpha Digital 147

49

Gallagher Research Inc (GRI) 155

88

Personal & Small Business Cmptr Expo-^outh 64

3

Anderson Jacobson 59

50

H & K Components 156

89

Philectronix Company 181

4

Apple Computer 8, 9,105

51

DC Hayes 130

*

PolyMorphie Systems 41

6

Artec 101

52

Hayden Books 107

90

Priority 1 203

7

Atwood Enterprises 185

53

Heath CIV, 34, 45

91

Processor Tech 7, 22, 23

8

Automatic Hardware Co 67

140

Heath 186

92

Quest Electronics 190

9

AVR Electronics 186

54

Heuristics 71

93

S-100 155

/10

Barnes Electronic 184

135

Hewlett-Packard 142

94

Sceibi 15

11

Beckian Enterprises 185

55

Hobby World 177

95

Scelbi/BYTE Primer 135

12

Berg Publications 150

146

Hunter College 186

«

Scientific Research 47,83

13

Beta Business Systems 181

56

Integrand 64

96

SD Computer Co 205

14

BITS, Inc 112,113, 121

57

Integrated Circuits Unltd 197

97

Seattle Computer Products 143

BYTE Back Issues 161

58

International Data Systems 96

98

Silver State Ent 184

«

BYTE Bound> Volumes 48

59

Ithaca Audio 154

99

Ed Smith's Software 158

15

California Applied Technology 186

60

Jade 199 t

100

Smoke Signal Broadcasting 73

16

California Industrial 191

61

James Electronics 200, 201

131

TRS-SO Software Exchange 55

17

Canada Systems 160

142

J & E Electronics Sales 186

101

Software Records 160

18

Capital Equipment Brokers 150

129

Jim.PakCIII

102

Solid State Music 87

19

Celetron 103

5

LeIand Sheppard Inc 153

103

Solid State Sales 207

20

Central Data 57

62

Logical Services 162

104

Solid State Time 166

21

Centronics 53

63

Meca 16

105

Southwest Tech Products Corp CI 1

22

Century Data Systems 154

64

Micro Diversion 130

73

SSI 157

23

CMC Marketing 77

66

Micropolis 140

106

Structured Systems Group 165

24

Compacount Computer Sales 186

67

Micropolis 141

107

Sunshine Computers 139

25

Component Sales 145

68

Microprogramming Inc 189

108

Synchro Sound 75,146

26

Computer Components 187

69

Microware 89

109

Szerlip 138

.27

Computer Corner 181

71

Mikos 188

110

Tarbell Electronics 19

28

Computer Enterprises 144

72

Mini Micro Mart 109

111

Technical Design Labs 43,

29

Computer Hardware Store 184 .

145

Mini Micro Mart 167

112

Technical Systems Consultants 97

30

Computerland 62, 63

«

MISCO, Ine 184

23

TEI 77

31

Computer Resources 184

133

mpi 170

113

Texas Instruments 11

32

Computer Systems 184

75

MSD 21

141

Touchstone 186

76

Computer Systems Associates 186

130

National Corporate Sciences 46

114

Trace Electronics 69

33

Computer Systems Store 181

77

National Multiplex 111

115

Trenton Computer Festival 175

34

Contemporary Marketing 164

127

NCC '78 117

116

US Robotics 181

35

Crbmemco 1, 2

78

Netronics 163

117

Vamp 181,184

36

Data Search 156

65

Newrpan Computer Exchange 151

118

Vandenberg Data Products 149

37

Digital Group 17

80

North Star Computer 25, 31

119

Vector Graphic 26,27

38

Digital Research (CA) 157

«

Ohio Scientific 36, 37, 38, 39

120

Vista Computer 98, 99

39

DRC (TX) 193

81

Oliver Advanced Engineering 158

143

Whales 131

40

Disc 3 186

82

' Osborne & Associates 119 \

121

Woodtron Ltd 138

41

Dynabyte 65

83

Owens Associates 181

122

Worldwide Electronics 181

42

Electrolabs 189

84

PAIA161

123

WWW Enterprises 159

43

Electronic Control Tech 55

, 79

People's Capitalism 184

124

Xitex 152

44

Electronic Systems 195

128

Per-Comp '78 84, 85

134

Xvbek142

45

Electronics Warehouse 187

85

Per Com Data 24

126

Zeta Systerris Canada Ltd 181

46

Extensys 5

86

Peripheral Vision 79

Correspond directly with company.

BCMB

GVTE's Ongoini MonitoP Cox

ARTICLE

Article No.

1 Rehm: The TDL System. Monitor Board: A Writer's View

2 Butterfield: An Introduction to Tables

3 Bryant-Swasdee: How to Multiply in a Wet Climate: Part 1

4 Noyce: Optimization: A Case Study

5 Fylstra: The Radio Shack TRS-80: An Owner's Report

6 Kent: The Brains of Men and Machines: Part 4

7 Foster-Southern: A College Microcomputer Facility

8 Ciarcia: Tune In and Turn On! Part 1

9 Barbour: User's Report: The SOL-20

10 Webster: Robot Simulation on Microcomputers

11 Wilber: CIE Net: Part 3: Other Considerations

12 Kellerman: Serendipitous Circles Explored '

PAGE

10 18 28 40 49 66 90 114 126 132 188 178

"Brains" Top January BOMB

The results of the January 1978 BOMB

tally were about as certain biased observers might have expected: Part 1 of Ernie Kent's "The Brains of Men and Machines" (page 11) was first place in the reader poll, with a total score 2.8 standard deviations above the mean of 13 articles. Prof Kent will receive a $100 bonus. Second place and a $50 bonus go to Peter Jennings' "The Second World Computer Chess Championships'' (page 108) which had a score 0.6 standard deviations above the mean. The January poll standard deviation was 21% of the mean. ■

208 April 1978 © BYTE Publications Inc

im-pak

One-stop

elect

as

^ Component Center

NEW!!EXPANDED PRODUCT LINE.

7490 7492

7493 74107

ll77IDUa3BI>

Low Power TTL SchoOky

74L5aO 7'tLS73 74LS10g

74LS03 74LS74 74LS123

74LS04 74L.S75 741.S13E

74Laoe 74LSB3 74LS138

74 LS to 74LSBS 74 LS1S t

& »'4sm

i*tMa

4020 4050

4033 4051

4034 4069 4029 4071

LW30W LU5e7v

LM307V LM733N

LM309K L.W739N LM311V

LM330K-5 (79051 LM747N

LM320T 5 (7905) LM14BSV('

LM320T.1217912) LM148aN

LM320T 15179151 LM14BgN

LM339N LW155SV

LM340T 5 17H05I XR2206

LM3-10T 12(78121 CA30BO

LM340T 15(7B151 CA3130

LM555V CA3140 LMSS6N

MICROPROCESSOR

Z-BO 3101 SOSQA 3103

8313 itim

8334 7489

832S MMS»BZ «B(K)

08)0 83823

3813^40 N8T8f MMsaiiiieioeh cMtA

SOCKETS

B pin low pnltlla 14 pin wira w 14 Rin low BToflla ie wtr* w 16 pin IfliM Rroflla 34 pin wfra w 24 pin lew (wofii* 48. pin Min w 40 pin low profit* TO-a Stdk»t T4 tlin plus TO-5 SaeMi

16 pin plug Malax Plni

CAPACITORS Aluminum Electrolytic

Ceramic Disc

lOpl 50V .QOImld 50V

47p( 50V .0O47m1d 50

IOOdI 50V -Olmfd 50V

22Dpl 50V .032ml(l 50V

330p( SQV .047mfd 50V

«70pf SOV .Imfit 50V

Dipped Tantelum

P.C. POTENTIOMETERS

SinglB-Turn tS-Turn BSOPIK

e40PiK

S4aP5K

a4api0K

BADPSOK

eaoPSK

830P10K 83QPB0K

B36P100K

2.2mtd 35V 3.3m<d S6V 4.7mfd aSV ftSmfd a5V

Display LEDS Discrete

WAN3

XC556 flad XCS56 G<« XC556 Yallow CLIPLITeS-Ra*>.

.Imfd 35V .22n>ld 35V .33mTil 35V ,47ml[t 35V .BBmfd 35V Imfd 36V i.Bmfa 35V

Polyester Mylar

.OOlmld lOOV .023mfd lOOV

.OOlSmld 100V .047ml<l lOOV

.0032mfd lOOV .imtd 100V

.0047mtd 100V .32nUd 100V .Olmtd 100 V

CRYSTALS

CV^tA CW?A CV13A

rmr eups

OlpiwilchM 81 Ida Toggla Pudi Bunor

Submlnlalura Puih Button

IN414BI1N

IN4001

IN4004

TRANSISTORS

2N222aA

2N2907A j'.l(J(i

CONNECTORS

OE325P Plug 08255 S

DATA BOOKS'

HEAT SINKS % W RESISTOR ASST.

•A Wan 8% SO Pc Auortmanu

A new component product line of over 260 items developed for the independent dealer. Guaranteed, nationally advertised products. Complete JIM-PAK progrann includes national advertising, direct mail programs, store display racks, stock rotation plan and return poticy. For dealer information, write or call JIM'PAK, 1021 Howard Avenue, San Carlos, CA 94070 (415) 592-8097.

SEE JIM-PAK AT NEWCOM '78-MAy 2, 3 snd 4,1978 AT THE LAS VEGAS HILTON

SEE YOUR LOCAL DEALER TODAY..

ALABAMA

ARIZONA

Fountain HM Tempe

CALIFORNIA Bell/lower Berkeley Fontana Ft/Uafmn Long Beach Las Angeles Mission Viejo Monterey Oceanside PBioMta

Sacramento

Sacramento

S.j/1 Carlos

San Diego

San Francisco

SanJaso

Son Luis Ql^spo

Sunnyvale

Vallejo

Walnut Creek CANADA

Alhcna (Calgary}

On una (Willowdalel COLORADO

Aurora

Siejniliool Springs CONNECTICUT

Bridgeport FLORIDA

Lakeland

Orlando

Tampa

Tampa FRANCE

Lafayatte Radio ElBctroR^

PS C Communicatmns Computerworld Inc. Yiiina Electronics

Eiirl's Hobby Shop Al Lasher Electronics fontana Electronics. Ome Eieetrpnifx Inc. Scott Radio Supply Flectra Imports Inc. Tower Electronics Corp.

Zackit Electronic Center Zacic Electronics Dow Radio Inc. The Radio Place Zackit MM Outlet Stars Radio Sftm/f A.S.C, MiraMem Zaelf Electronics Quement Electronics Mid-State Electronics Sunnyvale Electronics Zaclcit

Byte Shop Computer Store

The Computer Shop Home Computer Centre

Com Co Electronics Nam's TV 4 Eteetronics

Paris GEORGIA

Atlanta HAWAII

Aiea

Honolulu IDAHO

Idaho Falls ILLINOIS

Computer BoutimtB

Atlanta Computer Mart

Deteeims Ifywali Inaigratmt Circuit Suf^ly

Evanston Groueland

Tri State Electronics Illy Bitty Machine Co. Moyer Electronics

ILLINOIS (Cont'd)

Mount Prospect

.Tri-State Electronics

Oak Park

Spectronics

Sehuanburg

Data Domain

INDIANA

East Chicago

Aero Electronics

Hammond

Quantum Computer Works

IOWA

indianola

Electronix Limited

KENTUCKY

Laxinatoit ft9^»rBt»&6itk:^^Jttmfit Co.

LOUISIANA

^timRot^

Davis Electronics Supply

MARYLAND

BattimOna CottVUter Workshop of Baltimore

Baltimoai

Everything Electronic

Lavale

J &M Electronics

RpdtvillB

Computer Worktop

Towsoo

Computers, Etc.

M^ACHUSETTS

M^Otrfl

Tufts Electronics

North Atoms'

■Electronics Supply Center

miffiofa

Computer Mart Inc.

MICHIQAM

Micro Computer World

Lmartg

Fulton Radio Supply

Mt.&attBns

The Computm" StofB

MINNESOTA

Nortiiwest Radio of Ou^fft

Easao

Computer Room Inc.

MISSOURI

Ei Dorado Springs Beekrtmi E^etfoaks

Park ville Computer Workshop of H^Rsas Cl^

MONTANA

Billings

Conloy Radio Supply

NEBRASKA

Lincoln

Altair CoirviUter Cwtter

(kraba

Omaha Coiapuw Sure

NEVADA

Las Vegas

Century 23

NEW JERSEY

Bay ville A

ft.S. Communications Services

Cherry Hill

Computer Systems Unlimited

Hobakan

Hoboken Computer Works

Pomp«>ri Lakes

Computer Corner

of New Jersey

Ramsey

Typetronic Computer Store

NEW YORK

Albany

Fort Orange Electronics

New York

The Computer Stores inc.

fitavYork

Computer Mart of New YoHc

titty

White nains

ThOCOamater Coraw

NORTH CAROLINA

Durham

Futureworid

Greenslioro

SyuShi^

R^eigh

ByaStattHOf l^^^itt

OHIO

Bucyrus

Mead Electronics

Cine inn,)!'

Digital Design

Dayton

Altair Computer Center

Reynoldsburg

Universal Amateur Radio

Steubenville

Hos/elt Electronics

OKLAHOMA

Guymon

Sound Service

Oklahoma City

Bits. Bytes & Micros

OREGON

Beavemn

Altair Computer Center

Coos Bay

Herrick Electronix

Ontario

Miller Electronics

PANAMA

Panama Cit/

Sonitel, S.A.

PENNSYLVANIA

Har^ev

MieriiCOmputer Systems Inc.

Miirraysville

Computer Workshop

of Pittsburgh

RHODE ISLAND

Cranston

Jabbour Electronics City

Pawtucket

Jabbour Electronics City

SINGAPORE

Inter-Trade (PT^) Ltti,

SOUTH CAROLINA

No. Charleston

JlB^nieal Services liK.

TENNESSEE

Knoxville

Byte Shop

Memphis S&e-Rose S Spencer Electronics

Oak Ridge

Computer Denn

TEXAS

Dallas

Computer Shops Inc.

Houston

Altair Computer Center

Houston

Interactive Computers

San Antonio

Sherman Electronics Supply

VIRGINIA

Alexandria

Computer Hardware Store

Alexandria

Computers Plus

OiariottasvUle

Lafayette Electronics

Richmond

Computers- To-Go

Springfieia

Computer Workshop

of North Virginia

Virginia Beach

HeatbkitMtectronlcs Center

WASRjNGTON

^levtm

Computer Center

Progress Electronics

Pasco

Riverview Electronics

Seattle

Empire Electronics

Srok.inr

Personal Computers

WEST VIRGINIA

Morgan town

The Computer Corner

Mor^tiiwn

Electro Distributing Co.

Circle 129 on inquiry card.

f

a ccmiputer can get awfully bored when il can't communicate!

B» sure to use coupon on page 34 of this

magazine to order your FREE Heathkit Catalog!

i

So unless you'd prefer to h<jv«3^^^ your computer sitting around iHlp cooling its chips, .-f^" "'— we'd strongly sugit you buy a le of peripherals Heath.

!iy us? Becai i we make perifii rits. In fact, they're some of the best jaioiiiid. Our H9 is ^excellent ex3le. It's a comIpTete ASCII keyboard/12" CRT

terminal that was designed for hobbyists just like you. It has a lot of really great features and resolution that's just beautiful. Right on out to 80 characters per line. (Something most outboard lY monitors won't match!) And with built-in selectable interfacing options, the H9 will "converse" with just about any computer going!

Plot MQ

lother <

sal" ijeri|»j|ei## self-contained (it even has its own power supply), this rugged^ paper tape reader/punch gives you quick, convenient mass storage and internal tape duplication capability. It's easy to build and, with its heavy-duty stepper motor, sensitive Darlington photo transistors and precision punches, the HIO is a source of p liable data loading and storage — time after time.

Best of all, priced at $530 and $350 respectively,* the H9 and HIO kits cost less than most other compcrpable peripherals on the market today!

A computer can get awfully bored when it can't eommi cate. Start communicatina' yours through an economic^

iripiarai from Heath! a«^te^!»^FOS, Benton Harbor Michigan.

noes and' speeific.oliona subject to clian(^6|

itliout notice.

iOMPUTERI

' I " 111 il i'i' lilliiliT ''ir Tiii'ir'V'tiiillliiM

System Engineered for Personal Compu^iig

II9IIIO

Circle 53 on inqutfy feard^

t-;^.Ynifcgga»,-<l