Byte Magazine Volume 04 Number 06 - Artificial Intelligence

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)

If you have a problem that can be solved by a computer—we have a systems solution.

* Two central processors with maximum RAM capacities of 56K and 384 K bytes

* Three types of disk drives with capacities of 175K, 1.2M and 16M bytes

* Two dot matrix printers with 80 and 132 line capacity

A Selectric typewriter interface and a daisy wheel printer

Match these to your exact need, add one or more of our intelligent terminals and put together a system from one source with guaranteed compatibility in both software and hardware.

Southwest Technical Products systems give you unmatched power, speed and versatility. They are packaged in custom designed woodgrain finished cabinets. Factory service and support on the entire system and local service is available in many cities.

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216 (512) 344-0241

Circle 350 on inquiry card.

ppmviu.

You can do surprising things

when you have 64 kilobytes of fast RAM

on one card

4 MHz FAST—AND EXPANDABLE

Here's 64 kilobytes of memory on one RAM card. Yes, we mean 512K bits of read/write memory on this single card.

And, yes, we mean it's fast. With 150-nanosecond chip access times — so the card can operate in fast Z-80 systems with no wait states. Repeat, no wait states.

EXPANDABLE ON TWO LEVELS

Not only does the new Model 64KZ give you a large, fast RAM but it is expandable on two levels.

First, through our Cromemco Bank Select feature, you can expand to 512 kilobytes in eight 64K banks.

Or, with our Extended Bank Select feature, you can expand memory space to as much as 16 megabytes.

This expandability we call your obsolescence insurance.

The legend on the card's heat sink is an easy reference for address and bank selection.

Q

BENCHMARK IT

Obviously, the speed and memory capacity of this new card give you a lot of power.

You can see that for yourself in our new 7-station Multi-User Computer System which uses these Model 64KZ cards. This S100-bus system outperforms the speed of many if not most timesharing systems of up to 10 times the Cromemco price.

And yet where some of these much more expensive and cumbersome systems clearly slow to a snail's pace when timesharing, the Cromemco system using Bank Select switching runs surprisingly fast.

SEE IT NOW

See the new Model 64KZ at your computer dealer now. Study the literature on it. See how for only $1785 you can get around that ever-present barrier of memory that's too little and too slow.

Cromemco

For high reliability all Cromemco memory

cards are burned in at the factory in these

temperature-controlled ovens.

Cromemco Multi-User System shown with 7 stations

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

Tomorrow's computers now

Circle 87 on inquiry card.

BYTE lune 1979

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

BUSINESS — EDUCATION — ENGINEERING — MANUFACTURING

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

Naturally, it's from Cromemco.

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

Look at these features:

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

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

• Each user has an independent bank of RAM

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

• You have confidentiality between most stations

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

PROGRAMMERS LOVE OUR BASIC

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

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

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

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

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

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

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

• A line editor simplifies changes.

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

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

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

ra

Cromemco

^^^_^^ Microcomputer Systems

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

BYTE lune 1979

Circle 87 on inquiry card.

In The Oueue

BITE June 1979 Volume 4, Number 6

Foreground

10

49

100

132

176

36

60

70

74

86

146

148

152

156

166

168

228

234

A MODEL OF THE BRAIN FOR ROBOT CONTROL, Part 1: Defining Notation, by James Albus Defining the mathematical notation for a model of the brain

MIND OVER MATTER: Add Biofeedback Input to Your Computer, by Steve Ciarcia Use muscle signals to produce computer input

COMPUTER GENERATED MAPS, Part 2, by William D Johnston A general purpose perspective projection program

THE NATURE OF ROBOTS, Part 1: Defining Behavior, by William T Powers How can behavior of an organism be described?

DESIGNING A COMMAND LANGUAGE, by G A Van den Bout

Using theory of finite state machines to design input command language

m

i

page 36

Background

SIMPLE MAZE TRAVERSAL ALGORITHMS, by Sandra and Stephen A Allen

A contestant of the IEEE Micromouse Contest discusses maze running strategies

MORE COLORS FOR YOUR APPLE, by Allen Watson III

Any pair of complementary colors can be displayed

A HOME FOR YOUR COMPUTER, by Joseph Dawes

Increase the utility and enjoyability of your equipment with a carefully planned cabinet

TALK TO A TURTLE: Build a Computer Controlled Robot, by James A Gupton Jr Use your computer to control a mobile "robot"

MY COMPUTER RUNS MAZES, by David E Stantield Using simple tree searches to reach a goal

The 1802 OP CODES, by Henry Melton

The instruction set of the RCA/Hughes 1802 microprocessor

THE HISTORY OF COMPUTING: THE IBM 7070, by Keith S Reid-Green

The IBM 7070 might have been the start of a new decimal- based computer family

ARTIFICIAL INTELLIGENCE AND ENTROPY, BY R M Kiehn

Chemistry, artificial intelligence, and the second law of thermodynamics

BASIC TEXT EDITOR, by Fred Ruckdeschel

The right tool for the job is often a text editor in BASIC

BUBBLE MEMORIES: A Short Tutorial, by A I Halsema

A nonvolatile, medium speed, data storage device

STACKS IN MICROPROCESSORS, by T Radhakrishnan and M V Bhat Learn the ups and downs of stacks in your microprocessor

TIMESHARING: SQUEEZING THE MOST FROM YOUR MICRO, by Sheldon Linker Microcomputers come of age with timesharing

THREE TYPES OF PSEUDORANDOM SEQUENCES, by C Brian Honess

Use of random numbers is more than just an everyday occurrence

Nucleus

page 49

lijflj

page 60

jfjp

page 74

6

Editorial: On Beginning a New Project

133, 214

BYTE's Bugs

8

Letters

216

Languages Forum

129

BYTE News

223

Event Queue

188

Technical Forum

133, 225

BYTE's Bits

194

Nybbles: The Great APL Contest

249

What's New?

198

Book Reviews

286

Unclassified Ads

206

Programming Quickies

288

BOMB

213

Clubs and Newsletters

288

Reader Service

Cover Art:

THE TURING TEST by Kenneth N Lodding

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 subscriptions, change of address, USPS Form 3579, and fulfillment questions to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Peterborough NH 03458 and at additional mailing offices—USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $18 for one year, $32 for two years, and $46 for three years in the USA and its possessions. In Canada and Mexico, $20 for one year, $36 for two years, $52 for three years. $32 for one year air delivery to Europe. $32 surface delivery elsewhere. Air delivery to selected areas at additional rates upon request. Single copy price is $2 in the USA and its possessions, $2.40 in Canada and Mexico, $3.50 in Europe, and $4 elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawn on a US bank. Printed in United States of America.

Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manuscripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Entire contents copyright © 1979 by BYTE Publications Inc. All rights reserved.

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

Subscription WATS Line: (800) 258-5485

Office hours: Mon-Thur 8:30 AM — 4:30 PM Friday 8:30 AM — Noon

Iune1979 © BYTE Publications Inc

This month's cover by Ken Lodding is called "The Turing Test," after the famous test defined by Alan Turing. It was Turing's contention that a computer could be judged as intelligent if a human questioner could not differentiate between a computer in one room and a human being in another.

The basis for the cover painting is the Necker cube, an optical illusion where it is unclear which end of the cube is in front. The question here is: Is it the human or the computer circuit connected to the keyboard?

In This BYTE

Before discussing the design of A Model of the Brain for Robot Control, it is

necessary to define the notation that will be used in the model. James Albus discusses the overall model objectives and the notation used to describe it, drawing on control systems theory. page 70

The IEEE Micromouse contest requires that a mechanical "mouse" find its way through a maze. The winner is the mouse that makes it through the maze in the least amount of time. Sandra and Stephen A Allen discuss some of the Simple Maze Traversal Algorithms they and Tony Rossetti used for the Micromouse contest. page 36

The types of input available for your computer are limited only by the imagination. This month Steve Ciarcia uses Mind Over Matter to control his computer. Find out how to influence your computer using muscle power, page 48

Although the official documentation for the Apple II high resolution color graphics package states that the colors violet and green are the only colors besides black and white which may be obtained, adjustment of the television controls allows any pair of complementary colors to be displayed. It is also possible to obtain four colors and black and white with appropriate adjustments. Allen Watson III explains how in his article More Colors for Your Apple. page 60

If you enjoy taking your computer system to club meetings or other events, but don't look forward to the attendant wire fiddling and fuss, read A Home for Your Computer by Joseph Dawes. Now you can have a compact computer storage and travel case that doubles as a desk. page 70

One of the most interesting applications of your computer is the control of physical devices. Perhaps you've thought of having a robot-like device that your computer could control. James Gupton Jr describes the fun that he and two of his students had when they set out to do just that in Talk to a Turtle. page 74

It's not hard to put a bit of artificial intelligence into your computer system. David Stanfield found a way to make his system search for "food" in a maze he set up. Find out how to do it in My Computer Runs Mazes. page 86

William D Johnston develops a general purpose program with the capability to generate a wide variety of more advanced perspective projections. He includes a functional program with great versatility, as well as a number of maps generated by that program. Mr Johnston shows how Computer Generated Maps can be used in satellite communications and many other practical applications. page TOO

William T Powers has a control theory approach to the simulation of human behavior. However, before we can simulate human behavior in a robot, we must determine what behavior is. William Powers takes a look at behavioral actions as he explores The Nature of Robots, page 132

When hand-assembling a program it is useful to have a table summarizing the op codes for the processor. Henry Melton supplies us with a table for The 1802 Op Codes. page 746

Keith S Reid-Green continues his History of Computing discussion with a look at The IBM 7070, a second generation computer announced in 1959. page 748

Some scientists over the years have argued that a thinking machine cannot be built because it would violate the second

law of thermodynamics. In Artificial Intelligence and Entropy author R M Kiehn discusses some recently completed work in chemistry that refutes this claim and opens the door once more to the possibility of intelligence in machines, page 752

When performing a lot of manipulations with text it is necessary to have the ability to perform editing functions on the file that is being used. If you have a computer system that runs BASIC, you may find that Fred Ruckdeschel's BASIC Text Editor is a very handy tool. page 756

Bubble memories are a fairly new form of mass storage medium that is available to the general public. For a quick overview of Texas Instruments' bubble memory product, see A I Halsema's article Bubble Memories.

page 766

What is a stack? What does LIFO mean? Stacks can be important tools for the computer programmer. Knowing what they are and how to use them will aid you in improving your programming skills. Find out how stacks stack up in T Radhakrishnan and M V Rhat's article, Stacks in Microprocessors.

page 768

An input command language is often regarded as the least important part of a system. Therefore, some excellent systems are ignored due to the inconvenience encountered when trying to use them. Finite state machine theory is one solution to this problem. For an excellent introduction to the world of finite state machines read G A Van den Bout's article on Designing a Command Language. page 7 76

Flave you ever considered using your computer system in a timesharing mode? To discover what is involved in setting up such a system, read Timesharing: Squeezing the Most from Your Micro by Sheldon Linker.

page 228

Calculating randomness is a very deterministic proposition, especially when pseudorandom number sequences are used. C Brian Honess in his article on Three Types of Pseudorandom Sequences gives some necessary background information on random number calculations and statistical tests of randomness. page 234

Publishers

Production Editors

Circulation Manager

Comptroller

Drafting

Virginia Londoner

David William Hayward

Gregory Spitzfaden

Kevin Maguire

Techart Associates

Gordon R Williamson

Ann Graves

Assistants

Assistant

Typography

Vice-President Periodicals

Faith Hanson

Pamela R Heaslip

Mary E Fluhr

Goodway Graphics

John E Hayes

Art Director

Agnes E Perry

National Advertising

Photography

Assistant

Ellen Bingham

Melanie Bertoni

Ed Crabtree

Jill E Callihan

Production Art

Barbara Ellis

Sales Representatives:

Printing

Wai Chiu Li

Dealer Sales

Hajar Associates Inc

The George Banta Company

Editorial Director

Christine Dixon

Ginnie F Boudrieau

East

Carl T Helmers Jr

Nancy Estle

Anne M Baldwin

280 Hillside Av

Editorial Associate

Executive Editor

Needham Heights MA 02194

Daniel Fylstra

Christopher P Morgan

Typographers

Receptionist

(617) 444-3946

Associates

Editor in Chief

Cheryl A Hurd

Jacqueline Earnshaw

521 Fifth Av

Walter Banks

Raymond G A Cote

Stephen Kruse

New York NY 10017

Steve Ciarcia

Senior Editor

Debe L Wheeler

Traffic Department

12121 682-5844

David Fylstra

Blaise W Liffick

Rick Fuette

Midwest

Ira Rampil

Editor

Advertising Director

Mark Sandagata

664 N Michigan Av

Distributors:

Richard Shuford, N4ANG

Patricia E Burgess

Suite 1010

Eastern Canada

Editorial Assistant

Assistant

Book Division

Chicago IL 60611

RS-232 Distribution Company

Gale Britton

Ruth M Walsh

Publisher

(3121 337-8008

186 Queen St W. Suite 232

New Products Editor

Adv/Prod Coordinator

Edmond C Kelly Jr

West, Southwest

Toronto ONTARIO M5V-1Z1

Clubs, Newsletters

Thomas Harvey

Production Editors

1000 Elwell Ct

Western Canada

Laura A Hanson

Advertising Billing

Patricia Curran

Suite 227

Kitronic Ltd

Drafting

Noreen Bardsley

William Hurlin

Palo Alto CA 94303

26236 26th Av RR 5

Jon Swanson

Don Bardsley

E S Associates

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

Aldergrove BC VOX 1A0

June 1979 © BYTE Publications Inc

Structured Systems

business software can

put a microcomputer

to work for you.

SSG's general accounting, data inquiry, mailing, and communications software packages are bringing real computer power to hundreds of businesses right now. They are ready to go to work for your business.

The Honest-To-Business $12,000 Computer

Our software will power DYNABYTE, CROMEMCO, IMSAI, NORTHSTAR, ALTOS, MICROMATION, DIGITAL SYSTEMS, or other Z-80 or 8080 based computers through your General Ledger, Accounts Receivable, and Accounts Payable. And maintain a conversational data-base query system, store and print your mailing list and labels, produce and edit correspondence, address it from your mailing list, and more. The price for a total system—hardware and SSG software—ranges from $8,000 to $14,000.

Real Business Computing

Our Business Software packages are designed to be up and running and working for you in a matter of hours. Without expensive reprogramming, technical staff additions, or costly trial-and-error. Our quality is high, our documentation practically self-instructive. The applications are flexible and extensive, designed to meet and exceed the requirements of most small to medium businesses. Real computer solutions at microcomputer prices.

Some Pleasant Surprises

Your computer retailer can give you a demonstration and literature. You might find a solution just right for your business with"off the shelf"prices and delivery times. Or we will be happy to send you literature direct, including a list of our dealers and compatible hardware. Write us, or call.

The SSG product line includes these outstanding packages:

General Ledger LETTERIGHT Letter Writer

Accounts Receivable NAD Mailing System

Accounts Payable QSORT Sorting System

CBASIC-2 WHATSIT? Data/Query System

Structured Systems Croup

INCORPORATED

5204 Claremont Oakland, California 94618 (415) 547-1567

* Complete prices will vary with equipment and software selected. Required: 8080 or Z-80 based computer running a CP/M or CP/M-compatible disk-based operating system. Your retailer or SSG can advise on specifics. (CP/M is a product of Digital Research.)

Circle 353 on inquiry card.

BYTE June 1979

Look for

Shugart drives

in personal

computer systems

made by these

companies.

Altos Computer Systems

2378-B Walsh Avenue Santa Clara, CA 95050

Apple Computer

10260 Bandley Dr. Cupertino, CA 95014

Digital Microsystems Inc.

(Formerly Digital Systems) 4448 Piedmont Ave. Oakland, CA 94611

Imsai Mfg. Corporation

14860 Wicks Blvd.

San Leandro, CA 94577

Industrial Micro Systems

633 West Katella Suite L Orange, CA 92667

North Star Computer

2547 9th Street Berkeley, CA 94710

Percom Data

318 Barnes Garland, TX 75042

Polymorphic Systems

460 Ward Dr.

Santa Barbara, CA93111

Problem Solver Systems

20834 Lassen Street Chatsworth, CA 91311

Processor Applications Limited

2801 E. Valley View Avenue West Covina, CA 91792

SD Sales

3401 W. Kingsley Garland, TX 75040

Smoke Signal Broadcasting

6304 Yucca Hollywood, CA 90028

Technico Inc.

9130 Red Branch Road Columbia, MD 21045

Texas Electronic Instruments

5636 Etheridge Houston, TX 77087

Thinker Toys

1201 10th Street Berkeley, CA 94710

Vista Computer Company

2807 Oregon Court Torrance, CA 90503

r<i.Shugart

6 lune 1979 © BYTE Publications Inc

Editorial

by Carl Helmers

On Beginning a New Project...

This week, I began a new project. It is one which could be begun by many of our readers, that of building a new computer system. In photo 1 we see what my last project turned into after four years of effort at various levels: a 6800 processor with some 28 K of programmable memory, sockets for 8 K of 2708 read only memory, a Sykes 9000 series floppy disk subsystem, a tape subsystem, and communications via parallel ports to two other computers: an Altair and my ALF Products AD-8 music synthesizer. As can be seen by the photo, this system is a packaging nightmare.

I now use a cleaner machine, manufactured by Northwest Microcomputer Systems, as my primary computer. The old homebrew sits downstairs, unused for the most part. The Pascal oriented machine that is upstairs gives me a software development facility which can support my hardware projects, something I did not previously have to such a degree. However, the Pascal machine does not yet talk to the music synthesizer and the music keyboard, so I still have that problem.

To solve that problem, I have set out on a new

project: building a general purpose computer for use as a local controller of the music peripherals. The communication with the main software source, the Pascal machine, will be via a high speed serial communications line when the music machine is not used alone, as in a live performance situation. The processor in this new local controller will be a Motorola 6809. It is perhaps the ultimate 8 bit processor of current technology.

In order to accomplish the musical goal of either self-contained or remote commanding of the synthesizer, such a controller must contain certain minimum functions. It must have a local communications oriented monitor, as well as a monitor oriented toward self contained operation. The communications monitor contains simple binary (not decoded ASCII) command functions for loading memory, examining memory, dumping memory, and jumping to arbitrary locations. This sort of monitor might take 100 or 200 bytes of code in the 6809's instruction set. The self-contained operations monitor

Text continued on page 124

Photo 1: This homebrew personal computer system is an example of the kind of packaging nightmare which can result from experimentation with hardware. It works quite nicely, but is not exactly portable. This system proves that in hardware, as in software, It is possible to get a system where the patches and ad hoc kluges tend to outnumber the original features of the design.

"Nty Shugart followed me h

IT'

%

M

I

&

rs^

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

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

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

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

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

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

^Shugart

435 Oakmead Parkway. Sunnyvale. California 94086

See opposite page (or list of manufacturers featuring Shugart's minifloppy in their systems.

TM minifloppy is a registered trademark ot Shugart Associates

BYTt |une197«J

Letters

DIGITIZING DATA BASES

Recently I saw an advertisement for the new Bit Pad One and thought of the numerous uses it presented. One that is especially interesting is building a data base.

The computer could be programmed to print a sentence or word in any form of lettering or type font, from script to Old English by letting a string equal any modified letter of the programmer's choice. With 26 strings, you would have a complete alphabet in any form you like. The computer could identify the input letter, word, or phrase, match it with the correct string variable, and print that variable (letter). The outcome would range from a letter to a full paragraph typed and printed in any font imaginable.

The only way to store such data as these modified letters without investing hours of time in plotting coordinates and typing them in, would be to illustrate the letters on the new Bit Pad One.

I hope all computer enthusiasts can derive as much enjoyment from this amazing device as I anticipate.

Jeff Korn

71 Hillary Ln

Penfield NY 14526

Any way you look at your proposed project, it is a major undertaking. The concept of building data bases from a digitizer Is not new, but the programming exercise it involves is sure to be rewarding. RGAC

DIGITAL RADIO OPERATORS

In response to Don Stoner's letter, "Calling all Computers" (December 1978 BYTE, page 159), I thought you might be interested in some details of the new "packet radio license" available in Canada.

The Amateur Digital Radio Operator's Certificate is an Amateur Radio certificate, the holder of which is qualified to operate in some amateur radio bands. Mr. Stoner refers to this as the "Packet Radio Service" and implies that it is separate from the Amateur Radio Service. This is not true. Neither is it true that some of the band will probably go to the GRS (CB) service. As a matter of fact, the DOC seems proud of the fact that Canadian amateurs are the first in the world to implement the technique of packet radio on the amateur bands. They have made liberal bandwidth allowances in several portions of the 220 MHz band specifically for this technique, and it seems unlikely that

they would start chopping off portions of this "show case" band to hand over to the GRS service.

The Amateur Digital Certificate allows operation on all amateur frequency bands above 144 MHz. This includes 144 to 148 MHz (2 meters), 220 to 225 MHz, 420 to 450 MHz, 1215 to 1300 MHz and five more bands from 2.3 to 24 GHz. It allows all current modes such as Morse code, single side band voice, FM voice, FSK or AFSK teletypewriter or data, and television, as well as several modes of pulse transmission. This is aimed primarily at the computer and electronics hobbyists who would like to participate in computer networking. The requirements (ie: examination) reflect this.

There is no Morse code exam at all. The written exam has three parts:

• multiple choice questions on Canadian amateur radio regulations,

• questions on radio communications theory and operation (on the Advanced Amateur level),

• the digital exam with questions on computing, analog and digital transmission, packet radio, queuing theory, digital coding, error control and other topics.

The pass requirements are 70 percent per section and the exam is not simple (I've written it),so it seems that they are looking for serious hobbyists to pass this exam.

Those who already hold an amateur or advanced amateur certificate in Canada are allowed to do anything that this new certificate allows (including packet radio) except for the pulse modes of transmission. (FSK is the current favorite for low speed networks and point to point contacts, with some type of PCM for the higher speed networks.) This new license is ideal for those computerists who want to get on the air with their terminal or computer but could never stand Morse code.

Personally, I can't wait to finish building my transmitter and get my Z-80 system on the air, and I would like to hear from other Canadian readers who are doing the same. I certainly don't talk to many hams on the HF bands who are interested in computing.

Ron Vanderhelm, VE7COR

University of British Columbia

Amateur Radio Club

Box 7 SUB, University of BC

Vancouver BC CANADA

LINEAGE PROGRAMMING

I am a genealogist and would like to get in contact with suppliers of programs for use by genealogists. I have a Digital Equipment Corp PDP-10 with expanded memory, disk, and paper tape.

Mrs G V Creaser

4 Sunny Hill Rd

Northboro MA 01532

ComputerLand

Huntsville, AL

(205) 539-1200

Phoenix, AZ

(602) 956-5727

Little Rock, AR

(501) 224-4508

Belmont, CA

(415) 595-4232

Dublin, CA

(415) 828-8090

El Cerrito, CA

(415) 233-5010

Hayward, CA

(415) 538-8080

Lawndale, CA

(213)371-7144

Los Altos, CA

(415) 941-8154

Los Angeles, CA

(213) 776-8080

Marin, CA

Call Directory Information

Pasadena, CA

(213) 449-3205

Saddleback Valley, CA

(714) 770-0131

San Bernardino, CA

(714) 886-6838

San Diego, CA

(714) 560-9912

San Diego East, CA

(714) 464-5656

San Francisco, CA

(415) 546-1592

San Jose, CA

(408) 253-8080

Santa Maria, CA

(805) 928-1919

Santa Rosa, CA

(707) 528-1775

Thousand Oaks, CA

(805) 495-3554

Tustin, CA

(714) 544-0542

Walnut Creek, CA

(415) 935-6502

Colorado Springs, CO

(303) 574-4150

Denver, CO

(303) 759-4685

Fairfield, CT

(203) 255-9252

Newark, DE

(302) 738-9656

Boca Raton, FL

(305)368-1122

Ft. Lauderdale, FL

(305) 566-0776

Jacksonville, FL

(904) 731-2471

Atlanta, GA

(404) 953-0406

Honolulu, HI

(808) 521-8002

Arlington Heights, IL

(312) 255-6488

Downers Grove, IL

(312)964-7762

Mundelein, IL

(312) 949-1300

Niles. IL

(312)967-1714

Oak Lawn, IL

(312)422-8080

Peoria, IL

(309) 688-6252

Indianapolis, IN

Call Directory Information

Overland Park, KS

(913)492-8882

Louisville, KY

(502) 425-8308

Rockville, MD

(301) 948-7676

Grand Rapids, Ml

(616) 942-2931

Southfield, Ml

(313)356-8111

Bloomington, MN

(612) 884-1474

Rochester, MN

(313) 652-9000

Springfield, MO

(417)883-7085

Nashua, NH

(603) 889-5238

Cherry Hill, NJ

(609) 795-5900

Bergen County, NJ

(201) 845-9303

Morristown, NJ

(201) 539-4077

Buffalo, NY

(716) 836-6511

Ithaca, NY

(607) 277-4888

Nassau County, NY

(516) 742-2262

Charlotte, NC

(704) 536-8500

Cleveland, OH

(216)461-1200

Columbus, OH

(614) 888-2215

Portland, OR

(503) 620-61 70

Harrisburg, PA

(717) 763-1116

Austin, TX

(512)452-5701

Dallas, TX

(214) 363-2223

South West Houston, TX (713) 977-0909

Houston Bay Area, TX

(713)488-8153

Salt Lake City, UT

(801) 364-4416

Tyson's Corners, VA

(703) 893-0424

Bellevue, WA

(206) 746-2070

Federal Way, WA

(206) 838-9363

Tacoma, WA

(206) 581-0388

Madison, Wi

(608) 273-2020

Milwaukee, WI

(414) 466-8990

INTERNATIONAL

Adelaide, Australia

Call Directory Information

Brisbane, Australia

07 221 9777

Perth, Australia

Call Directory Information

Sydney, NSW Australia

29-3753

Brussels, Belgium

43 29 05

Burlington, Canada

Call Directory Information

Toronto, Canada

Call Directory Information

Winnipeg, Canada

(204) 772-9519

Manila, Philippines

58-36-66

June 1979 © BYTE Publications Inc

Circle 75 on inquiry card.

\

1

1

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

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

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

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

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

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

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

FOR THE HOME

ComputerLand Corp.

14400 Catalina St.

San Leandro, CA 94577

(415)895-9363

Franchise Opportunities Worldwide.

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

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

In industry, the basic applications are in engineering development, process control, and scientific and analytical work. Users of microcomputers in industry have found them to be reliable, costeffective tools which provide computing capability to many who would otherwise have to wait for time on a big computer, or work with no computer at all.

And now we come to you, which leads us right back to where we started: If you want a computer, then we want to be your computer store.

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

ComputerLand

WE KNOW SMALL COMPUTERS

ComputerLand Europe Europa Terrassen 8 Rue Jean Engling Dommeldange, Luxembourg Phone 43 29 05 Telex 2423

© ComputerLand Corp., 1978

BYTE June 197')

A Model of the Brain for Robot Control

Part 1: Defining Notation

James Albus

Project Manager

National Bureau of Standards

United States Dept of Commerce

Washington DC 20234

The ideas presented in this article represent the views of the author and not those of the Department of Commerce or the National Bureau of Standards.

Editor's Note:

This month Dr James Albus begins an ambitious 3 part series about the brain. His theories, which evolved out of control systems theory, form an interesting contrast to Ernest W Kent's series, "The Brains of Men and Machines" in BYTE for January, February, March, and April 1978. We hope that nonmathematically oriented readers will persevere through the more technical sections in order to benefit from Dr AI bus's insights. . .. CM

In order to build a computer model of the brain for robot control we must start with a clear understanding of what the brain is for (ie: its primary function). If one examines what most brains do all of the time, and what our own brains do most of the time, it is clear that the brain is not used primarily for thinking.

The brain is first and foremost a control system. All brains, even that of the tiniest insect, control behavior. Some brains can produce very complex behavior, but only the most sophisticated and highly developed brains exhibit the phenomenon of thought. Clearly then, thought is not the central purpose of the brain, but is, rather, an artifact that arises out of the complex computing mechanisms required to generate and control extremely sophisticated behavior.

This implies that would-be brain modelers should first attempt to understand, and if possible, reproduce the control functions and behavior patterns that exist in insects, birds, mammals, and, in particular, primates. Only after these control systems are successfully modeled can we expect to understand the mechanisms that give rise to intelligence and abstract thought in the human brain.

If the brain is primarily a control system, then any brain model we construct should control something. One of the most obvious candidates is a robot manipulator, since it rather closely resembles a limb, the most common type of device controlled by the brain. We shall therefore first develop a computer model of a basic neurological structure which can compute control functions for a robot manipulator.

We shall then attempt to demonstrate how this basic model can be generalized to compute a broad class of analytic, transcendental, or logical functions and production

rules of many multivalued variables. We will show how this same model can learn, remember, and recognize patterns and how it can be interconnected into a hierarchical network for generating sensory interactive, goal directed behavior.

We wi{l suggest how such a hierarchy might remember experiences, solve problems, plan tasks, select goals, answer questions, structure knowledge of the world and events, and understand and generate music or natural language. Finally, we will also suggest some possible experiments and lines of research that might be pursued by one or more ambitious personal computer enthusiasts with limited resources.

The Nature of Computation in the Brain

The brain is, of course, not a single computer, but rather a network of billions of individual computing devices interconnected so as to produce coordinated and unified action. There are millions of photodetectors in each eye and thousands of audio detectors in each ear. The body is embedded with sensors which detect touch, pressure, heat, cold, and pain; chemical analyzers that detect the smell and taste of things; and sensors that measure the position of joints, the tension in tendons, and the length and velocity of contraction of muscles. Inertial sensors measure roll, pitch, and yaw accelerations, and the position of the head with respect to gravitational attraction; and hormone detectors, thermosensors, and blood chemistry analyzers report on the internal biological condition of the organism.

All of this information is analyzed and processed in innumerable computing centers which detect patterns, compare incoming data with stored expectations, and evaluate

10

June 1979 © BYTE Publications Inc

Circle 141 on inquiry card.

THE FAMOUS GRIVET SERIES OF

INDUSTRIAL ROBOT KITS

PICTURED ABOVE: 3-AXIS MANIPULATOR (KIT NO. 3) WITH ELECTRONICS - $750.00

SEND FOR COMPLETE CATALOG

II

$10.00

MAIL CHECK OR MONEY ORDER TO:

Computer Shoppe, Inc. Metairie, LA

Digital Design Cincinnati, OH

Computer Mart of NY New York City

Computer Mart of NJ Iselin, NJ

Minnesota Micro Sys. Minneapolis, MN

Irisco Du Quebec

GALLAHER RESEARCH, INC.

DEALERS

Quebec, Canada

Heathkit Electronics Center Anaheim, CA

Personal Computer Center Overland Park, KS

Tom morrow/Today New Port Richey, FL

Computer Ware Encinitas, CA

Computer Forum Santa Fe Springs, CA

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

the results. In many different ways and at many different levels this sensory data stream interacts with the behavior generating system to select goals, modify habits, and direct the actions of millions of muscles and glands to produce what is observed as behavior.

Perhaps the most obvious feature of the brain is that many computations are going on in many different places simultaneously. The brain does not execute sequential programs of instructions under control of a program counter. There is no fetch/execute cycle. The mathematics of finite state automata and Turing machines are not wellsuited for describing the basic operations of the brain. In fact, the fundamental computations performed in the brain are not even digital — they are analog. Each neuron in the brain is essentially an analog computer performing complex additions, integrations, differentiations, and all sorts of nonlinear operations on input variables that can number from one to several hundred thousand.

The brain is a digital device only in that information is encoded for transmission from one neuron to another over long transmission lines (called axons) by pulse-frequency or pulse-phase modulation. When these pulse encoded signals reach their destinations, they are reconverted into

analog voltages for the computations which take place in the dendrites and cell bodies of the receiving neurons (see "Designing a Robot from Nature" February 1979 BYTE, page 28).

The brain achieves its incredible precision and reliability through redundancy and statistical techniques. Many axons carry information concerning the value of the same variable, each encoded slightly differently. The statistical summation of these many imprecise and noisy information channels results in the reliable transmission of precise messages over long distances. In a similar way, a multiplicity of neurons may compute on roughly the same input variables. Clusters of such computing devices provide statistical precision and reliability orders of magnitude greater than that achievable by any single neuron. The outputs of such clusters of neurons are transmitted and become inputs to other clusters, which perform additional analog computations. These are the variables we have to deal with and the computations we have to simulate if we are to model the brain in any meaningful way.

To those familiar only with fetch/execute machines, this may seem an extremely difficult structure to model. I hope, in the course of these articles, that some of the difficulties

A pencil, a card, and this low-cost reader.., it's the new, fast way to enter data into your microcomputer."

MARK READER

i P

Interfaces to TRS-80, Apple II, PET, and others.

Good news! Now, all you need is a standard #2 pencil, a card, and our new MK-500 mark sense card reader to quickly and easily enter data into your favorite microcomputer.

As Easy as One, Two, Three...

Here's all you have to do. One— program the card by marking with the pencil. Two — feed the card into the reader slot. Three — the reader automatically turns on, the card is fed through, and data is instantly entered into memory. It's the simple low-cost alternative to keyboard data entry.

For Educators, Small Businessmen, and...

The applications for our low-cost MR-500 are endless. For small businesses, it's ideal for inventory, time cards, labor distribution (just to name a few). Educators will find that the MR-500 streamlines test scoring, attendance records, and grade reporting. Bet you can find a use already.

The Small Reader for the Small Computer

The MR-500 is lightweight — 4 lbs. Compact —

a 4V4-inch cube. And at $750, it's the only mark ^^^ j for details.

sense card reader that makes sense for the l<r^-^iZ ! °r better yet'

small computer. I order yours today.

CHATSWQRTH DATA

C= CTJ f=9 F=» C=3 F=^ ^^.-t— I CS l^«J

20710 Lassen Street • Chatsworth, California 91311 (213)341-9200 ^ffl

.....

lis. >r yet,

Circle 98 on inquiry card.

(a)

A VECTOR WITH V= v

lb)

V=(vx,vy)

(C)

V = (vx,vy,vz)

will be cleared away and the prospects for building such structures will seem less dubious.

The Need for Notation

In order to discuss an engineering design for a robot control system modeled after the brain, we must first devise a mathematical convention and notation to bridge the gap between the structure of the brain and the structure of currently available computers. This is essential if we are to describe behavior precisely and to translate that description into a design for circuits and program statements to generate behavior in a computationally concise manner.

Vectors

One way to describe many variables and deal with many simultaneous multivariant computations is to use vector notation. A vector is simply an ordered set, or list of variables. A vector can specify magnitude and direction. The vector V in figure lb has two components vx along the X axis and vy along the Y axis. The ordered set, or list of components define the vector so that we can write V = (vx, vy).

The components of a vector can also be considered as the coordinates of a point (vx, vy) which corresponds to the tip of the vector. The locus of all pairs of components which can exist defines a vector space (for two dimensions the vector space is a surface). A vector can have more than two

Figure I: Defining space with vectors. A vector is an ordered list of variables which defines a point in space; (a), (b), (c), and (d) depict vectors representing I, 2, 3, and 4 dimensions, respectively. The number of dimensions in the space is equal to the number of variables in the list. (The illustration in (d) is meant only to be symbolic of a four-dimensional vector, which cannot be visualized in three dimensions.)

Now, a book

for the practicing

professional...

"This is the best handbook of data communications system technology tliat this reviewer has yet encountered."—ArvidG. Larson in ACM Computing Reviews, February 1978

Digital Press announces the publication of TECHNICAL ASPECTS OF DATA COMMUNICATION by John McNamara.

Written for the practicing professional, TECHNICAL ASPECTS OF DATA COMMUNICATION details the nuts-and-bolts problems and solutions in configuring communications systems. It features: • comparison of protocols (DDCMP, BISYNC, SDLC) • extensive explanation of interface standards (CCITT/V.24, RS232C, RS422, RS423) • six comprehensive appendices (how far/how fast?, modem options, codes, UART, fonnat and speed table for asynchronous communication, channel conditioning) • 20 milliampere loop • telephone switching systems • error detection

• 382 pages • 125 figures • 70 pages of tables • index • hardcover

Digital Press C8

Education&J Services Digital F.quiprnent Corp. Croshy Drive. Bedford. MA 01730

1 would like to order copies of

TECHNICAL ASPECTS OF DATA COMMUNICATION at $19.95* per copy. □ Check enclosed □ Money order enclosed *Plus $1 for postage and handling

Name — —

Address City

State

Zip Prices apply in U.S. only.

lune 1M79 © BYTE Publications Inc 13

RATE OF PRECIPITATION

WIND SPEED

W'= (w ,wi,w' w' )

TEMPERATURE

Figure 2: If, as time progresses, one or more of the components of a vector W change, the vector will move through space, tracing out a trajectory Tw.

(a)

»TS

TIME

components. A vector with three components defines a volume (figure 1c), and a vector with four or more components defines a hyperspace (figure 1d). A hyperspace is impossible to visualize, but is a very useful concept for our discussion.

A vector in a higher dimensional space can usually be visualized as a projection onto a lower dimensional space. For example, typical mechancial drawings portray front, side, and top views of a three-dimensional form projected onto a two-dimensional sheet of paper. Each projection can either illustrate a cut through the object at a particular plane along the projection axis, or a superposition of all the salient features of the object collapsed into the plane of the illustration. In the collapsed version, the fact that two points or lines intersect in the projected image does not necessarily mean that they coincide or intersect in the higher dimensional space — they may simply lie behind each other along the projection axis. The projection operator ignores variable differences which correspond to distance along the projection axis.

It is not necessary to make the projection axis coincident with any of the coordinate axes. For example, in the oblique projection (perspective drawing) of figure 1c, the projection axis (the normal line to the paper through the origin of the coordinate system) is not aligned with any of the coordinate axes. The lines in the drawing represent the projections of lines in a three-dimensional space onto the two-dimensional surface of the paper. In a similar way we can project higher dimensional vectors and hyperspaces of any dimension onto a two-dimensional drawing. Figure 1d illustrates a four-dimensional vector projected onto a two-dimensional drawing.

(b)

.2 //

States and Trajectories

A vector can specify a state. This is the primary use we shall make of vectors in this discussion. A state is defined by an ordered set of variables. For example, the state of the weather might be characterized by a state vector W = (w1, w2, w3, w4) where:

w1 = temperature,

w2 = humidity,

w3 = wind speed,

w4 = rate of precipitation.

Figure 3: If the ordered list of variables which define a vector includes time, the space defined by the vector will have time as one of its axes. As time progresses the vector will move along the time axis. If none of the other variables is time dependent, the trajectory will be a straight line parallel to the time axis, as in (a). If any of the other variables change with time, the trajectory will be some curve with a component along the time axis as in (b).

Now the weather, like many things, is not constant. It varies with time. Each of the state variables (temperature, humidity, wind speed, and rate of precipitation) is time dependent. Thus, as time passes, the point defined by W' will move through the four

14 June 1979 © BYTE Publications Inc

dimensional space. Figure 2 illustrates the locus of the point traced out by W as it moves to define a trajectory Tw.

It will often be convenient to represent time explicitly in our notation. We can easily do this by simply adding one more variable, time (t), to our state vector, thus increasing by one the number of dimensions in the space defined by the state vector. For example W = (w-|, w2, w3, w4, t).

As time progresses, any point defined by the state vector moves along the time axis. A state vector whose Wj components do not vary with time will now trace out a straight line trajectory, parallel to the time axis as shown in figure 3a. If, however, any of the Wj components is time dependent, the state trajectory will contain velocity components that are orthogonal, as well as parallel to the time axis, as shown in figure 3b.

If we project the state space of all the variables except time onto a two-dimensional surface, we can represent the passage of time by the motion of this two-dimensional plane along the time axis normal to it, as in figure 4. The state trajectory Ts is the locus of points traced out by the state vector as time passes.

A large variety of things can be represented as vectors. For example, we can represent an ASCII character as a vector (figure 5). The ordered set of binary digits in the ASCII representation corresponds to the components of a binary vector. Each symbol in the ASCII alphabet is uniquely paired with a vector in an eight-dimensional hyperspace. Each symbol thus corresponds to a point in the hyperspace.

This is an important concept, because it allows us to define any set of symbols as vectors or points in hyperspace. Any string of symbols then becomes a trajectory through the hyperspace. For example, the string of symbols, "the cat chased the rat," can be described as a trajectory through a hyperspace defined by any set of variables defining the English alphabet (plus a blank character). This also applies to the string WXYZwhen:

W is the command: Reach to Position A; X is the command: Grasp; Y is the command: Move to Position C; Z is the command: Release.

We need not restrict ourselves to binary vectors. Symbols may be represented by vectors with continuously variable components as well. This allows us to introduce the concept of fuzzy symbols. If the hyperspace is continuous, then each point which corresponds to a symbol has some neighbor

About the Author:

Dr James S Albus worked for NASA from 1957 to 1972 designing optical and electronic subsystems for over 15 spacecraft, and for one year managed the NASA Artificial Intelligence Program. Since 1973 he has been with the National Bureau of Standards where he has received several awards for his work in advanced computer control systems for industrial robots. He has written a survey article on robot systems for Scientific American (February 1976) and his Cerebellar Model Arithmetic Computer won the Industrial Research Magazine IR-100Award as one of the 100 most significant new products of 1975.

Figure 4: If the vector space defined by all of the vector components except time is projected upon a two-dimensional surface, then the passage of time can be represented as the movement of the two-dimensional surface along the time axis normal to it.

a= (1,0,0,0,0,1,1,1)

A= (1,0,0,0,0,0,1,0)

Figure 5: A vector can represent a symbol. Here two symbols from the ASCII character set, an uppercase A and a lowercase a, are represented as vectors (or points) in an eight dimensional space. The values of the eight bits in the ASCII code are plotted along the eight axes. (b& is the even parity bit.)

June 1979 © BYTE Publications Inc 15

Figure 6: Each point in hyperspace, corresponding to a particular symbol such as a or e, has some neighborhood of points around it which are closer to it than to any other symbol. Variations from the exact, or ideal position of a symbol vector may derive from noise in a transmission channel or from differences between the observed symbol and the ideal.

EXACT SYMBOL a

EXACT SYMBOL e

NEIGHBORHOOD OF e

Figure 7: Functions can be expressed in a number of different ways. Here the functional relationship between Y and X is expressed as an equation and a graph.

hood of points around it which are much closer to it than any other symbol's points. This is illustrated in figure 6. We may view the points in such a neighborhood in one of two ways:

1. The difference between the neighborhood points and the exact symbol point derives from noise on the channel transmitting variables denoting the vector components. This is useful in signal detection theory, where the detection of a vector within some neighborhood of a symbol vector corresponds to the recognition of that symbol against a noisy background.

2. The difference from the exact symbol derives from distortions or variations in the symbol itself. This makes the best sense if the components of the symbol's vector are values of attributes or features of the symbol, rather than arbitrary digits as in the ASCII convention. In this case, a neighborhood of points corresponds to a cluster of feature vectors from a symbol set which are not identical, but very nearly so.

For example, a vector of features from the printed character e will be slightly different for each instance of that symbol on a page

-21

-18

-15

-12/

\ 9

-/

'6

y = 2x2 + 3x + 6

1 1 1 1

-3

i

i i i

■A -3 -2 -I

due to variations in the paper on which it is printed. However, if these e feature vectors fall in compact clusters far from the feature vectors of other symbols, the letter e will be easily recognized, despite the fact that no two specimens are exactly alike.

This is a fundamental concept in pattern recognition theory. Hyperspace is partitioned into regions, and the existence of a feature vector in a particular region corresponds to the recognition of a pattern or symbol. By definition, the best set of features is the one that maximizes the separability of pattern vectors. In the design of pattern recognizers it is important to select a set of features which is easily measured and which produces widely separated and compact clusters in feature space.

Functions and Operators

In the physical world, functions are usually defined as relationships between physical variables. For example, we could say that climate over a particular geographical region is a function of the heat input, the prevailing wind conditions, and other factors, or that the seasons are a function of the position and orientation of the earth relative to the sun. Similarly, we may say that the level of hunger we experience is a function of the signals on nerve fibers reporting on the state of the stomach, chemistry of the blood, the time of day as indicated by internal biological rhythms, and so on.

In mathematics a function defines (and is defined by) a relationship between symbols that can sometimes be set in one-to-one correspondence to physical variables. As in the physical world, a function usually implies a directional relationship (eg: the relationship between cause and effect has a direction which flows from cause to effect). In traditional terms a function may be expressed as an equation, such as:

16

June 1979 © BYTE Publications Inc

y = f(x)

which reads: y equals a function f of x. The function:

y = 2x2 + 3x + 6

is a relationship between y and x.

Functions can also be expressed as graphs. Figure 7 is a plot of the equation y = 2x2 + 3x + 6. Functions may sometimes be defined by tables. The table in figure 8a defines the Boolean AND function Z=X«Y. This function can also be drawn as a circuit element (see figure 8b) which performs the AND function on two inputs.

Tables can also be used to define nonBoolean functions. Tables of logarithms or trigonometric functions are good examples of this. Of course, a table defines a continuous function exactly only at the discrete points represented in the table. Thus, the accuracy of a continuous function represented by a table depends on the number of table entries (ie: the resolution on the input variables). Accuracy can, of course, be increased by interpolation techniques. In general, the number of entries required to compute a function by a table lookup is proportional to RN, where R is the resolution of each input variable, and N is the number of input variables. This exponential increase in size of the table required is the principal reason that multidimensional functions are seldom computed by table lookup.

Modern mathematics often expresses functional relationships in terms of mappings from a set of states defined by independent variables onto a set of states defined by dependent variables. In one notation, this is expressed by the string f:

f:C—*>E

which reads, "f is a relationship which maps the set of causes C into the set of effects E." It means that for any particular state in the set C, the relationship f will compute a state in the set E. This is shown in figure 9.

We have already shown that states can be denoted by vectors and sets of states by sets of points in vector hyperspaces. Thus, the notion of a function being a mapping from one set of states to another naturally extends to a mapping of points in one vector hyperspace onto points in another.

Suppose, for example, we define an operator h as a function which maps the input

51> s2< s3>

sN) onto the output

scalar variable p. We can write this as:

P = h (S)

or

P = h (s-|,

x y z

ooo

0 i o

1 0 0

(a)

(b)

z - x«y

(c)

Figure 8: Functions can also be expressed as tables and circuits. Here the Boolean function Z = X' Y is expressed as a table, a circuit, and an equation.

SET OF EFFECTS

Figure 9: A function can also be expressed as a mapping from one set onto another. Here the function F maps the set of causes C onto the set of effects E such that for every cause in C there is an effect in E. In our discussion we will be concerned only with single valued functions such that there is only one effect for each cause. We will, however, allow more than one cause to have the same effect (ie: more than one point in C can map onto the same point in E).

Figure 10: We will define the operator h as a function which maps the input vector S into the output scalar variable p.

S s

s <

»•

h3

' -p

S| <£—

h2

-p3 /

p2/p

SN <S—

"1

•" Pi

,.sN)

Figure 11: We will define the set of operators H = (h., h~ . . . hj as a function which maps the input vector S into the output vector?.

lune 1979 © BYTE Publications Inc 17

however. Of course, if any of the variables in S are time dependent, S will trace out a trajectory Ts through input space. The oper

Figure 12: The operator H maps every input vector S in input space into an output vector P in output space. H thus maps the trajectory T into the trajectory T .

We can also draw the functional operator as a circuit element or "black box" as in figure 10. (A black box is an engineering concept sometimes used to depict a process with inputs and outputs. The viewer sees the effects on the output of changes to the input, but the internal workings of the process remain hidden in a black box.)

If we assume that we have L such operators, h-|, h2, . . . hL, each operating on the input vector S in figure 11, we have a mapping:

H:S^PorP=H (S)

where the operator H = (h-,, h2, . . . hL) maps every input vector S into an output vector P. Now since S is a vector (or point) in input space and P is a vector (or point) in output space, we can represent the function H as a mapping from input space onto output space, as shown in figure 12.

For the purposes of our discussion we require that both the input and output space be bounded and that each S will map into one and only one P. Several different S vectors may map into the same P vector,

ator H will map each point S on Ts into a point P on a trajectory Tp in output space.

Goal Seeking Control Systems

We are now ready to consider the structure of control systems for sensory interactive, goal directed behavior. The simplest form of goal seeking device is the servomechanism. The setpoint, or reference input to the servomechanism, is a simple form of command. Feedback from a sensing device, which monitors the state of the output or the results of action produced by the input, is compared with the command. If there is any discrepancy between commanded action and the results, an error signal is generated which acts on the output in the proper direction and by the proper amount to reduce the error. The system thus follows the setpoint, or, put another way, it seeks the goal set by the input command.

Now almost all servomechanism theory deals with a one-dimensional command, a one-dimensional feedback, and a onedimensional output. Our vector notation will allow us to generalize from this onedimensional case to the multidimensional case with little difficulty.

Assume we have the multivariable servomechanism shown in figure 13. The function H operates on the input variables in S and computes an output P = H(S). Note that we have partitioned the input vector S into two vectors: C= (sj, s2 . . ., s,, 0 . . ., 0) and F = (0, ...0, si+1, ...sN);such that S = C+F. If i = 1, N = 2, L = 1, and H computes some function of the difference between C and F, we have a classical servomechanism.

In our more general case C may be any vector, and in some cases it may be a sym

Figure 13: A multivariable servomechanism. The reference, or command input is the vector C consisting of the variables Sj thru s» The feedback is the vector F consisting of sensory variables s,+? thru S/y. The function H computes an output vector P consisting of Pj thru Pi which drive actuators and thus affect the physical environment.

s<

H

P

ACTUATORS

)

—w

SENSORS

FEEDBACK

18

lune 1979 © BYTE Publications Inc

1 fl ■ 1

wii

! 1

H ^r ' fl

^T^N

Hb^ ' H

^^J

?»

How to tor ersonal compi

/m California, a store owner charts sales on his Apple Computer. On weekends though, he totes Apple home to help plan family finances with his wife. And for the kids to explore the new world of personal computers.

A hobbyist in Michigan starts a local Apple Computer

Club, to challenge other members to computer games of skill and to trade programs.

Innovative folks everywhere have discovered that the era of the personal computer has already —. begun—with Apple. (U Educators and students use Apple in the classroom. Businessmen trust Apple with the books. Parents are making Apple the newest family pastime. And kids of all ages are finding how much fun computers can be, and have no time for TV once they've discovered Apple.

Visit your local computer store

The excitement starts in your local computer store. It's a Circle 15 on inquiry card.

friendly place, owned by one of your neighbors. He'll show you exactly what you can use a personal computer for.

What to look for

Your local computer store has several different brands to show you. So the salesman can recommend the one that best meets your needs. Chances are, it will be an Apple Computer. Apple is the one you can program yourself. So there's no limit to the things you can do. Most important, Apple's the one with more expansion capability. That means a lot. Because the more you use your Apple, the more uses you'll discover. So your best bet is a personal computer that can grow with you as your skill and involvement grow. Apple's the one.

It's your move

Grab a piece of the future for yourself. Visit your local computer store. We'll give you the address of the Apple dealer nearest you when you call our toll-free number. Then drop by and sink your teeth into an Apple. 800-538-9696. In California, 800-662-9238.

Figure 14: A stationary C vector establishes a setpoint, and as time progresses the feedback vector varies from F' to F2 to F3. The S vector thus traces out a trajectory Js. The H operator computes an output P for each input Sand so produces an output trajectory Tp The result is that the input command C is decomposed into a sequence of output subcommands P'', P2, P3.

Figure 75: If the command vector C also changes from time to time, it will trace out a trajectory T

bolic command. The feedback vector may contain information of many different types. It may simply report position or velocity of the controlled outputs, but for a complicated system such as a robot manipulator or the limb of an animal, it may also report the resistance to movement by the environment, the inertial configuration of the manipulator structure, and other parameters relevant to the problem of making rapid and precise movements.

Figure 14 illustrates the situation when a stationary command vector C establishes a setpoint, and as time progresses the feedback vector F varies, creating an input trajectory Ts. The H operator computes an output vector for each input and so produces an output trajectory Tp. The variation in F may be caused by external forces imposed by the environment, or by actions produced by the output, or both. One or more of the variables in the feedback vector F may even be taken directly from the output vector P. In the latter case the H operator becomes the transition function for a finite state automaton. In any of these cases the result is that a single command vector C produces a sequence of output vectors T The process is driven by the sequence of feedback vectors F1, F2, F3. The superscript Fk denotes the vector F at time tk.

The sequence of operations illustrated in figure 14 can also be viewed as a decomposition of a command C into a sequence of subcommands P1, P2, P3. The vector C may be a symbol standing for any number of things such as a task, a goal, or a plan. In such cases the output string P1, P2, P3 represents a sequence of subtasks, subgoals, or subplans, respectively.

Whether figure 14 is a servomechanism or a task decomposition operator, there are many practical problems concerned with stability, speed, gain, delay, phase shift, etc. In our notation these are all embedded in the H functions. If the H functions are correctly formulated and defined over the entire space traversed by the S input, then the output TP will drive the physical actuators in such a way that the goal is achieved (ie: the error between the command C and the result P is nulled) and stability is maintained under all conditions.

Servomechanisms are, of course, only the simplest form of sensory interactive, goal seeking devices. By themselves they are certainly not capable of explaining the much more complex forms of goal seeking commonly associated with purposive behavior in biological systems. However, when connected together in a nested (or hierarchical) structure, the complexity of behavior in feedback control systems increases dramatically.

20 June 1979 © BYTE Publications Inc

Hierarchical Control

Assume that The command vector C in figure 14 changes such that it steps along the trajectory Tc as shown in figure 15. The result is that the sequence of input commands C1, C2, C3, followed by the sequence C4, C5 produces the sequence of output vectors P1, P2, P3, P4, P5. In this case the subsequence P1, P2, P3, is called by the commands C1, C2, C3 and driven by the feedback F1, F2, F3. The subsequence P4, P5 is called by C4, C5 and driven by F4,F5,etc.

If we now represent time explicitly, the C, F, and P vectors and trajectories of figure 15 appear as shown in figure 16. The fact that C remains constant while the feedback changes from F1 to F2 to F3 means that the trajectory Tc is parallel to the time axis over that interval. The jump from C1, C2, C3 to C4, C5 causes an abrupt shift in the Tc trajectory in the time interval between F3 and F4.

Note that each instant can be represented by a plane (or set of coplanar regions) perpendicular to the time axis. Each plane contains a point from each trajectory and represents a snapshot of all the vectors simultaneously at a specific instant in time.

We are now ready to consider a hierarchy of servomechanisms, or task decomposition operators, as shown in figure 17a. Here the highestlevel input command C4 is asymbolic vector denoting the complex task (ASSEMBLE AB). Some of the components in C4 may denote modifiers and arguments for the assemble task. The subscript Ck denotes the C vector at the kth level in the hierarchy.

Note that in figure 17 vectors are not repeatedly drawn for each instant of time during the trajectory segments, when they are reasonably constant. Thus, C4 is shown only at the beginning and end of the trajectory segment labeled (ASSEMBLE AB). C2 is shown only at the transition points between (REACH to A), (GRASP), (MOVE TO C), etc. It should be kept in mind, however, that H4 computes P4 continuously and produces an output at every instant of time, just as H1 computes P-,.

The feedback F4 may contain highly processed visual scene analysis data which identifies the general layout of the work space, and thereby determines which output vectors P4 (and hence which simple task commands C3) should be selected and in which order. F4 may also contain data from P4 and P3 which indicates the state of completion of the decomposition of C4. F4 combines with C4 to define the complete input vector S4. The H4 operator produces an output vector P4 = H4 (S4).

Text continued on page 24

Figure 16: When time is represented explicitly, the vectors and trajectories of figure 15 become as shown here. In this example, the C vector remains constant from time t = 1 to t = 3 and then jumps to a new value for t = 4 and t= 5.

computer mart of new jersey computer mart of Pennsylvania

rmth*

I k ▼ i microcomputer li^JJ people® K

Computers don't moke o computer store, PEOPLE do. Our people hove been involved with microcomputers since day one. We offer experience and expertise unparalleled in the microcomputer industry. Whether you are in the market for a complete system, peripherals, custom software, service, or just some friendly advice; there simply is no other place to go.

Computet Matt of Now Joftoy

304 Routo 27 iMlln. HJ 08800 (201) 280-0600

STORE HOURS Tim. - Sat. 10am • 6pm Tuot. 6 Thutt. 'till 9pm CLOSED MONDAYS

Computet Mart of P»nniylvanla

330 DoKalb Pike KlnoofPnmla. PA 19406 (213)263-2380

Circle 66 on inquiry card.

June 1979 © BYTE Publications Inc 21

We've worked like mad to

■•• -1

cook up all your favorites.

■MHBNHnn

I " I • I

i

f^

f

Now, we're cooking. Our boys in the lab have turned circuit chefs these past three months to create a smorgasbord of deliciously assembled boards to support your APPLE lit TRS-80* or S-100 bus systems. Feast your eyes on our monstrous selection in the menu below.Then, order enough to satisfy your hunger for experimentation for months to come. Contact your local computer store, or call us direct. Bon appetit!

California Computer Systems

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

So Nobody Goes Away Mad.

5

r

►v

f

f

m**om °w cac'es

7740 APp] *RUpT<tehL CN*8LE °"e,s'

baS^^wog.---:--. er,a/

oauara. a,unnc n '"' ■ ■ 39,s'e^frart Wce- Wra''oo...

'sterol./raaefnar/,_...

4£«

7470 ,^E3„.D.

to-°''9»'fafo '9" Sen a

re,efence ""Cra.og ,„:.;•■... $1.o

7S90 Aptf? Wtr* IVran ft ' *•

7570 imOT80^ ■

«2t.00

St00 8u<5c

•■*»«>LO0

-^s,ere^aa

,aranayCo

•Circle 37 on inquiry card.

C°PPer Pi-J U' OWn <> „"

fE lune 1979 23

Text continued from page 21:

At least part of the output P4 becomes part of the input command vector C3 to the next lower level. C3 is also a symbolic vector which identifies one of a library of simple task commands together with the necessary modifiers and arguments. As the feedback F4 varies with time, the input vector S4, and hence the output vector P4, move along a trajectory generating a sequence of simple task commands at C3 such as (FETCH A), (FETCH B), (MATE B TO A), (FASTEN B TO A), etc. as shown in figure 17b.

Feedback at F3 may identify the position and orientation of the parts A and B, and also carry state sequencing information from outputs P3 and P2. As F3 varies with time, it drives the input S3 (and hence P3) along a trajectory generatinga sequence of elemental movement commands at C2 such as (REACH TO A), (GRASP), (MOVE TO C), (RELEASE), etc.

Feedback at F2 may contain information from proximity sensors indicating the fine positioning error between the fingers and the objects to be manipulated, together with state sequencing information derived from P2 and ?-\. The operator H2 produces P2, which denotes the proper velocity vectors C] for the manipulator hand in joint angle coordinates.

Feedback F2 also provides joint angle position data necessary for the coordinate transformations performed by H2. P2 provides reference, or setpoint commands, C1 to the servomechanism operator H^ F-| provides position, velocity, and force information for the traditional servocomputations. The output P1 is a set of drive signals to the actuators.

Feedback enters this hierarchy at every level. At the lowest levels, the feedback is unprocessed (or nearly so) and hence is fast acting with very short delays. At higher levels, feedback data passes through more and more stages of an ascending, sensory processing hierarchy. Feedback thus closes a real time control loop at each level in the hierarchy. The lower level loops are simple and fast acting. The higher level loops are more sophisticated and slower.

At each level the feedback vector F drives the output vector P along its trajectory. Thus, at each level of the hierarchy, the time rate of change of the output vector Pj will be of the same order of magnitude as the feedback vector Fj; and considerably more rapid than the command vector Cj. The result is that each stage of the behavior generating hierarchy effectively decomposes an input task represented by a slowly changing Cj into a string of subtasks represented by a more rapidly changing P|.

At this point we perhaps should emphasize that the difference in time rate of change of the vectors at various levels in the hierarchy does not imply that the H operators are computing slower at the higher levels than at the lower. We will, in fact, assume that every H operator transforms S into P with the same computational delay At at all levels of the hierarchy. That is:

P,(t) = Hi(Si(t-At))orPf = H,(Slk-1)

at every level. The slower time rate of change of P vectors at the higher levels stems from the fact that the F vectors driving the higher levels convey information about events which occur less frequently. In some cases certain components of higher level F vectors may require the integration of informaion over long time intervals or the recognition of symbolic messages with long word lengths.

When we represent time explicitly as in figure 17, we can label the relatively straight segments of the Tc trajectories as tasks and subtasks. Transitions between the subtasks in a sequence correspond to abrupt changes inTc.

If we do not represent time explicitly, the relatively constant C vectors correspond to nodes, as in figure 15. The resulting tree structure represents a classical AND/OR decomposition of a task into sequences of subtasks, where the discrete Cj vectors correspond to OR nodes and the rapidly changing sequences of Pj vectors become sets of AND nodes under those OR nodes.

Intentional or Purposive Behavior

Figure 17 illustrates the power of a hierarchy of multivariant servomechanisms to generate a lengthy sequence of behavior which is both goal directed and appropriate to the environment. Such behavior appears to an external observer to be intentional, or purposive. The top level input command is a goal, or task, which is successively decomposed into subgoals, or subtasks, at each stage of the control hierarchy until at the lowest level output signals drive the muscles (or other actuators) producing observable behavior.

To the extent that the F vectors at the various levels contain sensory information from the environment, the task decompositions at those levels will be capable of responding to the environment. The type of response to each F vector depends on the H function at that level. If the F vector at any level is made up solely of internal variables, Text continued on page 28

24 June 1979 © BYTE Publications Inc

s&0

I jZ&[

784/612

MICROPROCESSOR

ARCHITECTURE

AND

PROGRAMMING

by W. F. Leahy

Pub. price. $19,95 Club price, $14.95

786/380

FUNDAMENTALS OF COMPUTER ALGORITHMS

by E. Horowitz & S. Sahni

Pub. price. $19.95 Club price, $15.95

491/380

MICROCOMPUTERBASED DESIGN

by J. Peatman

Pub. price, $26.50 Club price. $18.95

784/71X MINIPROCESSORS

by D. Heiserman

Pub. price, $9.95 Club price, $8.45

769/664 ALGORITHMS+ DATA STRUCTURES = PROGRAMS

by N. Wirth

Pub. price, $19.95 Club price, $15.50

771/499 MICROCOMPUTERS / MICROPROCESSORS: Hardware, Software and Applications

by J. L. Hilburn& P. N. Julich

Pub. price, $22.50 Club price, $16.50

introductory oiler to new members ot the

COMPUTER PROFESSIONALS' DOOK CLUB

any two

of these great

professional books

for only

values up to $69.95

Two special bonus books come to you for $2.95 with your first club selection

Books are selected from a wide range of publishers

Be sure to consider these books as well—

784/701

DATA BASE

SYSTEMS:

Design,

Implementation, and

Management

by R. G. Ross

Pub. price, $19.95 Club price. $16.96

785/49X PROGRAMMING FOR MINICOMPUTERS

byJ.C. Cluley

Pub. price, $17.50 Club price. $13.50

273/634 COMPUTER ARCHITECTURE &

ORGANIZATION

by J. Hayes

Pub. price, $23.50 Club price, $17.50

784/914

THE Z 60 MICROCOMPUTER HANDBOOK

by W. Barden, Jr.

Pub. price, $8.95 Club price, $7.60

168/075 AUTOMATIC DATA PROCESSING HANDBOOK

Edited by The Diebold Group, Inc.

Pub. price, $34.95 Club price, $23.75

701/30X

DATA BASE DESIGN

by G. Wiederhold

Pub. price, $24.50 Club price, $18.25

435/278

MICROPROCESSOR APPLICATIONS MANUAL

by Motorola, Inc.

Pub. price, $35.00 Club price. $25.00

786/496 ANALOG SYSTEMS FOR MICROPROCESSORS AND MINICOMPUTERS by P. H. Garrett

Pub. price, $18.95 Club price, $14.95

783/845

THE 8080A BUGBOOK

MICROCOMPUTER

INTERFACING AND

PROGRAMMING

by P. R. Rony, D. G. Larsen & J. A. Titus

0tO*#*

Pub. price, Club price,

$9.95 $8.45

785/058 MICRO-ANALYSIS OF COMPUTER SYSTEM PERFORMANCE by B. Beizer

Pub. price, $22.50 Club price, $17.25

Data

save time and money by joining McGraw-Hill's

COMPUTER PROFESSIONALS' BOOKCLUB

THIS professional club is designed to meet your day-to-day on-the-job needs by providing practical books in your field on a regular basis at below publisher prices. If you're missing out on important technical literature—if today's high cost of reading curbs the growth of your library—here's the solution to your problem.

The Computer Professionals' Book Club was organized for you, to provide an economical reading program that cannot fail to be of value. Administered by the McGraw-Hill Book Company, all books are chosen by qualified editors and consultants. Their understanding of the standards and values of the literature in your field guarantees the appropriateness of the selections.

How the Club operates: Thirteen times a year you receive free of charge The Computer Professionals' Book Club Bulletin. This announces and describes the Club's featured book of the month as well as alternate selections available at special members' prices. If you want to examine the Club's feature of the month, you do nothing. If you prefer one of the alternate selections—or if you want no book at all—you notify the Club by returning the card enclosed with each Bulletin.

As a Club Member, you agree only to the purchase of four books (including your first selection) over a two-year period. Considering the many books published annually, there will surely be at least four you would want to own anyway. By joining the club, you save both money and the trouble of searching for the best books.

MAIL THIS COUPON TODAY

COMPUTER PROFESSIONALS' Book Club

P.O. Box 582, Hightstown, New Jersey 08520 Please enroll me as a member and send me the three books indicated I am lo receive the [wo bonus books al the introductory price of $2.95 plus my first selection, plus tax postage, and handling. II not completely satisfied. I may return the books within 10 days and request thai my membership be cancelled. I! I keep the books. I agree to lake a minimum ol three additional books during the next two years al special Club prices (guaiameed 15% discount, often more). I will receive [he Club Bulletin 13 limes a year. Ill want to examine Ihe featured selection. I need take no aclion. It will be shipped automatically It. however, I want an alternate selection—or no book at all — I simply notify the Club by returning the convenient card always enclosed. I will always have a minimum of 10 days in which lo return Ihe card and you will credit my account fully, including postage, il this is not the case Membership in the club is continuous bui cancellable by me at any time after Ihe tour-book purchase requirement has been tilled Jhis order subject to acceptance by McGraw-Hill Orders Irom outside Ibe continental US must be prepaid Company, business, or institutional tax exemption status is nolapplicable to purchases made througb individual Club memberships All prices subject to change without notice Oiler good tor new members only A shipping and handling charge is added to all shipments Members are billed when books arrive.

Write Code # of 1st Write Code # ol 2nd Write Code # ol 1st

bonus book selection here bonus book selection here book selection here

Address

City

EXTRA SAVINGS

and McGraw-Hill

Remit will pay

n lull with all regular

State Zip

your order, plus any local and stale tax, postage and handling charges. p„__y„

BYTE June 1979

25

* -5

-i2 <u

a s

o «

-O a>

.C 53

5

I

c S 8i ?

s I

C: to

U c

S 8 S .5

4! |

£

<D

o

0 _J3

a -§

•a: u a

=§

«S

IS

■Si

X g

Sa.

» _£•

o c

Q S

50

Q.-U: o ja

1/5 ?

9 o

&^

"a b

.o

o a

!

•Si

jo Uj ■IS

SE 3C

■5 <

^ • o

C; O

<u

8 -5

T3 O

26 lune 1979 © BYTE Publications Inc

IVe finally found a personali:stnotsfupr ising

/ _ ET that professionals

f*fYfYt 7YI lftf*l* II 'i*tf*ft'i^#*f*'i" 8et excited about the Compucolor II. It's VAMJAJJWI**!. 11C3UCWI# a totally-integrated 8080A system

m f~\tw*\n*g~+g^\M{^\+* I with full color graphics display, built-in 5 IK mini^•UM.l.M,ljm^%M&JM, M.M.* t]jsk drive, and the best cost performance ratio available in a personal computer.

The complete system is only S1495.* And that price includes 8K user RAM, RS-232C compatibility and random access file capabilities.

Our 8 foreground and background colors will boost your comprehension, while introducing you to an exciting new dimension in BASIC programming. The vector graphics have 16,484 individually-accessible plot blocks. And the 13" diagonal measure screen gives you 32 lines of 64 ASCII characters. You also have the flexibility that comes with 16K Extended Disk BASIC ROM.

Compucolor II offers a number of other options and accessories, like a second disk drive and expanded keyboard, as well as expandability to 32K of user RAM. Of course we also have a whole library of low-cost Sof-Disk™ programs, including an assembler and text editor.

Visit your nearest computer store for details. And while you're there, do some comparison testing. With all due respect to the ■ -,

others, once you see it, you'll be sold on the

compucolor ii. L I Corporation

STflKBStl'

mli Kkt"

TORPSMES KLIHCOKS

ST* WTE ? »«

i^ffiHn

Compucol

Circle 50 on inquiry card.

BYTt lune 1979 27

Figure 18: Around each trajectory representing an ideal task performance there exists an envelope of nearly ideal trajectories which correspond to successful, but not perfect, task performance. If the H functions are defined throughout these envelopes so as to drive the system back toward the ideal whenever it deviates, then the trajectory will be stable and task performance can be successful despite perturbations and unexpected events.

Figure 19: If the H functions at the lower levels are sufficiently well defined, small perturbations from the ideal performance can be corrected by low level feedback without requiring any change in the command from higher levels.

Figure 20: If the lower level H functions are not adequately defined, or if the perturbations are too large for the lower level to cope, then feedback to the higher levels produces changes in the task decomposition at a higher level. The result is an alternative strategy.

Text continued from page 24: then the decomposition at that level will be stereotyped and insensitive to conditions in the environment.

Whether or not the hierarchy is driven by external or internal variables, or both, the highest level input command commits the entire structure to an organized and coordinated sequence of actions which under normal conditions will achieve the goal or accomplish the task. The selection of a high level input command in a biological organism thus corresponds to an intent or purpose, which, depending on circumstances, may or may not be successfully achieved through the resulting hierarchical decomposition into action.

Obtaining Successful Performance

The success or failure of any particular task performance, or goal seeking action, depends on whether or not the H functions at each level are capable of providing the correct mappings so as to maintain the output trajectory within a region of successful performance, despite perturbations and uncertainties in the environment.

At all levels, variations in the F vectors due to irregularities in the environment cause Ts trajectories to vary from one task performance to the next. This implies that while there may exist a set of ideal trajectories through S and P space at each level of the hierarchy corresponding to an ideal' task performance, there also must be an envelope of nearly ideal trajectories which correspond to successful, but not perfect, task performance. This is illustrated in figure 18.

The H functions must not only be defined along the Ts trajectories corresponding to ideal performance, but also in the regions around the ideal performance. Consequently, any deviation from the ideal is treated as an error signal which generates an action designed to restore the actual trajectory to the ideal, or at least to maintain it within the region of successful performance.

Small perturbations can usually be corrected by low level feedback loops, as shown in figure 19. These involve relatively little sensory data processing, and hence are fast acting. Larger perturbations in the environment may overwhelm the lower level feedback loops, and require strategy changes at higher levels in order to maintain the system within the region of successful performance. This is illustrated in figure 20. Major changes in the environment are detected at higher levels after being processed through several levels of pattern recognizers. This produces differences in the F vector at the higher level

28

June 1979 © BYTE Publications Inc

Graphics for small systems were too expensive...

HIM

TM

Until Now

digital plotters

The perfect smell system output device

• Displays data in easy to read graphical format

• Both serial and parallel inputs built-in

• Uses standard 8V2" x 11" paper

• Plotting speed up to 2.4 ips

• Resolution of both 0.01 and 0.005 in.

• Baud rate and step size easily changed

• Completely assembled and ready to use

• Priced at $1085*

digitizers

The perfect small system Input device

• Resolution and repeatability of 0.005 in.

• Origin is completely relocatable

• RS232C and 8 bit parallel interface selectable at the connector

• Accuracies of ±0.015 in. (0.4mm)

• Optional LC display shows

actual values being inputted

• Digitizing surface 11" x 11"

• Priced at $795*

nm osa

(Optional LC display)

HUliuiV

'>

?

•U.S. Domestic Price Only

TM Trademark of Houston Instrument

For rush literature requests

or local sales office Information only,

persons outside Texas call toll free 1-800-631-5205.

Houston

{instrument

ONE HOUSTON SQUARE (512) 837-2820

"the graphics - recorder company"

DIVISION OF MUSCH&LOMa®

AUSTIN, TEXAS 78753 TWX 910-881-2022

ciiDnncAki rtcciPC Rochesterlaan 6 8240 Glstel Belgium tUHOf-'tAN UrMOfc phone 059/277445 Telex Baueoh 81399

Circle 171 on Inquiry card.

BYTE June 1979 29

Figure 21: The command and control hierarchy proposed by Tinbergen to account for the behavior of the male 3 spined stickleback fish. The heavy line indicates the particular type of behavior vector actually selected by the feedback shown at the various levels of the hierarchy on the left. This figure represents a snapshot in time corresponding to one of the two-dimensional surfaces shown in figure 16.

HORMONES

6 \ REPRODUCTION

STRANGER THREATENS

THREATEN

/ I \ ' I v

CARE FOR YOUNG

/ I \ / I * V / / I ^ N / \

in

, 1

<i

H

?

f/i

UJ

UJ

UJ

<

111

\

UJ

UJ

o

o

Q:

UJ

>

_i

CD

UJ

o a:

13 O

<

K

•!■

ifi

ic

z

«a

CJ

I'

2

(/)

I

III

< 1

, 1

■J

hi

X

D

ll!

UJ

U ' \

1 I

m

■T<

O / \

1 I

00

/ v

/ 1

\

C0

/ \

O

1 » / \

_i / \

HI

1 1

o

U_

1 1

1 \

U. \

(3

1 \ 1 * | \

a:

/ » / \

which in turn produces different C vectors to lower levels. The result is an alternative higher level strategy to cope with the perturbation.

Of course, if the H functions do not provide stability, or if the environment is so perverse that the system is overwhelmed, then the trajectories diverge from the region of successful performance and failure occurs.

Over-learned tasks correspond to those for which the H functions at the lower levels are sufficiently well defined over a large enough region of input space so as to maintain the terminal trajectory well within regions of stability and success without requiring intervention by the higher levels for strategy modification. Thus, a highly skilled and well-practiced performer, such as a water skier, can execute extremely difficult maneuvers with apparent ease despite large perturbations such as waves. His lower level H functions are well defined over large regions of space corresponding to large perturbations in the environment. He is thus capable of compensating for these perturbations quickly and precisely so as to maintain successful performance without intervention by higher levels. Such a performance is characterized by a minimum amount of physical and mental effort.

We say, "He skis effortlessly without even thinking." What we mean is that his lower level corrections are so quick and precise that his performance never deviates significantly from the ideal. There is never any need for higher level loops to make emergency changes in strategy. On the other hand, a novice skier (whose H functions are poorly defined, even near the ideal trajectory, and completely undefined elsewhere) may have great difficulty maintaining a successful

performance at all. He is continually forced to bring higher levels into play to prevent failure, and even the slightest perturbation from the ideal is likely to result in a watery catastrophe. He works very hard, and fails often, because his responses are late and often misdirected. His performance is erratic and hardly ever near the ideal.

However, practice makes perfect, at least in creatures with the capacity to learn. Each time a trajectory is traversed, if there is some way of knowing what mistakes were made, corrections can be made to the H functions in those regions of input spaces which are traversed. The degree and precision of these corrections, and the algorithm by which they are computed, determine the rate of convergence (if any) of the learning process to a stable and efficient success trajectory.

There are many interesting questions about learning, generalization, and the mechanisms by which H functions are created and modified at the various hierarchical levels in biological brains. However, we will defer these issues until part 2 (July 1979 BYTE).

Task Decomposition and Goal Seeking

Note that figure 17 illustrates only a single specific performance of a particular task. None of the alternative trajectories which might have occurred under different circumstances with a different set of F vectors are indicated. These alternatives which might have occurred can be illustrated in the plane orthogonal to the time axis.

Figure 21 illustrates the set of alternative C vectors available at various levels in the behavior-generating hierarchy of the male 3 spined stickleback fish. This figure

30

June 1979 © BYTE Publications Inc

New easy-to-use educational module.

^bur best ticket to the microprocessor world.

Ideal for teaching.lfourself. Or others.

TPs new TM990/189 University Module is a stand-alone learning lab. Fully assembled and designed for maximum hands-on experience. To ease and simplify learning and teaching.

Outstanding features include powerful 16-bit microprocessor with easy-to-learn, easy-to-use minicomputer instruction set; 45key alphanumeric keyboard and ten-digit seven-segment display for easy assembly-language programming; ROM-resident software including system monitor for program debug and symbolic assembler; audio cassette interface; easy-to-add EIA and TTY interface; lK-byte RAM expandable to 2K; 4K-byte ROM and 2K-byte expansion EPROM socket; 16-bit

programmable I/O controller; user addressable LEDs, and sound indicator.

A 570-page tutorial text accompanies the module. It is a detailed guide for self-paced learning. Or the basis for a three-hour university course. Chapters include an

overview of microprocessors; programming exercises; assembly language; memory systems; I/O concepts and designs; software engineering; productdevelopment; a variety of lab experiments, and much more. Also with the module: a 300-page user's guide.

The University Module complete with tutorial text and user's guide is only $299.00.

Order your University Module from your authorized TI distributor. For more information, write Texas Instruments Incorporated, P.O. Box 1443, M/S 6404, Houston, Texas 77001.

TM990/519 power supply is available for $65.00.

TEXAS INSTRUMENTS

MOVING AHEAD IN MICROCOMPUTERS

IP

Circle 266 on inquiry card.

© 1979 Texas Instruments Incorporated

Texas Instruments

INCORPORATED

represents a snapshot, or single cut through space orthogonal to the time axis. C4, the highest level goal, is survival. The feedback F4 consists of variables indicating water temperature and depth, blood chemistry, and hormone levels generated by length of day detectors. When the hormone levels indicate the proper time of year and the blood chemistry does not call for feeding behavior, then migratory behavior will be selected until warm, shallow water is detected. The F4 vector will then trigger the reproduction subgoal.

When C3 indicates (REPRODUCTION), an F3 vector indicating a red male in the territory will cause the (FIGHT) command to be selected to C2. When C2 indicates (FIGHT) and the intruder threatens, a C1 will be selected, and so on. At each level, a different feedback vector would select a different lower level subgoal. For example, if F3 indicates a female in the territory, C2 will become (MATE), and the type of mating behavior selected will depend on F2.

In simple creatures like the stickleback fish, the sensory stimuli that produce F2 and F3 vectors which trigger specific behavioral trajectories are called innate releasing mechanisms. Innate releasing mechanisms and their associated behavioral patterns have been studied extensively in

a number of insects (ie: the digger wasp and various bee and ant species), several fish, and many birds (ie: the herring gull, turkey, and golden eye drake).

In these relatively simple creatures, behavior is sufficiently stereotyped that it can be described in terms of a small set of behavioral patterns triggered by an equally small set of sensory stimuli. This suggests that insects, fish, and birds have only a few levels in their control hierarchies and a small set of behavior patterns stored as H functions at each level. It further implies that there are few externally driven components in the F vectors at each level. Behavior trajectories are internally driven, with only a few branch points controlled by sensory data processed through simple pattern recognizers. The trajectory segments driven entirely by internal variables are called fixed action patterns, or tropisms. The external variables which control the relatively few branch points are the innate releasing mechanisms.

In higher animals, behavior is more complex and much less stereotyped. This implies more levels in the hierarchy, more external sensory variables in the F vectors at each level, and hence many more possibilities for branching of the resulting trajectories.

Figure 22 illustrates a set of trajectories

The new Pascal Computer System is driven by a unique 16bit Pascal MICROENGINE™ — the first microprocessor hardware designed exclusively for direct high-level language execution. ■ The processor is incorporated into a single board computer system, the WD/90, which directly executes Pascal intermediate code generated by the University of California at San Diego (UCSD) Pascal compiler, Release III.0. ■ Since P-code output by the Pascal compiler represents an ideal architecture for a computer executing Pascal programs and since the WD/90 directly executes P-code (no interpreter), these programs execute up to five or more times faster than equivalent systems.

WESTERN DIGITAL

3128 Redhill Avenue, Box 2180 • Newport Beach, CA 92663 (714) 557-3550, TWX 910-595-1139

The WD/90 Pascal MICROENGINE™ Computer

includes: ■ Pascal MICROENGINE™

processor ■ 64K bytes of RAM Memory ■ Two

RS-232 asynchronous/synchronous ports (110-19.2K

baud-full duplex) ■ Two 8-bit parallel ports (500 kHz

maximum data rate) ■ Floppy disk controller with direct memory access

(DMA), switch selectable for: single or double density (IBM format); mini or

standard floppy; 1 to 4 drives (same type) ■ Floating point hardware

(proposed IEEE standard) ■ Memory Mapped I/O ■ Enclosed power

supply Complete UCSD Pascal Operating System (Release III.0)

FOR FURTHER INFORMATION CONTACT

DISTRIBUTOR: CIT (714) 979-9920

RETAIL: Your LOCAL COMPUTER Store

OEM: Your WESTERN DIGITAL Sales Representative

32 June 1979 © BYTE Publications Inc

Circle 388 on inquiry card.

J^JJMIWA

Wrp§ JB f f^f

OH (S i 14 i o i 1 ®

p— p^v p—» p— ^— y—

fB fiB 1

oiniCoinniTDTiiitfiinis

A newquar terly by the staff of BYTE

This totally new publication is entertaining, informative, and uncomplicated. It is edited for the attorney, accountant, writer and other professional or business person aware of the personal computer as a tool for business, education, home entertainment, laboratory work and other applications.

Compiled and edited by the staff of BYTE, latest developments covered in onComputing will include creative uses of the small computer, books for the computer user, how and where to buy your personal computer and numerous features concerning the fascinating world of the microprocessor.

Add onComputing to your library of 'must' publications. Act now, subscribe and receive four (4) issues m; S8.50 for one year (U.S.); Canada and Mexico: §10,00.

GUIDE TO PERSONAL

SUBSCRIBE NOW! COMPLETE AND MAIL ATTACHED POSTAGE PAID REPLY CARD

onComputing, Inc. □ 70 Main St. □ Peterborough, NH 03458 □ Dial toll free 800-258-5485 (In NH 924-7217)

Figure 22: A set of Tp trajectories in which there is opportunity for branching at many points in time. If behavior can be modified by feedback at many different levels and in many different ways, it appears to be adaptive and flexible. If there are only a few branch points, with only a few alternative actions available at each branch, behavior will appear stereotyped.

in which there is opportunity for branching at several different levels at every step along each trajectory. At each instant in time the C vector to any particular level depends upon what the C and F vectors were to the next higher level at the previous instant. Thus, a change in the F vector at any level causes an alternative C vector to be sent to the level below. Behavior is continuously modified at all levels by external variables, and hence does not appear stereotyped at all.

Many degrees of freedom place great demands on the H functions for maintaining stability and precision of control in such a large space of possibilities. Since successful behavior is only a tiny subset of all possible behaviors, it is clear that most of the potential branches will lead to disaster unless the H functions produce actions which steer the S and P vectors back into the narrow regions surrounding success trajectories. For a multilevel hierarchy with sensory interaction at many different levels, this is extremely complex. However, if the H functions are trainable, then performance can improve through practice. Complex tasks can be learned, imitated, and communicated from one individual to another.

Conclusion

We have now completed the first step in our development. We have described a hierarchical computing structure which can execute goals, or intended tasks, in an unpredictable environment. We have also

defined a notation by which the behavior of such a hierarchy can be described clearly and concisely. We have asserted that the complexity of behavior resulting from such a control hierarchy depends on four things:

• the number of levels in the control hierarchy;

• thenumber of feedback variables which enter each level;

• the sophistication of the H functions which reside at each level;

• the sophistication of the sensory processing systems which extract feedback variables for use by the various H functions.

In part 2 we will describe a computer model of a neurophysiological structure in the brain which computes multivariant H functions. We will then suggest how the brain might use such structures to learn skills, remember events, select goals, and plan future actions."

BIBLIOGRAPHY

Albus, J S and J M Evans, "Robot Systems," Scientific American, February 1976, pages 77 thru 87.

Arbib, M A, The Metaphorical Brain: An Introduction to Cybernetics as Artificial Intelligence and Brain Theory, Wiley-lnterscience, New York, 1972.

Sommerhoff, G, Logic of the Living Brain, Wiley-lnterscience, New York, 1974. Tinbergen, N, The Study of Instinct, Clarendon Press, Oxford, 1951.

34

June 1979 © BYTE Publications Inc

Wordsmith is the video text editing system you've been waiting for Its power, flexibility and simplicity help you carve any text editing task down to size —in a way you can understand. We wanted a system that allows you to think in traditional ways about text layout, yet at the same time makes the traditionally tedious operations such as cut and paste simple and fast. We think we've done it. We want you to decide

for yourself ■■■■■■■■■leaaaaeaaeaieaBaaaaKaaBaaaaeaaaaeBeBaaaaaaaaaaaaaai

Flexibility

Logical/Physical Page Distinction. Define your own hardcopy size. Wordsmith remembers the difference between the screen size and the hardcopy page size.

Modular Hardcopy Driver. Drive a Qume® Sprint-5 or TTY-like device directly now, Diablo, NEC and other hardcopy devices soon.

Pure Text. Wordsmith files are pure text with no control characters mixed in. This universal format keeps you as compatible with the world as possible. What you see on the screen is what you get as hardcopy.

Page Templates. Snapshots of the block layout of a page can be saved as named disk files, then later recalled and superimposed on the current page. Use such "templates" for standard multicolumn layouts, common letter formats, and fixed-field forms. A single keystroke dispatches you quickly from block to block as you fill in your page.

1=1

□

Take a

snapshot

of a

page's

window

layout

^=3

Recall a template and hop from window to window.

File Switching. Moving from document to document to examine, copy, move and change text is like rolling off a log.. You're not confined to one disk file at a time anymore. ■■

Power

Page Oriented Philosophy. A document is a collection of pages. The screen displays one entire page at a time. Simple random access page flipping commands take you quickly to any page in the document. Equally efficient commands allow you to insert, delete, copy and move pages both within one document and across documents.

'Extensive Block Manipulation Capabilities. Using

"windows", portions of text, charts, etc., can be quickly and effortlessly moved around on the current page, or across pages. The shape and size of any window can be changed in real time, with the contained text automatically reformatting itself (heeding word and paragraph boundaries) to conform to the new shape.

Sat Up

Multiple Text

Regions

Change Text Shape

L

Instantaneous Formatting. Compacting (extraneous blank deletion) and right justifying are simple commands that tidy up a full page or window's worth of text in the blink of an eye. Random access cursor movement, line and character insert and delete, line and page split and join, and a host of other line and character level commands help you put text in its place quickly and accurately.

Simplicity

Auto Word Break. Forget the right margin. Wordsmith notices when you won't be able to complete the current word and moves it to the next line for you as you continue typing.

Understandable Commands. The most frequently used commands are single keystrokes. The rest are easily remembered abbreviations.

Informative Status Lines. The top two screen lines constantly display page number information, document name, cursor position, tab stops and status/error phrases. You're always in touch with your document.

Page 3 of 8

File=ADV1

Cursor row 28, col 43

T I

T

T t

Protection Against Catastrophic Errors. It's nearly impossible to ruin your document with a single bad command. Wordsmith's page oriented design and doublechecking user interface help you do what you mean!

The _ tm

aJORE>sraftb

TEXT EDITOR

Defining the New Generation of Text Editing

from Micro Diversions, Inc. 8455-D Tyco Rd. Vienna, Va. 22180 (703) 887-0888

■ Direct CP/M® and North Star DOS compatibility

■ Available for 40x86, 24x80 and 16x64 memory-mapped video boards

ia Fully reentrant for efficient multi-programming environments (6K program space, 5K data area)

■ 8080 and Z80 compatibility

Ordering Information:

S200

(Screensplitter™ Owners: SBO)

Manual only: $15

Check, VISA, Mastercharge

1. CP/M or North Star DOS version?

2. TTY or QUME interface?

3. Brand and memory address of video display board?

4. Ship on single or double density. 5" or 8" diskette?

Inquire about our custom keyboard.

Circle 219 on inquiry card.

BYTE lune 1979 35

Simple Maze Traversal Algorithms

Sandra and Stephen A Allen 2543 Luciernaga St Carlsbad CA 92008

This article is a discussion of some solutions to the problem of traversing a maze. The algorithms here represent neither an exhaustive nor a high-powered study of the problem, but rather an intuitive approach. The ideas reflect our thought processes and those of Tony Rossetti in our efforts to compete in IEEE Spectrum magazine's ongoing Micromouse contest.

RIGHT ANGLE

LEFT ANGLE

TEE

U-TURN

MOUSETRAP

Figure I: Types of intersections allowed in the maze. All intersections are at right angles and no cross intersections are allowed.

Problem Specification

The IEEE Spectrum's Micromouse Maze contest began time trials last June at the 1978 National Computer Conference in Anaheim CA. A mechanical "mouse" (ie: robot) must find its way under its own power from the entrance of a maze to the exit. Each mouse is given three tries through the maze, with a time limit on each attempt. The mouse with the shortest logged time wins the contest. The solution to the problem, then, is to find the path through the maze that yields the shortest time.

An important consideration in finding a solution is the characteristics of the maze. The corridors are of uniform width. There are only five types of intersections: right angle; left angle; T; U turn; and mousetrap. These are shown in figure 1. There are no cross-intersections, nor are there any king's chambers, which are large vacant areas in the maze. This simplifies the traversal algorithms somewhat. Finally, there are exactly one entrance and one exit on the perimeter of the maze, but not necessarily on opposite sides.

Characteristics of the mouse should also be taken into consideration. It must be completely self-contained, having an on board computer and any required memory. Since the mouse must carry its own battery, available power is a limiting factor.

Easy Algorithms

The criteria used in looking for a solution were primarily based on the considerations discussed above. The limited power, program space, memory and processor power were perhaps the most important aspects. Simplicity was also an important element in order to provide easy modification and enhancement of the robot.

36

lune 1979 '0 DYTh Publications ln<:

The traversal algorithm that suggests itself first is the simplest one: each time the robot encounters an intersection, the rightmost path is followed. This is the equivalent of the robot resting its "right hand" on the right wall of the maze corridor and not lifting it throughout the maze walk (see figure 2). Of course it works in the same way when taking the leftmost path instead of the rightmost. This algorithm certainly meets the requirement of simplicity, and the program is small and uses little memory. It also guarantees a solution, but unfortunately in using this algorithm there only exists one solution, so there is no way to take advantage of the second and third runs through the maze to significantly improve the traversal time.

The resulting path may be a very long, roundabout path through the maze. This, of course, depends on the configuration of the particular maze. Indeed, the possibility exists that the path takes more than the allotted time for the robot to complete. So the leftmost/rightmost algorithm guarantees one solution, but has significant disadvantages.

A variation of this algorithm is one in which, at each intersection, the robot chooses one of the available paths at random. Again, this is an easy and short program to implement. It has the important advantage that a different path is picked every time through the maze, so that there is the chance of picking a fairly short path. A definite drawback, though, is that no solution is guaranteed. The robot may come out the entrance instead of the exit, or may wander around in the maze until the allotted time has run out.

Another slight variation on the leftmost/ rightmost algorithm is the straight-ahead first algorithm. If, in this algorithm, a straight-ahead alternative exists at an intersection, that path is chosen (otherwise either the right or left path is taken). Like the former algorithm, this one is short and simple, yielding a unique path; however, this path may not be a solution. This algorithm can have certain advantages, though. When a maze has cross intersections and the entrance and exit are on opposite sides of the maze, the robot gets close to the exit faster. Also, for robots which are mechanically faster at going straight than at turning, this algorithm can minimize the required turns.

All of the solutions discussed above are very simple and, except for the random path algorithm, give only one possible solution for each maze configuration. Since the mouse gets three tries through the maze, a logical next step is to use a different algorithm on each run. For example, choose the rightmost path on the first time through, the

Figure 2: Example of a rightmost, maze walk. At each intersection encountered, the rightmost available path is chosen.

GOFHOM THIS...

TO THIS

3

FORms

Stock Continuous Business Forms Just Program and Gol

;'

DESCRIPTION

t)

FORM

PARTS

PACK/PRICE

LBS.

8'Ax 11

(Detached)

Printed

1013

Invoice

3

250/2850 1000/79.00

9 35

1023

Statement

3

250/28.50 1000/79.00

9 35

1033

Purchase Order

3

250/28.50 1000/79.00

9

35

STATEMENT 3 PART S1023

TO ORDER:

Send 25% Deposit with order. Balance plus freight C.O.D. or send Full Amount with freight and save C.O.D. charges. Free freight on orders over $300 in continental U.S.A.

FORmS

PURCHASE ORDER 3 PART #1033

BOX 55247

VALENCIA, CA 91355 Dealer Inquiries Invited

"Copyright 1979 GOFORMS. Box 55247. Valencia. CA 91355

Circle 153 on inquiry card.

June 1979 © BYTE Publications Inc 37

(Xr

(X0-X2, Y0»

(X0,Y0I

(X0+X|, Y0I

(x0-x2.

'0

-V,)

(0,30)

(0, 20)

(-10, 10)

(0, 10)

(0, 0)

(0. 01 (0. 10) (10. 101 (10,20] (0, 20) (0,30)

Figure 3: Representing a maze path by coordinate pairs. In general, horizontal movement will add or subtract the distance from the X coordinate; vertical movement will add or subtract from the Y coordinate.

(10,20)

(10, 10)

Figure 4: Example of how a section of a maze might be labeled using the technique shown in figure 3.

LEFT

Figure 5: Sequence of X, Y coordinates of all the intersections visited during a maze walk. Two short samples of the leftmost and rightmost path lists through a simple maze section are shown.

leftmost path the second time, and the straightest path the third time. In this way the mouse is allowed to take advantage of having three tries, and perhaps one will yield a reasonably short time.

Smarter Algorithms

An unfortunate characteristic of mazes built for a competition of this sort is that wall-hugging mice (ie: those that don't recognize corridors and intersections, but are built to blindly follow the right or left wall) are heavily penalized. This means that the maze probably has a fairly short and direct path from the entrance to the exit, but that this path has so many dead-end offshoots that a wall-hugger ends up covering a large portion of the maze's interior before reaching the exit. This aspect makes it not such a good idea to use only a rightmost or leftmost algorithm. Rather, it argues for using an algorithm that can be smart about picking the path and learning from its mistakes.

Obviously, the only way the robot can learn from its mistakes is by remembering what it did. In this way, the robot can make a first try through the maze using one of the simple algorithms discussed before, remembering the path taken. Then the remembered path can be optimized. This attack gives the potential for significant time improvement.

Remembering the Path Taken

The most difficult part of remembering a path taken through the maze is how to represent that path in the mouse's memory. One straightforward way to do this is to conceptually map the maze onto an X,Y coordinate grid, picking a convenient origin (ie: the entrance to the maze) and orientation (ie: forward from the entrance is +X). Since all intersections of corridors are at right angles, any movement will be either parallel to the X axis or parallel to the Y axis, and will have either a positive or negative increment. This mechanism provides a way to uniquely name all intersections in a maze simply by giving the X,Y pair which specifies the distances from the entrance at (0,0). See figures 3 and 4 for examples of naming intersections.

As the mouse visits intersections on its walk through the maze, it can record in its memory the X,Y coordinates of each, thus generating a list of X,Y pairs starting with (0,0) which uniquely describes the particular path taken. Figure 5 shows the coordinate lists representing the leftmost and rightmost paths through the labeled maze of figure 4.

38 June 1979 © BYTE Publications Inc

kW*

.' *, ■

1 •'

' ^1

■. ■*.-' '•>■. '

-*.

.^., - ". ,:.S

;-•' '-'■_• . >SaSr ^ii&

fiof peanuts!

At last, you can get a mammoth 32K memory control and buffering, drawing typically 2.6 amps.

without paying a beastly price.The SuperRam™32K static memory kit is just $649 for S-100 systems. The latest of George Morrows heavyweight memory designs for Thinker Toys™, the SuperRam™ 32K features two independent 16K blocks, each addressable and write-protectable. It meets the Proposed IEEE S-100 Standard with full buffering of both data and address lines, uncommonly efficient, the Morrow design utilizes just 7 ics for

Circle 256 on inquiry card. "See us in bootl

Ask your local computer shop to order the SuperRam™ 32K kit for you. Or call (415) 524-2101.

J Morrow makes memory for

5221 Central Ave., Richmond,CA 94804 m

Judy" the elephant courtesy Marine World-Africa USA

"See us in booths 98 and 99 at the NCC"

(20, 2C

)) (30,20)

(10, 10)

(20, 10)

(0. 0)

(10, 0)

20. 0)

Figure 6: Maze pitfalls. On its first, nonoptimized attempt, the mouse will traverse the entire length of the dead-end corridor. After optimizing the path by deleting backtracked corridors, a shorter path is taken.

LEFTMOST PATH BEFORE OPTIMIZATION

(0, 0) (10. 0) (10, 10) (20,10) (20, 20) (30. 20) (20. 20) (20, 10) (10, 10) (10, 0) (20. 0) (20,-10)

Figure 7: Leftmost versus rightmost maze traversal, in which the robot keeps its right or left side against the respective wall while traversing the maze. The leftmost path the mouse would travel is shown in red. Notice that the outer edge of the loop is completely circumvented. When intersection I is visited a second time it is clear that this whole section of the maze is fruitless because all corridors leading away from the center of the loop were tried and found to be useless. Since the exit to the maze is along the perimeter of the maze, no corridor going to the inside of the loop could possibly reach the exit. The rightmost path is shown in gray: in this case the whole loop is neatly bypassed. The mirror image of the above maze section can be used to argue similarly for chopping the loop off the rightmost path.

LEFTMOST PATH AFTER OPTIMIZATION

(0, 0) (10, 0) (20, 0) (20,-10)

Optimization

Now that the mouse has a way of remembering the path it takes on the first attempt through the maze, the next problem is, how can it find a better (shorter) path for the second attempt? The main motivation behind optimizing a path is to chop off all parts of the path that don't contribute to getting closer to the exit. That is, remove any part that had to be backtracked.

The first type of backtracking is that in which a corridor is a dead end, and the mouse has to return to the main corridor to continue. Clearly the time spent negotiating this part of the maze is wasted and should be omitted. Figure 6 illustrates this kind of backtrack optimization: every coordinate pair along the backtracked path can be deleted from the list. Notice that this same method works no matter how long the dead end corridor is (ie: how many intersections it has).

A second kind of backtracking occurs when the maze contains a loop or cycle. The presence of a loop is indicated when tine mouse returns to an intersection that it has previously visited. The whole traversal of the loop can be cut out of the maze walk since that part of the maze is useless and cannot lead to the exit. Figure 7 illustrates how it is always the outer edge of the loop that is traversed. Once an intersection is revisited, all corridors leading away from the center of the loop have been already tried and found to be fruitless (otherwise the mouse would not have returned to the loop entrance). And since the exit is along the perimeter of the maze, no corridor leading to the inside of the loop could

40

lutu> 1979 © BYTE Publication* Inc

NOW YOU CAN AFFORD

THE WORLD FAMOUS Diablo Printer Terminal

IPSI PROUDLY ANNOUNCES A PRICE

BREAKTHROUGH ON DAISY WHEEL

PRINTER TERMINALS

Featuring: RS 232 compatibility at 110, 150, 300, and 1200 baud: Print speed of 45 char/sec: Graphics capability: Over 30 print wheels from 10 to 15 char/inch: 5 ribbons in color, cloth, film or two color: Form length adjustable: Spacing adjustable from 120 pitch to .1 pitch: Line spacing adjustable from 48 lines/in. to .4 line/in.: Identical in every respect to it's high priced sister the Diablo HyTerm II* model 1620.

Price: $2,595.00 each in single units, quantity discounts available.

Service: Major cities in the U.S. and Canada.

You have probably waited a long time to purchase your computer printer at a reasonable price. Wait no longer! The Diablo 1620 lists for $3,240.00 we sell the IPS11622 for$2,595.00; save well over $600.00. For immediate action phone in your order collect and we will ship your terminal the same day.

We also Stock Diablo 1345A (Hytype II*) mechanisms for immediate shipment at the low price of $1,150.00. Order one now and build your own terminal using your own CPU, or doit-yourself by buying our 1622 kit and assemble your own terminal within 10 hours for $2,295.00

If you've always wanted to turn your computer onto word processing, this is the only way to go. Ask for our free word processing software.

IPSI

INTERNATIONAL PERIPHERAL SYSTEMS, INC.

1849 N. HELM

FRESNO, CALIFORNIA 93727

CALL (209) 252-3635

•Hyterm and HyType are registered trademarks of Xerox Corp.

Circle 181 on inquiry card.

BYTE June 1979

41

possibly reach the exit. Therefore, it doesn't matter that these were unexplored, and every intersection along the loop can be deleted from the optimized path with no loss of important information.

Detecting the two different types of backtracks (straight line and loop) involves answering the same question: has the mouse been here before? The handling of both types of backtracks is also the same too: delete all of the path history between the last visit here and this visit, then continue from there. Up until now, the optimizing process has been discussed in an "after the fact" fashion, as if the whole maze walk path had already been generated from the start to the finish. However, it can be much more efficient if the mouse can perform these optimizations while it is recording the path.

The actual details of the implementation are not important here, since they

(O, 20)

(10, 20)

(20, 20)

(10, 5)

(20,5)

(0,0)

(0. 01

(0. 0)

(0, 0)

(0.20) I -•> (0,20) ■"

(0.201

110.201 *n

(10, 20)

B

10.30)

110.5)

NEXT-* 10, 20) '

(0,401

120.5)

A

(20,20)

(10,20)

Figure 8: Backtracking checks. Whenever the mouse records the intersection it is in, it checks backward in the path list to see if it has been here before. If so, the path list is pared back to that point, and thus the backtracked path is automatically "forgotten." For example, in A, the mouse is at intersection (10,20); it scans back through its path history and sees that it has been here before at pointer I. So the NEXT pointer is reset to just after I and the mouse continues. In B, the mouse again finds that it has revisited an intersection, and again the NEXT pointer is reset before continuing. In C, the final, optimized path is shown.

would depend on the type of microprocessor used. In general, though, assume that the intersection X,Y coordinates are stored in the mouse's memory in a linear fashion (ie: in an array or list). Furthermore, assume that there is a pointer into the array or list indicating where the next coordinate pair will be stored (ie: NEXT pointer). In this way, each time the mouse encounters an intersection and is about to record its coordinates as the NEXT position in the path list, it can scan backward from the NEXT pointer to the beginning of the list, looking for an occurrence of the same coordinates. If no occurrence is found, this is the mouse's first visit here. These coordinates can be recorded at the NEXT position in the list, and NEXT can be appropriately incremented to prepare for any successive intersections. If an occurrence of the same coordinate pair is found (ie: at position I in the list), the mouse has been here before. The easy way to "forget" the backtracked part of the path (between I and NEXT) is for the mouse to reset NEXT to I, then continue normally by incrementing NEXT and looking for another intersection. Figure 8 shows this diagramatically.

Incidentally, if the mouse has relatively low accuracy motors and sensors, it is possible to obtain slightly different readings when encountering an intersection for the second time. Therefore, when checking to determine if this intersection has been visited before, allowances must be made for the inaccuracies. This is easily accomplished by checking to see if X[NEXT] is within plus or minus delta of X[l], and if Y[NEXT] is within plus or minus delta of Y[I], where the delta value reflects the amount of possible deviation, instead of checking for X[NEXT] =X[I] andY[NEXT] =Y[I].

Although it may seem that a lot of computation is done while the mouse is running the maze (and, after all, speed counts), in fact, the time taken for computation is so small compared to the time it takes for the robot to move to the next intersection that it is hardly noticeable. Another factor which makes doing the optimization during the run even more desirable is that the exit of the maze is not always well defined. This means that the robot merely passes through a corridor and trips a light sensor to stop the timer, and then proceeds to "fall of the edge of the world." This makes it difficult for the mouse to determine that the maze run is finished, and that it should now optimize the recorded path. Optimizing during the run is certainly cleaner and more efficient.

A suitable way to take advantage of the backtrack-trimming algorithm would be

42

lune 1979 © BYTl Publications Inc

THE DIAGNOSIS:

MEDICAL OFFICE MALAISE

Between insurance forms, Medicare and Medicaid forms, bills, and patient records, the typical medical office today is swamped with paperwork. If the sheer volume isn't enough of a problem, it is also essential that all this be

done with speed and accuracy. It has been estimated that Doctors and office staff spend nearly a quarter of their time handling paperwork. Until now, the only alternatives were either hiring more personnel or subcontracting

with an outside firm. Obviously, a medical data base management system has great potential for significantly increasing office efficiency and freeing staff for more valuable duties.

THE CURE:

MED2 FROM OHIO MICRO SYSTEMS

MED2 is a reliable, debugged program that generates valuable administrative reports, bills, aging account analysis, and insurance forms. It is the result of over a year of design, testing, and retesting in colloboration with medical offices. It features a large on-line capacity and can be operated by the existing office staff. MED2 is suitable for one person offices or group practices. It adapts readily to GP's, specialists, dentists, and medical laboratories. MED2 requires a Z80/8080 microcomputer system that supports CP/M and it is available on Micropolis 5.25 in. and IBM 3740 8 in. diskettes.

FREE USERS SEMINAR

WITH EVERY MED2 DISK

There is a lot to know

with microcomputers, but it is

about MED2 - more than can

specifically geared for dealers.

be explained in an ad or

MED2 provides an excellent

manual. To show you what

entry for dealers into the large

MED2 can do, how to use it,

new marketplace of medical

and why it is configured as it

offices. There is no question

is, OHIO MICRO SYSTEMS

that the need exists. Investing

makes an unprecedented offer

the time in the seminar will

- a FREE two day user's

open the doors to increased

seminar (lodging included)

hardware and system sales.

with every MED2 disk. We

The price of MED2 is

believe this is the best way for

$895. A deposit of $200, which

you to obtain a thorough

applies toward the purchase

working knowledge of MED2.

price, is required for

You get to see, question, and

registration in the seminar. If

evaluate MED2 with its

you decide to not purchase

designers. The seminar is

MED2 after the seminar, you

comprehensive and includes

owe no more. Contact OHIO

information on procedures in

MICRO SYSTEMS for

medical offices, customizing

seminar dates, registration,

MED2 for unique situations.

and further information.

technical aspects of MED2,

Phone (216) 678-5202 or write

and marketing strategies. The

to us at 500 South Depeyster,

seminar can be a complete

Kent, Ohio 44240.

course for an end-user familiar

OHIO MICRO SYSTEMS

500 S. DEPEYSTER ST. • KENT, OHIO 44240 • (216) 678-5202

Circle 284 on inquiry card.

BYTE lunc 1979 43

Figure 9: Optimization. If a leftmost path were to yield the red path and a rightmost path were to yield the gray path, the common intersections

would be A, B, C, and D. By taking the shorter path between each successive pair of intersections, one obtains the shortest total path which has been traversed. Examples of short paths are the gray path from A to B, either path from B to C (since they are the same), and the red path from C to D. The final path is the most direct and shortest path through this section of the maze.

I—«-H

TOTAL LENGTH = 10 UNITS

TOTAL LENGTH = 12 UNITS

Figure 10: Turning time considerations. Due to the time it takes for the mouse to turn in an intersection, evaluations regarding this difference in the average length traveled per unit time must be made. For example, the mouse moves one unit of length in one unit of time and it takes two units of time to turn in an intersection. Then with the mouse starting in position A in each course, after 12 units of time the mouse has progressed 10 units of length on the left and a full 12 units on the right.

for the mouse to take the rightmost path, optimizing and recording as it went on the first attempt, and similarly take the leftmost path on the second try. Now the mouse has recorded in its memory two different optimized paths. At the beginning of the third attempt, each of the two paths can be measured by a straightforward, length of corridors sum, and the shorter of the two optimized paths can be taken on this final run.

A logical extension of this shorter total path philosophy is to compare the leftmost path list to the rightmost path list, finding all the common intersections. A short total path can then be composed by joining the shorter of the path segments between each common intersection pairs. For example, each complete path might go through the origin, intersection A, intersection B, and the exit point (perhaps along with many other different intersections). Then an optimal path could be made by combining the shorter path between the origin and A, the shorter path between A and B, and shorter path between B and the exit. Conceptually, this is like breaking the maze down into "common denominator" sections and picking the shortest path through each individual section. And, in fact, this path is the shortest one which has been traversed through the maze so far (see figure 9).

However, time is critical, not distance, and most likely the robot corners more slowly than it goes straight (see figure 10). So if the shorter path has many turns in it, and the longer run has few turns, the shorter path may not necessarily yield the shorter time for the run. Therefore, a slightly more sophisticated scheme could measure the paths using a weighted sum (a larger value for turns than for straightaways), and yield values which more closely reflect how fast the robot can negotiate the maze by the different paths.

Conclusions

The algorithms presented here are by no means high-powered or devious, but are more the results of a natural, intuitive approach to the maze traversal problem. They are all straightforward and relatively easy to implement. But even so, they are reliable and produce solutions which are reasonably good, especially when compared with the common wall-hugging tactics.

Clearly, there are still many ways to improve the performance of these algorithms. More contests like the IEEE Spectrum's Micromouse contest will perhaps encourage investigation in this area and will produce much more sophisticated approaches and solutions to the maze problem."

44

lime 1979 © BYTE Publications Inc

NorthStary

'Micro-Computer Products to Look Up to"

Horizon Disk Capacity Keeps Growing

The Horizon is now capable of 720K bytes on-line! The Horizon can connect to four double density 51/4" single-sided disk drives, Each of those drives can access 180K bytes of information. A four drive system accesses 720K bytes!

That's capacity you don't usually find in a microcomputer, but there's even more to come! The North Star disk controller board is designed so that twosided disk drives may be added as soon as they become available from North Star.

Existing Horizons will accommodate the new two-sided drives so North Star owners can simply add additional drives to up-grade their system. Each two-sided drive wiII access 360K bytes! That means the maximum on-line disk storage for the Horizon will increase to over 1.4 million bytes!

New Cabinet for Disk Drives

North Star additional disk drives are now available with the same high quality wood cover as the Horizon computer! The Additional Drive Cabinet (ADC) is designed to accept either one or two drives for the Horizon or for mounting North Star Micro Disk System drives. Like the Horizon, the ADC is available with either wood or blue metal cover. Included is a new power supply capable of powering one or two drives. The ADC is $129 in kit form. Assembled, with one drive the ADC is $599, with two drives $999.

Pascal Now Available for Horizon

The much-heralded Pascal language is now being offered for use with the North Star Horizon computer. North

Inside view of Horizon with processor board, RAM board, disk controller, two drives, and power supply.

Star, with the co-operation of the University of California at San Diego, is now delivering a Pascal Program Development system. North Star Pascal is ideally suited for developing large programs because of features such as: long variable names, block-structured control statements, and compilation. North Star Pascal is available on 51/4" diskettes for use with the Horizon or Micro Disk System. North Star Pascal will operate with either the Z80 or 8080 microprocessor.

Pascal, including documentation, is available in either single or double density versions for $49. An auxiliary Pascal diskette, containing an 8080/Z80 assembler and some additional Pascal utilities, is available for $29. Complete information is available at your local retail computer store,

First Double Density, Now Double Memory

The new North Star 32K RAM board (RAM-32) has doubled the memory density of the popular Horizon computer. Available either with the Horizon or other S-l 00 bus computers, the RAM-32 runs at full speed —no wait states — with the 4 MHz Z80A microprocessor (as well as with slower Z80 and 8080 processors). Addressability of the RAM-32 is switch-selectable in four 8K regions.

North Star RAM features like bankswitching and parity checking are standard. The parity checking capability means that the RAM-32 is constantly diagnosing itself. That's a plus for your system. The fact that parity checking is a North Star RAM-32 standard is a plus for your pocketbook! There is no extra charge for this important capability.

A Horizon with 48K of RAM can be configured by using one North Star 16K RAM board and a RAM-32. Need more memory? 56K can be configured by using two RAM-32 boards with one 8K region switched off.

NORTH STAR MDS, ZPB, FPB FOR OTHER S-100 COMPUTERS

Upgrade your system with these North Star products —available for any S-100 computer: Micro Disk System-a complete 5Va" floppy disk system, Z80 Processor Board, or the Hardware Floating Point Board.

Horizon and RAM board prices are:

Kit Assembled

Horizon - 1-16K S1599 S1899

Horizon - 1-32K 1849 2099

Horizon - 2-32K 2249 2549

RAM-32 599 659

RAM-16 399 459

A Atypical Horizon configuration: CRT, Horizon computer. Additional Drive Cabinet (ADC).

jrl

NorttrSlar

Computers

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

Circle 285 on inquiry card.

BYTI- lime 1979

45

PROVIDES POWERFUL

With A New Concept In Documentation

PRS EXCITING LINE OF PROGRAMS

46

PRS MAKES A BREAK-THROUGH IN DOCUMENTATION

Every PRS program comes with a complete and instructive handbook. This unique documentation is written in clear and easy-to-understand English. PRS offers you a true fluency in computer-user dialogue.

PRS HAS A POWERFUL CODE

Powerful code means fast and accurate answers. PRS permeates the design of its unique code with "human engineering." And you'll appreciate the delicate balance between machinehuman dialogue and resident program-space memory.

PRS PROGRAMS ARE PROTECTED IN A BEAUTIFUL CASSETTE OR DISK FOLDER

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

PRS SUPPORTS YOUR MAJOR BRANDS

Over 20 packages are currently available. For example: Cuts, Xitan, Tarbell, TRS-80, Micropolis, North*Star. Use the order form on the other page to order your program. Just indicate your version and the configuration of your computer. Mail it to us today. And we will have it fulfilled immediately by a dealer in your area.

VISIT YOUR NEAREST DEALER TODAY

Let your dealer demonstrate the excellence of PRS programs. Let him show you the new concept in PRS documentation. Use the order form to obtain the names of the dealers in your area.

BYTE lune 1979

□ MICROFILE: A NEW DATAFILE MANAGEMENT PROGRAM

With PRS MICROFILE you can: Manage any list of items. Edit files. Sort items alphanumerically. Search by keys. Total columns. Justify columns. Save and retrieve data with mass storage media.

PRS MICROFILE documentation also solves one of the major concerns of beginners. A special chapter explains how you can interface newly acquired software with your specific configuration.

PRS gives clear tutorial instructions on the whole matter of I/O patches. In addition, you will always find a complete source listing of the I/O section of our programs. PRS makes every effort to facilitate the implementation of its software within your particular system. Cassette $49.95 Floppy Disk $64.95

□ DDS II: THE FAMOUS DYNAMIC DEBUGGING SYSTEM

DDS II is incredibly powerful. Although designed for microcomputers, it is even more sophisticated than the built-in debugging environments supported by most large main frames. DDS II assembles and disassembles all 8080 code. Performs "software openheart surgery", artfully displaying on the screen all registers, program instructions and memory. Simulates dual screen capability. You can switch on command from the DDS II display to the program output. It's like having two video monitors for the price of one. Updates the display while monitoring the program. Includes a full array of monitoring tools. Cassette $49.95 Floppy Disk $64.95

□ CORE: AN INDISPENSABLE "BRAIN-SURGEON"

This PRS program is the TRS-80 Co

System Monitor—an essential program for the TRS-80 level II. It permits the user to penetrate and manipulate the contents of the memory. It can question the input and output ports, the CPU registers, control the mass storage drives and much more. Here's a partial list of commands: Examine and modify memory. Display memory in Hex, ASCII, or CPU registers. Enter ASCII in memory. Fill memory. Move block of memory. Verify memory. Locate string. Branch to routine. Go to and execute (two breakpoints available). Hex arithmetic. Question input ports and command output ports. Tape Cue, on/off. Read file in memory (bias available). Write file from memory. Memory test. Cassette $38.95 Floppy Disk $64.95

□ A2FP: A PLOTTING PROGRAM FOR APPLE II

This PRS program is a "modern age" tool for students, engineers and researchers. A2FP plots 2-dimensional functions in HIRES graphics. Uses the full screen (280 x 192 points.) Plots on Cartesian coordinates. Gives complete parameters of plotted curves. Superimposes plots. Offers many plotting modes. Cassette $34.95

□ T/PM: A TRANSIENT PROGRAM MANAGER FOR THE TRS-80

T/PM is a disk operating system similar to those used by main frames. It is written to utilize the full power of the Z-80 instruction set. At last, software can now be transportable. All programs written for the C/PM system can now be relocated just once to run on the TRS-80. If a program is written for the TRS-80 using T/PM or other CP/M* like DOS, you can now run that program simply, without patches. Floppy Disk $149.95 Trademark of Digital Research

Circle 308 on inquiry card.

PROGRAMS

^^^^

PRS—THE PROGRAM OF THE

1

' yiM,

f MONTH CORPORATION

^"^^

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

SOFTWARE

PRICE

QTY.

TOTAL J

1. MICROFI Management

LE: A new Data File System

□ Cassette

$ 49.95

□ Floppy Disk

$ 64.95

□ Documentation only

$ 10.00

2. DDS II Tl Debugging S

ie Famous Dynamic

ystem

□ Cassette

$ 49.95

□ Floppy Disk

$ 64.95

□ Documentation only

$ 10.00

3. CORE: TIi System Mon

e TRS-80 Co-Resident tor

□ Cassette

$ 38.95

D Floppy Disk

$ 64.95

D Documentation only

$ 10.00

4. A2FPThe Plotter

APPLE II Function

□ Cassette

$ 34.95

□ Documentation only

$ 10.00

5. T/PM: The Progam Man.

TRS-80 Transient iger

D Floppy Disk

$149.95

□ Documentation only

$ 50.00

□ Send me list of dealers in my area

Sub Total

□ Check enclosed

□ VISA □ Master Charge D U.P.S. COD

Less 5% with order

Account * Exp. Date

N.Y. State sales tax

E

j f.

lank *

Total

ignahire

ly Computer configuration (specifying disk system)

I> C

f

lamp. *

.orporation Lddressino P.O.

Telephone , Rnx) J

City

State Zip ™ [

<o |

Circle 308 on inquiry card.

BYTE lune 197'J 47

I MicroPro

MicroPro International Corporation The Producers of WORD-MASTER™ and SUPER-SORT™

Proudly Present

Here it is! The most complete, totally integrated, word processing system software you've ever seen on a microcomputer. WORD-STAR™ really shines in ease of use, with its unique, dynamically activated menu scheme that allows typists to become word processing operators in minutes instead of weeks. For only $495, your 8080/8085/Z-80 with any CRT device becomes a word processing system with the features of a Lanier, Wang, Vydec, Xerox, etc, for far less cost.

Features like ON-SCREEN VISUAL TEXT COMPOSITION, with word wrap, plus dynamic justification and remargination. Imagine being able to type without hitting return, and as WORDSTAR™moves you to the next line, the preceding line is redisplayed, justified to your left and right margins! Center a line with a keystroke! Set BOLDFACE and/or underline even in mid paragraph! Rejustify text to new margins, on-screen, at will!

DYNAMIC PAGINATION shows the printer page breaks during text entry, correction, or review. Dot commands control vertical page layout, CONDITIONAL PAGINATION, page HEADINGS, page NUMBERS, etc. The integrated PRINT COMMAND can print selected pages only, pause between pages for letterhead loading, and drive any CP/M* list device. WORD-STAR™ runs with the CP/M interfaced printer and terminal of your choice.

SPECIFICATIONS: status line showing page, line, column of cursor; variable menu suppression for experienced operators; dynamic display of text during entry or on call permits CRT preview of printed copy; full disk buffering (document sizes up to diskette capacity); multiple file/disk edits In a session; CP/M file compatible — also useful for data entry, editing programs, etc. Commands include: cursor up/down/left/right; scroll line/screenful, up/down, once/variable rate; insert/overtype; delete character/word/line left/right/entire; variable margin set/release; set/clear tab stops; justify/ragged right; block move/copy/delete; search/replace once/n times/global/selective/whole words only; write to/read from additional files; set/go to any of 10 place markers. Additional support provided for CRT's with inverse video/dual Intensity, line Insert/delete, and erase to end of line. Dialog interface for easy installation. AND MORE!

Registered WORD-MASTER™ users can get a $100 discount from us or your participating dealer when upgrading to WORD-STAR™ Offer good for a limited time only.

WORD-STAR™operates with any CP/M* operating system, 32K, and either a memory mapped video board or any CRT TERMINAL with cursor control and clear screen (Hazeltine, Lear-Siegler, Soroc, Microterm, Hewlett Packard, Infoton, Beehive, Processor Tech VDM, IMSAI VIO, SD Systems, Altos, Dynabyte, GNAT, etc). We ship on 8" IBM, Micropolis II, or Northstar diskette.

Other fine MicroPro Products include:

Software/Manual Word-Star™ $495/25

Word-Master™- $150/25

Tex-Writer™ $ 75/15

Super-Sort™! Super-Sort™ II Super-Sort™ III

Software/Manual $250/25 $200/25 $150/25

MICROPRO INTERNATIONAL CORPORATION

1299 4th Street, San Rafael, California 94901

Telephone (415) 457-8990 Telex 340388 Dealer/OEM inquiries invited

"PROFESSIONAL QUALITY SOFTWARE YOU CAN COUNT ON, NOW"

See Demonstrations at NCC. Personal Computing Booth 42

"CP/M is a trademark ol Digital Research Corp.

Cispcis's Circuit Cellar

The circuit described is intended only for experimentation with a unique form of input. It should not in any way be used for diagnosis of bodily functions.

Mind Over Matter

Add Biofeedback Input to Your Computer

I wouldn't want you to get the wrong idea from photo 1. I haven't given up computers and taken up telling fortunes. )ust consider the photo as a slightly dramatized introduction to a topic we've all heard of, but know so little about: biofeedback. In layman's terms, this simply means having the capability to monitor (in this case electronically) physiological processes.

There are a variety of devices on the market referred to as brain wave monitors. Brain waves are but one of the many sources of energy categorized under biofeedback. Their common relationship is that they are all electrical pulses which run through the body as a result of brain or muscle activity. Nerves and muscles within the body generate electricity by electrochemical action similar to that in a battery.

When we want to lift an arm, the brain sends an electrical pulse to the muscles in the arm. Proper magnitude and duration of the signal result in coordinated activity. The actual energy that is transmitted from the brain is very small: on the order of a few hundred microvolts at the most. The most familiar of these signals is the voltage generated by the pumping of the heart. A graph of this voltage versus time is called an electrocardiogram (abbreviated EKG or ECG). An EKG looks like a spiked waveform, with periodic response equivalent to a heartbeat. Many individual muscle contractions contribute to a frequency spectrum of 0.1 to 100 Hz, with an amplitude of about 5 mV.

Another group of signals are the voltages generated using large skeletal muscles like biceps and triceps. A recording of these voltages is called an electromyograph or EMG. Occurring only when the muscles

contract, not periodically like the heart, the frequencies are very low, but the voltage is higher: about 5 to 10 mV. Because of their magnitude, these signals are the easiest to monitor.

The last important biomedical signal is composed of very low amplitude voltages within the brain itself. These are recorded by the EEG (electroencephalograph). They exhibit both periodic and pulse mode. The 50 juV signals occupy a band that is generally between 1 and 30 Hz. The signals are further subdivided into delta, theta, alpha, and beta waves. These classifications signify activity in defined frequency bands. Differences in activity seem to reflect particular personality tendencies.

Steve Ciarcia POB 582 Glastonbury CT 06033

Photo 1: This photo simulates a crystal ball reflection to emphasize the control capabilities associated with this article.

June 1979 © BYTE Publications Inc 49

iO

e2E>

•—m>EouT

■('

)(

E2 " E,

Figure 1: Differential input instrumentation amplifier configured from multiple, single-ended, operational, amplifier elements.

Copyright © 1979 by Steven A Ciarcia. All rights reserved.

Monitoring Internal Electrical Activity

Consider the activity within the brain or the muscles. Each neuron is producing minute voltages. In combination with the voltages of billions of other cells involved in similar activities, the result is fairly significant. The situation can be compared to that of a football stadium before, during, and after a game. A listener outside of the stadium would not hear the shouts of a few individuals, but 50,000 people shouting is quite another story. A further consideration is the progress of the game. Loud noise coming from a particular section of the stadium during the game signifies approval. This same ovation, at the conclusion, can imply the identity of the winner. Observa

tion and association are the keys. EKG, EMG, and EEG readings must be carefully interpreted.

All of the signals discussed thus far can be monitored with surface electrodes. When the biceps is moved, a small voltage which can be measured will be produced across it (ie: referenced to some other point on the body). Monitoring this voltage requires a special amplifier with extremely high input impedance and 60 Hz rejection. Care must be taken to use a device which will not load the signal being sensed, nor have such a low signal to noise ratio that one cannot discern intelligible information. The unique device which satisfies these requirements is called an instrumentation amplifier. Any product which is sold to monitor brain waves, EKGs, etc will contain an instrumentation amplifier.

Instrumentation amplifiers are often called differential or data amplifiers. They are closed loop gain blocks with accurately predictable input to output response. They are especially configured to have extremely high input impedances and common mode rejection which makes them ideal for amplifying low level signals in the presence of large common mode voltages. Figure 1 shows the schematic of a typical instrumentation amplifier built from such standard operational amplifiers as LM301s or 741s.

This common circuit consists of three op amps. ICa and ICb are inserted as high impedance input buffers which provide a differential gain of 1 + 2R1/R in and unity common mode gain. ICc is a unity gain differential amplifier which combines the voltages from the other amps. The ratio of the differential voltage gain of an amplifier to its common mode gain is enhanced

Table 7: Comparison chart of three different amplification elements.

Operational Amplifier

Instrumentation Amplifier

Isolation Amplifier

Symbol

3>

=D^

3»

Feedback Configuration

1. 2.

User defined feedback such as voltage or current. Can be configured to provide dV/dt, jVdt, log V, etc.

1. Committed feedback.

2. Gain adjustable within fixed limits.

1. 2.

Committed feedback.

Gain adjustable within fixed limits.

Basic Applications

1.

2.

3.

General purpose amplification element. Buffer.

Analog computational element.

1. High accuracy analog sense amplifier.

1.

2. 3.

High accuracy analog sense amplifier. Analog safety isolator. Prevents ground loops.

50 June 1979 © BYTE Publications Inc

by selecting low feedback resistors to reduce the effects of input offsets. A problem arises when selecting matched components to build this otherwise cheap circuit. Slight variations in resistors and op amps can make the difference between a working or nonworking circuit. (More on that subject will be discussed later.)

EEG and EMG monitoring requires an instrumentation amplifer because of the low input levels; but, when used in a biomedical application, a further modification to the amplifier's internal design is necessary. The special device is called an isolation amplifier. Transformers or optical couplers inside the amplifier block isolate the sense inputs of the amplifier from the output circuitry. This means that a 2uV signal could be monitored on a 2000 V transmission line and the output connected directly to an analog to digital converter input on your computer. The protection works both ways. This is why any connections to the body are done through isolation amplifiers.

An isolation amplifier is to analog signals as an optoisolator is to digital signals. It prevents ground loops from the data analysis equipment (ie: your computer) through the subject. When the electrodes are attached, skin contact resistance is very low: only a few hundred ohms. A leakage current of just lOOjuA can be fatal. Table 1 summarizes the differences between the amplifiers we've discussed.

Choosing an Isolation Amplifier

There have been many articles on the subject of alpha brain wave and muscle monitors; some even include circuit diagrams for construction of the interfaces. The major thing these articles lack is a caution about matching components, and the critical importance of proper layout. The circuit of figure 1, if breadboarded in the usual fashion, wouldn't have a chance of working on 50 uV levels. Even the testing of a handful of components to obtain matched pairs would be useless without concise wiring and plenty of ground plane shielding to reduce 60 Hz interference. Personally, I don't like to present circuits with so many strings attached that it takes divine intervention to make them work.

The final most important consideration in this undertaking is to not get electrocuted because of sloppy technique. At this point I'd like to draw the line between this article and other construction oriented articles. A cheap method of attaining minimal isolation is to use batteries to power an instrumentation amplifier. This sounds fine in theory, but it is very risky in practice. Too often a

©VECTOR PACKAGING SYSTEMS SAVE TIME & MONEY!

New ANYDIP

8804, $21.95 t !« 1"

.eaaaaeaaa Saaaaaaaa

IJJLJ.IJ-IJ A3

-iiiiii).*"

8802-1 , $21.95

S-100 CARDS

Five models available. Universal tinned buses, pads or plain. 0.042 inch diameter holes on 0.1 inch grid for mounting anything anywhere. For interface, memory, breadboarding.

R681-2 RECEPTACLE FITS 8803 MOTHERBOARD

Model R681-1 has 0.062 inch long 0.025 inch square tails.

TEFZEL* Insulation Wire Wrapping Tools:

'J. s. & ign pater

daisy-chain wraps

P184 with 100

J Up to 4X faster.

• Heavy insulation.

P184-4T with NiCad batteries, recharger, 100' of wire: $105.00. wire, $30.00.

BEAUTIFUL VP2 ENCLOSURE-supplied completely assembled for packaging.

S-100 based systems. Clear aluminum with blue vinyl finished shcle-ofl sides, top, and petforated bottom covei

I

removable fronl and reai panels, adjustable connector/Motherboard mounting struts, card

VP2, $1b9.00. VP1, cards mount perpendicular in front. $163.00. BP17-9,

;ory back pai

Low noise model 8803 S-100 Motherboard not shown. Eleven positions ready for connectors. Glass epoxy, soldei masked etched circuitry for passive and active termination, twelve tantalum capacitors and instructions. $29.50.

*DuPont prices subject to change without notice, trademark

Send for complete data. Packaging systems for other card sizes and systems, rack mounting are available VECTOR ELECTRONIC COMPANY, INC.

12460 Gladstone Avenue, Sylmar, CA 91342 telephone (213) 365-9661; TWX (910) 496-1539

ml iiunibrr C27U01

Circle 381 on inquiry card.

lune 1979 © BYTE Publications Inc 51

Photo 2: The Analog Devices 284J isolation amplifier used in this article.

Photo 3: View of the prototype circuit described in figure 2.

Photo 4: Pregelled American Optical electrodes of the type used in this article. They are available from medical supply outlets.

standard power supply is substituted for the batteries, or a loosely wired component falls against a live wire on another circuit. Fortunately we can get both safety and performance if we don't assume that everything has to be constructed from scratch. It is a much better idea to take advantage of commercially available isolation amplifiers. (You wouldn't build a 4 bit digital counter from transistors, would you?) A perfect choice for this application is the Underwriters Laboratory approved Analog Devices 284J isolation amplifier shown in photo 2. It provides plus or minus 2500 V isolation, 110 dB common mode rejection, and a gain of 10 V per volt. For the experimenter this eliminates building the only tricky section of the interface. An added benefit is that the isolation is now an internal function of the 284J and not a function of installation. Since the ultimate aim of this article is to produce a biofeedback interface for a computer, I don't want anyone getting injured in the process.

Biofeedback Computer Interface

Figure 2 is the schematic of a circuit which is capable of sensing the minute voltages we've been discussing, and signifying to the computer when a present level has been attained. This is a bare bones, basic interface designed specifically for signal acquisition. It would seem to me that this is the area which would give most people problems. The circuit consists of an isolation amplifier module, two gain stages, and a comparator to sense peak level. The completed circuit is shown in photo 3.

All connections to the body are done through Ml. The high and low input terminals are attached across the area to be monitored. If it is an EKG output, you should attach the terminals as shown. For biceps input, these two probes would go on the upper arm and the guard connected to the wrist. All leads between the body and the board must be shielded or 60 Hz will be all that is seen on the output. Gain on the 284J amplifier is set by connecting a resistor between pins 1 and 2. When they are shorted as shown, the result is a gain of 10.

ICs 1 and 2 are configured as common inverting amplifiers, each having a gain of 10. Since the signals we want to amplify are relatively low frequency AC, a capacitor is attached at the input of the first amplifier to filter out the DC component of M1's output. In most cases of muscle monitoring, this total gain of 1000 is sufficient. Picking up brain waves will require additional amplification. Changing the 100 k£2 resistor

52 lune 1979 © BYTE Publications Inc

1,

-V

ANALOG OUTPUT<^ \

IM

+ V T_

OFFSET ADJUST 50K

47K

-Wr

470K -AAV

Figure 2: Schematic diagram of biofeedback monitor. IC4 is a type 284] isolation amplifier costing $59 plus shipping from Analog Devices, Rte I Industrial Park, POB 280, Norwood MA 02062. + V is anywhere from 9 to 15 V and -V is from -9 to -15 V. All capacitors are 100 V ceramic unless otherwise noted. All circuitry should be mounted on a ground plane to reduce AC pickup. Connecting wires should be as short as possible. The electrode cable must be shielded to obtain proper operation.

IOOK -A<W—

O.OOI

+ 5V

R2 20K

TRIGGER .LEVEL ADJUST

JZJ

TO COMPUTER PARALLEL INPUT PORT BIT 0

+ 5V

LED

on IC2 to 1 M£2 will increase it another order of magnitude to 10,000. Be aware that raising the amplification also raises the noise on the output. Capacitors in the feedback loops are used in an attempt to keep this noise to a minimum. The amplified analog signal is available at pin 6 of IC2. It can be attached to an oscilloscope if you care to watch yourself in action.

IC3 and IC4 are the interface to the computer. IC3 is a comparator with normally high output. When the signal level from IC2 exceeds the trigger voltage set on R2, IC3 pin 6 goes low, firing the one shot IC4. This signal is in turn connected to a parallel input bit of the computer. Offset potentiometer R1 is adjusted to give 0 V on IC2 pin 6 when Ml is removed and M1 pin 10 is grounded.

Using the Muscle Monitor

Monitoring muscle voltages is much easier than monitoring brain waves. To adequately accomplish the latter, sharp bandpass filters which can separate brain waves from other signal sources must be added to

Number

Type

+5 V

GND

+V

-V

IC1

LM301A

7

4

IC2

LM301A

7

4

IC3

LM741

7

4

IC4

74121

14

7

Table 2: Power pin connections for figure 2 schematic.

figure I. As it stands, it cannot differentiate between alpha or theta waves and is optimized for muscle pickup.

To sense the electrical activity of a muscle such as the biceps, three electrodes are necessary. It is not enough to merely wrap three wires around your arm. Special electrodes such as the type shown in photo 4 are necessary. These are referred to as pregelled silver-silver chloride disposable electrodes and they are available through medical supply outlets. The electrodes (shown in photo 5) have a spongy center section saturated with a gel to reduce skin contact resistance. The best results will be obtained by using these or similar attachments.

In the case of the forearm muscles, the Text continued on page 56

lune 1979 © BYTE Publications Inc 53

CAST A SPELL

t

*%^

^

«*

* W

^

■l

r£7TTT

Ty«5

<<......,,,,

If you've written software in Altair Basic, you've written spells" for the Exidy Sorcerer.

Now, make it pay off!

There's never enough software.

Particularly good software.

That's why Exidy is sponsoring a software contest where nobody loses.

Altair programs run on Sorcerer,

The Sorcerer computer's Standard Basic is compatible with Altair 4K and 8K Basic. So our contest is open to programs — we like to think of them as "spells" or "Sorcery"—written in all three of those Basic versions. Trade one of yours for one of ours. Just for entering a program in our contest, we'll send you a new, professionally written and documented program. Free. It's a classic game of concentration that's a fun mindstretcher for both kids and adults. Plus you'll get our new 20" by 24" color poster. And maybe 99 more good programs. We'll publish a bound book of the best programs entered — up to 100 of them, with full credit to each author. If you enter you can have a copy for just the printing and mailing cost. And if your program is included, you get the book free.

WIN THIS EXIDY SORCERER.

And maybe a free Exidy Sorcerer: Submit one of the four programs judged "best," and win a free Sorcerer computer. (Or choose Sorcerer accessories of equal value.) There'll be one winner in each of the following categories: Business, Education, Fun & Games, and Home/ Personal management.

Test-run your entry free.

Take your program to any participating Sorcerer dealer if you want to give it a test run. At the same time, maybe you'll want to jazz up your program to take advantage of Sorcerer's state-of-the-art features. These include 512 by 240 high-resolution graphics; user-defined characters; and dual cassette I/O, among others. You can turn in your entry right at the dealer's. And collect your poster and new program on the spot.

Enter now. Send us your entry with the coupon. Or visit your dealer. But cast your best spell at Exidy now. And see if you can't make a free computer appear on your doorstep.

RULES:

1) Entries, including documentation, must be printed by computer or typed double spaced on 8V2 by 11 paper, with your name on every page.

2) Enter as many times as you like. This coupon, or a copy of it, must be completed and attached to all entries.

3) Enter at any participating Exidy Sorcerer dealer, or mail entries postpaid to the address on this coupon.

4) Entries must be received by midnight, Aug. 31, 1979. Winners will be notified by Nov. 30, 1979. For a list of winners, send a self-addressed, stamped envelope marked "Winners List" to the coupon address.

5) You warrant, by your signature on this coupon, that all program and documentation material included in your entry is entirely your own original creation, and that

no rights to it have been given or sold to any other party, and you agree to allow Exidy to use, publish, distribute, modify, and edit it as it sees fit.

6) All entries become the property of Exidy, Inc. No entries will be returned, nor any questions answered regarding individual entries. No royalties, payments or consideration beyond the items set forth in this advertisement will be given to any entrant.

7) Judging will be by a panel of experts chosen by, and including representatives of, Exidy, Inc. Judges may assign programs to whichever entry category they consider appropriate. Decision of the Judges is final.

8) Employees of Exidy, Inc., its dealers, distributors, advertising agencies and media not eligible. Void where prohibited, taxed or restricted by law.

EXIDY, INC.

969 W. Maude Ave. Sunnyvale, CA 94086

Gentlemen:

Here's my "spell." Send me my free program and poster. If I win, send my Exidy Sorcerer computer to:

NAME^

.STATE

. ZIP_

DAYTIME PHONE_

TITLE OF PROGRAM.

CATEGORY D Business D Fun & Games

□ Education D Home/Personal Management

Circle 133 on inquiry card.

SIGNATURE

Copyright 1979, Exidy, Inc.

Photo 5: The electrode has a saturated spongy center which serves to reduce skin contact resistance. It Is necessary to use this type of connection to the body if satisfactory results are to be obtained.

Text continued from page 53: high electrode (shown in photo 6) is placed on the wrist, the low electrode on the upper arm, and the guard on my chest, close to the shoulder. When the muscles of that arm are flexed, a large pulse will appear at the analog output terminal of the interface. It is best seen with an oscilloscope. Every movement produces some noticeable deviation in the trace. If the trigger adjustment R2 is set above the ambient noise at the peak of this large pulse, it will fire the one shot every time the muscle is flexed. Actually, adjustment can be much finer. With the electrodes placed as in figure 1 (the guard is on my chest again), they can pick up something as insignificant as moving your eyebrows or gritting your teeth. The setting is made higher than the level produced when talking or breathing, so that it can

be used as a suitable control input to the computer.

Biofeedback Computer Control

Control is the name of the game. Consider someone who is almost totally paralyzed. This system could be used (perhaps by sensing eyebrow movement) as an on/off switch to a more sophisticated controller. I've seen one computer aid for the handicapped which consisted of an alphanumeric sequencing display. Letters could be individually chosen and eventually combined to produce whole written messages. A lot can be accomplished with a single bit of input if the software is written with time as a pertinent consideration. A single switch could signify a particular choice if each was presented in sequence with time allotted to answer. That is the premise of the BASIC program in listing 1.

This is a simple program written in Micro Com 8 K Zapple BASIC. It presents the operator with a series of seven choices, and branches to special subroutines as a result of these choices. It presumes that the user can see and signify positive response by a high logic level on bit 0 of input port 3. This bit is tied to the output of our eyebrow twitch monitor. Output port 17 has seven lights attached to bits 1 through 7 (bit 0 not used). The program lights the first light, and the user decides whether or not the computer should perform the activity signified by bit 1. If so, the user merely furrows his or her brow and the program jumps to the designated activity. In this simple illustration, I merely flash the light a few times to indicate which was chosen. Should the operator not care for the first choice, the program sequences to the next choice, and so on. Before hook

Photo 6: To monitor the electrical activity of the muscles in the arm, electrodes should be placed as shown.

56 |une 1979 © BYTE Publications Inc

B&SVo

lor?

One of three exciting new options from Ohio Scientific.

Color> With it there is a big difference. And now, Ohio Scientific offers a lustrous 16 color option on all its C2 Series Computer Systems, past and present. New orders for C2'4P and C2-8P's can now request the color option. Upgrade kits are available for all existing C2s. When coupled with the C2's demonstrated high resolution graphics, the new color display is striking.

The relatively easy add-on of color and other options discussed here are interfaced through the new 540 B video board and are realized without extensive modification or excessive cost because the C2 family of computers feature exceptional "design for the future" modular construction that permits one sector of the computer to be modified without affecting other sectors.

Sound.

The sound option

further enhances enjoyment

of the C2's while broadening their

scope of applications. Games of logic

and dexterity now seem to come

alive when sound pops out from

on-screen happenings.

This new option is implemented through the new 542 Rev B keyboard available with new C2 orders or as part of an upgrade kit. In addition to a standard tone generator, this new board also contains a D/A (digital to analog) converter that takes advantage of the power and ultra high speed of the C2s 6502 microprocessor to enable users to generate both limited band-width speech and , complex musical chords.

AC-12 Remote AC Control System.

This unique option enables a C2 user to create a computerized wireless home control facility with simple effort and at heretofore unheard of low cost. The AC-12 provides a control signal on the home's AC power line not unlike the manner in which wireless intercoms function. The AC-12 will plug into any C2 computer that has the new 540 B video board. The basic system contains a command console and four remote modules. The remotes can be appliance modules that can switch up to 15 amps, lamp modules that can provide on-off, dimming and brightening, or wall switch modules. The AC-12 has a special Home Control OS-65D V3.0 Mini-Floppy Disk Operating System that provides a wide range of capabilities not the least of which is "Foreground and Background" operation. This allows the computer to monitor time and inputs for the Home Control System, while running other BASIC

programs

New options:

Color and Sound Option on C2-4P and C2-8P Add $200

CA-11B 540B color video board for system upgrades (does not include 542B sound keyboard) $225

CA-11C 540B color video board and 542B sound keyboard. (For upgrades) $299

AC-12 Remote AC control system, including console, four remotes and software. For use on any system with a 540B video board $175

Color. Sound. AC Remote Control. Three more examples of Ohio Scientific's continuing enhancement of its computer products and user benefits. Contact your local Ohio Scientific dealer.

Circle 290 on inquiry card.

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

100 110 120 130 140 150 160 170 180 190 200 210 220 230 240 250 260 270 280 290 300 310 320 330 340 350 360 370 3B0 390 400 410 420 430 440 450 460 470 480 490 500 510 520 530 540 550 560 570 580 590 600 610 620 630 640 650 660 670 680 690 700 710 720 730

REM This prosiram demonstrates haw the computer can be

REM used to provide contol output from an EMG digital input

REM EMG input is on port 3» bit 0. No stimulus is loaic 0

REM while muscle aetivitu is sianified by loaic 1.

REM Test apparatus uses 7 liahts attached to bits 1 thru 7 of

REM output port 17. The computer seauences thru the liahts until the

REM operator signifies a choice by •--■"THINKING"— about it !!!

REM

REM Copyriaht 1979 STEVE CIARCIA

REM

REM

FOR B=0 TO 300 iNEXT D

REM

REM This routine seauentially flashes bits 1 thaouah 7 af part 17

REM It only exits when an input flaa has been set by the EMG monitor

B = l

X=2"B S0UT 17iX

GOSUB 440

IF F-l THEN OUT 17,1 JGOTO 320

B=B+1 !IF B>7 THEN GOTO 210

GOTO 260

REM

IF B==l THEN GOSUB 670 JGOTO 570

IF B=2 THEN GOSUB 670 JGOTO 580

IF B=3 THEN GOSUB 670 JGOTO 590

IF B~4 THEN GOSUB 670 JGOTO 600

IF B=5 THEN GOSUB 670 JGOTO 610

IF B=6 THEN GOSUB 670 JGOTO 620

IF B=7 THEN GOSUB 670 JGOTO 630

IF B>7 THEN STOP

REM

REM

REM This routine

REM If si3n3l is

A=0 !F=0

I=INP<3>-254

IF I>0 THEN 490

A=A+1 J IF A>200 THEN RETURN JREM aive operator time to respond

GOTO 450

F~l

Q=INP(3)

IF Q>254 THEN 500

RETURN

REM

REM

REM These 7 routines can be replaced with outputs to

REM individual control proarams.

PRINT"b=l"JGOTO 210

PRINT'b-2"JGOTO 210

PRINT"b=3"JGOTO 210

PRINT"b=4"JGOTO 210

PRINT"b=5*JGOTO 210

PRINT"b=6"JGOTO 210

PRINT"b=7"JGOTO 210

REM

REM

REM This routine flashes individual lisht to indicate selection

FOR T=0 TO 10

OUT 17rX

FOR tl=0 TO 50 J NEXT Tl

OUT 17r0 J

FOR T1»0 TO 50 JNEXT Tl

NEXT T

RETURN

reads the EMG monitor c present it sets flaa Fs

port 3 bit 0

Listing 7: BASIC program to sense input from the biofeedback monitor. This program scans the cursor through several choices and waits a short period of time. If the user squints or blinks within the allotted period, that choice is designated. If it is not designated, it cycles to the next choice. This particular program just blinks the chosen objective to indicate that the interface is working. The required body connections for picking up eyebrow movement are shown in photo I.

up, the program can be easily tested with the muscle monitor by temporarily attaching a normally closed, pushbutton switch on port 3 bit 0.

Conclusion

All of this effort for a single bit of data acquisition may appear unjustified, but it can prove to be exceedingly significant in situations where no other means of computer interaction is available. At the least, the interface should provide a substantial base for biofeedback experiments. With additional amplification and filtering to monitor brain waves, a whole series of challenging experiments come to mind. Personal computing need not be relegated to the level of canned amusements and commercial presentations. A refinement of this interface could be the one critical design feature which would open the field of personal computing to individuals who are otherwise physically unable to take advantage of it.

If you have any questions on this or any other "Ciarcia's Circuit Cellar" article, or just a good idea, please don't hesitate to write. While it may take some time, I do eventually answer all inquiries. Please enclose a self-addressed stamped envelope. Next month the "Circuit Cellar" topic will be sound generators."

PET PRINTER ADAPTER

GET HARD COPY FROM YOUR COMMODORE PET USING A STANDARD RS-232 PRINTER

1200B

1200C

The CmC ADA 1200 drives an RS-232 printer from the PET IEEE-488 bus. Now, the PET owner can obtain hard copy listings and can type letters, manuscripts, mailing labels, tables of data, pictures, invoices, graphs, checks, needlepoint patterns, etc., using a standard RS-232 printer or terminal.

$98.50 ADA1200B

Assembled and tested

$169.00 ADA1200C

With case, power supply and RS-232 connector

Order direct or contact your local computer store. Add $3.00 for postage and handling per order.

O CONNECTICUT microCOMPUTER

fjjfj) (=3 150 POCONO RD. BRO0KFIELD. CT 06804

ILa (203) 775 9659 TLX: 7104560052

58

June 1979 © BYTE Publications Inc

Circle 78 on inquiry card.

THE $798 INTERTUBE II

*w

I

•--*';:n*r.

kNl

a

■"^^^

If s already a big success!

The party's over for all dumb terminals and a lot of smart ones too. But, at $798 (quantity 25), the party's just beginning for Intertec's InterTube II.

Standard features to celebrate include a full 24 line by 80 character display, 128 upper and lower case ASCII characters, reverse video, complete cursor addressing and control, an 18 key numeric keypad, special function keys, blinking, protected fields, character and line insert/delete, editing, eleven special graphics symbols, a 25th status line which displays the terminal operating mode and an RS-232 printer port.

*$995 Quantity One

You'll discover even more reasons to celebrate when you sit down in front of an InterTube II. Our wide bandwidth monitor produces crisp, sharp chararters everywhere on the screen. InterTube's Z-80 processor enables a host of operator oriented features to boost the efficiency of both software and programmers. And, InterTube's rugged modular design combined with its built-in self-test mode insures quick and reliable servicing.

InterTube's price/performance ratio can satisfy your requirements whether they be a sophisticated data entry application or a simple

Circle 182 on inquiry card.

inquiry/response environment. So, there's really no reason to think "dumb" when you can afford to be so smart!

Join the thousands of InterTube celebrations going on around the country at this very moment. Call us at the number below and start your own celebration (BYOB—we'll bring the InterTube).

3

, NTE3TEC rDATA £ SYSTEMS,

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

UVTI June I'I7>I

59

The sales literature for the Apple II lists the specifications for the high resolution color graphics mode this way:

• 280 horizontal by 192 vertical resolution.

• Four colors: black, white, violet, and green.

• Displays 8 K bytes.

The specifications don't sound all that exciting. The resolution seems about right, but why are there so few colors? And why did they pick green and violet instead of, say, red and blue? Well, as it happens, the colors in the Apple II high resolution graphics can be red and green, or blue and yellow, or almost any two complementary colors you want. What's more, on many color television sets you can obtain as many as four colors along with black and white, as demonstrated by the accompanying photograph.

More Colors

for Your Apple

Allen Watson III 430 Lakeview Way Redwood City CA 94062

The classic approach to computer generated color is to generate separate signals for the red, green, and blue inputs of a color monitor. However, color monitors are expensive; it's more economical to use an ordinary color television set. Now instead of generating three simultaneous video signals, we have to generate a composite signal that resembles the standard broadcast signal the television set was designed to receive.

It's not merely that the signal has to be put onto a regular television channel by means of a radio frequency modulator; although that's certainly necessary, there's a lot more to it. Since all the fascinating features of the Apple II high resolution color graphics are the results of the way the Apple II designers solved this problem, let's take a look at just what they did.

The Color Signal

The standards for broadcast color television signals were established by NTSC (National Television Systems Committee) and approved by the Federal Communications Commission in 1953. In order to retain the existing system of black and white television broadcasting, the committee sys

tem adds color information to a signal which is practically identical to the black and white standard. The resulting composite signal includes a black and white component that amplitude modulates the television carrier frequency in the usual way, and a color component which rides on a 3.58 MHz subcarrier.

This superposition of color and black and white information is necessary in order to crowd a full color video signal into a channel whose high frequency response is limited to just over 4 MHz. The fact that human vision does not resolve image details in color allows us to limit the resolution of the color component of the signal to a maximum of 1.5 MHz. In fact, only part of the color signal gets even this much; the rest is limited to 0.5 MHz.

This narrow band color signal modulates a 3.58 MHz subcarrier which is then added to the black and white picture information. The color subcarrier modulation is a combination of amplitude and phase modulation: the amplitude of the subcarrier corresponds to the amount of color at each point on the screen, while the choice of color is determined by the phase of the color frequency relative to a 3.58 MHz reference signal. This reference signal is generated in the television set from a burst of 3.58 MHz transmitted in the interval between the lines of the picture.

A high subcarrier frequency reduces interference between the color and black and white components because the black and white signal contains less energy at high frequencies. Interference is further reduced by the fact that the subcarrier frequency is an odd multiple of half the picture scanning rates, both horizontal and vertical. This makes any color signal that gets into the black and white video reverse polarity on successive lines; the interference makes little dots in the picture, but the dots on one line will have "undots" above and below. These will tend to average out when viewed from a reasonable distance.

This is where the signal generated by the Apple II deviates radically from the standard signal. First of all, the Apple II signal omits a technique called interlacing, thus reducing the number of horizontal scanning lines by half and likewise the amount of information needed to fill the screen. Noninterlacing is common among low cost computer video displays. The significant deviation from the standard, however, is a slight change in the horizontal and vertical scanning rates such that the interference between the color and the black and white components is maximized, rather than minimized. This is not as strange as it sounds, because this is what en

60

June 1979 © BYTE Publications Inc

ables the Apple II to generate color graphics with a signal made up only of ones and zeroes.

An Example

To see what this does to our display, suppose we try to display two small white dots side by side. The smaller the dots and the closer they are to each other, the higher the highest frequency picture signal going into the television set. But everything the Apple II puts out at the high end of the frequency range gets decoded as color, so that, even before our dots are made too small and too close together for a black and white set to be able to distinguish, something else has happened: they have merged into a single dot, and it isn't white, but color.

In other words, the resolution we can get using this method is somewhat limited compared with the separate red, green, blue approach, although it is produced with correspondingly less screen memory (ie: 8 K bytes

compared with 24 K bytes). But even if the color interference were minimized, the television set's receiving circuits limit the horizontal resolution to about 300. Incidentally, this is why the Apple II displays only 40 characters in each line of text; the more popular 64 or 80 characters cannot be resolved by a standard color television.

Bits and Resolution

As we have seen, the Apple II produces color by simply putting its smallest dots at the right size and spacing: namely, the color subcarrier frequency. Each dot is really a half cycle, so the dot rate is twice the subcarrier frequency, or something over 7 MHz. Let's see how many of these dots will fit on one horizontal line. There is one horizontal scan every 63.5 /ds, but part of this time is needed to get the electron beam into position to start the next line, and to keep the lines in synchronization. The picture signal is shut off, or blanked, during this time. That leaves about 45 jzs, but just to play it

Photo I: Apple II display showing four colors in high resolution mode.

June 1979 © BYTE Publications Inc 61

Figure 7: Colors produced by various bit patterns in relation to the color reference signal.

Display Byte

Display Signal

Color

0

1

0 0

0 0

0 0

0

0

0 0

0 0

0 0

Black Shifted black

0

1

1

1

1

1

1

1

White

1

1

1

1

1

1

1

1

Shifted white

0

0

1

0

1

0

1

0

o rn o rn o rn o

Green

1

0

1

0

1

0

1

0

JJTl^JTLoJ~rLo_

Orange

0

1

0

1

0

1

0

1

~~n o rn o rn o n~

Violet

1

1

0

1

0

1

0

1

~$\ o rn o m o n~

(Note phase shifts indicated by arrows)

Blue

safe and to make sure that none of our valuable data gets cut off by the television set's normal overscan (the picture is set up to be bigger than the actual screen so there won't be any unsightly black borders), Apple II uses only about 40 fis of each line for data. This works out to 280 dots per line. In text mode, with 40 characters per line, this gives a character time of about 1 jus, which corresponds to the Apple ll's system clock. Each character takes seven dot times, five for the character and two for spacing between characters.

The question is, exactly what does horizontal resolution of 280 refer to? Well, we can put a single dot at any of 280 different positions across the screen, but our dot will be colored, since it is a half cycle at the color subcarrier frequency. And if we put two dots too close together, they merge. Obviously, if the two dots are actually touching, no set could resolve them - this is really a single spot which happens to be two dots wide. But even if we put a black dot in between, we'll see only one dot, in color, because the dot spacing matches the color subcarrier frequency. Only by putting two or more black dots between our white dots will we be able to see a clear separation.

These relationships are diagramed in figure 1. The color reference signal is shown at the top. Any signal component at this frequency, even a single dot, will be displayed as colored. Theoretically, a double width dot contains no color frequency component, and hence will be displayed as white.

Apple II High Resolution Colors

Now we can see how the trade-off between color and resolution affects the way our computer bits are displayed by the television set. But let's look on the bright side: with the right bit patterns, we can put colors onto the screen. Let's ignore the resolution

problem for a while and investigate the colors.

If we fill the screen memory with ones, the display will be all white; all zeroes paints it black. If we alternate ones and zeroes horizontally, we have a signal which is right at the color frequency, so it is displayed as a solid color. Now comes the interesting part — what color is it? As I mentioned earlier, the color is determined by the phase of the picture signal's color frequency component relative to the color reference signal, which is generated by the television set from the 3.58 MHz color burst which we transmit during the horizontal blanking interval. So our question becomes, "How can we control the relative phase of these two signals?"

First of all, our computer bits are output every half cycle of the color reference frequency. This means we can change the phase by 180 degrees by simply inverting the bit pattern so that alternating ones and zeroes become alternating zeroes and ones. Interestingly enough, since the color spectrum is allocated the 360 degrees of possible phase angles that we can have, complementing the bits also complements the color; that is, phase inversion amounts to 180 degrees of phase shift, and complementary colors are 180 degrees apart. The relation of color to phase angle is shown in figure 2. If the alternating bits are in phase with the color reference signal, the color will be yellow-green; out of phase bits will give us blue-violet. This determines the two colors Apple II specifies in addition to black and white. But there is another way to change the relative phase of our computer bits.

While we can't do this under computer control, we can manually adjust both the Apple II video circuit and the color television set so as to change the phase of the color reference signal itself. The Apple II control is labeled color trim; the television set's control for this is usually called tint or

62

June 1979 © BYTE Publications Inc

The Computer Cookbook.

The Only Computer Reference Book You Need. The Only Reference Book You'll Ever Need.

The only book that gives you all the ingredients for a successful computer system. Interested in the Apple II?™ You'll need an FCC-approved RF modulator to connect it to your color television set. We tell what they are, where to get one, and how to hook it up.

Thinking of using Radio Shack's TRS-80™ for a low-cost word processing system? You'll need an upper-case/lower case modification for the keyboard.

We'll tell you what it involves, where to get it done, or how to do it yourself.

Software? We've sampled canned software and will tell you what suits our taste. Rather do it yourself? We have algorithms in our machine-independent "Cookbook" language for everything from fast sorts to phototypesetter hyphenation. Plus a crash course in BASIC for those who know FORTRAN. And

much, much more.

Last but not least: The Cookbook Yellow Pages, a complete guide to small computer services and products. We update The Yellow Pages every two months—and send them to you free with the latest additions, corrections, and improvements of our white pages. You just plug them into our loose-leaf binder.

Get with The Cookbook. The Best is Yet to Come.

Send me The Cookbook. I enclose $15 pi us $1.50 for shipping, which will be by UPS unless I've marked this form U.S.

mail ( check here). California residents add $.98 sales tax. Allow up to four weeks for possible out-of-stock

conditions. Make checks payable to "The Computer Cookbook". Mastercharge and VISA accepted with 13-digit card number and 4-digit expiration date.

Name

Street

City

.State

-Zip

Mail to: The Computer Cookbook / P.O. Box 4084 / Berkeley, CA 94704

Circle 52 on inquiry card.

BYTE lune 1979 63

hue. The combined range of adjustment of these two controls is usually enough to go at least halfway around the color circle of figure 2, putting one or the other of our complementary pairs of colors at any point on the circle. Thus we can adjust for any pair of complementary colors we want: blue and yellow, green-blue and orange, cyan and red, green and magenta, or yellow-green and violet. So long as we don't require the ultimate in horizontal resolution, we can have any two complementary colors plus black and white for our high resolution graphics using only ones and zeroes as data. If the colors listed above and in figure 2 don't seem exactly complementary, it's largely because of the broad range of hues to which we carelessly apply the name blue. If we let the television picture-tube phosphors define our red, green, and blue, then the complementary colors are those of figure 2. The television set is adjusted such that red + green + blue = white. Since complementary pairs also add together to give white, it follows that the sum of any two of the three primaries gives the complement of the third: for example, the complement of red is actually green + blue, or cyan.

Extra Colors

Studying the Apple II specifications in the light of the National Television Systems

RED 90°

BLUERED

ORANGE

MAGENTA

YELLOW

YELLOW GREEN

BLUE

GREEN

GREENBLUE

BLUEGREEN 270° CYAN

Figure 2: Arrangement of possible colors versus signal phase. The Apple II high resolution graphics outputs two complementary colors (colors that are separated by 180 degrees on the circle).

Committee color standards led me to expect it to work this way, but that isn't quite the end of the story. After I got my Apple II, as I was casually watching the random sine wave program on the high resolution demonstration tape, there in living color was a display with four colors. After a bit of head scratching and experimenting with the adjustments on my portable color set, I think

I have the explanation.

First of all, the single dot patterns give the two complementary colors, just like it says in the script. Alternating double dots, which ought to be displayed as black and white, actually show up as a weaker version of the same pair of complementary colors if the television set is adjusted normally, that is, with the fine tuning just backed off from the setting that first produces sound bars in the picture. But if I back the fine tuning farther away from this setting (any automatic fine tuning or tint controls should be switched off), just before the color signal drops out, the weak colors on the double dot patterns brighten and shift to another pair of complementary colors. The exact colors depend upon the setting of the tint control, but they are more than 30 degrees from the first pair, so if the single dot patterns give red and green, for example, the double dot patterns appear as orange and blue.

It's hard to figure out how the double dot patterns get displayed in color since they are square waves at half the color frequency and ought to contain a zero component at 3.58 MHz. Apparently the video detector circuit in the set produces enough second harmonic distortion to activate the color circuits. Mistuning puts this signal near the cutoff of the color bandpass filter where there is maximum phase distortion. I tried this out on the more expensive television set at the store where I bought my Apple II, and although it's more difficult to get the adjustments just right, the extra colors are there. Ironically enough, this trick seems to work better on cheap sets.

So there you have it. Whether you prefer colors or resolution, the Apple II high resolution graphics will put out all you can get through the antenna terminals of a color television set with just different patterns of ones and zeroes. To find out what your set will do, you need to display vertical lines with the single dot and double dot patterns. An easy way to do this is to load the Apple

II high resolution demonstration tape and select the program that sums two sine waves. When the program asks for two frequencies, enter 63 and 64 to get the pattern shown in photo 1. Other numbers you may want to try are combinations of 31, 32, 33, 63, 64,

64 June 1979 © BYTt Publications Inc

Circle 180 on inquiry card.

The Intecolor 8070 business system. At twice the price, it would still be inexpensive.

Because ISC is the world's leading manufacturer of color terminals, were able to offer unparalleled color performance—at phenomenal prices.

Our 8070 Series I Business System is a perfect example of reliable, yet extremely reasonable products. It's a complete 8080A microcomputer system that includes the following standard features: A dual floppy disk drive with 591K bytes of storage; a 19" color data display with an easily readable 80 characters x 48 line format; and a 60 CPS Impact Matrix printer. All for a remarkable *$7000, single unit price.

And that price doesn't l

stop at hardware. Intecolor's 18K Business BASIC in ROM . %

has 16 digit accuracy and a

PRINT USING feature that tailors output to any specifications.

If you need greater storage capabilities, choose the 8071 —same system, but with a dual doubleheaded floppy disk drive. Giving you 1182K bytes of storage, for only *$800 more, single unit.

Either way, the Intecolor Series I can relieve your business of a considerable amount of paperwork, without costing you a great deal of money. (Terms—5% discount for prepayment, or net 20 days.)

For more information and a complete demonstration, see your nearest computer store, or contact your ISC sales representative. Color Communicates Better

■

■ Y<

' I' "ft

H

■ ■

•>W*iuf3

Unretouched photo of screen

Furniture not included

U.S domestic prices

ISC SALES REPRESENTATIVES: AL: 205/883-8660, AK: (GA) 404/449-5961. AZ: 602/994-5400. AR: (TX) 214/840-2169. CA: Alhambra 213/281-2280. Goleta 805/964-8751. Irvine 714/557-4460, LOS

Angeles 213/476-1241. Mountain View 415/964-9300. San Diego 714/292-8525, CO: 303/759-0809. CT: (GAI 404/449-5961. DE: (GA) 404/449-5961, DC: (VA) 703/569-1502. FL: Orlando 305/425-5505.

Ft Laucerdale 305/776-4800. Melbourne 305/723-0766, Tallahassee 904/878-6642. GA: 404/455-1035. HI: 808/524-8633, ID: (UT) 801/973-7969. IL: (No.) 312/564-5440, (So, I (MOI 816/765-3337.

IN: (ILI 312/564-5440, IA:(MO) 816/765-3337. KS: (MO) 816/765-3337, KY: 606/273-3771. LA: 504/626-9701. ME: (GA) 404/449-5961. MD: (VA) 703/569-1502. MA: (GA) 404/449-5961.

Ml: 313/227-7067 MN: 612/822-2119. MS: (AL) 205/883-8660, MO: 816/765-3337. MT: (CO) 303/759-0809. NB: (MO) 816/765-3337, NH: (GA) 404/449-5961. NJ: (GA) 404/449-5961.

NV: (AZ! 602/994-5400, NM: 505/292-1212. NY: (GA) 404/449-5961 NC: 919/682-2383. ND: (MN) 612/822-2119. OH: Dayton 513/429-9040. Cleveland 216/464-8113. Columbus 614/436-2051.

OK: ITX) 214/840-2169. OR: 503/620-5800. PA: 412/922-5110. Rl: (GA) 404/449-5961. SC: 803/798-8070, SD: (MN) 612/822-2119, TN: 615/482-5761. TX: 214/840-2169. El Paso Area (Las Cruces. NM)

505/523-0601, Houston Only 713/780-2511, UT: 801/973-7969. VT: (GA) 404/449-5961, VA: 703/569-1502, WA: 206/455-9180. WV: 412/922-5110, Wl: (IL) 312/564-5440. WY: (CO) 303/759-0809,

EUROPEAN EXPORT SALES: EUROPE: (MA) 617/661-9424, BELGIUM: Brussels 02-242 36-04, FRANCE: Rueil Malmaison 749-40-37, GREECE: Athens 642-1368. ITALY: Roma 805-647/872-457,

THE NETHERLANDS: Poeldijk 01749-7640. SPAIN: Barcelona 204 17 43. SWEDEN: Vallingby 08-380-370. SWITZERLAND: Mulschellen 057-54655. UNITED KINGDOM: Bournemouth 0202-293-115.

WEST GERMANY: Munchen 089-31881, AUSTRALIA & NEW ZEALAND: Melbourne 543-2077. Meadowbank 808-1444, Chermside 59-6436. Wellington 64-4585. Auckland 876-570, CANADA

Datamex. Ltd (Distributor) Dorval 514/636-9774. Ottawa 613/224-1391 Toronto 416/787-1208, Vancouver 604/684-8625, CENTRAL & SOUTH AMERICA & CARIBBEAN: (GA) 404/394-9603. MEXICO:

Monlerrey 564-876. FAR EAST: (CA) 213/382-1107. HONG KONG: 5-742211, JAPAN: Tokyo 402-8596. TAIWAN: Taipei 02-7026284, MIDDLE EAST: IRAN: Tehran 891148, ISRAEL: Tel Aviv 266-291,

KUWAIT: Kuwait 438 180/1/2. LEBANON: Beirut 221731 260110. SAUDI ARABIA: Jeddah 27790. Ryadh 25083-39732, UNITED ARAB EMIRATES: Sharjah 24068

For sales and service in other countries contact ISC headquarters in Norcross, GA., U.S.A

Intelligent SyStemS Corp. □ 5965 Peachtree Corners East □ Norcross, GA 30071 D Telephone 404-449-5961 □ TWX 810-766-1581

BBBEsam

APPLE OTHERS:

You chose the best. Now, make it better!

With our exclusive Superchip (ROM firmware) your APPLE can deliver the best of both—graphics and text-processing.

• Full ASCII character set (lowercase)

• 31 other, useful non-ASCII characters

• User-defined characters with our Character Edit Cassette

• Enhanced editing capabilities for program and data modification

And, it works with your existing APPLE programs—Integer BASIC and Applesoft ROM.

• The Character Edit program defines each new character in a magnified format with a few easy key strokes.

• Since you can now build characters, you can also create new character setsforeign alphabets, music, games, whatever.

NOW YOU CAN ALSO GET

• Disk Interface Prog ram—Superchip now runs with Disk II

• Word Processor I—a disk-based mini-word processing system. (Requires Disk Interface Program,above.)

The Superchip plugs into your APPLE with no modification.

ORDER NOW

I attach check

SUPERCHIP Character Edit cassette Disk Interface Program cassette Word Processor I cassette Shipping Charge (each)

nr money nrrlpr for $

$99.95 $19.95 $19.95 $19.95 $ .75

Or, charge my: DVISA □ Master Charge Rankf.arrl Nn

Fxpi ration natp

Name

AririrpsR

City Signature?

State 7

ip

Telephone orders accepted with charge card: 214-358-1307

CLECTIC CORP.

2830 Walnut Hill Lane, Dallas, Texas 75229

A Subsidiary: TANO Corporation 66 June 1979 © byte Publications inc Circle 114 on inquiry card.

65, and 95. Apparently there is a lot of sampling error when the frequencies you select don't fit the table the program uses to generate the sine waves. If you experiment until you find the limits of your particular television set, you'll know how to make high resolution pictures on your Apple II in just about any colors you want.

BIBLIOGRAPHY

1. Apple II Reference Manual, Apple Computer Inc, Cupertino CA, 1978.

2. Herrick, Clyde N, Color Television: Theory and Servicing, Reston Publishing Co, Reston VA, 1973.

3. Schure, Alexander, Basic Television, revised second edition, volume 6, Hayden Book Co, Inc, Rochelle Park NJ, 1975.

Addendum

The following comments were received from Steve Wozniak of Apple Computers:

Thank you for passing along Allen Watson 's article on the Apple II high resolution colors.

As Allen discussed, Apple II high resolution colors are the result of alternating zeroes and ones on the screen. The exact colors generated depend on the phase (or timing) relationship between the display signal and the color reference phase. By adlusting the television controls, any desired color pair may be displayed.

Oddly enough, only the seven least significant bits of the Apple II high resolution refresh memory bytes are used (examples are shown in figure 1). A simple modification allows the high order bit of each to specify one of two color sets by generating a 90 degree phase shift of displayed information. (Yet more colors may now be obtained by applying the technique suggested by Allen.)

Adding the High Order Bit Modification to the Apple I

1. Remove the Apple II printed circuit board from its enclosure.

(a) Remove the ten screws securing the plastic top piece to the metal bottom plate. Six of these are flat head screws around the perimeter of the bottom plate and four are round head screws located at the front lip of the computer. All are removed with a Phillips head screwdriver. Do not remove the screws securing the power supply or nylon insulating standoffs.

(b) Lift the plastic top piece from the bottom plate while taking care not to damage the ribbon cable connecting the keyboard to the printed circuit board. This cable will have to be disconnected from one or the other.

3 jn

8

r • ,'. Vr \ \

At Last! After Two Years and $250,000 ... Software Programs for the Multi-Billion Dollar

Real Estate Market.

There are 240,000 offices nationwide serving the ever-growi consider that 60% of the United States' assets are represented

Until now, there has been virtually no interfacing of data processing with this powerful, potent market. Until REALTY SOFTWARE CO., that is. We've combined the best of both worlds and spared no expense in producing Software that is sophisticated enough for the largest Realtor...yet extremely easy to use.

In fact, our instruction manual offers Screen-by-screen displays enabling a novice to breeze through the entire program!

We've already sold complete systems to Realtors for $19,990! You can get in on the action for less than 3% of that amount!

Our floppy disk PROPERTY MANAGEMENT program runs on DEC station 78 & 88 series and type 8080 or type Z-80 with 48K of memory, single density dual disks operating under CP/M® , a 132 character printer and a CRT terminal.

MAIL COUPON OR CALL...

TOLL—FREE

ng Real Estate market. Not surprising when you in Real Estate properties.

(800)648-5311

PROPERTY MANAGEMENT SOFTWARE Comes Complete With a 200 Page Instruction Manual... With 80 Screen-by-Screen Displays for Easy Reference!

Program includes:

* Operating Statement Report

* Balance Sheet Report

* Rent Book Report

* Management Fees Report

* Vacancy Report

* Late Rent Report

* Check Writing / Check Register

* Deposit Register & much more...

ATTENTION

DEALERS: I Realty Software Co.'s Software systems for the Real Estate market can be profitable for you. Inquire today for full details on programs including Portfolio Analysis, Tax Deferred Exchanges, Income Tax Analysis, Cash Flow Analysis, Amortization & Depreciation and much, much more. RSVP by phone or mail.

Circle 323 on inquiry card.

Mail to: REALTY SOFTWARE CO.

2126 Lombard St. / San Francisco, CA 94123

I'll cash in on the multi-billion dollar Real Estate Market! Send me your PROPERTY MANAGEMENT software complete with 200 pg. manual for $595.00 (shipping & insurance included / CA residents add sales tax).

□ Check enclosed Bill my □ Master Charge □ VISA

Acct.#_

Exp. date

Signature

Name

Address

City Telephone

State

Zip (include area code)

DEALERS!.. Check here □ and attach business card to coupon for complete details on all REALTY SOFTWARE CO. Software and merchandising support!!

BYTE June 1979 67

(BII-4)

14 M ._.

(AIO-M)I—-*

74LS02

<<3iX3

(BII-5)

m

Figure 3: Circuit which must be added to the Apple II to add more colors to the high resolution display. ^Caution: Adding this circuit voids the warranty.) A starred assignment (*) indicates that the connection is made to a pin which is out of its normal socket. Besides the connections which are shown, also connect pin (B8-I4) to (A8-6) which is out of Its socket, and (B8-7) to (A8-I3) which has also been removed from its socket. The power connections to the 74LS02 are +5 V to pin 14 and ground connected to pin 7.

(c) Disconnect the power supply from the printed circuit board.

(d) Remove the #8 nut and lockwasher securing the center of the printed circuit board. These will not be found on the earlier Apple II computers.

(e) Carefully disengage each of six nylon insulating standoffs from the printed circuit board (seven on earlier versions).

(f) Lift the printed circuit board from the bottom plate.

2. Above the board wiring method.

(a) Lift the following IC (integrated circuit) pins from their sockets.

pin should have a single trace going to it. Be careful.

Pin

IC

Number

A8

1

A8

6

A8

13

A9

1

A9

2

A9

9

(b)

Mount a 74LS74 (dual C-D flip-flop) and a 74LS02 (quad NOR gate) in the Apple II breadboard area (A11 to A14 region).

(c) Wire the circuit in figure 3. 3. Below the board wiring method.

(a) Desolder all pins of socket A8. Lift the socket and its 74LS257 integrated circuit off the printed circuit board taking care not to destroy it. Cut the trace between pins 6 and 13 of A8 on the top side of the board. Also cut the trace between pins 13 and 15 on the top. Reinsert socket A8 and the 74LS257. Be careful.

(b) Cut traces going to the following pins on the bottom of the Apple II board. Each

Pin

Pin

IC

Number

IC

Number

A8

1

A9

1

A8

6

A9

2

A8

13

A9

9

(c) Connect pin 15 of ICA8 to ground (pin 8 of ICA7 on the keyboard socket is a nearby ground).

(d) Mount the 74LS74 and 74LS02 as per step (b) of the above the board wiring method.

(e) Wire the circuit of the above the board wiring method, step (c). All wires are on the bottom of the Apple II board and no pins need be removed from their sockets or soldered to.

4. Reassemble the Apple II and make sure it is operational. If not, check all wiring very carefully. Make sure that all integrated circuits are in their sockets and properly oriented.

5. The following color values are now applicable to the high resolution subroutines:

BLACK2

128

ORANGE

170

BLUE

213

WHITE2

255

For example, the program below draws an orange line from location (10, 20) to (200, 140). It is assumed that the high resolution routines are already in memory locations hexadecimal 800 thru BFF.

0 X0 = Y0 = COLR

5 INIT = 2048 : PLOT = 2830 : LINE = 2836

7 ORANGE = 170 : CALL INIT 10 X0 = 10 : Y0 = 20 : COLR = ORANGE :

CALL PLOT 20 X0 = 200 : Y0 = 140 : CALL LINE 30 END ■

68 June 1979 © BYTE Publications Inc

Look how soft you can have it with a Compyeolor IF

personal computer.

STAR TREK (* ST)

Star Trek, Lunar Lander, Shoot, andTic-Tac-Tae.

SAMPLER (*SA) Biorhythms, Concentration One-Armed Bandit, 3 more.

ASSEMBLER (AS) Assembler. Assembles 8080 Assembly Language programs. $24-95

TEXT EDITOR (TE)

Text Editor. Facilitates program writing and correcting.

$24.°5

EQUITY CEQ)

Depreciation, Depletion, Capitalized Cost.

,

CUBIC TIC-TAC-TOE {* CU) Cubic Tic-Tac-Toe, Swarms. 2 more I6K programs.

CHESS (*CH)

Chess, Acey-Deucey, Lit

Five. Biorhythms.

BLACKJACK (*BL)

Blackjack, Roulette, Slot Machine, 2 more.

£

OTHELLO COT)

Othello^.Math Dice. 2 more. "Othello" is the registered trademark of CBS Inc. tor its srrategy disc game.

PERSONAL FINANCE,

VOL. I ("PI)

Rate of Return, Interest Conversions, 2 more.

PERSONAL FINANCE, VOL. II (*PII)

Loans: Sinking Fund, Declining Interest, Constant Ratio.

SB

«5

To order your Sof-Disk albums, simply enter the alhum(s) of your choice, by letters), in the spaces provided. If you want to order more than one copy, please enter the number of copies desired beside the letter. Add $. 50 for each album ordered to cover costs of mailing and shipping. Georgia residents add sales tax. Mail with check or money order to address below.

*See ad for varying prices on Assembler, Text Editor, and Personal Data Base Sof-Disks.

When you have a Compucolor II — the exciting color personal computer with a built-in mini-disk drive — you really have it soft. $19.95 is all you pay for most Compucolor Sof-Disk™ albums. * They're formatted to run only on the Compucolor II, and each contains at least three programs. That's far better value and variety than you get with programmed cassette tapes. And the Sof-Disks you see here are just a sampling. New introductions are added each month.

To start your collection of mind-blowing games and other useful programs, visit your nearest computer store. Or, if there's no dealer in your area, clip the coupon and mail your order today.

First things first! If you'd like h^^^m more information, simply check ^^rW^^ the coupon lor a free brochure ^^^^^ COHipilCOlOl"

about the Compucolor II. M Corporation

Street. City

. State.

■Zip

□ Send me the name of my nearest Compucolor Dealer.

□ Please tell me more about the Compucolor II!

□ I'd like additional software information! Mail to: Compucolor Corporation

Dept. B

P.O. Box 569 Allow 3 weeks

Norcross, Georgia 30071 for delivery.

Circle 51 on inquiry card.

BYTt June 1979

69

Photo I: The author's homemade computer system cabinet with top removed.

Photo 2: The system as it appears when converted into a desk. Note that the floor of the cabinet becomes a desk top displaying the entire system ready to plug in and run.

A Home for Your Computer

Joseph Dawes

2510 Broadway

Big Spring TX 79720

If you're good at woodworking, here's a project that will save you a lot of time and trouble: build a cabinet for your computer! A carefully planned cabinet, as any ham or hi fi buff knows, serves to increase the utility and enjoyability of the equipment inside it.

I started planning my computer system cabinet as soon as I scattered my components around the cabinet I had made for my amateur radio gear. First of all, the cassette unit had to be fastened down: I quickly tired of holding it in place with one hand while unplugging something or changing a cassette. The power supply was constantly running warm and I knew it should be on stilts to increase heat loss. My separate video monitor could have ended up either beside the processor-keyboard cabinet or on top of it, but I quickly decided to reserve the top of the processor cabinet for a desk. The monitor would be beside the processor but angled toward the operating position for improved visibility. The keyboard had to be at a comfortable typing height, somewhere from 28 to 30 inches from the floor.

With these parameters in mind, I had to decide on cabinet style. The styles that first came to mind were the living room furniture piece with finely grained wood and the hobby room piece with modest wood grain or painted wood. However, circumstances led me to develop a somewhat different

cabinet style. I hope my final design will prompt readers to forge ahead with their own cabinet ideas.

The need to transport the system outside my home, combined with my dislike for connecting and disconnecting wires, dictated the cabinet design shown in figure 1 and photos 1 through 3. If I wanted to demonstrate it at the school where I teach or elsewhere, it would have to be operable as soon as it was opened and plugged in. Nothing kills interest more than 30 minutes of wire fiddling.

The cabinet shown is sturdy enough to take some licks in a truck or car. While it is closed and bolted, a bicycle chain can be run through the two U-bolts and around the nearest oak tree, making it very inconvenient to move or to open without some commotion. When the lid is taken off the equipment base, it can be turned up on one side to become a pedestal upon which the equipment base can be set. The whole affair is quite stable when set upon a reasonably level surface, and the lid interior provides knee room and space for keeping notebooks and demolished programs. When closed it can be sat upon, and, although there's absolutely no way to lug it around in a VW beetle, it will fit in the back (not the trunk) of my 2 door Falcon with a little imaginative stevedoring. In short it does what I require very nicely, and if I had to

70 June 1979 © BYTE Publications Inc

L.

i 1

0

I I

o ( ) o

c )

I 1

s

a

I I

J

EQUIPMENT BASE

25 IN.

Figure I: Plans for building the author's computer system cabinet. The unit is built from 5/8 inch plywood and features two U-bolts for adding an antitheft chain. All components are mounted on the floor of the cabinet. See accompanying photos.

12 5/8 IN.

r~>

r~\

r~\

r~~\

1 L

—

~

rr1

i n<

a

=

p

i _l

:

^

\t

ii

1

1

V )

1

1

Tl T

, ^

II J

1 1/2 IN.-*

CABINET SIDE

CABINET END

build it over again I can think of very little I would change. After 1 painted the inside of the lid, it looked fine in a corner of the living room. What more could one ask?

Some comments on construction details might be helpful. The size of the equipment base is dictated strictly by the dimensions of the equipment to be placed on it. The width of the base, however, should not be much wider than 25 inches or the work surface will be too high for operating comfort when the cabinet is open (unless you like to stand while you work). Note that all equipment must fit within the dotted line perimeter shown in the equipment base drawing. Otherwise, equipment may get damaged by the bolt rails! I cut the plywood pieces for the lid with a smooth cutting plywood blade in my table saw and took great care to make cuts exactly to dimension, because the whole lid was assembled by gluing the side pieces to the top. The small gluing blocks are tack-nailed in place while the glue dries. These blocks are for structural reinforcement and do not hold the lid together while the glue sets. Bar or pipe clamps must be used to provide the necessary pressure. A cabinet

making friend or a school shop might be a good source for these if you have none. The only permanent metal fasteners used are the two screws through the base into each runner, and they serve primarily as gluing clamps as well.

The bolt rails are glued around the inside edge of the lid (Be certain to recess them a

Photo 3: The cabinet locked up and ready for transport.

June 1979 © BYTE Publications Inc 71

ANNOUNCING

New from DEC

LA34 DECwriter IV

$U99.00

110 or 300 baud, RS 232C serial • Upper/lower case, 9 x 7 dot matrix

ASCII • 10, 12,13.2,16.5 characters/inch

Friction teed, paper width to 15" • 2, 3, 4, 6, 8, or 12 lines/inch

• 22"Wx7"Hx 15'/z"D, 25 lbs.

New from DIABLO

DIABL01640 $2,690.°° Receive-only $ 2,331.00

High-quality daisywheel printing at 45 cps.

DIABLO 1650 « 2.779.00 Receive-only $2,419.°°

Metal daisywheel printing at 40 cps.

S0R0CIQ 120 $795.°°

• RS 232C, upper/lower case full ASCII

• Numeric keypad, protected fields

• Cursor keys plus addressable cursor

• Auxiliary extension port

Teletype 43 $999.00

• RS 232C, 110 or 300 baud

• Upper/lower case full ASCII

• Pin feed, 12" x 8Vfe" paper

T.I. 810 printer $1,695.°°

• 150 characters per second

• RS 232C serial interface

• Adjustable forms tractor

• Upper/lower case option $90.00

S0R0CIQ 140 $1,250.°°

• RS 232C and 20mA current loop

• Extensive editing features

• 25th line terminal status display

• 16 function keys (32 with shift)

flfl

■^^^^_^.

4

^1

^^^^^

To Order: Send certified check (personal or company checks require two weeks to clear) including handling* and 6% sales lax if delivered within California.

'Handling: Less than $2,000, add 2%; over $2,000, add 1%. Everything shipped freight collect in factory cartons with manufacturer's warranty. Visit MICROMAIL at the National Computer Conference — Personal Computing Festival, New York City, June 5-7, Booth 128.

efflJCRDMflJi.

MICROMAIL • BOX 3297 • SANTA ANA, CA 92703 (714) 731-4338

distance equal to the thickness of the equipment base as the drawing shows!). Holes are drilled through these rails to take carriage bolts. Be sure to use carriage bolts because they have a square section beneath the round head which will set into the wood when pulled up tight and will not require further fastening to the bolt rails.

Trim the equipment base so it fits easily inside the lid, and drill the holes through which the carriage bolts will pass 1/16 or 1/8 inch larger in diameter than the bolts to save trouble when you first try to set the lid down over the base. Cut out the slot through which the U-bolts will pass with a jigsaw or coping saw, and provide a little extra play here too. The position of the runners should not vary much from that shown, but before you decide exactly where they will be, set your components on the equipment base and note where holes will be drilled to fasten the components to the base. Wouldn't it be a shame for one of the equipment mounting screws to have to come up from the underside right where a runner was located? I was lucky! I didn't even think about this hazard until it was too late to do anything about it, but luckily everything cleared.

You will note that edges of plywood tend to have unsightly gaps, and the surface will have dents and dings. Before sanding the wood preparatory to painting, take a putty knife and some patching paste and fill these defects thoroughly. It's easy to do and makes all the difference in the finished job. When you sand, these fillings w.ill level off, corners and edges will get smoothed and slightly rounded, and you'll get a smoothly painted surface. I avoid painting whenever I can, but when painting raw plywood I have to admit that the final results are well worth the trouble of first putting on a primer coat and then a finish coat with a light sanding between coats. The only thing worse than painting once is painting twice, but when it's all over you have a surface you don't mind showing off.

As a finishing touch, some acorn nuts look good on the ends of the carriage bolts since they protrude toward the operator when the cabinet is set up.

For icing on the cake how would you like to hear that this whole project can be cut out of one sheet of plywood? Tough luck! Unless someone out there pulls a topological trick or is the owner of a more compact system than mine, you'll need a whole sheet and a scrap from the lumber company's cutoff pile for one of the ends. Sorry about that, but everything doesn't always work out for the best.

Happy woodworking!"

72 lune 1979 © BYTE Publications Inc

Circle 222 on inquiry card.

Tinker, Tailor, Soldier, Sailor . . . Doctor, Lawyer . .. the Chieftain's here.

No matter whether you're a serious hobbyist or a serious businessman, the Chieftain 6800 microcomputer with capabilities that surpass the Z-80 is made for you.

Smoke Signal's quality-packed Chieftain I features two 5.25-inch minifloppy drives and Chieftain II features two 8-inch floppy drives. ^

Both microcomputers **'*\\* provide 32K static memory, j*' two serial I/O ports, a 2 Jt^t'd& MHz processor board, a 2K RAM monitor, a nine-slot motherboard with builtin baud rate generator and gold connectors for high reliability. The Chieftain's stylish leather-grained cabinet houses the above with its own cooling fan and regulated power supply.

Every Chieftain is complete with system software and is totally burned-in as well as tested to further insure high reliability.

And it's expandable to 64K memory with up to 2 megabytes floppy disk storage.

So see your nearest Smoke Signal dealer, he'll be glad to show you how to get your wampum's worth. Systems start at $2,595.

□ Send information on your Chieftain microcomputer □ Send name of nearest dealer

Name

Address.

Company City

SMOKE SIGNAL BROADCASTING

31336 Via Colinas. Westlake Village. California 91361. (213) 889-9340

Dealer inquiries invited.

Hail to the Chieftain

Smoke Signal Broadcasting, 31336 Via Colinas, Westlake Village, CA 91361, (213) 889-9340

Circle 328 on inquiry card.

BYTE |une1979 73

Talk to a Turtle

Build a Computer Controlled Robot

James A Gupton Jr 7416 G Pebblestone Dr Charlotte NC 28212

What do personal computer experimenters do with their microcomputers when computer games lose their appeal and they tire of programming things like, "140 FOR X = 1 to 500: PRINT X: NEXT X " ? The exciting idea of adding a computer controlled robot suggests building your own R2D2 robot from Star Wars. It might not be wise to start with a project as sophisticated as duplicating R2-D2, but there is a way

you can begin a robot project on a smaller scale. It works, too!

The Terrapin Turtle is a fascinating robot project that most experimenters can fully assemble in four hours. It runs forward, backward, turns left or right, blinks light emitting diode eyes, and can talk in a two tone beep. Its shell is mounted on a spindle that engages one of four microswitches. These relay a signal back to the computer

ABOUT THE AUTHOR:

Mr James Gupton jr has a most unusual background including photography, electrooptics research and development (which resulted in five patents on computer video display tubes and phosphor screens), along with teaching electronics. The Union County Career Center is the only high school in North Carolina to provide an electronics program which covers subjects from direct current to microprocessors. This program is under the guidance of Mr Gupton.

Photo I: Jeffrey Dunn (foreground) and Richard Voss check off the Turtle components against the parts list.

74

lune 1979 © BYTE Publications Inc

over its 10 foot umbilical cord, indicating when the Turtle has run into something from either front, right, left, or rear side. If you direct the Turtle on an exploratory trip around the room, its journey can be recorded by your microcomputer. On completing its journey, the Turtle can actually draw a map of its path using an internal ball point pen. The Terrapin Turtle illustrated in this article was assembled by high school students at the Union County Career Center in North Carolina. The total assembly time was four hours from start to initial test. This article is not intended for use as a construction project, but rather to introduce you to computer controlled robots.

Assembling the Terrapin Turtle

The cardinal rule for assembling any electronic kit is to begin by checking off each component on the parts list. Photo 1 shows Jeffrey Dunn and Richard Voss checking the components of the Turtle kit

Resistors

510 ohm % W: R9, R10 100 ohm % W: R21, R30 15 K ohm 54 W: R5, R6, R7, R8. R29, R22 50 Kohm % W: R19, R20 1 K ohm potentiometers: P1, P2, P3, P4

1 Kohm % W: R1, R2, R3, R4, R11, R12, R13, R14, R15, R16, R17, R18, R23, R24, R25, R26, R27, R28

Capacitors

C1 C2.C3

0.1 mF35 V 500 mF 35 V

Diodes

1 N4000 D1, D2, D3, D4, D5, D6, D7, D8, D9

3.9 V zener D10

Transistors

2N2222 Q1.Q2, Q3, Q4, Q5.Q6, Q7

GE-D40C4 Q8, Q9, Q10, Q11, Q12, Q13, Q14, Q15, Q19

Table I: The Turtle component part list. The complete Turtle kit, including all hardware, printed circuits, electronic components is available from Terrapin Inc for $300.

.»D,.

| .^,. •"VW J

Q III ■ ■

i a

, 1

■ ''•"'

11****9 M*11

^■k^'^4

l^ftl lilt ?

W

%

BHMIhVHb ir4N"i'

SB

,,,,,,

Photo 2: The foil side of the Turtle's printed circuit board. Photo 3: The component side of the circuit board.

June 1979 © BYTE Publications Inc 75

Figure 1: Supplemental diagram showing component identification numbers which relate to schematic locations.

against the parts list. Once assured that everything was included in the kit, the printed circuit board was examined for possible scratches. Photo 2 shows the etch side of the 5 inch diameter printed circuit board. Photo 3 shows the component side. It was quickly noted that not all resistor values were printed on the component side, and that there was no identifying resistor number to relate any resistor to the schematic. The instruction booklet stated that eighteen 1000 ohm resistors should be placed where the resistor symbols did not have a value indicated. Figure 1 is a supplemental instruction that identifies each component corresponding to the schematic diagram.

Richard Voss was in charge of assembling the printed circuit board for the Union County Career Center's Turtle. Photo 4 shows the soldering of the Darlington transistors that control both of the Turtle's drive motors. Notice the micro-tip, low wattage soldering iron and 0.020 inch (0.05 cm) diameter solder being used. All too frequently electronic kits are damaged during assembly by the use of high wattage soldering tools which damage the heat sensitive foil and apply too much solder. An excess of solder can short out both the closely spaced component pads and the circuit paths with solder bridges. Once the soldering has been

Photo 4: Soldering the installed components.

76 June 1979 © BYTE Publications Inc

Photo 5: Inspecting the assembled components.

Circle 335 on inquiry card.

SSM "BLUE BOARDS"

UMwirak

The Standard of Value

^p

$ >

c

CBI 8080 CPU Board

■*C

If you're looking for

outstanding value in

S-100 boards you can't

afford to overlook the "Blue

Boards" from SSM. The best

combination of design, quality

and price available anywhere. Innovative designs

that feature versatility and reliable performance.

Quality backed by a strong warranty. And prices

that won't let you down.

But value goes beyond the boards themselves. It's reflected in the company that stands behind them. And SSM has been known for unparalleled customer service since the beginning of the personal computing industry.

With one of the broadest product lines in the S-100 marketplace, it's likely that SSM has the board you need. So, if you're looking for value, ask for the "Blue Boards'.' They're available at over 150 computer stores nationwide and abroad.

Available assembled or as kits.

flftffl

«337

2116 Walsh Avenue

Santa Clara, CA 95050 (408) 246-2707

Our product line includes CPU, Video,

I/O, RAM, EPROM, EPROM Programmer, Music,

Prototyping,Terminator, Extender and Mother boards.

Send for our free brochure and find out why SSM has become the favorite of discerning Hobbyists and OEMs.

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

finished, it is wise to recheck the placement of the components, just to be doubly sure.

Care must be exercised to keep the tabs on the Darlington transistors from touching one another. A small piece of plastic tape on each tab will save the transistor should the tabs accidentally be brought together while under power. Photo 5 shows the final inspection of the assembly of components onto the printed circuit board. Photo 6 shows the completed circuit board.

Figure 2 provides the circuit schematic for the control of the Turtle's left and right motors and the internal ball point pen. The pen is lowered by a 12 V solenoid upon command from the computer. Figure 3

shows the schematic for shell touch sensors, lights, and sound control. The figure also shows the power attachment points for the operation of the Turtle's electronics and motors. A 12 V, 3 A power source is required for the best performance. The Turtle can operate, however, with a power source of 1 A capacity if the 3 A source is not available. The Turtle illustrated in this article was powered by a 4 A regulated power supply.

Photo 7 shows the final assembly of the printed circuit board onto the motor housing. The most difficult part of the entire assembly was forcing the rubber tires onto the wheels. It is almost impossible to do this

Photo 6: The completed board, showing the uncluttered layout.

78

lune 1979 © BYTE Publications Inc

Photo 7: The printed circuit board, shown attached to the Turtle's motor drive housing.

by yourself — a second set of hands will be needed to mount the rubber tire onto the wheel. Photo 8 shows the assembled Turtle minus its sensor shell and the two power supplies used for testing without the use of a microcomputer. The Turtle is controlled with a TTL (transistor-transistor logic) voltage of 0 V and +2 V. This may cause some problems for parallel interfaces that function between 0 V and +5 V. The higher voltages can damage the 2N2222 Darlington tranText continued on page 84

Photo 8: The completed Turtle, connected to a power supply for testing.

June 1979 © BYTE Publications Inc

79

tm

JR25

[N>J

Q8

+ I2V A

* • %

o

RIGHT MOTOR

02

D3

010

< i ii

Qll

D4

:r2

Q2

+ I2V

'RI2

L<T]

+ I2V

U<g

Figure 2: Schematic of the Turtle's motor control and pen control circuitry.

80 June 1979 © BYTE Publications Inc

mS9 the I imm bend

^m' MARKET Wk mm -aSS

7

%

oumvrrm]

■i-i i j 'i -i •> / •j-j ii i i i i

r : \ ;-j > i > j'j

laoj/'ii'ji

■j i j -I i -i 3 'J /

, jTC?

.*;

ii

■

■3

HK

AT YOUR COMPUTER RETAILER NOW

■

TRS-80, Apple II, Sorcerer, SOL and Southwest Tech 6800 owners: get more out of your personal computer.

Get into action with G2 Bullseye!, Sea Battle, Confrontation and Attack!

Sharpen your analytical abilities with G2's Outwit I, Outwit II and Mind Bender.

Take a chance with G2's Beat the House. Check out your health with Clinic.

And enjoy the challenging experience of two new G2 computer simulations: The Market and Wildcatting.

■ ; Or get serious with three powerful new languages. Level III Basic for the TRS-80. Extended Basic for the SOL. And Standard Basic for the SouthwestTech]6800. All written by Microsoft-the Basic wizards. Exclusively from G2.

Our software has more so your computer does more. Great programming. Highest quality cassette. The most comprehensive instruction manual available. Plus source listing print-out of every application program in Basic. You can learn how the programs were written. We even encourage you to do your own re-programming to improve your skills!

G2 software is available from computer retailers nationwide. If your local retailer doesn't have it, ask him to become a G2 dealer by calling us toll free: (800) 538-8540 (U.S.A.) or (800) 672-8691 (California).

THE REASON

YOU BOUGHT YOUR COMPUTER.

Circle 151 on inquiry card.

'•»■<*'-«

BY II Juni' 197')

SHELL TOUCH CONTROL

H2V A

RI5

C J 0 P

ISI |S2 |S3 IS4

1 1 I I

1

I

DIO

ZENER

3.9V

H2V

A|TURTLE EYE CONTROL

R 18

-WV <T1 TURTLE HORN

CONTROL

RZ4

Q HORN TONE CONTROL

m

+ I2V

I

:i:c2

:-'}-"; c 3

) POWER

CONNECTIONS

Figure 3: Schematic of the Turtle's touch sensor, lights, and horn control circuitry.

Anadex Domestic Representatives: BarnhillTwo, Inc.

Richardson, Texas (214)231-2573 Houston, Texas (713)688-9971 Austin, Texas (512)451-0217

Barnhill Three, Inc.

Denver, Colorado (303)750-1222 Scottsdale, Arizona (602)947-7841 Albuquerque, New Mexico (505) 299-7658 Salt Lake City, Utah (801)484-4496

Basic Systems, Inc.

Inglewood, California

(213)673-4300

San Diego, California

(714)279-9641

Carter, McCormic & Perice, Inc.

Farmington, Michigan (313)477-7700 Dayton, Ohio (513)222-7700 Cleveland, Ohio (216)779-5100 Monroeville, Pennsylvania (412)372-4415

Currie, Peak & Frazier, Inc.

Orlando, Florida (305)855-0843 Huntsville, Alabama

(205) 536-5650 Greensboro, North Carolina (919)273-3040

Rush S. Drake Associates, Inc.

Seattle, Washington

(206) 763-2755 Portland, Oregon (503)224-3145

Electronic Marketing Associates

Rockville, Maryland

(301)881-5300

King of Prussia, Pennsylvania

(215)265-1600

Pat Jenks Associates

Hamden, Connecticut (203)281-0810 Wakefield, Massachusetts (617)246-1590

Ossman Instruments, Inc.

East Syracuse, New York (315)437-6666 Rochester, New York (716)473-5720 Vestal, New York (607)785-9947

Pivan Engineering Company

Chicago, Illinois

(312)539-4838

Saint Louis, Missouri

(314)567-3636

Shawnee Mission, Kansas

(913)722-1030

Indianapolis, Indiana

(317)253-1681

Minneapolis, Minnesota

(612)835-3060

Brookfield, Wisconsin

(414)786-1940

Cedar Rapids, Iowa

(319)377-9434

Jay Stone & Associates

Los Altos, California (415)948-4563

Technical Marketing Associates

Fort Lee, New Jersey (201)224-6911

82 June 1979 © BYTE Publications Inc

Circle 7 on inquiry card.

The Anadex 80 Column Printer.

First check the specs. Then check the price.

Our new 80-column dot matrix line printer-the DP-8000 - combines high performance and operating convenience with a low price that's worth checking into.

□ Check Performance

The DP-8000 features a precision engineered, heavy duty printing mechanism that can print the complete 96 ASCI I character set, bidirectionally, at 84 LPM.

□ Check the Interface

Included at no extra cost, are two input connectors (see photo) that provide three basic ASCII compatible interfaces: EIA Std.RS232C, for interfacing at up to 96000 Baud with most minicomputers

and modems; the 20/60 ma current drive mode required by Teletype® ASR33-35 printers; and the parallel-bit,

serial character synchronous Centronics compatible interface.

The DP-8000 includes 12 lines of internal FIFO buffer storage and can accept data continuously or in bursts. Optionally, increased buffer storage of 2048 characters can be supplied for CRT dump and similar applications.

□ Check Printer Quality

A9x 7 character font provides virtually half-dot resolution for clean crisp print quality on the original plus three copies.

Precise paper positioning is ensured by a sprocket-feed paper advance, user-programmable Top of Form control, and up to 8 vertical tab positions.

□ Check Convenience

For operating ease, the DP-8000 accepts paper through the rear or bottom of the unit, provides programmable Skip Over Perforation control, and Out of Paper indication and logic signal.

□ Check the low Price

The best news is the price. A complete DP-8000 is unitpriced at under $1000, with substantial discounts in larger quantities.

Once you've checked out the performance and price, we think you'll agree that the DP-8000 is definitely worth checking into.

A

ANADEX, INC. • 9825 DeSoto Avenue • Chatsworth, CA 91311, U.S.A. • Tel: 213/998-8010 • TWX 910-494-2761

ANADEX, LTD. • Dorna House, Guildford Road • West End, Woking. Surrey GU24 9PW, England • Tel: Chobham (09905) 6333 • Telex: 858762 ANADEX G

BYTE June 1979

83

Photo 9: The Turtle with shell attached as a final assembly step.

Text continued from page 79:

sistor driver. Photo 9 shows the attachment

of the plastic Turtle shell.

Does the Turtle work? Yes it does, even with a makeshift computer keyboard temporarily substituting for the parallel interface of our computer. The students studied the keyboard's ASCII code and developed a list of keys necessary to command the Turtle's movements, lights, and horn. The Turtle will go under full computer control as soon as an expansion interface can be acquired for our TRS-80 microcomputer.

Those wishing to investigate the Turtle kit, its capabilities, and its cost may obtain

full details by writing to:

Terrapin Inc

33 Edinborough St Sixth Floor

Boston MA 02111

Attention: David L McClees, President

In addition, the following address is furnished for those wishing additional information on the application of robots:

United States Robotics Society Box 26484

Albuquerque NM 87125 Attention: Glenn R Norris, President"

84 lune 1979 © BYTE Publications Inc

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

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

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

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

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

board. ZIF PROM socket included. $99*

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

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

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

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

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

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

Simple but powerful—not just a toy.

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

Circle 322 on inquiry card.

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

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

See the RCA VIP at the 3rd Annual National Small Computer Show at the New York Coliseum, August 23-26, booth 4211.

The fun way into computers.

RCA

BYTE lune 1979

85

Few people have ever had the experience of attempting to trace their way through a real maze, so I'm going to ask you to settle back and allow your imagination plenty of freedom.

The absolute darkness surrounding you is barely broken by the candle you carry in your hand. You see enough to know that you are in a featureless corridor, but how far it extends, you can only guess. Somewhere within this maze is a massive gold plate. If you can find this plate, it will become yours and you will be removed to safety.

You are allowed to leave any kind of signs you wish to mark your trail. You know that any corridor you are in will eventually come to a dead end, but it may have any number of similar corridors branching off it. The overall dimensions of the maze are such that the average person could explore it in its entirety before becoming exhausted, if he or she didn't waste a lot of time and energy going in circles.

The Beginning

Years ago I read a brief article about a mechanical mouse that could find its way through simple mazes. Embedded within the walls of the mazes were a number of switches which served as sensors for the brain. The brain was a collection of relays whose points and coils functioned as a large switching network. By trial and error, this mass of hardware could direct the mouse through the maze until it reached the exit.

Over the years, I kept this idea in the back of my mind. I was interested in building such a maze, but the cost and complexity of the project were greater than the potential satisfaction. After I purchased my personal computer, these obstacles disappeared. If I was willing to accept a computer simulation of this project, I could fulfill my dream at no extra expense.

I would need to write a program, of course, but I felt that this would be an easier task than designing and building

David E Stanfield

3408 Catalina Dr

Atlanta GA 30341

My Computer

What follows is the story of how I created a program that would allow my computer to run through mazes similar to the one I've just described. I've included a general description of how the program operates, instructions for using it, and a complete listing of the program.

I regret that I am unable to give you a motion picture of this program in operation. The best I can do is to explain that I first create a maze as simple or complex as I wish on the screen of my video display. I have the cursor operating in its optional nonblinking mode and it therefore appears to be a solid rectangle. As soon as I turn control over to the program, it begins to maneuver the cursor in and out of the various pathways of the maze. The cursor will dodge up and down, back and forth until it eventually finds its goal. The sight of this mad little cursor zooming around the walls of the maze is absolutely fascinating.

Even if you don't intend to get this program up and running, I invite you to come along and explore some areas I found to be quite interesting.

a complete hardware project. As I began to consider what features to include in my program, I came to realize that in several respects, the computer simulation would be superior to the real thing. One important difference was that I could have a maze of greater complexity than would have been feasible with a mechanical version.

Another advantage was the ease with which new mazes could be prepared. Watching repeated runs through the same maze would eventually get monotonous. The choice between shifting and aligning plywood panels or pushing a few keys was no contest. Finally, my entire computer system fits neatly on a small desk. The maze I had visualized making was about the size of my living room.

For several weeks I spent much of my spare time considering various ideas for the program. This allowed me the opportunity to explore a wide range of possible features without having to do any actual programming. Gradually, I evolved a straightforward set of goals that I felt would provide an interesting simulation, but would

86

June 1979 © BYTE Publications Inc

not be beyond my capability as a programmer.

With these basic goals in mind, I sat down and drew up the simple flowchart you see in figure 1. In graphic form, it indicates that the first function of the program is to assist the user in creating the maze. Once the maze has been prepared, the computer will run the maze until it reaches its goal. At this point, the user can run the same maze again or prepare a new one.

A tremendous number of details had yet to be worked out, but this diagram gave me a secure starting point. Before I could proceed any further I had to make a major decision. From a practical standpoint, designing the program to print out successive sets of coordinates for its moves seemed to be fairly simple. This would mean, however, that the user would have to manually move a marker around on a diagram of the maze. My decision to display the maze on the video display and let the computer move the cursor through the maze increased my work, but made the program far more interesting.

Figure 1: Flowchart of three phases of the maze running program.

( start J

SET UP

COMPUTER AND USER SET UP MAZE

V

COMPUTER RUNS THE MAZE

Runs Mazes

Program

If you will take a few moments to study figure 2, you will discover that it is really an expanded version of the first block in figure 1. The series of tasks outlined in figure 2 must be performed by the computer and the user in order to set up the maze.

The program begins by having the computer print out a complete list of the commands the user will use to create the maze. After the user indicates his understanding of these commands, the computer issues signals to the display to erase the screen completely. The computer then clears a section of memory that it will later use to remember the maze and the moves through it.

Once the screen and block of memory are cleared, the program prints out a maze and stores a map of it in its special memory. At this point the program allows the user to use a few one letter commands (such as U for up and L for left) to modify the maze. As each command is issued, the

program coordinates the making of changes on the screen and the storing of these changes in its block of memory. Once satisfied with the maze modifications, the user issues a final command to signal this fact to the computer. The program will respond by beginning to run the maze.

Maze Creation

The following additional information should help to clarify the above remarks. Once I decided to have the maze displayed on the screen, I needed to select a method of getting the maze onto the screen. One method would have been to allow the user to draw the maze on a blank screen. By properly positioning the cursor, the user could have printed a series of Xs anywhere that a wall was desired. I felt that this approach would work, but due to the heavy burden it would place upon the user, I selected another method.

Figure 2: Flowchart expansion of setup block from figure 7.

( SETUP J

PRINT LIST OF COMMANDS

HOME UP AND ERASE TO END OF FRAME

CLEAR BLOCK OF MEMORY USED TO STORE MAZE

PRINT RAW MAZE AND STORE IN MEMORY

ALLOW USER TO MODIFY THE MAZE

f RETURN J

June T979 © BYTE Publications Inc

87

Figure 3: Horizontal paths of maze.

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

X X

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

X X

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

X X

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx x X

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX X X

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX XXXXXXXXXXXXXXXX

XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Figure 4: Vertical paths of maze.

Figure 3 shows a box with alternating rows of Xs and spaces. These represent the horizontal paths and walls of the raw maze. Note that there is no way to get from one horizontal path to another. To create such a pathway, the user would simply erase any X on the line of Xs separating them.

Figure 4 represents the vertical paths and walls of the maze. Again, the paths are totally separate, but the user could easily make an opening between the adjacent paths by erasing one X.

Figure 5 is the result of combining figure 3 with figure 4. What you see in figure 5 is the initial maze that I've been referring to. Another way of looking at it is to think of it as an aerial view of a grid of streets running north-south and east-west. Imagine that roadblocks have been established at every intersection. To get from point A to point B, it is necessary only to remove the specific roadblocks blocking your route. For the purposes of this program, the user performs a similar operation by removing those Xs which block the paths he desires through his maze.

This concept is illustrated in figure 6. By erasing the blocking Xs along the desired horizontal and vertical pathways, we are able to create a functional maze. We must remain on those pathways and can erase an X only if it is blocking us unduly. In practice, we can only erase an X if there is a space either above and below it, or to the right and left of it.

The above can be a little confusing, even after you are used to it. Because of this, I built a routine into the program which automatically checks every X you try to erase and determines whether or not that particular X may be erased. If a given X may not be erased, your command will be ignored. As a result, you need not worry about making an error, but remember when you try to erase an X and nothing happens, that the program is designed to do this.

Among the Xs which cannot be erased are those which form the borders of the initial maze, meaning that there is no escape from this maze. It doesn't really matter. Unlike other mazes (in which the idea is to escape), the goal of the computer in this program is. to find "food", indicated by the letter F.

Command Details

While the program does print out a list of all the valid user commands, I feel it is worthwhile to elaborate. One of the basic principles involved in setting up the maze is the fact that the cursor is not allowed to pass beyond any boundary of the maze. This means that when the cursor reaches the right side of the maze, it will not be able to "wrap-around" and reappear on the left side of the screen. It doesn't matter in which direction you are moving: when you reach a boundary line, you will be stopped from going any further. Should you try to go further, the command will be ignored.

I chose this approach to facilitate coordination of the on-screen maze and its counterpart stored in memory. Coordination of the cursor on the screen and the block of reserved memory is critical to the successful operation of this program. It is important that I included a routine designed to abort the program if certain commands are detected.

Because it is so much easier to remember the letter R for right rather than Control-I for right, I decided to allow the user to use U, D, L and R to cause the cursor to move up, down, left and right. In operation, the program recognizes these easy to remember commands and substitutes the specific control character used by the terminal

88

lune 1979 © BYTE Publications Inc

FCfi MI5PCQCMPUTEF

One of the largest and fastest growing companies in the microcomputer industry is looking for talented people in all areas of microcomputer development, marketing, sales and support. If you have experience in microcomputing and an interest in one of the areas below:

PflGGHAMMING:

Applications software for the home of the future and office of the future. Systems software for English parsing, voice recognition and other advanced I/O devices.

HARDWARE fi/ll:

Microcomputer networking for home and office and advanced I/O devices.

MARKETING:

Presenting advanced concepts to »-hD personal, small business and edu tional marketplaces.

SALES:

Computer dealer relations. I\lew business development.

RLUUUIIil

Innovative training approaches for employees, dealers and customers. .

Submit your detailed resume in confidence to the Director of Personnel.

: : : i '■ . i"7l

1333 S. Chillicothe Road • Aurora, Ohio 44202

HVTt lunr Wl

Figure 5: Complete maze grid, containing all horizontal and vertical components.

xxxxxxxxxxxxxxxxx

x

X

xxxxxxxxx

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

xxxxxxxxx

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

XXXXXXXXX

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

xxxxxxxxx

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

xxxxxxxxx

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

xxxxxxxxx

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

xxxxxxxxx

XXX

xxxxxxxxx

X

X X X X

X X

xxxxxxxxxxxxxxxxx

X

X

xxxxxxxxx

XXX

xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

X XX

xxxxxxx xxxxxxxxx xxxxx xxxxxxx

X XX XXXX X

XXX X X XXX XXXXX XXX X XXX XXX XXX X X

X XXX xxxxxxxxxxx xxxxxxx xxxxx

XX X XX X X

X X XXXXX X X XXX X XXXXX XXX x XX XXXX XX

XXX X XXXXX XXXXXXXXX XXX XXX X XXX XXX

XXXXXXXXXXX XXXXX X X XXX XXX X X X X X X X X

XXXXXXXXXXXXXXXXXFXXXXXXXXXXXXX

Figure 6: Functional maze produced by removing Xs from the grid of figure 5.

device for the intended cursor movement. I followed this approach because it was relatively easy to program and made things easier for the user. However, should the user input one of the actual control characters recognized by the terminal system, synchronization between the on-screen maze and the special block of memory would probably be lost. Rather than permit this to happen, I chose the simple alternative of having the program check each command input by the user. If it detects any control character, it will immediately erase everything on the screen and return to MIKBUG control. The program itself will not be affected, but you will need to reenter the program at its starting address and begin again.

Other Commands

The remaining valid commands are C, H, F, E, and S. These stand for carriagereturn, home-up, food, erase and start. Carriage-return moves the cursor to the left of the current line, while the home-up command is used to move the cursor to the upper lefthand corner of the maze.

When you have the cursor positioned directly over an X you wish to remove, use the erase command. Use the food command to replace any X in the raw maze with an F. You may set up several target Fs around the maze, but the program will stop its search as soon as it finds the first one. When you are ready to allow the computer to run the maze you have prepared, issue a start command.

Issuing the start command removes control of events from the user and turns everything over to the computer. As soon as it takes control, the computer checks to see whether the cursor is positioned over an X or a space. At this point, if the cursor is over a space, the computer will begin its search. If, however, the cursor is over an X, the computer will move it to the space in the upper lefthand corner. Either procedure gives the computer a valid point from which to start, and as soon as one has been taken, the computer prepares to make its first move.

Strategy

I now need to discuss, in general terms, the strategy used by the program to move around the maze in search of food. A good place to begin is with figure 7. This type of diagram is referred to as a tree. Such a diagram by itself does nothing. When used as an aid in solving certain types of problems, such trees can make it much easier to visualize relationships of various elements of a problem.

If we assume that each circle represents a combination of factors which could be the desired answer, our task is to devise a scheme of searching through the tree until we find the solution. A number of methods for doing this are available. While the one that I selected is not the best, it is reasonably efficient, provides an interesting simulation, and is so simple to understand that I had no reservations about using it as the basis for the most important part of the program.

The strategy I selected for my program is embodied in the following set of simple rules. The first rule is that once a passageway is entered for the first time, it is explored until a dead end is reached. During this initial search, any corridors branching off the passage being explored are ignored. The second rule is that after a dead end is reached, special signals are stored in the reserved block of memory until the computer must either change direction or reach a new corridor. These signals mean that it is not necessary to explore that particular corridor, as it is already known that the goal is elsewhere. In effect, the program will later react to these signs in the same way that

90

June 1979 © BYTE Publications In

"The data from this experiment could affect national defense* That's why we use Scotch Brand Disk Cartridges."

Ken Bish, Engineer,

Systems Research Laboratories,

Inc., Dayton, Ohio

Every Scotch Disk Cartridge is tested and certified error-free before it leaves the factory. Because, for the defense of your data, nothing less than perfection is acceptable.

The disks in Scotch Disk Cartridges are defended by 3M's exclusive CRASHGUARD® protective disk coating. It greatly minimizes the possibility of a head crash, and minimizes the damage, should one occur.

Scotch front-loading Disk Cartridges also feature our exclusive Living Hinge air door, which reduces the possibility of damage to the disk from contact with the air door stop during shipping and handling.

You can get Scotch Disk Cartridges in front or top-loading models. To find out where you can find Scotch Disk Cartridges or virtually any other data recording medium, call toll-free: 800-328-1300. (In Minnesota, call collect: 612-736-9625.) Ask for the Data Recording Products Division.

If it's worth remembering,

it's worth Scotch

Data Recording Products.

Circle 368 on inquiry card.

BYTE lune 1979

91

Figure 7: Search tree used by program to find its goal.

~* *—\

\i/

-* GOAL

6

Figure 8: Typical search undertaken by computer. Starting at point 1, the cursor moves right to the dead end at point 2. Marking this position with a special code in memory, the cursor moves left, finding the unexplored corridor at point 3. The cursor changes direction to explore this, until stopped at point 4. Leaving a dead end code, the cursor again reverses, and discovers the new passage at point 5. Changing direction and moving towards point 7, the cursor reaches the "food" at point 6 and stops the search.

it would react to a wall. A third rule is that when the program is retracing previous steps, it will begin exploring new territory as soon as possible.

Search Details

To make these rules clearer, refer to figure 8. Assume that the computer begins its run at position 1. It will move to the right until it reaches the dead end at position 2. Leaving special signals behind itself in memory, the computer will move back to the left until it encounters the new corridor at position 3. As this is an unexplored passage, it will stop retracing its steps toward position 1 and change direction toward position 4. Once it arrives at position 4, it reverses itself and, again leaving the special dead end signs in memory, backs up until it reaches position 5. Here, the computer decides that it has found another unexplored avenue and begins moving toward position 7. Halfway down this corridor it finds the food at position 6 and, having achieved its goal, stops the search.

In addition to the dead end signs, the computer also marks each path it explores with another signal to indicate that it has been there. Both of these signals are stored in the reserved block of memory to serve as guides in choosing the next move. They do not appear on the video display screen (where they would only cause clutter).

If you refer back to figure 7, you will now be able to understand the strategy that I have employed in this program. The procedure is to start at the top and, after arbitrarily choosing one of the branches, descend along it as far as possible. In this instance, we go from A to D. Unable to continue at D, we back up the minimum possible distance to C, where we encounter three unexplored branches. One at a time, we descend from C to E, F, and G. When exploration of these three branches is complete, we have eliminated everything descending from C. Again, we back up the least possible distance. In this case, we move from C back to B. At B we will descend to explore the paths leading to H, I, and J. Once this sequence has been completed, we back up to A. We have, at this point, thoroughly examined one limb of the tree, and use of the same rules over and over will eventually lead us to the goal.

One last point concerning strategy must be covered. Figure 9 illustrates a normal tree with some abnormal additions: closed circular paths, or loops. These may actually be a true representation of a particular problem. They are not, however, used in

92

|une1979 © BYTE Publications Inc

classic tree diagrams. Experts in the field of artificial intelligence tend to disapprove of such loops for they can raise havoc with simple search strategies like the one I've been explaining. It is entirely possible to enter one of these loops and, following the rules exactly, remain in the loop indefinitely. This can all be summed up in the following rule: do not create loops in the mazes you set up for this program to run through.

Finally, on the matter of loops, figures 10 and 11 are examples of various mazes. Those shown in figure 10 are incorrect because of loops. Those shown in figure 11 are correct.

Run Completion

Now I am going to briefly describe what happens once the computer completes its run. If it was unable to find the goal (because you forgot to include it or placed it out of reach), the program will tell you that it has no valid moves and will ask if you wish to rerun the same maze.

If you indicate that you would like to rerun the same maze, the computer will clean out all the signs it placed in its special block of memory and jump back to that part of the program which allows the user to modify the maze. It will print out a new maze or change the one on the screen. If you desire to start the next run from a new location or further modify the maze, use the same commands you originally used in setting up the maze. When you are ready to begin the new run, input a start command.

When the program actually finds the goal, it goes through the same general routine as when it has no more moves, with one major difference: instead of reporting that it has no more moves, it states that it has found the goal. Beyond this, everything is the same.

If, in either of the above cases, you indicate to the computer that you do not desire to rerun the same maze, the program will erase everything on the screen, completely clear out the special block of memory, and then print out a new initial maze.

Minor Points

A few minor details remain of which you should be aware. Foremost among these is the cursor. I decided to use the cursor to explore the maze because it was the easiest way to do the job. The simulation is very effective when the cursor is operated in the solid mode (as opposed to the normal blinking mode). The program will function perfectly with a blinking cursor, but the visual effect is not as pleasing.

Text continued on page 96

Figure 9: Search tree containing loop paths, which can cause problems.

Figure 10: Mazes containing loops. Creation of such mazes is to be avoided.

X X X X X X X

XXX

XXX

XXX

X

X X X X

X X

xxxxxxxx

X

X X X X. X X X

V

XXX

XXX

X X

X

XXX

X

X X X X X x

X

X X X X

X

X X

X

X

X X

X

XXX

X

X X X X X X X

XXX

XXX

X X

X

XXX

X

X X X X X X

X

X X X X

X

X X

X

X

X X

X

XXX

X

X X X X X X X

XXX

XXX

X X

X

XXX, X

X X X X X X

X

X

X

X

X X

X

X X X X X X X

XXX

XXX

X X

X

XXX

X

xxxxxxxx

X X X X

X

X X

X

X

X X

X

X X X X

X X X X X X X

XXX

XXX

X X

X

XXX

X

xxxxxxxx

X

X

X

X X

X

X X X X

X X X X X X X

XXX

XXX

X X

X

XXX

r

xxxxxxxx

X X X X

X

X X

X

X

X X

X

X X X X

X X X X X X X

XXX

XXXXXXXXXXXXX

XXXXXXXX

X X X X X

X

X

X X X X

X X X X X X

X

X X X X

X

X

XXX

X

XXX

XXX

X

X

X

X X

X

X

X

X

X X

X X

X X X X X

X

X

X X X X

X X X X

X

X

X

X

X

X

X

XXX

XXX

X

X

X

X

X

X X

X X

X X X X X

X

X

X X X X

X X X X

X

X

X

X

X

X

X

XXX

XXX

XXX

X

X

X

X X

X

X

X

X

X X

X X

X X X X X

X

X

X X X X

X X X X

X

X

X

X

X

X

X

XXX

XXX

X

X X X X X

.

X

XXX

X

X

X X

X

X X X X

X

X

X X

X

X

X

X

XXX

X

XXX

X

X

X

X X

X

X

X

X

X X

X X

X X X X X X

X

X

X X

X

X X X X

X

X

X X

X

X

X

X

XXX

X

XXX X

X X X X X

X

X

X X 3

C X

X X X X

X

X

X X

X

X

X

X

X X F

X

XXX

XXX

X

X

X

X X

X

X

X

X

X X

X X

X X X X X

X

X

x x :

C X

X X X X J

C X

X

X X

X X

X

X

X X X X X X X

June 1979 © BYTE Publications Inc 93

Figure 7 7,' Properly constructed mazes containing no loops.

XXX

X

X X

X

X X

X X X X X

X X

X

X X X X

X

X

X

X

X

X

X

XXX

X X

X

X

X

X X

X

X

X X

X

X X

X X

X

X X

X

X X

X X X X X X

X

X X X X

F

X

X

X

X X X X X

X X

X

X

X

X X

X

X

X X

X

X

X

X X

X X

X

X X

X

X X

X X X X X

X

X

X X X X

X

X

X

X

X

X

XXX

X X

X

X X

X

X X

X

X X

X X X X X

X

X

X X X X

X

X X

X

X

XXX

X X

X

X

X

X X

X

X

X X

X

X

X

X X

X X

X

XXX

X

X X X X X

X

X

X X X X

X

X

X

X

X

XXX

X X

X

X

X

X X

X

X

X X

X

X

X

X X

X

X X

X

X

X X X X X

X

X

X X X X

X

X

X

X

X

X

XXX

X

X

X X

X

X

X

X X

XXX

X

XXX

X

X X X X X

X X X X X X X

X

X

X

X

X

X

XXX

X X

X

X

X

X X

X

X

X X

X

XXX

X

X X

X

X X

X X X X X

X X X X X X X

X

X

X

X

X

X

X

XXX

XXX

X

X X

X

X X

X X X X X

X X

X

X X X X

X

X

X

X

X

X

X

XXX

X

X

X

X X

X X X X X X

X

X X

X X X X

X X

X

X X X X

X

X

X

X

X X

X X

X X

X

X

X

X X

X

X

X X

X

X

X

X X

XXX

X

X X

X

X X X X X X

X X

X

XX XXX

X

X

X

X

X X

X X

X

X

X

X X

X

X

X

X X

XXX

X

X

X

X X X X X X

X X

X

XX XX

X

X

X

X

X

X X

X X

X

X

X

X X

X

X

X X

X

X

X

X X

X X X X

X

X

X X X X X X

XXX

XX X

X

X

X X

X

X

X X

X X

X

X

X

X X

X

X

X

X

X X

X X X X

X

X

X X

X X X X

X X

X

XX X

X

X

X

X

X

X

X X

X X

X

X

X

X X

X

X

X X

X

X

X X X X

X

X

X X

X X X X

XXX

XX XX

X

X X

X

X

X X

X X

X

X

X

X X

X

X

X X

X

X

X

X X

XXXXXFXXXXXXXXXXX

xxxxxxxxxxxxxx

Photo 1: Time lapse exposure of a complete search of the maze. The camera shutter was left open during the entire time the cursor was traversing the maze. When the cursor retraced its steps, it increased the exposure at that point. Thus, the various shadings indicate in a relative fashion the number of times that the cursor passed a given point. The whitest location is the home position at the upper left comer.

See Sol qt all these

fine

computer

centers

AL: Birmingham: Computer Center, Inc.,

(205) 942-8567, CA: Costa Mesa: Orange County Computer Center, (714) 646-0221. Los Angeles: Computers Are Fun, (213) 475-0566. Modesto: Computer Magic, (209) 527-5156. Mountain View: Digital Deli, (415) 961-2670. Walnut Creek: MicroSun Computer Center, (415) 933-6252. CO: Boulder: Byte Shop, (303) 444-6550. CT: Bethel: Technology Systems, (203) 748-6856. FL: Ft. Lauderdale: Byte Shop of Ft. Lauderdale, (305) 561-2983. Miami: Byte Shop of Miami, (305) 264-2983. Tampa: M icroComputer Systems Inc., (813) 879-4301. IL: Lombard: Midwest Microcomputer, (312)495-9889. ID: Boise: Byte Shop Computer Store, (208) 345-3811. IA: Davenport: Memory Bank, (319) 386-3330. KY: Louisville: Martronix Associates, (502) 459-0500. MD: Silver Springs: Computers Etc.,

(301) 588-3748. Towson: Computers Etc., (301) 296-0520. MA: Waltham: Computer Power. Inc., (617) 890-4440. MO: Florissant: Computer Country, (314) 921-4434 NJ: Cherry Hill: Computer Emporium, (609) 667-7555. Iselin: Computer Mart of New Jersey, (201) 283-0600. NY: Endwell: The Computer Tree, (607) 748-1223. New York: Computer Mart of New York, (212) 686-7923. White Plains: The Computer Corner, (914) 949-3282. NC: Raleigh: Bennett-Stiles Computer, (919) 781-0003. OH: Akron: The Basic Computer Shop, (216) 867-0808. OR: Beaverton: Byte Shop Computer Store, (503) 644-2686. Portland: Byte Shop Computer Store, (503) 223-3496. PA: King of Prussia: Computer Mart of Pennsylvania, (215) 265-2580. Rl: Warwick: Computer Power, Inc.. (401) 738-4477. TN: Kingsport: Microproducts & Systems, (615) 245-8081. TX: Arlington: Computer Port, (817) 469-1502. Houston: Interactive Computers, (713)772-5257. Houston: Interactive Computers, (713) 486-0291. Lubbock: Neighborhood Computer Store, (806) 797-1478. Richardson: Microstore, (214) 231-1096. UT: Salt Lake City: Home Computer Store, (801) 484-6502. VA: McLean: Computer Systems Store, (703) 821 -8333. WA: Bellevue: Byte Shop Computer Store. (206) 746-0651. Lynnwood: Byte Shop Computer Store.

(206) 775-7436. Seattle: Byte Shop of Seattle. (206)622-7196. Wl: Madison: The Madison Computer Store, (608) 255-5552. Milwaukee: The Milwaukee Computer Store, (414)445-4280.

DC: Washington: Georgetown Computer Emporium, (202) 337-6545. CANADA: London, Ontario: Computer Circuit Ltd.. (519) 672-9370. Toronto, Ontario: Computer Mart Ltd.. (416) 484-9708. Vancouver, B.C.: Basic Computer Group Ltd., (604) 736-7474. ARGENTINA: Buenos Aires: Basis Sistemas Digitales, 393-5299. AUSTRALIA: Prospect: A.J.F. Systems & Components, Pty. Ltd., 269 1244. Sydney: Automation Statham Pty. Ltd., (02) 709.4144. BELGIUM: Brussels: Computerland, 02/511-34-45. COLOMBIA: Bogota: Video National, 326650. DENMARK: Copenhagen: Peter W Holm Trading Aps, 01-54366. PHILIPPINES: San Juan: Integrated Computer Systems, Inc., 78-40-71. SPAIN: Barcelona: Interface S.A.. (93) 301 7851. UNITED KINGDOM: Essex: The Byte Shop Ltd.. 01 554 2177. Huntington: Comart, Ltd., (0480) 74356. VENEZUELA: Los Ruices. Caracas: Componentes Y Circuitos Electronicos TTLCA, 355591.

94

June I979 & BYTt Publications Inc

Circle 300 on inquiry card.

itrtm

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

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

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

Remember, there's no free lunch.

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

Sol small computers are at the very top of the microcomputer

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

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

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

Build computer power with our software.

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

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

Processor Technology FORTRAN is similar to FORTRAN IV and

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

Our PILOT is an excellent text oriented language for teachers.

Sold and serviced only by the best dealers.

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

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

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

Circle 300 on inquiry card.

Processor Technology

Author's Note:

The program shown in listing I uses several routines from the MIKBUG monitor. Other monitors (SWTBUG, Smartbug) designed to be compatible with MIKBUG should work with the program. However, the program will not work with other types of monitor systems.

Be careful not to type an actual control character while setting up the maze. If you do, you must restart the program at hexadecimal location 003D.

Table I: Control codes used with the Southwest Technical Products Corporation CT-64 video terminal system.

Control Character

Hexadecimal Code

Function

H

08

Back Space

1

09

Forward Space

J

0A

Line Feed

K

OB

Move Up

P

10

Home Up

U

15

Erase End of Line

V

16

Erase End of Frame

M

0D

Carriage Return

Text continued from page 93:

While I was developing the program, I found it desirable to include a delay routine to slow the speed at which the cursor runs through the maze. This delay is used whenever the program is exploring new territory. It greatly increases the impression that the computer is carefully considering each move. The amount of delay can be varied by changing the contents of one location in memory. The specific address is hexadecimal 06BE. You may use any value between 01 and FF. The maximum amount of delay is about one second, which occurs when location 06BE is set to FF. As the value stored in 06BE is decreased, the amount of delay is reduced until, with a value of 01, it is almost unnoticeable.

Listing I: Since the original Maze program was hand assembled over several hand written pages, the machine generated object code shown here in MIKBUG format is the only verifiable representation. Spaces on each line make reading easier, but do not enter the spaces into the computer. The last pair of digits on each line is a checksum. The starting address is hexadecimal 003D.

SI 13 0000

6580

6904

6420 2420 A525

6501 4000

9580 40

S113 0010

2126

6131

63A4 69AC

2D24

2734 EF94

202C 5F

S113 0020

FFCA

27FF

92DF 93FF D9FF

9A5F DAF6

DAFF 60

SI13 0030

975E

52FB

99DF OAEB

D2EB

5A0B OABD

0100 B3

SI 13 0040

BD02

OOBD

020A BD02

18BD

022C BD03

OCBD 09

SI13 0050

02E3

BD02

8CBD 0480

BO04

9ABO 0500

7E00 90

SI13 0060

58BD

BFDE

09C0 8A5F

92FF

9ACF 9DEA

1502 CO

S113 0070

9ACA

CADB

1AC3 D9D7

12CF

9AFA 9ABB

9157 34

SI13 0080

7386

64C0

4635 65A3

6CA5

6724 6537

4401 4F

S113 0090

6131

6127

672D 2C2F

6DB6

6785 2520

27A5 33

S113 00A0

9P5B

B24B

8ADA 9203

C85A

BAE8 OODB

D80E 37

SI13 00B0

88F9

98 5B

90EA EOEA

DOES

984A 181B

C057 9A

SI 13 00C0

5136

4085

61F5 653F

6DA4

2537 652C

7EAC BE

SI13 0000

B585

7523

6737 6525

9025

75B8 2F35

25F9 Bl

SI 13 00E0

8708

D202

1FF4 AB59

9050 8001 19C9 800A 18

S113 00P0

82CA 8A4P

98D8 1859

82C0

IA46 82BO 0200 13

S113 0100

CEOt

OABD

E07E BDE1

AC39

1016 434F

4D40 22

SU3 0110

414E 4453

OAOA 0052

2040

4F56 4520

5249 23

sin 0120

4748

540A

0D4C 2D40

4F56

4520 4C45

4654 06

Listing 1 continued on page 98

Hardware Dependence

One final important topic is the configuration of my system. This program is designed around that configuration, and any other could cause problems. Most 6800 system owners should not have any difficulty but, to be on the safe side, I'll go over the details quickly.

First, my terminal system is set up to print 32 characters on each line and 16 lines on each page. When I run this program I operate my terminal in the page mode. Table 1 describes all the control characters used by my system to move the cursor around and to erase the screen. The terminal is set to upper case operations.

Loading the Program

The program (listing 1 is in the MIKBUG tape format) is ready for hand entry. To begin entry, assuming that you are under MIKBUG control, type an L (load) and enter each line exactly as it appears. If you make a mistake, the checksum error detection feature of MIKBUG will catch it and cause the terminal to print a question mark. In order to proceed, again enter an L command and retype the line in question.

96 June 1979 © BYTE Publications Inc

we »u«£ do M-ioe . tevroes. oun oi»« tniNsivE

efVMJ. tVSTSKV •OFTLjR<lS,eo-US/C1tt«i-n.Vt COMPUTING, WltltOlOPT , TRS-go iOFTUftM EXCMftHftS , SoFT^PC, ftlUCLi eNTSePHlseS AHO tAAMf OTKSR. SOFtUMW PUfclXSHeiU.

PROGRAM

GALACTIC BLOCKADE RUNNER

SCI-FI GAME SAMPLER

R/T LUNAR LANDER

MICRO-TEXT EDITOR

OTHELLO III

AIR RAID

MICRO-CHESS

BRIDGE CHALLENGER

APPLE 21

STAR WARS/SPACE MAZE

RENUMBER

DISK RENUMBER

PILOT 2.0

PILOT 3.0

APPLE TALKER

APPLE LIS'NER

TIC-TAC-TALKER

FORTRAN

SYSCOP

ANDROID NIM-2

SNAKE EGG

LIFE 2

DCV-1

MUSIC MASTER

DISK MUSIC MASTER

TRS-80 CP/M

PET ASTROLOGY

PERSONAL FINANCE PKG.

TRS-80 DISK LIB. "A"

AN EXCITING SPACE WAR GAME WITH GRAPHICS

3 GAMES—LUNAR LANDER—STAR MONSTER—SPACE BATTLE

A REAL TIME LUNAR LANDER WITH GRAPHICS

FORMAT TEXT—SAVE & LOAD TO TAPE—OUTPUT TO PRINTER

A STRATEGY BOARD GAME—PLAY AGAINST COMPUTER OR OTHERS

A REAL TIME, ARCADE TYPE SHOOTING GAME IN MACH. LANG.

PLAY CHESS WITH YOUR COMPUTER—VARIOUS LEVELS OF DIFF.

DON'T WAIT FOR OTHERS TO PLAY—YOUR COMPUTER'S READY

BLACKJACK WITH HIRES GRAPHICS

SCI-FI GAMES FOR THE APPLE

RENUMBER YOUR BASIC PROGRAMS—RENUMBERS EVERYTHING

SAME AS ABOVE, BUT ON DISK

THE EDUCATIONAL LANGUAGE. IN MACH. LANG—INC. EDITOR

THE DISK VERSION OF THE ABOVE

YOUR APPLE SPEAKS! NO NEW HARDWARE REQUIRED

SPEECH RECOGNITION THE EASY WAY—GREAT WITH THE TALKER

TIC-TAC-TOE USING SPEECH SYNTHESIS AND RECOGNITION

FOR THE TRS-80—SEE MICROSOFT'S ADS

MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY

GAME OF NIM WITH ANIMATED ROBOTS AND SOUND

A BETTING GAME WITH ANIMATED SNAKES AND SOUND

100 GEN. PER MIN. LIFE & BATTLE OF LIFE W/ANIMATION & SOUND

PUT SYSTEM TAPES ON DISK EVEN IF IN SAME MEM AS DOS

ENTER SHEET MUSIC—THE TRS-80 THEN COMPILES & PLAYS IT

SAME AS ABOVE BUT ON DISK W/MANY SELECTIONS

OPENS UP THE WHOLE WORLD OF CP/M SOFTWARE TO THE TRS-80

DOES ALL THE COMPUTATIONS FOR YOU

KEEPS TRACK OF CHECKS. BUDGET. COMPUTES INTEREST

9 PROGRAMS ON DISK—INC. BLOC. RON, OTHELLO ETC. BUSINESS AND APPLICATION SOFTWARE—CALL OR WRITE FOR DETAILS 16K MEMORY UPGRADE FOR TRS-80, APPLE & SORCERER COMPUTERS C-10 HIGH OUALITY DATA CASSETTES W/SCREW HOUSINGS VERBATUM 5-1/2 INCH BLANK DISKETTES

9.95 7.95 7.95 9.95 7.95 14.95 19.95 14.95 9.95 12.95 14.95 19.95 14.95 24.95 15.95 19.95 19.95

9.95

14.95

14.95

14.95

9.95

14.95

24.95

$150.00

$ 14.95

$ 9.95

$ 39.95

$ 94.95 10/$ 10.00 10/$ 34.95

CD

O

l<Wo OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG—GIVE TYPE OF COMPUTER

AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS

JAJ ELECTRONICS LTD U COLLINOTON AVE.

BEXHILL ON-SEA, E. SUSSEX. ENO.

COMPUTER VILLAGE 931 SW I7TH AVE. MIAMI FL 33114

L. C. SALES

100 HINCHEV AVE. 1703

OTTAWA, ONT., CAN. KIY4L9

HOBBY WORLD ELECTRONICS 19353 BUSINESS CENTER DR. M NORTHRIDGE CA 91324

AUGUST AUTOMATION 21 MILK ST. WESTBORO MA 01511

THE CPU SHOP 39 PLEASANT ST. CHARLESTOWN MA 02129

CAPJTOL COMPUTER SYSTEMS COMPUTER CABLEV1SION, INC.

3396 EL CAM I NO AVE. 2617 42ND ST. NW §2

SACRAMENTO CA 95121 WASHINGTON DC 20007

TRS-40 SOFTWARE EXCHANGE KENNEDY SYSTEMS

17 BRIARCLIFF DR. 74 BROAD ST.

MILFORD NH 03035 LYNDONVILLE VT 05151

OP AMP TECH BOOKS 1033 N. SYCAMORE AVE. LOS ANGLES CA 90031

ADVANCED COMPUTER PRODUCTS I3IOBE. EDINGER SANTA ANA CA 92705

■tto/vuiiiiJ^

TO ORDER BY PHONE OR FOR DEALER INFO—CALL—(617) 682-8131

ADD 75c SHIPPING & HANDLING • MASS. RESIDENTS ADD 5% SALES TAX

MAD HATTER SOFTWARE • 900 b SALEM RD • DRACUT, MA 01826

■i |2

Circle 202 on inquiry card.

BYTt June 1979 97

Listing 1 continued from page 96:

0130 0140 0150 0160 0170 0180 0190 01A0 01 BO

oico

OlDO OlEO 01P0 0200 0210 0220 0230 0240 0250 0260 0270 0280 0290 02A0 02B0 02C0 02D0 02E0 02F0 0300 0310 0320 0330 0340 0350 0360 0370 0380 0390 03A0 03B0 03C0 03D0 03E0 03F0 0400 0410 0420 0430 0440 0450 0460 0470 0480

OAOD 4FS6 5345 4147 4045 2041 0A53 424F 2050 4E44 454E 4345 4554 CE02 2705 2066 0227 E07E EID1 OABD 8658 7A02 5527 4827 5327 257E 7E02 Ilfil 0200 02 3C 24B6 7E02 4184 0000 20P3 038C 8E27 8CB6 0203 C17D D17E 0000 A700 7PB7 8611 5PB7 037E 1P27 27DP B604 8820 1308 D37E A600

552D 4520 2041 4520 2055 4E20 2053 5645 5245 2053 2052 4544 5445 06BD 6F00 08B7 7D02 3910 7D02 E1D1 A700 6A7D 2581 2181 IDBD 0308 P886 39CE BD02 BD02 0324 8C00 1P88 B002 8600 B603 0608 038D PP03 03C1 028C B002 BDEl 08BP B708 099F 028C EEPF 2002 3584 27BD 20P3 028C 8120

4D4F 444F 4E20 5245 5000 5820 5441 2043 5041 5441 4541 2C20 522E E07E 0820 0227 2727 0A04 6A27 860D BDEl 026A 4427 4327 0203 7E02 08BO 0820 0A7E E37E 841F OOBD 1P27 D3PP BDEl 8C81 7A03 84E0 BFB6 2706 B603 D3A6 D186 B708 5PB7 B709 PP04 0434 0000 E088 PF04 FE04 PE04 270C

5645 574E 580D 5455 QA46 5749 5254 4P4D 5245 5254 4459 5459 2004 3910 P639 3900 05BD 861E 0608 BDEl D108 2702 2481 2081 20D4 FC7E E1D1 39BD E0E3 028C 881P 02D3 0686 03 5A D17E 0927 8E20 88 EO 03BP 097A C084 0081 08BD FFB7 089P DF39 347C 7A04 FF04 E027 34A6 3486 34B6 0101

2055 OAOA 0A43 524E 2D52 5448 ODOA 4D41 ODOA 2052 ODOA 5045 0000 1604 CE02 1016 026B B702 7A02 D139 8620 20E6 4C27 4527 7E03 0342 A600 E1AC BD02 BD02 2706 FP03 08BD B603 028C 1886 P586 27F4 8108 03CI E088 5827 E1D1 09 3F B708 BD02 0435 35B6 34B6 C820 0081 20A7 0435 01CE

50QA 0D45 2D43 OAOD 4550 2041 OA55 4E44 4D41 554E 544F 2041 0000 CE08 28BD 0A04 20F0 6A86 6A20 0086 A700 0139 2381 IF81 8F7E 7E04 BDEl 85E0 D339 D3FF 8609 407A E1D1 5B85 0000 20B7 OABD 20DD 2718 20F5 2027 037E 20EF B709 DFB7 D3A6 B604 0435 0434 09B6 1127 OOBD 8401 0495

0D44 2D45 4152 462D 4C41 4E20 5345 5320 5A45 2E20 2050 4E59 0000 008C E07E BD02 CE02 58A7 EE08 10B7 BDEl BD02 5227 4627 03 5C

08 7E D186 2701 BD02 0323 BDEl 0341

09 7E 1F27 BD02 038E E1D1 0000 8620 860B P420 028C 86FF 7FB7 09 IP 0081 3584 84 IF 8108 0435 0781 E1D1 27F3 BDEO

2D4D 51 5241 FE 5249 E4 484F 9B 4345 91 460D C6 2041 D4 544F EA 2041 67 5748 E9 524F 28 204C F8 0000 25 OAOO 2A CE08 FP 467A 50 43BD B5 OOBD EC 0886 40 026A ID D108 BA E781 OB 2281 F5 1E81 16 7E03 AF 03C2 70 08BD 45 39BD 23 D3BD D4 7C03 C7 D108 5B B603 72 028C EF 0309 DO D3FF E7 7D03 7E 7E02 17 OOBD F6 B703 23 BDEl 8P DDOO BF 8646 16 B708 B3 09BF 91 B709 A9 5827 1A IF88 C3 881F 71 270B BO 84E0 82 PF27 C8 BD02 A9 20E7 CE 7ECE 9B

I've never seen documentation covering the types of errors the MIKBUG error detection feature will catch, so I purposely made a number of different errors and can report that all were detected. I entered incorrect digits, tried nonhexadecimal characters, rearranged the placement of correct digits and entered the address incorrectly. While I can't guarantee absolute reliability in error detection, I can say that I've entered many programs by hand using this method, and to the best of my knowledge every entry error that I made was caught.

As you successfully enter each line, it is stored in memory. Should you be unable to complete the loading of the entire program in one sitting you may use the tape dump feature of MIKBUG to store what you have entered on cassette or paper tape. At the beginning of your next session, load the tape back into memory and begin hand loading at the point you left off previously.

Eventually you will have the entire program in memory. Before you do anything else, I suggest that you generate a tape of the program. Once that is done, prepare your terminal system to use the program. Set it in the page mode, for upper case operation, with the cursor in a nonblinking mode. The hexadecimal starting address is 003D. Once you have this loaded into addresses A048 and A049, you will be ready to issue the go command.

Because I have entered this entire program by hand on three separate occasions, I can appreciate the feelings of those who think that it's just too big a job. To assist those who are lacking the time or inclination to hand load this program, I will be happy to supply a Kansas City standard cassette tape of the program for a $5 fee.

Conclusion

This program is serious fun. As written, it provides quite a bit of excitement but, human nature being what it is, the urge to improve things may strike one or more of you. Ideas for improvement could include adding land mines, a limited range requiring stops for fuel, magic spots that transport to another location, and even little Klingons. If these or other ideas excite you, I hope you'll get busy and write the program to contain them. I'd like to run it."

98

June 1979 © BYTE Publications Inc

Circle 152 on inquiry card.

Listing 7 continued:

S113 0490

0841

3900

0010

OAOA

0904 A620

8120

2735

E2

S113 04A0 A601

8120

2735

BD04

EAFE

04E7

8120

272F

19

SI13 04B0

09A6

0008

8120

272B OWE 067B

BDEO

7E7E

F5

SI13 04C0

0773

1015

4E4F

204D

4F56

4553

2E04

0000

10

SU3 04D0

0000

0000

4086

44 B 7

04D4

3986

5220

F886

DO

S113 04E0

5520

F486

4C20

FOOO

0000

FF04

E786

20B7

76

SI13 04F0

04E9

7D04

E927

0609

7A04

E920

F5A6

0039

10

S113 0500

B006

CE86

52B1

04D4

2715

864C

B104

D427

37

S113 0510

2786

55BI

04D4

2756

8644

B104

D427

3486

9B

S113 0520

09BD

E1D1

BD06

BD86

01A7

0008

BD06

CEA6

62

S113 0530

0181

2027

EA7E

0597

8608

BDE1

D1BD

06BD

6D

SI13 0540 8601

A 700

09BO

06CE

09A6

0008

8120

27E8

78

S113 0550

7E05

9786

OABD

ElDl

BD06

BD86

01A7 OOBD

13

S113 0560

058D

BD06

CEA6

2081

2027

E87E

0597

860B

43

S113 0570

BDE1

DIBO

06BD

8601

A700

B004

EABD

06CE

IE

S113 0580

BD04

EAFE

04E7

8120

27E4

7E05

9786

204D

1A

SI 13 0590

2704

084A

20F9

3939

8652

B104 D427

1B86

26

SI13 05A0

4CB1

04D4

2747

8655

B104

0427

6986

44BI

95

SI13 05B0

04D4

275F

CE04

C27E

04BC

BD06

6527

11BD

EA

SI13 05C0

0660

2713

BD06

5427

15B0

0659

2717

20E4

D6

SI13 05D0

BD04

DFBD

0697

39BO

04D5

BD06 AA39

BD04

E7

SI13 05E0

DBBO

0681

3986

04A7

OOBD

0690

39BD

0665

CA

SI 13 05P0

27DE

B006

6027

EOBD

0659

2708

BD06

5427

3F

S113 0600

0A7E

05CE

BD04

E3BD

068C

3986

04A7

OOBD

71

S113 0610

0685

397E

0635

B006

5427

C3BD

0659

27E4

31

S113 0620

BD06

6527

ABBD

0660

2703

7E05

CE86

04A7

FD

S113 0630

OOBD

06AE

39BD

0654

27A4

B006

5927

C5BD

65

S113 0640

0660

2793

BD06

6527

037E

05CE

8604 A700

B2

S113 0650

BD06

9B39

A601

8101

3909

A600

0881

0139

2B

SI 13 0660

A620

8101

39FF

0679

8620

4D27

0409

4A20

F6

S113 0670

P9A6

OOFE

0679

8101

3900

OOBD

0598

7E04

C3

S113 0680

9A86

01A7

0086

09B0

ElDl

0839

8601

A700

31

S113 0690

8608

BDE1

D109

3986

01A7

0086

OBBD

ElDl

E9

SI 13 06A0

8620

4D27

0409

4A20

F939

8601

A700

860A

C5

SI13 06B0

BDE1

D186

204D

2704

084A

20F9

39C6

1086 A9

SI13 06C0

FF4D

2703

4A20

FA5A

5D27

0220

F239

FF07

IB

S113 06DO

0086

214D

2704

094A

20F9

8646 A100

2722

D5

S113 06E0 AlOl

271E A102

271A A120

2716 A122

2712

41

S113 06F0 A140

270E A141

270A A142

2706

FE07

0039

7F

SI13 0700

0000

CE07

OBBD

E07E

7E07

2C10

1546

4F55

2A

S113 0710

4E44

2049

542E

2052

4552

554E

2053

414D AB

S113 0720

4520

4D41

5A45

3F20

592F

4E04

BDE1

AC81

2F

S113 0730

5927

1381

4E27

0C86

08BO

ElDl

8615

BDEl

EA

S113 0740

D120

E97E

077F

CE08

20A6

0081

0127

0C81

F5

SI13 0750

0427

088C

09FF

2709

0820

EE86

20A7

0020

IB

S113 0760

F286

ODBD

E1D1

8615

BDE1

D186

OABD

ElDl

88

S113 0770

7E07

79CE

0716

7E07

058E

A042

7EO0

4F8E

37

S113 0780

A042

7E00

4043

BF58

97A9

AE19

PF6C

8F51

19

SI13 0790

DF55

BF3D

9739

A44B

AF39

9A79

8A1B A76C

B3

Si 13 07A0

2092

4806

4887

5802

4106

40A2

40C2

4086

2B

SI 13 07B0

5897

50C5

60E7

6808

61D0

5086

5C86

68A2

87

S113 07C0

FE3F

9F79

AFBD

BFFC

FF5D DF75

FF7D DE3D

62

S113 07DO

FF59

9F59

9F7F

8F7F

BF6D

B731

A671

A77B

4C

S113 07E0

0184

1C82

5082

40C7

10B6

4147

50AB

6806

52

S113 07F0

5086

2041

6182

1882

4186

7003

7003

0083

11

Starving

business

software For your

TRS-80?

raham-Dorlan now has a ;ial department to serve the Jial needs of TRS-80 lers. And we have four comprehensive: business software packages available on; diskfor any TRS-80 system with 32K or more of memory, 2 to 4 disk drives, and a fine printer. They operate with the CP/M® disk operating system and CBASIC-2.

Each package includes source code on disk and hardcopy source listings in the comprehensive user's manual.

Use your TRS-80 system to its fullest with these sophisticated programs:

• Inventory Package — Can be

connected with cash register for point of sale inventory control. Number of on-line items limited only by disk space available.

• Cash Register Package — Creates daily sales reports Containing information on gift certificates, paidouts, overrings, refunds, and how much in each category a salesperson sold.

• Payroll Package — Handles 100% of all necessary payroll functions including state income tax tables for your state. Ideally suited for both large and small companies.

• Apartment Package — Said one user, "Obviously, this was developed by apartment owners." The package fills virtually all the needs of apartment owners and managers. Ideal for projects with 75 units or more.

$695.00 for any package listed above. Any single package order includes free CBASIC-2. CBASIC-2 sold separately - $89.95. CP/M Disk Operating System-$150.00

Send for detailed packet of information explaining capabilities of each program and sample runs. Or, phone our software technicians. Attractive dealerships available. Graham-Dorian Soltware Systems programs are copyrighted and require licensing agreement.

G^d

Visa and MasterCharge accepted.

Graham-Dorian Software Systems

A Division of Graham-Dorian Enterprises 211 N. Broadway / Wichita, KS 67202 (316) 265-8633

lune 1979 © BYTE Publications Inc 99

Computer Generated Maps,

Part 2

William D Johnston

1808 Pomona Dr

LasCrucesNM 88001

In part 1 (May 1979 BYTE, page 10) we discussed the fundamental techniques involved in the production of computer generated maps and how to apply those techniques to some common map projections. We also presented several simple programs in BASIC which could be easily implemented in your own system to create maps for a variety of purposes. Nevertheless, these simple programs do have their limitations. In this installment we will develop a map projection program which is only slightly more complex, but far more versatile in what it can accomplish.

One of the most interesting projections mentioned in part 1 was the perspective projection, whereby the Earth is shown exactly as it appears to an observer at some specified height above the surface. Several perspective projections were illustrated, but all of these were simplified examples where the observer (or point of projection) was at infinity. It would be much more useful to have a program which would generate maps of the Earth as it appears from any chosen altitude and over any desired location. Such a program would give enormous flexibility to displays for space war games and other such practical applications as creating map overlays for weather satellite photographs.

Although details of a program to produce this type of projection were not discussed, the reader was encouraged to investigate the subject of perspective (or projective) geometry to see how the task could be accomplished. By this time many of you have, no doubt, learned that the solution is really quite simple.

Development of Perspective Projection

The key element of the solution can be explained in the following manner: if a line is extended from the center of the Earth to an observer in space, the point on the surface of the Earth that the line passes through is called the observer's subpoint. In other words, the observer is directly over this point with respect to the center of the Earth. Now, extend a sight line from the observer to any visible point on the surface of the Earth. You will find that the azimuth angle of the sight line (as measured clockwise from true north) is the same as the great circle bearing from the observer's subpoint to the distant surface point.

Knowing this, you should have been struck by the realization that you might be able to use the same program that was used to generate azimuthal equidistant maps in part 1, to also generate perspective maps. Can it be used? Almost.

The portion of the program which computes the angular component of the polar form of the map coordinates is indeed the same, and the computation of that angle constitutes the major part of the program. As its name implies, however, the azimuthal equidistant projection portrays radial distances uniformly. In a perspective view, distances are not uniform, but become increasingly compressed toward the Earth's limb (ie: edge of visible disk). All we have to do is replace a single statement in the program to correctly compute the radial distance. We will then have the means to produce a perspective projection of the Earth as viewed from any desired altitude over any desired point. By using a simple logic flag, we can choose between either of the two projections and use the same program to generate both types of maps.

You will also recall from part 1 that polar equidistant maps are simply special cases of the azimuthal equidistant map, while the orthographic equatorial and orthographic polar maps are nothing more than special cases of the perspective projection. We can

100

lune 1979 © BYTE Publications Inc

Wondering which memory is best for you?

bQ/e 2* offers the following products to the S-100 market at the industry's lowest prices:

f" pp

ill I r'iv *__:__ -Jr. •'•• ■:.!■- '•~r'.:T7T..-^*:.'Tr:'

f S1

8K Static Memory Board

This 8K board is available in two versions. The 8KS-B operates at 450ns for use with 8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The 8KS-Z operates at250ns and is suitable for use with Z-80 systems operating at 4MHz. Both kits feature factory fresh 2102's (low power on 8KS-B) and includes sockets for all IC's. Support logic is low power Schottky to minimize power consumption. Address and data lines are fully buffered and 4K bank addressing is DIP switch selectable. Memory Protect/Unprotect, selectable wait states and battery backup are also designed into the board. Circuit boards are solder masked and silk-screened for ease of construction. These kits are the best memory value on the market! Available from stock . . . 8KS-B $125 (assembled and tested add $25.00)

8KS-Z $145 (assembled and tested add $25.00)

16K Static Memory Board

Base2 can now offerthe same price/performance in a 16K static RAM as in its popular 8K RAM. This kit includes 8K bank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bank selection for unlimited expansion... No MUX board required. Usinghighestqualityboardsand components we expect this kit to be one of the most popular units on the market. Available in two speed ranges, the 16KS-B operates at 450ns while the 16KS-Z operates at 250ns.

16KS-B $275.00 (assembled and tested)

16KSZ $300.00 (assembled and tested)

Z-80 CPU Board

Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz and the CPZ-2 operates at 4MHz. These cards offer the maximum in versatility at unbelievably low cost. A socket is included on the board for a 2708 EPROM which is addressable to any 4K boundary above 32K. The power-on jump feature can be selected to address any 4K boundary above 32K or the on-board 2708. An On-board run-stop flip-flop andoptional generation of Memory Write allows the board to run with or without a front panel. The board can be selected to run in either the 8080 mode, to take advantage of existing software, or in the Z-80 mode for maximum efficiency. For use in existing systems, a wait state may be added to the M1 cycle, Memory request cycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states all signals from the processor board. All this and more on top quality PC boards, fully socketed with fresh IC's. CPZ-1 $110 CPZ-2 $125

S-100 for Digital Group Systems

This kit offers, at long last, the ability to take advantage of S-100 products within your existing Digital Group mainframe. Once installed, upto four S-100 boards can be used in addition to the existing boards in the D.G. system. The system includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100 board and a power wiring harness. The DGS-100 is designed to fit in the 5-3/4" x 12" empty area in the standard D.G. cabinet. It may seem expensive but there's a lot here! End your frustration! DGS-100 $250.00

bo/e 9 .inc.

Send for more details on these products. Get on our mailing list for information on more soon to be announced products at factory-direct prices from BASE 2. Why pay more when you can get the best at these prices???

P.O. Box 3548 • Fullerton, Calif. 92634

(714) 992-4344

CA residents add 6% tax

MC/BAC accepted • FOB — U.S. destination

Circle 22 on inquiry card.

BYTE June 1979

101

Listing 7: BASIC subroutine for generating general purpose, perspective projection maps.

SUBROUTINE TO COMPUTE MAP COORDINATES FOR PERSPECTIVE. MODIFIED PERSPECTIVE. AND AZIMUTHAL EQUIDISTANT PROJECTIONS.

THE FOLLOWING FUNCTION MUST BE DEFINED BEFORE THIS SUBROUTINE IS CALLED!

FNC( ) COMPUTES THE ARC COSINE OF THE ARGUMENT. THE FUNCTION MUST BE NON-AMBIGUOUSi THAT IS. IT MUST ATTACH THE CORRECT ALGEBRAIC SIGN TO THE RESULT. A GOSUB TO AN ARC COSINE SUBROUTINE MAY BE SUBSTITUTED IF DESIRED.

THE FOLLOWING CONSTANTS MUST BE DEFINED BEFORE THIS SU3R0UT1NE IS CALLED THE FIRST TIME. AND ARE NEVER CHANGED!

E = 6378.0. THE MEAN RADIUS OF THE EARTH. IN KM.

Kl = 1.0

K2 = 1.5707963. THE VALUE OF PI/2.

K3 = 3.1415927. THE VALUE OF PI.

K6 = 6.2831853. THE VALUE OF 2*PI.

T = 0.00015. USED AS A TEST VALUE.

Z S 0-0

THE FOLLOWING VARIABLES MUST BE DEFINED BEFORE THIS SUBROUTINE IS CALLED THE FIRST TIME FOR ANY GIVEN MAP. EACH TIME A NEW MAP IS TO BE STARTED. THESE VARIABLES MUST BE REDEFINED BEFORE CALLING THE SUBROUTINE THE FIRST TIME FOR THAT MAP. AND ARE NOT CHANGED UNTIL THE MAP IS FINISHED!

A IS THE GEOGRAPHIC LATITUDE OF THE LOCATION ON WHICH THE MAP IS CENTERED.

Al IS EQUAL TO SIN(A) .

A2 IS EQUAL TO COS(A).

F IS THE MAP SCALE FACTOR TO CONVERT TRUE PROJECTED RADIAL DISTANCE TO THE MAP RADIAL DISTANCE. F = R/(E*SIN(M)). WHERE R IS THE KADIUS OF THE FINISHED MAP. IN CM OR INCHES! E IS AS DEFINED ABOVE! M IS AS DEFINED BELOW.

F IS USED ONLY FOR PERSPECTIVE AND MODIFIED PERSPECTIVE PROJECTIONS.

fi is the map scale factor to convert

TRUE ARC DISTANCE TO THE MAP RADIAL UlSTANCE. Fl IS USED FOR AZIMUTHAL LOUIDISTANT PROJECTIONS ONLY. Fl = R/M. WHERE R IS THE RADIUS OF THE FINISHED MAP. IN CM OR INCHES! rtND M IS AS DEFINED BELOW.

G IS A PRECOMPUTED FACTOR USED IN THE COMPUTATION OF THE RADIAL COMPONENT

Listing 7 continued on page 104

1000

REM

1005

REM

1010

REM

1015

REM

1020

REM

1025

REM

1030

REM

1035

REM

1O4O

REM

1045

REM

1050

REM

1055

REM

1060

REM

1065

REM

1070

REM

1075

REM

1080

REM

1065

REM

1090

REM

1095

REM

1100

REM

1105

REM

1110

REM

1115

REM

1120

REM

1125

REM

1130

REM

1135

REM

1140

REM

1145

REM

1150

REM

1155

REM

1160

REM

1165

REM

1170

REM

1175

REM

1180

REM

1185

REM

1190

REM

1195

REM

1200

REM

1205

REM

1210

REM

1215

REM

1220

REM

1225

REM

1230

REM

1235

REM

1240

REM

1245

REM

1250

REM

1255

REM

1260

REM

1265

REM

1270

REM

1275

REM

1280

REM

1285

REM

1290

REM

1295

REM

1300

REM

1305

REM

1310

REM

1315

REM

1320

REM

1325

REM

1330

REM

1335

REM

1340

REM

1345

REM

1350

REM

1355

REM

1360

REM

1365

REM

see that by this very simple modification of the azimuthal equidistant map program, we can use a single subroutine to generate any desired perspective map, as well as all of the orthographic, polar equidistant, and azimuthal equidistant maps illustrated in the earlier article! We will add a few frills that will make the program still more versatile.

Modified Perspective Projection

The azimuthal equidistant map portrays radial distances in a linear fashion. On the other hand, radial distances in a perspective map are computed from an involved trigonometric formula in order to show them as they actually appear when viewed from some point in space. Each of these maps has its own special applications, but also has (as do all maps) certain distortions.

A projection which is a compromise between the kinds of distortions inherent in the azimuthal equidistant and the pure perspective maps can be easily developed. This is done by using the same angular component, but presenting the radial distance in direct proportion to the sine of the arc distance. For the sake of simplicity, I will call this a modified perspective projection. It has been included as an option in the accompanying program. This projection is quite useful, especially when used in conjunction with the pure perspective projection, as we will see in some later examples. As an added bonus, the sine of the arc distance has to be computed anyway to come up with the angular component of the map coordinates, so we don't have to do any extra work to include this projection in the program.

General Purpose Perspective Projection Program

The program in listing 1 is in the form of a subroutine, and is to be used in the same manner as the subroutines presented in part 1. The subroutine is fully documented by the remarks contained within it, so there is little need to elaborate. In fact, of the 300 lines in the listing, fewer than 60 are executable statements; the other 240 or so are all remarks concerning the use and operation of the program.

As in the case of the earlier programs, certain parameters are initialized, then the subroutine is called once for each pair of coordinates to be converted. A geographic latitude and longitude from the data base (see part 1 for a description of the data base) are supplied to the subroutine each time it Text continued on page 708

102

June 1979 © BYTE Publications Inc

Waiting for the right 16 bit computer?

YOUR WAIT IS OVER!

Marinchip Systems M9900 System - 1

I HARDWARE

16 bit CPU

S-100 bus (11 slots)

60K RAM

Dual 8" diskettes

24 x 80 display

■ SOFTWARE

Network operating system

Extended Commercial BASIC

PASCAL

Word Processor

APPLICATIONS

Payroll

Accounts Payable/Receivable

General Ledger

■ If you've been waiting for the right small computer, your wait is over.

■ The Marinchip Systems M9900 System-1 combines a 16 bit processor, powerful system software and the most wanted applications into a ready-to-use desktop computing system—a system that delivers the flexibility, performance and convenience made possible only by the combination of a third generation 16 bit processor and the industry compatible S-100 bus.

■ If you've been waiting for a 16 bit computer, wait no more. The M9900 gives you the Tl 9900—not an expanded microprocessor, but a mini-computer on a chip, complete with hardware multiply and divide and multiple register sets. And unlike other 16 bit microprocessors, the 9900 is a member of a complete, compatible, minicomputer family, so if you outgrow the M9900, you don't have to start all over.

■ If you've been waiting for a more powerful operating system, your wait is over. The M9900's Network Operating System is a system without limits—designed to grow as computer hardware evolves, without forcing you to change programs every time you change the hardware. The system provides byte addressable files up to four billion bytes in length, complete dynamic allocation and release, random/sequential access and linked directories for complex file structures. The system automatically pages file data to memory to optimize performance. All I/O devices are treated as files, eliminating device-dependent code in applications.

■ If you've been waiting for a better BASIC, the M9900's Extended Commercial Basic gives you 16 digit accuracy, PRINT USING, random and sequential files, CHAIN with common variables and a choice of interpretive execution for debugging

or compilation for production. If you already have applications in BASIC, you'll be glad to know that the M9900's BASIC is similar enough to the most popular 8 bit BASIC that conversion won't be a chore.

■ If you've been waiting for applications you can really use, you'll find our Word Processor, Payroll, Accounts Payable and Receivable and General Ledger to be flexible, easily maintained and ready to use when you plug the system in.

■ If you've been waiting for a computer you can expand when you need to, the M9900's optional 165 CPS line printer ($2500) and 40 Megabyte removable cartridge disc system ($14,000) will make you happy. And since the M9900 uses the S-100 bus, you can choose accessory boards from the thousands available for S-100 systems—we don't tie you to our products.

■ Finally, the M9900 gives you one advantage no other computer can—it's made by Marinchip Systems. We're a computer company, not just a hardware company, software company or applications house. We designed the M9900 from the chips to the applications to bring you a product that advances the state

of the art in small computers. Our products are mature, tested items, not dreams, and they're backed up by complete documentation that's been called the best in the industry.

■ Since we're responsible for all the M9900, we're responsive to you. When you have a question, we can give you an answer, not another phone number. If you want to go your own way with the system, we also sell boards and kits that you can put into your own package.

■ The wait for the third generation is over, so don't wait any longer. Call or write today for more detailed information, or order our complete set of manuals.

Complete system $7500

Manuals only $40

«■ • ■ • *n a 16 St. Jude Road

Mamiicliip Sygiemg mhi vaiiey, ca 94941 ■ (415)303-1545

Circle 206 on inquiry card.

BYTE |une1979

103

>

CQ

1z

UJ

Ul

z

UJ

I

u.

o

u.

O

a

UJ

to

s

<o

Q

UJ

I

Ul

1—1

1

Ul

in

cc

cc

in

cu

o

z

Ul

UJ

z

o i

z

l/l

z

1

z

o

o

in

i1

cc

t

UJ

o

l_>

cc

f—1

o

u.

y-i (S)

z

< •

Ul Ul

Q.

u_

UJ

r>

171

0.

< z

l/l

l_>

o

in z

UJ

Ul UJ

Z

z

I o

C

o

CD

CL

>_»

z

u_

UJ

Ul

1—1

z

2 -1

o

o

K O

£

O 0.

o

UJ Ul l/l

(X)

Ul

Ul

X IS Ul Ul

Ul UJ

o

<

CC

T3

UJ

1

O

,-t

o <

I IS l-H

z

I

I

\- Z Q i-c

x cc

CL

o o

z

z

Z CL

o z

o

_J

z

Ul

1- 1

1—1

1

1

— 3

(

£

II l/l

1-4

H4

Ul

3

3

h—1

cc

3

— Ul 0.

UJ

z ui i- a.

1

O 0.

l/l 1

Ul (0

.C

1

O

Ul

u.

< Ul

_i

CD <

CO

cc

cc

Ul CO i-i <

cc z

o <

u.

*

k

3 Z

1—1

CL

ce

o

_l I

< •

Ul Z

o

o

UJ OS

O i-<

z

u.

Ul

Ul

1- HI

c

co

<i

3 1

> Q

o »

h

u.

u_

3 1- Z

U-O

UJ

• o

t

K

Ul Ul

o

z

UJ

Ul

10

ul

Z l/l Ul

z

i- z o uj

CL

O UJ

<s

<

<

U CO

o

o

I

ui

3

Z U.

Ul M

< Z X

1—*

Ul

Ul

Ul « -I I

UJ

Z X

< l/l

z

Z

»—

_l

H

Ul

_l

<c o

I •->

1- < 1

o

IS

is

CD O 1

10 UJ

< t

-1 z

M

i-«

Ul H

13!

_i

<

K _l

l/l H-l

0.

«I

<

0. Ul

< I

1

u. <

a

□

o z

.g

o

U.

ra

^>

3 z

«t

-H □ X

cc

cc

UJ XX

lC 1

n u.

uJ

a:

CC

z -•

I—1

o

<

ui tr

U. Z

O < O

UJ

o

o

<_> Ul 1- o

O

■-. O

UJ E

o

o

UJ o

JS

X

»-<

UJ

M o

o cc

CC n

I

1

\—

Z I i-i

1- Li.

o

_J

o

o

CC Q_

Cj

CL

,-.

cc

K

M u.

o

cc x

(

l/l

l/l

ui i- a x

in o

z

< -I

o

u

Ul

4

Ul

<..

3

_j

UJ z

< Z 3

ac z i

-i cc

O II

1

1

U. ul

a

j)

^>UI

_J

< cc

*

z

_l 1-H

Q

>

>

UJ u. <

>- Ul

< O

•

in i/i

X

>

U. X

10

<

z

o

s: <

I/)

t-l l/l

3 z

z

cc

cc

u. o z

cc a

M U.

U)

1

■1 t

•

o

CD

•

IS I-I

l/l

CC _1 UJ

in —*

IS - o

<t

•

<

<

u. » o

< z>

•

a

Ul

u

CL

CL

Q

o

Id

□

Zh

CD

o o

1

o

z —

□

cc

cc

m Ul Q

•

CC K

Q

< cc

►

u. •

<

<

U.

UJ

O

<

UJ

•-•3

<

z CL

<

o o

< Ul z

Q

UJ

o

o

DDUZ

Q

O !-•

UJ

cc <

<

O UJ

z

z

Ul o

l/l

h"

l/l

30

•

z

o o

Ul l/l

0.

0

DUIO

Ul

0. 1

in

-1

z

-1

•

X

1/1

UJ <

in

oce

Ul

«••»

Ul Ul

1—1

Ul Ul

UJZh

cc

l/l

z

;sr

Ul 1- l/l i-"

CC

s < un

UJ o

1—1

Ul <

ui in

UJ 1/1

1- UJ

UJ

X

O Ul

-ICO

I

3

I I

Q

I cc

I< 1

Ul

UJ

UJ •

Ul •

I M Ul H

Ul

Ul_l

Ul

I CL

Q

I o

X UJ

I

Ul

Q

u

►

(_>

-13

t

o

t- t

CC

K O

1- 1- <

1—

u

1- Q

1- Q

i-ou<

1

1—

O

1

cc

t- l/l

1- X

V

I

Ul 3

o

ui o

Ol/I

_J

o

LL

l/l o

z

o

zoo

z

uj o

Ul o

1

o

o

t- 1

CC

l/l

I

tr

u.

in

UJ

l/l u.

o

10 Ul

if <-> o

Ul

cc

l/l u.

l/l u.

i/i o cc o

UJ

l/l I

cr

in I

o

in z

in z

l/l

z

O >-•

a.

~-t

1—

a.

Jl

i—f

0

.-t o

J

— a

►"• Q _1

u x

— o

•-• o

H J 0. J D

l-»l—

a.

UKU

i-tO

!-• —t

1-t

>-*

Q-lO

UJ>-i

z z

r x

—*

.-t

cH

t\l

-H

^H

—*

o o

_l

i-t

CD

o

o

o

Q

a

-1

CL

CL

in

X

>

O _l

SZZSZSZZiEZSZ iZ2ZZZZSZZSZSJ£SSZSZSZZZZ£ZZZ^:ZZZiZZZZZZZZZZZ zz

UJUJUJUJUJUJUJUJUIUJUJIJUIUJUJUJUJUIUJUJUJUJIULJUIUJUIUJUJUJUJUJUJUJUJUJUJUJUIUJUJUJUJUJUJUJUIUJUJUJUJLUUJIdUJUJ UIUI

:Ecc:cccccaccccc:Ecca:ccacccCccrccccccccccca:cccc:ccccccccccccccc:ccca^ cccc

II

in

ui

_J

oino/iojioi/ioinoinoino^o^OLnojioino^oinoino/iojioinoinoinoi/iQifio^ioJioinQ^oinoinooo u^invD^f^r^aDio^^c^o^^(\jc\jiOf0^^ioinvO\or^r^coco^^oo^^c\icuK>f0^^inin\0\Or^r^coto^^oc3^^^csjc\j vOvOsOvO vO vDvO^)\OvOr^-r^h-r^i^r- r^i^-f^i^r^r^r-r^r^r^r-r-r^i^- ro toco aD<ocococo d co o to co ai odco cocococoo^o>o^^crc^o^f\j

^HHHHH-l-lrtHHrt-IHrt-IHrt-l-lrtHrt-l-IHHH-l-l-IHHHrtHHHrt-IHHHr<HHHrtrtHHrtHrtrt-lO|NIM

QUJ ZO CC> QUI

inz >in on UJnw _i >- i/i uj"i

n "Il/l O n Ul I-I I- Ul > < K- Z X U! <U.<(/1 ZUII

in m.quico i/i»cl i—ox o ooui" 30iu< p-iz

Ul<i in U1UK • (C h Ul >■ o Ul K- met uj ct I o O _l U. h Z

3QZZI-ZUJ- Zl- ail CC 1-ZOQ.U.I-ZO UI0-CCQ. ull-O

uiui i-HZOw^ic>Lnoo "sou. <ujzi-iu.i/i <z < ui uj < qdcc

tree q<om|Lilz cczzoi-i ui occ o _ixi-i_i ccuj-u. u. i— z i/i 3 s • o u.o

o_ ui< < zhujooz ui<<tzi- x "cccl in ni-o « uiiuiou >-uj 3_i I ujcc —z

<ui i cc-«oo mi-i i/ii-i <o i- zo. uh is aiiii D.I- z oi/i zi/)< <oh coco m

Z>SZ CC Ul I- I- COQ-UI Ol-O Zl- It- <UJUJZ<< UJ>I-CC DUIUJ

i-i i/1U1UI">i/1XO- 0<IUJ~> l/l"Hyz 30. <*<UJI-CCCIl/1>-il0CC<t K>-U1X < l-l/l DO

uii- -Q ->>o<ouji ori->o ujuji->< i-< xx < uuj qquj « l/1_JOt->-ClUJ l/l 3

xo —z io: "ir i-hti- ui cc>-icc i-zo>-ii- >-iS uii-i-ouji-iz<ujx-z m jd zuj 3in i-i

l-UJ —< l-UII-0-l/lUJOCC XwOHO. <OUII-l/1 O _l I- U.OCC SUO Q<OK<CeUJ Z>-" nZ

CL Z CCl/lO mIK HZU OQ"30>-i ZUI C0»Z Uhu Ul >«h MZ03 "I I I-"

U.l/1 — CM <CDUIUJ CLUI * UIUI l-l OUIO OX MI/10»IQUZI ' Ol- 3CCCCC0OI/11- int- <o

OCC l/ll UIOCL>UIUJ l-(MUICL> QUlCCQ-i-i JH l/IZCCQl-OCOnt-— COO OOO. HUI Ul -10.

UIO 1/)M mu < DWh ZOQ.I/13 UKUU X PJ«IZUIZ -QU. _iu.

Z 0. • O — J jj 2 h- iil I- OX XOCCC1- -• CC3 ol Oi-h l-U. iO-OX 3 -I — _l O -QO o J

CC >-*UI IIUJOCC I- l-h hkJL) OUJUIUJ no D. Q UKO <M UhS QU. 'JUUKVI < nX

OCC_JUJ> l-l-CLUJUJini- CLUI II->CL Xii <UJO XO UJU1 UI<>-ii-i1-3i-iZ n_l II

U.OZ 0» 0-Xi-iZU. IOZ 0. O n _l 0.1 zcci/io~cci-zcc— coui>x scca O CC-I 0.

HO I IS U.U.CCU1jS i-iO I— OIl/l i-i Z I— □ < <3 3 JaJ O <UJOi-iZOI-Z <t Ull-M << <|j.

cc <o ooorc xo 3Zccocc xoouix a: zzz id i-kz imidd iuj >tt- >o ceo

<inin<\l _l U.U1- CLUI ZOU.U.UI SmumI- OZ hh<K1DIiI iI/IZILUI/KZ «U I- CC IB

_IU1ZXQUJ Zl- HID- O i-iCC CL I-ClU.3 OO X U«Ii15"Zm1J I/IO mZmUmIlO OX O —

OI-O—UICO 3I>- Z < rsJU.UJ>- IDOl/lnZ Ul • <» i-iOQOIIUIOQNOICC "0- ZO UIUI

Q.<|-| Z iniS_IQ+<CCLL < 1/1-JQ <U)ITOh ISZO ZUJCCUIUIKi-i D IiKhJmI- i-i< oin

Zh»HO HZU UICC -i-iZuJ -I3UION Oul OUII-IOI-CCCLZ OC0 1^ ' D- UJ >-• CC 3UI <

UJHU U.UJ UJUJOi-iUI->3 UOJOh U.OCLS< UJiiCC UJZ=» CD UU <<I 1/ICCi-iZO ZI/10.UI O UJC0

xouiuiujz xx u ujcci/i rzi u. cc xkui x<cci>-iauj_iz <«tcc<uji-iuj _i _jo x

►-CC3 Qi-i y- Q 11 II > Ul t-MOQ>-< <0. • • • h-<l- l-l-UJOl/lin33 • O 30. oz_j _ji- i-<

OOII U. UIUJO Oinul OOUJQ O-hoj OZ 1/11/1i-i>-icCOIDUJQ-U1UJI/1CCO UJl/l<< O I

u_occ i/iuj i/ixino<\icocoi in<_iino in u. II II II i/ioui i/i>-icoi>ujcczi<cciujoccoi_iiz u_cc i/i<

X- 1l/Q-J<3 ►-• H- 3SX40I— >-«U.03Z -• O ~) "> ~> >-«_l<J mq JJ-HL4I-J <kOilH-K4K/I O -»3

S UJ"

g c*i o I cc

I -i3_IZ t-0.0

&

Q.

5 zzszzzsszzzzzszzzzzsszszzzszzszzzzzzzzzzzzzzzzzzzzzzzzzzzzs

g UJlJULJUJUtjJlJlJlJUlJlULdliJULiJliJLiJliJlJULJUJlLlUUlJLUUJliJlilUUlJUJLiJljJUliJUULJLJLiJIiJliJliJliJLilLJULdLllLjlLjliJUJbJ

ft ccccccccccczccccccccccccccccccccccccccccccccccccccccccccccccccccccccac^ccccccccccaccccccccccc&ccccccccc^

•s

c o u

-S olAoiAoiAoiootflouioiAoinotfiouioinomoiAouioiJioijiotfioiiioiriaifloiniOhtooiftoinoiAOinoiAQiAoifl £• N^-lDcO(^c^ooH-f(Ml\lrOlnd■d■lnln\D^DN^•cO(C(^c^oo-^H(M(\)lOlOd■^ullnlO^OhN^^^lacoc^(^ooHH{^]f^JJOKld■J

■a io>oioi^K)io^^^^^^tftf^^^^^4'^d'^^^^inuiininininu)i/)ininu>tniAiAinininininioiAininvO>o<>u>\0«o^44>4

104 lune 1979 © BYTE Publications Inc

Of course our Floppys aren't cheap.

Quality never is.

It's no use trying to hide the fact: Maxell Floppy Disks give you the finest quality you can buy no matter how much you spend. And more and more of you are agreeing that your data is worth our perfection.

Our floppys work better with your drive.

Naturally, our floppys conform to ISO and IBM specifications. More important, they have also been approved by major OEMs, the people who recommend only those few floppys they are certain will work best with their hardware. So although we obviously don't know which drive system you are using, it makes no difference. Maxell Floppy Disks are so good they actually work better with any drive.

What it all means for you.

Yes, you can pay less for some other floppys. But lost data is a terrible price to pay when quality is what you want. And Maxell Floppy Disks help you profit in the very parameters you use this medium for: storing more data with virtually no down-time.

The level of modulation uniformity in every Maxell floppy is vital to double density recording and readout. It

means no peak shift, complete freedom from dropouts, total absence of particle orientation. Plus longer life, greater overall durability, and significantly less oxide build-up and head abrasion.

So when you have to depend on full data retrieval, a few cents can make a big difference. Depend on Maxell Floppy Disks. They can really save you.

Maxell offers the full range of Floppy Disks from standard 8-inch to 51/4-inch plus Data Cassettes. Dealer inquiries invited.

maxell.

DATA PRODUCTS

The Quality Alternative

Maxell Corporation of America, Data Products Group 60 Oxford Drive, Moonachie. NJ 07074 Tel. (201} 440-8020

Circle 207 on inquiry card.

BYlt lune 1979

105

U U. H- l/l 2

D U O Q O 1-1 • o

Q CC I U Z l/l I/) Z l/»M

U SI- h- I— QrslUJ li. U 2 U.U10 liUh O

ID U CC O Z Z m X l/> Oh- O O I- m OKOl

Zlkl CCS UJ U < _l I— • M <1 • i-i <(- <UJ

Mhh- LlO I- IZ < l/l -22 I- -2U - Z ~3 l/l

02 CC < U MlliU 2 M M O O H hi LJ M M O LJ

Z Ll U U Ll (-• CC CL CC O I— O HQH LU CC Cl "3 CC C CC I

LJO U • ID Oi-i D Z I O < i-i CC I- ~> CC O CC CL <t

CL O 2UJ Ct l/l U 2 I- 2 1- - O <-> O •■ O CC - O 2

U l/l 1/1 U < l/l U_ < X 2 2 m U I— O LJ CC I- Od I— O I— i-i •

□ uihki ecu »o u i- u u u o lu z o ~3 d. • zu z o Z QUI

QUI 3 o 2 U X Z CC ") U O O U U U < CC U

-DCLLU U * 1- 31-00 O Z CL CC U o Z CL > Z Q. I- Oh

uku lu i-2 U- • I- 0.0 ac o<cl > r- o < m o<i/io<

WSO H-O O Z> O r\l LJ l/l X O CL- CLE — m »o CL 2T I- ISh (_)Z

Ll O CC _l Z O \CQI-0 O £ LU (VI I- SO SO i-i

~ O Z U CL ZO S Z m Z O CL UOOU1>OOOOUU O U m CL C3

m ox -• ji < 3D.HUJ < >inox-< uh on o I o < :c

O U _J I- CD Q i-i H JIAirZ i-ivO I-I- ♦ CL I— Ln t- O £0

=> 2 in U UJ h>-3U4 I- _IO l/l O _l Ct -J U O

* JUIh M CC i-iX <-> CO l/l CC -J U C_>0<U-UUCClD<L|-U <Ll ac^>

< > U U Z3 I- LU LU 0. 3 X 1UK HOD. U hOI Hi O _l <

(\J > M M CO o l/l Ll_ K h-ILJOH- CL O l/l CL ♦ O Q<_ICL

< i-i < o>- mm ikz in o < zee i o « z o <sxo<

— U < 3 I- I- U CQ QLUILl CC ID CC CC U Q U CC CC U CC CC I- Cl Z X _l 2 Z S U LU X 2 O LJ O CL LJ l/l O m O XI

N. hliJZ" i-i _3 l/l U I- I- U U D. • UU. IM " D UU.lL U LL Z U CC

CC O O O « _JLJ I < X X Z QIUILL Xi-i i-<x<

— LJ CL CL-i < I- I- I- U I- H- CC U U I- CC D — Hid HCO I- (E M I-_l (\l ISI U Z CL >< ON O 31/1 « CC QCQ <0 << 3 □ O i-iIOLJ l/l * 2 U0:"Uli.lL o a-. 13 U _l I- \ O U _l £ LiJ_l H-O

oo ji^hio >—• cm - lui-i 1/1 _i o o y- i- o sooi-o 1-02 cc z

O f IOO < I-I— O I X XQ O CC C3 < DC O U O Z> T_ < ~ h031< X> CL < LJ<

o J ro S Z < o h- O M I— :£0 0_d2a:*-.H"<l^Ct'*LDOCL —I < r- Ck Q_ :>!—

in m * cc o u a in i- cc 00 in xirmr j in s u cc o h\0 suctn s u ct 20

* < z 0CLO2 1- o Luom in u 00.00 z ll o >o o x o llo oxoa 010 O'juu

ljz z z> _i < z <oz how ccoz+U-Cl lj mi— l_> h- ll * m z z i_> >- ll ui-ll u cc — —

zxu lu 2 xz LU » l/) Z

U ~ I I- X ~ I ZU I- U ID X Q O w

X O h- M I— U U X t_> l_> vO X — I- LJ Ol/I

I- — o I mh ^ 1- *

Z-l-i —ssss iesssss:!- +esssss;iio ss SSS* SS S£S* sss ss*»

mCL^MCJLJLULULUNI LULULJUULU I ULULULJLULU ^+UU LU LU UJ LULUMLULULU LJLULUMLULJ

sm lo— i^zctaccece voccctcccectce Nioacctcccececervji ccctNccccctLLOccct^ctctctLLoactctLLtxce-i-i

^ ll 11^; M(j ^ ^:o o o cece

II II II V A A II II A II O A II O II

V II II II II II A II II A II V 1^ V l~- II II

ZH-1 —1 —1 M M MMZ

QWftQuuuu Ju Moou ouo "3 cto -) cco cc x >- or

Z) 1-1-3

l-Hhl- I- I- Kl- l-l- I- I- I- K t- I— Q

LL UJ LU aJ ' J Ll Ll IU U_ LU LL LU Ll UJ 1U Ll LU LL LJ O LL UJ O Lj U U LU Z

-«_IC£_I_|!-«1-1_| H-._| M_|l-I_| _|i-i_l M JU 1-1 JU _l _I_ICCIJ

>r> 0000000000000000000000000000000000000000000000000000000000 CT»ooo(Mcj-^ocooc\j^fvDcooc\jj-vr)cooo.omoinoLnoLnoinooooooinoinoLnoooc\jd-. iO<do(\j j^ooooHiyKi lVlOJlnJ^lnl/^l^^o>i)l0^o^o^^^^^•tn(^oO'^r4(\l(\J'OfOJ^JlJ)Na)(^oo-^r^(\J(\)lOd■l^lJ^l/lJllJ^\0\D\D^DN(flc^oooo ^^^^^^^jj^^^^^^^^^^^inininininininininininininLninsOvOvDvj3voo^vX)OsD^Ovj3^o^Ovi3vi)\D>j3vD\Of^f^

2 u cc • o cc

t-l i— o o in LJ LJ

2-l-2lLl-in \- Oi Q I- <_> LU

ZO <£lfl OOULJ OO OJ- LUULU <ZI

02 lljMH.iZJIX< 21 Z IIU U<l

<t IQ -H-hllJI- O I— I— UJ CCI

2 I— <LUi-icCt— <LHO l/)l— I— LDl/lO

O M — CCUCL<>-iQ<IC3i-i|— 1-1 Q22 m(

i-iZCL 2LUQ.ZI- O ZULU U) C 1/1 IU

i-ui umuccco<i/iu UO UtD <U<J« mml/II

<X OMCCOCCIUID U 30 OZI

UI-2 ZOU— UO-Ih- 2 2- -l-LOU UCCI-CC

Ou UOLl_I~LD U- Ui-i QUMLO U<ZDO

-I-U CCOLLOUO>-Z)l/1 CCO I a. B Kl - Z HhZ

Q3 U'i-icC—IOlOU U «ClU'H<ljOUi-i

UUI- LLOa>-i-l>-UCtU LlLl II LL U '<U J hjllh

Iccu Ll _lu_l>Xu LlO LlO UUEO - i/im I

I— U CO MZUh- ZHh O M l-l Z CCl/lt-li-iU_IU

I- OMluhOh ll Q2 OZ <»UCLOOl/JIOl/l

LL2U I K < < J J H < < l-J>XoyiMCC

OU3 -ll-XULLUCC —In _|i-i 1/121— O UOI-CC

U_l <M2UCCOQ.Uin <Q <Q Mi-i2*CCa22U

u< zsu 19 i/iliH t z< 2< oh:im <cuoi

Ql/1> mX'jJlJUCNJJImcC i-i X <1_>U^ JIUlL

3i-i Ol/ll-CQU3CC5:d-2Q QO UUmC0CLOXiI-<*

i-i- _3HHi_jooz)m 3mm cccox— usoo

i-iq.< I- .OhoiritM kh i-hw < Jh l/l I-h.ZI-<

e><i m 1— >_illui-i-io i-ioj uzoz)xcl<2_i

O 2

<

_J

t—1

<

Q

-^

<

'—i

a:

Q

13

in

1

M

i—i

o

LD O

2

o

O

•

_J

o

u

2

T

t—t

O

i—

X

m

o

1

o

o

U.

>—1

*

— ro

1—1

3

0. d

IPHH k M DH ISO LDO U_l2t-it_>CL<<»-iLL

u 2_IQ_QI/)<ICCL/1SQ20 ZOZ XOOO SSS-O

-JUU O UU<l-DZO« O'U l-CCCL*0 UCLU

XM o -ILLCCCCI/lUl/lZZO-JO _IOI MZ UU1I/1 J J

Ul-i-i o o OOU4>>-iUU I- UOOUCM Ii-i<o<

I_l O OU— OU<L/12—• U2 U2 K HI < UIHIUZU

l-X< ro S IliJ H IIAUIUIll IhO O Xi-i o 3hl-h I I- l/l n i/i

•j 5: » #l— 301/11 ui-Ziil h in a o i— xi— o o lv*=i i-z ijr

Oh-iCCt-12 _I2U20<1-1U I— OO O I— M o EUUD+ <CCU ILL

ZXOCL LJ Z U-<LL03<UI-_IX Ll m a- — rO in L "A Q.J ~1 0CC02 LlIOU_<Ll

<-3=2+X UM>OOl/l<_>2L/) — (-"-13CL3- i-i5 J- l_)LD_l< Ml-lLOUO

t- vO X >0 ~2 2 — 12 M

O 2^ I- ^ <H UI2 U MU Z — ~ h.q_^

_J _l X IU Q O X C0<tXQUQQ CLrvJ

K1+ I — I- < I 'I- I- I — — — * Q

zzssiis: io ssiszszszss^-Oi?: -hzi/i xzii i i-zin sszzz — s: 2: z s: 2 s

UUUU I—* ^tHUUUUUUUUUUCOUU l/l —lO UU mO UUUUi-iMCJUUUUUU

cc^cea:_i _io _iccccot:ccccccq:cccccc<cC3:i-co l/io <iooccccmnm o>oro i/ioocccccccci/i<zcccccccccccc

lion <S N2<:o iiiNOSiiE O Ll

II A 11 * V H II A II II II O — f\J II II O II II

in 11 a 11 a 11 in 1/1 11 a 11 j- 11 11 a in 11

W .H M —1 M MM—1C\J CO MAJ MC\J

_l_l_IO_l_l CO CQOQQOUCLOO <QOOOQUU3QQO ClQQ

I— I- I- I—

l-l- I- I- I— I—1—1— I— I— I— t— t— I— I— hhl

ULlUOLlU U LlULlUUULlUO LlULlUOUoJLlUUO uuu

_|M_|OM_| _l H JHJ J JH JIS MJMJ15JJHJJ15 | I |

00000000000000000 cDooooud-inomomoinoinh-cooooooooomomoinoinomoLnomoino oooinooQoooomoinoinoinomooooM—*ojc\iiOf03-j-4td-in\or-coo^cDinoo»HMc\jc\jfOroinm\Ovj3r-r-cococri

rtiinjljjMOtroHiMmioroiiLn^Jl^ooooQQoooooaooooooo^^ftiftiojiMiMftiftinjiiKMWftKM^nimiM

<M(>jrvlcgc^c\J(\ICvJ>O^'Oi0rOl0l0r0r0'OlOl0******^**^**J*c<-*J**^****d-J'**d-*a-a-3'ja-d-**

106 lune 1979 © BYTE Publications Inc

THE SEARCH FOR A SMALL COMPUTER SYSTEM

STARTS HERE

It's the 3rd Annual

National Small Computer Show,

presenting the state-of-the-art showcase for microand mini-systems technology and software. Here you can survey virtually all makes and models of small computers, whether your interest runs to a no-nonsense micro priced in the hundreds of dollars or a powerful mini costing $20,000 or more. They're all here.

The world of small computers is quite large, extending to business and professional offices, scientific research, medicine and bionics, education, the home and hobbyist, therapeutic applications for the handicapped, design and engineering.

A full selection of lectures is presented to provide a grasp of small systems technology, so that you know what to consider when buying a computer or word processor. It's the first step in discovering what a system can really do for you!

NSCS lectures include sessions on system selection, computer languages, word processing functions, artificial intelligence, software applications, and a dozen more topics for people of all interests.

Plan now to attend. There will be about 30,000 square feet of exhibits, and more than 40 hours of lectures from which to choose. Registration fee is only $5.00 per day, including lectures.

Write for our informational brochure from National Small Computer Show, 110 Charlotte Place, Englewood Cliffs, N.J. 07632.

THIRD ANNUAL NATIONAL SMALL COMPUTER SHOW, New York Coliseum, August 23-26, 1979.

Circle 258 on inquiry card.

BYTE lune 1979

107

VIEHEO FROM INFINITY. OVER 32M8S 105i56E. FACING 0 DEG AZIMUTH PERSPECTIVE PROJECTION PREPRREO ST MILLIRX 0. JOHNSTON

Figure 1: A view of the Earth as seen from a point over the southeastern Indian Ocean.

Text continued from page 102: is called. It returns the rectangular (X,Y) map coordinates (in inches or centimeters) corresponding to that point for the selected projection. The units (inches or centimeters) in which the computerist initially specifies the radius of the finished map automatically determine the units of the map coordinates. All constants, such as n and 0, have been given variable names because most BASIC interpreters can operate faster on variables than on numeric constants.

Remember that all angular parameters are in radians. The program uses spherical trigonometry to arrive at the solution, and some tests have been included to prevent the trigonometric functions from "blowing up" when the map center and the distant point both lie on the same meridian.

The trigonometric functions can also blow up if you attempt to generate an azimuthal equidistant map centered on either of the two poles (ie: a polar equidistant map). This can be avoided by simply specifying the latitude of the map center as slightly less than 90° (perhaps 89.99°).

The exact maximum value that can be used will depend upon the precision of your trigonometric routines, but, in any case, you won't be able to see the difference on the finished maps. Incidentally, the longitude that you specify for this kind of map will determine its orientation. This capability was not available with the simplified polar equidistant map program presented in part 1.

For all other types of maps, an option (I) has been included in the program to permit the user to specify the azimuth that the observer in space is facing (ie: to specify the orientation of the map). While this option has little value for a printed map (which the user can turn in any direction), it comes in handy on a video display which is simulating the view from a window of a maneuvering spacecraft.

Within the limits of resolution of any map that you produce, you can assume, for perspective projections, that if the observer is beyond 10,000,000 km above the Earth, the distance is infinite. If you wish to generate an orthographic map, simply assume a height of 10,000,000 km for the observer, and there will be no detectable difference between the resulting map and a truly orthographic map.

Grid lines generally enhance the appearance of perspective maps. These can be included by generating the geographic coordinates within loops in your main (driver) program, then calling the subroutine to obtain the map coordinates. Keep the number of generated points down to the minimum required to obtain the desired resolution, as it is not difficult to expend more processor time creating the grid than creating the map.

Having covered the major operational features of the program (additional details are contained in the remarks within the listing), let us now look at some specific examples. All of the maps illustrated here were generated using the subroutine given in listing 1. Each map was created for a specific purpose and should give you some ideas as to the applications of this program to your own system.

Perspective Maps

Figure 1 provides a good example of what this program can do. Here,the point of projection has been placed at infinity, over a point in the southeastern Indian Ocean. This gives us an excellent view of Australasia, as well as Antarctica. You can create a similar view of any part of the Earth by simply providing the coordinates of the central point. Orthographic perspective

108

June 1979 © BYTE Publications Inc

SYNCHRO-SOUND

The ORIGINAL Computer People Who KNOW computers ind offer EVERYTHING you need in Small Computer Systems

Compare PRICE, QUALITY, DELIVERY, SERVICE and ou'll see why you don't have to look anyplace else!

SB**!8

SOFTWARE

f Here are nine packages tha enable you to make full use the potential in your small computer system:

ACCOUNTS RECEIVABLE

INVENTORY

ORDER ENTRY

WORD PROCESSING

PAYROLL

REAL ESTATE MGT

MEDICAL-DENTAL

MAILING PROGRAM

SHIPPING & RECEIVING

and MORE!

Microsoft Basic, Fortran, Cobol

available

for prices

MORE SPECIALS

Decwriterll $1595.00

Qume Sprint 5/45

RO 2795.00

Persci 277 Dble

Density 1395.00

lmsaiPCS80/15 599.00

Anadex DP 8000

Printer 995.00

44 Column Printer ..

Livermore Accoustic

Coupler 249.00

Javelin 9" Monitor 159.95

Centronics

Micro P-1 Printer .

«JU Our Prices are too low to advertise. Please call or write We now carry a full line of

We have a full staff of Programmers and Computer Consultants to design, configure and deliver a Turnkey Computer System to meet your specific requirements.

SYNCHRO-SOUND

The Computer People

193-25 Jamaica Avenue, Jamaica, New York 11423

212/468-7067 TWX 710-582-5886

ENTERPRISES, INC.

Hours 9-4 Daily and Saturday

Visit our new showroom Working units on display

BankAmericard Master Charge

Circle 355 on inquiry card.

BYTE Iune1979

ill /MS II \1'\ \ \ \ \*f\

fi 1 1 <y\ // / -*i«\. \ \ \ \ \h\

^-^»~

~ .5?

"=■'••.. 1

\

V

VIEWED FROM 3S862 KM OVER OiOON 7S:O0W. FACING 0 OEG RZIMUTH

PERSPECTIVE PROJECTION PREPRREO «Y WILLIAM 0. JOHNSTON

VIEWED FROM 35862 KM OVER OiOON 135:0OH. FACING 0 DEG RZIMUTH PERSPECTIVE PROJECTION PREPARED ST HILUflH 0. JOHNSTON

Figure 2: The Earth as seen by a geosynchronous weather satellite. Figure 2a is a view from GOES-2 and figure 2b is from GOES-3. Compare these maps to the weather photographs shown on evening television newscasts.

projections, such as this one, find widespread use in scientific applications and are also quite attractive when used in games.

Anyone who watches television weather reports regularly should recognize the maps in figures 2a and 2b. These are the views seen by the two primary United States geosynchronous weather satellites, GOES-2 and GOES-3. (Note that these are not orthographic projections; the field of view extends only about 80° from the central point). Sequences of pictures from these satellites are frequently made into film loops and shown as a sort of jerky motion picture. Although the photographs you see on television usually have outline maps drawn on them, the original pictures transmitted by the satellites do not.

A number of enterprising amateur radio operators and experimenters around the world have built equipment to receive the signals directly from the satellites and print out up-to-the-minute weather pictures in their own homes. Through the use of the perspective projection program, one can generate map overlays in the same scale as the received pictures. This is particularly easy if the weather pictures are being displayed on a video screen where the map can be overlaid electronically.

The same principle is applicable to pictures received from some of the lower altitude polar orbiting weather satellites. Many of the early US APT (automatic picture transmission) satellites, such as those in the ESSA series, used a "snapshot" technique to record the images. The satellite would snap a photograph and transmit it in its entirety before snapping another one. By entering into the computer the altitude of the satellite and the coordinates of its subpoint, one could generate a map overlay to fit the photograph snapped by the satellite at that particular point.

When the next picture was snapped a few minutes later, the satellite would have traveled several hundred miles, but by entering the new coordinates a correct map overlay would be created for each picture. In actual practice, a tracking subroutine is usually incorporated to compute the coordinates of the satellite subpoint. (As exotic as this sounds, it requires only a few simple calculations.)

110

June 1979 © BYTE Publications In

32K Board Pictured Above

New RAM Prices.

From The Dynamic Memory Company.

16K—$249 48K—$500

32K—$375 64K—$625

Ever since we started making these memory boards over a year ago we have continued to lower our prices to stay competitive. Due to your confidence in us, we are again able to lower our prices! Our reliability has been proven by months of superior performance in thousands of installations. Our low-power boards are being used by quality-minded systems manufacturers across the country and overseas.

4MHz boards now available.

After receiving hundreds of requests, our engineering staff has come up with a new version of our board which runs on 4MHz Z-80 systems. It wasn't easy to come up with a high speed board which would operate as reliably as our 450ns version, but after months of careful design and testing, we did it. The price of the 250ns board is $10 per 16K additional. Circle 45 on inquiry card.

All of our features remain.

Our boards didn't become great sellers only because of the price. We still offer you our deselect feature which allows our RAM to overlap with any fixed memory areas in your system. Also, the RAM area of our board is fully socketed so that you can expand the board yourself.

Other standard features include: plug selectable addressing on 16K boundaries (shorting plugs are placed over wire-wrap pins to address the board — located on the top of the board for easy changes), S-100 and Z-80 compatability and totally invisible refresh — no wait states.

Fully assembled, tested, and guaranteed.

All of our boards go through a rigorous testing procedure. They are then placed on burn-in running a series of memory tests to detect any other possible faults. After you receive the board, you are backed by us with a one year warrantee.

Low power consumption keeps your computer from "losing its cool."

The total power consumption of our 16K board is typically less than 4 watts ( + 8V @ 300ma, +1 6V @ 1 50ma and -1 6V @ 20ma). Boards with additional memory typically increase power consumption only 1 watt per 16K!

Standard S-100 Interface.

Our board is designed to interface with any standard S-100 CPU. All of the timing of the board is independent of the processor chip, and the board is set up for different processors by changing two plugs on the board.

Contact your local dealer.

To find out more about our RAM boards, contact your local dealer. If he is unable to help you, call or write us for a fast response. Central Data Corporation, 1 207 North Hagan Street, Champaign, IL 61820. (217) 359-8010

Central Data

BYTE |une 1979

111

VIEWED FROM 1453 KM OVER 33:45N 84:24H. FPCING 0 DEC AZIMUTH PERSPECTIVE PROJECTION PREPARED BY HILLIflH D. JOHNSTON

VIEWED FROM 1453 KM OVER 33:45N 84i24W. FRCING 0 DEG RZIMUTH MODIFIED PERSPECTIVE PROJECTION PREPARED BY HILLIRN 0- JOHNSTON

Figure 3: Here the Earth is shown exactly as it appears to the Oscar 7 amateur radio communications satellite as it passes over A tlanta GA. Compare this map to that in figure 4.

The newer US polar orbiting weather satellites, such as TIROS-N, use a slightly different transmission system which greatly improves the picture quality, the ease of reception, and the amount of data received. It makes the generation of map overlays more difficult, however, and the program presented here cannot be used. (Once you are familiar with the transmission system, it is not difficult to develop a program to do the job.) There are a few satellites, including some of the Soviet Meteor series spacecraft, that still use the older system, but their picture quality is relatively poor and hardly worth the effort to obtain them.

Figure 3 represents the scene below the Oscar 7 amateur radio communications relay satellite as it passes over Atlanta GA. Anyone engaged in satellite communications would do well to have available the capability for such a display. Updated in real time, it provides a continuous panorama of the area visible from the satellite and, hence, the area with which communications through the satellite are possible at any particular time. Any two or more stations can talk to one another as long as they are located within the mapped area. As the satellite moves in its orbit, the mapped area changes, but as long as your own location is within the map you can talk to all other points on the map.

Modified Perspective Maps

We have also come upon the ideal occasion to make use of the modified perspective projection. Figure 4 illustrates the same area as that of figure 3, but the modified projection has been used to reduce some of the distortion inherent in the pure perspective version. Note the differences between the figures, especially in the west coast areas of the US, the northern coast of South America, and the upper reaches

Figure 4: This is the same view as that in figure 3, but here we have used the modified perspective projection to reduce some of the distortion. Compare the west coast of the United States, the northern coast of South America, and the upper reaches of Hudson Bay. Remember that both maps cover the same area.

112

June 1979 © BYTE Publications Inc

•**?

«H

A DEVELOPMENT TOOL FOR INTERACTIVE SOFTWARE

CIS COBOL is more than an efficient COBOL Compiler, it is a complete software development tool for business and office automation systems.

It enables the programmer to write applications in a powerful subset of ANSI 74 standard COBOL and to take advantage of CIS COBOL language extensions such as interactive screen handling which are designed to fully exploit the special features of the microcomputer environment. Version 3 of CIS COBOL has many language additions but the compiler still requires only 20K bytes of memory and runs on 8080 and Z80 based microcomputers with 32K to 64K under the popular CP/M* operating system.

Circle 221 on inquiry card.

CIS COBOL is designed to support interactive applications. Areas oi a CRT screen are mapped onto record descriptions in your CIS COBOL program and data is transferred using the ACCEPT and DISPLAY verbs providing full cursor manipulation and data entry facilities to the CRT operator. CIS COBOL language extensions enable the screen position at which the transfer is to start to be specified, protected fields to be defined and the CURSOR position to be detected and set by the program.

CIS COBOL is able to exploit features of the microcomputer. Language extensions in CIS COBOL enable programs to define file names at run time, to read and write text files of variable record length and to access free memory in varying machine configurations. CIS COBOL supports run time subroutines written in assembler and accessed from COBOL by means of the CALL USING verb. Built in subroutines implement facilities to CHAIN programs together, PEEK and POKE memory locations outside your COBOL program and GET and PUT data to special peripheral devices via your microcomputer's I/O ports.

CIS COBOL is orientated toward rapid program development. The

compiler accepts input of your source program direct from keyboard as well as from source and library files on disk and generates an object file which the CIS COBOL run time system immediately loads and executes or optionally links and saves as a self loading program. The run time system has built-in indexed and relative I/O packages and contains an interactive debug package to help find errors quickly by stepping through the execution of your CIS COBOL program.

CIS COBOL is supported by intelligent utility programs. When you take delivery of CIS COBOL Version 3 on 8 inch or 5 inch diskette you will receive in addition to the compiler and run time system the CONFIG program which enables you to configure CIS COBOL run time systems to drive many different types of "dumb" CRT terminal such as Lear Siegler ADM3A and Hazeltine 1500, plus the time saving FORMS program which allows you to create and edit screen images of business forms and then automatically generate the corresponding COBOL record descriptions to COPY into your CIS COBOL program.

MICRO FOCUS

MICRO FOCUS LTD. 58 Acacia Rd, St. Johns Wood, London NW8 6AG Telephone: 01-722 8843 Telex: 28536 MICROF G 'CP/M is a trademark of Digital Research

BYTE lune 1979 113

VIEWED FROM 250 KM OVER 42iS3N 71«S7H. FBCINO 0 DEG AZIMUTH PERSPECTIVE PROJECTION MEPRREO if UILL 1HH 0. JOHNSTON

VIEWED FROM 500 KM OVER 42i53N 71iS7W, FRCINO 0 DEO RZIMUTH PERSPECTIVE PROJECTION PREPflREO IV MILLION 0- JOHNSTON

Figure 5: This is a sequence of views of the Earth as one would see it out the window of a spacecraft taking off from Peterborough NH. The final two views are orthographic, with the last of these illustrating the view after the spacecraft has made a 45' turn to the right. (Figures 5c, 5d, 5e and 5f are shown on pages 118 and 119.)

of Hudson Bay. While figure 3 reproduces the scene as it appears visually, figure 4 shows more clearly all of the areas with which communications can be established when the satellite is at the given point.

Incidentally, all of the Oscar satellites are at altitudes comparable to those of the various polar orbiting weather satellites. Indeed, they are launched on the same rockets. The Oscars take the place of otherwise useless ballast and are ejected a few minutes before or after the weather birds. Consequently, the pictures transmitted from this type of weather satellite, especially the earlier versions, are views similar to that shown in figure 3.

Maps for Space Games

Let us now take a look at some maps that will be of special interest to space game fans. Figures 5a through 5f comprise a sequence of views of the Earth as seen from the window of a spacecraft taking off from Peterborough NH (where BYTE Publications is located). The particular altitudes used in generating these figures were chosen arbitrarily, but they could just as well be inputfrom the game program itself. A fairly large altitude change is required to get a significant change of scenery (assuming no lateral movement). Therefore, it is not necessary to update the display very often if the spacecraft is ascending or descending vertically. Whenever the craft is moving laterally, however, you will want to change the display more often.

The final two views in the sequence of figure 5 are orthographic; that is, the point of projection is at infinity. Although this is not truly realistic in terms of what space travelers see as they recede from the Earth, it is typical of the display that the ship's navigator might have on his video console, regardless of altitude. (Of course, the navigator would want to have a map display of an area considerably larger than what could be seen out the window.)

The last view of the sequence shows the

orientation after the spacecraft has made a

45° turn to the right (assuming the observer

Text continued on page 122

114

June 1979 © BYTE Publications Inc

COmPUTER SOFWfiRE

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

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

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

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

• Comprehensive - as an example our PSD program not only computes Power Spectral Densities but also includes FFT'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; thafs right, just look It up and make the substitution for your particular version. If you would like to convert your favorite program into Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs. Over 85% of our programs In the first five volumes will execute in most 8K Basic's with 16K of free user RAM. If you only have 4K Basic, because of its lack of string functions only about 60% of our programs in Volumes I through V would be useable, however they should execute In only 8K of user RAM. For those that have specific needs, we can tailor any of our programs for you or we can write one to fit your specific needs.

Vol.

Vol. II

Vol. Ill

Business &

Games &

Binomial

Beam

Billing

Personal

Pictures

Chl-Sq.

Conv

Inventory

Bookkeeping

Coed

Filter

Payroll

Programs

Confidence 1

Fit

Risk

Astronaut

Confidence 2

Integration 1

Schedule 2

Building

Bagel Bio Cycle

Correlations Curve

Integration 2

Shipping

Compound

Cannons

Differences

Lola

Switch

Cyclic

Checkers

Dual Plot

Decision 1

Craps

Exp-Dlsfrl

Max. Mln.

Decision 2

Depreciation

Efficient

Dogfight

Gofl

Judy

Least Squares

Paired

Plot

Navaid Optical

Flow

Line Up

Plofpts

PSD

Installment

Pony

Polynomial Fit

Randl

Interest

Roulette

Regression

StaTl

Investments

Sky Diver

Mortgage Optimize

Tank Teach Me

Stat 2 T-Dlstrlbutlon

Sphere Wan Stars

Order Pert Tree Rate Return 1 Return 2

Pictures A. Newman J.EK. Linus

Unpaired Variance 1 Variance 2 XY

Track Triangle Variable Vector

Schedule 1

Ms. Santa

APPENDIX A

Vol. IV

Bingo

Bonds

Bull

Enterprise

Football

Funds!

Funds 2

Go-Moku

Jack

Life

Loans

Mazes

Poker

Popul

Profits

Qublc

Rates

Retire

Savings

SBA

Tlc-Tac-Toe

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

Vol.V

Andy Cap

Baseball

Compare

ConfldtO

Descrip

Differ

Engine

Fourier

Horse

Integers

Logic

Playboy

Primes

Probal

Quadrac

Red Baron

Regression 2

Road Runner

Roulette

Santa

Stat 10

Staff!

Steel

Top

Vary

Xmas

APPENDIX B

Vol. VI Ledger

Vol. VII Chess

Maintains Company accounts and generates financial reports. Includes routines for Pyri. Inv. Dept; A/R, A/R

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

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

Wdproc Wordprocesslng for lawyers, publishers, writers, etc. Wtte, store, and change from rough draft to Itnal copy in a variety of formats.

Utility Disk utility program with memory testing.

Vol. VIII

1040-Tax Taxpayers return, Itemized deductions or standard

Balance Reconciles bank statements

Checkbook Balances your checkbook

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

Deprec 2 Computes depreciation, 4 methods, any time period

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. I - $24.95 Bookkeeping Games Pictures

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

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

Vol. IV-$9.95 General Purpose

Vol.V-$9.95 Experimenter's Program

Vol. VI - $49.95 Mini-Ledger

Vol. VII - $39.95

Professional

Programs

Vol. VIII - $19.95

Homeowner's

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Americard accepted.

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

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

© SCIENTIFIC RESEARCH

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

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

BYTL lune l<J7'l

115

For your SWTP 6800 Computer...

PERCOM's FLOPPY DISK SYSTEM

the

(—\

1 b A

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

fully assembled and tested shipping paid

PERCOM DATA COMPANY, INC.

Dept. B 211 N. Kirby Garland, TX 75042 (214)272-3421

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

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

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

RAM at $A000. Diskette includes numerous utilities $99.95

MINIDOS-PLUSX'"An easy-to-use DOS for the small computing system. Supports up to 31 named files. Available on ROM or diskette complete with source listing $39.95

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

prepared using a text editor described below $49.95

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

disk CHAINing $17.95

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

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

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

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

diskette $29.95

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

assembly $79.95

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

assembler $49.95

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

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

source document. User defines account numbers $199.95

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

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

tm trademark of PERCOM Data Company. Inc.

Ordering information

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

PERCOM 'peripherals for personal computing'

J

116

Circle 301 on inquiry card.

Low Cost Add-On Storage for Your TRS-80

In the Size You Want.

When you're ready for add-on disk storage, we're ready for you. Ready with six mini-disk storage systems — 102K bytes to 591K bytes of

additional on-line storage for your TRS-80*.

• Choose either 40-track TFD-100™ drives or 77-track TFD-200™ drives.

• One-, two- and three-drive systems immediately available.

• Systems include Percom PATCH PAK #1™, on disk, at no extra charge. PATCH PAK #1™de-glitches and upgrades TRSDOS for 40- and 77-track operation.

• TFD-100™ drives accommodate "flippy disks." Store 205K bytes per mini-disk.

• Low prices. A single-drive TFD-100™ costs just $399. Price includes PATCH PAK #1™ disk.

• Enclosures are finished in systemcompatible "Tandy-silver" enamel.

Whether you need a single, 40track TFD-100™ add-on or a three-drive add-on with 77-track TFD-200™s, you get more data storage for less money from Percom.

Our TFD-100™ drive, for example, lets you store 102.4K bytes of data on one side of a disk — compared to 80K bytes on a TRS-80* mini-disk drive — and 102.4K bytes on the other side, too. Something you can't do with a TRS-80* drive. That's almost 205K bytes per mini-disk.

And the TFD-200™ drives provide 197K bytes of on-line storage per drive

— 197K, 394K and 591K bytes for one-, two and three-drive systems.

PATCH PAK #1™, our upgrade program for your TRSDOS*, not only extends TRSDOS* to accommodate 40and 77-track drives, it enhances TRSDOS* in other ways as well. PATCH PAK #1 ™ is supplied with each drive system at no additional charge.

The reason you get more for less from Percom is simple. Peripherals are not a sideline at Percom. Selling disk systems and other peripherals is our main business — the reason you get more engineering, more reliability and more back up support for less money.

In the Product Development Queue ... a printer interface for using your TRS-80* with any serial printer, and ... thef/ecfr/'c Crayon™ to map your computer memory onto your color TV screen — for games, animated shows, business displays, graphs, etc. Coming PDQ!

™ TFD-100. TFD-200. PATCH PAK and Electric Crayon are trademarks of PERCOM DATA COMPANY.

•TRS-80 and TRSDOS are trademarks ol Tandy Corporation and Radio Shack which have no relationship to PERCOM DATA COMPANY

8

PERCOM DATA COMPANY, DEPT. B • 211 N. KIRBY • GARLAND, TX.

To order add-on mini-disk storage for your TRS-80", or request additional literature, call Percom's toll-free number: 1-800-527-1592. For detailed Technical information call (214) 272-3421.

Orders may be paid by check or money order, or charged to Visa or Master Charge credit accounts. Texas residents must add 5% sales tax.

Percom 'peripherals for personal computing'

Circle 301 on inquiry card.

Ii\ II liini' 1'I7')

117

Circle 83 on inquiry card.

*P.E.T.*Food*

DflV

C

AMOUNT M

:th of pbv

DESCRIPTION

1

ft

3.33

CASH

PENNZOIL

2

z

35.98

MCHS

CRITTERS

3

c

288.11

B OF ft

WOOL SUIT

4

z

1.29

CftSH

TOOTHBRUSH

5

E

9.95

CHKH181

BOOK

6

F

£8.47

CASH

2 WEEK'S FOOD

7

6

13.44

MCHS

SIFT FOR WIFE

8

B

316

CHKttlBl

MORTSftSE

9

I

2.75

CftSH

PflV FOR 1 HOUR

IB

Z

5.81

CASH

SUIT CLEANED

To

90

on, press any key

Household Finance Pant 1

Vou spent the following amounts in each category for the months of:JflNUftRV FEBRU ARV

CATEGORY

AMOUNT

CATEGORY

AMOUNT

AUTO

19.46

INCOME

2.75

1RTGE

326.73

TAXES

a

:lothes

448.61

MEDICAL

218

tNTRTAIN

• 21.69

INSUR

281.55

:duc

342.96

SAVINGS

8

"OOD

229.78

UTIL

36.2;

GIFTS

13.44

VACATION

1823.41

HOUSE

533

MISC

78. i:

ft***************************************

Total amount spent was 4350.99

Total income was 2.75

Do you want a spending profile for this penod?(V or N)

Household Finance Part 2

Part 1 inputs, lists, adds, updates, changes, and deletes items. Writes data to a cassette tape.

Part E? reads data tape; gives single item, single month and year-to-date sums.

Both parts S15.DO

»Also Available « SPACE WAR.sio.oo Household Utility 1

(3 Programs] ... $12.00

Dual Joystick Interface 545.00

SEAWOLF. ..S10.00

BREAKOUT, .si 0.00 LIFE sao.oo

ORDERS: Send check, money order, or VISA/Mastercharge (include expiration date) and add $1.50 shipping. Calif, residents add 6% sales tax.

INFORMATION: More information on these and many other currently available programs is available on a free flyer. Write directly to Creative Software.

Creative Software

P.O. BOX 4030, MOUNTAIN VIEW, CA 94040 118 lune 1979 © BYTE Publications Inc

VIEWED FROM 1000 KM OVER 42 i53N 7|t57H. FACING 0 DEC AZIMUTH

PERSPECTIVE PROJECTION PREPHREO Br MRLIRN 0. JOHNSTON

VIEWED FROM 5000 KM OVER 42:53N 7l:57W. FACING 0 DEC AZIMUTH PERSPECTIVE PROJECTION PREPHREO Br NILLIRH D. JOHNSTON

Circle 382 on inquiry card.

VIEWED FROM INFINITY. OVER 42:53N 71:S7H. FACING 0 DEC AZIMUTH

PERSPECTIVE PROJECTION PREPARED «T MULISH 0. JOHNSTON

VIEHED FROM INFINITY. OVER 42i53N 71:57H. FACING 45 DEC RZIMUTH

PERSPECTIVE PROJECTION PREPRREO BT HILLIRH D. JOHNSTON

MORE

BANG

PER

BUCK

The PERKIN-ELMER BANTAM

$799.00

All the Features of the Hazeltine 1400 & LSI ADM-3A Plus

Upper/Lower Case 7 x 10 Char. Matrix White or Black Char. Transparent Mode

Tab Function Backspace Key Shiftlock Key Print Key

Integrated Numeric Pad

vj>4 I .D I per month

Lease-Purchase

$1095.00

TELETYPE MODEL 43 KSR

with RS232 10 or 30 CHAR/SEC

132 COLUMNS UPPER/LOWER CASE

USR-310

Originate

Acoustic

$149.00 Coupler

0-300 Baud Stand Alone

Crystal Controlled RS232

USR-330 Originate Auto-Answer $324.00 Modem FCC Certified for Direct Connection to Phone Lines USR-320 Auto-Answer

Only Modem $299.00

All Units include a 120 day warranty. Optional Maintenance package available.

Any Product may be returned within 10 days for a full refund.

U.S. RDBDTICS, INC.

1035 W. LAKE ST.

CHICAGO, ILL. 6D6D7

Sales (312)733-0497

General Offices (312) 733-0498 Service (312)733-0499

June 1979 © BYTE Publications Inc

119

Aw, cut it out!

forma!

DIGITAL RESEARCH

Software j

with /Manual Manual/ Alone

□ CP/M* FDOS — Diskette Operating System complete with Text Editor, Assembler, Debugger, File Manager and system utilities. Available for wide variety of disk systems including North Star, Helios II, Micropolis, iCOM (all systems) and Altair. Supports computers such as Sorcerer, Horizon, Sol System III, Versatile. Altair 8800, COMPAL-80, DYNABYTE DB8/2, and iCOM Attache. Specify desired configuration $145/$25

□ MAC — 8080 Macro Assembler. Full Intel macro definitions. Pseudo Ops include RPC, IRP, REPT, TITLE, PAGE, and MACLIB. Z-80 library included. Produces Intel absolute hex output plus symbols file for use by SID (see below) $100/S15

□ SID — 8080 symbolic debugger. Full trace, pass count and break-point program testing system with back-trace and histogram utilities. When used with MAC, provides full symbolic display of memory labels and equated values $85/$15

D TEX — Text formatter to create paginated, page-numbered and justified copy from source text files, directable to disk or printer $85/$15

D DESPOOL — Program to permit simultaneous printing of data from disk while user executes another program from the console $50/$1

MICROSOFT

D

□

L

Disk Extended BASIC — New version, ANSI compatible with long variable names, WHILE/WEND, chaining, variable length file records $300 $25

□ FORTRAN-80 — ANSI '66 (except for COMPLEX) plus many extensions. Includes relocatable object compiler, linking loader, library with manager. Also includes MACRO-80 (see below) $400/$25

COBOL-80 — ANSI 74 Pseudo-compiler with relocatable object runtime package. Format same as FORTRAN-80 and MACRO-80 modules. Complete ISAM, interactive ACCEPT/ DISPLAY, COPY, EXTEND S625/S25

□ MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilog mnemonics supported. Relocatable linkable output. Loader, Library Manager and Cross Reference List utilities included

$149/$15

□ MACRO-80 plus FORTRAN subroutine library available. Library includes ABS, SIGN, EXP, DLOG, SORT, DSQRT, ATAN, DATAN etc. etc $219/$15

D EDIT-80 — Very fast random access text editor for text with or without line numbers. Global and intra-line commands supported. File compare utility included $89/$15

XITAN (software requires Z-80 CPU)

□ Disk BASIC — Fast powerful interactive interpreter. PRIVACY password security. Can dynamically open a large number of files simultaneously for random or sequential I/O

$1S9/$20

U Z-TEL — Text editing language. Expression evaluation iteration and conditional branching ability. Registers available for text and commands. Macro command strings can be saved on disk for re-use $69/$20

D ASM Macro Assembler — Mnemonics per Intel with Z-80 extensions. Macro capabilities with absolute Intel hex or relocatable linkable output modules $69/$20

□ LINKER — Link-edits and loads ASM modules .. S69/S20

D Z-BUG debugger — Trace, break-point tester. Supports decimal, octal and hex modes. Dissassembler to ASM mnemonic set. Emulation technique permits full tracing and break-point support through ROM $89/$20

"CP/M is a trade name of Digital Research

Software /

with /Manual Manual/ Alone O TOP Text Output Processor — Creates page-numbered, justified documents from source text files S69/S20

□ Super BASIC — Sub-set of Xitan Disk BASIC with extensive arithmetic and string features but without random access data file support. Available optionally with features to support VDB Xitan video output board S99/S20

□ A3 package includes Z-TEL, TOP, ASM and Super BASIC

$249/$40

□ A3+ package includes Disk BASIC, Z-TEL, TOP, ASM, Z-BUG and LINKER $409/$40

MICROPRO

□ Super Sort I — Sort, merge, extract utility as absolute executable program or linkable module in Microsoft format. Sorts fixed or variable records with data in binary, BCD, Packed Decimal, EBCDIC, ASCII, floating, fixed point, exponential, field justified, etc. etc. Even variable number of fields per record! S250 $25

□ Super Sort II — Above available as absolute program only

S200/S25

□ Super Sort III — As II without SELECT/EXCLUDE

$150/$25

D Word Master Text Editor — In one mode has super-set of CP/M's ED commands including global searching and replacing, forward and backwards in file. In video mode, provides full screen editor for users with serial addressable-cursor terminal S150/S25

D Corresponder — Mail list system, supporting form letter generation with personalized greetings. Reference fields permit sorting and extraction by name, address fields or reference data using Super Sort. Requires CBASIC $95 $25

SOFTWARE SYSTEMS

CBASIC-2 Disk Extended BASIC — Non-interactive BASIC with pseudo-code compiler and runtime interpreter. Supports full file control, chaining, integer and extended precision variables etc. Version 1 users can receive Version 2 and new manual for $45 with return of original diskette. Standard CP/M and TRS-80 CP/M versions available $90/S15

STRUCTURED SYSTEMS GROUP

LJ General Ledger — Interactive and flexible system providing proof and report outputs. Customization of COA created interactively. Multiple branch accounting centers. Extensive checking performed at data entry for proof, COA correctness etc. Journal entries may be batched prior to posting. Closing procedure automatically backs up input files. All reports can be tailored as necessary. Requires CBASIC $899/$20

□ Accounts Receivable — Open item system with output for internal aged reports and customer-oriented statement and billing purposes. On-Line Enquiry permits information for Customer Service and Credit departments. Interface to General Ledger provided if both systems used. Requires CBASIC

S699/S20

□ Accounts Payable — Provides aged statements of accounts by vendor with check writing for selected invoices. Can be used alone or with General Ledger and/or with NAD. Requires CBASIC $699/$20

D NAD Name and Address selection system — interactive mail list creation and maintenance program with output as full reports with reference data or restricted information for mail labels. Transfer system for extraction and transfer of selected records to create new files. Requires CBASIC $79/$20

D QSORT — Fast sort/merge program for files with fixed record length, variable field length information. Up to five ascending or descending keys. Full back-up of input files created. Parameter file created, optionally with interactive program which requires CBASIC. Parameter file may be generated with CP/M assembler utility S95/S20

120

Software for most popular 8080/Z80 computer disk systems, including NORTH STAR, MICROPOLIS, iCOM, SD SYSTEMS, DYNABYTE DB8I2, HELIOS, ALTAIR, TRS-80, 8" IBM and OHIO SCIENTIFIC formats.

□

□

□

□

□

Software j

with /Manual Manual/ Alone

GRAHAM-DORIAN SOFTWARE SYSTEMS

□ PAYROLL SYSTEM — Maintains employee master file. Computes payroll withholding for FICA, Federal and State taxes. Prints payroll register, checks, quarterly reports and W-2 forms. Can generate ad hoc reports and employee form letters with mail labels. Requires CBASIC. Supplied in source code.

S605/S35

□ APARTMENT MANAGEMENT SYSTEM — Financial management system for receipts, disbursements and security deposits of apartment projects. Captures data on vacancies, revenues, etc. for annual trend analysis. Daily report shows late rents, vacancy notices, vacancies, income lost through vacancies, etc. Requires CBASIC. Supplied in source code.

$605/335

□ INVENTORY SYSTEM — Captures stock levels, costs, sources, sales, ages, turnover, markup, etc. Transaction information may be entered for reporting by salesman, type of sale, date of sale, etc. Reports available both for accounting and decision making. Requires CBASIC. Supplied in source code S605/S35

OTHER

□ Z80 Development Package — Consists of: (1) disk file line editor, with global inter and intra-line facilities; (2) Z80 relocating assembler, Zilog/Mostek mnemonics, conditional assembly and cross reference table capabilities; (3) linking loader producing absolute Intel hex disk file for CP/M LOAD DDT or SID facilities. Standard CP/M and TRS-80 CP/M versions available $95/$15

□ TEXTWRITER II — Text formatter to justify and paginate letters and other documents. Special features include insertion of text during execution from other disk files or console, permitting recipe documents to be created from linked fragments on other files. Ideal for contracts, manuals, etc S75/S5

□ DISINTEL — Disk based disassembler to Intel 8080 or TDU Xitan Z80 source code, listing and cross reference files. Intel or TDL/Xitan pseudo ops optional. Runs on 8080. Standard CP/M and TRS-80 CP/M versions available S65/S10

□ DISZILOG — As DISINTEL to Zilog/Mostek mnemonic files. Runs on Z80 only. Standard CP/M and TRS-80 CP/M versions available S65/S10

Frilitin.

Lifeboat Associates, 2248 Broadway, New York, N.Y. 10024 (212) 580-0082

Software

with

Manual

Manual Alone

WHATSIT? — Interactive data-base system using associative tags to retrieve information by subject. Hashing and random access used for fast response. Requires CBASIC S125/S25

XYBASIC Interactive Process Control BASIC — Full disk BASIC features plus uniaue commands to handle bytes, rotate and shift, and to test and set bits. Available in Integer, Extended and ROMable versions.

Integer Disk or Integer ROMable $295 $25

Extended Disk or Extended ROMable $395/$25

SMAL/SO Structured Macro Assembled Language — Package of powerful general purpose text macro processor and SMAL structured language compiler. SMAL is an assembler language with IF-THEN-ELSE, LOOP-REPEAT-WHILE, DOEND, BEGIN-END constructs S75/S15

Selector II — Data Base Processor to create and maintain single Key data bases. Prints formatted, sorted reports with numerical summaries. Available for Microsoft and CBASIC (state which). Supplied in source code S195/S20

Selector III — Multi (i.e., up to 24) Key version of Selector II. Comes with applications programs including Sales Activity, Inventory, Payables, Receivables, Check Register, Expenses, Appointments, and Client/Patient. Requires CBASIC Supplied

in source code $295/$20

Enhanced version for CBASIC-2 S345/S20

□ CPM/374X Utility Package — has full range of functions to create or re-name an IBM 3741 volume, display directory information and edit the data set contents. Provides full file transfer facilities between 3741 volume data sets and CP/M files $195/$10

D Flippy Disk Kit — Template and instructions to modify single sided SVa" diskettes for use of second side in singled sided drives $9.75

□ BASIC Comparison — A comprehensive features and performance analysis of five 8080 disk BASIC languages — CBASIC. BASIC-E, XYBASIC, Microsoft Disk Extended BASIC, and Xitan's Disk BASIC. Itemizes results of 21 different benchmark tests for speed and accuracy and lists instructions and features of each BASIC (send 20* S.A.S.E.) FREE

D TRS-80 FORTRAN PACKAGE - Professional diskbased language and utility package written by Microsoft, creators of Level II BASIC, the package runs on a TRS-80 system with 32K RAM, one or more drives and TRSDOS. The software is supplied on diskettes and consists of a relocatable machine code FORTRAN Compiler, Macro Assembler, a Linking Loader. Subroutine Library, Text Editor $325

Macro assembler, loader and editor alone $165

1

Software

Price

D manual alone

□ manual alone

□ Check □ U.P.S. COD □ Visa □ Master Charge

Shipping

Account # Exp. Date

$1.00 tor C.O.D.

Signature

Total

My computer configuration (specifying disk system):

Name

Address (No P.O. Box)

City State

Zip

EFFECTIVE APRIL 15, 1979

iiT/re Software Supermarket is a trademark ot Lifeboat Associates

Disk systems and tormats: North Star single or double density, IBM single or 2DI256, Altair, Helios II. Micropolis Mod I or II, 5Vi" soft sector (Micro iCOMISD Salesl Dynabyte), etc

Add $1 litem shipping ($2 min.). Add $1 additional for UPS COD.

Manual cost applicable against price ol subsequent software purchase.

The sale of each proprietary software package conveys a license for use on one system only.

Lifeboat Associates

, THE SOFTWARE SUPERMARKET

HVTI luni' l')7'l

121

41 )58N I06.-47W bzihuthul equidistant projection prepared by milliom o. johnston

Figure 6: This azimuthal equidistant map is basically the same as those illustrated in part J. We have added a grid of meridians and parallels to emphasize geographic distribution.

Text continued from page 714: was facing north to begin with). The program permits the view to be rotated by any amount and for any map, regardless of altitude. As mentioned earlier, this feature is particularly useful when the map is being generated on a video terminal.

Azimuthal Equidistant Maps

Figure 6 illustrates a map that is very similar to the azimuthal equidistant (great circle) maps shown in part 1. The primary difference is that we have added a grid of meridians and parallels to figure 6 to give more meaning to geographic distribution. This map projection is extremely useful when applied to such fields as navigation and radio communication, but you must not forget the inherent distortions. The grid system on this map helps dramatize where these distortions lie.

Another azimuthal equidistant projection is presented in figure 1, but the coverage is limited to 90° of arc (half that of the map in figure 6). This not only expands the scale of the map, but it eliminates the portion with the greatest distortion. The example is of an Oscar satellite communications coverage map centered on a location near Geneva, Switzerland. By taking advantage of the fact that radial distances (and, hence, arc distances) from the center are linear in this type of projection, it is a simple matter to draw a circle that will indicate the maximum possible communication range through a given satellite. The central location (Geneva, in this case) can then communicate to any location within the circle, at some time or another, depending upon the satellite's position.

The map, in this example, has been overlaid with three different circles to show the maximum range for all of the currently operational satellites (Oscar 7, Oscar 8, and RS:1— 2, starting with the inner circle and moving outward). Note the difference

122 lune 1979 © BYTE Publications Inc

Circle 33 on inquiry card.

between this map and those in figures 3 and 4. The map in figure 7 shows all locations with which communication is possible, irrespective of satellite position, whereas the maps of figures 3 and 4 show where communication is possible at some particular moment in time when the satellite is over a given point.

Summary

In part I we discussed the fundamental methods and resources required to produce any kind of map on a computer. We also presented several simple programs in BASIC, each containing only about a dozen executable statements, but which are capable of producing a number of attractive and useful map projections.

In this conclusion to "Computer Generated Maps", we have shown both the need and the means to develop a single, general purpose, map projection program with the flexibility to produce a variety of perspective and azimuthal equidistant maps. The subroutine given in listing 1 is an efficient, functional program which does just that, yet it only contains about 60 executable statements. All of the maps illustrated in this article were produced by that program, and they are only a sampling of its total capability. Whether you plan to generate maps for use with communications satellites, maps for the captain's console of a spacecraft, or maps for the sake of having maps, the program presented here can enhance your system's capability enormously and give you many hours of enjoyment."

46 i 12N 6i09E

RJMHUTHUl CQUiOISinNT PROJECTION PMPRHEO »» KIUIHH 0.

Figure 7: Another azimuthal equidistant projection is presented here, but we have limited the coverage to 90° of arc. This expands the scale of the map. The three concentric circles that have been superimposed on this map show the maximum possible communications range from the central location, through all of the currently operational amateur radio communications satellites (Oscar 7, Oscar 8, and RS.-J-2).

IMMEDIATE DELIVERY ^

MODEL 40 300 LPM PRINTERS

TELETYPES

®

• Mechanism or complete assembly

• 80-column friction feed

• 80-column tractor feed

• 132-column tractor feed

INTERFACES

• EIA-RS232

• Simplified EIA-Iike interface

• Standard serial interface

• Parallel device interface

CCnCDAI Communications rCUCnAL Corporation

11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644,

TELEX 732211 TWX 910-860-5529

MODEL 43 TERMINALS

• 4310 RO (Receive Only)

• 4320 KSR (Keyboard Send-Receive)

• 4340 BSR (Buffered Send-Receive)

INTERFACES

• TTL Serial

• EIA RS232 or DC20 to 60ma

• 103-type built-in modem

Circle 134 on inquiry card.

lune 1979 © BYTE Publications Inc 123

Write faster in BASIC, FORTRAN, or COBOL

Documents modify more easily, too

Human-engineered to do the job better. Yes, you really can get flawless code faster, using the Stirling/Bekdorf™ system of software development tools with structured programming concepts. The 78F2, 78P4. and 78C1 are human-engineered to reduce initial errors, improve de-bugging speed, and aid concept communication.

first, use the 78F2 Flowchartrix™to lay out your original concept blocks. Then use it to write a finely detailed flowchart.

54% more logic cells than other flowchart forms, put far more of your program on each page. Each Flowchartrix has a full 77 logic cells, not just 50. This saves paper, and makes your finished flowcharts easier to understand. By seeing up to 27 extra steps of a program on each page, you comprehend program flow more clearly. You save money and storage space, too.

Every matrix cell in the 7 x 11 matrix has a specific label to help you track branch points. When you write program documentation, having a separate reference point for each cell makes your program much easier to describe clearly.

With Flowchartrix, you don't need a shape template to draw remarkably regular logic symbols. Guides for the most-used logic symbols are right in each matrix cell, to help you draw most standard flowchart symbols entirely free-hand.

78P4 Print-Out Designers are next. When you finish flowcharting, lay out the printed reports your program will generate. Then when you write code you blaze through the report generation segments right along with the rest of your program.

Unique 70 x 160 matrix accommodates even proportional-spacing word processor formats. The 160-column width can handle practically any printer format. The 78P4 is big, 14'/2 x 22 inches, because we've scaled the cell size to human writing comfort, not machine print, giving nearly twice the character writing area of other printout design sheets.

Special 5-column area records the program line number of the code which creates each printed line It shows, at a glance, exactly which line of code creates each line of your report, saving hours of needless search time when you must change the report format (and don't you always have to, sooner or later7;

Every sheet of 78C1 gives you 2 form uses for the price of one. Use 78Cls full 28 line x 80 column grid area to code regular program steps. Then for interactive or instructional sections, simply keep your characters within the appropriate CRT indicator lines, and you'll automatically know where every character will show on your CRT screen

28 line x 80 column coding capacity saves you 14 sheets out of every 100, compared to 24-line forms. 86 sheets hold more program steps than 100 sheets of any 24-line form, yet we offer full size 6mm x 3mm grid blocks to give you comfortable writing room and visual space between lines.

Works with your CRT display, no matter what brand you own. Equipped for both 16 line x 64 column and 24 line x 80 column display formats.

Available in three versions (one for BASIC languages, one for FORTRAN, another for COBOL), the 78C1 is so powerful we include a 7-page instruction manual with every order.

Every tool in the Stirling/Bekdorf system is surface-engineered to take both pen & pencil without blotching. Our tough, extra-heavy, 22'- paper is pure enough to use with critical magnetic ink character readers, and gives you crisp, sharp char anters with pencil or plastic-tip pen.

Every part of our system uses eye-comfortable soft blue grids. All grid rulings, tints, and division rules are reproduced in a special shade of blue, easy on your eyes even after houri of continuous programming. If you're a professional programmer, you'll particularly appreciate our improvement over the green lines you've been writing on.

A 3-ring binder is one more of our secrets for your success. All your notes, logic, concepts, flowcharts, code. CRT layouts, print-out designs, and documentation can be kept together, in order, in one place. When everything you create stays together, debugging and modification is much simpler.

Order your supply of the world's most advanced software development tools, right now, before you hatch even one more bug.

78F2 Flowchartm

D 2 padsol 50 - S7 90

□ 10 padsol 50- S3J 35

52 85 pkng & stipg 56 45 pkng & shpg

78P4 Printout Design Sheets Q!padol50= 57 45 • S3 15 pkng & shpg D 5 pads ol 50 - S3? 10 • S6 75 ping S shpg

3-hole punched vinyl packets lor 78P4 Design Sheets □ selo!5 lor 52 05* SI 35 ping S shpg D set OII2 lor 55 00 . S185pkng8 shpg

78C1 Combination Coding/CRT Layouts

All are the same pure but please check which language

format yuu want

O (or BASIC Dior FORTRAN O tor COBOL

0 2 pads OI50- S6 35 ■ □ 11) padsol 50 -526 85 <

SI 95 pkng & shpg S3 35 pkng & shpg

lerss irsidenis please add ', V, sites tu lo hart purr Wr rhip UPS so F 0 Bo< addrcsr musl fjir phone number Prices shor lor parkins & stiippinfl jre USA only International shipping rater

jib hinhei yrnie lor details

I

□ Sample ol one sheet ol each foiin + associated labels 8 lilcialnie %l bO

Enclosed is my check for $

Name

Charge to □ Mastet Charge □ Visa exp. date j

Card » <

Signatote.

Addiess. City

Phone.

-Zip

| Stirling/Bekdorf j

4407 Parkwood □ San Antonio, TX 78218 □ (512) 824-5643

JDO StlSTISttilMiirtitdertSiy ol Blarkman Uki| Gp. inr

Text continued from page 6: will be a more elaborate set of read only memory code which interacts with the music keyboard and a special function keyboard to be defined. Limited timbre setups of the synthesizer can then be made when it is played and isolated from the data base facilities of the Pascal machine.

As for main software, capacity will be needed to execute some form of interpretive real time control software, possibly through the use of a threaded interpretive language somewhat like Forth. Implementations of this sort of language abound: Forth, Urth, IPS, and numerous unnamed homebrew versions. Such interpreters, which are fairly simple to code in machine language without an assembler, provide an excellent path to more significant software in a homebrew situation with a new processor. Everyone I know who uses them becomes a fanatic, so there are obviously some strong emotional arguments for flexibility and power that get people addicted. Why not try one?

Hardware reflecting mis requirement will perhaps be 4 K bytes of read only memory for the kernel of the interpreter design. Software design and development will, of course, be done in machine language using the Pascal machine as a filing and program development tool.

In addition to the 6809 processor, the hardware of the new machine will probably include 32 K bytes of programmable memory in the low end of address space, 16 K bytes of 2708 read only memory sockets for the various segments of the detail low level software, a serial port for the communications interface, a parallel port for the synthesizer interface, a parallel port for the music keyboard and miscellaneous keyswitch inputs, several uncommitted parallel ports, and a parallel port for the Sykes floppy, borrowed from the older system to be used as a mass storage subsystem.

This new processor will reflect a number of the improvements that have been made in the experimenter's computer system art over the past few years. It will have a much smaller parts count due to the 16 K dynamic memory parts I intend to use and I will pay attention to packaging, as I want to be able to carry the results around. It will be entirely fabricated with convenient Vector Slit-N-Wrap interconnection, although I now use the motorized tool to minimize the chance of open connections which occurred when I used that method by hand. And, of course, there is the thrill of experimenting with a new processor, the 6809 design described by Terry Ritter and Joel Boney in recent issues of BYTE."

124

lunr. ,979 IB BYTE Publications Inc.:

Circle 352 on inquiry card.

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

More BYTE

Hilt

KS

in your future

Circle 36 on inquiry card.

BYTE |uhp 1979 125

And the future

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

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

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

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

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

$S&

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

ii imnii am

SUPERWUMPUS is an exciting computer game incorporating the original structure of the WUMPUS game along with added features to make it even more fascinating. The original game was described in the book What To Do After You Hit Return, published by the People's Computer Company. Programmed in both 6800 assembly language and BASIC, SUPERWUMPUS is not only addictively fun, but also provides a splendid tutorial on setting up unusual data structures (the tunnel and cave system of SUPERWUMPUS forms a dodecahedron). This is a PAPERBYTE™ book.

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

r

Tiny

Assembler 0000 V«ralon3.1

Slff

ill

g&XgSSSSBiSt).

J

TINY ASSEMBLER 6800, Version 3.1 is an enhancement of Jack Emmerichs' successful Tiny Assembler. The original version (3.0) was described first in the April and May 1977 issues of BYTE magazine, and laterinthePAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0. In September 1977, BYTE magazine published an article entitled, "Expanding The Tiny Assembler". This provided a detailed description of the enhancements incorporated into Version 3.1, such as the addition of a "begin" statement, a "virtual symbol table", and a larger subset of the Motorola 6800 assembly language.

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

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

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

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

$&k

ISBN 0-931718-074 Author: Steve Garcia Pages: approx. 128 Price: $8.00

is right now!

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

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

\SSJI

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

Frog ramming TMtintaDM

Program Design

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

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

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

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

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

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

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

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

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

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

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

to order books see next page

I

LINK68: AN M6800 LINKING LOADER is a one

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

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

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

TRACER: A 6800 DEBUGGING PROGRAM is for

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

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

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

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

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

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

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

I

I

!

I I I

\-,

128

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

Name

Title

Company

Street City

□ Check enclosed in the amount of $

□ Bill Visa □ Bill Master Charge Card No.

Please send the books I have checked.

□ Computer Music $10.00

□ SGPERWGMPGS $6.00

□ Tiny Assembler (3.1) $9.00

□ Circuit Cellar $8.00 B AS EX $8.00

□ Program Design $6.00

BYTE BOOKS. BYTE BOOKS logo, and PAPERBYTE

are trademarks ol BYTE Publications. Inc.

Stale Province

Code

Exp. Date

□ Simulation $6.00 DRA6800ML $25.00 DLink68$8.00

□ TRACER $6.00 DMondeb$5.00

□ Bar Code Loader $2.00

Add 60c per book to cover postage and handling

Please allow 6-H weeks for processing vour order.

m II luneW)

Circle 36 on inquiry card.

iiiiiiiiiiiiiiiiuiiiiiiiHiimiiiiiiniiiMiinMiiMiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiHiiiiiiiiiiiiiiiiiiiiii imiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiimiiiiiiii

BYTE News ....

lIlllHllllllllllllllllllllllllllIIIIIIIlllllllllIIIIIIIIIIIIIIIIIIlllilllllllllllllllllllJIIillllllllllllllllllllllllllllltlllllllllltllllllJIIIIUIIIIUIIIIIIIIIIIHIIIIHIIIUIIIIIIIIIIIIIIIIIIIlllHltlil

NCC/NYC TO BE THE BIGGEST COMPUTER SHOW EVER. The National Computer Conference (NCC) will happen again June 6 thru 9. Last year 57, 224 attendees turned out for the show, held in Anaheim CA. This year the NCC will be held in the New York City Coliseum. AFIPS, the sponsoring organization, expects attendance to top that of last year. Approximately 400 companies have reserved 1,700 booth spaces on four floors of the Coliseum, with overflow at the New York Hilton and Americana hotels. Last year 396 companies occupied 1,400 booths.

NCC will have a personal computing adjunct at the Americana Hotel, a few blocks away. It will probably be played down, as it was last year. By way of example, the personal computing exhibitors and speakers were not listed in the regular show program book handed out to each attendee; hence, many attendees last year were unaware of the personal computing part of the show.

S-100 BUS STANDARD TO BE ADOPTED SOON. An IEEE committee has been working on a standard for the S-100 bus for over a year, and adoption is expected very soon. Much of the credit for this standard goes to George Morrow of Thinker Toys.

This standard will do two things. One, it will resolve the conflicts between the use of many bus pins by different manufacturers and eliminate the lack of compatibility between many "S-100 compatible" plug-in boards. Two, and possibly more important, it provides use of the S-100 bus for 16 bit processors for extended addressing of up to 8 M bytes of memory and for master-slave multiprocessor systems. This will make the S-100 bus the most powerful bus around and will, no doubt, continue and increase its popularity.

TI AND HP PC SYSTEMS RUMORS. Texas Instruments and Hewlett-Packard continue to maintain tight lips on their rumored personal computer systems. As TI has said, "TI will not discuss products that have not yet been announced." However, information has leaked out on these units which are expected to have a tremendous impact on the personal computing market. Several rumors have been reported in previous BYTE NEWS columns. The latest is that TI will introduce their entry at either the NCC show in June or the Consumer Electronics Show in July. In either event, it is expected to be ready for the 1979 Christmas market.

The HP computer is also expected to be ready by Christmas, and is anticipated to be a stripped down version of their current table-top system. This means that it will use BASIC and be expandable.

Both HP and TI are expected to have $500 list prices for the basic unit. Key retailers have already been approached by both TI and HP to set up a selective distribution. It is rumored that they will favor selected personal computing stores that can do justice to software requirements.

INTEL TO PRODUCE ANALOG MICROPROCESSOR AND SUPER 8 BIT MICROPROCESSORS. Realtime processing of analog signals by microprocessors has been severely limited by the slow speed of most microprocessors. For example, an 8080 clocked at 2 M Hz can, at best, synthesize clean sine waves at about 1 to 2 k Hz, which is the low end of the audio spectrum. This fall, Intel will introduce an integrated circuit which combines an analogto-digital converter, a digital-to-analog converter, microprocessor and read only memory on a single device. It will be capable of processing analog signals up to 13 k Hz. Called the 2920, the integrated circuit will have a 9 bit conversion register. It could be used in conjunction with an 8080 processor, where the 2920 does the signal processing while the 8080 does the data processing.

Intel has done another clever thing. They have taken an 8086 and limited its data I/O (input/output) to 8 bits and memory addressing to 16 bits. It is called the 8088 and will deliver five times the performance of the 8080 (2 M Hz). Actually, the 8088 is an 8086 split into two 8 bit microprocessors on one integrated circuit, one handling I/O and the other data processing. It offers most of the features of the 8086 (eg: hardware multiply /divide).

NATIONAL SEMICONDUCTOR TO INTRODUCE NEW MICROS. It is nearly three years since National introduced their last microprocessor. (Actually, we must give National credit for pioneering the 16 bit microprocessor with the PACE and IMP-16 microprocessors introduced in 1975.) Now National is bringing out a new CMOS 8 bit microprocessor that will be software compatible with the 8080, have added features and consume less power. Further, they will introduce a 16 bit microprocessor that is a "cut above" the Z-8000 and 68000. Production is expected by the end of the year.

MICROPROCESSORS FOR $1 APIECE? Maybe not this year. . .but it is approaching fast. Synertek recently reduced the 100 lot price for the 6502 (used in the PET, Apple, OSI, etc ) from $10 to $7. In high volume they have reduced the price from $4 to $2.50. I can still remember paying $350 for an 8080, just four years ago!

June 1979 © BYTE Publications Inc 129

DOUBLE SIDED DISK DRIVES STILL IN LIMITED PRODUCTION. Despite advertising and promotion for double sided disk drives, most makers are still having trouble gearing up from prototype runs to full production. Shugart Associates, for example, does not expect to be in normal production until the end of the year.

COLOR VIDEO TERMINALS COMING ON STRONG. The prices of color video terminals, which until now have been very expensive as compared to black and white video terminals, are expected to decrease substantially within the coming year. Further, they will have more features. The reasons for the price decrease are cost reduction in electronics and increased production, as demand increases. More businesses are finding that the difference in price for color is worth it in many applications, an example being Management Information Systems. We can expect low cost color video terminals on the market for under $1,000.

At the same time, manufacturers are developing driver software for video terminals which exploit the color capability, in particular, combining graphics and alphanumerics. One example would be bit map routines allowing the creation of multiple graphics regions on the video terminal while having alphanumeric regions.

PASCAL NOW AVAILABLE FOR 6800. All 6800 owners who have been envious of the Pascal that is available to other processor users can now have their own Pascal. Control Systems Inc, Kansas City KS, has just introduced a 6800 version of the UCSD Pascal, Version II.

HOW ABOUT A COMPUTER VACATION? Want to combine vacation and hobby? A group of 20 to 50 personal computerists are doing just that during Christmas week. They have organized a weeklong workshop to be held at a Caribbean resort. Families are welcome. If you are interested in participating, write either Dr Andy Bender, 400 Old Hook Rd, Westwood NJ 07675, or Dr Jeff Brownstein, 2 Tor Rd, Wappinger Falls NY 12590.

QUIP VERSUS THE DIP. The new 16 bit microprocessors and the 32 bit microprocessors on the drawing boards have created packaging problems for integrated circuit makers. How are they going to get all addressing, data, I/O (input/output) lines on an integrated circuit package? Anyone who handles 40 pin dual-in-line packages knows the handling problem. Well, Intel and 3M have jointly developed a new 64 pin integrated circuit header called QUIP (quad-in-line package). It will have two rows of 16 pins along both edges of the package and will shrink the package from 3 1/8 inches, for a 64 pin dual-in-line package (DIP) to 1 5/8 inches for a QUIP. Further, internal lead paths will decrease, reducing capacitance, resistance and inductance, and allowing higher operating speeds. Pins will still be on 0.1 inch centers and the QUIP will cost 15 percent less than the DIP.

4 K BYTE PROGRAMMABLE MEMORY INTRODUCED. As the size of memory circuits increases, integrated circuit makers are going the byte-size memory route to afford easier interfacing to microprocessor buses. Zilog is the first to introduce an 8 bit byte programmable memory. Called the Z6132, it is a 32 K bit memory organized as 4 K words by 8 bits. It uses a one transistor memory cell and includes on-chip refresh control circuitry. Pinout permits easy use in 16 bit systems. Hardware keeps getting easier!

POD LOVES ADA. After years of trying to standardize a high level computer language, the United States Department of Defense (DOD) has created a special group for this purpose. The final approved language will be called ADA, after Ada Augusta, Countess of Lovelace, who is credited with being the very first programmer.

The DOD have narrowed their choice to two different Pascal-like designs. The preliminary design is due for delivery in May of this year, with final approval expected at the end of the year.

LIQUID CRYSTAL DISPLAYS IMPROVING. The graphics terminal marketplace is going to see some radical changes within the next few years as new technologies develop to compete with the age old video type graphics terminal technology. Plasma panel and liquid crystal display elements (LCDE) are examples of a new graphics technology. The plasma panels offer higher brightness, no flicker, and touch sensing ability. The LCDE are created by a scanning laser beam. The LCDE have their own memory, and do not have to be refreshed. Further, they offer very high resolution, color and projection capabilities. Both Western Electric and IBM are doing developmental work in this area.

DEC OPENS SECOND RETAIL STORE. Digital Equipment Corp recently opened its second store in Boston. Their first store was opened in New Hampshire in July of last year. More stores are planned for "off the shelf" purchases. Further, the stores will offer services such as mail list generation and word processing.

COMPUTER STORES' FUTURE APPEARS EXCELLENT. According to a recently completed study by marketing research firm Frost and Sullivan, the main distribution channel for microcomputer systems will continue to be the dedicated computer store, for many years. The hobby business will continue to increase, but at a lower rate. The larger increase will come from small business purchases.

Sol Libes

ACGNJ

1776 Raritan Rd

Scotch Plains NJ 07076

130 lune 1979 © BYTE Publications Inc

Tpeokeosy

Software

INTRODUCES

Available at your APPLE dealer

«/pCOKGOSU sOif UJOPC ltd Dealers: Please contact your distributor.

Box 1220, Kemptville, Onlario, Canada, KOG 1J0 (613) 258~2451

Also available: STOCK OPTIONS • PIGSKIN PLAYOFFS • FINANCIAL ANALYSIS •

SPORTSTRIVIA • MICROTRIVIA • TRANSACTIONAL ANALYSIS •

WARLORDS • KIDSTUFF • BULLS AND BEARS

Circle 351 on inquiry card.

BYTE June 1M79 131

The Nature of Robots

Part 1: Defining Behavior

William T Powers 1133 Whitfield Rd North brook IL 60062

A scientific revolution is just around the corner, and anyone with a personal computer can participate in it. The last time this happened, 250 years ago, the equipment was the homebrew telescope and the subject was astronomy. Now, astronomy belongs just as much to amateurs as to professionals. This time the particular subject matter is human nature and in a broader scope, the nature of all living systems. Some ancient and thoroughly accepted principles are going to be overturned, and the whole direction of scientific investigation of life processes will change.

The key concept behind this revolution is control theory. Control theory has been developing for almost 40 years, and has already been proposed (by Norbert Wiener) as a revolutionary concept. It has not been easy, however, to see just how control theory can be made part of existing scientific approaches although many people have tried. Most of these attempts have tried to wedge control theory into existing patterns of thought. To apply any new idea in such a way, while ignoring the new conceptual scheme made possible, is to deny the full potential of the new idea.

Many life scientists who have tried to use control theory have tried to imitate the engineering approach, dealing with human beings as part of a man-machine system instead of complete control systems in their own right. Others have used control theory directly to make models of human and animal behavior, but have concentrated on minor subsystems, failing to see that the organism as a whole can be dealt with in terms of the same principles. The result has often been a strange mixture of concepts — a patchwork instead of a system.

Strangely enough, many engineers who do understand control theory haven't done much better. Here the problem is that these

engineers tend to accept the basic concepts developed by biologists and psychologists, and to use control theory to explain causeeffect relationships they are told exist — but which in fact do not exist. We will start this development by looking at something called behavior, which biologists and psychologists have assured engineers is very important, thereby leading the engineers astray.

What is all this supposed to mean? A lot is meant, though in different ways. Roboticists, for example, are trying to develop machines which will imitate human organization, and so are the artificial intelligence experimenters. But from whence came the description of the system they are trying to model? Basically, it came from the life sciences. If the life sciences are using the wrong model, it would be essential to know that before much more labor is invested in imitating an imaginary creature.

Perhaps the most general reason control theory is interesting is that it concerns people. There aren't many sciences left in which important discoveries can be made by amateurs working at their own tables. Control theory opens up an entirely new field of experimentation, a kind that has never been done before in psychology or any other life science.

All that is needed by amateurs who want to participate in these developments is a basic grasp of control theory, an understanding of the procedures that go with it, some basic equipment, and curiosity about human nature. I shall now provide the first two items on that list. The rest is up to you.

The Problem With Behavior

The word behavior is used frequently — we hear about behavioral science, behavior modification, behavior therapy. For example, Science News now has a "Behavior Column";

132 lune 1979 © BYTE Publications Inc

BYTEs Bugs

A Negative Sine

The arcsine and arccosine routines discussed in "Inverse Trig Functions" by Alan Miller (March 1979 BYTE, page 92) will not work for negative values of X. For arcsine, I recommend (in Mr Miller's notation):

DEF FNSN(X) = ATN(X/SQR(1-X*X))

and for cosine:

DEF FNCS(X) = 1.570796327-ATN(X/SQR(1-X*X)).

The constant 1.570796327 is, of course, 7T/2. These routines give the correct principal value for any value of X with an absolute value of less than 1.

John A Ball

Oak Hill Rd

Harvard MA 01451"

BYTEs Bits

Robot Information

James A Gupton Jr, author of "Talk to a Turtle" which appears in this issue of BYTE, has offered the following additional sources for robot information:

International Institute for Robotics POB615

Pelahatchie Ml 39145 Attention: Dale Cowsert, Director

Offers a complete robot correspondence course including a microcomputer and a 7>h foot working robot. Costs range from Mentor II at $890 toOmnidex I at $3100.

Gallaher Research Inc POB 10767 Salem Station Winston-Salem NC27108

Offers catalog on robot components to build any size robot from one to ten feet tall. Catalog cost is $10."

Get a

Not just a machine that emulates one.

This powerful computer runs the full UCSD Pascal Operating System and includes all of the following items:

• Pascal microengine™

• 64K bytes (32K words) of RAM ex expandable to 128K bytes. (64K words)

• Floppy disc CONTROLLER with direct memory access (DMA) is switch selectable for:

—single, or double density —8" floppy or mini floppy

— 1 to 4 drives (same type)

• Complete UCSD Pascal Operating System

— PASCAL compiler

— BASIC compiler —GRAPHIC package

— File Manager —Screen oriented editor —Debugger

• Two RS-232 asynchronous ports (110-19,200 baud)

• Two 8-bit parallel ports

• Auto test microdiagnostics

• Documentation

$2

cnn Complete with stylized low profile housing

€

and power supply

Prices subject to change without notice.

CUTTING EDGE OF TECHNOLOGY, Inc.

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

Circle 74 on inquiry card.

lune 1979 © BYTE Publications Inc 133

it was formerly the publication's "Psychology Column". An innocent bystander might conclude that any word this important must have a universally accepted definition, but that is not true. Behavior is a slippery concept.

Here is an example of a person behaving. Chip Chad is seated in front of a teletypewriter pounding keys. What is he doing?

Is he alternately tensing and relaxing muscles in his arms? Yes. Is he moving his fingers up and down? Yes. Is he typing strings of symbols? Yes. Is he adding a return instruction that he forgot at the end of a subroutine? Yes. Is he writing a program for plotting stock market prices? Yes. Is he making a little extra money for a vacation? Yes. Is he justifying his hobby to his family? Yes.

Clearly, each description of what Chip is doing is, in fact, an accurate description of the very same collection of actions. Which one, then, is Chip's behavior? Obviously, they all are expressions of behavior.

Suppose Chip decides that he really doesn't need a subroutine, and substitutes a jump instruction for the return. Now, he is writing the program — obviously the same program — by using a different behavior. Or suppose he buys an input device, and continues working on the subroutine by speaking letters into a microphone. Now he is using different muscles and movements, but he is still doing the same behaviors farther down the list. How could he be doing the same thing by means of doing something different?

Or consider Chip driving a car along a straight road. He is consciously steering. This happens to be a gusty March day, and every five minutes the wind changes speed and direction. Chip is an experienced driver, and continues to steer the car down the road in a straight line. If we look at what his arms are doing, however, we find that they are moving the steering wheel in an apparently random pattern, now centered, now far to the right, now far to the left. Somehow he is managing to produce a constant steering-the-car behavior by means of a behavior that is widely varying. The path of the car doesn't correlate with the position of the steering wheel at all.

Scientists have always thought of behavior as the final product of activity inside the organism. The brain sends commands to the muscles, which create forces, which produce movements, which generate the stable and repeatable patterns we recognize as behavior. There is, in principle, a chain of cause and effect, with the events at the end of the chain being caused by the events at the beginning. Such scientists would say

that in the example with Chip at the computer keyboard, we were simply attending to various stages in that chain.

How does that picture fit in with Chip's driving the car in a straight line? The direction in which the car is going is affected by his movements of the steering wheel, and is farther out along the chain of causes and effects. But the wind adds its effects on the direction of the car after Chip's effects in the chain. Somehow he is varying his actions so that when their effects are added to the effects of the randomly varied wind, the result is something constant. If we had been thinking of driving the car in a straight line as Chip's behavior, we have to revise that idea: the direction of the car depends just as much on the wind as on Chip.

It may seem that we have simply moved our definition of behavior closer to Chip. But consider how he moves the steering wheel. The wheel moves when the forces reflected from the front wheels do not exactly balance the forces created by his muscles. As the car goes along, the roadbed tilts and various bumps and dips cause changes in the reflected forces. The wheel may be turned far to the right, into the crosswind, on the average, but maintaining the wheel in that position requires that his muscles be constantly changing tension, as the reflected steering wheel forces fluctuate. We have the same problem as before: Chip produces a varying output that affects the steering wheel, but the steering wheel is also being affected by forces that are independent of what Chip is doing with his muscles. Yet the sum of the muscle forces and those extraneous forces is zero, except when the steering wheel is changing position.

Even if we back up another step and call Chip's muscle tensions his behavior, we have trouble. Muscles are made to contract by signals from the nervous system, but muscles don't respond the same amount to a given signal every time they are used. They fatigue; other muscles interfere with them; joint angles change so that a given muscle tension can produce different amounts and directions of force. The only behavior that Chip produces which can be attributed entirely to Chip and not in part to his environment consists of the nerve signals that leave his nervous system and enter his muscles.

If we want to be completely accurate about Chip's behavior, we should consider the output signals from his nervous system, and leave everything else in his environment. That is what we will do, but by doing that we create the biggest problem of all.

A scientist studying a behavior hopes to learn enough about its rules to predict when

134

June 1979 © BYTE Publications Inc

The TARBELL Connection

In an effort to offer products that meet the continually changing demands of the microcomputer industry, TARBELL ELECTRONICS is pleased to offer immediate delivery of these quality components and operating software. All TARBELL products are available from computer store dealers everywhere.

Tarbell Floppy Disk Interface Tarbell Disk BASIC

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

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

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

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

• Full 6-month warranty and extensive documentation.

•Kit $190 Assembled $265.

Specify drive for assembled units. Complete disk subsystems with operating software available. Please inquire for details.

• Runs on 8080, 8085 or Z80

• Searches a file quickly for a string.

• Up to 64 files open at once.

• Random Access.

• Assignment of I/O.

• Alphanumeric line labels allowed.

• Read and Write string or numeric data.

• Unlimited length of variable names and strings.

• Procedures with independent variables.

• Number system 10 digits BCD integer or floating point.

• Chain to another program.

• Cause programs to be appended onto programs already in memory.

• Cause interpreter to enter edit mode using 15 single character edit commands.

Occupies 24K of RAM. Tarbell BASIC

on CP/M Disk $48.

Source on paper or CP/M Disk . . .$25. CP/M and BASIC-E on disk with manuals $100.

Tarbell 32K RAM Memory

32K Static Memory

S-100 Bus Connector

9 regulators provide excellent heat distribution.

Extended addressing (bank switching.)

Phantom line.

Low power requirement.

20-Page operating manual.

Full 1-year warranty.

Assembled and tested full price only $625

16K version also available, assembled and tested only $390.

Tarbell Cassette Interface

• Plugs directly into your IMSAI or ALTAIR.

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

• Extremely reliable-Phase encoded (self-clocking).

• 4 extra status lines, and 4 extra control lines.

• 37-page manual included.

• Device code selectable by DIP-switch.

• Capable of generating Kansas City tapes.

• No modification required on audio cassette recorder.

• Complete kit $120 Assembled $1

• Manual may be purchased separately

• Full 6-month warranty on kit and assembled units.

Circle 360 on inquiry card.

Tarbell Cassette BASIC

Includes most features of ALTAIR Extended BASIC, plus these added features:

• Assignment of I/O.

• Alphanumeric line labels.

• Unlimited length of variable names and strings.

• Number system 10 digits BCD integer or floating point.

• Procedures with independent variables.

• Read and Write string data.

• Multi-file capability.

Full price with complete documentation $48.

Prepaid, COD, or cash only. California residents please add 6% sales tax.

ALTAIR is a trademark/tradename of Pertec Computer Corporation CP/M is a trademark/tradename of Digital Research

75. $8.

950 DOVLEN PLACE • SUITE B CARSON, CALIFORNIA 90746

(21 3)538-4251 •(213) 538-2254

BYTE Ume TJ79

135

it will occur. Under the old approach, this means varying factors in the environment and looking for behaviors that correlate with those variations. But if we try to describe behavior in terms of the output signals from the nervous system, all correlations disappear. Oh, maybe we have a knee jerk or a sneeze left over, but we have lost all the regularities that give us some reason to talk about behavior in the first place. We would never guess, from looking at Chip's neural signal outputs, that the result of them would be a straight path of a car that is being forced one way and another by a variable crosswind.

When you pause and reflect upon what has been covered so far, you will realize that we are already deep into control theory, even though we haven't discussed it by name yet. We have dealt with the subject as such because the discussion concerns a fundamental difficulty with the very concept of behavior, especially the concept that behavior is the final product of an organism's inner activities. As we see how this difficulty gets resolved, we will be forced into control theory no matter how we approach the solution. One reason biologists or psychologists have not developed control theory is that they have clung stubbornly to the idea that behavior is part of a causal chain that starts in the nervous system (or in stimuli that cause activity in the nervous system) and propagates outward from there according to physical laws of cause and effect. That is why people design robots in the same way, and why those robots have yet to behave in a way that is convincingly alive. In order to solve this

problem instead of just brushing it aside, we have to admit that the causal chain in which people have believed for so long simply does not exist, and never has existed.

Figure 1 sums up the problem we are dealing with. At every stage of events following the outputs from Chip's nervous system disturbances come into play, adding to the effects that can be traced to the neural signals. As we go farther to the right of the figure, we might expect that any regularities in Chip's output signals would be lost (ie: that each successive variable would show more and more random variations).

Exactly the opposite is true. The farther to the right we go in figure 1, the less random variation occurs. The variable farthest to the right, the relationship of the car to its lane, can remain constant within a few inches for hour after hour. We find that this is the most stable variable in the chain, and that as we go backward up the chain toward Chip's nervous system, the randomlooking variations get larger and larger. At the beginning of the chain the variations become totally unpredictable.

Consider figure 2; we added the effects of external events on a nervous system. According to the old picture still fundamental to most life sciences, external events act on the physical structure of the nervous system (along with internal events such as changes in body chemistry), and cause outputs to occur. Those outputs have consequences which show up at the end of the chain as behavioral patterns. To study the organization of behavior, you manipulate the external events, and look for regular behaviors that result (of course, you find them).

CHIP'S

NERVOUS

SYSTEM

CAR'S •POSITION IN LANE

FATIGUE ENERGY SUPPLY JOINT ANGLE OTHER MUSCLES

BUMPS, DIPS WHEEL FRICTION TIRE PRESSURE {REFLECTED FORCES)

WIND ROAD TILT

Figure 1: The cause and effect chain leading to behavior. The behavior called "driving in a straight line" is anything but simple. Some psychologists speak of behavior as simply being emitted by an organism, but this is clearly an inadequate concept. Between the nervous system and the stable pattern It appears to produce, disturbances come into play, having just as much effect on the final outcome as the nervous system has. Nevertheless, the most regularity appears at the end of this chain, and the least at the beginning.

136 June 1979 © BYTE Publications Inc

HERE'S A

QUICK

POINT

YOU

SHOULD

KNOW

ABOUT

The fastest floating point BASIC for any micro.

TSC BASIC for the 6800 is the fastest floating point BASIC for ANY 8 bit microprocessor. No longer will the 6800 take a back seat to the 6502, 8080, or Z80! And with the TSC name, you know it's top quality.

TSC BASIC is not only fast, but complete with over 50 commands and functions. Features include six digit floating point math, full transcendental functions, unlimited string length, if/ then/else construct, logical operators, and two-dimen

sional arrays including string arrays. The disk versions for FLEX™ 1.0 and 2.0 support random access data files (the mini FLEX™ version does not).

A cassette version requires 10K while the disk versions require at least 12K. No source listings included. With KCS cassette - $39.95; mini FLEX™ - $49.95; FLEX™ 2.0 - $54.95; and FLEX™ 1.0 $59.95. Soon to come are a business BASIC and 6809 BASIC.

15S

Technical Systems Consultants, Inc.

All orders should include 3% for postage and handling '(8% on foreign orders). Send 25<P for a complete software catalog.

Box 2574

W. Lafayette, IN 47906

(317) 463-2502

Circle 363 on inquiry card.

BYTE June 197'J

137

About the Author

William T Powers has been exploring the meaning of control theory for studies of human nature since 1953, when he was working as a health physicist at the University of Chicago. Since that time he has spent a number of years (to I960) in medical physics, and then another 13 (to 1975) as Chief Systems Engineer for the Department of Astronomy at Northwestern University. His occupation has been designing electronic, optical, and mechanical systems for science. Powers' book, Behavior: The Control of Perception (A/dine, 1973) was quite well received. At the moment he consults in oneof-a-kind electronics.

EXTERNAL

EVENTS

(STIMULI)

CHIP'S

NERVOUS

SYSTEM

NEURAL SIGNALS

INTERMEDIATE PROCESSES

FINAL ■BEHAVIOR PATTERN

DISTURBANCES

Figure 2: The old model of behavior. In this old model of behavior, environmental "forces" act on the nervous system to make it produce behavior. The logic of this straight-through, cause and effect chain is spoiled by the presence of disturbances which act after the last physical output of the nervous system (ie: neural signals that activate muscles). This cannot be the correct model for stable behavior.

But in figure 2 we also see those random disturbances. The only way to get away from them is to make sure that the environment remains absolutely stable (ie: that nothing happens which can interfere with behavior). The standard approach requires eliminating those disturbances, for the simple reason that if they are not eliminated, the experimental results disappear into the background noise. Thus by eliminating disturbances as completely as possible, under the guise of establishing standard (ie: control) experimental conditions, some scientists have swept this basic problem under the rug. They have also done away with the principal tool we have for understanding how these systems really work. If there are no disturbances, then the idea of a causeeffect chain running from external events through the organism to behavior seems to hold up, more or less. As soon as natural disturbances are allowed to occur, we find that the overall connection from external event to final behavior remains as clear as ever; but, the model of what happens in between falls to pieces with a loud crash.

Closing the Loop

There seems to be nothing wrong with figure 2; nothing, that is, except that it cannot account for the regularities of behavior. There is something wrong; something has been left out. Let's focus on the final variable in the chain, the position of the car relative to the lane. What variable that could affect Chip's senses, do you suppose, would have the most to do with his manipulations of the steering wheel? The position of the car relative to the lane. This variable is both the consequence

of Chip's actions, and the main source of sensory information that could cause him to act (see figure 3).

Psychologists have gone this way before. They have tried to make sense of this situation by supposing that the behavioral variable is somehow different from the stimulus variable. If the position of the car relative to its lane is the behavioral variable, then perhaps the onset of a change in the visual image of the road is the stimulus variable. That leads to the idea of a chain of stimuli and responses. The car drifts in its lane; that stimulates Chip's nervous system to make a response, which affects the physical position of the car in its lane, which causes a new change in the stimulus, and so on around and around.

There are several severe difficulties with this explanation. In the first place, there is no way to separate the visual image from the position of the car; these are just two ways of talking about one whole physical situation in which a certain collection of interdependent variables changes simultaneously. The alternation between stimulus and response is completely imaginary, as anyone who drives knows. If causes and effects really were sequential, and chased themselves around and around the loop, it is unlikely that Chip would keep the car on the road for more than ten seconds. In part 2 we'll do a proper simulation in BASIC, and you will see that when the system is designed to behave sequentially, the result is most likely to be violent oscillations.

There is no reason at all to make an artificial distinction between the position of the car on the road as a behavioral response and as the stimulus which causes the response. Only one physical situation

138 June 1979 © BYTE Publications Inc

LOWEST PRICES . FAST DELIVERY . DEPENDABLE SERVICE

DOUBLE DENSITY HORIZON I KIT

double the storage at the same price!

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

• exclusive application software

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

NEW!

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

&

&

*7ov

MICROPOLIS DISK DRIVE FOR TRS-80

HEATH DATA £\^, SYSTEMS PRINTER

&

*?<T SOROC IQ 1 20 VIDEO I *£<? Tl 810 PRINTER ^ TERMINAL ■NV?X

MicroWorld Specials

Integral Data Printer $749

Add for Tractors $ 150

Mime Terminal $ 742

Hazeltine 1410 Terminal . $ 765 Hazeltine 1500 Terminal . $1097 Teletype Model 43

Printer $1019

Dataproducts M-200

Printer $2921

Vector Graphics MZ $3225

Exidy 16K Sorcerer $1035

Data General

microNOVA $CALL

Qume Sprint 5 RO

Printer (55cps) $2895

DEC LS 120 Printer .... $CALL Centronics 779 Printer

(incl. tractors) $1095

Micropolis 1042 Mod

I Drive $CALL

Tl 59 Calculator $ 219

Novation CAT Modem .. $199

Tl 820 Terminal $2199

North Star Horizon

Software $CALL

Dataproducts B-300

Printer $5346

IPSI 1620 Diablo RO .... $2705

Hitachi 9" Monitor $184

Cromemco System III ... $5299 Imsai VDP-80 $CALL

\ICRO

Bringing information technology to your doorstep 1425 W. 12th PI. • Tempe, AZ 85281 • 602-894-1193

Circle 233 on inquiry card.

VISA I No extra charge for credit card orders

Freight collect, F.O.B. Tempe No other handling charges

Formerly Byte Shop Mall Order

CALL TOLL-FREE 1-800-528-1418

POSITION OF CAR IN ITS LANE

CHIPS

NERVOUS

SYSTEM

NEURAL SIGNALS

INTERMEDIATE PROCESSES

POSITION

•OF CAR IN

ITS LANE

DISTURBANCES

Figure 3: A slightly different view of the old model of behavior. The principle stimulus involved in driving a car in a straight line is the position of the car in its lane. This is the same variable that is the measure of behavior. The variable that is the final outcome of Chip's actions is the same variable that provides inputs to the nervous system that is acting. The variable at the causal end of the chain is the same variable found at the effective end of the chain.

INPUT QUANTITY (POSITION OF CAR IN LANE )

exists, and there is no need to present it in two disguises. The position of the car on the road is both an effect of Chip's actions and the sensory situation which leads (with a little help from Chip) to those actions. There is a closed loop of cause and effect, and the position of the car is just one part of that loop.

Now we begin to draw a diagram of a proper control system. In figure 4, three physical quantities are shown, an output quantity, an input quantity, and a disturbing quantity.

The output quantity corresponds to an

CHIPS

NERVOUS

SYSTEM

o

FEEDBACK FUNCTION

OUTPUT QUANTITY (ANGLE OF STEERING WHEEL)

DISTURBANCE FUNCTION

-o

DISTURBING QUANTITY (WIND VELOCITY )

Figure 4: Closing the loop. By rearranging the relationships shown in figure 3 and eliminating the redundant appearance of the car position, we create a closed loop diagram. This is the general form of a control system diagram that will be used in this series from now on. The controlled variable is always the input quantity; the output quantity is the means of control. The single disturbance shown represents the net effective disturbance if more than one is acting at the same time. The disturbing function is chosen to provide the proper net contribution to the input quantity. The feedback function represents links external to the behaving nervous system through which outputs are transformed into contributions to the state of the input quantity.

output of Chip's that is entirely due to himself (ie: perhaps due to the neural signals reaching his muscles or to some variable farther down the chain of figure 2, revealed when disturbances are known or can be legitimately eliminated).

The input quantity is the variable that is stabilized by the variations in Chip's output. Thus we call the input quantity, here, the position of the car relative to its lane. Of course, by that we mean whatever it is about that position that can be a sensory input to Chip (ie: probably a visual image of the hood of the car and the road beyond, framed in the windshield).

Between the output quantity and the input quantity is placed a feedback function. This function expresses the physical links that exist between Chip's output quantity and the input quantity. In the case of a moving car, if the output quantity were the angle of the steering wheel, which it might be if the angle is also a controlled quantity, then the effect of the wheel angle would be a continual change of car position, and the feedback function would have to include at least one time integration. The feedback function is simply a description of the physical processes which give each magnitude and direction of the output quantity a contribution to the state of the input quantity.

In figure 4 we also include disturbances as an integral part of the diagram of the system. The disturbing quantity in this case would be wind velocity and direction, and the disturbance function connecting it to the input quantity would express the way in which aerodynamic laws convert wind velocity into effects on the car's position in its lane.

140

June 1979 © BYTE Publications Inc

The state of the input quantity, therefore, can be expressed in terms of all effects which contribute to it. We have shown only the output quantity and the disturbance due to wind. Many other disturbances - low tires, or tight wheel bearings, or gradation in the road — could also contribute to the state of the input quantity at the same time. All disturbances, however, can be reduced to a single one, since no matter what the cause of the disturbance, the only effect that matters is the effect on lateral position of the car.

Chip himself can be represented by a function, a function that converts the sensed position of the car into a steering wheel angle. This system function (system, being short for behaving system) will surely contain delays, nonlinearities, and even variations of its parameters. At first glance it may seem a terrible oversimplification to reduce a whole human being to a simple input/ output box, but the situation isn't that bad. We are centering this diagram around the input quantity, not around Chip as a whole; therefore the "Chip box" does not wholly represent him, but only that part which reacts to changes in the input quantity by altering the output quantity. Furthermore, the Chip box (ie: the system function) is not quite as simple as it seems even after being simplified a great deal.

The functions connecting the variables in this closed loop can be extremely complex, and even to approach this system analytically will obviously require some approximations. This is not the place to justify every simplification; sometimes complex mathematics are required to reach a simple conclusion. I'll drop some hints along the way about how the simplified model is generated and why it works, but if you really want to get into this, study a text on servomechanism design.

Simulating Chip

Let us conclude by building a working simulator of Chip driving the car. This is just a hint of what this 4 part series of articles will develop. Building the simulator requires building some special numbers into the program without any explanation at present. The point is to enjoy the simulation, and get used to the idea that everything in a control loop happens at the same time.

We will assume that the steering wheel angle to left or right of center is Chip's output quantity, and that there are no disturbances that can interfere at this point. This output quantity will be called A.

Under the influence of A alone, the car

would drift sideways at a rate proportional to A, for small deviations from the center of the lane. Designating the crosswind velocity as W, if W were the only influence acting, the car would drift sideways at a rate proportional to W (in this somewhat oversimplified universe). In the BASIC program we will assume that each iteration corresponds to a fixed amount of elapsed time, so the distance D that the car will drift during any one iteration is simply the sum of the two influences acting on it (line numbers correlate with listing 1):

7 D=K1*W+K2*A

The position, I, of the car relative to its lane will change by an amount D on each iteration:

8 I = I + D

Now I must introduce a detail: if we just had Chip respond proportionally to the deviation of car position, we would have to make his muscles so flabby that hardly any response would occur, unless we wanted to demonstrate self-immolating oscillations. We have to take care of two destabilizing factors. First, the feedback function is essentially

Your TRS • 80 Apple 11 Micropolis Vector MZ Exidy Sorcerer Cromemco CBasic-CP/ M Microsoft Computer

WILL SAVE YOU

_ THOUSANDS!

WITH OUR

BUSINESS

SOFTWARE

GENERAL LEDGER •

ACCTS. PAYABLE

&

FLEXIBLE

STARTER

SYSTEM

EASY TO UNDER / STAND & USE

• ACCTS. RECEIVABLE INVENTORY • PAYROLL

Buy simple, effective programs designed specifically for your machine. Call us once for same week delivery on a product you can use the day you receive it, and two years from now when your company is twice as big. And ask about MICROMAX - our computer output videotape system.

TRS«80: $100/each. CBASIC-CP/M: $200/each. Apple II, Micropolis, Vector, Exidy, Cromemco, and Microsoft: $140/each.

Order today by UPS. COD, or with ^ » ,

Visa, Mastercharge, or your personal (COMPU/iNoiVaX

check—we'll pay postage and handling.

[415] 321-2881 505 Hamilton Ave. Palo Alto, CA 94301

SOCIATES. INC.

Circle 53 on inquiry card.

lune 1979 © BYTE Publications Inc 141

PET / TRS-80 / APPLE: Personal Software brings you the finest!

X i Jfc. $ #■ t ap:

A A A A ▲ A i

1 HM1TE1

I black 1

-r n tk >,. rc r* — ;

ii | ki i i ii >' <

Ml CHESS

The Industry's First

Gold Cassette

Over 50,000 Sold

MICROCHESS is the industry's best selling computer game. And no wonder—because MICROCHESS gives you more than just a chessplaying program: A convenient, foolproof set of commands and error checks... complete instructions in a 5%™ by 8%" booklet... a cassette that's guaranteed to load, with disk versions coming soon ... and several levels of difficulty to challenge you not just once, but time after time. It's available through well over three hundred computer stores and many mail order sources ... always

originating from Personal Software. What's more, every Personal Software product is selected to give you these same benefits of easy availability, reliable cassettes, readable documentation, a carefully thought out user interface ... and most important, continuing challenge and enjoyment, not just once but time after time. If you haven't already, order your own gold cassette: MICROCHESS, by Peter Jennings, for 8K PETs, 16K APPLES, and 4K Level I and II TRS-80S $19.95

TIM TREK

A Tour De Force

In Real Time Action

Strategy Games

TIME TREK by Brad Templeton for 8K PETs and Joshua Lavinsky

for4K Level I and II TRS-SOs adds a dramatic new dimension to the classic Star Trek type strategy game: REAL TIME ACTION! You'll need fast reflexes as well as sharp wits to win in this constantly changing game. Be prepared—the Klingons will fire at you as you move, and will move themselves at the same time, even from quadrant to quadrant—but with practice you can change course and speed, aim and fire in one smooth motion, as fast as you can press the keys. Steer under power around obstacles—evade enejny

shots as they come towards you—lower your shields just long enough to fire your phasers, betting that you can get them back up in time! With nine levels of difficulty, this challenging game is easy to learn, yet takes most users months of play to master. ADD SOUND EFFECTS with a simple two-wire hookup to any audio amplifier; the TRS-80 also produces sound effects directly through the keyboard case, to accompany spectacular graphics explosions! You won't want to miss this memorable version of a favorite computer game $14.95

BLOCKADE by Ken Anderson for 4K

Level I and II TRS-80s is a real time action game for two players, with high speed graphics in machine language. Each player uses four keys to control the direction of a moving wall. Try to force your opponent into a collision without running into a wall yourself! A strategy game at lower speeds, BLOCKADE turns into a tense game of reflexes and coordination at faster rates. Play on a flat or spherical course at any of ten different speeds. You can hear SOUND EFFECTS through a nearby AM radio—expect some razzing if you lose! 14.95

GRAPHICS PACKAGE by Dan Fylstra for 8K PETs includes programs for the most common 'practical' graphics applications: PLOTTER graphs both functions and data to a resolution of 80 by 50 points, with automatic scaling and labeling of the axes; BARPLOT produces horizontal and vertical, segmented and labeled bar graphs; LETTER displays messages in large block letters, using any alphanumeric or special character on the PET keyboard; and DOODLER can be used to create arbitrary screen patterns and save them on cassette or in a BASIC

ELECTRIC PAINTBRUSH by Ken Anderson for 4K Level I and 11 TRS-SOs: Create dazzling real time graphics displays at speeds far beyond BASIC, by writing 'programs' consisting of simple graphics commands for a machine language interpreter. Commands let you draw lines, turn corners, change white to black, repeat previous steps, or call other programs. The ELECTRIC PAINTBRUSH manual shows you how to create a variety of fascinating artistic patterns including the one pictured. Show your friends some special effects they've never seen on a TV screen!...» $14.95

program $14.95

WHERE TO GET IT: Look for the Personal Software"" display rack at your local computer store. If you can't find the product you want, you can order direct with your VISA/Master Charge card by dialing 1-800-325-6400 toll free (24 hours, 7 days; in Missouri, dial 1-800-3426600). If you have questions, please call 617-783-0694. Or you can mail your order to one of the addresses below, as of the dates shown.

Until July 1: P.O. Box 136 Cambridge, Mass. 02138

Personal Software

TM

After July 1: 592 Weddell Dr. Sunnyvale, Calif. 94086

142

BYTE June 1979

Circle 302 on inquiry card.

Look for Personal Software™ products at the dealer nearest you!

DIM* CIIAII rvmril cnrTimnr _. ... ~

ALABAMA

BYTE SHOP

Huntsville. AL 3580b

COMPUTERLAND

Huntsville. AL 35805

CPU. INC.

Montgomery. AL 36104

THE LOGIC STORE

Opelika. AL 36801

ALASKA

ALPHA ELECTRONICS

Anchorage, AK 99503

ARIZONA

MILLET'S TV 8 RADIO

Mesa. AZ 85204

PERSONAL COMPUTER PLACE

Mesa. AZ 85202

COMPUTERLAND OF PHOENIX

Phoenix. AZ 85016

COMPUTER SHOWROOM

Tucson. AZ 85710

ARKANSAS

COMPUTERLAND

Little Rock. AR 72212

DATACOPE

Little Rock, AR 72204

CALIFORNIA

JAY-KERN ELECTRONICS

Bakerslield. CA 93305

BYTE SHOP

Burbank. CA 91506

BYTE SHOP OE SACRAMENTO

Citrus Heights, CA 95610

COAST COMPUTER CENTER

Costa Mesa, CA 92627

CAPITOL COMPUTER SYSTEMS

Davis. CA 95616

COMPUTERLAND SAN DIEGO EAST

El Caion, CA 92020

COMPUTERLAND OF EL CERRITO

El Cerrilo, CA 94530

BUSINESS ENHANCEMENT

COMPUSERVICE

Escondido, CA 92027

CHANNEL DATA SYSTEMS

Goleta.CA 93017

RAINBOW COMPUTING

Granada Hills. CA 91344

JADE COMPUTER PRODUCTS

Hawthorne. CA 90250

BYTE SHOP OF HAYWARD

Hay ward. CA 94541

COMPUTERLAND OF HAYWARD

Hayward, CA 94541

COMPUTERLAND OF WEST L.A.

Inglewood, CA 90302

COMPUTER COMPONENTS

OF SOUTH BAY

lawndale, CA 90260

COMPUTERLAND OF SOUTH BAY

Lawndale, CA 90260

A-VIOD ELECTRONICS

Long Beach, CA 90815

COMPUTERLAND

Los Altos, CA 94022

BYTE SHOP

Mountain View, CA 94040

HOBBY WORLD ELECTRONICS

Northndge, CA 91324

COMPUTERS-MADE-EASY

Palmdale, CA 93550

BYTE SHOP OF PLACENTIA

Placentia. CA 92670

COMPUTER CENTER

Riverside, CA 92503

CAPITOL COMPUTER SYSTEMS

Sacramento. CA 95821

COMPUTERLAND

San Bernadmo, CA 92404

COMPUTERLAND OF SAN DIEGO

San Diego. CA 92111

COMPUTER MERCHANT

San Diego, CA 92115

COMPUTERLAND OF

SAN FRANCISCO

San Francisco. CA 94105

VIDEO GAMES 8, COMPUTERS

San Francisco. CA 94118

COMPUTERLAND OF SAN JOSE

San Jose, CA 95129

COMPUTERLAND (Central)

San Leandro, CA 94577

BYTE SHOP

San Louis Obispo, CA 93401

MARIN COMPUTER CENTER

San Ralael. CA 94903

ADVANCED COMPUTER PRODUCTS

Santa Ana. CA 92705

BYTE SHOP

Santa Clara. CA 95051

COMPUTER FORUM

Santa Fe Springs. CA 90670

THE COMPUTER STORE

Santa Monica, CA 90401

SANTA ROSA COMPUTER CENTER

Santa Rosa. CA 95404

BYTE SHOP

Suisun. CA 94585

COMPUTERS PLUS

Sunnyvale. CA 94087

BYTE SHOP OF TARZANA

Tarzana, CA 91356

COMPUTERLAND OF

THOUSAND OAKS

Thousand Oaks. CA 91360

Circle 302 on inquiry card.

SMALL SYSTEM SOFTWARE

Thousand Oaks, CA 91360

COMPUTER COMPONENTS

Van Nuys, CA 91411

COMPUTERLAND

Walnut Creek. CA 94598

BYTE SHOP

Westminster. CA 92683

COMPUTER COMPONENTS OF

ORANGE COUNTY

Westminster, CA 92683

COLORADO

BYTE SHOP

Boulder, CO 80301

COMPUTERLAND

Colorado Springs, CO 80917

AMPTEC

Denver. CO 80216

COMPUTERLAND

Denver, CO 80222

BYTE SHOP

Englewood, CO 80110

MICRO WORLD ELECTRONIX

Lakewood, CO 80226

CONNECTICUT

COMPUTERLAND OF FAIRFIELD

Fairfield. CT 06430

JRV COMPUTER STORE

Hamden, CT 06518

THE COMPUTER STORE

Hartlord. CT 06103

THE COMPUTER STORE

Windsor Locks. CT 06096

WASHINGTON D.C.

COMPUTER CABLEVISION

Washington, D.C. 20007

FLORIDA

COMPUTERLAND

Boca Raton. EL 33432

THE COMPUTER STORE

Bradenton, FL 33505

THE COMPUTER STORE

Clearwater, FL 33516

UCATAN

Destin, FL 32541

BYTE SHOP

Fort Lauderdale. FL 33334

COMPUTERLAND

Fort Lauderdale. FL 33308

COMPUTERS FOR YOU

Fort Lauderdale, FL 33312

DATA MOVERS

Fori Meyers, FL 33901

FOCUS SCIENTIFIC ENTERPRISES

Miami, FL 33132

GRICE ELECTRONICS

Pensacola. FL 32589

COMPUTER AGE

Pompano Beach. FL 33062

PAPERBACK BOOKSMITH

Sarasota. FL 33581

AMF ELECTRONICS

Tampa, FL 33612

MICRO COMPUTER SYSTEMS

Tampa, FL 33609

COMPUTER CENTER OF

PALM BEACHES

West Palm Beach, FL 33409

GEORGIA

ADVANCE COMPUTER TECHNOLOGIES

Atlanta, GA 30328

COMPUSHOP '

Atlanta, GA 30342

DATAMART

Atlanta, GA 30305

THE LOGIC STORE

Columbus, GA 31906

COMPUTERLAND OF ATLANTA

Smyrna, GA 30080

HAWAII

COMPUTERLAND

Honolulu. HI 96813

MICROCOMPUTER SYSTEMS

Honolulu, HI 96813

RADIO SHACK (Dealer]

Lihue. HI 96766

IDAHO

NORTHWEST COMPUTER CENTER

Boise, ID 83704

ILLINOIS

COMPUTERLAND OF

ARLINGTON HEIGHTS

Arlington Heights, IL 03904

FARNSWORTH COMPUTER CENTER

Aurora. IL 60505

KAPPEL'S COMPUTER STORE

Belleville. IL 62220

DOW COM

Carbondale, IL 62901

BYTE SHOP

Champaign, IL 61820

THE ELEKTRIK KEYBOARD

Chicago. IL 60614

EMMANUEL B. GARCIA JR.

AND ASSOCIATES

Chicago. IL 60613

PERSONAL COMPUTER

Chicago. IL 61820

COMPUTERLAND

Downers Grove, IL 60515

COMPUTER STATION

Granite City, IL 62040

ORCUTT BUSINESS MACHINES

La Salle, IL 613D1

ILLINI MICROCOMPUTERS

Naperville, IL 60540

COMPUTERLAND OF NILES

Niles. IL 60648

COMPUTERLAND

Oak Lawn, IL 60453

COMPUTERLAND OF PEORIA

Peoria, IL 61614

WALLACE ELECTRONICS

Peoria. IL 61614

DATA DOMAIN

Schaumburg, IL 60195

INDIANA

DATA DOMAIN OF FORI WAYNE

Fort Wayne, IN 46805

HOME COMPUTER CENTER

Indianapolis. IN 46220

PUBLIC COMPUTING

Lafayette. IN 47904

IOWA

SYNCHRONIZED SYSTEMS

Des Moines. IA 50310

THE COMPUTER CENTER

Waterloo. IA 50701

KANSAS

THE COMPUTER ROOM

Overland Park. KS 66212

PERSONAL COMPUTER CENTER

Overland Park. KS 66206

COMPUTER SYSTEMS DESIGN

Wichita. KS 67214

LOUISIANA

COMPUTER SHOPPE

Metaire. LA 70002

MARYLAND

COMPUTERLAND

Rockville. MD 20855

COMPUTER WORKSHOP

Rockville. MD 20852

COMPUTERS ETC

Towson, MD 21204

COMPUTERS UNLIMITED

Towson, MD 21204

MASSACHUSETTS

THE COMPUTER STORE

Burlington, MA 01803

THE COMPUTER STORE

Cambridge. MA 02139

CPU SHOP

Charlestown, MA 02129

MAO HATTER SOFTWARE

Dracut, MA 01826

NEW ENGLAND ELECTRONICS

Needham, MA 02194

NEW ENGLAND ELECTRONICS

Springfield, MA 01103

MICHIGAN

NEWMAN COMPUTER EXCHANGE

Ann Arbor, Ml 48104

NEW DIMENSIONS IN COMPUTING

East Lansing, Ml 48823

COMPUTER HOUSE DIV.

Jackson. Ml 49202

COMPUTERLAND OF

GRAND RAPIDS

Kentwood. Ml 49508

COMPUTRONIX

Midland. Ml 48640

COMPUTER MART OF ROYAL OAK

Royal Oak. Ml 48073

TRI CITY COMPUTER MART

Saginaw, Ml 48603

COMPUTERLAND

Southlield, Ml 48034

LEVEL FOUR PRODUCTIONS

Westland. Ml 48185

MINNESOTA

COMPUTERLAND

Bloomington, MN 55431

MINN. MICRO SYSTEMS

Minneapolis, MN 55454

MISSISSIPPI OXFORD SOFTWARE CO.

Oxford. MS 38655

MISSOURI

FORSYTHE COMPUTERS

Clayton. MO 63105

COMPUTER COUNTRY

Florissant. MO 63031

GREATEST GRAPHICS

Springfield. MO 65804

NEBRASKA

OMAHA COMPUTER STORE

Omaha. NE 68127

NEVADA

HOME COMPUTERS

Las Vegas. NV 89109

NEW HAMPSHIRE

TRS-80 SOFTWARE EXCHANGE

Millord, NH 03055

COMPUTERLAND OF NASHUA

Nashua, NH 03060

BITS, INC.

Peterborough, NH 03458

NEW JERSEY

COMPUTER LAB OF NJ

Budd Lake. NJ 07828

COMPUTER EMPORIUM

Cherry Hill. NJ 08002

COMPUTER MART OF NJ

Iselin, NJ 08830

MSM ELECTRONICS

Medford. NJ 08055

COMPUTERLAND

Moms'town, NJ 07960

COMPUTERLAND

Paramus. NJ 07652

COMPUTER NOOK

Pine Brook. NJ 07058

COMPUTER CORNER

Pompton Lakes. NJ 07442

COMPUTER ENCOUNTER

Princeton, NJ 08540

1YPTRONIC COMPUTER STORE

Ramsey, NJ 07446

NEW YORK

COMPUTERLAND

Buffalo, NY 14150

COMPUTERLAND

Carle Place, NY 11514

COMPUTER SHOP OF SYRACUSE

De Witt, NY 13214

THE COMPUTER TREE

Endwell, NY 13760

LONG ISLAND COMPUTER

GENERAL STORE

Lynbrook. NY 11563

COMPUTER MICROSYSTEMS

Manhasset. NY 11030

COMPUTER SHOPPE

Middle Island, NY 11953

THE COMPUTER FACTORY

New York. NY 10017

COMPUTER MART OF NEW YORK

New York, NY 10016

DATEL SYSTEMS

New York. NY 10036

AUTOMATIC SYSTEMS

Poughkeepsie. NY 12603

COMPUTER HOUSE

Rochester. NY 14609

THE COMPUTER STORE

Rochester, NY 14618

HOME COMPUTER CENTER

Rochester, NY 14607

THE COMPUTER CORNER

White Plains, NY 10601

READOUT COMPUTER STORE

Wilhamsville. NY 14221

NORTH CAROLINA

BYTE SHOP

Charlotte, NC 28212

COMPUTERLAND

Charlotte, NC 28205

FUTUREWORLD

Durham, NC 27707

BYTE SHOP

Greensboro. NC 27401

MICROCOMPUTER SERVICES

Hickory, NC 28601

BYTE SHOP OF RALEIGH

Raleigh, NC 27605

OHIO

BASIC COMPUTER SHOP

Akron, OH 44314

CINCINNATI COMPUTER STORE

Cincinnati. OH 45246

21ST CENTURY SHOP

Cincinnati. OH 45202

DIGITAL DESIGN

Cincinnati, OH 45202

CYBER SHOP

Columbus, OH 43227

MICRO MINI COMPUTER WORLD

Columbus, OH 43213

COMPUTER SOLUTIONS

Dayton. OH 45409

DAYTON COMPUTER MART

Dayton, OH 45409

ASTRO VIDEO ELECTRONICS

Lancaster, OH 43130

COMPUTERLAND OF CLEVELAND

Mayfield Heights. OH 44121

RADIO SHACK (Dealer]

St. Clairsville. OH 43950

OKLAHOMA

HIGH TECHNOLOGY

Oklahoma City. OK 73106

MICROLITHICS

Oklahoma City, OK 73127

HIGH TECHNOLOGY

Tulsa, OK 74129

OREGON

THE COMPUTER STORE

Corvallis. OR 97330

CAMERA AND COMPUTER

EMPORIUM

Portland, OR 97205

COMPUTERLAND OF PORTLAND

Tigart, OR 97223

PENNSYLVANIA

BYTE SHOP

Bryn Mawr. PA 19010

PERSONAL COMPUTER CENTER

Frazer, PA 19355

COMPUTER AID

Lafrobe. PA 15650

THE COMPUTER WORKSHOP

Murrysvillc, PA 15668

P.S.: VISICALC—Howdidyou ever do without it?

A B COMPUTERS

Perkasie, PA 18944

MICROTRONIX

Philadelphia, PA 19106

SOUTH CAROLINA

DATA MART

Greenville. SC 29607

TENNESSEE

MICROCOMPUTER STORE

Knoxville. TN 37919

COMPUTER LABS OF MEMPHIS

Memphis, TN 38117

DOC'S COMPUTER SHOP

Nashville, TN 37211

TEXAS

COMPUTERLAND OF AUSTIN

Austin. TX 78757

COMPUTERS 'N THINGS

Austin, TX 78731

MICRO COMPUTER SHOPPE

Corpus Chnsh, TX 78411

COMPUSHOP

Dallas. TX 75243

COMPUTERLAND

Dallas, TX 75231

KA ELECTRONICS SALES

Dallas. TX 75247

COMPUTER TERMINAL

El Paso. TX 79901

RAM MICRO SYSTEMS

Fori Worth. TX 76116

COMPUTERCRAFT

Houston, TX 77063

COMPUTERLAND OF HOUSTON BAY

Houston, TX 77058

NEIGHBORHOOD COMPUTER

Lubbock. TX 79401

COMPUTER PATCH OF SANTA FE

Odessa. TX 79762

COMPUSHOP

Richardson. TX 75080

THE COMPUTER SHOP

San Antonio. TX 78216

COMPUTER SOLUTIONS

San Antonio, TX 78229

WICHITA COMPUTER SYSTEMS

Wichita Falls. TX 76301

UTAH

ADP SYSTEMS

Logan, UT 84321

COMPUTER CONCEPTS GROUP

Sail Lake City, UT 84109

THE HI-FI SHOP

Sail Lake City. UT 84117

VERMONT

COMPUTERMART

Essex Junction. VT 05452

VIRGINIA

COMPUTER HARDWARE STORE

Alexandria. VA 22314

COMPUTERS PLUS

Alexandria, VA 22304

COW, INC.

Blacksburg, VA 24060

HOME COMPUTER CENTER

Newport News. VA 23606

COMPUTER TECHNIQUES

Richmond, VA 23235

THE COMPUTER PLACE

Roanoke, VA 24015

CCiMPUTER WORKSHOP

Springfield, VA 22151

COMPUTERLAND

Vienna, VA 22180

HOME COMPUTER CENTER

Virginia Beach, VA 23452

WASHINGTON

OMEGA NORTHWEST

Bellevue. WA 98004

COMPUTERLAND OF SOUTH

KING COUNTY

Federal Way, WA 98003

YE OLOE COMPUTER SHOPPE

Richland. WA 99352

THE COMPUTER SHOPPE

Seattle. WA 98115

EMPIRE ELECTRONICS

Seattle. WA 98166

PERSONAL COMPUTERS

Spokane. WA 99202

COMPUTERLAND

Tacoma, WA 98499

WISCONSIN

BYTE SHOP OF MILWAUKEE

Greenfield. Wl 53227

COMPUTERLAND

Madison. Wl 53711

MADISON COMPUTER STORE

Madison. Wl 53711

COMPUTERLAND

Milwaukee, Wl 53222

FOX VALLEY

COMPUTER STORE

Neenha, Wl 54956

WYOMING

COMPUTER CONCEPTS

Cheyenne. WY 82001

AUSTRALIA

ELECTRONIC CONCEPTS PTY. LTD.

COMPUTERLAND

Sydney, N.S.W.

CANADA

COMPUSHOP

Calgary, Alberta T2N 2A4

THE COMPUTER SHOP

Calgary, Alberta T2T 4T9

ORTHON COMPUTERS

Edmonton, Alberta T5N 3N3

1JB MICROSYSTEMS

Edmonton, Alberta T5M 0H9

CONTI ELECTRONICS

Vancouver. B.C. V5W 2Z4

COMPUTER CITY

Winnepeg, Manitoba R3P 0H8

COMPUTERLAND

Winnepeg, Manitoba R3G 0M8

INTERACTIVE COMPUTER SYSTEMS

Fredenckton, New Brunswick

MINICOMP SYSTEMS

Halifax, Nova Scotia B3K 2G1

KOBETEK SYSTEMS

Wolfville. Nova Scotia BOP 1X0

COMPUTERLAND

Burlington. Ontario

LYNTRONICS

Oownsview, Ontario M2J 2W6

COMPUTER CIRCUITS

London, Ontario N6A 3H2

COMPUMART

Ottawa, Ontario K2A 1J2

COMPUTER INNOVATIONS

Ottawa. Ontario K1B 4A8

RICHVALE TELECOMMUNICATIONS

Richmond Hill, Ontario

THE COMPUTER CENTRE

Sarnia, Ontario N7T 1B4

COMPUTER MART

Toronto. Ontario M4G 3B5

THE COMPUTER PLACE

Toronto, Ontario M5V 1Z1

COMPUTER SPECIALIST

Toronto. Ontario M3K 1E7

HOME COMPUTER CENTRE

Toronto. Ontario M2M 3W2

HOUSE OF COMPUTERS

Toronto. Ontario

MARKETRON

Toronto. Ontario

MICRO-WARE

Toronto, Ontario M4E 2L2

COMPUCENTRE

Montreal Quebec H1J 1Z4

FIJTUR BYTE

Montreal. Quebec H3B 3C9

CUSTOM COMPUTING SERVICES

Saskatoon, Saskatchewan S7K 285

DIGITAL SERVICE

Saskatoon, Saskatchewan S7J 3A9

PUERTO RICO

MICROCOMPUTER STORE

Rio Piedras, PR 00921

ENGLAND

BYTE SHOP

IIlord. Essex

INFOGUIDE

London

CYTEK

Manchester M4 3E4

PETSOFT

Newbury. Berkshire RG13 1PB

KEEN COMPUTERS

Nottingham NG7 1FN

T & V JOHNSON

MICROCOMPUTERS

Camberly. Surrey

PETALECT

Woking, Surrey

J8J ELECTRONICS

Bexhill-on-Sea. East Sussex

OPTRONICS

Twickenham TW1 4RY

DENMARK

MICRO SYS

Copenhagen V1BYJ

FRANCE

SVEA

Pans 75008

GERMANY

BECK COMPUTERS

8 Munchen 70

ING.W HOFACKER

8 Munchen 75

HOLLAND

COMPUTRON

Den Haag 2502 ER

ITALY

HOMIC MICROCOMPUTERS SRL

20123 Milano

SCOTLAND

MICRO CENTRE

Edinburgh EH3 5AA

SINGAPORE

THE COMPUTER CENTRE PTE 1TD

Singapore 7

SWEDEN

MICROFUTURE

Stockholm 10322

SEMIDAKO

Uppsala 75353

SWITZERLAND

INTERFACE TECHNIC

Basel

INGENIEUBUREAU

Basel 1

DIALOG COMPUTER

Lucerne

ELBATEX

Wettmgen

BYT! |une l<J79

143

1 INPUT "WIND, MPH: ",W

2 PRINT "WHEEL ANGLE, DEGREES",

3 PRINT TAB(25),"CAR DEVIATION, FEET"

4 FOR J=1 TO 10

5 PRINT %7F1," ",A*10,

6 PRINT%7F1,TAB(25),I

7 D=.05*W+A

8 l=l+D

9 A1=-2*(I+.8*D)

10 A=A+.200*(A1-A)

11 NEXT

12 GOTO 1

13 END

RUN

WIND, MPH: 20

WHEELANGLE, DEGREES

CAR DEVIATION,

FEET

.0

.0

-7.2

1.0

-11.8

1.3

-13.3

1.1

-12.7

.8

-11.3

.5

-10.1

.4

-9.5

.4

-9.4

.4

-9.6

.5

WIND, MPH: -30

WHEELANGLE, DEGREES

CAR DEVIATION,

FEET

-9.8

.5

8.0

-2.0

19.3

-2.7

23.1

-2.2

21.6

-1.4

18.3

-.8

15.4

-.4

13.8

-.4

13.6

-.5

14.0

-.7

WIND, MPH: 40

WHEELANGLE, DEGREES

CAR DEVIATION,

FEET

14.6

-.8

-10.1

2.7

-26.0

3.7

-31.2

3.1

-29.2

2.0

-24.6

1.0

-20.5

.6

-18.4

.5

-18.0

.7

-18.6

.9

WIND, MPH: -50

WHEELANGLE, DEGREES

CAR DEVIATION

FEET

-19.5

1.0

12.3

-3.4

32.6

-4.7

39.3

-3.9

36.8

-2.5

30.9

-1.3

25.7

-.7

22.9

-.6

22.4

-.9

23.2

-1.1

Listing 1: A rough simulation of Chip driving the car in a straight line. Each iteration is assumed to correspond to a fixed time interval. Therefore, the distance the car drifts away from straight line travel is the sum of the wind and steering wheel angle. The simulation shows Chip trying to arrive at the wheel angle which will counteract the force of the blowing wind. If you repetitively use the same wind value, you will see that a steady wheel angle is arrived at. [I found it interesting that this simulation seems to settle down within 60 time units to a consistent value. Even changing wind values from +1000 to —1000 units was compensated for within 60 time units— RGAC/

an integrator, and so puts a lag into the control process. This alone would not cause a problem, but Chip also contains a transport lag; he cannot actually produce an output at' the same instant that the input occurs, nor can our program since it is evaluating equations one at a time. The integration lag we take care of by adding to the position I (which Chip senses) the variable D, which is approximately the first derivative of the input quantity. He senses the input quantity with some emphasis on its rate of change, which is actually a realistic model of human perception. This part of the stabilizing of the control action is done in step 9:

9 A1 =K3* (I +0.8* D)

We have computed a variable A1, the angle which the wheel would assume if Chip reacted instantly. But to handle the transport lag, we must slow his reponse, letting only a fraction K5 (between 0 and 1) of it occur during any one iteration. That is what step 10 does:

10 A = A+ K5* (A1 -A)

This slowing technique will be used in the larger simulator next time. To see how it works, set A1 to 10.00, K5 to 0.25, and A to 0, and then simply keep doing step 10 with pencil and paper. A will gradually approach the value of A1 from any starting point.

The program in listing 1 asks for a wind velocity, and then proceeds to do ten iterations of the control loop, printing wheel angle A and car position deviation I each time. A positive number means the wind is blowing, the wheel is cocked, or the car has moved to the right. If you want to follow the program for more than ten iterations, give it the same wind again. It always starts where it left off.

In part 2, we will begin exploring a model of the kind described in figure 4 and start the somewhat mind boggling task of retraining the intuition to think in closed loop terms instead of straight through cause and effect. There is a big difference. We'll see that, in general, control systems control what they sense, not what they do. We'll discover something called a reference signal, which functions in a control system exactly the way an inner purpose has always been supposed to function. In part 2, we'll see how perception figures into control. And we'll start working with a more extended BASIC simulator than the tiny one in listing 1. Parts of this simulator will be suitable for building into the computer part of a robot, should anyone want to carry matters that far."

144

lune 1979 © BYTE Publications Inc

Circle 97 on inquiry card.

DIABLO PROVES LOOKS ARE EVERYTHING.

With Diablo's printers and terminals, you can always be sure that beauty will be in the eyes bf the beholder. Because no one knows more about print wheel technology than the company that invented it in the first place.

Diablos metal and plastic wheel printers have established industry standards for crisp, clear characters, proportional spacing, and uniform density.

So, when you're ready to choose a printer for your own computer, pick the one that produces "picture perfect" originals eveiy time.

If you really want to look good, remember this. With Diablo, you'll always look your best. • 1 1

Diablo Systems

/

f

Visit us at Personal Computing Festival booths 16 & 17. Diabltfisa rwasterd trademark of XEROX CORPORATION.

The 1802 Op Codes

Henry Melton

2511 Dovemeadow Dr

Austin TX 78744

The RCA/Hughes 1802 is an 8 bit microprocessor with a small but growing following. Its ease of interface and low CMOS power requirements make it attractive for many small applications. The accompanying chart of op codes for the 1802 illustrates all of the 255 variations. I have used the RCA mnemonics.

The 1802 is organized around sixteen 16 bit registers. These can be used as pro

gram counters, index registers, subroutine pointers, and general data storage registers. The interrupt and direct memory access features of the 1802 also make use of specific registers for their operation. There is an 8 bit accumulator (D), and three 1 bit flags: DF for the carry flag, IE for the interrupt enable flag, and Q for the direct output flag. There are also four 4 bit registers: two to hold the current op code, one

Branch and skip

;

— Input/output operations

— Immediate operand instructions

0

1

2

3

4

5

6

7

8

9

A

B

c

D

E

F

0

IDL

1

LDN 1 1

LDN 2 1

LDN 3 1

LDN 4 1

LDN 5 1

LDN 6

1

LDN 7 1

LDN 8 1

LDN 9 1

LDN A

LDN B

LDN C 1

LDN D 1

LDN E

1

LDN F 1

1

1NC0 1

INC 1 1

INC 2

1

INC 3 1

INC 4

1

INC 5 1

INC6 1

INC 7 1

INC 8 1

INC 9 1

INC A

1

INC B

1

INCC

1

INC D

1

INC E 1

INC F 1

2

DECO 1

DEC 1

1

DEC 2 1

DEC 3

1

DEC 4

1

DEC 5

1

DEC 6 1

DEC 7 1

DECS

1

DEC 9

1

DEC A

1

DECB

1

DECC

1

DEC D

1

DEC E

1

DEC F

1

3

BR 2

BQ 2

BZ 2

BDF.BPZ BFE 2

B1 2

82 2

B3 2

B4 2

NBR.SKP 1

BNO 2

BNZ 2

BNF.BM BL 2

BN1 2

BN2 2

BN3 2

BN4 2

4

LDAO

1

LOA 1 1

LDA2

1

LDA3

1

LOA 4 1

LDA5

1

LDA6 1

LDA7

1

LDA8

1

LDA 9

1

LDA A

1

LDAB

1

LDA C 1

LDA D

1

LDA E

1

LDA F

1

5

STR0 1

STR 1

STR 2

STR 3

1

STR 4 1

STR 5 1

STR 6 1

STR 7 1

STR 8

1

STR 9 1

STR A 1

STR B

1

STRC

1

STR D 1

STR E 1

STR F 1

6

IRX 1

OUT 1

1

OUT 2 1

OUT 3 1

OUT 4

1

OUTS 1

OUT 6

OUT 7

IN 1 :

1 ■;*

IN 2

IN 3 1

IN 4 J

INS

1. •:

IN 6 1

IN 7 1

i 7 9 h

RET 1

DIS 1

LXDA 1

STXD 1

ADC 1

SDB

1

SHRC

RSHC

1

SMB 1

SAV

1

MARK

1

REQ

SEQ

t ...

ADCI '■;

■SDBI ,\

SHLC RSHL

1

SMBI ,

b b

GLOO 1

GL0 1

1

GL0 2 1

GL0 3

GL0 4

1

GL0 5

1

GL0 6 1

GL0 7 1

GL0 8

1

GL0 9

1

GLO A

1

GLO B

1

GLOC 1

GLOD 1

GLO E

1

GLO F 1

b 9

GHIO

1

GHI 1 1

GHI 2

1

GHI 3 1

GHI 4 1

GHI 5

1

GHI 6

1

GHI 7 1

GHI 8

1

GHI 9

1

GHI A 1

GHI B 1

GHI C 1

GHI D 1

GHI E

1

GHI F 1

A

PLO0 1

PLO 1 1

PLO 2 1

PLO 3

1

PLO 4 1

PLO 5 1

PLO 6 1

PLO 7 1

PLO 8 1

PLO 9

1

PLO A

1

PLOB 1

PLOC 1

PLOD

1

PLO E 1

PLO F 1

B

PHI 0

1

PHI 1

1

PHI 2 1

PHI 3 1

PHI 4

1

PHI 5 1

PHI 6

1

PHI 7 1

PHI 8

1

PHI 9

PHI A 1

PHI B

1

PHI C

1

PHI D 1

PHI E

1

PHI F 1

c

LBR 3

LBQ 3

LBZ

3

LBDF 3

NOP 1

LSNQ 1

LSNZ 1

LSNF 1

NLBR

LSKP

1

LBNO 3

LBNZ 3

LBNF 3

LSIE

1

LSQ 1

LSZ

1

LSDF

1

D

SEPO 1

SEP 1 1

SEP 2

1

SEP 3

1

SEP 4 1

SEP 5 1

SEP 6 1

SEP 7 1

SEP 8

SEP 9 1

SEP A

1

SEPB

1

SEPC 1

SEPD 1

SEP E 1

SEP F 1

E

SEXO 1

SEX 1

1

SEX 2

1

SEX 3

1

SEX 4 1

SEX 5 1

SEX6

1

SEX 7 1

SEX 8

1

SEX 9 1

SEX A

1

SEX B

1

SEXC

1

SEX D 1

SEX E

1

SEX F 1

F

LDX 1

OR

1

AND 1

XOR 1

ADD 1

SD 1

SHR

1

SM

SldiSSJS;

OR, |

■ 2 .'-:

ANI 1

XRI < 2 \v

ADl ■: 2

VSDIN$S 2^

SHL

1

SMI 3

Table 1: RCA/Hughes 1802 instruction set. The op codes and the number of bytes used by each are shown.

146 June 1979 © BYTE Publications Inc

to designate which of the R registers is the program counter, and one to designate which of the R registers is the index pointer. Lastly, there are four EF external pins that are sensed as conditional branch flags.

11 commands make up the bulk of the 1802 op codes. Each is 1 byte in length, with the first nybble designating the operation, and the last nybble acting as a 4 bit immediate operand. They account for 175 of the op codes (LDN does not operate on register 0) and allow data transfer to and from the R indexed memory, incrementing and decrementing the R registers, and setting the P and X registers. There are four major operations (hexadecimal 80 through BF) that move bytes of data between the accumulator and the two halves of the 16 bit registers.

The arithmetic and logical operations use the accumulator with either the immediate data or the indexed memory contents as the other operand.

There are three types of branches. The short branch uses the immediately following byte as the next address in the local 256 block of memory space. This is not a relative jump; the immediate data just replaces the low byte of the program counter. The long branch uses the two following bytes, high byte first, to construct the branching address. The skip instructions skip over following instructions if the tested condition is true. The short skip skips only one byte, but all the others skip over two bytes of code. Notice that the short branch instructions include the external flags as possible testable conditions, allowing quick direct serial input.

There is also a set of I/O (input/output) instructions to transfer a byte to or from one of seven possible I/O ports. The external Q pin can be set or reset to give quick direct serial output.

The SAV, MARK, RET, and DIS instructions can be used to implement recoverable interrupt and nested subroutines by using a stack in memory.

The last instructions are NOP and IDL. The IDL instruction places the machine on hold until an interrupt or direct memory access request occurs.

The 1802 is a well-designed computer package, and CMOS is the technique in battery powered applications."

AMILY OF DISK

FOR THE TRS Ipn

We are the first manufacturer to offer you a complete family of add-on disk drives for your TRS-80. Select from single head or dual head Units. Each comes complete with Power Supply and Chassis.

n M

SINGLE HEAD DRIVES

TF-1X Choose Pertec FD-200 or MPI $379

TF-3 Shugart SA 400 $389

DUAL HEAD DRIVE

TDH-2 Dual Headed minifloppy, includescable $699

CABLES TFC-2 two drive cable $25, TFC-4 four drive cable $35

TRS-80 PERIPHERALS & SUPPLIES

PRINTERS

LP779TR Centronics Model 779 with tractors $1179

LP1 Centronics Model P1 $399

Integral Data w/tract. $949

Cables (Centronics) $39

MEMORY

16KM 16K RAM Kit $74

NEW PRODUCTS

AC-1 A.C. Line Interference Eliminator $18.95

NKP Numeric 16-Key Pad Kit $68

TRS-80 Disk $169

Small system RS232 $49

DISKETTES

VERBATIM 5" Soft sector $3.59

TRS-80 SOFTWARE

BRAND NEW DOS +

With utilities Accounts Receivable Inventory Control Job Entry/Status

Special tgc Intro Price a,ao

$39 $39 $75

SEND FOR FREE PRODUCT CATALOG

BUY IT ALL... HARDWARE/SOFTWARE... FROM ONE SOURCE-TWO LOCATIONS TO SERVE YOU

APPARAT, INC.

6000 E. Evans Ave. Bldg. Denver. CO. 80222

303-758-7275

MICROCOMPUTER TECHNOLOGY INC.

2080 S. Grand Ave. Santa Ana. CA. 92705

714-979-9923

ORDERING INFORMATION: Cash, check. Money Order or Credit Card (MC or VISA). COD'S require 20% deposit. Orders will be piocessed and shipped within 3 10 10 days ol receipt ol order Customers will Pc notified of any delay ovei 30 days.

Circle 217 on inquiry card.

lune 1979 © BYTE Publications Inc

147

The History of Computing

The IBM 7070

IBM 7070s undergoing final checkout before shipment.

An IBM 7070 operator's console.

A typical IBM 7070

configuration. The engineering console

(for repair diagnostic information) is in the table in the foreground.

148 lune 1979 © BYTE Publications Inc

The second computer generation is said to have begun with the advent of the transistor. An equally important advance was the realization that most programmers would soon be programming not in symbolic machine language but in machine independent high level languages. This led hardware designers to build instructions that simplified compiling of programs, such as editing, table lookup and string scanning instructions. Some of these instructions are found in the IBM 7070, announced in 1959.

The 7070, like the 650, was built around a 10 digit signed decimal word. Signs and digits were stored in a two-outof-five code; five bits were used to represent a digit, of which exactly two were "on". The five bits were assigned values of 0,1,2,3 and 6, so a little fudging had to be followed in order to represent 0. Since 3 can be represented two ways, 0-3 or 1-2, the former was used as the value for 3 and the latter for 0. Alphabetic characters were represented by digit pairs; hence, only five letters could be stored in a word. To distinguish between alphabetic and numeric representation, three signs were allowed: + , —, and @, represented by the codes for 9, 6, and 3, respectively.

Two memory sizes, 5,000 and 9,990 words, were available. The larger size could have been 10,000 words, but addresses 9991-9999 referred to addressable registers, including three accumulators. The small memory size was seen as a drawback, but a remarkably powerful instruction set tended to offset this problem. The 7070 might have been the start of a new decimal based family of computers if IBM had added a memory paging feature to allow for expansion.

The instruction format used the sign and first two digits as an operation code, two digits for an indexing address, two digits for field definition or instruction augmentation, and four digits for an address. Hence, 200 different instruction types and 99 index words were possible. In fact, 190 instructions were implemented, and memory locations 0001 through 0099 could be used as index "registers." Field definition allowed arithmetic to be performed on parts of words. If field definition 58 was specified in an ADD instruction, the contents of digit positions 5 thru 8 of the addressed value would be added to the specified accumulator.

I/O (input/output) units did not look much different from first generation equipment, but in fact embodied several

significant improvements. Magnetic tape units could read and write in low (200 bits per inch) or high density (556 bits per inch). Data channels allowed overlap of data transfer and processing, and a priority I/O scheme allowed for simultaneous peripheral operation on line —spooling, as it is still called. The idea behind spooling is that punched cards may be read and lines printed during times when the machine is simultaneously doing something else. The main program gets and puts records on a faster medium, such as a disk, and is therefore not forced to wait for the relatively slow card reader or printer.

File handling capability on the 7070 was very sophisticated due to a feature called block transmission. A record could be read into several noncontiguous blocks of memory under control of RDWs (record definition words). The programmer specified in a tape read instruction the unit number of the tape to be read and the address of the first of a sequence of one or more record definition words. Each definition contained the starting and ending address of a block (set of consecutive words) into which data was to be read. Each record definition word in the sequence had a positive sign except the last one, which was negative. If the physical record ended before all definitions were exhausted, the remaining were ignored. If the last record definition word was exhausted before the end of the record was reached, the remaining data were not transferred into memory. When a record was written, record definition words were similarly used to gather data from various parts of memory without actually transferring them into one contiguous memory block.

Variable length records could also be handled easily through use of a tape read per record mark control instruction. A record mark was a special character having the keypunch code 0-2-8, which was written as a not equal sign (=£). When the tape was read under record mark control, the normal sequence of data transmission to storage via record definition words was followed until a record mark was read. This caused the 7070 to cease transmission of data to the block specified by the current definition and to move on to the next.

For example, suppose a tape record contained:

ABCDEFGHI*JKLM*NOPQR

and a tape read per record mark control

Keith S Reid-Green

Member of Technical Staff

RCA, David Sarnoff Research Center

Princeton NJ 08540

June 1979 © BYTE Publications Inc 149

Up Your Output.

TEMPOS

MULTI-TASKING!

The TEMPOS Operating System is quickly becoming the standard in MultiUser, Multi-Tasking operating systems for 8080 and Z80 microcomputers. Multi-Tasking means that, even with only one user at one terminal, more than one job can be running on the system simultaneously! If you have ever had to go get a cup of coffee while you wait for your computer to print listings, you know the advantages of a system that will handle one job while you are working on another. TEMPOS is a true time sharing system, and the maximum number of jobs is limited only by your memory.

MULTI-USER!

Want to share your computer with another user? With TEMPOS all it takes is another terminal... up to seven interactive terminals are allowed! And with Re-Entrant programs, each user does not need a complete copy in memory. We include three Re-Entrant programs (the OPUS/THREE HighLevel Language, the TEXTED Text Editor, and FILES, a disc file directory/manipulator) or write your own! In addition, we include an assembler, a linking loader, over a half-dozen other utility programs and over 60 system subroutines, callable by the programmer!

PROVEN!

With TEMPOS, you get a package that has been tested in our facilities for over two years, and in the field at over 50 different installations. We have used this system ourselves for everything from writing high-level languages to developing applications to text editing to games. TEMPOS is undoubtedly the most flexible software tool on the market. . . and you can have it for much less than you think!

COMPATIBLE!

TEMPOS is available for many different systems; pre-written drivers may include yours. Or, using our interactive System Generation Routine, you can add your own. Call or write noixi for our free catalog and the name of a dealer near you. The TEMPOS Operating System is available for $787.00, the manual set (price may be credited toward the purchase of the TEMPOS package) for $21.50 (prices include shipping within the U.S.).

ADMINISTRATIVE □□SYSTEMS □□□INC □□

1642 S. Parker Road, Suite 300, Denver, Colorado 80231 (303) 755-9694

instruction referred to the record definition words:

+ 0010001005 + 0014601480 -0019992999

words 1000 thru 1005 words 1460 thru 1480 words 1999 thru 2999,

ABCDE would be read into location 1000, FGHI into 1001, JKLM into 1460 and NOPQR into 1999.

A major problem arose because of the special nature of alphabetic data. In first generation computers, conventions had been established regarding coding of alphabetic characters on tape, and these conventions were carried on into the 7070. Some means of differentiating between alphabetic and numeric data had to be established, however, since the old-fashioned "overpunched" numeric sign used in unit-record equipment and early computers could not always be distinguished from alphabetic characters. This problem was resolved on the 7070 by assuming that a tape was alphabetic until a delta character was read, whereupon the delta was not transferred into memory, but served instead to change the mode of data transfer to numeric. The next delta flipped the mode back to alphabetic, and so on. A delta on the seven track BCD (binary coded decimal) tape (in which the tracks were labeled CBA8421) consisted of the CB8421 bits. Thus the three words:

+ 0123443210 -5678998765 ©7461796368

would be written on tape as A01234432105678998765AMARCH. When reread into a 7070, a perfect translation took place back into the three words shown above. However, when read into any other computer, the delta characters transferred into memory, giving IBM 1401 programmers considerable annoyance. Nevertheless, it is safe to say that the 7070 represented a very large step between first generation and modern computers. Most apparent among the second generation refinements was the recognition that computers did not have to be classified as commercial or scientific machines but in fact could be used to solve problems in both of the disciplines. On the one hand, the record definition word concept made sorting extremely fast, while hardware implemented floating point instructions were available for calculation. ■

150

June 1979 © BYTE Publications Inc

Circle 2 on inquiry card.

A LOT l£S$ THAN YOU EXPECT.

Less Cost

Less Hassle

The INFO 2000 Disk System eliminates the "I/O configuration blues" by incorporating all necessary interface ports. A CP/M Loader and all I/O drivers are contained in EPROM so there is no need for special software customization. Just plug the system into your S-100 microcomputer and begin immediate operation using the CP/M disk operating system. The INFO 2000 Disk System is supported by the most extensive library of software available, including 3 different BASICs, 2 ANSI FORTRAN IVs, several assemblers, text editors, debugging tools, utilities and numerous applications packages.

Less Errors

This disk system uses full size 8" diskettes and standard IBM 3740 recording format. So you're assured superior protection against errors, and full interchangeability with other CP/M-based systems.

The DISCOMEM Controller board costs us less to manufacture. So your complete INFO 2000 Disk System costs you less - at least $400 less than comperable disk systems.

Less Hardware

Only three S-100 boards are needed to create a complete, high-performance disk-based microcomputer system-the DISCOMEM Controller Board, a 32K memory board, and any 8080, 8085 or Z80 CPU board. You don't need extra interface or EPROM boards since DISCOMEM contains 2 serial ports, 3 parallel ports and provision for 7K of EPROM and IK of RAM.

LessTime

The INFO 2000 Disk System is incredibly fast! Using the PerSci Drives with voice coil positioning, disk seek times are up to 8 times faster than with other drives. A full disk-to-disk copy and verification takes well under a minute. Formatting and verifying a new diskette takes less than half a minute. Reloading CP/M* from diskette takes a fraction of a second.

Less Space

The system is remarkably compact, requiring only 1/2 to 1/3 the space taken by other 2-drive disk systems.

It all adds up to more capability for your money.

The complete INFO 2000 Disk System comes completely assembled and tested. It includes dual" diskette drives, the DISCOMEM Controller, power supply, cabinet, cables and the CP/M disk operating system—everything you need for immediate plug-in-and-go operation with your microcomputer. This means less time, hassle, hardware, space, errors and less money than for comparable equipment. Now, isn't that a lot less than you'd expected in a dual disk system? INFO 2000 Disk Systems are also available for Digital Group and Heath H8 microcomputers. Dealer inquiries welcomed.

tCP/M is a registered trademark of Digital Research. 'Extra cost option.

Circle 173 on inquiry card.

CORPORATION

20620 South Leapwood Avenue Carson. California <?074<S

(213) 532-1702

BY 11 lane 1979

151

Artificial Intelligence

and Entropy

R M Kiehn Physics Dept University of Houston Houston TX 77004

Although this article is written with a sense of science fiction creativity and speculation, the concepts involved are based on sound ideas that recently won for llya Prigogine the 1977 Nobel prize (see reference 1). No longer can it be said that the laws of thermodynamics prohibit the creation of artificial intelligence.

Computer intelligence has long been a hazy dream in many enthusiasts' eyes, but so often that gleam has been glazed over by a rational response from the scientific community: "You can get out of any computer only what you put in. The computer, after all, has to be told what to do. It can't think."

These valid scientific arguments are based, essentially, on the laws of thermodynamics, especially the second law, concerning entropy. The second law says in effect that for all (isolated) systems at or near equilibrium, any process will have a tendency to increase the system's entropy.

Shannon has developed the idea that entropy is related to the inverse of information (see reference 2); so as entropy goes up, information goes down. The second law of thermodynamics seems to demand that this decrease in information shall always happen for mechanical or electrical machines.

The conclusion that machines will never be capable of thinking seems irrefutable.

But man is a biological machine, and yet he thinks. How can these two seemingly contradictory ideas be reconciled with the second law? One of the greatest scientific puzzles of the last century was that the idea of a thinking biological machine cannot be brought into accord with the laws of equilibrium thermodynamics! The paradox stands.

The brilliance of I Prigogine lay in his recognition that another regime far from local thermodynamic equilibrium may exist for complex interacting systems. Exactly what this new regime is all about took many

years of study to formulate and understand, but in the last two years the verification of this new thermodynamic concept has been achieved by a small but convincing number of chemical experiments (see reference 3). Simply, the new thermodynamic regime is a regime far from equilibrium where semisteady state modes of collective interactions can self-organize in complex systems. In this collective mode of self-organization, far from thermodynamic equilibrium, the entropy of the system drops dramatically; the information content rises. The increasing entropy dictum of the second law is no longer valid because the system is not in equilibrium.

The key features of systems that can support such entropy-decreasing modes are that:

1. They are not isolated systems: they draw energy and material from their surroundings: that is, they feed.

2. They are complex systems of many interacting parts, and the interactions must be nonlinear.

These conditions seem to be necessary but not sufficient. A complex system that has these properties need not self-organize into an entropy decreasing mode, but if these conditions are met, the low entropy modes are now scientifically recognized possibilities.

Theoretical models of complex chemical systems have indicated that the minimum number of subparts that will form a collective mode far from equilibrium is measured in the thousands. This result is striking; it could have been that it would take statistically large mole numbers (10") of parts to form self-organized systems, but no, it appears that thousands, or a few tens of thousands, of subsystems interacting nonlinearily can, for certain ranges of parameters, flip into self-organized modes of decreasing entropy.

For the first time, thermodynamics (albeit of the nonequilibrium variety) can be used to substantiate entropy decreasing modes, biological systems, and thinking machines! Using these ideas as a basis, it is conceivable that a collection of subsystem computers linked together nonlinearly could, for certain ranges of coupling parameters, self-organize into a collective mode of operation in which the entropy of the complex system decreases.

The gleam in the young experimenter's eye need not be glazed over and extinguished by a thermodynamic "it's impossible" argument. The loophole in the law has been discovered.

1 52 June 1979 © BYTE Publications Inc

A few years ago such a project would have been economically impossible, but now with the advent of cheap small volume microprocessors it is conceivable that, say, ten thousand computer subsystems could be assembled and linked together in one complex. Moreover, following the theoretical advances pioneered by I Prigogine, such a complex might be arranged to operate in a collective mode far from equilibrium in which the entropy content drops dramatically, the information content skyrockets, and the idea of artificial intelligence need no longer be squashed by thermodynamic dictum. It indeed may be possible to create a thinking machine.

REFERENCES

1. C Nicolis and I Prigogine, Self-Organization in Non-Equilibrium Systems, John Wiley & Sons, New York, 1977.

2. C E Shannon and W Weaver, 777e Mathematical Theory of Communication, University of Illinois Press, 1949.

3. J S Turner, Journal of Physical Chemistry (to be published!.

4. H Haken, Synergetics, Springer-Verlag, Berlin, 1977.

Appendix: Collective Mode Systems of Low Entropy

After I submitted the above article to BYTE, editor Carl Helmers asked if I could provide a tutorial example explaining the ideas of a collective mode system with low entropy. Perhaps the most striking example of such a system is given by the laser (see reference 4).

The typical laser consists of an optical cavity, a set of atoms — such as He-Ne— connected to the outside world by means of a power supply. Energy flows continually into (and out of) the system so it cannot be considered to be isolated. If the system gain parameter is below a critical value, the gas atoms may be excited by the energy source and subsequently release their excess excitation energy through the emission of photons. The photons all have random phase, ie: the emission of photons by the various atoms in the gas is random, and not coherent. The system has a high entropy content associated with the disorder and the random emission of photons. The system does reach a steady state, not a collective mode state, and not a state of equilibrium, because it continually receives energy across its boundary.

If the gain parameter of the system is slowly increased to above the critical value, a dramatic transition takes place — far from equilibrium. The system lases, ie: the gas atoms no longer emit the photons in a random manner, but instead they de-excite in a coherent collective mode. The emission of one photon from one atom stimulates the emission of another photon from another atom, and so on. The photons are emitted with the same phase; disorder has been removed, and the system entropy drops dramatically.

HIGH ENTROPY

ENERGY

INPUT

jtKA

t(

Is

W»' ->"

RANDOM PHOTONS

Figure I: The He-Ne discharge glows in a disordered random fashion. The emission of photons is random, disordered and associated with the notion of high entropy.

LOW ENTROPY

ENERGY

INPUT

J

I

V He - Nf

PHASE LOCKEO PHOTONS

Figure 2. For the system "gain" above the critical value losing action takes place in the He-Ne gas. The radiation is phase locked into a collective mode associated with low entropy.

June 1979 © BYTE Publications Inc 153

Circle 95 on inquiry card.

CP/M™

LOW-COST

MICROCOMPUTER

SOFTWARE

CP/M™ OPERATING SYSTEM:

• Includes Editor, Assembler, Debugger and Utilities.

• For 8080, Z80, or Intel MDS.

• For IBM-compatible floppy discs.

• S100-Diskette and Documentation.

• $25-Documentation (Set of 6 manuals) only.

MAC™ MACRO ASSEMBLER:

• Compatible with new Intel macro standard.

• Complete guide to macro applications.

• $90-Diskette and Manual.

SID™ SYMBOLIC DEBUGGER:

• Symbolic memory reference.

• Built-in assembler/disassembler.

• S75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

U DJGJTflL RESEARCH

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

The notions of disorder and randomness are concepts associated with the notion of entropy. The decrease of the laser's entropy is due to lack of disorder in the lasing state.

These ideas are described in figures 1 and 2. Figure 1 represents a laser being supplied with energy from the power source, but with the gain of the cavity below the critical value. The photon emission is random and the system has high entropy.

On the other hand in figure 2 the gain factor of the system is above the critical value and the system has flipped into a low entropy collective mode emitting highly ordered radiation. The atoms radiate collectively.

The almost incredible feature of many complex systems interacting nonlinearly is that they may self-organize into these low entropy modes. In particular, biological systems appear to be of this type. Numerous examples of collective mode systems appear in the physical world, but most of them occur at low temperature; super conductors and super fluids are examples. The selforganization into collective modes far from equilibrium at modest to high temperatures is yet another idea."

RADIO SHACK COMPUTER OWNERS

TRS80

PRACTICAL APPLICATIONS BUSINESS

GAMBLING • GAMES EDUCATION PERSONAL FINANCE BEGINNER'S CORNER NEW PRODUCTS SOFTWARE EXCHANGE MARKET PLACE QUESTIONS AND ANSWERS PROGRAM PRINTOUTS AND MORE

MONTHLY NEWSLETTER

24

HOUR ORDER LINE

(914) 425-1535

^

FR

AV

WORD PROCESSING PROGRAM

(Cassette or Disk)

For Writing Letters, Text, Mailing Lists, Files, Etc. With Each New Subscriptions or Renewal

iCQMRJTRQNXCS

NWVWVtATlCAl. APPUCAnCTJG ser^cE"

Box 149

New City, New York 10956

ONE YEAR SUBSCRIPTION $24

TWO YEAR SUBSCRIPTION $48

SAMPLE OF LATEST ISSUE $4

START MY SUBSCRIPTION WITH ISSUE

(#1 - July 1978 • #7 - January 1979) NEW SUBSCRIPTION RENEWAL.

CREDIT CARD NUMBER

EXP. DATE

SIGNATURE NAME

ADDRESS

Send for FREE Software Catalogue (Including listings of hundreds of TRS-80 programs available on cassette and diskette).

154

lune I979 @ HYTI- Publications Inc

Circle 159 on inquiry card.

INTRODUCING THE .4 MEGABYTE DUAL DRIVE MINIFLOPPY FOR 8K PETS!

NOW WITH

400K (.4 MEGABYTES)

OF DISK STORAGE

CUSTOMER ORDERS ARE NOW BEING SHIPPED WITHIN TEN DAYS!!!

DKH641 IS A PRODUCT OF COMPUTHINK.

• DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINE.

• COMMERCIAL LOADING SPEEDS ■ 8K LOADS IN 2.6 SECONDS COMPLETE.

• DOS REORGANIZES SPACE AFTER SAVE OR ERASE FOR EFFICIENT STORAGE.

■ DISKMON ADDS OVER 20 COMMANDS TO BASIC INCLUDING DISK DATA FILES.

• DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL PORT SUCH AS CENTRONICS LINE OF PRINTERS (AVAILABLE FROM NEECO)

■ FULL DISK SOFTWARE SUPPORT ' FORTRAN & PLM COMPILERS

• 90 DAY MANUFACTURER'S WARRANTY ON HARDWARE ' READY TO USE ON DELIVERY. FULL MANUAL AND UTILITY DISKETTE INCLUDED.

• CALL OR WRITE FOR COMPLETE INFORMATION ON THE "DISKDRIVER". ' THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K)

DKH642 -DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00

ASM789D — PET ASSEMBLER ON DISKETTE WITH MANUAL $49.95

•LNK456 -AUTOLINK LINKING LOADER ON DISKETTE WITH MANUAL $49.95

"PLM400 —COMPILER ON DISKETTE (AVAILABLE JUNE) $250.00

DKL067 — DISKMON ASSEMBLER LISTING/DOS $19.95

DATA100 — COMPLETE DATA BASE SYSTEM (PRICE APPROXIMATE) $400.00

BASCOMP— BASIC COMPILER ON DISKETTE

NGP200 - 20 GAMES ON DISKETTES $49.95

BKGAM — BACKGAMMON ON DISKETTE $24.95

MICRO - MICROCHESS ON DISKETTE $24.95

CEN7790) - CENTRONICS 779-1, ROLL FEED DOT MATRIX

COMMERCIAL PRINTER $1245.00

CEN779(2) - SAME AS 779(1) BUT WITHTRACTOR FEED — PLUG INTO PET .... $1345.00 AX10M — ELECTROSTATIC5.5INCHPRINTERWITHALLOFPETSGRAPHICS $495.00

PET COMPUTER

WHY NOT BUY FROM THE BEST?

NEECO NOW OFFERS A FULL ONE YEAR

WARRANTY ON ALL PETS! - AN ADDITIONAL 9 MONTHS!

by COMMODORE

8K PET $ 795

24KPET(B+16K) $1195 32K PET(8 + 24K) $1295

THE ABOVE PRICES INCLUDE

THE INSTALLATION AND

TESTING OF INTERNAL

MEMORY BOARDS.

* NEECO IS A CUSTOMER ORIENTED. FULL SERVICE COMPANY.

* PETS RECEIVE 48 HR. 'BURNIN' BY NEECO BEFORE SHIPMENT.

* FULL CUSTOMER SERVICE AND FULL PRODUCT SUPPORT.

* 48 HR MAXIMUM TURNAROUND' ON PET WARRANTY SERVICE ON PETS PURCHASED FROM NEECO.

* FULL PREPURCHASE INFO AVAILABLE FROM OUR PET INFO PACKAGE — WE ANSWER CUSTOMER QUESTIONS!

* AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PET OWNERS MAILING LIST — CALL/WRITE TO BE LISTED!

* COMMERCIAL QUANTITIES AVAILABLE.

* WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC.

* OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED).

SCHOOL INQUIRIES INVITED!

INTERNAL MEMORY i IFULLSIZED TYPEWRITER EXPANSION FOR PETll KEYBOARD FOR PET!

EXPANDAPET

TM

DEALER INQUIRIES INVITED

INTERNAL MEMORY

EXPANSION UNIT

FOR 8K PETS

•MOUNTS EASILY INSIDE YOUR PET •EASY TO INSTALL (15 MINUTES) •NO DEGRADATION OF PET SYSTEM •USES LOW POWER DYNAMIC RAMS •90 DAY PART&LABOR, 1 YR-RAMS. •30 DAY MONEY BACK GUARANTEE. •MOUNTING SLOTS FOR 4 BOARDS. 'CALL/WRITE FOR ADDITIONAL INFO •DEALER INQUIRES INVITED.

EXPANDAPET PRICES

16K( + 8KPET = 24K) $425 24K ( + 8K PET = 32K) $525 32K ( + 8KPET = 40K) $615

OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS" 8K OF 4K EPROM DAUGHTER BOARD ASSEMBLY LANGUAGE USING 2716 EPROMS .. .. $50 SUBROUTINES ACCESSED

VIA THE USR COMMAND.

EXPANDAPET IS A PRODUCT OF COMPUTHINK.

•COMMERCIAL QUALITY KEYBOARD WITH METAL ENCLOSURE. •BASIC TYPEWRITER DESIGN FOR TOUCHTYPISTS. •SINGLE KEY FUNCTIONS FOR ALL CURSOR CONTROLS. SHIFT/RUN, INSERT, CLEAR SCREEN/HOME CURSOR, MORE. •FUNCTIONS SIMULTANEOUSLY WITH PET'S KEYBOARD. •PLUGS DIRECTLY INTO PET'S LOGIC BOARD. •DOES NOT USE USER OR IEEE-488 PORTS. •NPK-101 IS FULLY TESTED & READY TO USE. •ATTACHES DIRECTLY TO FRONT OF PET'S FRAME. •CAN BE USED AS A REMOTE TERMINAL (SPECIAL ORDER). •30 DAYS TRIAL PERIOD ' 90 DAY WARRANTY. •CALL OR WRITE FOR FULL SPECS

NOW AVAILABLE!

$139.95

NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS.

OUR NEW JUNE PET CATALOG IS NOW AVAILABLE. CALL OR WRITE FOR OUR *FREE* PET PRODUCTS CATALOG.

I DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON. - FRI. 9:30 - 5:30, EST.

(617) 449-1760

MASTERCHARGE OR VISA ACCEPTED TELEX NUMBER 951021, NEECO

Circle 281 on inquiry card.

BYTE June 1979

155

BASIC Text Editor

Fred R Ruckdeschel 773 John Glenn Blvd Webster NY 14580

Like many an individual who uses computers at work and for personal purposes, I have a tendency to write. At work, this tendency is expressed in the usual ways as memos, project oriented documentation and more general papers. In personal life, this tendency is expressed by the existence of this article and several others which preceded it.

After some considerable chicken scratching it became apparent that my method for collecting ideas and creating a final manuscript was not optimum. The problem became clearly defined when one day I looked up from my note pad only to see my IMSAI arrogantly sleeping while I worked.

The literary approach I had been using was reasonably conventional. First in the procedure was the generation of an outline which contained ideas organized by section. Then a handwritten rough draft was composed in which these thoughts were structured within each section and expanded upon. The draft was then reviewed and changes made until legibility was threatened. If the writing had been for "work" the next step would have been to have the draft retyped. However, as writing for microcomputer journals is a private pursuit, a paid typist is used sparingly.

The next step was therefore to go back through the draft and reedit, being very careful with es and is, and then to give it to the typist for final preparation. The typist's job was to take the grubby and somewhat illegible pile of paper and transform it into a nicely typed manuscript suitable for submission. However, the last step was invariably one of carefully applying correction fluid, scissors and tape in the proper proportions to assemble a truly final version. Usually the alterations were due to my own errors, though my excellent typist often adds a few variations as part of her own editing contribution. As a result, I have never sent an original to an editor, always a copy which hid the horrors of the manuscript's creation. After all, what editor wants flakes of dried correction fluid sprinkled on his or her clothes and desk?

A few further considerations convinced me that it was time to make a change. First,

I cannot stand reading my own handwriting. Second, I can type much faster than I can write. Third, it was a convenient time to design an editing system. The reason for the latter was that 1 had a video display, IMSAI and North Star disk combination at home and a very nice Diablo printer, Altair 8800B and North Star disk setup available at work. Thus there was basic compatibility between the two systems via the floppy diskette. I had taken care to assure that the two systems were software compatible, particularly with respect to 10.

The general idea was to use my personal system to compose and edit versions of a manuscript and then to bring the finished form, on diskette, to work to be printed out on the Diablo. In practice it turned out to be more convenient to have listings of the various versions to work from. This made the iterations much easier. There is no replacement for hard copy when writing either a program or an article.

One of the goals established for the eventual editor software was that it should not be unique to my particular hardware configuration. Rather it was to be translatable to other systems with a minimum of change. For this reason BASIC was chosen as the implementation language, though machine language would have led to a much better utilization of memory as well as higher speed. The particular BASIC used was North Star, Version 6, Release 3. This interpreter has string manipulation functions which are very convenient for developing editing routines. These functions can also be translated into counterparts a la Microsoft BASIC. This will be discussed more later.

Text editors naturally require significant computer storage capabilities. The one shown in listing 1 is no exception. For those who have disk based systems other than North Star, the conversion of this program for use with another system would be through changes in the disk access subroutines which are clearly defined on the listing. For those who do not have disk hardware, but rather cassette 10, storage and retrieval can also be accomplished through the disk access subroutines after the appropriate modifications are made.

The program also has the ability to automatically save and retrieve the text from active memory. This is presently not in effect in the version shown in listing 1, but can be brought to life by removing statements 2000 and 2100. This feature is useful if the computer is a little unstable and has a tendency to crash; at least the latest text version might be saved in a protected memory region if the program did not get as far as saving the text on diskette or tape. The

156 June 1979 © BYTE Publications Inc

THE LEADER IN miCROCOmPUTER EDUCATION

PRESENTS

BEST-SELLING BOOKS

Used by Universities and Industry worldwide (ten languages}

AN INTRODUCTION TOPRSOW. AND BUSIES OOrVFUflNG

KCMXOMS

rlrlrj

\£}£}£$r}

i§§aS

C200-AN INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING

Rodnay Zaks, 250 pp

A comprehensive introduction to small computers, their peripherals, and what to select. $6.95

C201-MICROPROCESSORS: FROM CHIPS TO SYSTEMS

Rodnay Zaks, 416 pp

The basic text on all aspects ot microprocessors and the assembly of a system. S°.°5

C202 ■ PROGRAMMING THE 6502

Rodnay Zaks, 250 pp

A complete introductory programming text for the 6502 SIO.95

D302-6502 APPLICATIONS BOOK

Rodnay Zaks, 200 pp

Connecting a 6502 board to the outside world: from home alarm to music and industrial control. $12.95

MICROPROCESSOR

INTERFACING

TECHNIQUES

AUSTXtiSIA

K

C207- MICROPROCESSOR INTERFACING TECHNIQUES

A. Lesea & R. Zaks, 416 pp

How to interface a microprocessor to external devices: from keyboard to ADC to floppy disk, including standard busses. $11.95

XI-MICROPROCESSOR LEXICON, 125pp All the definitions of the microprocessor world In a convenient pocketbook format. $2.95

AVAILABLE AT BOOKSTORES, COMPUTER STORES, AND ELECTRONIC SHOPS EVERYWHERE!

SELF-STUDY COURSES ON CASSETTES

"The time-efficient way to learn"™

Self-study courses include two to eight audio-cassettes and a special book. They offer the fastest way to learn the topic covered (from /j to two days). Highly effective.

rC;- MICROPROCESSOR HIP ■ STWOY C>

-> COURSIONCASSiTTK ^ J

DESIGNING A

MICROPROCESSOR

SYSTEM

■'T~'i

III

i mmmm%

MICROPROCESSORS

FROM CHIPS TO SYSTEMS

IK

i-i: ;ij i

COUPSE ON CASSETTES

BIT SLICE

j • ■■**. 1

1- INTRODUCTORY -SHORT (2.5 hrs ea)

SI-INTRODUCTION TO

MICROPROCESSORS $29.95

S2-PROGRAMMING

MICROPROCESSORS $29.95

S3-DESIGNING A MICROPROCESSOR

SYSTEM $29.95

SI OB-INTRODUCTION TO PERSONAL AND

BUSINESS COMPUTING $21.90

2-INTRODUCTORY- COMPREHENSIVE

(TO to 12 hrs oa) SB1-MICROPROCESSORS $59.95

SB2-MICROCOMPUTER PROGRAMMING $59.95

TO ORDER

»ypnc(,»: 415 848-8233, Visa, M.C.,

Amer Express. By mall: Include payment. Shipping: add SI.50 per book (UPS) or

65c (4th class - allow 4 weeks).

Double lor cassettes and overseas. Tax: in California add tax.

FREE DETAILED CATALOGUE

fsYBEXj

Dept B6

2020 Milvia Street

Berkeley, CA 94704

Tel 415 848-8233 Telex 336 311

See You At NCC—Booth 31

NAME_

3-SPECIALIZED (4.5 to 6 hrs ea)

SB3-MILITARY MICROPROCESSOR SYSTEMS $49.95

SB5-BIT-SLICE $49.95

SB6-INDUSTRIAL MICROPROCESSOR SYSTEMS $49.95

SB7-MICROPROCESSOR INTERFACING $49.95

.POSITION.

COMPANY. ADDRESS_ CITY

_STATE/ZIP

DC200 DC201 DC202 DC207 DD302 DS1 DS2

□ S3 DS10B DSB1 DSB2 DSB3 DSB5 DSB6 DSB7

□ charge my DVisa DM.C. DAmer Express

Number Exp. date

Signature

□ Send Catalogue

Circle 356 on inquiry card.

1S7

Listing I: This BASIC program is the complete listing of the text editor.

10 REM EDITOR, VERSION 6, AS OF 1600 HOURS, 1/31/78

20 REM WRITTEN BY F.R. RUCKDESCHEL

30 REM 773 JOHN GLENN BLVD.

10 REM WEBSTER, NEW YORK 11580

50 REM NEW PARAGRAPH CHARACTER= &

60 PRINT "ENTER MAXIMUM LINE LENGTH",

70 INPUT Ml

80 PRINT "ENTER LETTER LENGTH",

90 INPUT M2

100 DIM A$(M2),G$(M1 ),B$(2000),E(300)

110 PRINT "INPUT BEGINNING STORAGE LOCATION (DECIMAL): ",

120 INPUT Y9

130 REM TEST TO CHECK IF LETTER IS NEW

110 PRINT "NEW LETTER (N) OR RESTART (R): ",

150 INPUT G1$

160 IF G1$(1,1)="N" THEN GOTO 190

170 GOSUB 2010

180 GOTO 380

190 A$ = ""

200 G$-""

210 L=0

220 B$ = ""

230 PRINT "GET LETTER FROM FILE? (Y/N): ",

210 INPUT H$

250 IF H$(1,1X>"Y" THEN GOTO 300

260 PRINT "INPUT NAME OF LETTER: ",

270 INPUT Z$

280 GOSUB 1530

290 GOTO 630

300 REM START OF NEW LETTER

310 L=L+1

320 PRINT *4I,L,

330 INPUT G$

310 IF G$="]" THEN GOTO 630

350 A$=A$+G$

360 GOTO 310

370 REM »•»»»»••••»»»»»•«»»•

380 REM ENTER EDIT MODE

390 PRINT "EDIT SUBROUTINE"

100 PRINT "ENTER LINE NUMBER TO BE EDITTED",

410 INPUT L

420 REM L=0 IS ESCAPE EDIT

430 IF L=0 THEN GOTO 630

440 REM ADDITION AT FRONT OF LETTER?

450 IF L<2 THEN GOTO 1680

160 REM ADDITION TO END OF LETTER?

170. IF L>N-2 THEN GOTO 1790

180 Z=2«INT(L/2)

190 REM INSERTION? F CHANGE IS DEFAULT

500 IF LOZ THEN GOTO 1900

510 PRINT 5&4I,L,A$(E(L-2) + 1,E(L) )

520 PRINT $31,L,

530 G$=""

540 B$ = ""

550 INPUT G$

560 E(0)=1

570 IF G$(1,1)<>"]" THEN B$=B$+G$

580 IF G$(1,1)<>"]" THEN GOTO 550

590 IF E(L)+1>LEN(A$) THEN A$=A$+" "

600 A$=A$(1,E(L-2))+B$+A$(E(L)+1,LEN(A$))

610 GOTO 6 30

620 REM »»««»»»»«»»»»»»»»«••

630 REM JUSTIFICATION ROUTINE

610 PRINT "COLUMN WIDTH",

650 INPUT W

660 PRINT "ENTER PAGE LENGTH: ",

670 INPUT P

680 C=0

690 S=1\N=2\H=0

700 PHINT "WANT LINES NUMBERED? (Y/N): ",

710 INPUT H1$

720 IF H1$(1,1)r"N" THEN H=1

730 IF H=1 THEN J9=1

710 IF HOI THEN GOTO 7B0

750 FOR K=1 TO 7

760 PRINT

770 NEXT K\GOTO 870

780 PRINT "LINE NUMBER RANGE:

790 INPUT N8.N9

800 J9=0

810 PRINT "WANT JUSTIFIED TEXT? (Y/N):

820 INPUT J9$

830 IF J9$="Y" THEN J9=1

810 FOR K=1 TO 5

850 PRINT

860 NEXT K

870 T=S

880 IF T>LEN(A$) THEN GOTO 1220

890 S=S+W

900 REM NEW PARAGRAPH FLAG

910 F=0

920 IF S>LEN(A$) THEN S=LEN(A$)

930 IF J9=0 THEN GOTO 1030

940 REM TEST FOR PARAGRAPH CHARACTER

(LOW, HIGH)'

key disadvantages to using this feature are that more memory is required and considerable time is consumed performing the extra storage function, which is relatively slow.

In the following sections the fundamental features of the editor program will be discussed in some detail. It will become apparent that the program does not have many frills, but still has considerable utility when one becomes practiced in its operation. A sufficient number of examples are given such that the user should not have to experiment much to determine how the program responds when kicked in a particular way. Following this are comments on software items which should aid in modifying the present program for use on other machines. The program as presented here suits my needs, but is probably deficient with respect to specific uses. However, the structure is sufficiently modular and sprinkled with comment statements such that the addition of new capabilities should be possible without a total revamping.

Editor Features

The object of the editor program is to generate a text oriented file which can be corrected and expanded with a reasonable level of ease. As mentioned earlier, the file may be stored on diskette, tape, or in active memory. The file can be recalled and printed out in two general formats, justified and unjustified. In the justification mode, by definition, lines are ended between words. The chosen line length may be any size as long as it is longer than the longest word in the text and shorter than the maximum line length allowed by the software. In the unjustified format, printing fills the entire line, regardless of whether or not a word is broken.

In either justification format the program will list selected line number groups using only even numbers. This allows the user to insert lines, when in the edit mode, by giving them odd numbers. Inserted lines can be any number of characters long within the constraints of memory or dimension. The program renumbers and reformats after each editing exercise.

Upon listing, it is the choice of the user to have the lines numbered or not. If the decision is not to number, the entire text will be printed. Otherwise a line number range can be chosen. In either case, the program goes through the entire text, reformats and assigns line numbers. In the justification mode defined above this may consume a significant length of time as tests for the gaps between words and new paragraph identifiers must be made. In the un

158

lune 1979 © BYTE Publications Inc

for memory, the word is "CHOICE"

No matter what system you choose — S-100 based, Radio Shack-80, H8, Digital Group, or even the Intel/National single board computer system — we have the memory you want. You may choose from a variety of configurations and densities, at a variety of price levels.

We also give you the choice of buying your memory in unkit form (sockets, bypass caps pre-soldered in place); assembled and tested; or qualified under our CSC (Certified System Component) high-reliability program (200 hour burn-in, immediate replacement in event of failure within one year of invoice date, and more).

But there are some areas where we don't give you a choice. You can't choose between 2 and 4 MHz versions of our high density memories, because we only make the 4 MHz type. And you can't choose between low and high power versions — all our memories are designed for very low power operation. An example: our 32K bank select board's guaranteed maximum current spec is 3.5A, which is considerably lower than most other typical current specs.

We even give you a choice of non-memory products that offer exceptional value and performance, such as our I/O board, motherboards, and active terminator.

How do you get ahold of a CompuKit'™ product? Well, there's a choice there too. Our products are available from many fine computer stores, or directly from us.

■ 111!

IIIIIIIMRMP

p> s r> p ■ " ■

" ": | !" " :- s iJ

' • ■ ■ - . . ■

Name

Storage

Buss

Design

Speed

Configuration

Unkit

Assm

CSC

Econoram II

8K X8

S-100

static

2 MHz

2-4K

$149

$164

N/A

Econoram IV

16K X8

S-100

static

4 MHz

1-16K

$295

$329

$429

Econoram VI

12KX8

H8

static

2 MHz

1-8K, 1-4K

$200

$270

N/A

Econoram VII

24K X8

S-100

static

4 MHz

2-4K, 2-8K

$445

$485

$605

Econoram IX

32K X8

Dig Crp

static

4 MHz

2-4K, 1-8K, 1-16K

$649

N/A

N/A

Econoram X

32K X 8

S-100

static

4 MHz

2-8K, 1-16K

$599

$649

$789

Econoram XI

32K X 8

SBC

static

4 MHz

2-8K, 1-16K

N/A

N/A

$1050

BANK SELECT MEMORIES (fo

r Alpha

Micro Syste

ms, Marinchip,

etc.)

Econoram XII-16

16K X8

S-100

static

4 MHz

2 ind. banks*

$369

$419

$519

Econoram XII-24

24K X 8

S-100

static

4 MHz

2 ind. banks*

$479

$539

$649

Econoram XIII

32K X8

S-100

static

4 MHz

2 ind. banks**

$629

$699

$849

'addressable on 8K boundaries ''addressable on 16K boundaries

Econoram is a trade mark of Godbout Electronics.

fALSO AVAILABLE: 16K MEMORY EXPANSION CHIP SET $109 (3/$320J^

For Radio Shack-80, Apple, Sorcerer machines. 250 ns chips for 4 MHz operation, DIP shunts, 1 year limited warranty. With easy-to-follow instructions.

ACTIVE TERMINATOR KIT $34.50

Our much imitated design plugs into any S-100 motherboard to reduce noise, ringing, overshoot, and other buss-related problems

DUAL CHANNEL/DUAL FUNC S-100 I/O BOARD

$189 unkit, $249 assm

This one does things the others can only dream about. Two independently addressable serial ports with full RS232C current loop (20 mA) and TTL signals on both ports, crystal controlled Baud rates to 19.2 KBaud , hardware UARTS, compatible with 2 or 4 MHz systems, low power consumption, and a whole lot more . . . we'll be glad to give you more info, just write.

2102 MEMORY SPECIAL 10/$9.90

That's only 99c each for very low power, static IK RAMs suitable for use with any 2 MHz system. Price only good on orders of 10 or more.

16 pin lo-profile sockets also available at the special price of 12/$2.00.

1791 MOS LSI DUAL DENSITY DISC CONTROLLER CHIP $59

lust in. Prime Western Digital parts, with pinout and data.

HEATH H8 BARE BOARD MEMORY SPECIAL - $35!

Don't need the full 12K of our standard H8 memory? We now offer the board, mounting bracket, edge connector, and schematic for only $35. Populate it with a few support chips and readily available, low cost 2102s to build your memory up to a full 12K whenever your budget permits.

TERMS: Allow 5% shipping, excess refunded Cal res add tax. VISAL"/Mastercharge's call our 24 hour order desk at (415) 562-0636. COD OK with street address for UPS (UPS COD charge applies). Prices good through cover month of magazine Orders under $15 add $1 handling.

Circle 150 on inquiry card.

11 SLOT MOTHERBOARD UNKIT

With 11 edge connectors pre-soldered in place for easy assembly, as well as integral active terminator circuitry. Dimensions: 8.5" X 11" *fcQO

18 SLOT MOTHERBOARD UNKIT

Same as above, but 18 slot version with 18 edge connectors. Dimensions:

$124

8.5" X16.7"

(SmpuKit *. HSR

BOX 2355, OAKLAND AIRPORT, CA 94614

FREE FLYER: We'll be glad to tell you more than the space of this ad allows. Just send your name and address, we'll take care of the rest. If you're in a hurry, enclose 41c in stamps and we'll send it out first class.

BYTE lune 1979

159

Circle 393 on inquiry card.

1(1 II I u lie 1'I7'>

161

Circle 306 on inquiry card.

lune 1979 © BYTE Publications Inc 163~

Listing 7 continued:

justified mode the operation is very fast,

In addition, changing the first character in the text is a little cumbersome; it is suggested that the very first character be a blank to mitigate this problem.

When any of the above failures occur there is a good chance that recently edited work may be lost. For example, when a program fails, most BASICs enter the direct command mode. If the program is rerun, most likely the string variables will be cleared. The temporary save and retrieval subroutines were included to reduce the impact of such errors. If the error occurs during the edit mode, the last form of the text (before the edit mode was entered) may be retrieved by rerunning and answering the initialization appropriately (restart: R). If the failure occurs during a disk or a tape load, unless a large crash occurs, the most recent text version may be recovered upon restart.

Additional Notes

There are several statements employed in North Star BASIC which must be modified if the editor program is to be used with another interpreter. The following is a list of the types of changes required if this program is to be translated into a BASIC similar to that written by Microsoft and distributed by MITS:

FILL<>,<> same as POKEO.O EXAM(O) sameasPEEK(O)

% Denotes a printing format (for example, nFm which is similar to the FORTRAN real format nFm). This can be simulated using the INT function along with some multiplication and division. In the more advanced versions of BASIC there is usually an equivalent format statement.

, Denotes a continued print statement without a carriage return and line feed. In MITS BASIC one would use a semicolon.

A$(M,N) With respect to the editing functions as implemented by the program, this is the most important difference between the North Star and Microsoft interpreters. For the task at hand the North Star form is preferred because of ease of use. In North Star BASIC A$(M,N) represents a substring of A$ which runs from character position M to character position N, thus having length N—M+1. To accomplish this in Microsoft BASIC one would use MID$(A$,M, N—M+1). Although a little more cumbersome, the Microsoft string function would suffice if it were not for the important variance that North Star BASIC allows arbitrarily long string lengths whereas Microsoft limits the

string length to 255 characters. However, this limitation may be overcome by string subscripts. Note that string dimensions and subscripts are permitted in Microsoft BASIC, but not in North Star. Having to resort to subscripts is certainly an inconvenience and is a small pain to program. North Star BASIC certainly has an advantage in that respect. The most difficult editing function to perform is the alteration of a text segment as the set of characters to be changed may extend over more than one text line. Generally it is best to attack the last line of the modification first. The corrections should then proceed toward the lower line number. The reason for doing this is that the text is reassembled upon each editing pass. If a change is made in a given line, all the lines above that point are altered, whereas all the lines below that point maintain their structure if the same line width format is chosen.

Inserting text is usually easy. As a redundant word of caution, remember to place a blank in the last character position in the file. Also, as there is some awkwardness'in changing the very first character in the file, having a blank there is also helpful.

Conclusion

The limited capability editor program presented in the previous sections has the advantages of being easy to use as well as being somewhat portable. It was really meant to operate with the North Star Disk System, but can be translated for use on other BASIC oriented machines. Its utility is exemplified by the present article which served as a test case. In this application the article was broken up into files of 12 blocks (12 by 256 characters) or less to ease the strain on active memory. Thus, in effect, there is no limit to the document length which can be handled. Incidentally, 12 blocks corresponds to approximately half a typeset magazine page.

The true power of this program is apparent when large portions of the text creation and editing are done on a video display system (it is easy to get into the swing of rapidly typing additions and changes). However, occasional hard copy listings are invaluable for leisurely reviewing. A near ideal combination would seem to be a video display for editing and a fast hard copy terminal for printing. The denser and faster the video display the better."

Copies of the software shown on listing 1 are available from the author on diskettes in North Star format for $9.95 each (New York State residents add sales tax).

164

lune 1979 © BYTE Publications Inc

r

NEECO

PET 2001 — 32K

PROUDLY ANNOUNCES THE NEWEST

PET MICROCOMPUTERS BY COMMODORE!

The PET™ is now a truly sophisticated

Business System with the announcement of these Peripherals.

Trio PET'" inmriioiiiieci Willi Hie Floppy Disk und Punter makes an meal Business System loi mos! piolessiona! and specialised lipids medtine. law denial researcn engineenne Iriulmiikini!. pi.nluig eeueatiun energy conservation, etc The PET" Sexiness System as a mnnaoernenl leol delivers inlormalrOn lo all levels Ol Business, previously all.nn.iMe on!/ win enmpmenl many kmes more expensive Tne PET'" Business System is one nl 1'ie most cusl elkcienl Ousrness lools

loday II oilers a w.dc inisuMl .renliciili'rns Irom logging managemen! strategy m ma of coiporanons lo organising accounis and inventory con'roi ol sman easinesses Hce are |ust a te.v ol me cost-saving eses m me corpoiation. professional olkce 01 small imsmess slock control, purchasing, lorecaslmg. manelactermg coshng. ceslomer records mailing lists, em "ho PET"" Floppy O.-sk ano Primer, a compaHD-i.' tui'iniess system at pace — Take a closer look at these Penpherals

<■

LARGE TYPEWRITER KEYBOARDS NOW AVAILABLE!

PRODUCT

PET 2001—4K

PET 2001 —8K

PET 2001—16KN(Large

PET 2001—32KN (Large

PET 2023 PRINTER

PET 2022 PRINTER

PET 2040A

PET 2040

PET C2N

'The 16K/32K (large keyboa 2040 Floppy Drive requires

DESCRIPTION PRICE

4K RAM $ 595

8K RAM $ 795

Keys)16K RAM* $ 995

Keys)32K RAM $1295

ROLL FEED S 850

TRACTOR/ROLL $ 995

SINGLE FLOPPY $ 895

DUAL FLOPPY* $1295

2nd Cassette $ 100

rd) units do not include a cassette drive, a 16K or 32K unit. 8K RAM Retrofit avail

AVAILABILITY

IMMEDIATE IMMEDIATE IMMEDIATE IMMEDIATE IMMEDIATE IMMEDIATE JUNE/JULY IMMEDIATE IMMEDIATE

Order C2N Cassette.

able July.

ALL UNITS ARE FULLY TESTED BY NEECO BEFORESHIPMENT. ALL PET'S ARE WARRANTEED (BY NEECO) FOR 1 FULL YEAR! NEECO IS A FULL CUSTOMERORIENTED BUSINESS. PLEASE CALL FOR ADDITIONAL INFORMATION. ALL UNITS ARE IN STOCK & READY TO SHIP. FULL SOFTWARE AVAILABLE!

THE NEW £s commodore PET PERIPHERALS!

& aarnmadkM-m PET

I

1

2040

2022

Dual Drive Floppy Disk Tractor Feed Printer

The Dual Drive Floppy is the latest in Disk technology with extremely large storage capability and excellent file management. As the Commodore disk is an "Intelligent" peripheral, it uses none of the RAM (user) memory of the PET'" The Floppy Disk operating system used with the PET'M computet enables a program to read or write data in the background while simultaneously transferring data over the IEEE to the PET'" The Floppy Disk is a reliable low cost unit, and is convenient for high speed data transfer. Due Ic the latest technological advances incorporated in this disk, a total of 360K bytes are available in the two standard S%" disks, without the problems of double tracking or double density. This is achieved by the use of two microprocessors and fifteen memory I.C.s built into the disk unit. Only two connections are necessary — an A/C cord and PET'" interface cord.

CALL FOR COMPLETE SPECIFICATIONS! IMMEDIATE DELIVERY!

NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED!

The Tractor Feed Printer is a high specification printer that can print onto paper (multiple copies) all the PET™ characters — letters (upper and lower case), numbers and graphics available in the PET™ The tractor feed capability has the advantage of accepting mailing labels, using standard preprinted forms (customized), cheque printing for salaries, payables, etc. Again, the only connections required are an A/C cord and PET™ connecting cord. The PET™ is programmable, allowing the printer to format print for: width, decimal position, leading and trailing zero's, left margin justified, lines per page, etc. It accepts 8'/j" paper giving up to four copies. Bidirectional printing enables increased speed of printing.

NEWIBMSELECTRIC

TYPEWRITERS FOR PET! (BRAND NEW IBM II)

UNIT INTERFACES VIA THE USER PORT. FOR THE FIRST TIME A BRAND NEW IBM SELECTRIC IS AVAILABLE FOR YOUR PET! FULL CASSETTE OR DISK WORD PROCESSING PACKAGES. CALL FOR MORE INFO. PET-IBM $1995

BUSINESS SOFTWARE

BUSINESS PACKAGES AVAILABLE ON THE 2040 DUAL FLOPPY:

BUSINESS PAYROLL COMPLETE MAILING LIST — STATISTICAL PACKAGE — GENERAL LEDGER — (UP TO 1,024 A/R's, 512 A/P's, 512 GEN LED ACCTS, POSTING, DISBURSEMENT, AGEING, B/S, l?S, AND MANY OTHER FUNCTIONS!) COMPLETE WORD PROCESSING PACKAGES.

NEECO NOW OFFERS A FULL ONE YEAR WARRANTY ON ALL PET'S SOLD BY NEECO! OUR NEW JUNE CATALOGS ARE NOW AVAILABLE — ARE YOU ON OUR MAILING LIST? NEECO OFFERS FULL SALES, SYSTEMS, AND SERVICE SUPPORT FOR ALL OF OUR CUSTOMERS — WHY NOT BUY FROM THE BEST?

DEALER INQUIRIES INVITED.

— NEECO OFFERS COMPLETE SOFTWARE (COMMERCIAL & CONSUMER)

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

679 HIGHLAND AVE., NEEDHAM, MASS. 02194 MON. - FRI. 9:30 - 5:30, EST.

(617)449-1760

MASTERCHARGE OR VISA ACCEPTED TELEX NUMBER 951021, NEECO

Circle 282 on inquiry card.

BYTE June 1979

165

Bubble Memories

A I Halsema 32014 Granville Ct WestlakeCA 91361

Update on Bubble Memories

In the third quarter of J 978, after this article was written, Texas Instruments announced a new magnetic bubble memory which is capable of storing 250,000 bits of information. The new circuit has 252 minor loops consisting of 1137 bubble positions of which 224 are guaranteed. The memory has an access time of 7.3 ms for the first bit of the 224 bit page.

A Short Tutorial

In the first quarter of 1977 Texas Instruments announced the availability of a 92,000 bit magnetic bubble memory, making bubble memories a commercial reality ten years after the effect was discovered at Bell Laboratories. The bubble memory provides nonvolatile, medium speed data storage at a price close to that of the floppy disk, but without either moving parts or the problems of reliability that moving parts entail. Future memories will provide storage densities of up to one million bits per chip and faster data rates, as the technology matures.

Bubble memories are shift registers that move magnetic domains representing binary data using rotating magnetic fields. The bubble memory integrated circuit is made of a magnetically reactive material such as garnet and has implanted in it a bubble generator for writing data, bubble detectors for reading data, bubble annihilators for erasing data and replicators to provide nondestructive readout. Bubbles move in loops made of small bars of permalloy. As the magnetic field driving circuit rotates, the permalloy bars change their magnetic bias, attract

ing or repelling the bubbles, as shown in figure 1. This creates a shift register. The Texas Instruments TBM 0101 memory contains 157 minor loops of 641 bubble positions for data storage, and a major loop of 640 bubble positions for reading and writing data. This configuration is shown in figure 2.

In operation, data is written into the major loop at the bubble generator. The bits so written are shifted along the major loop until they are adjacent to the minor loops where they are to be stored. The bubble transfer line is then activated and the bubbles are shunted onto the minor loops. Of the 157 minor loops on the device, 144 are guaranteed to be good, so the user must avoid writing into any of the 13 minor loops declared bad at the factory. Each memory device will be shipped with a map of the bad loops written into the device at the factory. This map should be written into programmable read only memory to control access of the minor loops. The controller integrated circuit offered by Texas Instruments will have an input to cause it to ignore bubbles and may be driven by the read only memory. To read data, the minor loops are rotated until the desired 144 bubbles are adjacent to the major loop. The transfer line is activated and the bubbles are shunted out of the minor loops and onto the major loop. The bubbles are then shifted along the major loop until they reach the combination replicator and annihilator.

If a replicate pulse is applied to the circuit, the bubble is duplicated. While one copy goes on to the detectors and eventual

PHASE OF DRIVING MAGNETIC FIELD

Figure I: Movement of a magnetic bubble through a permalloy pattern response to a rotating magnetic field.

i- PERMALLOY / PATTERN

- •»

JBBL

r

+

+

+

+

+

.-"n

+

+

->y pattern In

+

166

June 1979 © IJYTE Publications Inc

BUBBLE GENERATOR

MAJOR LOOP FOR DATA I/O (640 BIT POSITIONS)

r^\

Ky

r~\

r^

REPLICATOR a ANNHILATOR

BUBBLE DETECTORS

BUBBLE TRANSFER LINE

— PAGE 0

— PAGE I

W w

PAGE 640

157 MINOR LOOPS

destruction, the other bubble continues around the major loop until it is shunted back onto its minor loop, thus providing nondestructive readout. The bubble that is passed on to the detectors activates dual Hall effect devices that vary their electrical resistance with varying magnetic fields. Two of these detectors are supplied in order to cancel noise through the use of a detector bridge connected to a differential amplifier. The detectors have a nominal resistance of 1100 ohms and are matched to within ±10 ohms. A single bubble passing under the two detectors produces a 7 mV signal with two positive and two negative peaks. Care must be taken when laying out circuit boards to avoid long detector signal lines and cross-coupling of control signal noise.

The rotating magnetic field for shifting the bubbles is produced by driving the coils built into the circuit with signals that are 90° out of phase at a maximum frequency of 100 kHz. This technique is shown in figure 3. For standby low power operation, the coil drive may be turned off with no loss of data.

Data in the memory is organized in the form of 18 byte pages and 641 pages per integrated circuit for a total of 11,538 bytes. Using the TMS 9916 controller, any byte within a page may be randomly accessed, although the pages are serially accessed. Each minor loop contributes a bit to the formation of a page, so that the 144 bits of a page are distributed over 144 minor loops.

Prior to removing power from the memory system, the user must be sure that page zero is rotated back into the page zero position. If this is not done, the next time power

is applied it may not be possible to locate page zero for proper addressing. This is because there are no physical indices to mark the beginning of the medium. If the TMS 9916 controller is used, power failure detection circuitry will initiate data positioning automatically. This process requires 12.8 ms, so the system's power supplies should remain in regulation for at least this long.

Considering the high price of the magnetic bubble medium, it is unlikely that it will be used in a removable form as is the case with the floppy disk. Instead, they will probably be built into a cabinet (or even a mainframe) and used as a drum would be. An 11 K byte drum may seem small, but remember that single circuits with 3 to 10 times the capacity of the TBM 0101 are on their way.a

Figure 3: This simple circuit is an example of how the bubble memory field may be driven.

Figure 2: Logical layout of the Texas Instruments TBM 0101 bubble memory. The 157 minor loops are used for data storage. Each loop contains 641 bit positions.

CLOSED

n open n

J~L

n n.

_n n

U

n

n_

/

i

Y

ii—

T

I o

0>iS

r

TBMOIOI I rwv~v_

June 1979 © BYTE Publications Inc 167

Stacks in Microprocessors

T Radhakrishnan Dept of Computer Science Concordia University Montreal CANADA

M V Bhat

Pratt & Whitney Aircraft, Canada Engineering Computing Longuenil Quebec CANADA

Introduction

The stack or the "last in first out" (LIFO) data structure has become an essential tool in computer systems. There are two major operations associated with this data structure:

PUSH: places a new data item on top of the existing ones in the stack.

POP: removes the topmost element of the stack for succeeding operations.

A spring loaded plate holder in a cafeteria is a good example of a "stack," since addition and removal of items occur at the same end in a last in first out sequence (see figure

D.

When the capacity of a stack is "n" items, then n+1 consecutive PUSH operations will cause the stack to overflow. Similarly, popping an empty stack creates an underflow. Even though stack underflow may not occur intentionally, programmers should account for this condition. Stack overflow is more probable when the stack capacity is not large enough to accommodate all the occurring conditions simultaneously.

Stack size is one of the major design parameters in processor architecture. For instance, the earlier Intel 8008 processor had a built-in 7 level subroutine control stack which was later increased to a more general stack pointer which could range throughout memory in the 8080.

In the software realization of stacks, a programmable memory location is used along with an address pointer, called the "stack pointer" or SP. The stack pointer points to the memory location that holds the top element of the stack; the pointer is updated (incremented or decremented) after every push or pop operation (see figure 2). In this case the programmer must set aside

a k

x

A

PUSH A

PUSH X PUSH K

X A

A

Figure 7: A sample 3 word stack. A PUSH command causes one piece of data to be "PUSHed" onto the stack; the resident data is pushed downward to make room. Similarly, a POP command removes the topmost piece of data and shifts the rest of the stack upward.

a portion of the main memory to accommodate the stack. Consequently, the stack capacity is determined by the free space in the main memory and is more flexible. In figure 2 the occupied portion of the stack grows from low to high memory addresses. Hence, the PUSH operation increments the stack pointer and the POP operation decrements it. It is not difficult to introduce the stack overflow and underflow conditions in the above simulation.

In another realization of stacks, a set of n registers constitutes a stack. Every POP operation takes the data item from the topmost register; the data in each stack location is then shifted upward. The PUSH operation shifts the stack contents down one place

168 June 1979 © BYTE Publications Inc

ONE PACKAGE DOES IT ALL

Includes these Application Programs .. .

Sales Activity, Inventory, Payables, Receivables, Check/Expense Register, Library Functions, Mailing Labels, Appointments, Client/Patient Records

MICRO-AP MICRO-AP MICRO-AP MICRO i-AP MICRO-AP MICRO-AP MICRO-AP MICR lP MICRO-AP MICRO-AP MICRO-AP MICRORO-AP MICRO-AP MICRO-AP MICRO-AP MICR O-AP MICRO-AP MICRO-AP MICRO-AP MICROICRO-AP MICRO-AP MICRO-AP MICRO-AP MICR CRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO.P MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICR MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO

n^P MICRO-AP MICRO-AP MICRO-AP MICR MICRO-AP MICRO-AP MICRO-AP MICROkP MICRO-AP MICRO-AP MICRO-AP MICR MICRO-AP MICRO-AP MICRO-AP MICROiP MICRO-AP MICRO-AP MICRO-AP MICR MICRO-AP MICRO-AP MICRO-AP MICROkP MICRO-AP MICRO-AP MICRO-AP MICR

•AP MICRO-AP MM I ^"""V BOAP MICRO-AP Ml

:ro-ap micro-apI ■ ■ ■ kro-ap micro-ap r

-AP MICRO-AP Ml I | | lo-AP MICRO-AP Ml

:ro-ap micro-apI mm^ ^™ ■ ero-ap micro-ap t

-AP MICRO-AP Mllfc——11 lo-AP MICRO-AP Ml

:ro-ap micro-afB kro-ap micro-ap r

■AP MICRO-AP Ml lo-AP MICRO-AP Ml

IRO-AP MICRO-APfl KRO-AP MICRO-AP t

-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP Ml :RO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP t -AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP Ml :RO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP MICRO-AP II

RANDOM, MULTI-KEY RECORD RETRIEVAL under CP/M, CDOS, IMDOS, ADOS

SELECTOR III ALLOWS INSTANT RECALL OF ANY RECORD USING ANY INFORMATION ITEM IN THE RECORD. That statement deserves re-reading, because that ability makes SELECTOR III the most powerful Date Base Management System in microcomputers today!

With SELECTOR III

you can...

• define a record format, assign retrieval keys, and begin entering data in minutes.

• create sorted pointers to records matching your specif or range of requirements.

Circle 213 on inquiry card.

• automatically generate reports with control-break summaries and unlimited variety.

an application onhours instead of

• bring line in months.

SELECTOR III comes complete with eight application programs that perform the tasks listed at top of page. And, since it's distributed in source code form, you can easily add subroutines to do specific computations or file updates.

SELECTOR III runs under CBASIC Vers. 1 or 2, and is priced at $295. SELECTOR

III-C2 is dedicated to Vers. 2 only, runs about twice as fast, and costs $345.

Both systems are available in a variety of CP/M, diskette size and density formats including IBM 8"; North Star; Micropolis; TRS-80; Processor Tech Helios II; Altair; iCOM; Dynabyte; Imsai; and others.

| Available from computer stores nationwide: I

LIFEBOAT Associates

2248 Broadway, Suite 34, New York, N.Y. 10024 • (212) 580-0082

Or order direct from

MICRO-AP

I 9807 Davona Drive, San Ramon, CA 94583 I (415) 828-6697

BYTE June 1979

169

0

o-l o-2 0-3

Pop: Push:

Ope SP

SP M[5

X

rand «- M[SP]; «- SP-1.

♦- SP+1; !P] «- Operand

K

■ h

0-1 Is,

Q

X

X

a-l

A

A

a-2

a-3

M: MEMORY BEFORE POP

M: MEMORY AFTER POP

Figure 2: A software simulation of the pushdown stack. Operation of the stack is identical to the hardware stack (see figure I), except that there is no dedicated hardware involved. Instead, a program creates a stack pointer in memory which points to the current location of the top of the stack.

Processor

Hardware Stack or Stack Pointer

Stack Oriented Instructions

Remarks

1. 8080

16 bit stack pointer

a) Push register pair into stack

b) Pop register pair from stack

c) Push/Pop processor status word

d) Exchange stack top with register pair (H,L)

e) Load SP from register pair (H,L)

2. Z-80

16 bit stack pointer

a) All the instructions of Intel 8080

b) Push/Pop the (two) index registers

3. M6800

16 bit stack pointer

a) Push/Pop the (A or B) accumulator

b) Load SP from memory

c) Store SP into memory

d) Transfer index register contents toSP

el Transfer SP into index register f) Increment/Decrement SP

4. RCA 1802

16 bit stack pointer

a) Increment/Decrement the selected register (SP)

b) Push/Pop the working (D) register

c) Load the D register into left or right half of SP

Any of the 16 registers can be used as a SP

5. PACE

Hardware stack 8 16 bit words

a) Push/Pop program counter

b) Push/Pop the specified register

c) Exchange the contents of the register with SP

d) Push/Pop the flag register

Stack overflow Underflow Interrupts are provided

6. IMP-8C

Hardware stack 16 8 bit words

a) Push/Pop the selected accumulator into stack

b) Exchange the stack top with the selected accumulator

c) Push/Pop the status flags into the stack

No overflow

Underflow

Interrupts

Table I: Stack features of some common microprocessors. The stack is a storage place in a computer designed to hold pieces of data in serial order. "PUSHing" an element onto the stack causes the existing elements in the stack to be moved downward, in much the same manner as a spring loaded plate holder found in restaurants. "POPing" an element from the stack removes the most recent addition to the stack for use. Because of these two features, the stack operation is often referred to as "last in first out," or "UFO."

and adds the new data item. In this approach, reading from and writing to the data structure occur only with the topmost register. Inter-register transfers can be achieved in parallel during the same clock period. The stack facility available with IMP-8C microprocessor, an example of this type, has a capacity of 16 words. This method of realization is known as the fixed top (figure 1) in contrast to the moving top approach explained earlier (figure 2). The flexibility associated with the latter can be combined with the speed advantage of the former as is done with PACE microprocessors (see table 1).

Most modern processors provide one or more registers to hold stack pointers. For example, there is one stack pointer register in the Intel 8080 and there can be as many as 16 stack pointers in the RCA 1802 processor (see table 1). The pop and push instructions update the SP registers automatically. The architecture and the stack oriented instructions differ widely among the various processors, and table 1 gives details of some of the common ones.

Typical Applications of Stacks

Suppose a routine A calls another routine B at some point a in A. Similarly, let B call C at point b. The addresses a+1 and b+1 are the return addresses where execution control will return from the called routine. It is evident from figure 3 that the return addresses are used in the reverse order of their sequence of occurrence. The labels d, c2, c3 in figure 3 stand for the first, second and third calling of routines, and r1, r2, r3 stand for the first, second and third returns from the called routines. This last in first out (LIFO) nature of the use of return addresses in multilevel calling is commonly implemented with stacks. Simple extensions have been devised to pass the parameters along with these return addresses using the stack structure (see reference 1).

The calls shown in figure 3 could also be considered as calls to service routines due to asynchronous interrupt signals. In the latter case, the return addresses are not predetermined address points, but are instead the contents of the program counter. However, the last in first out nature of the return addresses remains valid. The call due to an interrupt creates a new process, and hence the status of the current process (process status word, flags, etc) has to be additionally

170

June 1979 © BYTE Publications Inc

after

BATTERY SUPPORTED CALENDAR CLOCKS

PDP-11*

TCU-100-$495

■ Provides month, day, hour, minute and second.

■ Can interrupt on date/time, or periodic intervals.

TCU-150«$430

■ Provides year, month, day, hour, minute and second.

■ Automatic leap year.

■ Patches for RSX-11M, RT-11 FB/SJ V02, V03 and UNIX.

LSI-11/2*

TCU-50D • $295

■ Provides month, day, hour, minute and second.

■ Dual size board.

■ Patches for RT-11 SJ/FB V02, V03B.

Lockheed SUE

TCU-200 • $550

■ Provides year, month, day, hour, minute, second and milli-second.

■ Interval interrupts between 1/1024 seconds and 64 seconds.

Computer Automation (Naked Mini)

TCU-310-$385

■ Provides year, month, day, hour, minute and second.

*Trademark of Digital Equipment Corporation

Multi-Bus**

TCU-410«$325

■ Provides year, month, day, hour, minute and second.

■ SBC/BLC compatible.

HP 2100

TCU-2100«$395

■ Correct time restored after power failure.

■ Compatible with the HP TBG card.

Serial Clock (RS 232 or 20 mA)

SLC-1 • $575

■ Connects between any terminal and host computer.

■ Provides date, time and more!

All Digital Pathways TCUs have on board NICAD batteries to maintain time and date during power down. Timing is provided by a crystal controlled oscillator. Prices are U.S. domestic single piece. Quantity discounts available.

For more information on these products, contact: Digital Pathways Inc. 4151 Middlefield Road Palo Alto, CA 94306 Phone: (415) 493-5544

"Trademark of Intel Corporation

DIGITAL PATHWAYS

Circle 86 on inquiry card.

BYTE June 1979 171

CALL B

ROUTINE A V

\r2

ROUTINE B \

\

ROUTINE C

ROUTINE 0

Figure 3: Diagrammatic representation of multilevel, or "nested," subroutines. The return address of each subroutine call must be remembered so that the program can return to the right place after the subroutine is completed. The "last in first out" nature of nested subroutines is such that the stack is a logical way to keep track of the return addresses.

saved. Some processors, like the IMP-8C, have instructions to push and pop status flags onto stacks. In other processors, this is done automatically when an interrupt occurs. Stacks in microprocessors, starting from the early Intel designs, have traditionally been used primarily for subroutine control and interrupt handling.

Another use of stacks, though one not much used in the hardware of processors, is in the compiling arithmetic expressions. Consider the following arithmetic expression:

A+BXC-D/E

In this form, the "operator" is between the two operands. This is known as infix notation. The form in which the operator follows the operands is called postfix or reverse Polish after the Polish logician J Luckasiewicz, who investigated the properties of this notation. The postfix equivalent of the above expression, which does not require any parentheses, is as follows:

AB+CXDE/

Algorithms exist which use the stacks to convert arithmetic expressions from infix to postfix notation (see reference 2). Figure 4 shows a sample code for the above postfix expression; it is meant for a computer with stacks, and is used to evaluate arithmetic expressions. Operations such as ADD and SUB take the top two elements of the stack, perform the operation, and then push the result back onto the stack. Such a system is called a stack computer. Using this postfix notation, it is not hard to generate code for machines with single accumulators or for machines with multiple registers.

Stack Machines

Among the architectures with two stacks, two broad categories are evident. The first kind of machine provides stack features along with conventional architecture. This stack feature might be implemented through a hardware realized stack, a stack pointer register with a set of associated hardware instructions, or a complete software simulation using a memory location as the stack and its pointer. Some combinations of these three approaches are also present in some recent processor architectures. Most processors have some sort of stack facility and instructions to manipulate data with stacks or stack pointers.

The second kind of machine with stack facility can be called a stack machine. Its architecture is completely centered on stacks. The Burroughs B5500 and B6700, HP3000 and ICL2900 are examples of this category. In these machines, the three basic functions of process management, memory management, and data management of jobs are all stack oriented. Most of these archi

Contents of Stack

Op Code

(read left to right)

PUSH A

A

PUSH B

B,A

ADD

(A+B)

PUSH C

C,(A+B)

MPY

(A+B)*C

PUSH D

D,(A+B)*C

PUSH E

E,D,(A+B)*C

DIV

(D/E),(A+B)*C

SUB

(A+B)*C-(D/E)

Figure 4: Op code designed for use with Polish postfix notation on stack oriented computers. Polish notation is a method for rewriting expressions unambiguously by systematically segregating operators and operands. For instance, the expression used in this example appears as (A+B)XC—D/E in normal, or "infix" notation; the Polish postfix equivalent is AB+CXDE/. The latter can be directly used by a stack oriented computer, which automatically performs stack operations. (For example, a stack ADD instruction takes the top two elements of the stack, adds them together, and pushes them back onto the stack. The MULT, DIV and SUB operators work in the same manner.) The algorithm for evaluating the expression then reduces to examining each element in the Polish notation string from left to right, pushing it onto the stack if it is an operand and performing the operation if it is an operator.

172 June 1979 © BYTE Publications Inc

• NEW PRODUCT •

64K bytes of fast, low power dynamic RAM. MEMORY BANK SELECT

$89500

for model DMB 6400

64K bytes of fast, low power dynamic RAM.

00

Both our UNCommon Dynamic and our UNCommon Static RAMS have the following features and specifications:

}

$795

for model DM -6400

• NEW PRODUCT.

32K bytes of faster Static RAM which MEMORY BANK SELECT $59500

for model SMB 3200

• They are all GUARANTEED to be compatible with the following S-100 systems:

CROMEMCO. IMSAI. ITHACA AUDIO. MITS. NORTH STAR. PROCESSOR TECHNOLOGY, TDL.TEI. VECTOR GRAPHICS, and other S-100 systems.

Both of Our UNCommon Dynamic RAM Series, the DMB-6400 and the DM-6400, feature:

• 64K bytes of dynamic RAM with on board transparent refresh.

• S-100 interface compatible, with crystal controlled timing INDEPENDENT of bus or processor timing.

• No wait states with 8080 orZ-80 to4MHz. Up to 5MHz with I wait state.

• Memory selectable or deselectable in 4K byte increments.

• Low power. 8 watts maximum, in 64K byte configuration.

Our UNCommon Static RAM Series, the SMB 3200, features:

• Memory Bank select capabilities: Either two (2) I6K byte banks of memory, or one (I) 32K byte bank per board.

• 32K bytes of low power static RAM.

• No wait states with 8080. 8085, or Z-80 processors up to 5MHz.

• Addressable in 4K byte increments at 4l< boundaries. Deselectable in 4K byte increments.

Announcing the Model DMB-6400 Series of UNCommon Dynamic RAMS. This Series incorporates the features which are standard in the DM-6400 Series and adds the following capabilities:

• MEMORY BANK SELECT which is compatible with CROMEMCO.

NORTH STAR, and other systems using output port bank select.

• 256 ports selectable (including CROMEMCO 40H and NORTH STAR COH)

• Eight (8) 64K bytes banks of memory per output port.

• Each I6K bytes of addressable memory space may be individually set to start at 0000. 4000. 8000. or C000 and can be set for any of the 8 banks on one selected output port. The bank memory size can be incremented from 16K bytes to 64K bytes in 16K increments. allowing 5I2K byte bank sizes.

• Total memory addressing to over 100 Megabytes by using different I/O ports for memory control.

UNCommon Dynamic RAMS with | MEMORY BANK SELECT.

□ DMB 6400/64K RAM - *89500

□ DMB 4800/48K RAM - *79500

□ DMB 3200/32K RAM - *69500

UNCommon Static RAMS with MEMORY BANK SELECT.

□ SMB 3200/32K RAM - s69500

UNCommon Dynamic RAMS

D DM 6400/64K RAM - *79500 D DM 4800/48K RAM - s69500 D DM 3200/32K RAM - 559500

Delivery: stock 10 30 days • TRICES SUB|tCT TO CHANCE WITHOUT NOTICE. •

All of our UNCommon Dynamic and Static Series RAMS feature the following:

• Inputs are RC filtered and buffered with I LS TTL load. Compatible with terminated or unterminared busses.

• Outputs are all tri-state.

• Disc compatible. DMA compatible.

• Phantom memory selectable on pin 67.

• DIP switch selectable addressing.

• Reliability — all boards fully tested and burned-in.

• FULL DOCUMENTATION — Schematics, layout, parts list, theory of operation, timing diagrams, and option selection.

• Industrial quality design, components and construction. Glass epoxy boards. Fused, double solder masks. Silk screened legends. Gold plated connector contacts. All IC's socket mounted.

• Guaranteed performance on parts and labor for one year.

MEASUREMENT

systems cv controls

incorporated

For the above products see your local dealer or order directly.

ORDERS - BA. VISA. MASTER CHARGE, money orders, or personal checks. Please allow 14 days for checks to clear bank. California residents please add 6% sales tax to your order.

All orders shipped postpaid. All orders in U.S. funds. Please add 10% on all orders outside the U.S.A. and Canada.

867 North Main Street

Orange, California 92668

Telephone: (714) 633-4460

Circle 215 on inquiry card.

ISYTE June 1979

173

X_ Ixl, x2)

(b)

(c)

X: Begin

Integer x1, x2;

Y: Begin

Integer y1, y2, y3;

Z: Begin

Integer z1;

End;

End; (Y)

K: Begin

Integer k1, k2;

End; (K)

N: Begin

Integer n1;

End; (N)

End; (X)

N • (nl)

(zl) Z

y3

x2

x !

y3

y2

k2

k I

x2

Hi

tectures support block structured languages similar to ALGOL or PL/I. A program written in a block structured language can be visualized as a tree structure; execution of the program traces some paths in this tree structure. The relationship between tree structures and stack data structures is well known (see reference 4). An example is shown in figure 5 along with "snapshots" of stacks holding the program variables. Because of the limited access points with stacks, certain extensions are required in stack machines to implement the array data structures. These extensions are of a different kind, such as the use of index registers for addressing. Similarly, to facilitate process and memory management, special software tools are used.

Computer systems and architectures can be appraised from three points of view: the languages available to users (application and system programmers), the operating system, and the hardware. These three areas are highly interrelated, and it is difficult to separate their capabilities. A few stack machine architectures are commercially available with facilities for multiprogramming and timesharing. The architecture of the Burroughs systems is such that the system software can be effectively written in a high level language. Stack machines have good and bad points. Their advantages are

Figure 5: A block structured program. Programs written in block structured languages can be visualized as tree structures (figure 5a). ALGOL and PL/1 are examples of this type of language. The tree in this illustration shows how the program is structured. Figure 5b shows how the stacks in a stack oriented machine would look at various points of the program. Figure 5c shows the block layout of the program.

noticeable in block structured programming, which is becoming popular. As Doran points out (see reference 1), stack machines have proven to be successful. The increasing cost of software and the flexibility available through microprogramming indicates a trend towards stack machines or, at least, toward a greater use of stack features in computer architectures.

Conclusions

Developments in software and programming techniques during the past decade have proven the advantages of stack data structures. Microprocessors of recent origin provide adequate facilities to support this data structure. The provision of stack pointers is a compromise between the expensive and inflexible hardware stacks at one end and the inexpensive and flexible software simulation at the other end. Most microprocessors have stack pointers and a set of associated machine instructions.

Stack machines have certain advantages in higher level block structured programming and the implementation of operating systems. At present, programming with microprocessors is done mostly in machine or assembly language level. Large in-house software systems for microprocessors are not yet a reality. As a result, stack machine architectures are still in the realm of large machines."

Acknowledgement

We gratefully acknowledge the help of K Venkatesh, research assistant, Computer Science Department of Concordia University, in the preparation of this manuscript.

REFERENCES

Doran, R W, "Architecture of Stack Machines" in High Level Language Computer Architecture, edited by Y Chu, Academic Press 1975.

Gries, D, Compiler Construction for Digital Computers, John Wiley & Sons, NY 1971. McKeeman, W, "Stack Computers" in Introduction to Computer Architecture, edited by H S Stone, SRA Inc 1975. Knuth, D E, The Art of Programming, vol 1, Fundamental Algorithms, Addison Wesley, Reading MA 1968.

Organick, E I, Computer System Organization: The B5700/B6700 Series, Academic Press 1973.

174 lune 1979 © BYTE Publications Inc

9&>

&&~

Circle 23 on inquiry card.

Complete System includes:

• 10 MILLION CHARACTER HARD DISK STORAGE

• DISK OPERATING SYSTEM & EXTENDED BASIC

• POWERFUL 16-BIT CENTRAL PROCESSING UNIT

• VIDEO DISPLAY TERMINAL

• 150 CPS LINE PRINTER AND PRINTER STAND

• DESK ENCLOSURE

basic Lime

1215 E. El Segundo Boulevard El Segundo, California 90245 213/322-4435

HYTt |une M7<) 175

Designing

a Command Language

G A Van den Bout 929 Tower St Raleigh NC 27607

Nearly every system, whether it is composed of ten lines of code or ten thousand lines of code, will perform three distinct functions. It will receive input from the user, it will process this input and it will output the results. Of these three functions, the one which undoubtedly receives the least attention from the system designer is the communication from the user of the system to the system itself.

Hours and hours may be spent perfecting a processing algorithm and computing field lengths so that the resulting output can be instantly understood, yet due to the lack of consideration put into the input stage of the system, the user may be forced to plow through a series of questions and answers directed to him by the system. This is a situation which would try the patience of even the most tolerant person. Sometimes a situation even worse than this series of questions may be caused by the designer who is very familiar with the system. In an effort to save time and memory space, the designer may decide to reduce or even entirely omit any prompting by the program. This leaves the decision of what information must be entered to the intuition of the user, or to a system manual which will probably not be around when it is needed.

A good solution to the problem would be a well designed command language which would allow the user to supply all of the information which is needed by the program at one time, in a single command. Then, if any of the required data has not been entered, the computer can prompt the user for the remaining items. This method

allows for both the experienced user who knows exactly what data the program needs at every instant and for the first time user who requires some help from the system now and then, but who will soon become familiar with the system and probably prefer to avoid the repetitious prompting.

Consider the following example which, although hypothetical and not necessarily typical of chess playing programs in general, illustrates problems which do exist in many systems. A superb chess playing program has been designed after months of hard work. Along with this program, a graphics output system has been devised to display the present formation of the board after each move is made. When the user sits down to test his skill against that of the machine, he becomes a partner to the following dialogue:

(C: COMPUTER; P: PLAYER)

C: DO YOU WISH TO MOVE(l), CAPTURE(2),

OR CASTLE(3)? ENTER 1, 2, OR 3. P: 1 C: ENTER NUMBER (1-8) OF ROW THAT

PIECE IS ON. P: 2 C: ENTER LETTER (A-Z) OF COLUMN THAT

PIECE IS ON. P: D C: ENTER NUMBER (1-8) OF ROW TO WHICH

YOU ARE MOVING.

No matter how well the machine plays chess, it is doubtful whether it will be used by any particular person for more than a few games. Despite the thought that went into the rest of the program, no creative thought was put into the command language for the system.

176 June 1979 © BYTE Publications Inc

Figure I: A finite state machine with one initial state and three final states that is capable of recognizing the words: sat, sog, sogs, hat, hog and hogs.

Now, consider the following conversation between the computer and the player.

C: P: C: P: C: P: C:

ENTER YOUR FIRST MOVE.

MOVE FROM D2 TO D4

I MOVE FROM H5 TO E2. CHECK.

CAPTURE E2

FROM WHERE?

H2

This method not only cuts down on the unnecessary chatter which was encountered in the first case, but gives the player credit for possessing some knowledge of what is happening in the game. By taking time to design an easy to use command language, the designer can produce a game which will not only play well but which will also be enjoyable to use.

The problem encountered when designing a program which handles a set of commands such as these is that often no organized approach is taken to assure that the allowable commands are processed correctly. Each input string may be scanned and rescanned for the information which is needed by the program. This type of haphazard approach will very likely produce unreadable code which is hard to debug and which may contain hidden errors and ambiguities. To avoid these problems, the theory of finite state machines (FSMs) may be used to produce a recognizer program which can parse the input commands and produce a structured command which can be interpreted by the system.

Finite State Machines

Consider the finite state machine shown ir figure 1. Each circle represents a state of the finite state machine. In this example there are seven states: S, 1,2, 3, F1, F2 and F3. The names chosen for the states are arbitrary. The directed lines between the states are called state transition paths. The state transition path, labeled with an H, located between state S and state 1, is named S-1(H). The parenthetical symbol will be omitted when there is no ambiguity, such as the path 1-3. The states which are circled twice are final states. The final states in figure 1 are F1, F2 and F3. The states which are pointed to by arrows which lead from no other state are called initial states. The only initial state in figure 1 is S.

This finite state machine can be used to recognize several different strings, a string in this case being merely a sequence of letters. For a particular string to be recognized, an ordered path must exist between an initial state and a final state such that every symbol in the string being recognized exists (in its original order) along the path starting at the initial state. Using this finite state machine the string HOG is recognized in the following manner. Starting at initial state S, the first symbol in the string, H, leads to state 1 along path S-1(H). The second symbol, the letter O, selects path 1-3 leading to state 3. Finally, the symbol G leads to the final state F2 via the path 3-F2. Since this path exists from the initial state S to the final state F2, the string has

Since the aim of this article is to show how to use finite state machines to aid in programming a command language, not to thoroughly cover finite state machine theory, I will give a rather informal description of the machines. The representation used here has appeared in various places, and was chosen mainly because of its simplicity for this application.

Figure 2: Finite state machine that has a state transition path loop.

June 1979 © BYTE Publications Inc

177

Figure 3: A lexical finite state machine for recognizing the entities that will be accepted by the game: <TO>,<TAKE>, <M O V E>,<CAP>, <FROM>,<END>, <POS>.

been recognized. The other strings which can be recognized by this FSM are SAT, HAT, SOG, SOGS and HOGS.

State transition paths need not proceed to a new state. A state transition path may return to a previous state or may even return to the state from which it started. Figure 2 is an example of a finite state machine which will recognize any string which begins and ends with an A and which has zero or more Bs between the two As, such as the strings: AA, ABA, ABBA, etc.

Sample Problem

Now that the basics of finite state machines have been explained, a simple command language will be defined and implemented using them as a design tool. Using this example, a similar procedure can be followed to produce a recognizing program for nearly any command language which might be chosen.

Assume that there is a game which is played on a chess board. The columns of the board are labeled with the letters A thru H and the rows of the board are labeled with the numbers 1 thru 8. The three possible moves which may be made by any player consist of moving a piece from one square to another, MOVE, moving a piece to another square and capturing the piece on that square, CAP, or removing one of his own pieces from the board, TAKE. Some examples of commands which are to be accepted by the program are:

MOVE FROM Al TO C3 CAP FROM 4H TO HI TAKE FROM E5 MOVE TO F6 FROM 6G

It can be seen that the commands are made up of six basic entities which must be recognizable. Three of these entities are the commands MOVE, CAP and TAKE. TO and FROM are keywords which must be identified in order to interpret a command. The final type is a position which may consist of a letter followed by a number or a number followed by a letter and which will exist one or more times in each command.

<M0VE>

178 June 1979 © BYTE Publications Inc

Command Recognizers

When a command is entered to be interpreted by the computer, it consists merely of a sequence of symbols (letters, numbers and spaces) which have no syntactic meaning of their own. The meaning only starts to be

come clear when the symbols are grouped together to form tokens. The tokens which exist in this game are the six entities described above. These tokens will be referred to as <MOVE>, <CAP>, <TAKE>, <TO>, <FROM>, <POS>. A finite state machine which will recognize each of these tokens is shown in figure 3. Blanks are shown on this diagram and in the following diagrams as small squares. Note that one new token has been added to the six types listed above. This new token is <END> which is recog

<P0S>

Figure 4: A syntactic finite state machine for accepting valid commands.

keeping you in touch with technology...

The Understanding Series™ from Texas Instruments.

Five self-paced, easy-to-understand books for the reader who wants to learn about electronics technology, but can't devote years to the study.

Understanding Microprocessors.

250 pages. Available June 1979. For the newcomer to microprocessors. What they are, what they do, how they work.

Understanding Calculator Math. 224

pages. Loaded with practical electronic calculator applications.

H>

me.

1

Understanding Solid-State Electronics.

New 3rd edition. 270 pages. Simple building blocks for learning solidstate behavior.

Understanding Digital Electronics.

265 pages. The world of today's digital devices made easy.

Basic Electricity and DC Circuits.

1026 pages. Learn all about DC Circuits — simply, easily.

80103 "~1

□ LCB-4023 Understanding Microprocessors. New... available June 1979

□ LCB-3321 Understanding Calculator Math

□ LCB-3361 Understanding Solid-State Electronics. New 3rd edition

□ LCB-3311 Understanding Digital Electronics

□ LCW-8161 Basic Electricity and DC Circuits Add applicable sales tax (except AK, DE. HI, MT, SPECIAL OFFER:

Purchase any two books and save Purchase all five and save

© I979 Texas Instruments Incorporated

S 4.95 S 3.95

$ 3.95

$ 3.95

S19.95

NH, OR)

$ .50 $2.00

Mail check or money order to Texas Instruments, P.O. Box 3640, M/S84. Dallas. Texas 75285. Orders in Continental U.S. shipped prepaid. Foreign orders: Prepaid funds in U.S. dollars only. Include shipping costs.

S5

Address.

City,

-Zip.

Limited time offer. Prices effective January. 1979. Subject to change without notice.

Texas Instruments

I NCORPORATED

Circle 366 on inquiry card.

lune 1979 © BYTE Publications Inc 179

Figure 5: Two example COMMAND arrays. COMMAND array A results after processing the command MOVE TO CI FROM H6. COMMAND array B is the result of processing TAKE FROM A 7.

(a)

H

6

c

(b)

3

A

7

nized when an end of line (eol) delimiter is found.

Most of this finite state machine is selfexplanatory. Note, however, the two states LI 5 and L23 which are entered after matching an initial C or F, respectively. These states represent a point in the matching process where the token being recognized may be either a command (<CAP> or <FROM>) or a position (<POS>). When the next symbol in the input stream is examined, the recognition of the token as a position (paths L15-L20 and L23-L20) or as a command (paths L15-L16 and L23-L24) can be made.

The finite state machine which has just been described performs the process known as lexical analysis, the process of grouping

Table 1: Semantics for the syntactic finite state machine.

Sl-S2(<MOVE>) :

SETCOMMAND(l)

TO 1

S1-S2(<CAP>) :

SET COMMAND (1

TO 2

S1-S3 :

SET COMMAND (1

TO 3

S4-S7 :

SET COMMAND(2

TO COLUMN (A-H)

SET COMMAND(3

TO ROW (1-8)

S10-S13 :

SET COMMAND(4

TO COLUMN (A-H)

SET COMMAND(5

TO ROW (1-8)

S8-S9 :

SET COMMAND(4

TO COLUMN (A-H)

SET COMMAND(5

TO ROW (1-8)

S10-S6 :

SET COMMAND(2

TO COLUMN (A-H)

SET COMMAND(3

TO ROW (1-8)

S12-S13 :

SET COMMAND(2

TO COLUMN (A-H)

SET COMMAND(3

TO ROW (1-8)

OTHERS :

(NO SEMANTICS)

Table 2: Semantics for the lexical finite state machine. These routines are used to set up the array TOKEN.

L1-L2

SETTOKEN(l)

TO 0

SET TOKEN(2)

TO 6

L4-L5

SETTOKEN(l)

TOO

SET TOKEN(2)

TO 4

L8-L9

SETTOKEN(l)

TOO

SETTOKEN(2)

TO 3

L13-L14 :

SETTOKEN(l)

TOO

SET TOKEN(2)

TO 1

L17-L18 :

SETTOKEN(l)

TOO

SET TOKEN(2)

TO 2

L26-L27 :

SETTOKEN(l)

TOO

SETTOKEN(2)

TO 5

L1-L19 :

SET TOKEN (2)

TO INPUT CHARACTER

L1-L22

SETTOKEN(l)

TO INPUT CHARACTER

L19-L20 :

SETTOKEN(l)

TO INPUT CHARACTER

L22-L20 :

SETTOKEN(2)

TO INPUT CHARACTER

L15-L20 :

SETTOKEN(l)

TO INPUT CHARACTER

SET TOKEN(2)

TO "C"

L23-L20 :

SETTOKEN(l)

TO INPUT CHARACTER

SETTOKEN(2)

TO "F"

OTHERS:

(NO SEMANTICS)

together input symbols to determine the tokens which have been input. The next process which must be performed is the process of syntactic analysis, checking the order of the tokens which have been formed to see whether they form a valid command. For example, the two "commands":

MOVE FROM Al TO C3 Al C3 FROM TO MOVE

are both composed of valid tokens for the example language but only the first command is syntactically correct. To determine the syntactic correctiness of a command another finite state machine must be designed. This machine, rather than having paths labeled with symbols from a character set, will have labels which are valid tokens of the language being processed. Figure 4 shows a finite state machine which will accept the valid commands of the language.

Semantic Routines

At this point two finite state machines have been produced which can be used to recognize valid commands for the game. Before these machines are used to help produce code to process actual commands, the results of processing each command must be defined. After a decision has been made regarding these results, semantic routines, routines to carry out the processing of the various commands, should be associated with each state transition path of the finite state machines. In our system, each command will be converted to a set of codes and placed in an array called COMMAND which will have five elements. COMMAND( I) will be set to a code describing the command operation (1=MOVE, 2=CAP, 3=TAKE), COMMAND(2) and COMMAND(3) will hold, respectively, the column and the row position associated with the FROM keyword. COMMAND(4) and COMMAND(5) will hold the column and row position associated with the TO keyword. Figure 5 shows the expected results of processing following two commands:

MOVE TO Cl FROMH6 TAKE FROM A7

For the finite state machine that is shown in figure 4, table 1 shows the semantics which will produce the desired results. Routines for paths such as S1-S2(<MOVE>) set the first element of the COMMAND array to indicate which command was recognized. Path S2-S3 is an implicit recognition of the word FROM and has no semantics associated with it since nothing must be done until the path S3-S4 is traversed. When this action occurs, the row and

180

lune 1979 © BYTE Publications 1

What's

?

*

Learn About Artificial

INTRODUCTION TO ARTIFICIAL INTELLIGENCE by Philip C Jackson Jr.

D This book surveys the field beginning with Turing's test, the mathematical description of phenomena, finite state machines and limits to computational ability, followed by chapters on problem solving, game playing, pattern perception, theorem proving, semantic information processing, parallel processing, evolutionary systems, robots, and a look at the future of the field. This thoughtful and unusual book will make a useful addition to your library. A 50-page bibliography is included. 453 pp. $18.50 hardcover (no photo).

ARTIFICIAL INTELLIGENCE by Patrick Henry Winston. □ This book is designed for use in a course on artificial intelligence, but should prove invaluable to the newcomer to the topic, as well as being useful to the experienced as a reference text. Part One is set up to be used as an introduction to the key ideas of the subject, including the basics of elementary representation, symbolic constraint exploitation, search, and control. In addition, understanding natural language, representing common sense meaning, computer vision, and expert problem solving are covered. Part Two covers the programming language LISP, its organization and uses. Profusely illustrated. Only $17.95 hardcover. 444 pp.

bots

AN INTRODUCTORY

ADAPTIVE INFORMATION PROCESSING, SURVEY by Jeffrey R Sampson.

D Even the most complex of today's computers is dwarfed by the capabilities of its designer's brain. Imitation of the capabilities and adaptive nature of biological information processing systems has long been a goal of computer designers. Jeffrey R Sampson presents an introductory survey of this field. From the fundamentals of information and information processing entities, he examines the richness of biological information processing and goes on to cover the application of computers to artificial intelligence. His is a view which unifies the diverse aspects of the subject of artificial intelligence, emphasizing adaptive behavior. 214 pp. $14.80 hardcover.

COMPUTER MODELS OF THOUGHT AND LANGUAGE edited by Roger C Schank & Kenneth Mark Colby.

□ Part of the current work in Al involves the modeling of human mental processes in computer programs. Here is a collection of articles, which deal with natural language models, models of belief systems, and models of memory and cognition. Required reading for Al enthusiasts. 450 pp. $24.95 hardcover.

HOW TO BUILD A COMPUTER-CONTROLLED ROBOT by Tod Loofbourrow.

□ This book combines the dream of robotics—to create an intelligence other than human—with the reality, by providing both hands-on experience with robotics and an application of a microprocessor. It details the step-by-step directions for building a robot, named "Mike," controlled by a KIM-1 microprocessor, with the complete control programs clearly written out. 132 pp. $7.95.

ROBOTS ON YOUR DOORSTEP by Nels Winkless and Iben Browning. □ "This book will amaze you, frighten you, nauseate you, excite you. . .it will probably make you think about things you have never contemplated before," states the introduction to this clever and wellwritten account of robots: past, present, and future. Intelligence, artificial intelligence, brain structure and simulation, and characteristics of robots are only a few of the areas explored. 1 79 pp. $6.95.

HOW TO SOLVE PROBLEMS by Wayne A Wickelgren.

□ Analyzes and systematizes the basic methods of solving mathematical problems. The methods are described in terms of a modern theory derived from research in computer simulation of thinking. Examples illustrating these methods include chess problems, logical puzzles, and railroad switching problems frequently encountered in science and engineering. $6.50.

THE THINKING COMPUTER: MIND INSIDE MATTER by Bertram Raphael.

D With a minimum of technical jargon, this book discusses the capabilities of modern digital computers and how they are being used in contemporary Al research. It discusses the progress of Al, the goals, and the variety of current approaches to making the computer more intelligent.$8.50

COMPUTER POWER AND HUMAN REASON by Joseph Weizenbaum.

□ If you're presently a programmer by trade or skill, you'll see a philosophy of computer use and abuse propounded. If you're a novice, the tutorial and explanatory chapters of this book serve as an excellent and eminently readable background source. This includes an outstanding, low level explanation of what an algorithm is, and how computers execute effective algorithms. $6.50

HITS

■drl I ^P IRC Books to erase the impossible POB 428, 25 Route 101 West, Peterborough NH, 03458

For your convenience in ordering, please use this page plus the order form on page 200. You may photocopy this page.

DIAL YOUR CHARGE CARD ORDERSTOLL FREE (800)258-5477. Mon-Fri9-5PM

* Artificial Intelligence Quotient

BYTE June 1979

181

column are stored in the COMMAND array to indicate the FROM position. When a final state is reached, an entire command has been parsed and the COMMAND array contains all of the necessary information to fully describe the command.

The lexical finite state machine shown in figure 3 will be used by the syntactic finite

state machine just described to obtain tokens from the input stream when they are needed. The output from the lexical finite state machine will be a 2 element array named TOKEN which will contain the following codes. If the token is <POS>, then the first element of TOKEN will be the row number and the second element

Listing 1: Routine constructed for the lexical finite state machine.

LEX:

Ll:

L3:

L4:

* L6:

L7:

LEX IS A SUBROUTINE WHICH EXAMINES INPUT CHARACTERS UNTIL IT FINDS A VALID TOKEN OR AN INPUT ERROR. SUBROUTINE RCHAR READS THE NEXT CHARACTER FROM THE INPUT BUFFER INTO CHAR. '#' IS THE END-OF-BUFFER CHARACTER. LEX SETS TOKEN (THE TWO ELEMENT ARRAY) TO THE FOLLOWING CODES:

TOKEN(2)

TOKEN(l)

<MOVE>

0

<CAP>

_

0

<TAKE>

—

0

<TO>

—

0

<FROM>

—

0

<END>

—

0

ERROR

—

0

<POS>

ROW: 1-8

SUBROUTINE;

TOKEN(l)

= 0

STATE 1

BEGINNING STATE

CALL RCHAR();

IF CHAR = ' 'THEN GO TO Ll;

IF CHAR =

T

THEN GO TO L3;

IF CHAR =

'M'

THENGOTOL10;

IF CHAR =

'C

THENGOTOL15;

IF CHAR =

'F'

THENGOTOL23;

IF CHAR =

'#'

THEN DO;

TOKEN(2) RETURN;

= 6;

END;

IF CHAR =

'A'

| 'B' | 'D' | 'E' | 'G'

'H'

THEN DO;

TOKEN(2) GOTOL19

= CHAR; 1;

END;

IF CHAR =

'1'

1 '2' 1 '3' 1 '4' I '5'

V

1 '7' 1 '8' THEN DO

TOKEN(l) GO TO L2J

= CHAR;

END;

GOTOLEXERR;

1

2 3 4 5 6 7 COL: A-Z

STATE 3 - HAVE FOUND T

CALL RCHAR( );

IF CHAR = 'O' THEN GO TO L4;

IF CHAR = 'A' THEN GO TO L6;

GOTOLEXERR;

STATE 4 - HAVE FOUND <TO>

CALL RCHAR( );

IF CHAR = ' 'THEN DO;

TOKEN(2) = 4;

RETURN;

END; GOTOLEXERR;

STATE 6 - HAVE FOUND 'TA'

CALL RCHAR( );

IF CHAR = 'K'THEN GOTO L7;

GOTOLEXERR;

STATE 7 - HAVE FOUND 'TAK'

CALL RCHAR();

IF CHAR = 'E'THEN GO TO L8;

* * L8:

L15:

* LIS

L20:

*

* L22:

L23:

GOTOLEXERR;

STATE 8 - HAVE FOUND <TAKE>

CALL RCHAR();

IF CHAR = ' 'THEN DO;

TOKEN(2) = 3;

RETURN;

END; GOTOLEXERR;

STATES 10 THRU 13 ARE VERY SIMILAR TO STATES 3 THRU 8 ABOVE AND ARE NOT SHOWN.

STATE 15 - HAVE FOUND 'C CALL RCHAR( );

IF CHAR - 'V I '2' I '3' I '4' I '5' I '6' I '7' I '8' THEN DO;

TOKEN(l) = CHAR;

TOKEN(2) = 'C;

GOTOL20;

END; IF CHAR = 'A'THEN GOTO L16; GOTOLEXERR;

STATES 16 AND 17 RECOGNIZE THE REST OF <CAP> AND ARE NOT SHOWN.

HAVE FOUND COLUMN LETTER (A-Z)

'2' I '3' •T I '8' CHAR;

I '4' I '5' I THEN DO;

STATE 19

IF CHAR = '1' '6' TOKEN(l) • GOTOL20; END;

GOTOLEXERR

STATE 20 - HAVE FOUND <POS> IF CHAR = ' 'THEN RETURN; GOTOLEXERR;

STATE 22 - HAVE FOUND ROW NUMBER (1-8) IF CHAR = A' I 'B' I 'C I 'D' I 'E' I -p. | ,G, | ,H, THENDO;

TOKEN(2) = CHAR;

GOTOL20;

END; GOTOLEXERR;

STATE 23 - HAVE FOUND 'F' IF CHAR = '1' I '2' I '3' I '4' I '5' I '6' I '7' I '8' THEN DO;

TOKEN(l) = CHAR;

TOKEN(2) = 'F';

GOTOL20;

END; IF CHAR = 'R'THENGOTOL24; GOTOLEXERR;

STATES 24 THRU 26 ARE SIMILAR TO OTHER STATES WHICH RECOGNIZE KEYWORDS AND ARE NOT SHOWN.

LEXERR

- AN ERROR HAS BEEN ENCOUNTERED IN THE INPUT STRING. LEXERR: TOKEN(l) = 0; TOKEN(2) = 7; RETURN; END LEX;

182

June 1979 © BYTE Publications Inc

Microcomputer

UPDATES

Keeping up with the blizzard of new microelectronic components is a formidable task facing any engineer. First there are innumerable part announcements; next comes unreadable literature, hastily compiled by the vendor who places more emphasis on selling you than telling you. And what about availability? Will a part be available within three months of its announcement, or three years?

Osborne & Associates' publications offer a solution to these problems. You can bypass the vendor announcements, ambitious claims and incomprehensible literature.

An Introduction to Microcomputers:

Volume 2 — Some Real Products Volume 3 — Some Real Support Devices

contain complete, objective part descriptions of virtually every microprocessor and support device on the market today.

Volume 2 and Volume 3 of contain descriptions of products through June 1978. To remain current, each book has a yearly update series to which you can subscribe. The first is the 1978-1979 Update Series.

The updates provide descriptions of the newest products throughout the year. Each update series is bi-monthly; you receive six updates per year per book, or 12 updates if you subscribe to both series. Volume 2 and Volume 3 sold looseleaf to allow easy insertion of update material.

Among the newest part descriptions appearing in the first year's update series:

• Z8, Z8000

• A/D and D/A converters

• Floppy Disk Controllers

• Am9511

• Sy6551, R6531

• 6801, 6809 •COPs, PPS4

• TM990 Bus

• Heath H8 Bus

• RS449-422-423

• S2651.S2652

• MC6854

An Introduction to Microcomputers: Volume 3 — Some Real Support Devices

An Introduction to Microcomputers: Volume 2 — Some Real Microprocessors

BASIC Software

• Complete source listings with remarks

• 76 tested, working programs

• Standard BASIC

• Math, statistics personal finance and general interest programs

Some Common BASIC Programs, by Lon Poole and Mary Borchers. Designed for people who can use a variety of practical BASIC programs. 76 programs are published in the book, which includes program descriptions, sample runs, and source listings with remarks. The documentation is complete so that a minimum of programming knowledge is required in order to use the programs. 200 pp.,softbound. (#06-3, $8.50.)

'Price increases lo $9,50 July I. ll>7°.

For PET Users

the PET® Cassette

If you use a Commodore PET, you have probably realized that many BASIC programs require modification in order to run optimally on the PET. We have done the reprogramming necessary for Some Common BASIC Programs' programs to conform to the PET's BASIC syntax, calculation accuracy and video display, and now offer these listings for purchase on our PET Cassette.

If you don't already own a Some Common BASIC Programs book, we urge you to purchase one for program documentation and user instructions. (#25-X, PET Cassette, $10.00.)

gua*^*

Volume 2 1400pp. loose-leaf (#15-21 $25.00 Volume 3 800pp looM-tar(#18-71 $1500 Volume 2 binder (#16-01. $ 5.00 Volume 3 binder (#19-5). S 5.00

Volume 2 I°78-|U7" updates (#971.$25.00 Volume 3 1978-1979 updates (#981.525.00

SPECIAL DISCOUNT: Combined purchase price of both Volume 2 and Volume .1 updalc subscriptions iusl $40.00 Specify Volume 2 and 3 updates (#99|. $40.00

oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo

-Sr

We warrant each PET Cassette

to be free

from defects

in material

and manufacture.

^f^OSBORNE & ASSOCIATES, INC.

630 Bancroft Way, Dept. 121 Berkeley, CA 94710

(415) 548-2805 TWX 910-366-7277

Book /Cassette

Quantity Amount

PHONE

SHIPPING {Shipping for large orders to be arranged) Vol. 2 and Vol. 3 update subscriptions:

□ $4.00 foreign air mail shipping per update subscription n No charge in the U.S. - 4th class mail ONLY

Books & Binders:

D All foreign orders $4.00 per book for airmail

□ 50.45 per item 4th class in the U.S. (allow 3-4 weeks) D $0.75 per item UPS in the U.S. fallow 10 days)

d $1.50 per item special rush shipment by air in the U.S.

Circle 292 on inquiry card.

Calif, residents add 6% sales tax. S.F. BART residents add 6-1/2 % No lax on update subscriptions.

California residents tax

Updates:

Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S. purchases over $70.00 available upon approval of your account. All foreign orders must be prepaid in U.S. dollars drawn on a U.S. bank.

Shipping

TOTAL AMOUNT ENCLOSED

Cassettes:

□ No additional charge in the U.S. D SI.50 each foreign air mail

Please send the following information:

a Becoming an O&A dealer a List of foreign distributors

D School discounts a Current catalog

S1032 June 1979 183

Listing 2: Routine constructed for the syntactical finite state machine.

*

* * * * * * * * * * * *

SYN:

*

*

SI:

S2:

S3:

S4:

* *

S5:

S6:

SYN IS A SUBROUTINE WHICH EXAMINES INPUT TOKENS TO DETERMINE IF A COMMAND IS OR IS NOT VALID. SYN USES SUBROUTINE LEX TO OBTAIN THE TOKENS FROM THE INPUT STREAM. A FIVE ELEMENT ARRAY NAMED COMMAND IS SET USING THE FOLLOWING CODES:

COMMAND(l) COMMAND(2) COMMAND (3) COMMAND(4) COMMAND(5)

SUBROUTINE;

0=ERROR, l=MOVE, 2=CAP, 3=TAKE. COLUMN (A-H) OF "FROM". ROW (1-8) OF "FROM". COLUMN (A-HJ OF "TO". ROW (1-8) OF "TO".

SYNERR: END SYN;

STATE 1 - BEGINNING STATE

CALLLEX( );

IF TOKEN(1)=0 & TOKEN(2)=l THEN DO;

COMMAND(l) = 1;

GOTOS2;

END; IF TOKEN(1)=0 & TOKEN(2)=2 THEN DO;

COMMAND(l) = 2;

GOTOS2;

END; IF TOKEN(1)=0 & TOKEN(2)=3 THEN DO;

COMMAND(l) = 3;

GO TO S3;

END; GO TOSYNERR;

STATE 2 - <MOVE> OR <CAP> FOUND CALL LEX( );

IF TOKEN(1)=0 & TOKEN(2)=5 THEN GO TO S3; IF TOKEN(1)=0 & TOKEN(2)=4 THEN GO TO S4; GO TOSYNERR;

STATE 3 - <MOVEXFROM> FOUND

CALLLEX( );

IF TOKEN(1)>0 THEN DO;

COMMAND(2) = TOKEN(2);

COMMAND(3) = TOKEN(l);

GOTOS4;

END; GO TOSYNERR;

STATE 4 - <MOVEXFROMXPOS> FOUND CALLLEX( );

IF TOKEN(1)=0 & TOKEN(2)=4 THEN GO TO S5; GO TOSYNERR;

STATE 5 - <MOVEXFROMXPOSXTO> FOUND

CALLLEX();

IF TOKEN(1)>0 THEN DO;

COMMAND(4) = TOKEN(2);

COMMAND(5) = TOKEN(l);

GOTOS6;

END; GO TO SYNERR;

STATE 6 - ENTIRE COMMAND FOUND

CALLLEX();

IF TOKEN(1)=0 & TOKEN(2)=6 THEN RETURN;

GO TOSYNERR;

STATES 8 THRU 13 ARE VERY SIMILAR TO STATES 2 THRU 6 AND ARE NOT SHOWN.

SYNERR - INVALID COMMAND SYNTAX.

COMMAND(l) = 0;

RETURN;

will be the column letter. If the token is not <POS>, then the first element of TOKEN array will be set to zero and the second element will be a code indicating which type of token was recognized (1 for <MOVE>, 2 for <CAP>, 3 for <TAKE>, 4 for <TO>, 5 for <FROM>, 6 for <END>). The semantic routines associated with the lexical finite state machine to set TOKEN correctly are shown in table 2.

Implementation

The first step in implementing, the command language is the conversion of the lexical finite state machine into a subroutine which locates the next token in the input stream and places the necessary codes into TOKEN as described above. If at any time, an error is detected while attempting to recognize a new token from the input stream, then TOKEN(l) is set to zero, TOKEN(2) is set to 7 and this routine returns to its calling routine.

A program named LEX, written in a BASIC-like language, which accomplishes these results is shown in listing 1. Prior to the invocation of this routine, the input command must be obtained from the user and stored in a buffer followed by a blank and the end of line character. A routine RCHAR is assumed to exist, which reads the next character from the input buffer and places it into the variable CHAR. Because of the way that the program has been designed, the flow of the program is easy to understand and modifications are easy to make if necessary, especially if the corresponding finite state machine diagram is available. The program is divided into sections which correspond to the states in the finite state machine. Each section determines which state transition pointer should be followed from the character which is being scanned. It then performs the semantics associated with this state transition pointer and moves along the path by means of the appropriate GOTO statement. If during the processing of any state, the input character being examined does not correspond with any valid state transition pointer, the routine sets TOKEN to the error code described above and returns to its caller.

Listing 2 shows the routine constructed from the syntactic finite state machine. The

184

June 1979 © BYTE Publications Inc

S reasons why you should not buy

the electric pencil II™

^^ ° 1978 Michael Shrayer

Check the appropriate box(es):

You love typing the same copy 20 thousand times a day.

□ Your secretary can type 250 words per minute.

□ You're dying to spend $15,000 on a word processing system, just for the tax investment credit.

□ All your capital assets are tied up in a 10-year supply of correction fluid.

□ You never commit a single thought to paper.

If you have checked one or more boxes, you do not need The Electric Pencil. On the other hand, you may want to join the thousands of people who haven't checked a single box.

The Electric Pencil II is a Character Oriented Word Processing System. This means that text is entered as a string of continuous characters and is manipulated as such. This allows the user enormous freedom and ease in the movement and handling of text. Since line endings are never delineated, any number of characters, words, lines or paragraphs may be inserted or deleted anywhere in the text. The entirety of the text shifts and opens up or closes as needed in full view of the user. The typing of carriage returns or word hyphenations is not required since lines of text are formatted automatically.

As text is typed and the end of a line is reached, a partially completed word is shifted to the beginning of the following line. Whenever text is inserted or deleted, existing text is pushed down or pulled up in a wrap around fashion. Everything appears on the video display as it occurs, which eliminates guesswork. Text may be reviewed at will by variable speed scrolling both in the forward and reverse directions. By using the search or search and replace functions, any string of characters may be located and/or replaced with any other string of characters as desired.

Numerous combinations of line length, page length, line spacing and page spacing permit automatic formatting of any form. Character spacing, bold face, multicolumn and bidirectional printing are included in the Diablo versions. Multiple columns with right and left justified margins may be printed in a single pass.

Wide screen video

Versions are available for Imsai VIO video users with the huge 80x24 character screen. These versions put almost twice as many characters on the

CP/M versions

Digital Research's CP/M, as well as its derivatives, including IMDOS and CDOS, and Helios PTDOS versions are also available. There are several NEC Spinwriter print packages. A utility program that converts The Electric Pencil to CP/M to Pencil files, called CONVERT, is only $35.

Features

• CP/M, IMDOS and HELIOS compatible

• Supports four disk drives

• Dynamic print formatting

• DIABLO and NEC printer packages

• Multi-column formatting in one pass

• Print value chaining

• Page-at-a-time scrolling

• Bidirectional multispeed scrolling controls

• Subsystem with print value scoreboard

• Automatic word and record number tally

• Cassette backup for additional storage

• Full margin control

• End-of-page control

• Non-printing text commenting

• Line and paragraph indentation

• Centering

• Underlining

• Bold face

Upgrading policy

Any version of The Electric Pencil

Have we got a version for you?

The Electric Pencil II operates with any 8080/Z80 based microcomputer that supports a CP/M disk system and uses an Imsai VIO, Processor Tech. VDM-1, Polymorphic VTI, Solid State Music VB-1B or Vector Graphic video interface. REX versions also available. Specify when using CP/M that has been modified for Micropolis or North Star disk systems as follows: for North star add suffix A to version number; for Micropolis add suffix B, e.g.,SS-IIA, DV-IIB.

Vers.

Video

Printer

Price

SS-II

SOL

TTY or similar

$225

SP-II

VTI

TTY or similar

225

SV-II

VDM

TTY or similar

225

SR-II

REX

TTY or similar

250

Sl-ll

VIO

TTY or similar

250

DS II

SOL

Diablo 1610/20

275

DP-II

VTI

Diablo 1610/20

275

DV-II

VDM

Diablo 1610/20

275

DR-II

REX

Diablo 1610/20

300

Dl-ll

VIO

Diablo 1610/20

300

NS-II

SOL

NEC Spinwriter

275

NP--II

VTI

NEC Spinwriter

275

NV-II

VDM

NEC Spinwriter

275

NR-II

REX

NEC Spinwriter

300

Nl-ll

VIO

NEC Spinwriter

300

SSH

SOL

Helios/TTY

250

DSH

SOL

Helios/Diablo

300

MICHAEL SHRAYER SOFTWARE, INC

1253 Vista Superba Drive

Glendale, CA. 91205

(213)956-1593

may be upgraded at any time by simply returning the original disk or cassette and the price difference between versions, plus $15 to Michael Shrayer Software. Only the originally purchased cassette or diskette will be accepted for upgrading under this policy.

Attention: TRS-80 Users!

The Electric Pencil has been designed to work with both Level I (16K system) and Level II models of the TRS-80, and with virtually any printer you choose. Two versions, one for use with cassette, and one for use with disk, are available on cassette. The TRS-80 disk version is easily transferred to disk and is fully interactive with the READ, WRITE, DIR, and KILL routines of TRSDOS 2.1. Version Storage Price

TRC Cassette $100. TRD Disk $150.

screen

in

Demand a demo from your dealer!

Circle 319 on inquiry card.

BYTE June 197')

185

Figure 6: An alternate solution for the lexical analysis of the game program.

structure of this program is almost identical to the structure of the previous routine. This time each section of the program examines the next token which has been obtained by a call to LEX, performs the appropriate semantics for the path to be traversed, and then moves to the next defined state. Again, if either an invalid token is encountered or if the routine LEX returns an error code, this routine returns to its caller after leaving an error code of zero in COMMAND. Due to the way these routines were constructed, a single error code is returned if any error occurs in a command. But, because the exact location in the state diagram is known whenever an error occurs, more descriptive error messages can be generated, or fix up action may be performed. If the command:

MOVE TO A8

is entered, then the syntactic routine would encounter the <END> token while processing state S8. Based on the present form of the program, the error message printed would most likely be "INVALID COMMAND SYNTAX - ENTER NEW COMMAND" since no attempt is made to analyze the syntax error.

However, instead of merely returning the zero error code to its caller, the syntactic routine could return a unique code to indicate that the FROM section of the command is missing. The calling routine could then prompt the user for the coordinates of the piece which is to be moved. Depending on the extent to which this error checking is

carried out, a very elaborate and easy to use command system can be created.

Other Representations

The finite state machine diagrams in figures 3 and 4 have been chosen to illustrate the techniques of using finite state machines for designing command languages and do not represent the only way to implement this sample command language. An alternate finite state machine which performs lexical analysis for the example game is shown in figure 6. In this finite state machine all of the commands and keywords (MOVE, CAP, TAKE, TO and FROM) map into the single token <KEYWORD>. Semantic routines associated with the paths L1-L6, LI -L7, L6-L7 and L7-L7 would be used to save the symbols which have already been matched. Then when path L7-L8 is traversed, the semantics associated with this path would include a table lookup routine to identify the command or keyword and correctly fill in the TOKEN array.

To illustrate this technique, observe how the finite state machine in figure 6 would recognize the capture command. Starting with state LI, the C would cause the traversal of path L1-L6 and would be saved to later help identify the token being parsed. The A and the P would similarly cause the program to move along the paths L6-L7 and L7-L7, respectively, and again these letters would be saved by the semantics associated with these paths. Finally, the ending blank would cause the traversal of path L7-L8. At this time, the semantics associated with path L7-L8 would examine the letters which had been saved, identify the parsed word as either a valid token or an invalid word, and correctly fill in the TOKEN array with the code for the token or the error code.

<P0S>

<KEYW0RD>

186 June 1979 © BYTt Publications Inc

Certain advantages exist for both the method used in the finite state machine in figure 3 and for this method but as the number of keywords increases, this method becomes much more efficient in terms of memory used.

Conclusion

The purpose of this article has been to show how finite state machine theory may be applied to produce correct and well structured code for command recognizers. I have used finite state machines to produce both an information retrieval command language and a FORTRAN free format input processor of character strings and numbers; and methods similar to these shown here have significantly speeded up the implementations. The efficiency of this method will vary depending on which language is used to program the procedures and on the programming techniques used. The sample programs previously shown were designed with clarity in mind and are not the most efficient routines which could have been written. I would recommend that the lexical finite state machine be coded in assembler language if possible since many techniques exist to improve the performance of character by character

scanning and comparison. Of course, both of

the routines may be written in any language desired, but because of the memory space limitations of most small computers, assembler language would probably be an asset. As memory size increases, however, the advantages of assembler tend to decrease. Whichever language is chosen, the finite state machine method of designing a command language should produce a system which runs correctly after less programming effort, which can be more readily understood and changed as necessary, and which can provide a series of error and prompting messages that help to make the system easier and more enjoyable to use."

REFERENCES

For examples of the use of finite state machines to identify tokens of a programming language I refer the reader to the following:

Gries, David, "The Scanner," Compiler Construction for Digital Computers, John Wiley and Sons, New York, 1971, pages 64 thru 71.

More information on finite state machines and their theory can be found in many other books, including:

Gill, A, Introduction to the Theory of Finite State Machines, McGraw-Hill, New York, 1962.

The

8100

by

hum

! ELECTRONICS

An S-100 Bus Adapter/Motherboard

fortheTRS-80

plus a whole lot more!!!

%

i S-100 BUS INTERFACE > 6 SLOT MOTHERBOARD

Tha flioo allow i Radio Shach 1BS-8Q computer ts be interfiles! to iJw popular S-100 lius for nieinuiy expansion

and extended 1-0 c.ipi!jiiiLio> Vnt example, you enn now easily iidd mure memory, floppy disc systems, PROM boards, printer Interfaces, multi-purpose I/O boonh, AC

device control lent, ami n whole host of other varied periph

Thc 8100 has its own built-in 0 slot motherboard which includes our unique card guide system which keeps the bnnniw in their places

The 8101) has support circuitry anil socket for eight IGKdvnumic HAM chip! .illuwuid you to expand the memory of pour TRS-80 bv lf.K without hsvine. to buv any S-ltH. RAM txiurds

• SERIAL RS232/20ma I/O

• PARALLEL INPUT AND OUTPUT

• SPACE FOR 16K DYNAMIC RAM

• CAN USE LEFT OVER 4K CHIPS

• LOW COST- PRICES START AT S185*

• AVAILABLE IMMEDIATELY

IT you pun:h;ised .in fXpniMuii iiii-iiniry kit lor TRS-WI you could he left with eight 4K HAM chips and nowhere lo put trMtnl Well, they can pi ii, the HAM sockets instead! Thill's right, you can use either -IK or 1BK chips and ml

sthen

like

The 8101) lias ,i lull IISJIIJ Jl) ma serial interface who's leulures include: RSa:f'J and .:t ma current loop interface, software programmable baud rate from DC to .'.UK baud. software programmable modem control lines, on board DB-26 connottor and much more

The Hliin also has an H bit parallel input port and an H hit parallel output port Both lire latched, have both positive and negative >tmbe inputs anil output,-, and have

ple

s of .hi

bihty.

PRICES START AS LOW AS $185* (S-100 bus interface only)

fiUHJ

I ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

DEALER INQUIRIES INVITED

■Extra S-100 connectors. RAM support. 10 Circuitry optional USA DOMESTIC PRICE ONLY.

RuH)™HiMINI-8100

! Fl FfTRONIC*! AN S-100 BUS

itLtllHUNIl!, ADAPTER/MOTHERBOARD FOR THE TRS-80*

MINI-SIZE! MINI-PRICE!

but MAXI-PERFORMANCE!

HUH Electronics' Klttl is thfl established leader in S*I0CVTRS-80 interfaces, running reliably since November l'J78 and giving you the must features for "OUT dollar. Bnl some

folks don't need all (he kiwi's versatility or want something more compact,

So we created the MIN1-8I00. The MINI8100 has the same proven reliable S40Q Bus interface circuitry as It's big brother coupled with a -I slot shielded motherboard. It connects 10 the TRS-XDor to the expansion inter

lace and opens up the vast world of S-100 Bus products 10 the TRS-8Q owner.

For those of you wlio already own an S-100 mainframe or motherboard, the MINI-8100 may be purchased withoui the built-in motherboard. (MINI-H100S,. Just plug it in and go!

The MINI-8100 has [he same high quality as all HUH Electronics products—easy assembly, fully socketed, solder mask and silk screen component legend, comprehensive manual and design excellence that speaks tor itself.

PRICES

MINI-HUM) KIT - includes all parts and one S-100 connector

MINI-HIOO ASM • assembled and tested, includes four S-100 a

M1N1-8100S KIT - S-100 sized board, plugs inio mainframe

MINI-MOOS ASM - same as above, hut assembled and lestcd

-SU5 • $155 -$ 95 -$125

fiUHl

1 ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

■TRS-SO is ii Radio Shack- product.

ORDERING INFO: The MINI-8100 is available hom leading computer dealers or factory direct. Please include S-i for shipping and handling. CA residents include 6c; sales lax. We accept VISA or Mnstercharge or we can ship COD.

USA DOMESTIC PRICES ONLY.

DEALER INQUIRIES INVITED

Circle 169 on inquiry card.

Circle 1 72 on inquiry card.

June 1979 © BYTE Publications Inc

187

Technical Fowm

Approximation Makes a Magnitude of Difference

PERCENT ERROR IN APPROXIMATION

5 10 15 20 25 30 35 «w 40 \^5

PHASE ANGLE BETWEEN REAL AND IMAG (DEGREES) K= 0.375

X K=0.3

.3125

Figure I: A plot of the percent error in the magnitude approximation for different values of K. We are approximating the square root of REAL? + IMA G* by the formula L + KS, where L Is the larger and 5 is the smaller value of the absolute values of the real and imaginary parts of a vector.

K

PEAK ERRORS VARY FROM(%)

RMS ERROR (%)

1

.5 (1/2) .414214 U2 - 1) .375 (3/8) .3125 (5/16)

Oto 41 Oto 12 0 to 8.2 -2.8 to 6.8 -7.2 to 4.8

30 9.1 5.9 4.7 3.6

Table 7: The accuracy of the approximation algorithm as a function of K,

K

IMPLEMENTATION OF Kx ABS (SMALLER)

1

None Required.

(Fastest)

.5 (1/2)

Shift right 1,

.375 (3/8)

Shift right 2, Store in TEMP, Shift right 1, Add TEMP.

.3125 (5/16)

Shift right 2, Store in TEMP, Shift right 2, Add TEMP.

.414214 (x/"2-1)

Multiply.

(Slowest)

Table 2: A comparison of implementation speeds for various values of K,

Bob Leedom

14069 Stevens Valley Ct

Glenwood MD 21738

I enjoyed Richard Lord's article presenting an assembly language FFT (fast Fourier transform) program for the 6800 (February 1979 BYTE, page 108). Adaptation to my 6502 (KIM) system should be fairly straightforward.

However, the author notes that obtaining the magnitude of each resulting vector is almost as time-consuming as the FFT process itself, since this would involve taking the square root of the sum of the squares of each REAL/IMAG pair. Strictly speaking, he is correct, but with very little trouble a quite reasonable approximation to the correct magnitude can be found. The following algorithm is often used for this purpose in the processing of speech and radar data, and may be implemented easily in either hardware or software.

To find the magnitude of a vector, given the orthogonal components (eg: REAL and IMAG):

• take the absolute values of REAL and IMAG;

• compare the two absolute values, place the larger in L and the smaller in S — if they're equal, it doesn't matter which goes where;

• multiply S by a constant (K), add the result to L.

What is K? That depends on how much accuracy you're willing to sacrifice for computation speed. To appreciate this, you should understand that the error in the magnitude computation will be a function of the phase angle between the two components. In his article, Mr Lord simply added L to S, thus letting K = 1. This approximation gives an error of from 0 to 41 percent:

LetMAGN = L + S.

Suppose a vector actually has a magnitude of 100 units. If L = 0 and S = 100, then MAGN = 100, or 0 percent error. But, if L = 70.7 and S = 70.7, then MAGN = 141.4, or 41.4 percent error.

Table 1 shows several values of K, along with the corresponding spread of the peak errors. However, just looking at the peak errors can be deceiving; what you really

188 June 1979 © BYTE Publications Inc

want to do is minimize some measure of the average error. Since the error function "folds" at 45 degrees of phase angle between L and S, I wrote a short program to compute the error at 1 degree intervals from 0 to 45 degrees. The root mean square of these errors is given in table 1 as a sort of quality factor for a given value of K.

As you can see, the computation of the magnitude can be improved from 3 to 8 times, simply by choosing the appropriate value of K. The error reduction as a function of K is shown graphically in figure 1; this is the accuracy part of the tradeoff.

The other side of the coin is speed of implementation. Given the absolute values of REAL and I MAG, and the fact that some fraction of one will be added to the other, it takes no extra time to perform the algorithm with K=1. However, with K=.414214, you must multiply (after finding the smaller of the two absolute values). The range of inbetween speeds is given in table 2.

The accuracy/speed tradeoff should be evaluated for each user's application, either by analysis or by trying possible values of K. However, if you don't have the time or energy for this, remember that an immediate reduction of the root mean square error to less than ten percent may be obtained by a compare and a shift (ie, K = .5)."

Circle 179 on inquiry card.

Main/Frames 0m$2OO

Main/Frames ™$200

• 14 Basic Models Available

• Assembled & Tested

• Power Supply: 8v@15A, ±16v@3A

• 15 Slot Motherboard (connectors optional) Card cage & guides

• Fan, line cord, fuse, power & reset switches, EMI filter

• 8v@30A, ±16v@10A HacK option on some models mounted

from $200

Desk top from $235

Write or call for our brochure which includes our

application note: 'Building Cheap Computers'

INTEGR4ND

8474 Ave. 296• Visalia, CA 93277• (209) 733-9288 We accept BankAmericard/Visa and MasterCharge

6809

16 bit internal arithmetic Hardware multiplication Two stack pointers Two index registers 18 addressing modes Fully relocatable code Five interrupts Up to three times the throughput of a 4MHz Z-80

6809!

MD-690a Single Board Computer $ 239 kit $299 assembled

r I

S-100 Compatibility.! 6809 Computability.J

l

Please rush the following

□ CPU Card (kit)

□ CPU Card (assembled)

1KRAM

10K PROM space

MONBUG II monitor included

2400 baud cassette interface

20 I/O lines

RS-232 level shifters

Real time clock

DMA

Parallel keyboard input

Memory-mapped video output

Fully S-100 compatible

(including 8080 type I/O) A complete system, ready to use.

MicroDaSys, P.O. Box 36051 Los Angeles, CA 90036 (213)935-4555

CA residents add 6%

Circle 220 on inquiry card.

June 1979 iS HYTE Publications Inc

189

Our MacroFloppy™ goes twice the distance.

For $695.

Introducing the Micropolis MacroFloppy,M:1041 and :1042 disk drive subsystems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a 51/S-inch floppy disk than anyone else. 143K bytes, to be exact. For as little as S695.

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 everything the :1041 has, and more. Such as d.c. regulators, its own line voltage power supply, and, to top it off, a striking cover. Making it look right at home just about anywhere.

Both MacroFloppy systems are fully assembled, tested, bumed-in, and tested again. For zero start-up pain, and long term reliability. They're also backed up by our famous Micropolis factory warranty.

And both systems are priced just right. $695 for the MacroFloppy:1041 and $795 for the MacroFloppy:1042.

You really couldn't ask for anything more.

At Micropolis, we have more bytes in store for you.

For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, California 91504. Phone (213) 703-1121.

Or better yet, see your local dealer.

MICROPOLIS

More bytes in store for you.

H Edgar Coburn

Structural Engineer

3560 Albatross St

San Diego CA 92103

Concerning

User's Manuals

In my opinion, many engineers are incompetent when it comes to transmitting information to anyone not already trained in their particular specialty. (I, myself, am wondering if I'm getting this message across.) Engineers, who generally are not human oriented, excuse the obscurity of their communications by charging that the other person {not one of their compatriots, obviously) is not too bright. Unfortunately, there is just enough truth in this assumption to convince most engineers that there is no need to undertake the drudgery of learning how to be lucid — nothing is so easy as adjusting facts to fit opinions.

It is clearly apparent that if engineers are no more obscure in discourse than other people, then I don't have much of a point. So, before plunging into the real subject of this article, let's examine this question with respect to one particular feature involved in the process of transmitting information to others — namely, indices. Information that is not accessible, or that is accessible only with

excessive difficulty, is not of much practical value.

In connection with another project, I made a statistical study of the indices of the nonfiction books available in a large public library. I found that the average amount of space devoted to indexing was approximately 1.8% of the total number of pages in a book. Indices varied in size from 0 to more than 1% of the book pages. While it is evidently true that index length is no measure of index quality, it is equally apparent that a short index is limited in the amount of information that it can transmit.

Engineering books, despite the complexity of their subject matter, have less indexing (at an average of 1.3%) than nonfiction books in general. On the other hand, science books, properly reflecting the complexity of their subject matter, have more indexing (at an average of 2.4%) than nonfiction books in general.

Unfortunately, many instruction manuals for computers have been written by engineers. It may well be that the obscurity of computer manuals has a substantial effect on personal computer sales. It is even conceivable that literally thousands of intelligent, educated people, those who might benefit from the possession of a personal computer, are "turned off" when they see

190 lune 1979 © BYTE Publications Inc

MetaFloppy

The Micropenis 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 right now, try our MetaFloppy: 1053, with 630,000 bytes on-line. Or our MetaFloppy:1043, with 315,000 bytes on-line. Either way, vou 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, we've got you covered. With MetaFloppy.

The system that goes beyond the floppy.

For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, California 91304 Phone (213) 703-1121.

Or better yet, see your local dealer.

MICROPOLIS

More bytes in store for you.

goes beyond

some of the instruction manuals published by computer manufacturers. If the reader is skeptical on this point, let him compare the average personal computer user's manual with a really good manual, such as the one supplied with Hewlett-Packard's HP-67 calculator.

Suppose that in a given year 10,000 people are turned away from personal computers by the paucity of lucid manuals. (I'm safe here because no one really knows how many potential buyers don't buy.) And suppose that the average user investment in personal computers is (optimistically) $4000. This means that the personal computer industry, with at least a few manufacturers and retail sellers on the ragged edge of solvency, may be needlessly driving no less than $40,000,000 per year into other hands.

If all computer manufacturers were to test their manuals by having several intelligent, educated people try to operate the corresponding computer with nothing but the manuals for a guide, the results might be illuminating, or even startling to the manufacturers. Then, instead of assuming that these test users are clumsy, it might be helpful to revise the manuals until they are lucid, not invincibly obscure.

I believe that the manufacturers will dis

cover, if they actually make such a test, that the choice of a specific word is highly significant in the transmission of information. It makes a heap of difference whether one says, "Woman and child" or "Woman with child." It also makes a difference whether an engineer writes, ". . .has a directory entry" or ". . . requires a directory entry."

But most significant of all, many engineers seem to think that the reader needs little or nothing in the way of orientation. This, unfortunately, is not true. The reader of a manual needs to be led by the hand all the way — good writing typically provides such assistance. What often happens in practice is that the reader is given the brush-off, with the declaration that the manual assumes that the reader is acquainted with the subject. This is a luxury that the personal computer industry cannot afford.

Of course, it is perfectly reasonable to assume that the expectant owner of a personal computer should do a little studying of BASIC, for instance. The user definitely won't be harmed if he or she gets some idea of the general organization of a computer. But there is grave doubt that such training will aid the user noticeably in learning how, for example, to manage the disk file of some particular computer.

June 1979 © BYTE Publications Inc 191

Circle 93 on inquiry card.

25 START-AT-HOME COMPUTER BUSINESSES

In "Low Capital, Startup Computer Businesses"

CONSULTING • PROGRAMMING • MICRO COMPUTER OPPORTUNITIES • SOFTWARE PACKAGES • FREELANCE WRITING • SEMINARS • TAPE/DISC CLEANING • FIELD SERVICE • SYSTEMS HOUSES • LEASING • SUPPLIES • PUBLISHING • HARDWARE DISTRIBUTORS • SALES AGENCIES • USED COMPUTERS • FINDER'S FEES • SCRAP COMPONENTS • AND MORE . .

Plus — ideas on moonlighting, going full-time, image building, revenue building, bidding, contracts, marketing, professionalism, and more. No career tool like it. Order now — if not completely satisfied, return within 30 days for full immediate refund.

• 8'/> x 11 ringbound • 156 pp. • $20.00 Phone Orders 901-761-9090

DATASEARCH

incorporated 4954 William Arnold Road, Dept. B, Memphis, TN 38117 Rush my copy of "Low Capital Startup Computer Businesses" at $20.

NAME/COMPANY ADDRESS

CITY/STATE/ZIP

P Check Enclosed

□ VISA □ Master Charge Exp. Date

TRS-80 LEVEL II AND DOS

COMMAND PROCESSOR 'COMPROC ***NEW PRODUCT***

Automatically load aod execute any sequence of System and/or

BASIC programs and data from power up.

Command files created, saved, and edited in BASIC.

Sophisticated options include interactive prompting and substitutional

parameters. Allows non-computer personnel to easily execute programs RENUMBER WITH 'REMODEL' • MERGE WITH 'PROLOAD'

REnumber any section or an entire program.

MOve program segments. DELete program lines.

All line references readjusted as required.

COMBINE programs with renumber and merge.

LOAD or SAVE any portion of program from tape.

GENERAL SUBROUTINE FACILITIES 'GSF'

Collection of fast easy-to-use machine language routines.

IN-MEMORY SORT with multiple variables and keys.

SORT 1000 - Element array in 9 seconds.

ARRAY read/write to tape, compress/uncompress/move data.

SCREEN scrolling, save screen displays, and more

DISK SORT PROGRAM 'DOSORT

SORT/MERGE multi-diskette sequential files.

MULTIPLE variables and keys. User input/output sort exits.

Includes GSF machine language in-memory sort, etc. 32 or 48K.

COPY SYSTEM TAPES WITH 'COPSYS'

Dealer Inquiries Invited

REMODEL Order TS21D at $24.95

REMODEL + PROLOAD Order TS22D at $34.95

GENERAL SUBROUTINE FACILITIES Order TS25D at $24.95 DISK SORT PROGRAM Order TS26D at $34.95

Must specify 16, 32, or 48K on above. System house discounts. COMMAND PROCESSOR (DOS ONLY) Order TS27D at $19.95 COPSYS (Not DOS) Order TS24D at $14.95

For TAPES that TEST best Order 10 ea at $14.95

E=.DAPCT J Check. VISA. M/C. C.O.D.

{r-HAUtl COMPUTES-^ Calif, residents add 6% 70^almdale^rann^^2665^^l7l4m^m6^^^^

Furthermore, such learning will be of no value at all in helping the hopeful beginning reader in remembering the casual comment, appearing many pages earlier, which mentions that control C is necessary whenever "2A00 hex" is transposed with M5700 in the . . . oh well, what does it matter? The point is that the novice computer owner needs guidance. Among other things, this means examples, examples, and more examples. Since the personal computer industry has not been overwhelmed by standardization, even the experienced computer user needs lucid, particular instructions when adapting to a new system.

One way to improve the situation is to have manuals written by those few engineers who have demonstrated a knack for putting ideas across. And since behavioral phenomena are complex, it is even better to engage the talents and specialized training of a psychologist. It is obvious to a psychologist that students need orientation and examples in order to develop skill in a reasonable time.

Unfortunately, it's one thing to observe a need and quite another to get action. I don't imagine for a moment that it is possible to get any action out of people without some kind of motivation. However, it should be noted that motivation techniques, like everything else, have changed remarkably over the years. In the 16th century, for instance, it was fairly common practice when a king was offended by some luckless peasant (or even by a nobleman) to have the offender bodily pulled apart by teams of Clydesdale horses (the kind that pull beer wagons). This sort of example was supposed to ensure a certain amount of respect for His Majesty. It was motivation that everyone could understand. Sadly, we're so civilized now that we can't use any of the old-time, sure-cure methods of motivation.

If engineers knew that the penalty for failure to be lucid was to be pulled apart by teams of draft horses, it might have a salutary effect on the writings of engineers. (If some computer engineers now think that I should be pulled apart by teams of draft horses, it clearly indicates that my writings are lucid. The readers get the message. Therefore I should not be pulled apart. Q.E.D.)

If a user's manual confuses intelligent people, it is not only unsatisfactory to the user, but damages the fortunes of manufacturers and retail dealers also, because poor documentation inhibits sales. Why should the manufacturers pay for full page color advertisements featuring their products, only to throw the benefits away by offering obscurely written manuals? There must be a better way."

192

June 1979 © ISYTE Publications Inc

Circle 313 on inquiry card.

Double Sided Notes

Jonathan A Titus TYCHON Inc POB 242 Blacksburg VA 24060

David Lamkins' article about printed circuit layout techniques "Designing With Double Sided Printed Circuit Boards" (March 1979 BYTE, page 94) described some techniques that shouldn't be used in good printed circuit board designs. The main problem is the strategy of designing the power and ground runs as the last step. Don't do it.

The power and ground runs should be designed first in the printed circuit board layout, and not last. Here is why.

• Power runs should be as wide as possible. It is difficult to make them very wide if you have to make them fit between signal runs, pins, etc.

• It will be almost impossible to add decoupling capacitors to power runs that snake through signal runs. Remember, you will need one decoupling capacitor per 7400 series integrated circuit in a good design.

Statistical

Computations

Recomputed

J G Bliss

2141 Cumberland Av S Saskatoon, Saskatchewan CANADA S7J 1Z2

Alan B Forsythe, in his article "Elements of Statistical Computation," (January 1979 BYTE, page 182) states:

Several books of BASIC programs include the calculation of the standard deviation. Those I checked give the wrong answer for this set of data.

This is probably a result of the formula used in the article:

-M

- S(X-X)2

N- 1 The usual formula for standard deviation is:

N

2 (X-X)2

The version given in the article is used when calculating standard deviation from a sample. (See for example Handbook of Sampling for Accounting and Auditing, 2nd edition, by Herbert Arkin, McGraw-Hill.)"

• If the power runs are left until last, poor design takes over, making the designer seek ground and power connections wherever they are available. Potential differences often occur, and the circuit doesn't function. Ground loops are also a problem unless proper layout of power runs is observed early in the design.

Although the use of one colored pencil per side of the double-sided printed circuit board is noted, designers should try to keep the runs on one side oriented in a right-left fashion and those on the other side oriented in an up-down fashion. If this course is followed, problems such as those in Lamkins' figure 4 are avoided. Use of this technique also simplifies problems such as those shown in Lamkins' figure 3 design.

The article also mentions the use of a dedicated through-hole. This is a new one to me. I always thought that the holes on a printed circuit board were dedicated to something. If they weren't dedicated, there wouldn't be any need for them. What is a through-hole? I thought that holes went through something. Who knows, maybe some computerist will come up with a nested-hole; a small hole inside a bigger one. Best wishes."

Retro-Graphics™

For your DSirtb Terminal. The Retro

Graphics PC card mounts easily in the Lear Siegler ADM-3A to provide you with an affordable graphics computer terminal. Features:

Z-80 Based 512 by 250 Dot Matrix Simple Plug-in Interconnect

Point Plotting Automatic Vector Generation

Optional TEKTRONIX Software Compatibility

You will be impressed with the packaging, performance and price of the Retro-Graphics card. Write or phone today for complete specifications.

DIGITAL ENGINEERING, INC.

1787 Tribute Road, Suite K

Sacramento, CA 95815

(916)920-5600

Circle 84 on inquiry card.

|une197<J © BYTE Publications Inc

193

Circle 142 on inquiry card.

£J 111 ■ | | Illlllllllllllllllllllllllllllllllllllll Illllllll Illlllllllllllllllllllt

I T.D.Q. 1

1 TAPE DATA QUERY

1 PET-8 K SOL-IIA TRS-80-LEVELII |

| *FILE MANAGEMENT SYSTEM |

1 —UTILIZES DUAL AUDIO CASSETTE RECORDERS S

| INTERACTIVE QUERY LANGUAGE |

1 —ENGLISH-LIKE COMMANDS |

5 —POWERFUL INFO RETRIEVAL CAPABILITY

| *COMPUTERIZED BUSINESS & PERSONAL RECORDS

S —CUSTOMIZE YOUR OWN FILE STRUCTURES

1 —CREATE & MAINTAIN DATA FILES

—NO PROGRAMMING EXPERIENCE REQUIRED

| 'IMPLEMENTED IN BASIC 1

I T.D.Q. CASSETTE WITH MANUAL & REF. CARD $50.00 |

THE FOLLOWING PRE-DEFINED T.D.Q. FILE STRUCTURES ARE AVAILABLE TO SOLVE YOUR DATA PROCESSING NEEDS: =

$35.00 $35.00 $35.00 $35.00 $25.00 $25.00

INVENTORY CONTROL ACCOUNTS RECEIVABLE ACCOUNTS PAYABLE ORDER PROCESSING CUSTOMER DIRECTORY APPOINTMENT SCHEDULING

EACH WITH CASSETTE AND MANUAL

SEND SELF-ADDRESSED STAMPED ENVELOPE FOR COMPLETE SOFTWARE CA TALOGUE. SEND CHECK OR MONEY-ORDER TO:

H. GELLER COMPUTER SYSTEMS

DEPT. B, P.O. BOX 350 NEW YORK, NY 10040

(NEW YORK RESIDENTS ADD APPLICABLE SALES TAX)

3IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII7

ED SMITH'S SOFTWARE WORKS

ANNOUNCES 11]

AN M6800 SYSTEM RELOCATABLE RECURSIVE MACROASSEMBLER & LINKING LOADER

ATTENTION ALL PROGRAMMERS: if you have

been looking for an assembler with real macro capabilities, then l&ffiBEAE is the one for you.

Character replacement is the crux of macro expansion. 3WSA8S allows unlimited character replacement in any field of a macro model statement. I IB -i. v -'8 argument notation can specify replacement from any field, subfield, sublist or substring of the macro call statement. Si ELSKJ "'s set of macro directions supports both global and local set symbols. Set symbols can be based on either arithmetic expressions or character expressions. Macro model statements can determine attributes of set symbols or macro arguments. B2USS ' allows macros to define new macros and to call other macros. Macro calls can be recursive, that is, a macro may call Itself.

? . vl:.' - contains a mini co-resident editor, allows spooling if desired, supports insert files, retains TSC Text Editor source code compatibility, plus many other programmer convenience features.

can be furnished on cassette or mini-floppy in either SSB or Mini-Flex format. Comes complete with linking loader, Instruction Manual/Programmers Guide & an extensively commented assembly listing.

M68RR . . . .cassette . . . .$150.00 M68RR-D . . SSB disc . . .$150.00 M68RR-F ..FLEXdisc ..$150.00

A 6800 to 6809 cross assembler version of 3£3£tfi3U&.(S will be available in June.

Order directly by check or MC/Visa. California residents add 6% sales tax. Customers outside of U.S. or Canada add $5 for air postage & handling.

Dealer inquiries welcome.

Ed Smith's SOFTWARE WORKS

P.O. Box 339, Redondo Beach, CA 90S77, (213) 373-3350

NybMes

Alan Kaniss Vincent DiChristofaro John Santini 1327 McKinley St Philadelphia PA 19111

The Great APL Contest

After many trials and tribulations, we are happy to announce the winners of the Great APL Contest (August 1977 BYTE). The object of the contest was to create a usable APL interpreter.

The first place prize of $1000 went to Alan Kaniss, Vincent DiChristofaro, and John Santini for their APL interpreter written in Pascal. This was the most complete interpreter we received.

The second place prize of $500 went to two groups: the APL Committee of Texas A&M Microcomputer Club which submitted a club entry, and Stephanie Charles and Normand Berube who submitted a jointly written program. Both of these programs were for 8080 processor machines.

We thank all the people who entered the contest for the time they spent writing their interpreters, and we hope that they learned a great deal from the experience.

We used Michael Wimble's flowcharts (see "An APL Interpreter for Microcomputers," August, September, October 1977 BYTE) as generalized guidelines for our APL interpreter, rather than coding directly from them. We used most of his ideas on function implementation, table storage, input scanning, and statement parsing. There were a few minor errors in logic, but for the most part the flowcharts were clear and easy to work with. We expanded the interpreter to include functions to which Wimble made reference but did not flowchart — inner product, outer product, catenate, and index-of. We made the interpreter extremely portable by having the character set machine (as well as keyboard) independent. We accomplished this by having the program read in the installation's character set from a file at the start-up of the program.

194

une 1979 f BYTE Publications Inc

Circle 327 on inquiry card.

THE TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM

(A STEAL AT TWICE THE PRICE)

A short time ago, Microsoft introduced TRS-80 FORTRAN— a complete ANSI-standard FORTRAN with macro assembler, linking loader, and text editor, all for only $350. The response has been overwhelming.

Many TRS-80 users even told us, "The assembly language development software alone is worth that price." We think they're right, of course, but we've made it an even better deal.

ANNOUNCING: THE TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM FOR $175.

For half the price of the TRS-80 FORTRAN Package, you can buy the TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM, including:

EDIT-80 A fast, random access text editor that's easy to use and loaded with features. Lets you insert, replace, print or delete lines;

edit individual lines; renumber lines in a file; and find or substitute text.

MACRO-80 The best Z80 assembler anywhere. MACRO-80 supports a complete Intel- standard macro facility plus many other "big computer" assembler features: comment blocks, octal or hex listings, 8080 mode, titles and subtitles, variable input radix (base 2 to base 16), and a complete set of listing controls.

LINK-80 Loads your relocatable assembly language modules for execution and automatically resolves external references between modules.

CREF-80 Gives you a complete dictionary of program symbols, showing where each is defined and referenced.

The Microsoft TRS-80 FORTRAN Package is still available for $350. Or, for HALF PRICE, get the TRS-80 ASSEMBLY LANGUAGE DEVELOPMENT SYSTEM.

Either way, it's a steal.

TO: Microsoft, 10800 N.E. 8th, Suite 819, Bellevue, WA 98004

□ Send me the works! TRS-80 FORTRAN Package for $350.

□ Send me half the works! TRS-80 Assembly Language Development System for $175.

□ Check enclosed □ Master Charge □ VISA

CARD NUMBER

EXP DATE

CARDHOLDER'S SIGNATURE

NAME

ADDRESS

JjJ MICROSOFT

Dealer Inquiries Invited

BYTE June 1979

195

Tables

Rather than using Wimble's method of storing tables in arrays (variable table, value table, function table, token table), we took advantage of one of Pascal's data structures, the linked list. This offers two big advantages to the design of the interpreter:

• Array sizes do not have to be declared elsewhere in the program. There is no way of telling which tables will grow very large and which ones will stay small; this is dependent on the calculations being performed with the interpreter and will vary from one terminal session to another. With linked lists, storage allocation is dynamic and can be used for each table as needed (storage is taken from a common pool of storage reserved for linked lists).

• It is a simple procedure to de-allocate storage (using the standard function "dispose" in Pascal) so that it can be re-used by the program as needed. This helps to keep the size of the running program to a minimum.

Values

We store all values as real numbers. We decided to do this based on the fact that although APL's data structures are weak (eg: reals and integers can be stored in the same array), Pascal's data structures are very strongly typed. Numbers are checked to be whole numbers (nonfractional) for

certain operations such as index generation (monadic iota) and reshaping (dyadic rho). Numbers are checked to be Boolean for such operations as logical negation (tilde), ANDs, andORs.

The Nybbles Library is an inexpensive means for BYTE readers to share some interesting but specialized forms of software. These programs are written by readers with small computers and printer facilities, and are therefore designed for particular systems. The algorithms and programming techniques in these programs can be directly used by readers with similar equipment, or can serve as an inspiration for improvisation on computers of different characteristics.

Potential authors of such programs should send us a self-addressed stamped envelope, with a request for a copy of our "Guidelines for Nybbles Authors. "Payment for Nybbles items is based on sales and length of the item. Rates are set at the time of acceptance.

Nybbles Library programs are sent in listing form, printed on 8.5 by II inch paper on both sides. The Nybbles Library programs are 3 hole punched for collection in loose leaf binders, and come in an attractive folder which serves as a cover.

This month "An APL Interpreter in Pascal" (document # 109) has been added to the Nybbles Library. Use the coupon below to order your personal copy, at $10.00 postpaid in USA or $12.00 for overseas orders.

Please send

copies of BYTE Nybble #.

at $.

postpaid.

Please remit in US funds only.

Check Enclosed

BillmyBACM

Bill my MC It

Name

_Exp Date .Exp Date

Street. City _

State

Zip Code

BYTE Nybbles Library, 70 Main St, Peterborough NH 03458

You may photocopy this page if you wish to keep your BYTE intact.

196 June 1979 © UYTE Publications Inc

TRS 80 SOLUTIONS!

* * * * LI = Level I + * * -¥■ ■¥■ Lll = Level II » ■» * * * ■» » D = Disk + If. + + Jf ALL THIS AND MORE!!! jMMME

BUSINESS

Appointment Log by M. Kelleher Perfect for the professional. Accepts name and address, meeting start and endings, subject matter, derives elapsed time. For Level II, 16K $9.95 Payroll by Stephen Hebbler Comprehensive 24 pg. manual with step-by-step instructions included in the package. Supports W2 and 941 information. D, $59.95

Mail List I by Michael Kelleher is the economy model of disk-based mailing list programs. Uses a single drive and handles up to 1400 names per disk, plus provisions for sorting options. 16K, D $19.95

rt"

BIZ-BO

*\

The Business Software People® Just about everything you need ... within 1 year, participants receive programming for Inventory, Accounts Receivable, Accounts Payable and General Ledger systems, plus Sales and Payroll. Complete documentation and software on diskette, $200.00

^

y

Mail List II by BIZ-80 Complete mail list system for dual disk. Enter, update, merge, sort, and print mailing labels. D, 32K $99.95 Small Business Bookkeeping by Roger W. Robitaille, is based on the Dome Bookkeeping Journal, sold for years in stationery and discount outlets. Level II, 4K with ($22.00) or without ($15.00) Dome journal. Inventory System II by BIZ-80 Proper inventory management is the backbone of a profitable business, yet it's very difficult to keep current on price increases, shrinkage, low-on-stock items, profitable items versus losers, without an efficient and prompt method of surveying your inventory levels at any given lime. This program can help you to achieve optimal management — it can handle up to 1,000 items on one disk; each additional disk can handle another 1,000 items. With Documentation, $150.00 Inventory S by Roger W. Robitaille, Sr. 240 stock items can be contained using the full 6 data areas and 2 pieces of alpha information. Level I or 11,16K $25.00 Inventory II.2 Disk based program allows for creation, maintenance and review of over 2,000 items per clean diskette. Operates under Disk BASIC,DOS 2.1 with minimum memory allocation. D, $59.95

ST 80 - SMART TERMINAL Lance Micklus

Turns your TRS-80 into a computer terminal. Features include CONTROL key, REPEAT key, ESC key, RUN key and a functioning BREAK key. Lets you list incoming data on line printer. Reprogram RS-232-C switches from keyboard, making baud rate changes simple. Level II, 16K $49.94

Text-80 by Frank Rowlett Fully-documented text processing system for disk. Create, edit, move, delete, insert, change, print words or lines. D, 32K $59.95

KVP Extender by Lance Micklus Corrects keyboard bounce, upper case lock, permits use as a terminal, screen printing. On tape ($24.95) or disk ($29.95) 8080-Z80 Conversion by M. Kelleher Permits you to enter 8080 codings and returns the Z80 equivalent. L II.16K $15.00

Basic Statistics by Steve Reisser Pearson productmovement correlation coefficient, chl-square, Fisher T-test, sample analysis of variance, Z-scores and standard scores, with a random number generator built in to simulate data. L II, 16K $20.00 Renumber by Lance Micklus Complete user control over which lines are renumbered, and how, Including all GOSUB's and GOTO's. Specity 4, 16, 32, or 48 K version when ordering. Operates in Disk mode. L II, 4 through 48K, $15.00 Source Listing, $20.00 All 4 versions on disk, $25.00

| drive, fix your DOS with NEWDOS: an j

! enhanced disk-operating system capable of !

| correcting over 70 errors In TRSDOS 2.1 to j

! improve reliability, end key bounce, enable

| DOS commands to be called from BASIC and I

j much more! Available NOW for 16K systems j

I with a minimum of 1 disk drive. $49.95 |

ACTION GAMES

Slalom by Denslo Hamlin Choose between Slalom, Giant Slalom and Downhill. Level II, 16K $7.95 X-WIng Fighter by Rev. George Blank Put yourself into the cockpit of this fighter. Extensive use of INKEY function puts all ship controls at your fingertips without hitting ENTER key. Long range sensors warn of approaching aircraft prior to visual contact. Level II, 16K $7.95

Air Raid by Small System Software High speed machine language program with large and small aircraft flying at different altitudes. Ground-based missile launcher aimed and fired from keyboard. Planes explode when hit, cause damage to nearby aircraft. Score tallied for hits or misses. Level I or II, 4K $14.95

Batter Up by David Bohlke Level II, 16K $5.95 Ten Pin by Frank Rowlette A game of coordination, the scoring is true to the rules of the sport. Level II, 16K $7.95

ADVENTURES Scott Adams Feel as if you're manipulating HAL from 2001 when you play these games. Hardly any rules, finding out is part of the fun. Two adventures on 32K disk, $24.95 Tape, one adventure on each tape - pirate or land - Level II, 16K $14.95

DOG STAR ADVENTURE Lance Micklus You're trapped aboard an enemy battlestar ... can you find the gold, rescue the princess, discover the plans and safely escape? Level II, 16K $9.95

Amazin' Mazes by Robert Wallace Ever-changing

mazesituation Level II, 16K $7.95

Sink'UM by Rev. George Blank LII.4K $4.95

Breakaway by Lance Micklus Level I or II, 4K $4.95

Treasure Hunt by Lance Micklus Explore caves in

search of twenty hidden treasures. L I or II,

16K $7.95

Kamikaze by Russell Starkey Command your ship

against attacking suicide planes. Machine language

graphics make this fast and fun! L II, 16K $7.95

MISCELLANEOUS

Diskettes Dysan 104/1 Box of five, $24.95 + $1.00 shipping Verbatim, box of ten, $34.95 + $1.00 shipping/handling

Z80 Instruction Handbook by Scelbi Publ. $4.95 The BASIC Handbook by Dr. David A. Lien $14.95 + $1.00 shipping/handling

SIMULATIONS

3-D Tic Tac Toe by Scott Adams Three skill levels — author warns you to practice before tackling computer's third skill level. LI or II, 16KS7.95

Star Trek III.3 by Lance Micklus One of the most

advanced Star Trek games ever written. Level II, 16K

$14.95

End Zone by Roger W. Robitaille, Sr. Authentic

football simulation, right down to the 2-minute

warning. Level I or II, 16K $7.95

Cribbage by Roger W. Robitaille, Sr. You versus

the computer cribbage played by standard rules.

Level I or II, 16K $7.95

Bridge Challenger by George Duisman You and the

dummy play 4-person contract bridge against the

computer. Level II, 16K $14.95

'Round the Horn by Rev. George Blank You're the

captain of a clipper ship racing from New York to San

Francisco. Level II, 16K $9.95

Concentration by Lance Micklus One of the most

popular television games L I or II, 16K $7.95

Safari by David Bohlke You're in the running for a

film contract at a major Hollywood studio. To qualify,

you must photograph the most wild animals in their

natural habitat. Level II, 16K $7.95

Pork Barrel by Rev. George Blank Places you in the

shoes of an aspiring Congressman. L II, 16K $9.95

Backgammon by Scott Adams Level II, 16K $7.95

Chess Companion by M. Kelleher Combines chess clock features with ability to record your moves while action is fast and furious. Level II, 16K $7.95 Sargon Chess by Dan & Kathe Spracklen Winner of the 1978 San Jose Microcomputer Chess Tournament Level II, 16K $19.95

Mastermind II.2 by Lance Micklus Lets you and the computer take turns making and breaking codes. Level II, 16K $7.95

PERSONAL

RPN Calculator by Russell Starkey A selfdocumenting calculator program. Uses Reverse Polish Notation with 4-level stack, 100 memories, scientific functions. Level II, 16K $9.95 Home Financial Management by M. Kelleher Turns your computer into a personal financial advisor. Level II.16K $9.95

Tarot by Frank B. Rowlett, Jr. Probably the best future-gazing type program ever written.Try it — you'll like it! Level I or II, 16K $9.95

Ham Radio by M. Kelleher Amateur frequency Allocations, ID Timer, Q-signal File, Amateur Log Routine, Propagation forecasting. L II, 16K $9.95 Special Disk-enhanced version, 32K $24.95 Educator Assistant by Steve Reisser Five programs of value to educators. Compute percentage, individual student averages, class averages, standard test scores, final grades. L II, 16K $9.95 D, $14.95 Electronic Assistant by John Adamson A group of 8 subprograms designed to solve problems such as tuned circuits and active and passive filters. L II, 16K $9.95

Personal Finance by Lance Micklus 33 different budgets can be easily adapted by user to fit his individual needs. A 2-part program, entry and search. Level II, 16K $9.95

Advance Personal Finance by Lance Micklus Same as above with advanced analysis routine. Supports Disk Files D, 32K $19.95

SOFTSIDE Your BASIC software magazine

Regular 1 year subscription -12 issues-$15.00

PROG/80 For the serious programmer, from beginner to professional 1 year regular subscription - 4 issues - $10.00

T|C l*603*673*5M4

jm TRS-80 Software EHchange —

l^WWMCl 17 Briar Cliff Drive Mllford, New Hampshire 03055 !^™'■,

Circle 374 on inquiry card.

BYTE |une 1979

197

Gcck Reviews

The BASIC Handbook: An Encyclopedia of the BASIC Computer Language

by David A Lien

CompuSoft Publishing, San Diego CA, 1978

360 pages, paperback

$14.95

The title of this book really should read A Dictionary of the BASIC Computer Language. It is laid out in a self-indexing format as an alphabetic listing of BASIC keywords (such as PRINT, GOTO, and INT) accompanied by a detailed explanation of the effect that the keyword has when used in a program. Operator symbols are also dealt with.

The description given for each keyword includes the following: introductory and descriptive remarks, a test program with a sample run to show how the machine should respond, helpful hints, variations in usage between different brands of computers or different implementations of the BASIC language, and cross-references to related keywords. Also included is a section called "If Your Computer Doesn't Have It." This section is of great value to readers who may have BASIC interpreters that lack certain features.

In many cases this section gives a subroutine which performs a function. These subroutines are similar in design to those which are found in the Radio Shack User's Manual for Level 1 TRS-80 Microcomputer System. In some cases a slightly modified algorithm is used for better accuracy. These subroutines are written in a form which transports well between different systems. (The similarity to subroutines in the TRS-80 manual, and a slight emphasis on TRS-80 BASIC, is not surprising. Dr Lien is the author of the TRS-80 Users Manual.)

The BASIC Handbook is good within its limits. It will be a help to the beginning programmer, especially one trying to convert a BASIC program from one microcomputer system to another. When this novice programmer encounters a word with which he or she is not familiar in a program, the chances are that it is in this book, along with supplementary information.

A problem arises, however: not all features and differences between BASIC systems occur in the keywords. For example, the BASIC compiler offered by North Star Computers has several characteristics which differ from other BASIC systems. These include reversed use of commas and semicolons, and accessing of single characters from a string by subscript notation. The book could address the punctuation symbol usage, but it does not. The format does not provide a good section to discuss the subscript notation for strings or other differences of a similar nature.

The book in this edition is incomplete. Certain keywords do not appear. Notable by their absence are the string usage statements CHANGE and LINPUT; the special forms RESTORE$ and RESTORE*; the matrix arithmetic operations (MAT C = A+ B);the matrix initialization keywords (MAT C = ZER or CON or IDN); the matrix manipulation statements (MAT C = TRN(A) or INV(A), etc.); and most of the various statements for handling data files on mass storage devices.

Part of the reason for the above mentioned omissions is that most of the information presented in this book concerns microcomputer BASIC systems. In particular, the various Microsoft (MITS, Apple, Radio Shack, Commodore, Ohio Scientific) interpreters are well covered. Implementations of BASIC on minicomputers and large mainframes are somewhat neglected, however. They appear in the list on the inside back cover, but most of the more unusual features, those which are most likely to cause trouble, have not been included in this book.

The result of all this is that a person who wishes to convert a BASIC program from a large computer system to a small computer system will need to determine if the more specialized features of the "large" BASIC have been used. If they have, the programmer will need to consult the user's manual for the BASIC language as it works on the large source computer. Dr Lien recognizes this, as he states in the introduction, "The BASIC Handbook is not a substitute for the manufacturer's manual which accompanies each computer. It is a supplement."

198

June 1979 © BYTE Publications Inc

<« ISMELLAWUMPUS!!! >»

• #

or MOVE?

££mir

end

J/>«EMME«,CHS

ISBN 0-931718-03-1

$6.00

Buy this book at your favorite computer bookstore or order direct from BYTE BOOKS.

Send 60* per book for postage & handling.

Its Jack Emmerichs' new

book, Superwumpus', an exciting

adaptation of the 'Wumpus' game for

computer programmers. The cave system of the

Wumpus is a dodecahedron, and you're the lost hunter

who has to capture the Wumpus to lead you out. You'll have to

hurry before your supplies are depleted, or before you're caught in

a bat migration, a rock slide, or some other catastrophe.

Superwumpus is outstanding in the realm of computer games as being both challenging and enjoyable.

Superwumpus is programmed in both 6800 assembly language and Basic, and comes complete with source listings and bar codes.

watch out for Superwumpus- > iBJIIIl tl

Itsaddictivelyfun! / > J|[j¥l Li V\v

BBBNS

"BOOKS OF INTEREST TO COMPUTER PEOPLE

70 Main Street, Peterborough, New Hampshire 03458

Circle 36 on inquiry card.

BYTE lune 1979 199

FR€€ SOFTWARE!

PRACTICAL MICROCOMPUTER PROGRAMMING: THEZ80 by W.J. Weller

FINALLY....

Here from W.J. Weller and Northern Technology Books is the third in the Practical Microcomputer Programming series. It is a comprehensive text covering assembly language programming for Z80 based microcomputers. The first 16 chapters cover Z80 programming comprehensively, from binary operations to interrupt handling. Included are chapters on moving data, logical and arithmetic operations, use of the stack, communications with the terminal, floating point arithmetic and graphic output. All programming techniques are illustrated with formal tested examples. An important feature of the book is that

AN EDITOR/ASSEMBLER SYSTEM

FOR 8080/8085 BASED COMPUTERS

by W.J. Weller and W.T. Powers

This 148 page book contains complete information for initializing and using a powerful new editor/assembler and debugging monitor system, and the full SOURCE text of both. The assembler fully supports all Intel instruction mnemonics as well as the entire language used in Practical Microcomputer Programming™:The Intel 8080. The editor/assembler is resident in less than 8K RAM and will run on any 8080, 8085 orZ80based computer with peripherals which transfer on a character basis or can be made to do so by buffering. The user supplies his or her own I/O drivers.The text editor is extremely simple to use and does not require irrelevant line numbers. Also included is a program to convert Processor Technology™ format tapes to a format usable by the editor/assembler.

This system is not the usual "quickie" software, riddled with errors and limitations, but a professionally created, thoroughly tested and debugged system. At $14.95 it is the best software bargain you are ever likely to see.

AND BY THE WAY...paper tape object copies of all this software are sent FREE to book purchasers when the coupon at the back of the book is returned to Northern Technology Books. 81/2" x 11". $14.95

• 8080/8085 editor/assembler object code on diskette for North Star disc systems. Only $14.00

• 8080/8085 editor/assembler and debug source code for North Star disc systems. Only $14.00

• Or both for $26.00!

PRACTICAL MICROCOMPUTER PROGRAMMING: THE INTEL 8080 by W.J. Weller, A.V. Shatzel and H.Y. Nice

Here is a comprehensive source of programming information for the present or prospective user of the 8080 microcomputer, including moving data, binary arithmetic operations, multiplication and division, use of the stack pointer, subroutines, arrays and tables, conversions, decimal arithmetic, various I/O options, real time clocks and interrupt driven processes, and debugging techniques.

This 306-page hardcover book is well worth its $21.95 price and should be in every 8080 or Z80 user's library.

PRACTICAL MICROCOMPUTER PROGRAMMING: THE M6800 by W.J. Weller

This second volume of the Practical Microcomputer Programming series addresses the problems of applications programming at assembly level for the M6800. In 16chaptersand more than 100 formal examples , the fundamental techniques of assembly level programmi ng are applied to the solution of specific problems with the 6800. Nowhere theoretical, it is a thorough and detailed methods text for the beginning and intermediate application programmer using the 6800. $21.95 hardcover.

it uses the universal standard 8080 mnemonics. This is of great help to users who are upgrading their machines and software to utilize the Z80 processor.

The last part of the book is software; an editor/ assembler which will run on any 8080 or Z80 machine and a debugging monitor.

Hardcover $29.95

p

el

...EmracAi

WICHOCOMTOTEB PROGRAMMING I Hf: zku rt

8

9*

V

a quality assembler for the TRS-80*

Send in the coupon supplied with the book and

receive FREE the object programs of the editor/

assembler and debug on either paper tape or on

cassette tape for the TRS-80 microcomputer.

(Loads in Level I with 16K RAM or Level II.)

Both the book and software for only $29.95!

Also available is the editor/assembler object code for the Z-80

on diskette for North Star disc systems. Only $14.00

In addition, the editor/assembler and debug source code for the

Z 80 are available on diskette for North Star disc systems.

Only $14.00

Or both for $26.00!

BITS

Books to erase the impossible

inc

25 Route 101 UJest, PO Box 428, Peterborough, NH 03458

603-924-3355

Please send me the items checked below.

□ Practical Microcomputer Programming — TheZ80

(with choice of either FREE paper tape or FREE TRS-80 cassette when I mail coupon supplied with book) $29.95 D Editor/Assembler System for 8080/8085 Based Computers (with paper tape object copies of the software sent FREE when I mail coupon supplied with book) $14.95

□ Practical Microcomputing Programming — The Intel 8080 $21.95

□ Practical Microcomputing Programming — The M6800 $21.95

□ Editor/assembler object code for the Z 80 on diskette for North Star disc systems $14.00

□ Editor/assembler and debug source code for the Z 80 on diskette for North Star systems $14.00

□ SAVE $2.00! Both object code and source code for the Z 80 $26.00

□ Editor/assembler object code for 8080/8085 on diskette for North Star disc systems $14.00

□ Editor/assembler and debug source code for 8080/8085 on diskette for North Star disc systems $14.00

□ SAVE $2.00! Both object code and source code for 8080/8085 $26.

Total enclosed $..

_(Please enclose 75« shipping/handling

for each item ordered)

□ Check Charge Card □ Master Charge □ Visa

Card #

Expires Signature

Name_

Address_

City

_State_

-Zip_

Dial your charge card orders toll-free: 800-258-5477 Mon.-Fri 9 - 5 PM (In New Hampshire dial 924-3355)

* A trademark of Tandy Corporation

You may photocopy this page

Dealer inquiries invited

200

BYTE June 1979

Circle 91 on inquiry card.

Dr Lien treats the END statement in a way I dislike. He describes it only as a means of terminating program execution; whereas many computers use END as a means of indicating the end of the program text, and some systems use END as a marker for the physical end of file when a program is stored on a disk. Programmers treating END only as an execution terminator scatter ENDs throughout the program. If an unsuspecting user types in such a program on a system using END for end of file and saves it on a disk, he may lose the result of hours of work. I prefer the use of the STOP statement for terminating program execution other than at the end of the program.

I hope that BASIC experts will communicate with Dr Lien, to provide him with exact information concerning the more exotic features of the language. Then, perhaps, the second edition of this essentially helpful book can be more helpfully essential. All things considered, the book is a useful purchase, especially for the beginner, but I urge that it be improved. An improved version could truly require the appellation "encyclopedia."

Richard S Shuford Editor"

Structured Programming and Problem-Solving with Pascal

by Richard B Kieburtz

Prentice-Hall, Englewood Cliffs NJ 1978

365 pages paperback

$10.95

Good habits appear to be in vogue for 1979. In programming, the good habits that we are suddenly hearing about are documentation, top-down design and bottom-up coding techniques, and the Pascal language. Richard B Kieburtz's book demonstrates the necessity of a firm grounding in the design and implementation of programs in order to cope with the complexity of today's programming problems.

The book is divided as follows: 45 percent Pascal, 45 percent structured design and programming techniques, and 10 percent theory (introductory material on computers that qualifies the book for use as a college textbook).

Pascal is largely defined and taught by the context of its use in solving problems such as determining the intersection of two line segments, writing a word processing program, and running a rabbit population simulation. Although there is an index of

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HA2ELTINE

1400 $ 679.00

1500 995.00

Mod 1 1495.00

CENTRONICS

779-1 954.00

779-2 1051.00

700-2 1350.00

761 KSR tractor 1595.00

703 tractor 2195.00

NORTHSTAR

Horizon I assembled. . 1629.00

kit 1339.00

Horizon II assembled. . 1999.00

kit 1599.00

Disk System 589.00

TELETYPE

Mod 43 995.00

IMS

16K Static Memory. . . 459.95

DIGITAL SYSTEMS

Computer $4345.00

Double Density Dual Drive 2433.00

IMSAI

VDP 80/1000 $5895.00

VDP40 3795.00

VDP42 3895.00

VDP44 4195.00

16K Memory assem... 399.00

PCS 80/15 679.00

15% off on all other Imsai products

CROMEMCO

System III $1000 ott .. 4990.00

10% off on all other Ctomemco products

TEXAS INSTRUMENTS

810 Printer 1595.00

CENTRONICS

MicroPrinter 495.00

Most items in stock for immediate delivery. Factory-fresh, sealed cartons.

DATA DISCOUNT CENTER p.o.boxioo

135-53 Northern Blvd., Flushing, New York 11354,212/465-6609

N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y. I BankAmericard, Master Charge add 3%. COD orders require 25% deposit.

Expand yourTRS 80.

Save $100.

Meet the Vista V80 Mini Disk System. The perfect way to upgrade yourTRS-80* system. Inexpensively. (Our $395.00 price is about $100.00 less than the manufacturer's equivalent.) Here's how it can help you.

23% more storage capacity. Useable storage

capacity is increased from 55,000 to 65,000 bytes on

drive one.

8 times faster. While electronically equal to the TRS

80 Mini-Disk system, track-to-track access is 5ms

versus 40ms for the TRS-80.

Better warranty. The V80 carries a 120 day warranty

longer than any comparable unit warranty available.

The Vista V80 Mini Disk System comes complete with Minifloppy disk drive, power supply, regulator board and case. And it's ready to run-simply take it out of the box, plug it in and you're ready to go.

Vista

1320 East St. Andrews Place, Suite I

Santa Ana, California 92705

(714)558-8813

At Vista, we mean business.

*TRS-80 ©Tandy Corp.

Circle 378 on inquiry card.

June 1979 © BYTE Publications Inc

201

Circle 357 on inquiry card.

TINY' PASCAL

for TRS-80® & NORTH STAR®

Now you too can have Pascal! The Chung/Yuen 'Tiny' Pascal has been specially designed for TRS-80 & North Star owners. The full power & elegance of 'Tiny' Pascal is at your command. Programs written in 'Tiny' Pascal run at least 4 times faster than the same program in BASIC! 'Tiny' Pascal is also a great way to learn Pascal Programming, & fun too.

The minimum system requirements are: Level II, 16K for TRS-80, & 24K for North Star (specify single or double density).

SOURCE TOO!

But most important, you also get source to 'Tiny' Pascal written in Pascal with each purchase! You can even compile the compiler! (Requires 36K for North Star systems, & 32K, Level II for TRS-80). You can customize your own version, or just use it the way it is.

'Tiny' Pascal is a subset of Standard Pascal & includes: RECURSIVE PROCEDURE/FUNCTION, IF-THEN-ELSE, REPEAT/UNTIL, 'PEEK & POKE', WHILE, CASE, & MORE!

Also you can save & load programs.

You get all this & more, plus a user's manual for $40.00.

available from:

MB

P.O. Box 1628

Champaign, IL 61820

(217) 344-7596

All orders pre-paid, Illinois residents add 5% sales tax

At last a

DICTIONARY TRS-80

6000 words in 12K!

A selection of 6,000 words (no definitions!) up to 9 letters long, with an average length of over 5 letters. Indexed by first, second and last letter. Answers the vital question — what word has a first letter of U, a third of G and a last of T? Great for Scrabble or crosswords or your own word games. Each word has a two byte code; handy for text compression too. Requires 16K Level II.

$14.95 us

($17CDN)

HEXAGON SYSTEMS

P.O.Box 397, Station A

Vancouver, B.C. V6C 2N2 Canada

Pascal terms pointing back to the text, many of these terms are not defined in sufficient detail to help debug a Pascal program. The book is readily understandable to anyone unacquainted with the language, but it should not be used as the sole reference book on Pascal as it describes a generalized Pascal that manipulates both character and numeric variables. Specifically, it does not mention some of the more advanced UCSD (University of California at San Diego) extensions to Pascal.

The concept that is the cornerstone for both the theory and implementation of structured techniques in this book is known as "design by stepwise refinement." This automatically implies two techniques that I find best for problems of any complexity: top-down design and bottom-up coding. Top-down design (breaking a problem into manageable subproblems) produces a modular program that can be easily modified. Bottom-up coding (writing the code for every subproblem before writing the code that uses them) avoids the problem of having to rewrite the high level routines to add something that you found you needed at a later date. Kieburtz uses a relatively new flowchart-like notation that depicts the fundamental structured programming constructs (do-while, repeat-until, sequence, if-thenelse, and case) in a way that is both graphic and intuitively understandable. For example, the body of a do-while clause is a rectangle bordered on the left and top by an L-shaped piece that describes the while condition for repeating the block.

The book also introduces several of the better known algorithms and ideas in computer science: the linear interpolation and binary search methods of extracting roots, Gaussian elimination to solve simultaneous equations, backtracking trial and error methods (to solve the eight queens problem), and several simulation examples. The final chapter, "How Does the Computer Work?," deals with binary numbers, machine language, and computer architecture. It is obviously there to catch a larger slice of the textbook market.

All in all, this book is reasonably priced and well worth the money. It is a good introduction to Pascal (but only that), and it exposes the reader to good programming habits on all levels. I wish that I had been exposed to this kind of book when I was learning to program.

Gregg Williams

1605 Eastmoreland #3

Memphis TN 38104

202

June 1979 © BYTE Publications Inc

Circle 161 on inquiry card.

Circle 316 on inquiry card.

Revolution in Miniature

by Ernest Braun and Stuart MacDonald

Cambridge University Press, 1978

231 pages hardcover \

$16.95

The invention of the transistor was not a fortuitous accident of pure research. It had been sought for years before its actual invention. A working (though impractical) solid state amplifier had been demonstrated as early as 1933, and in 1939 Dr William Shockley tried to put a "grid" in a copper oxide rectifier. It didn't work. When developments in physics finally permitted its invention, the transistor principle was identified within weeks by Bell Laboratories, Purdue University, and a French team, all working independently.

These are some of the fascinating, amusing, and always factual incidents related in Revolution in Miniature. The book traces the history of solid-state electronics from the coherer (the first solid-state electronic device) to large scale integration. One of the authors is a historian, the other is a physicist, and I can't think of a better combination for this endeavor. The flair that these two British authors exhibit with their command of the English language provides a force of expression seldom seen in a technical book.

As the publisher states, "Semiconductor electronics' . . . effect on life in the second half of the twentieth century can hardly be overestimated." Solid-state technology has made possible things that were never before envisioned, yet in the beginning the transistor was seen, even by its developers, as a mere substitute for the triode tube (or "valve," as described herein). The later, more successful transistor types were often electrically inferior to the fragile, lab assembled models and were adopted only in the interests of cheap, uniform mass-production. Early integrated circuits contained a lot of hand labor, and digital electronics as we know it today resulted from attempts to minimize the passive components needed in earlier analog circuitry.

The book is heavily footnoted and the bibliography is impressive. Aside from entertainment value, the historical data is wellworth having for reference. You will find answers to such questions as: who developed which manufacturing techniques; which key people spun a new company off from an established one; why Silicon Valley is what it is; and which bar is the scene of employee and information swapping. It's a lot like reading someone's diary.

CATCH THE

S-100INC.

BUS!

OUR LIST SPECIAL PRICE CASH

PRICE

S.D. Versafloppy Disk

Controller Kit S.D. Expandoram 32/64K

Memory Kit Imsai MIO Multiple I/O

Interface Kit Anadex Model DP8000 U/L

Case Printer W/RS232 SSM I/O 4 Parallel & Serial

Interface Kit Xitan Z-80 ZPU Factory

Assembled and Tested

159.00 135.00

141.00 120.00

195.00 166.00

995.00 850.00

149.95 128.00

199.00 170.00

Call for Our Prices on:

Cromemco, IMSAI, Vector Graphic, North Star, Sanyo,

Hazeltine, IMC plus Most Other Major Lines.

Subject to Available Quantities • Prices Quoted Include Cash Discounts. Shipping & Insurance Extra.

bus S-JOQ,inc.

Address 7 White Place

Clark, N.J. 07066 Interface 201-382-1318

WE SHIP FROM STOCK-EVERYTHING FACTORY FRESH, FULLY WARRANTEED

WE ARE KNOWN FOR OUR PROMPT, COURTEOUS SERVICE

TELETYPE MODEL 43TTL $985

RS232 $1,085

IWe stock Teletype Paper and Ribbons)

DEC LA 34

High quality, hard copy, dot matrix printer. Plug compatible substitute

for the Teletype 43. RS232 included at no extra cost $1,159

HAZELTINE 1500 assembled $945

1510 $1,085

Also available with French, German or Danish character sets.

MARINCHIP SYSTEMS M9900 CPU

The Complete, Compatible 16 bit CPU for the S-100 Bus

Kit Assembled

M9900 (includes software) $550 $700

We configure systems to suit your individual requirements. MODEM

Originate/Answer. The "CAT" from Novation $190

HARD DISK CONTROLLER From Konan $1,550

S-100 compatible; plugs into S-100 mainframe, controls 1-4 drives.

We Also Carry:

•PERSCI«FUJITSU HARD DISK DRIVES'TEI MAINFRAMES'

• TARBELL CONTROLLERS • INTERTUBE • SOROC • • IMS AND OTHER MEMORIES • TELL US OF YOUR NEEDS •

• WE CAN OBTAIN MANY ITEMS AT LOW COST •

To Order: $10 shipping for Terminals. $3 shipping for other items. 24

hr. shipping upon receipt of certified check or money order. Personal

checks: allow 10 days. Credit cards: 4% charge. NY residents add tax.

* WE EXPORT TO ALL COUNTRIES *

OVERSEAS CALLERS USE (212) 448-6298 ONLY

WE CAN ADAPT MOST EQUIPMENT FOR 220v, 50Hz

We have no reader inquiry number. Please call or write.

john d. OWENS ASSOCIATES, inc.

147 NORWOOD AVENUE STATEN ISLAND, NEW YORK 10304

DAY. EVENING. WEEKEND, HOLIDAY CALLS WELCOME!

(212) 448-6283

(212) 448-6298

June 1979 © BYTE Publications Inc 203

I *—■ ■

Circle 372 on inquiry card.

Ipsns-Qsts Qoppcpstion

ANNOUNCES MICROCOMPUTER SOFTWARE

FOR APPLE II, NORTH STAR,

& OHIO SCIENTIFIC USERS

APPLE II

•FILE MANAGEMENT SYSTEM (32 K) $60.00

It's used to create, add, change or delete data records on disk. Includes label printing & mailing list.

•WORD PROCESSOR (32 K) $60.00

Disk based word processor includes upper & lower case plus complete printer control and more.

•STEP by STEP (16 K) $39.95

(add $10.00 for disk version)

Computer Basic course in 20 lessons, 10 quizzes & final test.

NORTH STAR

♦INVENTORY $25.00

•MEDICAL BILLING $25.00

•PAYROLL $25.00

•COMPLETE BUSINESS PACKAGE

OHIO SCIENTIFIC (All Series)

*GAMES*SMALL BUSINESS PACKAGES ♦EDUCATIONAL SOFTWARE

We have the most sophisticated library of software for these microcomputers in stock. Send $1.00 for software catalog or call our toll free number (800) 327-8455. Please specify disk or tape version.

Trans-Data Corp.

161 Almeria Avenue, Suite 100-E Coral Gables, Florida 33134

TRS-80 means business! ! !

...with CP/M, CBASIC2, & applications software.

CP/M ("the software bus") & CBASIC2 (the stan- f dard for business software) bring new power and | versatility to I he TRS-80 for practical use.

CP/M Operatinq System (w/Editor, Assembler,

Debugger, Utilities & 6 manual set) $150

CBASIC2 Compiler (w/manual) $ 95

| DESP00L Print Spooler (w/manual) $75

*Osborne & Assoc. PAYROLL W/C0ST

ACCTNG $250

*Osborne & Assoc. ACCTS. RECEIVABLE &

ACCTS. PAYABLE $250

*Osborne & Assoc. GENERAL LEDGER $250

*=CBASIC2 source programs; add $15 (each) for applicable O & A book,

APH - Self-administered Automated Patient

History $175

Write/call for additional software available & FREE "CP/M Primer".

CA residents add 6% tax.

|C;.YlB,[E.lR|N|E IT I

Visa, M/C,M/0,Check OK.

IC.IS,

(714) 848-1922

8041 NEWMAN AVENUE

stufumrnmrnsm

SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647

Revolution in Miniature is a must as a historical reference, and great reading for both electronics types and those who don't care about how things work. It provides first class nostalgia for the old-timers who actually remember using crystal sets, who remember when tubes "went miniature," and who have tried to make equipment smaller by simply cramming conventional parts closer together. As the authors state, at one time it was theoretically possible to achieve a parts density of 1000 per cubic foot, but in practice the heat wouldn't permit it. Our thanks are due to all of those pioneers who made this remarkable revolution possible.

Ernie Brooner

COMLABS

POB 236

Lakeside WIT 59922"

How to Program Microcomputers

by William Barden Jr

Howard WSams and Co, Indianapolis 1977

256 pages paperback

$8.95

How to Program Microcomputers is an introduction to machine language programming for the 8080, the 6800, and the 6502 microprocessors. The only other book I have seen that attempted to teach programming for a group of microcomputers did so by presenting all problems in a superset of the PL/M language. This book takes a different approach, and uses the assembler mnemonics for each of the processors discussed.

The book begins with an introduction to microcomputers: what they are, how they operate; and an introduction to alternative processor architectures. The structures of the 8080, the 6800, and the 6502 are described, then alternatives for addressing, memory access, stack manipulation, I/O (input/output) operation and interrupt processing are introduced. Each topic is illustrated with features from the applicable microprocessor.

The next part of the book deals with programming techniques. Data movement, arithmetic operations, multiple precision arithmetic, branching, indexing, subroutines, stack operations, table operations, list processing, bit manipulation, decimal and floating point arithmetic, and I/O are discussed, as well as how to put all of these elements together. As before, examples are given for each processor.

204

June 1979 © BYTE Publications Inc

Circle 85 on inquiry card.

The last part of the book provides standard algorithms for each machine. Twenty different building blocks (most of which belong in any good monitor) are given for each processor. Appendices summarize the instruction sets.

There are three groups of people who might be interested in this book. The first group is composed of anyone becoming acquainted with microcomputer technology who wants an overview of the main processors in present hobbyist use. The second group is composed of people who already have a machine and who want good standard routines. The third group (in which I am included) consists of those hobbyists who have a machine and who would like to see how other processors operate. While I would certainly never trade my Z-80 for any of the processors illustrated in the book, it is good to know how the rest of the world operates.

John A Lehman

716 Hutchins #2

Ann Arbor Ml 48103»

Circle 1 on inquiry card.

If you need Business Reports with fancy frills you have the wrong company. We don't put these in our Software or our Ads. Both cost *** You *** Money.

But if you need solid, Down-To-Earth Software for your North Star, Imsai, or other low cost Data Processing System written in Microsoft Basic or Cbasic including GL, AR, AP, Inventory, Payroll, Mailing List and Fixed Asset Accounting then you *** Do *** have the right company.

GIVE US A TRY - WE KNOW YOU'LL BE GLAD YOU DID We honor Visa and Mastercharge

102 Avenida Dela Estrella

Suite 208

San Clemente, CA 92672

(714) 492-7633

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

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

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

MAIL ORDERSARE NORMA LLY SHIPPED WITHIN 48 HOURS. VISA AND MASTERCHARGE ORDERS ARE BOTH ACCEPTED.

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

The Assembled BETSI board has four 100-pin connectors, complete operating instructions and a full 6-month Warranty for just SI 65.

FORETHOUGHT PRODUCTS

87070 Dukhobar Road #K Eugene, Oregon 97402 Phone (503) 485-8575.

BETSI is the new I nterface/ Motherboard from Forethought Products—the makers of KIMST"—which allows users of Commodore's PET Personal Computer to instantly work with the scores of memory and I/O hoards developed for the S'100 (tmsai/Altair type) bus. UETSI is available from stock on a singleS'/'" x 10"printed circuit card.

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

Ask about our memory prices, too!

*l'l; I is ii Com mod on: product.

Circle 135 on inquiry card.

June 1979 © BYTE Publications tnc 205

Programming Quickies

Alan R Miller

New Mexico Tech

Socorro NM 87801

10 REM TEST FACTORIAL SUBROUTINE

20 INPUT "FACTORIAL OF ";X:GOSUB 5000

30 PRINT "THE FACTORIAL OF ";X;" IS ";G

40 GOTO 20

5000 REM GAMMA FUNCTION G(X)

5010 Y0=X+1:Y= Y0+5: Y2= Y*Y*30: Y1=SQR(2*3.14159/Y*YTY

5020 G= Y1*EXP((1-1/(30*Y2))/(12*Y)-Y)/Y0

5030 FOR 1 = 1 TO 4: G= G/ (Y0+I): NEXT: RETURN

OK

Listing 1: BASIC program for determining factorials using the gamma function.

RUN FACTORIAL OF ? 2 THE FACTORIAL OF 2 IS 2.00001 FACTORIAL OF ? 3 THE FACTORIAL OF 3 IS 6.00003 FACTORIAL OF ? 4 THE FACTORIAL OF 4 IS 24.0001 FACTORIAL OF ? 5 THE FACTORIAL OF 5 IS 120.001 FACTORIAL OF ? 8 THE FACTORIAL OF 8 IS 40320.1 FACTORIAL OF ? 12

THE FACTORIAL OF 12 IS 4.79001 E+08 FACTORIAL OF ? 16

THE FACTORIAL OF 16 IS 2.09228E+13 FACTORIAL OF ? 20 THE FACTORIAL OF 20 IS 2.43292E+18

Listing 2: Sample run of the factorial program. Notice that the answers are not exact. The truncated integer portions of the smaller results are exact factorials; as the factorials grow in size, the result quickly exceeds the precision of the floating point representation of the numbers.

BASIC Factorials

Here's another function to add to your BASIC, a factorial calculator. The factorial of a number X is equal to X times X-1 times X-2 etc down to one and is represented by X! Thus 4! is 24. For large values of X, Stirling's approximation can be used to find the gamma function which is readily converted to the factorial by the relation:

X! = r(x + i)

To find the factorial of X with the BASIC program shown in listing 1, execute a jump to subroutine at line 5000. On return, the factorial of X will be in G. If for some reason the gamma function itself is wanted, remove the first statement from line 5010 and GOSUB 5000 with the argument in Y0. The subroutine works by finding the gamma function of a number six values larger than the argument:

xi= r(x + i)

(X + 5) = T(N)

= V2tt/N Nn exp

^2X \ 30X2/

-X

r(x) = r(N)/(x(x + i) (x + 2)

(X + 3)(X+4))

This function is only approximate, as can be seen in the sample run of listing 2. The returned value should be rounded to the nearest integer."

THE/M\0©D^°) MOTOROLA M6809

DS-80 S-100% compatible video digitizer with 256 x 256 resolution & 64 levels ot grey scale. $349.95

DS-68 The same item tor the SS5076800 buss

$169.95 HPHINT 6800 Driver software in 2708 lor Malibu 160 printer Wiring diagram included.

$39.95 BIOPIC Complete Biorhythm and Computer Portrait Software in 2708S lor Malibu printer, DS-68 and SWTPC 6800 computer.

$175.00

PSB-08 Prom system board with 8K ol 2708 and

1K ram lor all SS-50 Computers. $119.95

EMULATOR

Smoke Signal Disk Users! Run Mixed 5 and 8 Inch Drives

The Disk Mixer Is a retrofit kit for Smoke Signal Disk controller boards capable of driving either 5 in. or 8 In. disks that allows the user to mix drive sizes. DM-85 allows any configuration of 5 in. and 8 in. drives to be user defined, and provides the appropriate clock signals for the disk being accessed. This Is a kit, and Is not recommended for those without hardware experience.

$39.95

Run 6809software before the chip Is available!

E6809 is a 6800 machine language program that emulates all of the functions of the Motorola 6809 third generation microprocessor. Developed for use on any SS-50 computer system, the program allows software development and debugging prior to 6809 availability. The 3 K byte program is complete with a 6809 mini-monitor for ease of use, and on source listing. Available In Smoke Signal or Flex format disk, or cassette tape. $49.95 •See Byte, Jan., Feb., Mar., 79

P.O. BOX IIIO DEL MAR, CA. SS014 714-756-SB87

Master Charge

and BankAmericard

206 June 1979 © BYTE Publication

is Inc

Circle 231 on inquiry card.

An 8080

Free Memory Search

William M Hand 18660 Arden Av Brookfield Wl 53005

Since my computer system is continually in a state of flux, I sometimes lose track of the addressing for the various memory boards. To eliminate the hunt-and-seek method of locating unprotected memory blocks, I put together the routine in listing 1 (see page 208) to examine all memory space from hexadecimal 0000 to FFFF and report the start and end addresses of all available spaces.

A memory location exists and is not protected if the processor can write a word to memory and read back the same word. However, since any given memory location may have a value from 0 to FF (the range of the 8080 processor), some care must be exercised in declaring a location as existing and available.

To address this problem, I use a double store routine in which the processor first stores one arbitrary number and then another different number. If the processor reads back the correct number for both stores, that location is a valid unprotected memory cell. [This could also be used as a memory failure check if the two values used were hexadecimal 0000 and FFFF .... RGAC]

Two notes are needed relative to listing 1. First, the line with the pound sign (#) is the link back to the calling routine. If the FMAR routine is called as a subroutine, this line should be replaced with a return instruction. Second, note that upon exiting, the DE register pair points to the next address past the last address pair from the routine. The pointers for start and end of free memory blocks may be pulled out with LHLD or POP instructions.

Also, the routine itself should be located in protected memory (along with the operating system, for instance) since the routine will self-destruct if located in unprotected memory. Be sure to provide sufficient room for the DE register pair to expand.

Total memory requirements for this routine are 66 bytes plus the stack area for the DE register pair storage of free memory boundaries.

If desired, the FMAR routine may be used to simply output the addresses to a Teletype or terminal."

64KB MICROPROCESSOR MEMORIES

• S-100 - $695.00 • SBC 80/10 - $750.00

• LSI 11 - $750.00 • 6800 - $750.00

CI-S100 — 64K x 8 on a single board. Plugs directly into the IMSAI, MITS, TDL, SOL and most other S-100 Bus computers. No wait states even with Z80 at 4Mhz. Addressable in 4K increments. Power requirement 6 watts. Price $695.00.

CI-1103 — 8K words to 32K words in a single option slot. Plugs directly into LSI 11, LSI 11/2, H11 & PDP 1103. Addressable in 2K increments up to 128K. 8K x 16 $390.00. 32Kx 16 $750.00 qty. one.

CI-6800 — 16KB to 64KB on a single board. Plugs directly into Motorola's EXORcisor and compatible with the evaluation modules. Addressable in 4K increments up to 64K. 16KB $390.00. 64KB $750.00.

CI-8080 — 16KB to 64KB on single board. Plugs directly into Intel's MDS 800 and SBC 80/10. Addressable in 4K increments up to 64K. 16KB $390.00. 64KB $750.00

CI-S100 64K x 8 Minimi

CI-1103 32K x 16

ii 'iiniiTiimiimiiiMiSiii'-" CI-6800 64K x 8

Sjl. i i ffflil . m 11 * j as«;E;3|

CI-8080 64K x 8

€

Tested and burned-in. Full year warranty.

Chrislin Industries, Inc.

Computer Products Division

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254

Circle 47 on inquiry card.

June 1'J7!I © UYTE Publications Inc

207

Listing 1: 8080 assembly language program for finding areas of memory that are free and unprotected. Modifying the command on line 6 allows the program to start looking at any point in memory.

0000

*Free

Memory

Allocatior

Routine

0001

*

locates available unprotected memory

0002

*

0003

*

coming in: D&E

point to location

0004

*

where

results are to be stored

0005

*

0006

FHAR:

LXI

H,0

;SET HiL TO 0000

0007

FMAR1

CALL

LOOK

;L00K FOR FIRST FREE LOCATION

0008

JZ

REP1

;FOUND IT, REPORT IT

0009

FMAR3:

CALL

CHECK

;LOOK FOR END OF MEMORY

ooio

JNZ

FMAR1

;N0T YET, LOOK SOME MORE

0011

# JMP

EXEC

;END OF MEMORY, RETURN TO EXECUTIVE

0012

REP1:

CALL

REPOR

;REPORT FIRST FREE LOCATION

0013

FMAR2

CALL

CHECK

;SEE IF AT END OF MEMORY

0014

JNZ

TRYON

;N0T YET, CONTINUE LOOKING

0015

FMAR4

DCX

H

;REP0RT LAST LOCATION

0016

CALL

REPOR

0017

JMP

FMAR3

;AND USE CHECK TO EXIT

ooie

TRYON

CALL

LOOK

;L00K FOR A FREE LOCATION

0019

JZ

FMAR2

;VALID LOCATION

0020

JMP

FMAR4

;N0T VALID, LOOK FOR START OF NEXT

0021

*

0022

LOOK:

MOV

C,M

;SAVE MEMORY IN REGISTER C

0023

MOV

M,H

;WRITE H INTO MEMORY

0021

MOV

A,M

;READ MEMORY INTO A

0025

CMP

H

;SEE IF A AND H AGREE

0026

RNZ

;NO, NOT VALID MEMORY

0027

MOV

M,L

;OK PASS 1, THIS TIME PUT IN L

0028

MOV

A,M

;READ BACK INTO A

0029

MOV

M,C

;PUT C BACK INTO MEMORY

0030

CMP

L

;SEE IF A AND L AGREE

0031

RET

jRETURN WITH FLAGS SET

0032

*

0033

CHECK

SUB

A

;SET A TO 0

0034

INX

H

INCREMENT H6L

0035

CMP

H

;SEE IF H=0

0036

RNZ

;N0T YET, RETURN

0037

CMP

L

;SEE IF L=0

0038

RET

;AND RETURN

0039

*

OOUO

REPOR

MOV

A,L

;GET THE LOW ADDRESS

0041

STAX

D

;STORE WITH D6E POINTER

0042

DCX

D

;DECREMENT POINTER

0043

MOV

A,H

;GET HIGH ADDRESS

0044

STAX

D

;STORE WITH D&E POINTER

0045

DCX

D

;DECREMENT POINTER

0046

RET

; RETURN

Ashwin L Doshi

5830 Green Valley Cir 105

Culver City CA 90230

5 Byte Hexadecimal to ASCII Converter

I was recently challenged by a colleague to find the most efficient 8080 code to translate hexadecimal 0 thru F (stored in the accumulator) into ASCII 0 thru 9 and A thru F (also in the accumulator). After I came up with a 5 byte translation, he showed me a well-published 6 byte translation (of which I was unaware) which is as follows:

ADI 90H

DAA

ACI 40H

DAA.

The 5 byte code that does the same translation is as follows:

DAA

ADI FOH

ACI 40H.

The latter assumes that the carry and the auxiliary carry are reset, which is the case in all applications that I could find of this translation."

Checkbook Balancing Routine

Loriny C White

26 Boswell Rd

Reading MA 02119

Every month the bank statement arrives and we have to go through cancelled checks and the usual mathematical ritual to reconcile our figures with those of the bank. Here is some software the computer enthusiast can use to balance a checkbook. The program in listing 1 is written in MITS 8 K BASIC Revision 3.2 (used on my Altair 8800 computer). [Since the MITS 8 K BASIC language was written and implemented by the Microsoft Company, this same listing should work with minor changes on a number of computers besides the Altair. These include the Apple II with the "Applesoft" BASIC, the Radio Shack TRS-80 with Level II BASIC, and the Commodore PET computer. . . . CH/ If you have printer or Teletype, you can get hard copy of all pertinent information for later references.

The program has the following features:

• The initial printout is a listing of all outstanding checks by check number, date and amount.

• A list of all cancelled checks as they are entered as well as a final summary list is given.

• A new, updated list of outstanding checks is provided to update the list of checks appearing in the data statements. Provision is made for this listing to be in data format so that it can be punched on tape to make the program update easier.

• The computer will search for each check listing as it is entered during the program run.

• Input statements are provided for entering the bank statement balance; service charge and deposits not entered on the statement.

208

June 1979 © BYTE Publications Inc

Circle 307 on inquiry card.

3

4

5

7

8

9

10

20

21

25

26

40

50

55

60

61

65

67

70

75

80

85

90

95

97

100

102

103

110

120

130

134

135

136

137

139

140

150

160

166

168

170

180

190

191

192

193

194

200

210

220

230

240

250

260

270

280

285

290

300

310

320

500

600

601

602

603

604

605

606

607

608

609

610

611

612

613

614

615

616

617

618

619

620

700

=D(X)THEN90 =A(X)THEN100

'DATE:";"AMOUNT:$";AR(N)

DIM P(100)

DIMN(100),D(100),A(100),NR(100),DR(100),AR(100)

PRINT"PROGRAM TO BALANCE CHECK BOOK"

PRINT"ONLY CHECKS NOT RETURNED SHOULD BE LISTED IN DATA 600"

FORX=0TO70:PRINT"-"; : NEXT: PR INT

PR INT"CHECK#","DATE(MDY)","AMOUNT"

FORN=1TO100

READ N(N),D(N),A(N)

IFN(N)=0THEN50

S=S+A(N)

PRINT N(N),D(N),"$";A(N)

NEXT

PRINT"LIST ALL CHECKS RETURNED: CHECK#,DATE(MDY),AMOUNT($)"

PRINT"LIST '0,0,0' AS LAST CHECK IN LIST"

FORN=1TO100

INPUT NR(N),DR(N),AR(N)

FOR X=1TO100

IF NR(N)=0THEN130

IF NR(N)=N(X)THEN80

GOT095

IF DR(N):

GOT095

IF AR(N):

NEXT X

NEXT N

PRINT"CANCEL CHECK#:";NR(N)

P(Y)=N

Y=Y+1

T=T+AR(N)

GOT097

PRINT'TOTAL AMOUNT IN $ OF CHECKS RETURNED FROM BANK=S";T

PRINT"LIST OF CANCELLED CHECKS"

PRINT "CHECK#","DATE(MDY)","AMOUNT$"

FORY=0TO100:IFN(P(Y))=0THEN140

PRINT NR(P(Y)),DR(P(Y)),AR(P(Y))

NEXT

PRINT'TOTAL CHECKS NOT RETURNED=$";S-T

INPUT"ENTER BALANCE PER STATEMENT FROM BANK $";B

INPUT'TOTALOF DEPOSITS NOT CREDITED ON STATEMENT $";D

INPUT"ENTER SERVICE CHARGE INDICATED ON BANK STATEMENT $";SC

Z=B-S+T+D+SC

PRINT"CHECKBOOK BALANCE SHOULD BE=$";INT(Z*10+2+.5)/10T2

PRINT"REM TO DELETE ALL RETURNED CHECKS FROM DATA LIST"

PRINT"REM TO SUBTRACT SERVICE CHARGE FROM CHECKBOOK BALANCE"

PRINT"IF YOU WANT LIST OF CHECKS OUTSTANDING FOR NEW DATA"

PRINT"LISTING THEN PREPARE TELETYPE TAPE LEADER AND TYPE 'YES' ";

INPUT V$:IF V$="YES"THEN200

GOTO500

FORN=1TO100

FORY=0TO100

IFN(N)=0THEN500

IFN(N)=NR(P(Y))THEN250

GOTO280

IFD(N)=DR(P(Y))THEN270

GOTO280

IFA(N)=AR(P(Y))THEN290

NEXTY

GOTO300

NEXTN

PRINT600+L;"DATA";N(N);",";D(N);",";A(N)

L=L+1

GOTO290

END

DATA 100,12876,18.75

DATA 3,3177,2.6

DATA 6,3177,16.2

DATA 7,3177,48

DATA 8,3177,16.75

DATA 10,3177,251

DATA 13,32177,70

DATA 14,32877,70

DATA 15,31477,70

DATA 16,31577,15

DATA 17,3777,12

DATA 18,3977,5

DATA 19,3977,5

DATA 100,31077,88.4

data 100,31177,15.62 Listing 1: Checkbook bal

data ?orj33i07728 ancing routines for Micro

DAT A 21,31277,47 DATA 1,31277,52 DATA 2,31277,150 DATA 100,31477,9.93 DATA 0,0,0

soft (MITS) BASIC. The data statements contain all outstanding checks that will be checked.

HEAVY PROGRAMS WITH A LIGHT TOUCH

PDI educational software teaches with lively, interactive, motivating programs. PDI programs and games can teach you new skills and help your kids learn essential math, reading, and language skills. The light, direct, and entertaining style makes the software ideal for home use.

See Program Design educational software for PET, Apple II, and TRS-80 at your local computer store.

Product list available.

Available at participating Computerlands

And at these dealers . . .

ALABAMA

Byte Shop Huntsville

ARKANSAS

Data Cope

Little Rock

CALIFORNIA

Byte Shop

Santa Clara

Byte Shop

Westminster

Computer Components

Burbank

Computer Components

Van Nuys

Computer Components

Westminster

Computer Forum

La Mirada

Computer Forum ante Fe Springs Hobby World Northridge

Sanfa Rosa Comp. Center Santa Rosa COLORADO AMPTEC Denver

CONNECTICUT Computer Place Stamford Computer Store Hartford Computer Store Windsor Locks Computer Works Westport FLORIDA Grlce Electronics Pensacola

Gulf Coast Computers Milton Tampa

O. Henry's Bookstore Davie

Tomorrow Today Fort Richey Trans Data Coral Gables HAWAII

Land of Light Computers Paia

ILLINOIS Appletree Stereo DeKalb

KappeTs Comp. Store Belleville

INDIANA

Home Computer Center

Indianapolis

LOUISIANA

Computer Shoppe

Metairie

MARYLAND

Computers Etc.

Towson

Computer Workshop

Rockville

MASSACHUSETTS

Computer Store Burlington Computer Store Cambridge

MICHIGAN

Computer House Jackson

MISSOURI

Computer Country

Florissant

Forsythe Computers

Bridgeton

MONTANA

Computer Store

Billings

NEVADA

Byte Shop

Reno

NEW JERSEY

Computer Encounter

Princeton

Computer Mart

Iselin

Computer Nook

Pinebrook

Shore Computers

Toms River

Typetronic Comp.

Ramsey

NEW YORK

American Peripherals

Lindenhurst

Computer Corner

White Plains

Computer Factory

New York City

Computer General Store

Lynbrook

Computer Mart

New York City

NORTH CAROLINA

Byte Shop

Greensboro

Byte Shop

Raleigh

OHIO

Micro Mini Comp. World

Columbus

21st Century Shop

Cincinnati

TENNESSEE

Computerlab

Memphis

TEXAS

Computer Center Wichita Falls Computercraft Houston

Somputer Patch dessa

gomputer Shop an Antonio

UTAH

Computer Concepts Group

Salt Lake City

WASHINGTON

Ye Olde Computer Shoppe

Richland

CANADA

Computer Shop

Calgary Alta.

Kobetek Systems

Wolfville, N.S.

ENGLAND

Petsoft

Birmingham

PROGRAM DESIGN, INC., 11 Idar Court. Greenwich, CT 06830

Iune1979 © BYTE Publications Inc

209

• A final summary is provided giving the total of all outstanding checks, checkbook balance and the checks returned from the bank.

How It Works

To implement the program it is necessary to provide a list of all checks written by number, date, and amount in the data statements at the end of the program. When I first started writing the software I included the name of the company but later discovered that this information is not really needed.

The first data statement in the program of listing 1 is:

600 DATA 100, 12876, 18.75

The statement says that check number 100 was written on December 8, 1976 for the amount of $18.75. (I usually carry a number of blank checks in case I need to write a check. I always number this type of check with 100. At the end of the month I may have several checks with number 100 but this is no problem, because they are also identified with the date and amount.) The computer, when searching for each check, looks for all three pieces of information before assuming that the check has been located. Listing each check on a separate

List Our

CROMEMCO 20% DISCOUNT Price

System III 5990 4800

System II 3995 3200

16K Ram 595 480

NORTH STAR 16% DISCOUNT

Horizan l-DD kit 1599 1344

Horizan l-SD kit 1599 1299

Horizan l-DD asm 1899 1590

Horizan ll-DD kit 1999 1679

Horizan ll-DD asm 2349 1973

16K Ram kit 399 335

16K Ram asm 459 385

VECTOR GRAPHICS 20% DISCOUNT Vector M 1 315k disk Vector MZ 2 315k disks

Intertube CRT LA-36 DecWriter Escon Selectric Interface Integral Data IP125 Integral Data IP225 Compu Cruise Radio Shack 5 % Discount

Professional A/r, A/p, Ledger, Payroll, Medical Billing software with customization available. Send for our catalog — Some prices are too low to quote.

SARA TECH COMPUTERS P.O. Box 692 400 Base Venice, FL 33595 (813)485-3559

874

725

795

1444

496

422

799

699

949

834

199

164

line uses up more memory, but there are good reasons for doing this that become apparent when you run the program.

Using the Program

After all the checks are listed in the data statements, as shown in the program, you are ready to run the program. Take the cancelled checks you get from the bank and input the check number, date and amount the same way you entered the information in the data statements. Then hit carriage return. The program will search the data list for the check and deduct it from the balance, printing for example:

"CANCEL CHECK*: 100

DATE: 12876

AMOUNT: $18.75"

If the check is not located in the data, the computer types a question mark meaning that either the check isn't there or you have not entered the data correctly.

After all the checks have been entered, type 0,0,0 for the last check and hit carriage return. The computer will give you a complete list of all the cancelled checks just entered plus the total of all the outstanding checks. You will be asked to enter the bank statement balance and any deposits not shown and the service charge, if any. Using this information, the program calculates the balance in your checkbook. In this way you can reconcile your arithmetic with that of the bank.

Normally at this point it is necessary to change the data statement list by eliminating all the cancelled checks received from the bank. This would mean searching and typing some of the line numbers. When I developed the program I decided to let the program do this work, so you will be asked if you want an updated "data" list of the outstanding checks.

If you have a mass storage device, you can store the data statements. The program lists all the outstanding checks in the required data format, including new line numbers. The program can then be updated by entering the information back into the program. All data statement numbers not stored will have to be deleted by hand. This is now an easier job because these numbers are at the end of the program and no searching by the operator is required. Also, don't forget to deduct the service charges from your checkbook balance.

Before developing this software I used to dread receiving "that envelope" from the bank, but now I actually look forward to it in spite of the fact that it requires a bit of effort to enter the required information into the computer."

210 June 1979 © BYTE Publications Inc

Circle 317 on inquiry card.

BITSOfl€STOPS€RVIC€

Attention Computer Dealers and Booksellers!

BITS Inc.'s ENTIRE BOOK INVENTORY AT WHOLESALE PRICES!

• More than 200 books to choose from

• More than 50 publishers represented

• Small press and self-published authors

• All books professionally reviewed

• Exclusive distributor for the BITS PROGRAMMER PAD

• Immediate shipment

• 800 WATS line number for fast service

• We service world wide

Exclusive from the BOSS

Because the BOSS is concerned with the needs of your customer, the microcomputer user, we have developed the BITS PROGRAMMER PAD™ — an ingenious form custom tailored to the 8080A, 6800, Z-80,1802, or 6502. Architecture is laid out with contiguous memory spaces to allow for critical memory allocations, data movement, tables, and stack manipulation.

The other side is for the program — with prenumbered lines and columns for addresses, object codes, labels, instructions, and comments. BITS PROGRAMMER PADS ™ are time-saving helpers for hand assembling programs.

Each 50 page pad is ot durable stock that will hold up to erasures, and is punched for a 3 ring binder. Makes programs easy to write, use, and understand. Retail is $2.50each pad.

8080A

See Vour Dealer for the

BITS PROGRBMMCR PAD

• • •

BltSE^"™'

(•"

--- =.-- 1 —■—

_K»_

—

-',

>-;—

;

■- ■ ■ —

-;-:

".

—

-

:i

|

_

-s

-

~"

■

-:

.

JL

—

±:

.

=

-.

-3

"

Reverse side

mc

BITS

Books to erase the impossible

PO Box 428

25 Route 101 West

Peterborough, NH 03458

TOLL FREE NUMBER:

800-258-5477

(in NH call 924-3355)

liYTt June 1979

211

Circle 160 on inquiry card.

THE CRITICS' CHOICE

TheFiretM

., or Microcomputers

KitoflWMy

SfggBi

COKtmtRS

1BSF

A CONSUMER'S GUIDE TO PERSONAL COMPUTING AND MICROCOMPUTERS

by Stephen Freiberger and Paul Chew Chosen by Library journal as one of the 100 outstanding sci-tech books of 1978 for general library collections! It offers both an introduction to personal computers and a product review of the available equipment. &5680-X, $7.95

THE FIRST BOOK OF MICROCOMPUTERS: The

Home Owner's Best Friend by Robert Moody "... excels in the quality of its cartoons, illustrations, diagrams, and layout. These supplement... the author's gift for lucid description and hands-on experience with personal computers." Library Journal #5121-2, $4.95

STANDARD DICTIONARY OF COMPUTERS AND INFORMATION PROCESSING,

Second Edition by Martin H. Weik "This volume, with its concise entries and extremely helpful cross-references, offers a compact overview of concepts in the computer field. "Booklist #5099-2, $17.95

See these and other Hayden titles at your local computer store.

DO

HAYDEN BOOK COMPANY, INC.

50 Essex Street Rochelle Park, NJ 07662

A Peek at Poke

M Parris

Dept of Chemistry

U of Victoria

POB 1700

Victoria BC

CANADA V8W 2Y2

Users of TRS-80 Level II BASIC will find the POKE function handy for the occasional manual patching of object programs. However, it's frustratingly slow and annoying to be forced into decimal notation. Listing 1 is a Level II BASIC program residing in upper limit statement numbers for a 16 K byte

65509 65510 65511 65512 65513 65514 65515 65516 65517 65518 65519 65520 65521 65522 65523 65524 65525 65526 65527 65528

65529

CLS:PRINTCHR$(14):L%=32767

GOSUB65512

POKEL%,D%:L%=L%+1:GOTO65510

GOSUB65528

IFA$=":"THENI%=1ELSEI%=0:IFI%=0GOTO65522

GOSUB65528

GOSUB65529

D%=A%*4096

GOSUB65528

GOSUB65529

D%=D%+A%*256

GOSUB65528

GOT065523

D%=0

GOSUB65529

D%=D%+A%*16

GOSUB65528

GOSUB65529

D%=D%+A%:IFI%=0THENRETURNELSEL%=D%:GOTO65512

A$=INKEY$:IFA$=""THEN65528ELSEPRINTA$;:IFA$=

" "THEN65528ELSEA%=ASC(A$):IFA%=10THEN65528E

LSEIFA%=13THEN65528ELSERETURN

A%=A%-48:lFA%<0THENSTOPELSEIFA%<10THENRETURN

E LSE A%=A%-7:1 FA%<16TH ENR ETURN E LSESTOP

Listing 1: Level II BASIC program for the TRS-80 which allows hexadecimal data to be loaded into memory.

10 X=32+RND(159):REM GET A RANDOM NO. BETWEEN 32 AND 191

20 FORJ=0TO1023:POKE15360+J,X:NEXTJ:REM Fl LL THE SCREEN

30 FORI=1TO1000:NEXTI:GOTO10:REM WAIT AWHILE AND DO IT AGAIN

Listing 2: Example of a program to fill the screen of the TRS-80 with graphic characters.

ORG 16526D

LOCATION OF USER FUNCTION ADDRESS

DW START

USER FUNCTION ADDRESS

ORG 3200Cm i

THIS LOOKS LIKE A NICE PLACE

DS1

DATA TO BE TRANSFERRED TO USER FUNCTION

START:

LXI H.32000D

GET THE DATA TO BE TRANSFERRED

MOV C,M

INTO C

LXI H.3C00H

VIDEO DISPLAY STARTS HERE (HEX)

LXI D.0400H

SIZE OF DISPLAY (HEX)

NXT:

MOV M,C

LOAD THE DATA FOR DISPLAY

DCR E

COUNT THE

JNZ EOK

REMAINING

DCR D

LOCATIONS IN

RZ

VIDEO DISPLAY

EOK:

INX H

AND FILLTHEM ALL

JMP NXT

WITH THE DATA

END

Listing 3: An assembly language program which can be called by the modified version of listing 2 to fill the screen quickly. Use the hexadecimal loader to put the object code of this program into memory.

212

lunc 1979 © BYTE Publications Inc

TRS-80 system, which enables fast keyboard entry of hexadecimal code.

The starting address is entered as :HHLL followed by the successive data bytes, which may be spaced as appropriate for clarity in on-screen checking. An invalid character causes a return to the COMMAND mode. The following trivial example illustrates its use.

Example

The BASIC interpreter is too slow for dynamic graphics, as the program in listing 2 illustrates. Run it and see how slowly the screen loads. Now replace statement 20 by:

20 POKE32000, X:X=USR(0): REM FILL THE SCREEN FASTER,

which calls the machine language subroutine in listing 3 to do the same job much faster. Insert the assembled object code using the hexadecimal loader, noting that memory size must now be less than 32000:

: 408E 01 7D

: 7D01 21007D4E21003C110004711DC2127D15 C823C30B7D

Now run the program again."

Clubs and Newsletters

Attention: Buffalo NY Apple II Owners

Gary Weir has written from Buffalo NY with information about a new Apple II users group in his area. Called the Apple Byters Corp, they are highly motivated to provide new owners of the Apple II with the help they may need to successfully program and utilize their investment. A booklet is currently being prepared combining insights and solutions to bugs previously encountered by the club's members. A copy and its updates are included in the $5 membership fee. Apple II owners or potential owners should contact Gary at 225 Walton Dr, Snyder NY 14226 concerning meeting times and locations.

Apple Bay Area Computer Users Society

ABACUS (Apple Bay Area Computer Users Society) meets the second Monday of each month at the Hayward BYTE Shop, 1122 B St, Hayward CA. They have an active membership of 40 and have developed a club library of 200 programs. They are negotiating to trade libraries with several other clubs. Membership is $12 a year which includes a

monthly newsletter. Contact Ed Avelar, president, at (415) 583-2431 or David Wilkerson, secretary, at (415) 482-4175.

Mexican Computer Club

We have been notified of the existence of a Mexican computer club. Called the Microcomputer Club, this group is primarily concerned with the Apple II and OSI products. They are interested in exchanging information and experiences with other computer groups. Contact Alfredo Buzali, fte de Quijote #5, Mexico 10, D F or call 5-89-22-79 between 7 and 8 PM.

Central Alabama TRS-80 Computer Society

Several TRS-80 users in Montgomery AL have formed the Central Alabama TRS-80 Computer Society. They are planning a club library, a local newsletter and a club computer. Another aim is to provide each new member with a membership package which would contain magazine subscription, blanks, addresses of hardware and software suppliers, and other information pertaining to the TRS

OVERBYTES AND UNDERPRICES THE COMPETITION

Introducing the

$5885. Complete with the fantastic UCSD Pascal Operating System

lbs pelasyslem

PASCAL OPERATING SYSTEM: The smoothest, most convenient operating system available, featuring a powerful screen oriented text editor, the fast PASCAL compiler, file and library handling system, linker, library, BASIC compiler, and more.

Z-80 MICROCOMPUTER: Northstar based 4 MHz S-100 microcomputer with 64k RAM, serial and parallel ports, dual Micropolis quad density (630 kbytes formatted) disk drives.

60 cps DOT MATRIX PRINTER: Centronics model 779 with tractor feed and paper stacker.

FULL FUNCTION INTELLIGENT TERMINAL: Microterm ACT-V, with addressable cursor, protected fields, erase to eol, erase to eos, reduced intensity, protected fields, much more.

RETAIL ibs PRICE

Microcomputer/Dual Drive/64k/Pascal $4695 $3995

Printer/tractor feed/paper stacker Terminal

$1250

$880 $6825

$1095

$795 $5885

Buy complete system and receive all cables and box of disks free.

independent business systems, inc. • 5476 Cleo Ct. • Livermore, CA 94550 • (415)443-3131

Circle 176 on inquiry card.

June 1979 © BYTE Publications Inc 213

80. The meetings are held on the third Tuesday of each month at various locations around Montgomery. Contact Walter F Bray, 2073 Rexford Rd, Montgomery AL 36116.

Newsletter for Sorcerer Owners

Orders are now being accepted for an independent user newsletter dedicated solely to the Exidy Sorcerer. The $15 subscription price includes all ten issues of volume one, and the first issue will be available around July 1st. The Source will include items of general interest to Sorcerer owners, such as program listings, how-to-do-it articles, and hardware and software reviews. Contact ARESCO, POB 1142,ColumbiaMD 21044.

Sorcerer Users Group

Computer Mart of Massachusetts has announced the formation of the Sorcerer Users Group. The purpose of the group is to set up a channel of communication between Sorcerer owners and to provide information on hardware and software developments to the Sorcerer user. The group has a membership of about 30 people. The $5 membership fee includes the monthly newsletter, The Exidy Monitor. Contact Computer

Mart of Massachusetts Inc, 1395 Main St, Waltham MA 02154.

North American Computer Association

The North American Computer Association (NACA) recently began its third year with a membership of approximately 20 independent businessmen in the computer systems field. One of the objectives of the organization is to increase the efficiency of each member's individual organization by pooling all the different programming developments and the selling and servicing techniques used by the various members. NACA meets once a month in Dallas TX, and interested businessmen are welcome to attend. Contact Tom Crites, Suite 811, 1001 Main St, Lubbock TX 79401.

Small Computer Users Join England's Central Program Exchange

The Central Program Exchange (CPE) at The Polytechnic, Wolverhampton, is opening its doors to users of small computers in an effort to coordinate the free interchange of programming. The Exchange has 72 members, and currently holds a library of over 200 programs in BASIC, FORTRAN and ALGOL. Individual members can obtain

READ THE MAGAZINE THE PROS READ.

For over 20 years DATAMATION has been the magazine for the data processing professional. Now DATAMATION magazine is available to hobbiests, business men, accountants, engineers, programmers ... anyone with a deep curiosity about the real world of data processing.

Written by the data processing professional for the data processing professional, DATAMATION magazine's articles cover a wide range of subjects . . . industry trends, "how to do it better" articles, budget and salary surveys, new computer applications, advanced technology, new products and services as well as a monthly department on personal computing.

Whether your interest in computers is for fun or profit, DATAMATION magazine has a world of information for you every month . . . plus an annual Special

Edition, the Industry Profile featuring the "DATAMATION 50" — the top U.S. DP companies.

*R

TECHNICAL PUBLISHING COMPANY A Dun & Bradstreel Company 35 Mason St., Greenwich, CT 06830 (203) 661-5400

FOR A ONE YEAR SUBSCRIPTION (13 ISSUES) SEND $32.

TO: SUZANNE A. RYAN

DATAMATION magazine 666 FIFTH AVENUE NEW YORK, NY 10019

Name

Address City

State/Zip.

DiWraMF^TIOIM.

magazine

CPE services for $10 per year. This entitles members to a catalogue, newsletter and up to ten CPE programs as listings or paper tapes. As the personal element expands, CPE also proposes to offer cassette versions at a small extra charge. Contact Dr G Beech, Central Program Exchange, Dcpt of Computing and Mathematical Sciences, The Polytechnic, Wolverhampton, ENGLAND WV1 1LY.

Software Magazine for Microcomputers

The Software Exchange magazine provides information about the latest software that has been developed. Included are reviews, abstracts and articles about software for today's microcomputers. The Software Exchange is published bimonthly. Subscriptions are $5 per year in the US, Canada and Mexico. International subscriptions are $19. Contact The Software Exchange, POB 55056, Valencia CA 91 355.

Free Newsletter Features Computer Product Marketing Information

Crossroads is a free periodic newsletter which highlights tools and techniques in selling software, data services and turnkey systems. Crossroads provides helpful hints, insights to trends, results of experiments and generally, the successes and failures associated with development, sale and support of computer based products. Contact Editor, Crossroads, Cross Associates, Suite 530, 9000 Keystone Crossing, Indianapolis IN 46240.

6800 Users Newsletter

The Chicago Area 6800 Users Newsletter is a monthly publication aimed at providing information and assistance to those users of the 6800 microprocessor. For further information, contact Phillip Schuman, 1354 Finley, Lombard 1L 60148. ■

BYTE's Bugs

A Computer by Any Other Name

A typographical error in "Build a Computer Controlled Security System for Your Home: Part 3" by Steve Ciarcia (March 1979 BYTE, page 150) may have caused some head scratching among our readers. The caption for figure 1 contained the following sentence: "Op amp IC2 is used as a computer to convert the output accordingly." The sentence should have read as follows: "Op amp IC2 is used as a comparator to convert the output accordingly." Mr. Ciarcia did not attempt to construct his circuit using a programmable op amp.i

214 lune 1979 © BYTE Publications Inc

Circle 94 on inquiry card.

Circle 320 on inquiry card.

Model 7801

Frequency Input Interface

for

Motorola M6800 Microcomputer Systems

FEATURES

It of TTL compatible iiip>*

* 16 W binary counter (BCD optional) " frequency Inputs lo 25 megahertz

' Mteh Mlecuble addren

' occnpiet onry one aiidmi in metnwy map

' EXORdstf' but compatible

" wide choice of Input connecton (edtje connector standard, pod header or DIP socket optional)

" »5 uoK tuppry onry

* umple loftttfare drtvent luppted wttti board

* solder mask both ikta: gold plated edge connectors ' assembled and tested or kn version* available

* very low coat - only * 249.00 In atn.

SIERRA CYBERNETIC SYSTEMS

PP.Box 20175 Heno, Nevada 69515 (702) 322-4563

Circle 32 on inquiry card.

SHOULD it be a Heathkit ?

Whether you are considering the purchase of an additional peripheral or your first computer you should know more about Heath's- computer products. Heathkit^ has a continuing commitment to selling well-documented computer kits and software. Are they for you? How can you find out?

Read Buss: The Independent Newsletter of Heath Co. Computers, where information on new products is printed as it leate out of Benton Harbor, not held back to suit a marketing plan. Buss is not a company-controlled publication, so it can deal with weaknesses of Heathkit^ products as well as their strengths. It features news of compatible hardware and software from other vendors. Every Buss issue has candid accounts of experiences of Heathkit^ owners. Results of their discoveries, which often include hardware modifications, save subscribers headaches—and money. That's proven by two years' experience. So Buss can guarantee a full refund any time you're not satisfied.

Buss is mailed first class (by airmail outside North America). The 24-issue subscription gives you the choice of starting with the latest issue or with available back issues (about 8 are still in stock). Send $ 8.00 for 12 issues or $ 15.25 for 24 (overseas, $10.00/l2j $19.25/24 US funds) to: Buss

325-B Pennsylvania Ave., S.E. Washington, DC 20003

The Independent Newsletter of Heath Co. Computers

PET WORD PROCESSOR

This program permits composing and printing letters, flyers, advertisements, manuscripts, etc., using the COMMODORE PET and a printer. Script directives include line length, left margin, centering, and skip. Edit commands allow the user to insert lines, delete lines, move lines and paragraphs, change strings, save onto cassette, load from cassette, move up, move down, print and type. The CmC Word Processor Program addresses an RS232 printer through a CmC printer adapter. The CmC Word Processor program is available for $29.50. Add $1.00 for postage and handling per order.

Order direct or contact your local computer store.

CONNECTICUT microCOMPUTER

150POCONO ROAD

BROOKFIELD, CONNECTICUT06804

(203) 775-9659 TLX: 7104560052

C/PM SOFTWARE TOOLS

ED-80 TEXT EDITOR

THE PROGRAMMER'S MOST IMPORTANT SOFTWARE TOOL — WHY NOT MAKE IT YOUR BEST?

ED-80 encompasses the features found on large mainframe and minicomputer editors, such as the IBM 370. CDC 170, UNIVAC 1100, and the DEC PDP-11 series computers, plus additional features designed for floppy disk based operating systems. It is a context editor which is compatible with C/PM and its derivatives, including IMDOS. DOS-A, CDOS, etc.

Over 50 commands are provided, including forward or backward LOCATE, CHANGE, and FIND commands: INSERT, DELETE, REPLACE, APPEND, PRINT, LIST, MACRO, upper and lower CASE, SCALE. TABSET, and WINDOW commands; and GET and PUT commands for repositioning, duplicating, concatenating, and managing text files and libraries. Sophisticated search and change techniques are provided for managing BASIC, FORTRAN, COBOL, PL/I, ALGOL, APL, PASCAL, ASSEMBLER. TEXT FORMATTED, and other file types.

The WINDOW command allows instantaneous full screen displays of both the current and surrounding lines for further editing, and provides for forward and backward scrolling in the full screen mode. Designed tor today's high speed CRT's and video monitors, the WINDOW command separates ED-80 from all other available editors, and is not hardware dependent.

Up to three MACRO commands may be defined for iterative execution of concatenated editor commands. Once defined, they may be subsequently executed, or recalled for observation. A MACRO may also be defined and executed in a single operation. Configurable parameters for tailoring the editor to the user's keyboard and environment are provided through the use of the C/PM Dynamic Debus Tool (DDT). The WINDOW. WINDOW NEXT, WINDOW PREVIOUS, NEXT LINE, and PREVIOUS LINE commands fall in this category. These commands are considered so important to text editing that only one key has to be depressed to cause any one of them to execute. A CURRENT LINE NUMBER is internally maintained by the editor for displaying when prompting for input and with certain other commands. Line numbers are dynamically adjusted as the result of line inserts and deletes, and may be used for positioning within the file. They are not stored or associated with the text in any manner. ED-80 is thoroughly documented with a User's Manual of over 35 pages describing each command and feature, and includes numerous examples. It is 9.5K bytes in size, and s minimum C/PM operating system of 20K is recommended. A User's Manual and standard size single density diskette are $69.00. A User's Manual is $7.50, refundable with purchase. COD and money orders shipped next day. COD orders require 10* deposit. Personal checks must clear before shipment. Include $2.00 shipping/handling per order.

SOFTWARE DEVELOPMENT AND TRAINING, INC. P. O. Box 4511 — Huntsville, Alabama 35802

C/PM* is a trademark of Digital Research

Circle 78 on inquiry card.

BYTE lune 1979

215

Languages Forum

Languages Forum is a feature which is intended as an interactive dialog about the 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 B YTE readers on the subject of languages. We ask that all correspondents supply their full names and addresses to be printed with their commentaries.

Comments on " A High Level Language for 8 Bit Machines "

Glen Newton

Sperry-Univac

Roseville MN 55113

"A High Level Language for 8 Bit Machines," by Ted Williams and Steve Conley (July 1978 BYTE, page 152) discusses the interpreter for a simple language. If we take the language as given and ignore minor errors in the examples and flowcharts (such as pushing a variable "near operand stack" rather than onto it), several substantial errors remain.

First, evaluation is claimed to start "in the innermost parentheses." Following the flowchart in figure 2 or table 2 or the example in listing 3 shows that this is not true, despite the incorrect annotation accompanying listing 3. Expressions are

evaluated from left to right until parentheses are encountered. In order for evaluation to begin within the innermost parentheses, in the language described in the article, each binary operator except the last would have to be followed by a left parenthesis. Since the programmer cannot define his own functions, the result of evaluation will be the same as if evaluation had begun in the innermost parentheses // the language's intrinsic functions have no side effects. Second, the claim that although interpretation provides some advantages, "the price paid for this feature is memory" is misleading. The combination of source code,

* North Star DOS and BASIC now fully supported on double density 8" drives. More than 500K storage per disk now possible.

TIMESHARING

for the Horizon—

The only true interrupt-driven, bank

switching timesharing software available

for the Horizon.

Supports as many as four 5%" drives, four 8" drives, and as many as four CRTs with 16 to 48 K RAM per CRT. Interrupts at 26 ms. Spooler and file locking to be supported in the near future.

Specify single (Release 4) or double density (Release 5).

Requires additional memory in computer.

A machine language program

on 5'/," disk $49.95

Complete business application software available. Write for additional information. Dealer discounts available.

216 June 1979 © BYTE Publications Inc

Thinker Toys dual density 8" drive and

controller $1149

Additional drives $795

8" disk drive connector software on 5V," disk included with drive(s) and controller without additional charge, or, separately $49.95

PerSci dual and quad density dual 8" drives to be supported in the near future.

Specify CPU clock speed and Release 4 BASIC or Release 5 BASIC.

North Star DOS and BASIC licensed for use with

North Star disk controller only. All software shipped on 5'/," North Star ONLY.

Write for information about COMPUCORP computers.

Micro Mike's PROGRAM LIBRARY

A one-time fee of $500 (soon to be increased) buys for the purchaser continuous unlimited access to the programs, updates and revisions in the PROGRAM LIBRARY.

In stock: Intertec Intertubes .. $874 ea.

Slightly used (demonstrator ADM-3A CRTs, full upper & lower case $695 ea.

JJMh

.62

Micro Mike's,Incorporated

905 South Buchanan

Amarillo, Texas 79101

806-372-3633

Circle 204 on inquiry card.

Circle 183 on inquiry card.

DP SUPPLIES?

FLOPPY DISKS

Standard or Mini 2.98 ea.

Memorex 4.50 ea.

32 Hard Sector (Shugart) 2.98 ea.

Micom Preformatted . 7.50 ea.

(Mm. order: 100 ea.)

Dual Density 4.25 ea.

Dual Sided 5.50 ea.

(Order in unils ol 20)

DIGITAL CASETTES

TRS-80(15min.) .... 1.49 ea.

ANSI (Notch) 4.90 ea.

Key

Call

Do'.

G.E 5.20 ea.

NCR. 300' 5.00 ea.

Standard (no notch) . 4.90 ea.

Nixdorf 4.90 ea.

Datapoint 4.90 ea.

Others available, similar savings.

RIBBONS

Blue & Brown Ribbons 32.95 doz.

Qume or IBM 6240 Type 29.95 doz.

{New hi-yield. excellent quality)

TERMS: First-time customers send check with order to avoid credit check delay. VISA/Master Charge accepted.

ORDER NOW FROM JOHN RICHARDS

KEY SUPPLY

2101 S. IH35, Suite 300

Austin, TX 78741 (512)443-1347

All products from major manufacturers fully guaranteed. No limit while quantities last.

OMSI . PASCAL

Reliable, efficient, production Pascal compiler for the DEC PDP-11 family, including the LSI-11.

Full Language

All elements of Standard Pascal, including the capabilities not found in student Pascals. Extensions for complete lowlevel control with direct memory and I/O device access, embedded assembler code, FORTRAN procedure interface.

Production

Integrated with DEC operating systems (RSTS/E, RT11, RSX, IAS). Compatible with existing file structures, editors, and utilities. Interactive symbolic Debugger with breakpoints and full trace.

Performance

Fast one-pass compiler runs in I6K words (32KB|, translates thousands of lines per minute. Produces compact PDP-11 code that runs circles around interpretive or threaded languages.

Proof

In production use since 1975 — now at more than 300 customer sites. Warranted for I year after purchase.

Whte for information, demonstration, manuals, and benchmark.

2340 SW Canyon Road Portland, Oregon 97201 (503) 226-7760 TWX 910-464-4779

minicomputer

dot

inc.

DEC, PDP, RSTS, RT-11, RSX. IAS, and LSI-11 are trademarks of Digital Eq. Corp

HARD DISC FOR S100 MICROS

The XCOMP DCF-10 Disc Controller provides the OEM with a high performance, low cost interface for fixed and removable (2315 or 5440) cartridge disc drives. The DCF-10 is currently supported by two operating systems. For information or manuals, contact XCOMP.

XCOMP

INCORPORATED

9915-A Businesspark Ave., San Diego, CA 92131 • (714) 271-8730 Circle 392 on inquiry card.

BYTE

BACK JS6U1S6

FOQ MLE

The following issues are available:

July, November, 1976; March, May thru September,

November and December, 1977; February thru October,

1978; and January, February and May, 1979.

Cover price for each issue thru August '77 is $1.50 plus

25Q postage and handling ($3.50 total foreign).

September '77 thru '79 issues are $2.00 plus 50C

postage and handling ($4.00 total foreign). Send requests with

payment to:

BYTE

Publications

70 Main St.

Peterborough

NH

03458

Attn:

Back Issues

HYTt lune 1979

217

ThE

BioNic Ear

A landmark book by John L Stewart, with technical information never before available. Based on years of research with partial support through the original Air Force Bionics program of the 1960's.

Now you can understand and build devices that behave like the human ear-or a thing called "Hal".

Speech recognition for the robot Aids for the deaf and deaf-blind Reliable voice control Speech bandwidth compression Speech security Binaural localization Bat-like echoranging Sonar target recognition Control of animals with sounds Language training Speech enhancements and much, much more...

Hardware representations give new understanding of man-not only how, but also why the ear works as it does.

A far-reaching new theory-complete-sophisticatedpowerful-destined to influence not only computers, but also concepts in physiology for decades to come.

This new and invaluable information for only $35.00 plus postage and handling. ($1.50 regular or $4.00 priority or UPS Blue in USA and Canada. Other countries add $12.00 for air or $3.50 surface, all U.S. funds.) California residents also add 6% sales tax. Send check, money order, or VISA or Master Charge number (and expiration date). Phone orders accepted. Credit only on approval.

COVOX PublishlNq P.O. Box 2342 Orcutt, CA93454 • Tel.: (805) 937-9545

data, tables, and the interpreter program is often smaller than the compiled code and data, particularly if the source language is a powerful one, like APL, or contains space consuming operations not supported by hardware, such as AtB, where A and B are floating point numbers.

Third, the language presented in the article allows nested DO loops, but the use of UNTIL in this context can lead to problems since an UNTIL within two or more loops is not syntactically connected with a specific loop. For example, the second UNTIL statement in example 1 could express the programmer's intention to leave either the inner or the outer loop when the condition is satisfied. Defining the UNTIL statement semantics to require exit of the innermost enclosing loop when the condition is satisfied solves this problem but it does not correct the flaw in the DO routine in figure 5 of the article. When an UNTIL condition is satisfied, the interpreter seems to search for the first available ENDDO, rather than the matching one. In generai this will not work properly, as illustrated by considering the first UNTIL statement in example 1.

DO

UNTIL conditionl

DO

UNTIL condition2 _ENDDO _ENDDO

Example 7.' Nested DO loops.

Fourth, the authors claim that "the lack of statement labels excludes the possibility of errors caused by not nesting DO loops within each other (which is possible in a language like FORTRAN)." In fact, the possibility exists; just take any appropriate FORTRAN nonnested, overlapping DO loop example and remove the statement numbers to see how the error is possible. The difference is that with statement numbers or labels the compiler or interpreter would have sufficient information to detect the error; without them the error must go undetected because the resulting program is syntactically correct.

218

June 1979 © BYTE Publications Inc

Circle 82 on inquiry card.

Fifth, like the factorial function which is presented to illustrate recursion in programming primers, the use of recursion to find matching ENDIFs during interpretation is unnecessary overkill. The nonrecursive use of an "unmatched IF" counter is adequate and conceptually simple. Furthermore, it avoids the problem that "care must be taken in allocating and preserving local data within SEARCH during recursion."

Finally, although APL, like the language presented in the article, does not use operator precedence within expressions, APL expressions are evaluated from right to left, not left to right. Furthermore, APL has numerous nonstandard operators, providing some justification for its no precedence evaluation; in contrast, the language pre

sented has only standard arithmetic operations plus functions. Thus the claim that the use of precedence in this language would lead to confusion is probably unfounded. Probably the best justification for the decision to have no precedence is that it simplifies implementation somewhat. However, the authors' claim that "this procedure minimizes the size of the stack" is incorrect, as shown by example 2. The FORTRAN expression A - B * C requires parentheses to be expressed in a precedenceless language. The parentheses, in turn, require an extra level on the operator stack (in general, one for each level of nesting). Example 2 shows that a precedenceless language can, for some expressions, require more, not less, stack space than a language using precedence."

Language

Expression

A - B * C A -(B * C)

Of Stack I

>erat Max

* *

(

or mum)

Oper, (Ma

ind Stack ximum)

C

FORTRAN

B

A

precedence

C

less

B

language

A

Example 2: Stack size comparison.

Olcnlating with

BASIC

Special Offer

Now you can have a good laugh on us! That's right. If you buy Calculating with BASIC now, you'll get our hilarious book, Take My Computer ... Please! at 1/2 price — that's $3 off, on us! And you'll be sure to laugh. With SCELBI's BASIC routines working in your computer, you'll have plenty of time to enjoy the kneeslapping humor of Take My Computer ... Please! Order now. That's Calculating with BASIC for only $7.95; Take My Computer ... Please! just $2.95 additional (sold separately for $5.95).

Calculating with BASIC

Here's a variety of programs in BASIC language to help the student, scientist, engineer, technician or hobbyist apply the language to practical problems. Covers mathematics, finance and statistics, mechanical engineering and electronics. For fun between such serious applications. Hangman and Space Capture games. Special offer, both books $10.90* No. 32 Cal/BASIC only $7.95* No. 30

PIMS

Pergonal InforntattoB Management System

Personal Information Management System

Plain talk on what a computer can do for you. How to use a

i..,.««.„.,....i..,i computer with

liSYiSSBsSsSS' out knowledge of ~=*™.™"™"" programming. 15

examples include personal mailing list, accounts payable — even an intelligent ham radio log. For the TRS-80, PET and others. $9.95* No. 10

^SCELBI Publications, P. 0.

Box 3133, Milford, CT 06460 203-874-1573

'IMPORTANT ORDERING INFO! Include 75 cents postage/h Prices shown are for North American customers. Master Charge Bank Money Orders preferred. Personal checks delay shipping u

andling for each item. VISA, Postal and p to 4 weeks.

□ No. 10 DNo. 30 DNo.

32

Name (please print)

Card No.

Bank No.

Exp.

Address

City/State

Zip

Signature

Amt. Enc.

Circle 318 on inquiry card.

June 1979 © BYTE Publications Inc

219

Languages Fopum

SNOBOL Conquers All?

Bruce Burns

3852 Amundson Av

Bronx NY 10466

In my experience (at the Bronx High School of Science and at home with my own 6502 system) the most enjoyable part of computing is the coding of algorithms. I know several languages, and I find some beauty in almost every language. The languages I know are BASIC, FORTRAN, LISP, APL, PL/I, and SNOBOL4. BASIC has simplicity, FORTRAN has the virtue of speed (FORTRAN compilers have developed quite a bit over the years), LISP has a straightforwardness unparalleled in most other languages; PL/I has the virtue of strong structure, and while I know almost no Pascal, it is obvious that it, too, shares this virtue. APL has sheer array processing

IMMEDIATE DELIVERY

Domestic & Export

DEC LSI-11

COMPONENTS

A full and complete line with software support available.

mini Computer Suppliers, Inc.

25 CHATHAM ROAD

SUMMIT, NEW JERSEY 07901

SINCE 1973

(201) 277-6150 Telex 13-6476

power and great elegance with its implicit looping and other simplifying features. And, finally, I get to SNOBOL4, by far my favorite.

I feel that SNOBOL4 is one of the most powerful languages in existence. Like APL, it is loaded with elegance and implicit looping, and, also like APL, it lacks the standard structures for repetition of BASIC, FORTRAN, PL/I, and Pascal such as the FOR-TO or DO loops. These structures are not needed as much in SNOBOL4 programs. In addition, the language is powerful enough to permit user defined functions which are implementations of these structures. An example of the powerful implicit looping coupled with some explicit looping is the following statement, which will (in the full scan mode) permute the characters in the string S so that they are in increasing lexical order. This is useful in certain applications which involve set operations:

LEX_ORD S LEN(1) $ A LEN(1) $ B *LGT (A,B) = B A :S(LEX_ORD)

SNOBOL4's major feature is its dexterity with string manipulation, particularly the operation of pattern matching (ie: the language is good at scanning strings; looking for patterns; and processing them when found). But in addition to these capabilities, SNOBOL4 yields considerable power with respect to data manipulation. I know of no other language (not even APL, which specializes in array manipulation) that allows an array to have an integer in one element, a real number in the next, a string in the next, another array in another, itself in still another, etc. One may put any datatype into anything, and one may also create user defined datatypes if desired. The reaction of some people to all this is indifference, but they are missing the point; the best part is knowing you can do it. Besides, one of the most important applications of a language of SNOBOL4's string processing capabilities is implementation of experimental languages, and with these other abilities, one may create all sorts of arbitrarily complex languages.

While all these abilities may seem confusing at this time, when they are fully understood they are simple to use and the good programmer will soon master them. Opponents to the language say they feel that the language's power invites unstruc

220

: 1979 © [SYTE Publications Inc

Circle 236 on inquiry card.

Circle 205 on inquiry card.

tured programming because facilities such as run time symbol tables and run time SNOBOL4 code compilation are easy powers to get carried away with. But if programmers take the time and care to know the language they are programming in, they will be in full control. It is possible to create wellstructured functions which even redefine themselves during execution. This can simplify a program considerably, but it must be done carefully or the program will be an undebuggable mess.

I recently wrote a function in SNOBOL4 that takes the inner product of arrays of arbitrary dimensions-that is, of any size and any number of dimensions. In APL, this function is a primitive (built-in) function, but I challenge anyone to produce the same in BASIC, FORTRAN, or PL/I. Like APL's generalized inner product, my function allows any two operations to be utilized in the formation of the product array. The definition in SNOBOL4 is easily followed. Upon call, the function goes through some initialization, then redefines itself and calls itself recursively for each dimension of the involved arrays. In this manner, it is evident that the function will work as well for multidimensional arrays as for vectors, and verifying it for vectors is very easily done. This function is a good example of the freedom with which SNOBOL4 processes all sorts of datatypes.

I cannot deny that SNOBOL4's powers may be easily abused, so I must warn that it is a language only for programmers who can discipline their own thinking and don't need a computer language to force them to do so. For those people, SNOBOL4 will perform amazingly well.

SNOBOL4 has remained a language found only in large batch computers for too long. It is time to introduce it to the personal computer enthusiast, who can use its great powers to his or her own ends. (It has been found that SNOBOL4 is extremely good for game programming.) And so, any fellow BYTE reader who knows and loves SNOBOL4, please join me in my crusade for SNOBOL4 on microcomputers. I am aware of the fact that there are real reasons why SNOBOL4 has thus far run only on large computers, but these troubles must be overcome. I also hope I have sparked interest in any potential SNOBOL4 users reading this. If what I have described intrigues you, look into the language. You won't be sorry."

its ytes ooks. argains

IMSAI • Cromemco • SWTPC •

Lear-Siegler • Problem Solvers •

RCA • North Star • Verbatim •

ALPHA Micro Systems and others

Fast, off the shelf delivery.

Give us a call TOLL FREE

800/523-5355

MARKETLINE SYSTEMS, Inc.

2337 Philmont Ave., Huntingdon Valley, Pa. 19006 215/947-6670 • 800/523-5355

Dealer Inquiries Invited

the ULTIMATE in CHEAP VIDEO

BOOK & KIT ONLY $42.95

Don Lancaster's "Cheap Video"concept allows almost unlimited options, including:

* Scrolling- Full performance cursor.

* Line/Character formats of 16/32, 24/80, 32/64.... or almost anything.

* Graphics-up to 256 X 256 B&W; 96 X 128 COLOR

(requires low-cost option modules 1

* Works with 6502 , 6800 and other micros.

SPECIAL OFFER: Buy the Kit Cupper case alphanumeric option included) & get the Book at 1/2 price.

, ELECTRONICS, DEPT.6-B, 1020W. WILSH1RE BUD.. OKLAHOMA CITY. OK 73116

I'm Sold, PLEASE RUSH C)SEND FREE CATALOG

C 5 TVT-6 5/8 Kit & Cheap Video Cookbook $42.95 (enclosed) C ) TVT-6 5/g Kit only Cbook required for assembly) -$39.95

address:, city:

. state:

zip:

ELECTRONICS DEPT. 6B, 1020 W. WILSHIRt BLVD.. OKLAHOMA CITY. OK 73116

Circle 297 on inquiry card.

June 1979 © BYTE Publications Inc 221

Random Comments

David Thornley

2600 Bryant Av S, #205

Minneapolis WIN 55408

In the September 1978 BYTE ("Letters," page 17), Scott Johnson inquired about the production of random numbers, particularly hardware-generated ones. The first and foremost consideration in generating and using random numbers is to access Donald E Knuth's The Art of Computer Programming: Volume 2, Seminumerical Algorithms. Most of what I am going to say is derived from there.

First, beware of assuming that a process, whether hardware or software, produces random numbers simply because the process by which it produces numbers is incompletely understood. If you wish to use such a source, test the results for randomness using every test you can think of. There are many good ones in Knuth's book. The Z-80 refresh register, by the way, can be a good source for one random number, but is not recommended for more

At Last!

HIGH RESOLUTION S-100 GRAPHICS

$925

Complete interface Assembled and tested Onboard memory Standard video output Monitor extra

FOB Cambridge

Unretouched photograph

• LIGHT PEN

• HIGH RESOLUTION

• 51 2 X 640 MATRIX

• S-100 PLUG-IN HIGH SPEED SOFTWARE

Send for brochure and data

CAMBRIDGE DEVELOPMENT LAB

44 Brattle Street. Cambridge. MA 021 38

I Call (61 7) 547-3894

than one. As far as I can tell, the refresh counter is incremented every time an instruction fetch occurs, which makes it rather deterministic, although if a variable delay is imposed (such as waiting for an entry from the keyboard) it could be used.

For outside randomness, just look around you. Plug your computer into your stereo receiver, set the selector to AM, find a frequency away from any broadcasts, and fiddle with the volume until you get random bits from the static. (To even out the distribution of low and high bits, take the transitions from low to high and high to low as your bit input — in other words, take 2 bit signals, throw out 00 or 11, and treat 01 as 0 and 10 as 1.) This may or may not work, but if it does work it is a quick way to randomness. Give some thought to encouraging noise in the system. Read random numbers off the cassette of your favorite rock group .. . be creative.

For those, like myself, who know something about programming but are lost with hardware, this formula is taken from Knuth's book cited above:

"Xn + 1 = (a x Xn +c) mod M"

where M is the word size you are using (probably hexadecimal 10000), a is between hexadecimal 300 and 7C00, and has 5 or D as its last digit, and c is odd and somewhere in the neighborhood of hexadecimal 3800. The calculation must be performed exactly, which is much easier in assembler than in BASIC; in the former, one merely disregards the inevitable overflow. Starting with X0 at any initial value, this will give a long series of good pseudorandom numbers. Finally, for people with RND functions, here are several tips: Generating random numbers until the user hits the BREAK key (or otherwise inputs something) is a great way to get a random seed as long as the system does not somehow reinitialize the seed before the program uses the random numbers. Or, to make an intrinsically questionable generator work, throw out a random number of numbers as follows:

LETJ = INT(10*RND(0)+1) FOR 1=1 TO J LETX=RND(0) NEXT I

This would fit well in a program as a subroutine, to be called whenever a random number was desired.

I hope this information will be of use to some people."

222

lune 1979 © BYTE Publications Inc

Circle 40 on inquiry card.

Eveat Gueue

June 2, University of Wisconsin — Parkside Computer Fair III, Kenosha Wl. Contact Don Piele, UW-P Computer Fair III, University of Wisconsin-Parkside, Kenosha Wl 53141.

June 3-6, 1979 International Summer Consumer Electronics Show, McCormick Place, Chicago IL. This show serves as the marketplace for the entire consumer electronics industry. Contact Consumer Electronics Show, 2 Illinois Center, Suite 1607, 233 N Michigan Av, Chicago IL 60601.

June 4-5, Computer Cryptography, Massachusetts Institute of Technology, Cambridge MA. Instruction in the Data Encryption Standard and the new public key cryptographic systems will introduce a working knowledge of the use of cryptography in computer applications. Managers and operators of computer systems will also become acquainted with economic and implementation issues as well as techniques for using this new science in communication networks. Contact MIT, Center for Advanced Engineering Study, Cambridge MA 02139.

June 4-6, Laser Beam Information Systems, New York NY. This seminar will cover the application of laser technology to image and data manipulation in the form of scanning, transmission and reproduction. It will lead the student through the principles and practices of laser beam information systems in preparation for direct application to such fields as facsimile, computer memory and display, target identification, reconnaissance, photo composition, and image manipulation. Contact The University of Chicago, Center For Continuing Education, 1307 E 60th St, Chicago IL 60637.

June 4-7, 1979 National Computer Conference, New York Coliseum, New York NY. NCC '79 will feature a premier showcase of the state of the art in computing and data processing. Leading organizations, large and small, will show the latest equipment and services in approximately 1500 booths. More than 100 program sessions are planned, emphasizing the four major areas of management, applications, science and technology, and social implications. In conjunction with NCC '79, a Personal Computing Festival of commercial exhibits, application demonstrations, and technical sessions on microcomputer systems and applications will be held at the Americana Hotel. Contact NCC '79, c/o American Federation of Information Processing Societies Inc, 210 Summit Av, Montvale NJ 07645.

Paper bags may be fine for lunches. But, they offer poor protection for your programs and data.

Carry media in specially-engineered En Route cases. They guard data against contaminants and impact.

If your data merits more care than your lunch does, consider an En Route™ case from Inmac.

Around town or around the world, you can't cart media in a paper bag. But what else is there? Have you ever tried to jam a multi-platter pack or 10 tapes into a suitcase?

Four reasons why En Route cases help defend your data in transit.

1. Rugged high-impact housing is ribbed on top for rigidity, strength and fast identification. And the inside foam resists sudden impact.

2. Security of a lock and aluminum tongue-in-groove valance that keeps out moisture and debris.

3. Compact enough to take on a plane and easily store under your seat.

4. Guarantee. Use the case for 45 days. If you're not satisfied, return it

to Inmac (formerly Minicomputer Accessories Corporation).

Metal handle, riveted on. Foam lining and removable dividers resist impact.

Lock for more security. Top ribbing adds strength

2721'X: For disk cartridges, packs. Holds up to 5

front-loading cartridges, 3 top-loaders, or one single,

multi-platter disk pack.

2722-X: For disk 2721-X 7777 v

cartridges, packs.

Holds up to 2 car- ^g \ 2711-X

tridges or one yplatter

pack.

2711-X: For mag

tape. Holds 10 of

any length.

Order today, call...

operator 250 toll-free at

800-543-3000

(in Ohio 800-582-1364)

□ 2721-X @ $67.00*

□ 2722-X @ $52.00* D 2711-X @ $52.00*

For free catalog, circle reader service number below.

*Freighl charges extra unless check accompanies order. In CA, VA and NJ, add sales tax.

...or use this handy coupon.

Name

Company

Address

City_ State _

. Zip_

□ Check enclosed (we pay freight).

□ Bill my company, P.O. no

Inmac

Dept. W

130 S. Wolfe Rd. Sunnyvale, CA 94086

□ Charge my □ VISA □ M/C acct.

number

expiration date

Circle 178 on inquiry card.

June 1979 © BYTE Publications Inc

223

June 6-8, Twelfth Annual Association of Small College Computer Users in Education Conference, Denison University, Granville OH. Sessions will include the presentation of papers, demonstrations of the educational use of microcomputers, computer text book surveys, discussions with authors of computer texts, administrative uses of computers in small colleges, and a tutorial on microprocessors. Contact Douglas Hughes, Computer Center, Denison University, Granville OH 43055, (614) 587-0810.

June 6-8, Eighth Annual Conference of the MUMPS Users Group, Marriott Hotel, Atlanta GA. Papers will be presented on all aspects of MUMPS development, implementation, and use. Contact Judith Faulkner, Program Committee, Department of Psychiatry, Clinical Sciences Ctr, 600 Highland Av, Madison Wl 53792.

June 6-8, Computer Contract Negotiation, New York NY. This three day course is designed to give participants sound answers to the complex ramifications of preparing and negotiating computer contracts. Contact Brandon Consulting Group Inc, 505 Park Av, New York NY 10022.

June 11-13, Minicomputers and Distributed Processing, Chicago IL. This seminar will examine the uses, economics, programming, and implementation of minicomputers. Contact The University of Chicago, Center For Continuing Education, 1307 E 60th St, Chicago IL 60637.

June 13-15, Computer Applications in Industry, Grenoble FRANCE. This symposium is intended as a forum for the discussion of recent advances in the applications of computers to industrial processes. The symposium will cover basic problems in computer science as related to industrial applications. Contact ALPES Congres, Avenue d'lnnsbruck, 38029, Grenoble-Cedex, FRANCE.

June 19-21, International Microcomputers/Minicomputers/Microprocessors '79, Palais des Expositions, Geneva SWITZERLAND. Focusing on the changing state of the art in mini/microcomputers and microprocessors, the 1979 conference program will probe advances in systems and equipment with emphasis on practical applications and uses of minicomputers and microcomputers as well as the techniques important to their development.

June 19-23, First Annual Meeting of The American Association of Physics Teachers, New Mexico State University, Las Cruces, NM. The theme of this meeting will be the use of microcomputers in physics teaching. Contact American Association of Physics Teachers, Graduate Physics Building, SUNY at Stony Brook, Stony Brook NY 11 794.

June 20-22, The 1979 Symposium of the Wilmington Section of the Instrument Society of America, University of Delaware, Newark DE. The symposium theme: "Measurement Technology for the 80s," is being programmed by three of ISA's divisions: Process Measurement and Control, Analysis Instrumentation, and Water and Waste Water Industries. Contact A H Straightiff, E I DuPont de Nemours and Co Inc, (302) 366-3810.

June 25-26, Forum on Information Resource Management, Drake Hotel, Chicago IL. Addressing the theme: "Information Resource Management in the Years of Change," the forum will provide an outlook for the next decade in terms of information systems technology. Contact Ken Burroughs, DBD Systems, 1500 N Beauregard St, Alexandria VA 22311.

June 25-29, Applied Numerical Methods, The University of Michigan, Ann Arbor Ml. This course is intended for individuals in industry and branches of the government who wish to acquire a working knowledge of fundamental numerical methods. Emphasis will be placed on computer solutions to practical engineering and scientific problems. Contact Engineering Summer Conferences, 400 Chrysler Ctr, North Campus, The University of Michigan, Ann Arbor Ml 48109.

June 27-29, Data Processing Operations Management, Toronto Canada. This seminar will emphasize the management skill and techniques applicable to the data processing operations function. Contact The University of Chicago, Center For Continuing Education, 1307 E 60th St, Chicago IL 60637.

June 27-29, Machine Processing of Remotely Sensed Data, Purdue University, W Lafayette IN. The symposium will focus upon the theory, implementation and novel applications of machine processing of remotely sensed data. Contact Purdue University, Laboratory for Applications of Remote Sensing, 1220 Potter Dr, W Lafayette IN 47906.

July 9-20, Computing Systems Reliability, University of California, Santa Cruz CA. Contact Institute in Computer Science, University of California Extension, Santa Cruz CA 95064.

July 11-13, Microcomputer Applications, Southern Technical Institute, Marietta GA. See August 1-3 for description. Contact Dr Richard L Castellucis, Southern Technical Institute, Electrical Engineering Technology Dept, 534 Clay St, Marietta GA 30060.

July 16-27, Introduction to Digital Electronics and Microcomputer Interfacing, Lexington VA. This hands-on laboratory course is for academic and industrial personnel. There will be approximately 60 hours of laboratory

instruction with one microcomputer laboratory station for each two participants. Contact Prof Philip Peters, Dept of Physics, Virginia Military Institute, Lexington VA 24450.

July 19-20, BASIC: A Computer Language For Executives, New York NY. Executive computing will be discussed, including problem solving, planning, forecasting and database systems. Also to be covered are programming fundamentals, the mindless computer, sequence, decision and iteration, computer languages and BASIC. Contact American Management Associations, 135 W 50th St, New York NY 10020.

July 23-27, Finite Element Method In Mechanical Design, The University of Michigan, Ann Arbor Ml. This course is intended for engineers working in mechanical design where knowledge of stresses, displacements, or vibratory motion is important. No previous experience with finite elements is assumed. The course will familiarize the attendee with finite element modeling concepts and will review the fundamentals on which the method is based. Contact Engineering Summer Conferences, 400 Chrysler Ctr, North Campus, The University of Michigan, Ann Arbor Ml 48109.

August 1-3, Microcomputer Applications, Southern Technical Institute, Marietta GA. The emphasis of this seminar will be on the applications of microcomputers in industry. Software, hardware and interfacing techniques will be discussed. Contact Dr Richard L Castellucis, Southern Technical Institute, Electrical Engineering Technology Dept, 534 Clay St, Marietta GA 30060.

August 6-8, Pattern Recognition and Image Processing, Hyatt Regency O'Hare, Chicago IL. This conference is sponsored by the Machine Intelligence and Pattern Analysis Committee of the IEEE Computer Society. The program will consist of submitted and invited papers and a large trade show of graphics and image processing equipment. Contact PRIP 79, POB 639, Silver Spring MD 20901.

August 8-10, SIGPLAN Symposium on Compiler Construction, Boulder CO. This symposium will consider methods of constructing compilers and experiences with them. The emphasis will be less on theoretical methods and more on techniques applied to real compilers. Contact Prof Leon Osterweil, Dept of Computer Science, University of Colorado, Boulder CO 80309.

August 8-10, First Annual Conference on Research and Development in Personal Computing, Hyatt Regency O'Hare, Chicago IL. This conference is sponsored by the Association for Computing Machinery (ACM) Special Interest Group on Personal Computing (SIGPC). A large trade show of personal computer and graphics equipment is planned to

224

June 1979 © BYTE Publications Inc

accompany an assortment of papers, panels, user group meetings, workshops, and person to person poster booths. Contact Bob Gammill, Computer Science Div, Dept of Mathematical Sciences, 300 Minard Hall, North Dakota State University, Fargo ND 58102.

August 13-15, Conference on Simulation, Measurement and Modeling of Computer Systems, Boulder CO. This conference will feature performance prediction techniques employed during the design, procurement and maintenance of computer systems. It will provide a forum for both applied and theoretical work in the disciplines of performance monitoring, modeling, and simulation of computer systems. Contact Gary Nutt, Xerox PARC, 3333 Coyote Hill Rd.Palo AltoCA 94304.

August 13-16, Q-GERT Network Modeling and Analysis, Ramada Inn, Lafayette IN 47905. This course will provide the attendee with the information necessary to model complex systems using Q-GERT. Emphasis will be on the procedures for modeling and analysis. Contact Pritsker and Associates Inc, POB 2413, W Lafayette IN 47906.

August 13-17, High Speed Computation: Vector Processing, The University of Michigan, Ann Arbor Ml. In this course, the architectual, software, and algorithmic issues of vector architecture are coordinated through the discussion of concepts in computer architecture, and by detailed study of current vector processors and their use. Contact Engineering Summer Conferences, 400 Chrysler Ctr, North Campus, The University of Michigan, Ann Arbor Ml 48109.

August 19-22, International Conference on Computing in the Humanities, Dartmouth College, Hanover NH. This conference is intended to foster computer research and technique in all areas of humanistic study, to promote international cooperation in the development of programs, data banks, and equipment, and to make the results of research available. The program will include a plenary session each evening and shorter sessions during the day. Contact Stephen V F Waite, Kiewit Computation Ctr, Dartmouth College, Hanover NH 03755..

In order to gain optimum coverage of your organization's computer conferences, seminars, workshops, courses, etc, notice should reach our office at least three months in advance of the date of the event. Entries should be sent to: Event Queue, BYTE Publications, 70 Main St, Peterborough NH 03458. Each month we publish the current contents of the queue for the month of the cover date and the two following calendar months. Thus a given event may appear as many as three times in this section if it is sent to us far enough in advance.

BYTE's Cits

Call for Papers

The Thirteenth Meeting of the Hawaii International Conference on System Sciences will be held January 3 thru 4, 1980 at the llikai Hotel in Honolulu HA. Papers on either theory or practice in the broad areas of computer hardware and software, and advanced computer systems applications may be submitted. Special emphasis will be placed on medical information processing and decision support systems for upper level managers in organizations. The papers will be refereed and printed in the proceedings of the conference. Three copies of the full text of each paper should be sent to Dr Ralph H Sprague Jr, College of Business Administration, University of Hawaii, 2404 Maile Way, Honolulu HA 96822 and must arrive by July 13 1979. Notification of acceptance and those papers to be presented will be mailed by September 15 1979. The conference is sponsored by the Department of Decision Sciences, the Department of Electrical Engineering, and the Department of Information and Computer Sciences at the University of Hawaii in cooperation with the ACM.

Pictures from Space?

People interested in receiving satellite picture images (such as weather maps) would do well to read the 1968 NASA document number NASA SP-5079. The document, entitled Constructing Inexpensive Automatic Picture-Transmission Ground Stations by Charles H Vermillion, was possibly the first report aimed at inexpensive receivers. As stated in the report summary:

This report describes how one can procure or build the antenna, FM receiver, and other components for an Automatic Picture Transmission (APT) ground station. Detailed drawings and parts lists are included. Installation, alignment, and operation of the APT ground station are also described.

When the report was published in 1 968, compatible satellites were expected to be operational until 1972 although future extension programs were planned.

The information contained within the report gives enough background to get the serious hobbyist started on a current set-up if updated information can be found. We would be interested in hearing from anyone with current information.

Build The World's Most Powerful 8-Bit Computer

Featuring The Famous Intel 8085!

Explorer/85™

Starting for just $129.95 you can now build yourself a sophisticated, state-of-the-art computer that can be expanded to a level suitable for industrial, business and commercial use. You learn as you go... in small, easy-to-understand, inexpensive levels!

As featured in POPULAR ELECTRONICS

EXPLORER/85 shown with Video Monitor and Keyboard/Video Terminal

CHOICE OF HEX KEYPAD OR TERMINAL INPUT

II you plan 10 customize EXPLORER lor dedicaled use. we recommend thai you order hex keypad input Bui. if you are planning to go whole nog and blow EXPLORER up mlo a lull size. siated-lbe-art system wilh BK or extended Basic (coming soon) up lo 64K of memory, lloppy disks, telephone interface printers. and all sorts oi S-100 plug-ins—you II be better oil with the Keyboard /Video terminal input The Si 49 95 EXPLORER Keyboard/Video Termna! includes lull ASCII decoding with 12S ASCII upper/lower case set. 96 printable characters, onboard regulators and selectable display tormats—32x16 tor lv sel or 5-1x16 lor video monitor (not included) EXPAND EXPLORER, LEVEL-BY-LEVEL

Level "B", al $49 95. adds S-100 signals plus onboard RAM/ROM decoding Includes all pans necessary lo generate ihe signals lor S-100 bus accessories Just add two S-100 bus conneciors and you have a complete S-100 compatible computer wilh a world ol add-ons al your 'ingerlips Choose Irom hundreds ol producls to EXPLORER/85 gives you big computer leatures immediately, without turning you satisfy your individual needs Level B kit also includes Ihe address decoders (01 into an appliance operator doomed lo run pre-developed software lor Me Simply or,board RAM and ROM expansion, which are addressable anywhere in trie 6^K field conned EXPLORER to a terminal video monitor or tv set and 8 vol I power supply and i_Bvei ■x'1 expansion, al $39.95. expands the S-100 bus lo allow a total ol six start running programs, ihe very first night' Level "A" leaches you machine s-100 cards to be plugged into EXPLORER s motherboard and confined in language and computer fundamentals it lets you run exercise programs including EXPLORER s steel cabinet includes all hardware mounting brackeis board guides, programs lo examine the cpu registers, examine memory, fill memory, move memory B)c Jus, ad{j tne numDer 0| s 100 bus connectors you need and make up games You can load and play back these programs on an ordinary tape L0vei ■ -n,'' expansion, al $69 95. gives you 4K ol onboard static RAM utilizing cassette—and display your eltortson any lv screen videomonitor or printer (SB 95 2114 tc's Your board will alsoaccepl lour 2716 EPROM's. which can be purchased RF moduialor required for tv use ) The simplified architecture of the Intel 8085 separately You now have an advanced mainframe that can be customized with the makes EXPLORER lar easier 10 understand than computers using the older, more peripherals of your choice lo lit any (or all) specilic requirements Each level ol complex but less powerful 8080A Then when you're ready. EXPLORER can be EXPLORER is separately regulated lor the ultimate in stability Factory service is expanded—by you-lo rival the power of any 8-bit computer on earth Or you can available from Netromcs Order your EXPLORER today! customize it lo perlorni a dedicated task, inanks 1" onboaid prototyping RAM and ROM expansion capabilities LEVEL "A" SPECIFICATIONS EXPLORER'S Level "A" system lealures an advanced Intel

Features Intel 8085 cpu/100% compatible with

8080A software!

Onboard S-100 bus (up to 6 slots)!

Onboard RAM and ROM expansion!

Built-in deiuxe 2K Monitor/Operating ROM!

Cassette/RS 232 or 20 maJA-112 8-bit parallel

I/O and timer all on beginner's Level "A" system!

- ORDER FROM THIS COUPON TODAY! —

Netronics R&D Ltd.. Dept BY-6, 333 Litchfield Road, New Milfard, CT 06676

D Level "A" EXPLORER/85 kit (specify D terminal or D hex keypad input). St29 95 plus $3 p&h 1 D Power Supply kit. 5 amp. +8 volt. $34 95 plus S2 p&h

D Intel 8085 User s Manual. $7 50 ppd

8085 cpu. which is 50% laster than its 8080A prede- I

cessor, yet 100% compatible with 8080A sollware

which, you'll discover, exisls by the lor Big computer'

leatures inctudfl an 8355 ROM with 2K deluxe monitor/ .

operating system which has Iwo programmable 8-bil I

bidirectional parallel 1/0 ports buill-incasseiieintertace Q ASfJ|| Keyboard/Video Terminal kit, $149.95

with tape control circuitry lo allow labeling casselle liles. | Dlus S3 o&h

and commands which include display contents ol 7 „„',,. K _.n „, ,

memory run al user location [go to], ' mserl data.' | D J|x *}WW klt ,or he* ve,sl0n 569 95 plus

"move contents ol memory, "examine registers mdivid- $2 p&h

uaily or all " lill command {to till the contenis of memory I □ Level "B' S-'00/0nboard RAM/ROM Decoder

wilh any variable) automatic baud rate selection, program- kit (less S-tGO connectors). $49 95 plus $2

mabte characlers per line display output formal, and more' | P&n

An 8155 RAM —I/O chip contains 256 bytes ol RAM. two □ Level "C S-100 5-Card Expander kit (less

programmable 8 bit bi-dueclional and :ne programmable I connectors). S39 95 plus 52 p&h

6-bit bi-direcnonai 1/0 ports plus programmable 14-bil p S-100 Bus Conneclors (gold). $<l.85eacri

binary counler/limer. user interrupt and resef switches rj Leve, D 4K Onboard RAM kil $69 95 plus

Onboard expansion provisions exist 10' up lo six S-100 I S2 D&h

boards. 4K of RAM and 8K0I ROM PROM qi EPR0M |__

EXPL0REU/85

□ Deluxe Steel Cabinet $39 95 plus $3 p&h

□ Deluxe Sleei Cabinet for Keyboard/Video Terminal. $19 95 plus $2.50 p&h.

D RF Moduialor kit. $8 95 ppd

□ Tolai Enclosed (Conn res add tax) S

D VISA D Master Charge Exp. Date

Account # . __

PHONE ORDERS CALL (203) 354-9375

Pnnl

Name

.Zip.

. DEALER INQUIRIES INVITED _

Circle 280 on inquiry card.

June 1979 © BYTE Publications Inc

225

Sixth Colloquium on Microwave Communications Offers Proceedings

The Sixth Colloquium on Microwave Communications was held in Budapest between August 29 and September 1 1978. The organization was undertaken by the Scientific Society for Telecommunication and the Research Institute for Telecommunication of Hungary by sponsorship of the International Union of Radio Sciences and the Hungarian Academy of Sciences. The following principal subjects were on the agenda of the meeting: communication systems — trends and foundations; circuit theory and computer aided design; electromagnetic fields and antennas; microwave circuits and devices; and materials for microwave applications. The proceedings containing all papers have been issued in two volumes of 944 pages in English, and are available at a price of $30 plus postage. Contact OMKDK Technoinform, Budapest, VIII Reviczky u6 HUNGARY.

Fourth European Conference on Electrotechnics Announcement and Call for Papers

The fourth European Conference on Electrotechnics, EUROCON '80, will be held in Stuttgart Germany on March 24 thru 28 1980. The conference theme is "From Electronics to Microelectronics

- Trends and Applications." Key professionals and industry leaders will give a comprehensive overview as well as reports on the latest developments in this area. A commercial and scientific exhibition will illustrate and supplement the technical presentations.

The conference theme will be covered in approximately 160 papers under four main headings: technology of microelectronics; microelectronics in telecommunications and data processing; electronics in electrical power systems and control; and electronics and microelectronics in other fields. Papers are invited to be submitted to: Professor Dr W Kaiser, Chairman Program Committee EUROCON '80, University of Stuttgart, Breitscheidstrasse 2, D - 7000 Stuttgart I GERMANY. Abstracts are limited to 500 words and should arrive no later than June 30. The completed text of accepted papers must be received by December 31.

The 3rd World Conference on Medical Informatics Issues a Call for Papers

The 3rd World Conference on Medical Informatics will be held in Tokyo Japan, September 29 thru October 4 1980. Medical informatics is the application of computer technology to all fields of medicine — health care, medical teaching and medical research. The organizers of this conference are seeking

NEW FROM MOUNTAIN HARDWARE.

THE APPLE CLOCK.

New utility for your computer.

Now, there's a real time clock

for the Apple II*: the Apple

Clock from Mountain Hardware.

It keeps time and date in ImS

increments for one year. On-board

battery backup keeps the clock

running in the event of power

outage. Easy to use with BASIC

using routines carried in on-board

ROM. That means you can time events,

put time and date on printouts, create games in which elapsed

time is important...and many more. Mountain Hardware offers

a complete line of peripheral products for many fine computers.

~)

X

Available at your dealer's. Now.

Mountain Hardware, Inc.

300 Harvey West Blvd. Santa Cruz, CA 95060 (408) 429-8600

"Apple II is a trademark of Apple Computer, Inc.

papers in clinical care; administrative, educational and public health applications; information technologies and research; and available systems and products. If you are interested in submitting a paper, write to Morris F Collen MD, Chairman of MEDINFO '80 Program Committee, Director, Medical Methods Research, Kaiser-Permanente Medical Care Program, 3700 Broadway, Oakland CA 94611. Final instructions for preparation of papers and special master typing forms will then be sent to you. The deadline for papers is December 10 1979.

Call for Papers: The Eighth World Computer Congress

The Eighth World Computer Congress (IFIP '80), sponsored by the International Federation for Information Processing (IFIP) will be jointly held in Tokyo Japan on October 6 thru 9 1980 and in Melbourne Australia on October 14 thru 17 1980. The Congress will feature presentations on stateof-the-art developments in technology, equipment, and applications prepared by information processing professionals from around the world. In order to identify and schedule these speakers and topics, the Program Committee has recently issued a formal call for papers. Those papers accepted will be delivered in either Tokyo or Melbourne, and in some cases at both locations. Potential authors should contact AFIPS, 210 Summit Av, Montvale NJ 07645 to receive a copy of a brochure which explains all requirements and necessary qualifications.

IEEE Conferences and Meetings

An extensive listing of IEEE Computer Society sponsored conferences and meetings through 1981 is available by writing Harry Hayman, Executive Secretary IEEE, POB 639, Silver Spring MD 20901.

More Cryptographic Notes

Anyone looking for an in-depth article on data encryption should read two papers brought to our attention by William Flynn. One is a reprint of an article by Ehrsam et al which appeared in the IBM Systems Journal, Volume 17, Number 2, entitled "A Cryptographic Management Scheme for Implementing the Data Encryption Standard." The cost is 50(t per reprint and the IBM order number is G321-5066. For $1.75 you can obtain a copy of the issue which is devoted entirely to cryptography. Write to IBM Systems Journal Reprints, Armonk NY 10504.

The other paper, FIPS Publication 46, is available from the US Department of Commerce, National Technical Information Service, 5285 Port Royal Rd, Springfield VA 22161, at a cost of $4 for a paper copy and $3 for a microfiche copy.*

226 lune 1979 © BYTE Publications Inc

Circle 257 on inquiry card.

from Computer Headware ... a Self-Indexing Query System

for your Apple II, North Star, or CP/M machine

Distributed by:

• Information Unlimited / 219-763-2244 P.O. Box 8372, Merrillville, Indiana 46410

• Lifeboat Associates / 212-580-0082 (CP/M model only) 2248 Broadway, Suite 34, New York City 10024

• Structured Systems Group, Inc. / 415-547-1567 5208 Claremont Avenue, Oakland, California 94618

(THE MM-103 DA TA MODEM,

AND COMMUNICA TIONS ADAPTER

r

FCC APPROVED

Both the modem and telephone system interface are FCC approved, accomplishing all the required protective functions with a miniaturized, proprietary protective coupler.

WARRANTY

One year limited warranty. Ten-day unconditional return privilege. Minimal cost, 24-hour exchange policy for units not in warranty.

HIGH QUALITY

-50 dBm sensitivity. Autoanswer. Auto originate. Auto dialer with computer-controlled dial rate. 61 to 300 baud (anywhere over the long-distance telephone network), rate selection under computer control. Flexible, software-controlled, maskable interrupt system.

ASSEMBLED & TESTED

Not a kit! (FCC registration prohibits kits)

LOW PRICE—$319.95 For Modem AND Coupler s m

Potomac Micro-Magic, Inc

Write for brochure: First Lincolnia Bldg., Suite B1 4810 Beauregard St. Alexandria, Va. 22312

Call for further information:

VOICE: (703) 750-3727

MODEM: (703) 750-0930 (300 baud)

BYTE lune 197<J

227

Timesharing:

Sheldon Linker

6399 WilshireBlvd

Suite 1010

Los Angeles CA 90048

Squeezing the Most from your Micro

Table I: An example of a quick relocation scheme designed with a 6800 processor in mind. This set of instructions would be stored along with the program on the auxiliary memory to direct the loader as to how to reinsert the data into main memory each time the program was run. The point of this scheme is to provide a minimal amount of computation when a program is loaded from a library into memory prior to execution. Similar schemes can be chosen for any particular computer's architecture.

Command to Run Time Loader

Start absolute loading:

Start relative loading:

Skip bytes:

Define absolute start address:

Define relative start address: One byte:

Two bytes absolute:

Three bytes relative: Three bytes absolute:

Two bytes relocatable address values:

End:

Explanation

The header code is followed by the absolute start address. In this case, the loader behaves as any other loader. There is no relocation of the data and instructions that follow. Loading starts at the address given.

The header code is followed by an address. Loading begins at the first available address, as determined by the operating system. From this point on, a relocation factor will be added to all instructions and data flagged for relocation.

This code is followed by a number designating the number of bytes to be skipped. This is useful in defining uninitialized buffers and is more efficient than repeated uses of code to reserve one or two bytes (see below).

The header code is followed by the absolute start address. If the routine is a subroutine, this code would not be used as the module has no start address. When this code is used the program will be started at the specified address once loading is completed.

Similar to the preceding code; however, program execution will start in a position relative to the first location.

The header code is followed by one byte. This code gets no relocation, because it is either an instruction without an address, or data which is too small to be an address.

The header code is followed by the two bytes. This code also receives no relocation because it is either an absolute address value, a one byte immediate instruction with its data byte, or it is a relative address instruction which is selfrelocating.

The header code is followed by the 3 byte instruction. This code will receive a relocation factor.

The header code is followed by a 3 byte instruction with an absolute address value which is unchanged in loading.

The header code is followed by the address data. The address data is always relocatable.

At this point, control returns to the program that called the loader if no starting address was given in the loading module. If the loading module contained a start address that address is called.

Although one normally thinks of timesharing as only working on large computer systems, it is possible to run even on small systems. Many of the newer large scale timesharing systems use virtual memory and swapping, which is not possible or practical on smaller machines. Virtual memory requires mapping hardware (a machine with interruptable instructions, such as an IBM 370). Swapping requires a reasonably fast disk, which will cost at least $2000. What we are left with is an in core system that keeps everything running in real memory at all times.

The first consideration is the assembler and loader. In your current system, a program's location can be assigned only at assembly time. On a timesharing system, the programmer may not know where the program will be located in memory. The reason knowledge of this location is conditional is that a decision point in the design of the system has been reached. If the system is to be nonrelocatable, the programmer may define the location of the program. The problem that arises here is that if, at the time the program is to run, the place in memory that the program was supposed to run in is already occupied, it cannot be loaded. On the other hand, if the system is capable of relocating, the program can be put anywhere in memory. This produces the additional benefit that subroutines do not have to be assembled with the program. To perform this relocation the assembler leaves offset information in the object tape or file which the loader will interpret as it goes. One possible relocation code scheme is shown in table 1. Of course, all sorts of schemes are possible. Note that relocation alone will take some amount of coding and execution time.

The second consideration is the allocation of system resources. In most cases this should concern only IO devices, although there may be some systems with interrupts not associated with IO devices. There are

228

June 1979 © BYTE Publications Inc

THINK

TM

ATTENTION: COMPUTER DEALERS

Compu/Think invites you to preview our new integrated business micro-computer system at the June NCC in New York. It has to be seen to be believed! System

features:

— 108,544 character semi conductor memory

— Resident ROM Operating System

— Resident ROM Microsoft BASIC

— Resident ROM machine language monitor

— Interactive de-bug facility

— High resolution graphics

— Full screen editing including split screen and individual field modes

— Two disk storage versions:

1] 2)

712,000 character memory 2,400,000 character memory

all at retail prices of from $4,495.00 to $5,995.00

We will also be showing our software and other peripheral products for the Commodore PET and Radio Shack TRS 80 including dual disk drives.

Location and Dates Sheraton Center Booths 130 and 131 New York, New York

Week of June 4th, 19 79

Dealer Inquiries Invited

Contact:

Frank R. Price

Director of Marketing

3260 Alpine Road

Menlo Park, CA 94025

(415)854-2577

COMPUTER SYSTEMS FOR BUSINESS"

Table 2: Minimum routines that are required for handling a timesharing system. The end task routine should return control to the supervisory program with information that the task is totally finished. The last thing you want to do Is encounter a halt instruction in the program code and halt the machine.

• Attempt to allocate a particular device. This routine must give a return code stating whether or not the device is already being allocated.

• Free a device.

• Read a character from a particular device.

• Write a character to a particular device.

• Read a particular disk block.

• Write a particular disk block.

• Wait.

• End a task.

basically three types of 10 devices. The first and most common type of device is the single owner. This is a device which can only be used by one task at a time. (A task is a program running in the timesharing system.) An example of a device which must be single owner is a cassette recorder. It would just not do to have someone else's data in the middle of your program.

The second type of 10 device is the shareable unit. The most common example of this is the floppy disk. For a disk to be correctly shared, the operating system roirtine which is handling the disk must reposition the heads every time the disk is used. Most systems already use this method, but there are those that have a call to position the head and another set of calls to read, write and verify. Separate calls cannot be used because a second task might reposition the heads before the first task had a chance to read or write.

The third type of 10 device is the device that is the system's alone. An example of this is the clock interrupt, a solitary interrupt device. It must be the system's job to keep track of time. It is also the charge of the system to keep track of which devices are owned by which tasks. The system must place all of the task's allocated devices back on the available list if a "cancel the program" function is executed.

When a task wants to perform input or output, it might use a considerable amount of system time monitoring status lines, thereby making timesharing impossible, unless all, or at least some of the devices are interrupt driven. The best way to handle things is to have a routine which will cause a task to wait until an interrupt is received for that task, then let the task handle the interrupt, including polling. So far, the routines required are summarized in table 2. (This is not to say that these are the only routines you will ever need. Table 2 is probably the minimum set of functions you will ever need.)

When handling disk interrupts, it is necessary to keep track of which task, if any, is

using the disk. When a task requests the use of a disk or other shared device, it must get a return code stating whether or not the device is busy. Otherwise, the system must queue its request (make the program wait and handle the request whenever it can).

A third consideration is scheduling. Each task has a status: ready to run, running, running with an interrupt pending, or waiting. At some point, the system must stop running one task and begin running another.

We will require the operating system to reschedule the tasks every time a task asks to wait. Since that task cannot proceed, we will perform a task that is not in a wait state. There are three other times when we may optionally reschedule the tasks: every interrupt, every clock interrupt, or every interrupt and system call. These methods are called demand scheduling, event scheduling, time slicing, and quick scheduling, respectively. The fastest method is to wait for WAIT calls. The other three methods are fairer, depending on how you look at things.

The actual method of scheduling leads to another decision point. The scheduler may be foreground-background, round robin, or priority scheduling. Foreground-background is the fastest. In this type of scheduling, the system scans down the list of tasks and runs the first nonwaiting task. When this method is used, the position on the list is the important factor.

Round robin scheduling starts the search for an executable task after the last task running. The search starts at the top of the list when it hits the bottom. This way gives every task its chance to run.

Priority scheduling requires a list of priorities. This scheduler runs the task with the highest priority which is not waiting. This is the fairest method because each task is given exactly what it deserves. When you run off the bottom of the list, using either the foreground-background or priority scheduling method, you have the option of starting over or executing a WAIT instruction. Although it will cost a byte of program memory, it will save considerable time on a 6800 or similar machine, since the interrupt vectoring will be half done by the time you get the interrupt.

The above covers most of what you need, but there are a few more minor considerations:

Creation of tasks: A task has to get into the machine somehow. Two possible methods come to mind. One is the typical timesharing method with each terminal getting its own task. The other is to add a system call which adds a new task.

230 June 1979 © BYTE Publications Inc

Memorex Floppy Discs

Lowest prices. WE WILL NOT BE UNDERSOLD!! Buy any

quantity 1-1000. Visa Mastercharge accepted. Call free (800)235-4137 for prices and information. All orders sent postage paid.

PACIFIC EXCHANGES

100 Foothill Blvd. San Luis Obispo. CA 93401. (In Cal. call

Circle 295 on inquiry card.

Don't Forget!

Our New 4K Byte Non-Volatile Memory Boards Won't Let You!

• 30 days minimum guaranteed data retention

• Ultra low power 450 NSEC static CMOS RAM IC's

• On-board regulator, power monitor and battery

• S-100 bus compatible

Assembled and Tested $395.00

Remember...

to send for details!

1395 Golf Street Dayton, Ohio 45432

Circle 88 on inquiry card.

6800 DEVELOPMENT PAC

• 6800 MICRO COMPUTER

• 48K RAM

• EROM PROGRAMMER

• RS-232 INTERFACE

• CASSETTE INTERFACE

• MONITOR DEBUG ROM •EDITOR/ASSEMBLER

• 4K INDUSTRIAL BASIC

• RACK, BACK PLANE, SUPPLY

• $1895

wixiii;

Corp.

317-742-6802

902 N. 9th St., Lafayette, IN 47904

TRS-80 16K MEMORY EXPANSION KIT

INCLUDES 8 TESTED & GUARANTEED M5K 4116 3 16K RAMS PROGRAMMING PLUGS I EASY-TO-FOLLOW INSTRUCTIONS $72B0 PER KIT

6800 64K BYTE RAM SET AND C0NTR01LER

CHIP SET HAKE 64K BYTES OF MEMORY FOR YOUR 6800 THE CHIP SETS INCLUDE: „„.,.„„ 32 M5K 4116-3 16K RAMS.

%L°lVS 1 MC3480L MEMORY CONTROLLER.

PER COMPLETE SET ' MC3242AP MEMORY ADDRESS MULTIPLEXER/COUNTER. DATA & APPLICATION SHEETS PARTS TESTED 8 GUARANTEED.

16K DYNAMIC RAMS

M5K 4116-3 200 NSEC ACCESS TIME/375NSEC CYCLE TIME TESTED I BURNED-IN $850 EACH/MIN.QTY. 8

4K STATIC RAMS

EQUIV. TO TMS40L44-30 300NSEC ACCESS TIME/ CYCLE TIME FOR 4MHZ 2-80 OPERATION. $75Q EACH/MIN.QTY. 8 TESTED S GUARflNTEFO

QUANTITY DISCOUNTS AVAILABLE ALL ORDERS POSTPAID U S.FUNDS. CHECK OR MONEY ORDER. VISA,BA,MASTERCHARGE-SENO ACCOUNT NO EXPIRATION DATE , INTERBANK NO., 4 SIGNED ORDER PHONE ORDERS: 714/633-4460

MEASUREMENT SYSTEMS & CONTROLS.inc.

MEMORY DEVICES DIVISION, DEPT. B3

867 NORTH MAIN ST., ORANGE, CA 92668

Circle 216 on inquiry card.

SURPLUS ELECTRONICS

ASCI

ASCII

IBMSELECTRIC

BASED I/O TERMINAL

WITH ASCII CONVERSION

INSTALLED $645.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A, 5V35A Others, • Displays

• Cabinets • XFMRS • Heat Sinks • Printers • Components Many other items

Write for free catalog WORLDWIDE ELECT. INC. 130 NORTHEASTERN BLVD. NASHUA. N.H. 03060 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-889 7661

Circle 391 on inquiry card.

CASSETTE AND FLOPPY DISC LADELS.

, Sl0e . / ' Mir-adhMlv*

| ( STANDARD CASSETTE

r«movpbie [ibal

Avery offers a complete line of labels for cassettes and floppy discs—all with removable adhesive. Including these standard sizes:

Cassette Label (1%" x 31/2") #5250 Floppy Disc Label (W x 5V5>") #5252 Write for more information and free samples to:

Avery Label

777 East Foothill Blvd.

Azusa, CA 91702

Avery Label

An Avery International Company

DATA PROCESSING SUPPLIES

Std. or Mini Floppy. . 2.98 ea.

TRS-80 Cassette 1.49 ea.

ANSI (notch)

Cassette 4.90 ea.

QumeorlBM 6240

Ribbon 29.95 dz.

OTHER SUPPLIES AT SIMILAR BARGAINS

Order Now from

John Richards

KEY SUPPLY CO.

2101 S. IH 35 Suite 300

Austin, Texas 78741

(512)443-1347

All products from major manufacturers, fully guaranteed. No limit while quantities last!

Circle 183 on inquiry card.

HAZELTINE 1400

only

$649.95 !

• Verbatim Mini Diskettes . . .

. . . $3.70 each (boxes of 10)

• Intertube . . $784.00

• TRS-80 16K Level II Expansion Kit $89.95

• Centronics 779 tractor ....

$1050.00

• Horizon II ass. . . .$1999.00

Mail TORA SYSTEM INC. Order 29-02 23rd Avenue °nly- Astoria NY 11105 (212) 932-3533

Circle 371 on inquiry card.

RT/68 - M6800 Real Time Operating System

— Executive controlled, event driven

— up to 128 fixed priority tasks run concurrently

— intertask communication through messages

— Executive requires only Ik bytes

— NCR task: monitor Console Functions

— CLOK task: task timer, time-of-day, calendar

input from ASCII keyboard output to ASCII display input/output from ASCII

— KBD task:

— CRT task:

— TTY task: terminal

— Proven in

Industrial Supervisory/

Control applications

Sources on diskette $350.00

Motorola MOOS Format at Sierra Digital

X6800 format

Broadcast Computer Systems

323 Penworth Way S.E.

Calgary, Alberta Canada T2A 4G1

Circle 389 on inquiry card.

Circle 20 on inquiry card.

Circle 34 on inquiry card.

DISK

TERMINAL

CLOCK

1,

n

DISK

TERMINAL

PRINTER

i,

ll

CLOCK

PROCESSOR

PRINTER

DISK

Figure I: A system set up with each processor having its own mass storage device and 10 peripherals.

PROCESSOR

PROCESSOR

PROCESSOR

PROCESSOR

Figure 2: This arrangement uses resource sharing. To make this arrangement work, processor to processor data links must be added. Timesharing and multiprogramming can be useful in the personal system. What happens when two children and two adults must share several terminals? What about the case when you want to do a listing or assembly on a slow printer while continuing an editing operation on a separate source file? The smallness of the scope of a computer does not rule out the use of resource sharing and multiprocessing.

232 ]une 1979 © BYTE Publications Inc

Circle 78 on inquiry card.

o PET ANALOG INPUT

Analog to Digital Conversion System for the Commodore PET Computer

■YBTBMM |

Give Li~ke PET the abi 1 i Ly Lo sensEr me35ure* and control the world around it with DAM SYSTEMS modules. Just plus the F-ETSET1 into the PET to siet 16 channels of analog input. Screw teriiiinsls are ttovided for each channe 1 so you can hooK up Joysticks i f-ots» or whatever appropriate sensors you have.

Each of the 16 analog inputs* in the ranae of 0 to 5.12 voltsr is converted to a decimal number between 0 and 255 < 20 mi 1livolts per count )♦ Conversion time is 100 microsconds.

In addition» the F'ETMOD provides two IEEE ports and one user port as well as a EiAM SYSTEMS port.

Software is provided. A one line program is all that is necessary to read a channel.

od .:r

KIMUOD {/l I

KIM INTERFACE

] 6

^] THS-aO USD THS-80 INTERFACE

Wr>

ANALOG INPUT

ANALOG MANIFOLD MODULE

5EN50R5

TEMPERATURE

VELOCITY

PRESSURE

ACCELERATION

1 -AIM161 1 -PETMOD 1-CABLE A24 1 - MANM0D1 1- P0W1

PETSETl

- 16 ANALOG INPUTS-8 BITS-100 MlCROSEC

24 INCH INTERCONNECT CABLE MANIFOLD MODULE-SCREW TERMINALS FOR INPUTS,REFERENCE, GROUND

POWER MODULE

PETSET1Q for 110 VAC $295 PETSETIe for 230 VAC $305

3 t

CONNECTICUT microCOMPUTER, Inc.

150 P0C0N0 ROAD

BROOKFIELD, CONNECTICUT 06804

TEL: (203) 775-9659 TWX: 710-456-0052

VISA AND M/C ACCEPTED-SEND ACCOUNT NUMBER, EXPIRATION DATE AND SIGN ORDER.

ADO $3 PER ORDER FOR SHIPPING 8 HANDLING - FOREIGN ORDERS ADD 10% FOR AIR POSTAGE.

Memory: You can set things up so that each task has a fixed amount of memory (which may or may not be reset between tasks) or use some sort of a system where the tasks can acquire and free memory dynamically.

Niceness: Programs must be nice to one another, as very few of the machines around have any sort of memory protection or privileged instructions.

Machine considerations: When an interrupt occurs, or a task is otherwise stopped, the registers, including the program status word (PSW), and stack pointer must be saved and later restored. Depending on the type of programs you run and your type of machine you may have to save and restore all or part of page zero. If you have a 6502, you will also have to deal with the stack's page.

Reentrancy: Programs which can be run concurrently by more than one task are reentrant. You may wish to set up some way of effectively using reentrant programs, such as having a null task, into which may be put reentrant subroutines; or by having various small reentrant routines always in the same place in memory, such as multiply and divide.

There are other methods of going about this completely, which I mention only in passing. Many BASIC systems will have one BASIC interpreter in memory along with multiple programs, and will execute one line of BASIC code and then go on to the next pseudotask. This will also work for APL, although long matrix operations will tend to extend the intervals between transitions from one process to another. (Of course, it is a debatable point whether or not a timesharing APL and two workspaces will ever fit into the same memory at one time.)

Multiple processor timesharing systems are also possible. Assuming that you have a central processor with disks and printers, there is a method that can save a lot of money. This method is resource sharing. Figure 1 shows a typical group of three computers each working independently. Each processor handles everything with inefficient use of the printers and disks. Figure 2 depicts a resource sharing setup. This requires the addition of processor to processor data links. In this setup, each peripheral processor does the computing while the central processor handles queued 10 and interrupts much like the simple timesharing systems above."

VAK-4 16K STATIC RAM BOARD

• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers

• Two separately addressable 8K-blocks with write protect.

• Designed for use with the VAK-1 or KIM-4* motherboards

• Has provisions for mounting regulators for use with an unregulated power supply

• Made with 1st quality 2114 static ram chips

• All IC's are socketed

• Completely assembled, burned-in, and tested

We manufacture a complete line of high quality expansion boards. Use reader service card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00 U.S.) for airmail delivery of our complete catalog. "Product of MOS Technology

VAK-4 DUAL 8K-RAM $379.00 VAK-2 8K-RAM (% populated) $239.00

JTrnb>

ENTERPRISES

INCORPORATED 2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564

Circle 325 on inquiry card.

June 1979 © BYTE Publications Inc

233

About the Author

C Brian Honess is currently assistant professor of management science in the College of Business A dministration at the University of South Carolina. He reports that he has been an active "building" radio amateur (ham) for 20 years; his interest in computers goes back to programming scientific business applications on an IBM 1620. He learned about what was Inside computers by buying a surplus IBM 704 from the government, and slowly taking it apart (donating, selling and scrapping the parts as he went). Another 704 was eventually purchased, and this time it was built back up, from the inside out. This is not exactly a typical personal computer.

Three Types

of Pseudorandom

Sequences

Random numbers are extensively used in virtually all areas of data processing, from the simplest games for a hobby microprocessor, up to the most complex business and scientific applications. Deterministic games programmed without the benefit of some random parameter soon become boring and easy to "beat," so it would seem that random number generation and testing should be of interest to even the neophyte programmer or computer hacker when trying to get a simple game up and running. Random numbers are used extensively in various business applications. For example, random numbers would be used by an auditor faced with a large number of transactions to audit, and using a sampling technique to only look at a certain percentage of representative transactions. The number of checkout stations at your local discount department store may have been determined by using a mathematical model of the store, wherein the arrival and departure of "customers" was simulated using random numbers. Market research makes extensive use of random numbers, in selecting the people, streets, blocks, households, etc, to interview or to mail questionnaires. A mathematical model can also be "built" of an

C Brian Honess

Asst Prof of Management Science College of Business Adm University of South Carolina Columbia SC 29208

element, molecule or compound, and a particle introduced at random and collisions counted. Suppose further that you had a photograph of some obscure planet, covered in an extremely irregular way with areas you assumed to be water. You could divide the photograph into small squares, or maybe overlay with a piece of graph paper, and then "take shots" at the grid with a random number generator, wherein the random number would determine the coordinates of the "shot" and you could then tally the number of "hits" and "misses" and thereby determine the number of hits out of the total number of shots, and get an approximation of the percentage of the surface covered by water.

Before reading on, let me suggest that you try a short experiment. Consider the set of integers from 0 to 99, and quickly write down a list of random 2 digit numbers. Use whatever your current idea of random is, and make a list of 100 numbers. Later we'll see several methods for determining how random your numbers are, but I'll hasten to guess that they won't be very random. Psychologists repeatedly show that the average human just cannot think up random numbers. Upon inspection, there might be too many 4s compared with 6s, or maybe very few 0s and an abundance of 5s.

While it's true that a machine can produce a much better selection of truly random numbers than a human, the problem is that the numbers produced by the machine aren't really random either. If you could build a perfect roulette wheel, you'd get truly random numbers, but the mechanical considerations of such a device are, of

234

June 197') H I1YTI Publications Inc

Circle 73 on inquiry card.

Circle 365 on inquiry card.

AT LAST!

A MICROCOMPUTER SYSTEM WITH THE SPEED AND POWER TO HANDLE A BUSINESS WORK LOAD.

The Computex 16-bit MICROENGINETM CPU processes Pascal (UCSD version 3.0) live times faster than any comparable unit, and at least twenty times faster than the 8080 or Z80. Still our X-pert SystemsTM are price competitive with 8-bit systems.

$2695•

ready to run

' LIMITED TIME cash price. 10% DOWN, guarantees priority.

PASCAL MICROENGINETM

MICROENGINETM specifications:

• 16-bilP-codeCPU

• 64K bytes RAM

• Floppy disk controller

• Full DMA

• Floating point hardware

• 2serial (RS232) I/O ports

• 2 parallel I/O ports

• Pascal and Basic compilers

• Texi editor.

• File manager

• CPU and memory diagnostics

• Symbolic Pascal debugger

Also available:

• Complete turn-key systems

• CRT terminals

• High speed printers

• Text quality printers

• Floppy disk drives

• Applications software

Customer satisfaction is guaranteed. Full refund with the return of any product within 10 days. Complete technical catalog S1.

COMPUTE

"THE COMPUTER EXPERTS."

5710Drexel Avenue

Chicago, IL 60637 (312)684-3183

TURTLES

• I t

by 7c//(//)//). /Mi

Small home robots

controllable

by your computer.

Attachable to any computer via parallel interface (not included.)

Use your Turtle to map rooms, solve mazes, dance, explore Artificial Intelligence, teach geometry or programming.

Computer not included (batteries not needed).

Brochures available

Terrapin, Inc.

Kit $400, Assembled $600 33 Edinborough Street

S-100 Bus Interface Kit $40, 6th Floor

Assembled $50 Boston, MA 02111

U.S. postage $5 (617)482-1033

Mass. residents add 5% sales tax

video It

III

12" BLACK & WHITE LOW COST VIDEO MONITOR $149.00 LIST

• Ideal for home, personal and business computer systems

• 12" diagonal video monitor

• Composite video input

• Compatible with many computer systems

• Solid-state circuitry for a stable & sharp picture

• Video bandwidth—12 MHz ±3 DB

• Input impedance—75 Ohms

• Resolution—650 lines Minimum IN Central 80% of CRT; 550 Lines Minimum beyond central 80%

of CRT ref EIA RS-375

• Dimensions—11.375" high; 16.250" wide; 11.250" deep (exclude video input connector)

• Weight—6.5 KG (14.3 lbs) net

AVAILABLE FOR IMMEDIATE DELIVERY!

LEEDEX Corporation

^L20

2300 East Higgins Road • Elk Grove Village, Illinois 60007 • (312) 364-1180 • TLX: 25-4786

Generous dealer discount available

Circle 203 on inquiry card.

BYTE June 1979

235

Square of number

18671041

Random number

4321 -.«*-.

. starting seed

^6710

241

0580

3364

Figure 1: Operation of the center squared method of random number generation can be illustrated by this example. Here we use 8 digit decimal numbers, and assume the ability to extract the center four digits as the 4 digit random number for each cycle. [In principle this algorithm could be done on a binary basis by picking the middle 16 bits of a 32 bit product, or the middle 32 bits of a 64 bit product... CH] All versions of this algorithm are subject to the problem of degeneration, since if the middle digits happen to become 0, the square will continue to be 0 through successive generations of the algorithm.

course, impossible, to say nothing of the costs, speed, maintenance, testing, and so forth. There is really not much need to strive for such a device for the usual application of random numbers, because there are some mathematical methods which produce what are called pseudorandom numbers. Implemented on a computer, they are quite fast, easy to implement, and just as much fun to play with as a roulette wheel!

Before looking at some of these methods, I might mention that there are a couple of other ways to get random numbers for your games, experiments, or business applications. You could always punch or key

BASIC Program

Sample Results

100

PRINT "INPUT A 4-DIGIT SEED";

110

INPUT N

4321

120

LET N = N * N

18671041

130

LETN = N/100

186710.41

140

LET N = INT(N)

186710

150

LET A = A/10000

18.6710

160

LET A = INT(A)

18

170

LET A = A * 10000

180000

180

LET N = N - A

6710

190 200

PRINT N END

6710

Listing I: A BASIC program which accomplishes one generation of the center squared method of calculation. Note that this program assumes an interpreter with at least eight decimal digits of accuracy.

into your system as many numbers as you want from the Rand table. This is a formal table used by statisticians entitled A Million Random Digits and published by Rand Corporation. There are a million of them, so this could take quite a while. Of course, you're assured that these numbers are thoroughly tested and as unbiased as possible, but assuming you have the time and perseverance to do the job, unless you work out some scheme for using different parts of the table or different orderings, you'll always get the same string of digits. You might find an abbreviated table in the back of some statistics book and use the numbers therein, but the problem here is that you'll probably need more numbers than appear in the table. Of course you could always go through the table more than once, but this doesn't multiply the size of the table. In some applications it might be desirable to be able to use the same random numbers, in the same order, more than once. For example, you may want to duplicate the results of an experiment, an audit, a market research test, or a game. But usually, you'll want a new string of numbers, and this can be secured by selecting starting values or other parameters in the mathematical algorithms that follow.

The Center Squared Method

The earliest computer oriented method for producing pseudorandom numbers was probably the center squared method. In this method we begin with a 2n digit number, square it, and then extract the center 2n digits from the 4n digit result, and this becomes the next random number, and also becomes the number which is squared in the next iteration. For example, suppose you want some 4 digit random numbers. In this case, of course, n = 2, and let's assume we start off with the number 4321 as our "seed" value. Figure 1 shows the process through three iterations.

This method makes a good little program to assign to a beginning programming class because it is easy to explain, easy to determine what the answers "should be," but it has several problems which arise as you get deeper into the problem. In FORTRAN or BASIC, lacking any specific digit manipulation instructions, the hard part comes when you try to strip off the digits either side of the center. Listing 1 shows a simple BASIC program which will generate one random number. [This program assumes an interpreter with greater than eight digits of arithmetic precision]. Here, we see that we desire four digits, and enter the seed 4321. Squared,

236

lune 1979 © BYTE Publications Inc

NEED EIA CABLE?

^ Data Set / has it!

They don't call us "The Company with a Lot of Connections" for nothing! Whatever your interface cable needs, call on Data Set. We have all types of cable and connectors, pinned to your specifications — ribbons, coax, twin-ax, Telco, junction boxes... to name just a few.

Circle 331 on inquiry card.

THESE

ITEMS IN

STOCK

►

EIA RS 232-C Cables -All 25 Pins Wired MALE to-MALE or MALE to FEMALE

3-foot length $17.50 ea.

Specify when ordering:

A 5-foot length _

$18.50 ea. *

10-foot length $21.00 ea.

SPECIAL TO JULY 15, 1979 ONLY!

10% Discount on any of the above items.

PLEASE MAKE PAYMENT WITH ORDER.

New catalog available

The Company with a lot of Connections

Data Set Cable Company,Inc.

We serve you from 2 locations:

722 Danbury Road — PO Box622 3660 Polaris Avenue. ■•■• 21 Ridgef ield. Connecticut 06877 Las Vegas, Nevada 89103

(203)438-9684 (702)873-2133

16K STATIC RAM

Kit price $285 450 nsec $320 250 nsec Memory Chips

mn ■ •

■ -wm>>

Add $25 for assembled, tested. Guaranteed.

Static TMS 4044- Fully Static 4Kx1 Memory chips for better data integrity and DMA compatibility.

Fully S-100 Bus Compatible-All lines fully buffered. Dip Switch Addressable in two 8K blocks, 4K increments. Write Protectable in 2 blocks. Memory Disable using Phantom (pin 67) or strappable to any other pin.

Bank Select-Using Output port 40H (Cromemco software compatiblej-addressable to 51 2KB of RAM or for time share. Also has alternate port 80H-making over 1 million byte of RAM available.

Quality Components-First quality parts, fully socketed. Glass epoxy board with silk screened legends, solder masks. Gold Contacts.

Guaranteed-parts and labor for 1 year. You may return the undamaged board within 1 0 days for a full refund. Foreign and kit purchasers-parts only guaranteed; no return privilege.

Orders- You may phone for Visa, MC, COD orders. ($4 handling charge for COD orders only) Personal checks must clear priorto shipping. Shipping-Stock to 72 hours normally. Will notify expected shipping date for delays beyond this. Illinois residents add 5% tax. Please include phone number with order.

S.C. digital

P.O. Box 906 Aurora, IL 60507

Phone: 312-897-7749

<T

WE HAVE IT

%

What is U? The New Pascal Microengine.

JT features the new Western Digital 16 Bit Pascal Microengine CPU, 64K RAM, (2) RS232 ports, (2) parallel ports & (2) Shugart 8014 dual density drives. U will directly execute Pascal generated P-Code (the only CPU on the market designed to directly execute a high level language), & IT will run compiled BASIC. Wait, that's not all —JT normally sells for $4,495, but you can have IT for $4,195. Dealer prices are much lower. Plus we have software galore.

Call us about H at (803) 756-6000.

THE PASCAL MICROENGINE

FROM THE COMPANY

THAT GIVES YOU

TOMORROW'S INVENTIONS

TODAY

*ssa

T^ FT

TECHNOLOGY SYSTEMS SOOTH Suites 9 & 10 Henry Building, Loris, S.C. 29569.

Circle 364 on inquiry card.

BYTE lune 197<J

237

100 PRINT "HOW MANY NUMBERS DO YOU WANT?'';

110 INPUT J

120 PRINT "INPUT A 4-DIGIT SEED";

130 INPUT N

140 FOR I = 1 TO J

150 LETN=INT(N*N/100)

160 LETA = INT(N/10000)*10000

170 LETN = N-A

180 PRINT N

190 NEXT I

200 END

Listing 2: A BASIC program which will generate a list of random numbers using the center squared method. The program embeds a revised form of the calculation of listing J within a FOR-NEXT loop.

this becomes an 8 digit number in line 120. Line 130 divides by 100 in the first step of several necessary to get out the four center digits. Of course if you wanted 2 digit random numbers your seed would have been a 2 digit number; you'd have a 4 digit square, and you would change line 130 to divide by 10. For 6 digit numbers, you'd change it to divide by 1000, etc. Line 140 completes the removal of the right-hand two digits by integerizing the number. This resulting 6 digit number is then set aside, and you start removing the front two digits. This is done by dividing by 10000, integerizing the result and then multiplying by 10000. In line 180 you subtract this number from the one previously set aside and out come the center four digits, the new random number. If you are working with 2 digit random numbers, the divisor in line 150 would be changed to 100 and you'd then multiply by 100 in line 170.

One number isn't going to be enough

100 PRINT "HOW MANY NUMBERS DO YOU WANT?";

110 INPUT J

120 PRINT "INPUT A 4-DIGIT SEED";

130 INPUT N

140 FOR I = 1 TO J

150 LETN = INT(N*N/100)

160 LET A =INT(N/10000)* 10000

170 LET N = N - A

180 PRINT N

190 IF NO 0 THEN 230

200 PRINT "DEGENERATION AFTER"; N ; "NUMBERS"

210 PRINT "ENTER ANOTHER 4-DIGIT SEED";

220 INPUT N

230 NEXT I

240 END

Listing 3: The program of listing 2 will occasionally produce examples of degenerate cases. The center squared method is prone to such degeneration with an unpredictable frequency, so for purposes of illustration this version incorporates an ad hoc fix to ask for a new seed when degeneracy is detected, and report on how many cycles were required to reach degeneracy.

for most applications, so let's put in a loop and get "n" numbers. Listing 2 shows the modifications necessary. Also, we'll combine lines 120 to 140, and lines 160 to 170 in listing 1.

I remember when I first coded this method in a beginning FORTRAN class. I've forgotten what 4 digit seed the instructor used at the time, but it was a revelation when I found out about something he called "degeneration." I'm sure a simple program can be written to discover any and all of the 4 digit seeds which will cause this program to degenerate to zero, but let's assume that there is at least one, and that Murphy's Law will guarantee that this particular one is the seed you choose for your first run. It is not difficult to imagine that there is a 4 digit number, which, when squared, will have four zeros in the middle. Maybe your number squared will be 12000034, or 65000025, etc. This being the case, you'll get 0000 as your next random number until you discover what is going on and get out of the loop. Listing 3 shows how we'll test for that problem and perform an ad hoc fix; we'll just call for another seed when a random number of zero is obtained.

Our final try at the center square program still doesn't solve one of the worst problems with this method. The method doesn't give very long periods for many seeds, and you really can't predict what the results will be until you try it. The method starts repeating numbers, and even the place where it starts repeating can't be determined without trying it. For example, you may print out 722 different numbers, and then it will start repeating the last 34 of them. The method is easy, and it is fun, and it may just produce all the pseudorandom numbers you need for your application.

Fibonacci Series Technique

A second method for generating random numbers makes use of the Fibonacci series, so named for its discoverer Leonardo of Pisa, known as Fibonacci (meaning son of Bonaccio). Leonardo was perhaps the greatest European mathematician of the Middle Ages, and if not for him you might be programming your machine using Roman numerals, because it was Leonardo who recognized the enormous superiority of the Hindu-Arabic decimal system with its positional notation and the zero symbol, over the much clumsier Roman system. Table 1 shows several numbers in the Fibonacci series, and you'll notice that each number is simply the sum of the previous two numbers. Actually, we could make up any number of series by starting with any

238 lune 1979 © BYTf Publications Inc

Circle 120 on inquiry card.

BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL &TEST EQUIPMENT

R2 I/O

2K ROM 2 K RAM

3 SERIAL PORTS 1 PARALLEL PORT

TABLE TOP MAINFRAMES

ECT-100-F

RACKMOUNT CARD CAGES

POWER SUPPLIES, CPU's, MEMORY, OEM VARIATIONS

SPECIALIZING

IN

QUALITY

MICROCOMPUTER HARDWARE

INDUSTRIAL

EDUCATIONAL

SMALL BUSINESS

PERSONAL

ELECTRONIC

CONTROL

TECHNOLOGY

763 RAMSEY AVE. HILLSIDE, N.J. 07205

(201) 686-8080

Computer Lab of New Jersey

Computer Lab sells the best S-100 Bus products at the best possible prices. Not only are our prices great, so is our delivery. We offer a 10% discount on most major lines, plus a 5% additional discount for a cash purchase.

OUR

LIST

CASH

PRICE

PRICE

$139.00

$118.00

$295.00

$252.00

$299.00

$255.00

$245.00

$209.00

$429.00

$366.00

Godbout 8K Unkit

Godbout 16K Unkit

Thinker Toys Super RAM 16K Kit

Vector Graphic 8K Assembled

Problem Solver 16K Assembled

Subject to available quantities. Prices quoted include cash discount.

Shipping and Insurance Extra

Cut-off Date July 15

Call for our prices on:

Cromemco, Dynabyte, Godbout, Integral Data Systems, IMC,

Ithaca Audio, Meca, Micropolis, Mountain Hardware, Mullen, Oliver,

SSM, Soroc, Tarbell, TEI, Teletek, and many other fine products.

Computer Lab of New Jersey

141 Route 46 • Budd Lake, N.J. 07828 Phone: (201)691-1984

HOURS: Monday & Friday: 12 to 6, Tuesday-Thursday: 12 to 9 Saturday: 10 to 5

Call or write for our free catalog & price list

MONITOR *139, 12 B&W

SCT-100 VIDEO BOARD FEATURES

• 64x16 line format with 128 displayable characters • Serial ASCII or BAUDOT with multiple Baud rates • $187 Assembled or $157 Kit (Partial Kit $95) • Full cursor control with scrolling and paging • On board power supply

• Serial interface RS232 or current loop

• Purchase SCT-100 alone or complete terminal

COMPLETE KEYBOARD TERMINAL $350

Full Kit $295 (includes SCT-100)

»XIT€XCORB

13628 Neutron P.O. Box 402110 Dall... TUnu 75340 (214)388-3890

ORDER BY PHONK/Qvet«ea« orders fc dealers welcome

»XIT€X MORSE TRANSCEIVER

• Auto Space on word boundries

• Grid/Cathode key output

• LED Readout for WPM Buffer space remaining

• $95 Partial Kit • $225 Complete Kit

COPY

• 1 to 150 WPM with Auto-Sync.

• Continuously computes and displays Copy WPM

• 80 HZ Bandpass filter.

• Re keyed Sidetone Osc. with onboard speaker.

• Fully compensating to copy any 'fist style'

• $295 Assembled

' ASCII (110, 300.600, 1200) or Baudot (45, 50, 57. 74) compatible

• Simplex Hi V Loop or T2L electrical interface

• Interfaces directly with theXITEX" SCT-100 Video Terminal Board: Teletypes1 Models 15. 28, 33, etc.; or the equivalent

Circle 400 on inquiry card.

UYTt I line 1979

239

(a)

The Fibonacc

i Series

n

Fn

1

1

2

1

3

2

4

3

5

5

6

8

7

13

19

4181

20

6765

21

10946

22

17711

(b)

Some Characteristics of the Fibonacci Series

Final digit (LSD) Last 2 digits Last 3 digits Last 4 digits Last 5 digits etc.

repeats repeat

cycle cycle

Every

3rd 4th 5th 6th

Fn is divisible by

of 60

of 300

1500

15000

" 150000

Note: this is also the Fibonacci series.

Table I: The Fibonacci series is a numerological phenomenon which is generated by the following definition: the next term In the series is the sum of the previous two terms, with the first two terms defined to be a value of1 as a starting point. At (a) are listed several representative sections of the Fibonacci series, and at (b) are shown several miscellaneous characteristics of the Fibonacci series abstracted from the mathematical literature. This series can be used as a basis for a random number generator, as described in the text.

100 110 120 130 140 150 160 170 180 190 200 210 220

two numbers and letting their sum be a new random number, and repeating this for our desired number of iterations. The reason that we'll use the Fibonacci series specifically, and not any other series, is that the characteristics of the Fibonacci series have been studied, and we know several facts about it that will be of interest. Table 1 for example shows that if we want more than 60 single digit random numbers, the Fibonacci series isn't going to work. Of course we could start extracting 2 digit numbers from different parts of the numbers produced, but here we're on our own as far as statistical characteristics are concerned.

PRINT "HOW MANY NUMBERS DO YOU WANT?'

INPUT J

LET A =10946

LETB= 17711

FOR I = 1 TO J

LET N = A + B

IF N< 100000 THEN 180

LET N = N - 100000

PRINT N

LET A = B

LET B = N

NEXT I

END

Listing 4: A BASIC program which implements a Fibonacci series random number generation technique. The program works machines of finite precision (even though the Fibonacci numbers eventually get infinitely large) because only the low order digits are kept as part of the pseudorandom number. Since the high order portion of a Fibonacci number has no effect on the low order portion during calculation of the next number, it is possible to completely ignore the high order part.

Listing 4 shows a BASIC program for calculating and printing "n" random numbers of five digits each. Notice that the generator is seeded with two seeds from table 1. These could have been INPUT, of course, and in that way a different series of random numbers could be produced. I've chosen the first two 5 digit numbers in the sequence, but there is nothing special about them. Also, you might consider having the generator run through the loop a number of times before it starts printing the output. This could be easily implemented with another INPUT statement and another FOR . . . NEXT loop, or maybe by just adding the number of unwanted numbers to J, and then putting in an IF to suppress printing of the first J-N numbers. Listing 4 is straightforward: after determining how many numbers you want, it takes the two seeds and calculates the first number. It is possible that the result will be over five digits when the two previous numbers are added, but it can never be greater than 199998 (99999 + 99999), so we check for this condition in line 160 and simply subtract 100000 if the number is larger than 99999. Lines 190 and 200 serve to shift the second number into the location previously holding the first number, and the new random number into the location previously holding the second number, and we're ready for a new iteration.

In order to find the ntn Fibonacci number, you needn't go up to "n" one at a time. There is an easier method, although you might not think so when you see the formulas in figure 2. You might try to find the 20tn Fibonacci number with your

240 lune 1979 © BYTE Publications Inc

Circle 373 on inquiry card.

SERVING SYSTEM SELLERS S OEVELOPERS

BrUme

iAUcboft/iccetoo>i

<jo£tut<M/ie

TSA SOFTWARE

39 WILLIAMS DR. MONROE CT DB4B8 203-2GI-7963

NCC PERSONAL COMPUTING FESTIVAL BOOTH \4S

Circle 175 on inquiry card.

New North Star Software

DOS + $35.00

Enables any program to execute all North Star Disk and/or Meca Tape commands. Allows batch command list and more. PRO-TYPE WORD PROCESSOR $75.00

Easy to learn. Combines text input, editing and printing in one program. Features right margin justification, tabs, paging, underlining, relocation of text blocks, etc. Requires only 8K of memorv. Manual alone, $25. GUIDE TO BASEX $33.00

A new interactive compiler similar to BASIC for 8080-type microcomputers (Z-80. 8085). Executes programs up to 10 times faster than equivalent programs while requiring about half the memory space. Features include: array variables; string manipulation; arithmetic operations on signed 16 bit intergers; and versatile I/O communication functions. Manual alone $8.

BASEX TAPE AND DISK GUIDE $35.00

Allows your BASEX programs to access up to four North Star Disk and/or Meca Tape drives. All operations can be executed from the Keyboard. Manual alone $20.

Specify: North Star Disk/Meca Tape/Other Send for Free Literature

=m=

lyjl

INTERACTIVE MICROWARE INC.

P.O. Box 771, State College, PA 16801

(814)238-8294

HOW TO BUY A BUSINESS COMPUTER

WHEN TO BUY • WHEN NOT TO BUY W\\

HOW TO CHOOSE CONSU LTANTS »DATA

GATHERING •PACKAGED VS CUSTOM

SOFTWARE-CONTRACTS • FINANCING

• WARRANTEES AND MAINTENANCE • INSTALLATION

MANAGEMENT AND MUCH MORE

"SUPER BOOK!" DP Consultant, Mercer Island, Washington. "I wish I'd had this book before I bought my computer!"TV Station General Manager, California.

"It's the best book I've seen on the subject. Send me 5 copies to send to my clients'" CPA, Orange County, California. "I really learned something from this book and I'm in the business. I'm recommending it to my clients." DP Consultant, Alhambra, California.

Here's a straight forward approach to business computer purchase and installation. It will save you time and money. ORDER NOW! If not completely satisfied, return within 30 days for a full and immediate refund.

BYzx 11 Softbound ■ 178 pp. ■ $12.95 Credit Card Orders 1-805-964-7448

DDC PUBLICATIONS b

5386 Hollister Ave., Santa Barbara, CA 93111

Rush copies of "Winning The Computer Game" at $12.95

per copy. (CA residents add 6% sales tax)

NAME

ADDRESS

CITY/STATE/ZIP

□ Check Card No.

DMasterCharge

□ Visa Exp. Date

TRS-80 SOFTWARE 32K with 2 DISK DRIVES

PAYROLL SYSTEM $235

Includes: a) File Maintenance

b) Payday Entries

c) Earnings Record

d) Payroll Register

e) Write Pay Checks

f) Write Other Checks

Handles up to 300 employees per diskette. Automatically calculates FICA, FED. TAX, UNEMPLOYMENT and much more.

ALSO AVAILABLE

ACCOUNTS RECEIVABLE $195

ACCOUNTS PAYABLE $195

INVENTORY CONTROL with

BILLING & ACCT'S REC $550

MANUALS $29.95/ea.

CUSTOM PROGRAMS & OTHERS

CAI

1st Security Bank Bldg.

3306 W. Walnut, Suite 507

Garland, TX 75042

PHONE: (214) 272-3211

With money order or certified check, orders shipped within

24 hours.

Circle 96 on inquiry card.

Circle 232 on inquiry card.

BYTE June 1979

241

(a)

(b)

(c)

1+VeT

V^~

(Golden ratio)

1-vT n

+V5)

12)'

VT

1 +v£"

rounded to nearest integer.

*h

1.61803'

Figure 2: The program of listing 4 was an iterative calculation. It turns out that there are several ways to calculate Fibonacci numbers directly which do not involve iteration. Formula (a) is an exact calculation of the ntn Fibonacci number. Formula (b) is also an exact calculation if the result is rounded to the nearest integer. Formula (c) defines a criterion for making the Fibonacci sequence pass various statistical tests which would otherwise fail: pick every ktn number where k is chosen so that the "golden ratio" to the k^n power is relatively large compared to the low order portion of the Fibonacci numbers which is used as a random number output.

pocket calculator (or maybe your computer?) using formula a of figure 2. We know the answer is 6765, from table 1. This formula produces the exact answer, but we can get it with a little less calculation by using formula b in figure 2. The term (1 + \/5) / 2 is known in the mathematical literature as the "Golden Ratio" and is often symbolized by the Greek letter * (phi). If formula b is evaluated and then rounded to the nearest integer, it will produce Fn. You might try this, again, with n = 20.

The Golden Ratio assumes importance when using the Fibonacci series random number generator, because it is used as a "correction factor." The results of the generator, aside from being somewhat predictable as shown in table 1, fail many of the statistical tests usually applied to random number generators. A big improvement can be made in the results if we use only every ktrl number, where k is almost any number

100 PRINT "INPUT ANY ODD INTEGER";

110 INPUT N

120 LET X = N* 65539

130 LET Y = X * 0.4656612873077392578125E-09

140 PRINT X ; Y

150 END

Listing 5: A BASIC program to calculate one cycle of a pseudorandom sequence using the power residue method. This particular program is the algorithm used for a 32 bit machine as found in the IBM System 360 and 370 "Scientific Subroutine Package," IBM Publication Number H20-0205. In the source document cited, this algorithm is given as a FORTRAN subprogram named RANDU.

which will make the Golden Ratio to the kth power relatively large. Figure 2c is the required formula. If this modification is implemented, and k is large, your calculating time for each random number that is to be used will greatly increase, but you'll have numbers that are about as good statistically as any other method.

Power Residue Calculations

A third general class of pseudorandom number generators is called the Power Residue Method. It is this method that is usually favored by hardware manufacturers, software writers and mathematicians, because long periods prior to repetition can be assured, and the numbers generated hold up well to statistical tests for randomness. The method is, however, machine dependent since it relies on the word size of the machine. The Power Residue Method is the method employed in RANDU, an extremely popular random number generator appearing in the "Scientific Subroutine Package" (IBM publication number H20-0205) for the IBM System 360 and 370 computers. The publication gives a FORTRAN listing of this subroutine and documentation on how to use it, and also delineates a FORTRAN listing and instructions for use of GAUSS, which is a program for producing a normal distribution of random numbers. The methods can easily be extended to distributions other than the normal. Background on the number theory aspects of the Power Residue Method can be obtained in another IBM booklet, "Random Number Generation and Testing" (IBM publication number (C20-8011).

Listing 5 shows a BASIC version of a program to produce one random number on a 32 bit machine. The program can be easily modified, of course, along the lines we followed for the center squared and Fibonacci methods covered earlier. The multiplier in line 130 is 2~^< and of course you'll be rounding it to fit your particular BASIC compiler. Line 130 simply transforms our new random number X into a floating-point version between 0 and 1, which is a more usual way of delineating random numbers. With a 32 bit machine (1 sign bit) we use 2~"', and this would be changed to correspond to the particular machine upon which the method is implemented. The multiplier in line 120 is also machine dependent. It has the form: 8i ± 3, where / is any integer. The trick here is to choose /, such that the resultant multiplier is close to 2"l*. Since b = 32 for this example (b is the number of bits), then we

242 June 1979 © BYTE Publications Inc

PRICE: $129.00

We also carry the SYM-1 Microcomputer with manuals $269.00

Circle 326 on inquiry card.

VAK-1 MOTHERBOARD

• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers

• Standard KIM-4* Bus

• Fully buffered Address and Data Bus

• Provides 8 expansion board slots

• Complete with rigid card-cage

• All IC's are socketed

• Provides separate jacks for one audio-cassette, TTY, and Power

• Completely assembled (except for card-cage)

We manufacture a complete line of high quality expansion boards. Use reader service card to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00 U.S.) for airmail delivery of our complete catalog. 'Product of MOS Technology

J]rnb>

ENTERPRISES

INCORPORATED

2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564

want the multiplier to be close to 2'° = 65536. If/ = 8192, then the multiplier will be 65536+3=65539. The seed multiplied by the multiplier produces a product which is 2b bits long and we discard the b high order bits, and the remaining b low order bits become the random number and the input seed for the routine for the next number. Using this method we will get 2"~2 terms before repeating. Actually, the sign bit doesn't count, so we'll have 2-*' "" * or 2 , or over half a billion numbers before repeating. I'm not about to try and prove this, but I will give it a "go" with a smaller machine assumed.

Let's assume a 6 bit machine. This should produce 2" ^, or 2^ = 16 numbers before repeating, and that shouldn't be too difficult to inspect manually. We want a multiplier of the form 81 ± 3 which is close to 2b/2 - 26/2 = 23 = 8. If / = 7, we'd have 8X1+3=11 and 8X1-3= 5. Both of these possibilities are equally 3 away from our desired value of 8, so let's try both. Table 2a shows how we get started using 5 as the multiplier, and table 2b shows the whole cycle of all 16 numbers produced. Table 2 also shows that if we had chosen a multiplier of 11 the procedure would

also have produced 16 numbers before repeating.

You've probably noticed that the two columns of numbers in table 2 just don't look too random. Both columns have numbers that always end in 1. For the 11 multiplier case, the 4tn digit is always 0, and the 5tn digit alternates between 0 and 1. For the 5 multiplier case, the 5tn digit is always 0 and the 4t'1 digit alternates between 0 and 1. Obviously the low order bits are far from random. If you wanted random digits, and not random numbers, it would obviously be to your advantage to choose high order bits, or possibly the bits you discarded when you cut the product from 12 to six bits. The usual scheme, after developing the numbers in table 2, would be to place the binary point at the beginning of the 6 bit numbers, and thereby transform the whole list to a distribution between 0 and 1.

Testing Randomness

Tests of the randomness of a series of numbers usually fall into one of two major categories, those that examine the digits appearing in the numbers and those that

KIM ANALOG INPUT

Analog to Digital Conversion System for the KIM Computer

dive the KIM the ability to sensei niessurei and control the uorXd around it with DAM SYSTEMS nodules. Just. Plus* the KIMSET1 into the KIM to stet 16 channels of analog input. Screw terminals are provided for each channel so you can hooK up JoysticKs* pots* or whatever appropriate sensors you have.

Each of the 16 analos inputs* in the ransie of 0 to S.12 volts* is conver ted to a decimal nunber between O and 255 (20 millivolts per count). Conversion time is 100 microsconds.

The KlMMOEi provides one user port as well as a DAM SYSTEMS port.

Software is provided.

Og^!

- 24 INCH INTLOCONNECTCABLE

3 ['

INTERFACE MODULE

K1MSET 1 1-AIM181 - 16 ANALOG INPUTS - 8 BITS ■ 100 MICROSEC

I-KIMMOD I-CABLE A24 1-yANUOD1

1-P0W1 - POWER MODULE

KIMSETIo for 110 VAC $289 KIMSETU (or 230 VAC $ 295

Ordar direct or conlkct your loc.il computir nor.

CONNECTICUT microCOMPUTER, Inc.

750 POCONO ROAD BftOOKFIELD, CONNECTICUT 06804 TEL: (203) 775-9659 TWX: TLX: 7104560052

VISA AND M/C ACCEPTED-SEND ACCOUNT NUMBER, EXPIRATION DATE AND SIGN ORDER.

ADD S3 PER ORDER FOR SHIPPING h HANDLING- FOREIGN ORDERS ADD 10% FOR AIR P0STA0E

Circle 78 on inquiry card.

lune 1979 © BYTE Publications Inc

243

(a)

1. Choose an odd integer starting value. We'll choose the 6 bit number 1 00001 (simply because it'll be easy to multiply).

2. Choose the multiplier. (We've already decided on 5, binary 101.)

3. Compute the product. (100001) * (000101) =000010100101

4. Cross out the first six bits, and you have the new number.

000010100101 = 100101

5. (100101) * (000101) =000010111001 = 111001

6. (111001) * (000101) = etc.

(b)

Starting seed

n(1)

n(2)

n(3)

n(4)

n(5)

n(6)

n(7)

n(8)

n(9)

n(10)

n(11)

n(12)

n(13)

n(14)

n(15)

n(16)

Multiplier = 5 (0001012)

Multiplier = 11 (0010112)

"\

100001

100101 111001 011101 010001 010101 101001 001101 000001 000101 011001 111101 110001 110101 001001 101101

100001

^

-^~ 100001

101011 011001 010011 010001 111011 001001 100011 000001 001011 111001 110011 110001 011011 101001 000011

a» 100001

Table 2: The power residue method, adapted to a 6 bit example with two possible multipliers. The algorithm is shown at (a), and the complete set of 16 pseudorandom output states is listed in this table at (b). Note the deviations from randomness apparent in the regular patterns seen in the two low order bits of each number.

treat the numbers as points in the interval 0 to 1. Some tests can handle either case, of which the Chi-square test is one. It can be applied directly to the digits produced, or to groupings of the digits, or we can divide the interval 0 to 1 into subintervals and see how many of the random numbers fall into each of the subintervals and apply the Chisquare test to see if the distribution is biased.

The Chi-square (symbol X^) statistic looks somewhat formidable, but in reality is easy to work with. The formula is:

X2

k

2

i=1

(oi

ei)

K

where e; is each expected frequency, and Oj is the actual observed frequency. If we had a generator which produced 250 digits we would expect each of the digits 0 through 9 to appear 25 times, although the digits might actually appear more or less than 25 times. Assume that your random number generator has just produced a series of 500 digits. You count all the zeros, ones, etc, and tabulate these observed frequencies (as in table 3) along with the expected frequency in each case of 50. You have counted 58 zeros, 28 ones, etc. You next put these observed and expected frequencies into the X^ formula and arrive at an answer of 46.45 as shown. At this point we need to turn to a Chi-square distribution table, which can be found in the back of almost any statistics book. Table 4 shows a portion of such a table and will suffice for most of our needs for uses like this application of the Chisquare statistic. The table is entered after you calculate the "degrees of freedom" in the column labeled "v" and after you

Digit

0

1

2

3

4

5

6

7

8

9

Sum

Observed frequency

58

28

40

34

70

62

72

36

40

60

500

Expected frequency

50

50

50

50

50

50

50

50

50

50

500

X2

(58-50)2 (28-50)2 (40 - 50)2

50

50

50

(60 - 50)2 + — = 46.56

50

Table 3: A random number sequence can be tested with various statistical measures. One excellent test is the Chi-square test, here illustrated with a hypothetical single digit decimal random number generator with the observed frequencies shown in a trial of 500 cycles of calculation. If the result were truly random, of course, the expected frequencies of each digit would be uniform. The Chi-square test involves calculating the characteristic number shown by the formula here (using this table's data). This characteristic number is then used with a statistical reference table of the Chi-square distribution and the number of degrees of freedom allowed by the statistics (here v=9), to check the quality of the pseudorandom sequence.

244 |une 1979 © BYTE Publications Inc

SCIENTIFIC SOFTWARE

DPFUN is a 16-digit precision scientific subroutine package written for Microsoft extended & disk BASIC interpreters, including TRS-flO level II BASIC. The thirteen doubleprecision exponential, logarithmic, trigonometric & inverse trigonometric functions provide a valuable utility for serious engineering & scientist applications,

DP! UN uses truncated continued fraction algorithms that fully exploit the precision available in 64-bit binary floating point notation. The code has been optimized for speed & is designed to be easily appended to& called by any user program. The complete set of BASIC subroutines occupies 2.5K.

DPFUN source code, only $10 ppd. DPFUN on 8-inch CP/M disk, $20 ppd.

Miken Optica! Co.

53 Abbett Ave.

Morristown, NJ 07960

(201) 267-1210

Circle 234 on inquiry card.

cc

/ f

RECREATIONAL PROGRAMMER

A

QUALITY SOFTWARE!

Tl & HP Programmables BASIC for most computers

LU Q_

O CO

(/)

CC

GAMES ALGORITHMS-PUZZLES STOCK ANALYSIS- AND MORE!

OVER 30 PAGES BIMONTHLY!

ANNUAL SUBSCRIPTION ONLY S12 within USA & APO/FPO's

S24 Foreign by AIRMAIL Single issue for S3 incl P&H

VISA and MASTERCHARGE OK! CALL (616)343-3546 NOW! Box 2571 Kalamazoo Ml 49003

TRS-80 disc software

WORD PROCESSOR Avoid work processor

converted from other system. Hard to load

object file & cannot store text in disk. Ours is

specifically designed for the TRS-80. Written in

BASIC. No special hardware and text limit. $39.

INVENTORY While others use inefficient

sequential file, we use 9-digit key for fast on-line

random access. Reports give order info,

performance summary, etc, $39.

MAIL print report & labels sorted by any field.

Random access, special buffering technique.

$35

DATA BASE MANAGER You can maintain a data

base S. produce reports without any

programming. Define fields, types, screen S.

report formats on-line. Almost use up the

required 32K memory. $49.

KEY RANDOM ACCESS UTIL hashing, blocking,

buffering, auto I/O error retry. Put your disk into

optimal use. $19.

ACCOUNT manage client accounts & account

receivable. Remark fields for general use.

Automatic billing & transaction recording. 32K

req. $59.

Full documented. Fast delivery. Our competitors

offers $99 cassette word processor, $90 'on

memory' inventory, inflexible mail system, 1BK

data base.

MICRO ARCHITECT

96 Dothan St., Arlington, MA 02174

Circle 214 on inquiry card.

MAXIMUM VALUE FOR YOUR DOLLAR

NORTH STAR COMPUTER PRODUCTS

HORIZON1 16KKIT $1275.00

16K RAM BOARD KIT $ 250.00

32K RAM BOARD KIT $ 475.00

VERBATIM DISCS FOR NORTH STAR

BOX OF 10 $29. POSTPAID

COMPLETE SYSTEMS AVAILABLE

CUSTOM SOFTWARE FOR NORTH STAR SYSTEMS

CASIO CALCULATORS AT DISCOUNT PRICES

MANY OTHER SUPER VALUES WRITE OR CALL:

A.E.I.

3851 HACKETT AVE.

LONG BEACH, CALIF. 90808

(213)421-4815 (213)429-0535

save more than 20%! NORTH STAR XITAN

the smartest computers at the smartest price DOUBLE DENSITY

HORIZON-1-16K kit, list $1599 $1279

Assembled & tested, list $1899 $1519

HORIZON-2-32K kit, list $2249 $1799

Assembled & tested, list $2549 $2039

PASCAL for NORTH STAR on Disk $49

Powerful NORTH STAR BASIC FREE

XITAN computers-NOW-With QUAD DENSITY DISKS!

Famous XITAN Software & BASIC FREE

HORIZON & XITAN are S-100, Z-80-THE BEST

INTERTUBE II Terminal, list $995 $795

NEW: Our VIDEO BOARD CODE on Disk! Now you can run our computers on a TV! Save $HUNDREDS

TV Code on DISK $10 LISTING FREE

Business Software, Terminals, Printers, Computers in stock & special-ordered. Other brands at good discounts. Ask! Which Computers are best? BROCHURE FREE

AMERICAN SQUARE

COMPUTERS

KIVETT DR, JAMESTOWN NC 27282

(919)883-1105

Circle 5 on inquiry card.

ELECTROSENSITIVE PAPER

MANUFACTURED TO SPECS

OF AXIOM, CENTRONICS,

SCOPE, UNIVAC, RADIO

SHACK, etc.

CALL: 301/840-954S

GENERAL SCIENTIFIC CORP PO BOX 8148, MVS

GAITHERSBURG, MD 20760

VISA

MASTER CHARGE

Circle 21 on inquiry card.

Circle 143 on inquiry card.

Scotcli

BRAND

Diskettes

Order Direct:

2 for $11.75

5 for $26.45

10 for $49.75 (Hard Box)

Price Includes Shipping

(Hawaii, Alaska & Canada add $1.00 shipping) VISA, Master Charge. Check, Money Order

740-0 - 8" Soft Sector 740-32 -8" Hard (32) Sector 744-0 - 5" Soft Sector 744-10-5" Hard (10) Sector 744-16-5" Hard (16) Sector

Mass. residents add 5 % soles tax.

cpu

I 99F

COMPUTER PACKAGES UNLIMITED

99 Reservoir St. Holden, MA 01520

(617)829-2570 Div. olSCB Inc.

r———-_-.

j (• APPLE )[

1 SUPER SALE

| 16K Apple II $1029.95 j

Integral Data

IP225 Printer

with graphics $1095.00

Apple Soft Cards $159.95

Carrying Case $29.95

Super Mod $29.95

Printers—call for price

UCATANCORP.

P.O. Box 1000

Destin, Fla. 32541

904-837-2022

| Cred it Cards Accepted |

GLARE FILTER

HIGH CONTRAST

SHARP RESOLUTION

MICRO-POROUS OPTICAL FILTER

FOR HOME COMPUTER CRT'S

With Filler

TRS80 16.95 PET 12.95

ADM3A 16.95 Some 10 120 16.95

Hazeitine Southwest Tectt. 16.95

1400-1500 16.95 Micro-Term

Perkin Elmer 16.95 Act V 16.95

Easily Installed • Instructions Included

For information on other models

dial (41S) 456-8909

SUN-FLEX COMPANY, INC.

3020 Kerner Blvd. • San Rafael, CA 94901 Check/money order Visa/Mastercharge

Circle 67 on inquiry card.

Circle 380 on inquiry card.

Circle 358 on inquiry card.

Table 4: An abbreviated portion of a standard Chi-square table used as described in the text to check the quality of a pseudorandom sequence.

Figure 3: Several formulas for the run test of a pseudorandom sequence.

V

x2995

x299

x295

x290

x275

1

7.8S

6.63

3.84

2.71

1.32

5

16.7

15.1

11.1

9.24

6.63

9

23.6

21.7

16.9

14.7

11.4

10

25.2

23.2

18.3

16.0

12.5

19

38.6

36.2

30.1

27.2

22.7

24

45.6

43.0

36.4

33.2

28.2

determine the level of significance you want to test. The degrees of freedom in our case are 10 — 1 =9. This simply means that after we have determined nine of the observed frequencies, the 10tn one is fixed. The frequencies have to add to 500, so we have "nine degrees of freedom." Traditionally, the Chi-square statistic is used to test the hypothesis that the numbers are randomly distributed. If the computed value of Chi-square is greater than the critical value read from the table, we would then conclude that the observed frequencies differ significantly from the expected frequencies and we would reject the hypothesis of randomness at whatever level of significance we select. The levels of significance often used are 0.05 and 0.01, corresponding to the X2 _g5 and X2 99 columns respectively, in the table. Going back to our example, we calculated a value of 45.56, but in the table for nine degrees of freedom and at the .01 level of significance, we see that the critical value of Chi-square is 21.7. Since 46.56 > 21.7 we therefore conclude that the observed distribution of numbers produced by our generator differs significantly from the expected distribution at the 0.01 level of significance, and we therefore cast considerable suspicion on our random number generator. As previously mentioned, we could take our list of generated numbers in the 0 to 1 interval and set up some subdivisions of this interval. Next, we could see how many of the numbers fell into each subinterval, calculate the expected frequency for the subintervals, and apply the Chi-square test in the same fashion.

A second test frequently applied to random numbers is called the "poker test," but is in reality similar to the frequency test already considered. In the poker test we

Run length

Formula

1 2

(5n + 1) /12 din- 14) /60

k (for k<n- 1)

2 | (k2 + 3k +1)n- (k3+3k2-k

-4) [ /(k + 3)!

n- 1

2 /n!

look for specific combinations of digits. For example, suppose we are generating 5 digit integer random numbers in the interval 00000 to 99999. Probability theory tells us the number of numbers we should have where all digits are the same, like 22222 or 66666 etc. We can also calculate the expected number of pairs, three-of-akind and full houses, etc. The Chi-square test can be applied to the analysis of the results.

A very similar test, called the "gap test," can be applied in like manner to the distances separating two like digits or two like groups of two or more digits. Again, Chisquare is a useful statistic in the analysis of these findings. The power residue method satisfactorily passes the poker test, the gap test and the usual frequency test; however it often fails to pass tests which consider runs of numbers. We've already seen how the power residue method produces certain predictable results, so this should not come as a surprise. However, if we are generating random numbers instead of random digits, this is not a big problem. A study of the runs up and down is often a good test to determine which multipliers are better than others when you use the power residue method, and the "run test" will also consistently prove that the Fibonacci series method will not produce the predicted number and lengths of runs. Taking, for example, a long string of random generator produced bits, we would count the number of strings of zeros bracketed by ones for each length, from one, on up to the longest string length. Number theory helps us determine the number of total runs we should have for both the ones and zeros. Figure 3 shows how to calculate these lengths, assuming "n" bits. There are several special tests similar to the run test, for example: "runs above and below the mean," etc. And, as usual, the Chi-square test is frequently applied to see if the actual results are reasonable.

I can't guarantee all of the above will help you program your computer to play interesting Star Trek or sophisticated OneArmed-Bandit games but at least you'll be able to come up with generators that are biased in your favor."

246 June 1979 © BYTE Publications Inc

^ Year-End Clearance! ^

CRT's

595

We Buy-Sell-Trade all brands & models of Data Processing Equipment.

jl^

I

Hazeltine 2000 110 thru 9600 Baud Editing Detached Keyboard TTY or Batch Modes 74 Col. x 24 Lines Format, Auto-Tab

Nearly a million dollars in inventory

Call for price quotes

214/357-5725

U.S. BROKERS INC. £

A Division of CM Corp. V

2636 Walnut Hill Lane X

Suite 347 \

fj Dallas, Texas 75229 \

I

The best choice in mainframes !

• S100CARO FRAME • AXIAL BLOWER

• 22 MH/ 12" CRT MONITOR • ASSEMBLED & TESTED

• 18 AMP POWER SUPPLY • READY FOR YOUR CARDS

• UPPER & LOWER CASE • S995.00 ASCII KEY BOARDS

VERY A TTRACTIVE O.E.M AND DEALER DISCOUNTS AVAILABLE.

MBH INFINITE INCORPORATED

1921 WAVER LY PL.. MELBOURNE. FL 32901 -PHONE (30<i) 724-1588

Custom Built

Computer

Desks

We custom build each computer desk to individual customer requirements. All surfaces are Formica; many wood grains & solid colors available. Send us your design, or let us design a module for you. Priced from $215. Call or write:

GOWAN INDUSTRIES

PO Box 470

Zoar, Ohio 44697

(216)874-3666

Circle 383 on inquiry card.

Circle 177 on inquiry card.

Circle 154 on inquiry card.

APPLE II TINY BUSINESS SOFTWARE ACCOUNTS RECEIVABLE - 100 customer accounts max, 8 transactions/ month/customer (typical), month end and individual postings, automatic interest calculations. $75.00

ACCOUNTS PAYABLE - 100 payable accounts max, 8 transactions/ monthly/payabie (typical), month end posting. $75.00

PERPETUAL INVENTORY CONTROL

100 suppliers, 900 individual inventory items, heuristic reorder procedure. $100.00

All of these programs have random record access, easy addition and deletion of items, password protection on sensitive procedures.

MIN. REQUIREMENT 48K APPLE II, one disk OPT. REQUIREMENT 48K APPLE II, two disks These procedures for screen environment, printer options available soon. DOCUMENTATION only for the above $ 1 0 ea. CHECK OR MONEY ORDER ONLY 1 DEALER INQUIRIES WELCOME

EI CUSTOM COMPUTING

(an S7K 2flS — (306) 242-7808

apple tv & computing GRAND OPENING SALE!

An introductory sale! Every PET ordered this month will come with Full size . .

BIG KEYBOARD ONLY $895

or, the standard 8k PET $775

NEW!! . . . PET MiniFloppy $595

16 K and 32 K PET NOW AVAILABLE

PET 2021 Printer $549

80 column electrostatic with full graphics

PET 2022 Printer $995

Forms tractor and graphics

Dual Drive Floppy for PET $1 295

TRS 80 toS100 Interface (Kit) $190

We Have The BALLY Computer System And SOFTWARE for BALLY BASIC on audio cassettes. Write for list of titles

apple tv & computing

(213) 559-4268

2606 S. Robertson Blvd.

Los Angeles, California 90034

Circle 72 on inquiry card.

Circle 10 on inquiry card.

yi :lWfMM¥fl.

64K RAM BOARD

The Zg-SYSTEMS 64K RAM board is designed to operate in any Z80 based microcomputer having S-100 bus. It uses 16K dynamic HAM chips, & features:

— Board select

— Bank select

— Transparent on-board refresh

— 2 or 4MHz operation (w/ no wait state)

— Memory disable Compatible with Cromemco system

Fully assembled, burned in, & tested

Available from stock to 60 days As low as $500.00 in quantities of 100

Price of one $649.00

PC board only $59.00

With 16K RAM $359.00

Plus shipping charges

zs SYSTEMS

PO Box 1847, San Diego, CA 92112 (714) 447-3997

Circle 401 on inquiry card.

FOR TRS-80™ OWNERS

T-PAL

Programming Amateur's Letter

THE "DO-IT-YOURSELF" SOFTWARE NEWSLETTER

Published Monthly, We'll Teach You All The Latest Wrinkles — How To Get The Most Out of Your Computer

Graphics • Games • Personal

Home • Business • Finance

And Much More!

$24/year... or write for FREE Details

THE MAIL MART

Box B 11102 San Francisco, CA 94101

EPROM PROGRAMMER

The EDD 1001:

• Programs 2704.2708.TMS2716,12716, I2758

• Plugs into your empty EPROM socket

■ Is provided with complete driver listing for

8080/Z80 systems lalso available on EPROM I

■ Requires external 30-37V unregulated

EDD 1001 EPROM Programmer Kit Driver program on EPROM Manual only (refundable with order I ICA residents add 6% sales taxi

EPOCH DATA DEVICES

PO. Box 2 2037

San Diego, CA 92122

1714] 481-1753

S75 ppd

$25

$4

Circle 199 on inquiry card.

Circle 132 on inquiry card.

6800 SS50 16K SYSTEMS

Includes: Mainframe cabinet, mother board, power supply, fan, CPU, 16K static RAM. and choice of I/O

card $1294.29

Other packages available.

16K STATIC RAM BOARDS — SS50

Gold Bus connectors — DIP switch controllable addressing, write protect and enabeling of each 4K

block. Tested at 2 MHz Assembled $298.13

Above but socketted and with software control registers. Assembled S368.16 TI TMS 4044's:

450 ns $5.00 each

250 ns $6.00 each

2708's $7.90 each

These are factory prime chips from siime shipments we use in

our professional quality boards

Add $10 handling on orders under S200.

cimix

inc.

1337 W. 37th Place • Chicago, IL 60609 (312)927-5510 • TWX 910-221-4055

The Company; that delivers.

Quality Electronic products since 1975. G1MIX" ami GHOST" are registered trademaite of GtMIX INC

Circle 144 on inquiry card.

$100

Melissa^B

JT/^j w^&iffl

n.

Ifgl^

IK. m^^ ^~a

Hln{|k|^^p^^^*^HB

^Kr^^S»!??^a^^x

KcOLORING j8j

K^

took ^yi

^^jpre J. Cohen and Jacqueline H. Bray

A 32-page Coloring Book about Computers

written and illustrated by Theodore Cohen and Jacqueline Bray

The Magic Machine is an introduction to computing for young children. The drawings and text show how two children

find uses for a computer in their home.

The Magic Machine will help the child in your life to

understand some of the functions of computers in his

world, and to better understand the importance of computing

in your world.

The Magic Machine comes COMPLETE WITH CRAYONS,

and is lots of fun to color and read.

ISBN 0-931718-17-1

$2jOO

Buy this book at your favorite computer bookstore or order direct from BYTE BOOKS Add 50c per book for postage and handling

BUI

MUMS

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

70 Main Street, Peterborough, New Hampshire 03458

248 BYTE June 1979

Circle 36 on inquiry card.

The Physicians Microcomputer Report

The Physicians Microcomputer Report is a monthly publication for doctors who wish to become better informed about the computer and its application in the field of medicine. Some of the features include: software news, calculator corner, computers in patient health care, microcomputer hardware news, the bargain market, and computer articles of special interest to the physician. Additionally, the report contains articles on nonmedical applications such as linking your computer to a stock portfolio information center. Another intent of this publication is to facilitate the exchange of information between physicians who own computers. For this purpose the magazine has a listing of user groups.

The Physicians Microcomputer Report is available for $25 a year and $ 12.50 for students. Contact Dr Gerald M Orosz, POB 6483, Lawrenceville NJ 08648.

Circle 591 on inquiry card.

Attention Readers, and Vendors...

Where Do New Products Items Come From?

The information printed in the new products pages of BYTE is obtained from "new product" or "press release" copy sent by the promoters of new products. If in our judgment the information might be of interest to the personal computing experimenters and homebrewers who read BYTE, we print it in some form. We openly solicit releases and photos from manufacturers and suppliers to this marketplace. The information is printed more or less as a first in first out queue, subject to occasional priority modifications. While we would not knowingly print untrue or inaccurate data, or data from unreliable companies, our capacity to evaluate the products and companies appearing in the "What's New?" feature is necessarily limited. We therefore cannot be responsible for product quality or company performance.

Complete Microcomputer System from Gimix

Gimix Inc has announced its complete System 68 microcomputer. It features the following: a ferro-resonant constant voltage power supply; an SS-50 motherboard (15 50 pin and eight 30 pin gold plated slots); a 6800 processor board that holds four 2708s and three independently programmable software timers; the Gimix 16 K byte software readdressable static programmable memory boards organized into four separately controllable 4 K byte blocks, which allows the user as much memory as can be contained in the mainframe.

Dual-in-line package switch features allow use of existing SwTPC and MSI compatible software. The system is video based using the Gimix video board and advanced GMXBUG 3 K byte read only memory monitor that contains the standard utility functions plus routines that facilitate software development.

The price of $1395 includes the motherboard, switches, fan, power supply, video board, 3 K GMXBUG version

2, 8 K byte static programmable memory, 2 port parallel I/O (input/output) board, cable and two disk regulator board. For further information, contact Gimix Inc, 1337 W 37th PI, Chicago IL 60609.

Circle 590 on inquiry card.

TRW LSI Products Introduces New Generation of Multipliers

A new series of monolithic multipliers, designated the MPY/HJ series, provide n by n bit multiplication of 24, 16, 12 and 8 bit numbers. All four multipliers have improved input registers that feature simplified clocking so that no data-hold time (clock overlap) is necessary. The three largest multipliers (MPY-24, -16 and -12HJ) feature improved output registers that can be made transparent for asynchronous output. They also feature a programmable selection of output product formats and can intermix two's complement numbers with numbers in absolute magnitude in the same operation.

All the new circuits are plug compatible with their first generation counterparts. Inserting one into a socket wired for an /AJ device automatically masks out the new /HJ features while still providing faster operation and reduced power consumption.

The MPY-24HJ contains a new shift and normalize feature, and yields a 48 bit product in 200. ns. The MPY-24H) is supplied in a standard 64 pin dual-inline package. The MPY-16HJ produces a 32 bit product in 100 ns and is pin compatible with the older 16 bit multi

pliers. Like the MPY-24HJ, it can be expanded to operate on 32, 48, 64 and larger numbers. The MPY-12HJ multiplies a pair of 12 bit numbers and yields their product in 80 ns. It is ideal for digital signal processing applications such as fast Fourier transforms and digital filters. The MPY-8HJ produces a 16 bit product in 65 ns. A fast version of the 8 bit multipliers called the MPY8HJ-1 is being offered. It produces a 16 bit product in 45 ns and is intended for use in digital television systems. Prices are $59 for the MPY-8HJ; $71 for the MPY-8HJ-1; $103 for the MPY-12HJ; $157 for the MPY-16HJ and $310 for the MPY-24HJ. For more information, contact TRW LSI Products, POB 1125, Redondo Beach CA 90278.

Circle 592 on inquiry card.

June 1979 © BYTE Publications Inc 249

What's New?

MISCELLANEOUS

Zilog Announces Availability of 16 Bit Z8000 Microprocessor

Zilog Inc has announced the availability of a Z8000 microcomputer processor circuit that offers users the architectural resources of mini and large mainframe computers in a single circuit device. The processor is available in two versions: the Z8001 in a 48 pin ceramic dual-in-line package that allows the user to address up to 8 M bytes of memory; and the Z8002 in a 40 pin ceramic dual

in-line package. The 40 pin Z8002, designed for smaller, less memory intensive applications, is compatible with the 48 pin Z8001, but the 40 pin processor's addressing is limited to 64 K bytes in each of its 6 address spaces.

A scaled N/MOS depletion load silicon gate device, the Z8000 processor densely packs 17,500 transistors on a device which is 238 by 256 mils. The Z8000 is designed for both minicomputer and microcomputer applications. The Z8000 contains 24, 16 bit registers that reduce the number of memory references needed in programming. Sixteen of those registers are general purpose. The Z8000's problem solving instruction set supports seven different data types from single to 32 bit words, has 8 addressing modes, and 418 usable op code combinations.

Pricing for the Z8001 is $195 for 1-9 pieces, $162.50 for 10-99 quantities and $140 for lots of 100 and up. The Z8002 sells for $150 for 1-9 quantities, $125 for 10-99 pieces, and $107.10 for lots of 100 and up. For further information contact Zilog, 10340 Bubb Rd, Cupertino CA 95014.

Circle 61 5 on inquiry card.

28 Page Brochure on Computer Graphics and Imaging

Lexidata Corporation, 215 Middlesex Turnpike, Burlington MA 01803 offers a free 28 page brochure describing the relative advantages of various display technologies and comparing them to its new System 3400 Video Image Processor. Interfacing, system software, application, and hardware options are covered in detail.

Circle 618 on inquiry card.

New Software Compatible With Any Z-80 or 8080 CP/M System

Circle 616 on inquiry card.

Graham-Dorian Software Systems has developed four complete software program packages for payroll, inventory, cash register, and apartment management. All programs are compatible with any Z-80 or 8080 CP/M system, and can be ordered in eight inch (double or single density) or five inch floppy disks. Each program package contains a disk with CBASIC-2 compiler, CBASIC-2 run command, the Graham-Dorian software program in INT and BAS file form, plus a users manual and hard copy source listing. The four programs sell for $695 each. One CBASIC-2 is free with a program order, others cost $89.95 each. For further information contact GrahamDorian Software Systems, 211 N Broadway, Wichita KS 67202.

Text Processing Software

Digitan Systems Inc has announced a text processing system which uses special commands for text formatting applications. It is intended for use with 8080 and Z-80 microcomputer based systems. The commands include multiple line spacing; left and right margin control; indenting; paging; optional right margin justification; centering and underlining text; no-frill modes; automatic page numbering; page and line length control; and the printing of left, right and center header titles and footer titles with optionally different titles based on even and odd pages. Also included is the ability to input extra data from a file or the console terminal during the formatting process.

The text processing system will automatically loop for repeated formatting applications such as form letters. A preprocessing program is able to select a subset of the extra text data according to a user specified matching pattern. The output of the text processor can be directed to either the console terminal, line printer, or a disk file.

The source code of the text formatter has been written in CBASIC and runs under the CP/M operations system. It is available on eight inch floppy disks with a comprehensive manual at a cost of $250 per copy. A well documented source code is also available for an additional fee. For further information contact Digitan Systems Inc, 5001 16th Av, Brooklyn NY 11204.

Circle 617 on inquiry card.

A Powerful Disk Based Operating System for 6800 Microprocessors

The CP/68 operating system for the 6800 family of microprocessors furnishes big system features and capabilities for microcomputers. A combination of memory resident and transient commands provide the system's flexibility. With the CP/68 operating system it is possible to add your own commands to the system. PIP (Peripheral Interchange Program) allows transfer of data between physical devices. Wildcard operation of all disk commands lets the user specify files either ambiguously or unambiguously.

Other features of the operating system are complete device independent I/O (input/output); sequential and random file access methods; dynamic allocation and expansion of files; command files; and chaining and overlaying of user programs. It fits in less than 8 K bytes and can be relocated anywhere in memory; the extended instruction set includes 19 new 6809-type instructions (PSHX, PULX, etc); all disk operating system services are available through a single supervisor call; and it easily interfaces to new devices and peripherals.

The operating system supports functions that STRUBAL+ used to provide in its runtime package. The operating system runs on Percom, ICOM, MSI, Smoke Signal, Micropolis and SwTPC systems. For further information contact Hemenway Associates Inc, 101 Tremont St, Suite 208, Boston MA 02108.

Circle 619 on inquiry card.

250 June 1979 © BYTE Publications Inc

t z==-computer4 *\ /Products „$&

THE FIRST TO OFFER PRIME PRODUCTS TO THE HOBBYIST AT FAIR PRICES NOW LOWERS PRICES EVEN FURTHER!

1. PrOVGn Quality Factory tested products only, no re-tests or fallouts. Guaranteed money back. We stand behind our products.

1979 CATALOG NOW AVAILABLE.

Sena 51.00 for your copy ofthe most complete catalog of computer products. A must

STATICA /RAM BOARDS.

tm

&

S-100 32K (uses 2114) ASSEMBLED Kit *(/i

450ns. 599.00 450ns. 539.95

250ns. 699.95 250ns. 599.95

Bare Board 49,95 Bare Board w/all parts less mem. 99.95

bit!

S-1OO 16K (uses 2114) KIT (exp. to 32K)

ASSEMBLED 450ns. 279.00

450ns. 325.00 250ns. 299.00

250ns. 375.00

Bare Board 49.95

LOCOS I8K

ASSEMBLED

450 ns. 169.95 KIT 450ns. 125.95

250ns. 189.95 250ns. 149.95

Bare PC Board w/Data S21.95 Now over 1 year successful field experience

Special Offer" Buy (4) 8K 450ns. Kils S117.00

ra

FLOPPY DISK DRIVES

1. VISTA V-80 MINIDISK FOR TRS-80

♦ 23% More Storage Capacity-40 Tracks

• Faster Drive - S N. Uo to 8 Times Faster laflsool

2 Drive Cable Add S29.95 l"—">~// 4 Drive Cable Add $39.95 '

2. VISTA V-200 MINI-FLOPPY SYSTEM

* 204K Byte Capacity * w/CPM. Basic"E"

* One Single Sided, if~—*^ Double Density Drive f V-2C*C*N

* One Double Density le99.00J Controller w/Case & P.S.V S

Add to your EXIDY, HORIZON, etc.

3. VISTA V-1000 FLOPPY DISK SYSTEM

• (2) Shugart 800-R 8" Floppy Disks + Controller Card. Cable, s^~^v

Case J, PS /V-10OON

*CPMS Basic "E", (1699.00;

Instructions S Manual ^v_/

4. MPI B51-5V."^40 tracks 279.00

5. ShugartSA400-5H", 35 tracks.... 295.00

6. Siemens/GSI FDD100-8 8" 375.00

7. Shugart 800/801 R 8" 495.00

8. PERSCI Model 277 Dual 1195.00

EXPANDORAM MEMORY KITS

* Bank Seleclable * Uses 4115 or 4116 200 ns. Write Protect * Power 8VDC, ±16VDC + Phantom * Lowest Cost/Bit

Expando32Kit(411S) Expando64Kit(4116) ~ 8K S179.00 " 16K $248.95

16K S229.00 32K $369.00

24K $299.00 48K $469.00

32K $349.00 64K $565.00

IMS STATIC RAM BOARDS „,.»

* Memory Mapping • Low Power 4*

♦ Phantom * Assembled & tested Recommended by Alphamicrosystems

250 ns^ 450 ns^

8K Static $209.00 $189.00

16K Static $449.00 $399.00

32K Static $799.00 $699.00

ANADEX PRINTER

Model DP-8000 compact, impact, parallel or serial. Sprocket teed, 80 cols, 84 lines/min., bi-directional. New only $895.00

* 5V<" Minidiskettes * 5p.\GSoftsector, 10 Sector, 16 SectorT \^_ .$4.25 Each, 10/39.95 ovS^

* 8" Standard Floppy Disks Soft Sector, Hard Sector $4.50 Each, 10/41.95

'Add 4.95 for 10 Pack in Deluxe Disk Holder

*

MOTOROLA EXORCISE*! COMPATIBLE

9600 MPU Module w/6802 CPU $495.00

9601 16 Slot Mother Board 175.00

9602 Card Cage (19" Retma Rack Mount)... 75.00

9603 8 Slot Mother Board 100.00

9604 SwitchmodeSystem PowerSupply.... 250.00

9610 Utility Prototyping Board 36.00

9616 Quad 8K Eprom Module ***

9620 16 Channel Parallel I/O Module.... 295.00 9622 Serial/Parallel I/O Combo "*

9626 8K Static RAM Module 295.00

9627 16K Static 450ns 495.00

9630 Card Extender 68.00

9640 Multiple Programmable Timer

(24 Timers) 395.00

9650 8 Channel Duplex Serial I/O 395.00

96103 32/32 I/O Module 275.00

96702 32 Point Reed Relay Module 350.00

6800 BARE BOARDS

9620-0 $45.00 9603-0 27.00

9626-0 45.00 9600 55.00

9650-0 45.00 96103 55.00

9601-0 50.00 96702 55.00

) AMI EVK System in Stock

APPLE/EXIDY/EXPANDO TRS 80 16K-UPGRADE KIT

* 1 6K with Jumpers & Instructions

for either Levei ! or Level II S89.95

* 16K for Apple II Upgrade $89.95

Special: TRS80 Schematic $ 4.95

Expansion Interface Schematic — S 4.95

TRS 80 TO S-100

PET TO S-100 ADAPTER

Allcws Pet/TRS 80 to be interfaced to popular S-100 Bus.

Pet to S-100 Kit $189.95

Assembled $269.95

TRS80 to S-100 HUH 8100 Kit ..,.$275.00 Assembled $355.00

KEYBOARD ASCII ENCODED

One time purchase of NEW Surplus keyboards. From the Singer

Corporation. The

. . .■■-— km keyboard features 128 ■ ■■■.-r..Uv~'. m ASCI! characters in a 63 ..fj.jtrggtsitjr"TT^f key format, MOS

1 --■ ! encoder circuitry "N" key

rollover, lighted shift lock, control, escape and repeat functions. Ltd Qty 63 KEY $59.95

UV "EpronV' Eraser

Model UVs-11E $64.95

Holds 4 Eprom's at a time

Backed by 45 years

experience.

Model S-52T... $219.9S

Professional Industrial Model

TARBELLFLOPPY INTERFACE

* Z80/8080 S100 Compatible * Uses CPM Assembled lor Shugart.... SALE S220.00

Assembled Olher Drives S269.95

Kit S179.95

Bare Board .... S36.95 (Ooc. Add S10.00)

Vista Double Density 5'.V Controller

Assem S299.0Q

SD Versa FIoddv Kit SI59-95

SD Versa FIopdv Assomblccl . . ? 1 B9.95

Tarbel Cassette I/O Kit $115.00

Sale * 1771-01 Floppy Chip,... $27.95

BYTE USER 8K EPROM BOARD

+ Power on Jump + Reset Jump

AssenbledS Tested $94.95

Byteuser Kit $64.95

Bare PC Board $21.95

Special Offer: Buy 4 kits only $59.95 each

MR-8 8K w/1 K Ram $99.50

MR-16 16Kw/1K Ram S99.50

EPM-1 4K 1702 $59.95

EPM-2 2708 or 2716 Eprom $69.95

Z-80/Z-80A/8080 CPU BOARD

* On board 2708 * 2708 included (450ns.) •k Power on jump * completely socketed

Assembled and Jested $185.00

Kit SI 29.95

Bare PC Board $ 34.95

* Fot 4MHz Speed Add $15.00

8080A Kit $ 99.95

8080A Assembled $149.95

S-100 MOTHERBOARD SPECIAL

8 slot expandable w/9 conn.

reg $69.95 NOW $52.95

TARBELL FLOPPY CONTROLLER

Card assembled and tested for use with Shugart Drives $ SALE PRICE only $229.00

ACOUSTIC MODEM

NOVATION CAT'"

0-300 Baud

Bell 103

Answer, Originate $198.00

ACOUSTIC COUPLER SPECIAL

AJ MODEL A30 SPECIAL PURCHASE OF SURPLUS UNITS AVAILABILITY LIMITED $29.95

DATA BOOKS • COMPUTER BOOKS

.49.95 Intel MCS 80 Manual .. ..7.95

..3.95 Intel MCS 40 Manual 4.95

.5.95

1978 IC Master . NSCTTL Data...

NSC Linear 4.95 AMD 80S0A h

NSC Linear App Notes U . 3.95 AMD Schotlky Dalabook

NSC CMOS 3 95 AMI MOS/LSI Oala

NSCMumory 3 95 Gl MOS/L5I Dala

into! Oatabook 4.95 Harris Analog DatabooK...

Intel MCS 85 Manual 7.50 Tl Linear Control Dala

SALE • OIBONMI BOOKS • SALI

R.g.

(Vol 0. s Vol. I ..

■<Q 7 75 7.75

80 80A Progr;

6800 Programming

Z80 Programming itSQ 7 75

Vol. It Some Real Microprocessors w/Bmder 3fr00 27 50

Vol. Ill Some Real Support Devices w/Bmder 7fr*a IB 50

Inlro lo Micros Vol. III. ?fr«Q.I850

SALE • DILITHIUM COMPUTER 1O0KB • BALI

Understanding Computers '8.3fc- 7 95

SOaOMicrocomputer Eiperimenls . . TJSfc 11.95

Beginning BASIC . - .*§*. 8 95

Beginners Glossary* Guide. . B-9*. 595

Peanut Suiters Jolly Guide to Compuiers. . . T?g*. 6 95 8080 Machine Lanouaoo Programming T-94. 8 95

Homo Computers Vol I Hardware T9S. 6.96

Homo Compulurs Vol it Software. . TMi 1195

P. 0. BOX 17329 Irvine, California 92713

Send~$1.00 for your copy of~the most complete catalog c

for the serious computer user. ,

MICROPROCESSORS STATIC RAM HEADQUARTERS SOCKETS

Z-80

Z-BQA

F-6 13B50I

3650

CD1802

808OA

6030A4MHz

SALE 8085

8008-t

2901

2901A TMS 9900J L CP1B00 8502 6502A IM6 100 6800

16 95 2495 49.95 39 95 11 50 1995 29 95 16 95 2495 1750 49 95

SUPPORT DEVICES

AM 9511-1 300 ns.

388' iZ80 PIOl

3882 (Z-80 CTCi 38U2-4MMHZI B205'T4S138 Dei:

8324

MHz)

8226 B 6T26 8uS Driver 8228 Sys Centre 823B Sys Cont " Prog I/O

8253

: Tirr

8255 P

B2S7 Prog DMA

8259 Prog Inl

8275 CRT Controller

S279 Prog Keyboard

E8t 0-1 128 i8 RAM

6820 PlA

6621 PlA

G62N Pr,ority Int

6834-1 512 > 8 Eprom

6650 ACIA

6HS^ Sc-ial Adapter

63J5 HD46505CRIC"nn

6860 Modem

t.a>;...' Modulator

6871A i GMHiOSC

6875

6880 Bus Driver

MC684B8

1821 SCD IK RAM

1B22 SCD 256 > -1 RAM

1824 CD 32 > 8 RAM

185? CD 8 bit I/O

1854 Uart

1856 CD I O

DYNAMIC RAMS

416/41

2 50

2 95 9 75

3 95 2 39 595 6 25 6 95

19 50 6 50 19 50 19 50

6 50 6.50 11.00 12 95

26 00 1695 9 95

Selo

416'

41158Kt16Pin] 4050 4K . 1 (18 Pirn 4060 IK . 1 (22 full ■1096 AK . 1 116 Pin) 2104 4Kx 1 |16 Pin). 40274K < 1 116 Phi) 5261 1 95 1'

12.15

89.95 .6.95

.. 3.9S ,4r5 .. 4.95

PROMS

2708 2708-6

2751' r,V 5203AQ 5204AO

16.95 2.50 3 50 .3 50 . 6.50 2.95

SALI 6323 33 xB 3.BB

82S1IS512neiTS| 82512332x8.. . 625126 256x1 ... B2S129 256x4fISI . 82S130 512x4(OC) . NSC DM7578 32 xfl ..

CHARACTER GEN

2513-001 <5V| Upper

2513005 (5V|Lowi

2513-ADM3l5VILr

MCM657I

MCM6571A

MCM6574

MCM6575

UARTS/USRTS

TMS 601 t i5\ IM6402 IM6403 2350 USRT

SALKTR14T3B

BAUD RATE GEN

KEYBOARD ENCODERS

AY5-2376 13 76

AY5'lfiO0 l.l r*5

HD0165 9 95

74C922 9.95

74C923 9 95

A/D CONVERTERS

[■24

25-99

100

21L02 450nr,

1 30

t 25

l 15

21L02 250ns

1 59

1 55

1 45

2102

1 25

1 15

1.10

3 75

3.65

3 55

2.85

265

2.90

270

2 55

2M4L-250ns

1295

10 95

3 95

2ll4L-300ns.

695

7 95

5.45

2114L-4B0m.

7 50

6 75

4.75

■1044/4041 300ns

8.75

7.95

4044/4041 450ni

6 75

4.7 S

EMM42O0A

97

5 8 75

7 95

7 25

6 25

EMM4804

12.50

11 50

3 95

S101C-E

7 95

7 95

10 95

10 25

3 25

'0 95

1025

?25

AMD9K10 31

'2 95

11 95

'025

FSC 460 J64I6K C

1101

P2125 93-125 i45 "

(1 0.--I-,

S18 95Earn

i PflS

r J5

7 26

6506 If % 1 CMOS

7 95

7 95

7 25

65t8 iK » t CMOS

7 95

7 95

7 25

2 50

LM47LowP™er4KStatiC 1

4.95 ea.

CHARGE COUPLED DEVICES

16KCCD-First lime

limed FauchUd 460 CCD

I6K Memorv (now yo

iCCD

aWB pr

M 17 cage Acolica

er Ouanif

$18.95 each (reg.

43.00)

4CMHf

.1 m43D4MM

<1'I1£.20MH.'

1Q0KC

DISPLAYS/OPTO/LED'S

* 7 SEGMENT * CALC * CLOCKS

DL 704 ICC) DL 707 |CA| 300' Red

FND357 |CC) ,357" Red

I"NI> 500,".iO'J |C:C> 600" Red.

FND 507/510 lCA| 500" Red

rfJD 800/SD3 iCC) 800" Red

FND 807/810 (CA| .8O0" Red

. Ar-J JOB? WMi Griinn . .

HIT,.'.)fl2-7T:il ICAi 300" Red

ft OigH Bulibiu Mini Cak Display

S Digit ParKitilei Display 400"

9 Digit Fluorescent 300"

MA 1003 12V AtitnClivk Mnoule . ...1

Bezel loi MAl003w/Rcd Filler

MA1002ALED 12 hr ClocK Module

0S5

• HEX DISPLAYS * ENCODED DISPLAYS * I ^5082-7340 Red Hemdecimal . .. 1595

HP 5082-7300 Red Nyiienc . 14 95

TIL 306 Numeric w/Loq.c B.9S

TIL 308 Number w/LogiC ..6 95

TIL 309 NumOer w/Log* 8.95

TIL311 Hnxadecima! 12.95

MAN 2A 320" Red Aloha-Numeric 5 95

MAN I0A 270-Red Aipna Numeric . 895

* LED'a * OPTOISOLATERS *

LEDS Rod. Yellow. Green 185. . .. 5/100

MCT 2 Pholo XSTR HFE 250. 30V 99

4N25 Photo XSTRHFE 250. 30V .... 129

4N33 Photo Darlrnglon 175

FPT IIOBPnOtoXSTRFIalLense SALE 4/100

ATTENTION KIM USERS

KIMSAI-eirjansion to S-100 .. .125.00 K

KIMSI la KIM Connector ,

KIM 1 6502 Single Board Computer

KIM 1 Power Supply

KIM Memory Plus ■ (connisls of 8K Ram. BK2716 Eprom. Program mer.l/O etc.| KIM SOFTWARE

• Please package (cassette) 12 games

• Help Editor package (cassette)

• Help Mailing Lisl pkg (cassette),..

• Help Into RotnVal pkg (cassette)

• Mcrochess (cassette)

• Microaid Assembly/Disassem/EOilor

• Microaid Source Listing (cassette) ..

• Tiny Basic tor KIM [paper tape I..

it/165 00 5 Ts'r-i" ..17900 ...59.35

1635 1695 16.95

27.95 27.95 .10.95

COMPUTER SPECIALS

., LIST

MiPlot Pioiier .ft^H" 1085 00

KiPIoi Digrliser ^v

E<rdy y, Apple II w/16K

TEIPT208H avai RrontamceSyslll Commodore Pat Soroc 10/120 A0M3A Aasem. Tolelyiie 43 CenlrpnicaP.t CenlromcsS-t

79500 1395 00 1195 00 169500 4995.00 5990 00 795 00 995 00 39500 1349.00 495 00 595 00

SALE

899 OC 735 OC 119S0C 1045 0C 1595 CO 399500 5395 OC 765 00 695 00 829 00 1150 00 395 00 52SOO

MONTHLY IC SPECIALS

LF13508 JFET Anloo Multl B bit ICM7208 Seven Decade Counter ICM7207 O-iCl'aiO' Controller ICM7045 Precision SiO-U'alCh Timer ICL7107 S'^DigilA/DILEDI ICL6211 voiiarje Reierence . LM390BalieryOP Audio Amp LM1830 Fluid Deleclor

LMlSSOQroundFaulltC .

LM1H00 PUM Lock Loop FM Slu'i.'n LM1820 AM Rad'O.. DS3625 Dual Mos 5en.se Amp

i4HH.'!4e9 22 Pin S/T Sue B333 Proni BMl'l Prom

MKS014CSJC

7.1141 N LM2917 HT26/8T2H 95H90.. .

4/10 96 10147 ECLFtam,.

ayi m NE56i

<!M0'-,.S? LF356HBIFOI..3

J*2 MCM14S05

^ 74S89 3

«] '' 74107N 6

3/1 m 75452N 8

225 741N-14 10

239 555CN_ 5

.9.95 556CN 3

ATTENTION APPLE II USERS

TEXTOOL ZERO INSERTION FORCE SOCKETS

CONNECTORS

/44 WW, ST. KIM i86 W/W. S,T, MOT '100 S-100 Connector /100 S-100 Connector

5650 2 95 6.50

CTS DIPSWITCHES

CTS20C-4 5' 75 CTS206-B SI 95

CTS2C6-5 SITS CTS206-9 S195

CTS206-6 Si 75 CTS206-10 S I 95 CTS2CtV7 S' 75

LIVERMORE BASIC

ON65K ROM

NAKED PC BOARD SALE

Z-80CPU (Ithaca), ..

8080ACPU .

8K Static RAM (Logosi

16KStahcRAM(21 )4| 32K Sialic RAM 121141 Floppy I/O (7arWII| Cassette t/O (Tarbell) 8K £orom(270B) . 1702 Eprom Board 2708/2716 Eprom (Ithaca) 2708/2716EpromiWMCl Reaiiime Clock

ACPProtOBd (3MConn )

Veclor8800 ProtO 19 95

Vector 6803 11 Slot MB 29 95

ACP E.tender w/Conn 15.95

video Inteitaca iSSmi 27.95

r>ri(.V!:'l inu.-rP.-ic.-; iSSM| 27.95

13 Siol MoihorBoard IWMCl 32 95 ySialMolnerEviarOWMCl 2995 8 Slol Mother (enpandablei 34 65

S34.95 34.95 21.95

29 95 4995 39.95 29.95 21 95

30 OC 34.95 3000 34 95

WAVEFORM GENERATORS

803HrunciicnGen 3 95

MC-1024 VCO 2 45

LM566 VCO 1 75

XR22IJ6 Function Generator 5 25

FLOPPY DISK I/O

177101 8"S Minifloppy 2/95

uPd372 Nee FIoppv 49 95

1781 Dual Floppy 39 95

1791 Dual Floppy 44.95

TV INTERFACES

M4R Modulator. 3500

ATTENTION PET USERS

BETSI-pel expansion tp S10O

105 00 Kit/160.00

PET Connector Kit. Includes (4) Connectors lor memory expansion, IEEE 468 I/O, cassette I/O and

parallel user nort 7.95/sel

Video Butfer (converts lo Slfl Video) 29.95

Petun.a IMusic Board) . .2995 Combo (Video & Petunia) 4995 Beeper (signals tape load) 24.95

ATTN TRS 80 USERS

20/40 Pm Memory E«p Conn

'6K Memory Add-on w/lfM Vista V80 Minilloppy. 40TrackDOSPalcnonDisl 4 Dr.ve Cable lor V80 Cenlion.es 779 w/tractor Cenhomcs 701 Bidirect ANADEX DP8000 Micro-P name as Quick Pr

CabietopiuginEiRansionl/! Power Strip 15 outlets! Surge Suppressor/Filler MicrosoM Fortran on Disk

Electric Pencil on CasseitE

7 95

89 95

395 00

1095

39 95

1179 00

1579 CO

995 00

VI tor TRS on ]ry 100(cass

TV CHIPS

ill Shipmunii FCM or UPS. Orrfe ndsr S100.00 add 5% handlino an .otiaqe. Order* over SluG.Ou jdd 2 5 iandhng & poiiige- Masten-li.»Ij1-.'n.iiil merrcjrri/COD accepted w/25% dupoit ulrl C, i..v Foreif

Call

ing All

Phone (714) 558-8813

TWX: 910-595-1565

Retail Store Open Mon. — Sat. Located at 1310 "B" E. Edinger, Santa Ana. CA 92705

Circle 4 on inquiry card.

BYTE June 1979

251

What's New?

PERIPHERALS

S-100 Single and Double Density Disk System

DISCUS 2D is a full-size, single and double density floppy disk system capable of storing up to 600 K bytes of data on each side of an 8 inch disk. This disk is formatted to be compatible with

the IBM System 34. Like the original single density DISCUS I, DISCUS 2D comes fully assembled with a controller board and a Shugart SA800R fullsize drive mounted in a cabinet with a power supply.

The S-100 controller board utilizes the Western Digital 1791 dual density controller device and also has power on jump circuitry, 1 K bytes of programmable memory, 1 K bytes of read only memory with built-in monitor, and a hardware universal asynchronous receiver-transmitter with a data rate generator to simplify I/O (input/output) interfacing. It is capable of handling up to four drives.

Software includes BASIC-V virtual disk BASIC, DOS and Disk/ATE assembler and editor. Extra cost optional software, including CP/M Microsoft Extended Disk BASIC and FORTRAN, is available. The price is $1149 for the completely assembled single and double density system, and $795 for each additional drive. For further information, contact Thinker Toys, 1201 10th St, Berkeley CA 94710.

Circle 585 on inquiry card.

TRS-80 Serial Input/Output Board

This board is RS-232 compatible and can be used with or without the expansion bus. There are on-board switch selectable data rates of 110, 150, 300, 600, 1200 and 2400 bps; parity odd, even, or null; 5 to 8 data bits and 1 or 2 stop bits. It has a data terminal ready line. The board alone sells for $19.95 (with parts $59.95). Assembled, it is $79.95. Contact Electronic Systems, POB 21638, San JoseCA 95151.

Circle 587 on inquiry card.

Light Pen Complements Apple II Computer

Symtec Inc, POB 462, Farmington Ml 48024 has announced a low cost light pen for microcomputer use. The Symtec light pen is supplied complete with interface and provides an X, Y coordinate number to the bus when the pen is activated by a touch sensitive switch or from software control. The pen can provide up to 255 Y values and 511 X values and is software dividable to fit any screen size.

The Apple version of the light pen can resolve a single high resolution point and can be used with all of the Apple graphics features and text. This version is provided with a demonstration cassette written in integer BASIC for easy modification by the user if desired and allows use of the pen in the user's own programs. A complete listing of the light pen routine and suggested uses is included in the applications manual. The light pen is priced at $249.95.

Circle 586 on inquiry card.

X,Y Plotter Unit from Sylvanhills Laboratory

This X, Y plotter includes a plotter, drawing surface, electronics, and power supply completely assembled and ready for interface to any 8 bit transistortransistor logic parallel port. The pen holder accepts any writing instrument or stylus 7 to 11 mm in diameter, encoded for 0.01 inches per pulse (0.005 inch optional). The maximum pen travel speed is 2.5 inches per second with a 24 V supply. A basic 8080

software program is included in the owner's manual. Applications include architectural, mechanical, and schematic drawing; printed circuit board artwork; positioning of small objects; computer generated art; games; and others.

The plot driver software is available as ASCII source files on paper tape and CP/M small disk formats. TEI and Cromemco small disk formats are also available. Both the BASIC and assembler source are provided, and contain comments which guide the user in making source modifications.

Unit-1 with an 11 by 17 inch drawing area is $1,049; Unit-2 with a 17 by 22 inch drawing area is $1,249. The plotters are also available in kit form with console and power supply priced separately. The owner's manual can be purchased for $5. For further information, contact Sylvanhills Laboratory Inc, POB 646, Pittsburg KS 66762.

Circle 588 on inquiry card.

TRS-80 Expandable Interface

Microtronix has introduced an expandable interface for the Radio Shack TRS-80. The basic interface unit uses

low power Schottky circuitry, the standard Radio Shack 40 pin bus, and provides the following features: two joysticks for games, screen editing and educational instruction; stereo sound using two RCA 1863 programmable integrated circuits; parallel printer interface. At an introductory price of $129.95, the interface may be ordered with a $29.95 optional real time clock. Joysticks and music may be controlled directly from the user's BASIC program, using the INP and OUT commands. For further information, contact Microtronix, POB Q, Philadelphia PA 19105.

Circle 589 on inquiry card.

252 June 1979 © BYTE Publications Inc

PEFOOM SAMPLER

> r

tBMtNAl

i*Pi

300

UKt

ON

$£ 60°

*

•

$r

IJ CO

lOCAl

AUlO

ptFXSDM

ci5*a

For your SS-50 bus computer — the CIS-30+

• Interface to data terminal and two cassette recorders with a unit only 1/10 the size of SWTP's AC-30.

• Select 30, 60, or 120 bytes per second cassette interfacing, 300, 600 or 1200 baud data terminal interfacing.

• Optional mod kits make CIS-30+ work with any microcomputer. (For MITS 680b, ask for Tech Memo TM-CIS30+—09.)

• KC-Standard/Bi-Phase-M (double frequency) cassette data encoding. Dependable self-clocking operation.

• Ordinary functions may be accomplished with 6800 Mikbug™ monitor.

• Prices: Kit, $79.95; Assembled, $99.95.

Prices include a comprehensive instruction manual. Also available: Test Cassette, Remote Control Kit (for program control of recorders), IC Socket Kit, MITS 680b mod documentation, Universal Adaptor Kit (converts CIS-30+ for use with any computer). MIKBUG®Motorola, Inc.

In the Product Development Queue . . .

Coming PDQ. Watch for announcements.

6809 Processor Card —With this SS-50 bus PC board, you'll be able to upgrade with the microprocessor that Motorola designers describe as the "best 8-bit machine so far made by humans."

The Electric Crayon™ — This color graphics system includes its own /xP and interfaces to virtually any microcomputer with a parallel I/O port.

Printer Interface — For your TFtS-80™. Interface any serial RS232 printer to your TRS-80™ with this system.

•"ELECTRIC WINDOW, ELECTRIC CRAYON. Pilon30 and Pilon-10 are trademarks ol Percom Data Company. Inc.

TRS-80 is a trademark of Tandy Corporation and Radio Shack which has no relationship to Percom Data Company.

Orders may be paid by check or money order, or charged to Visa or Master Charge credit account. Texas residents must add 5% sales tax.

For your data storage — Pilon-30™ and Pilon-10™ data cassettes

• Orders-of-magnitude improvement in data integrity over ordinary audio cassettes.

• Pilon-coated pressure pad eliminates lint-producing felt pad of standard audio cassettes.

• Smooth pilon coating minimizes erratic tape motion.

• Foam pad spring is energy absorbing. Superior to leaf spring mounted pad which tends to oscillate and cause flutter.

• Five-screw case design virtually precludes deformation during assembly.

• Price: $2.49.

It"

M ifn |M ii.ii ij

For your S-100 computer—the CI-812

• Both cassette and data terminal interfacing on one S-100 bus PC board.

• Interfaces two recorders. Record and playback circuits are independent.

• Select 30, 60, 120, or 240 bytes per second cassette interfacing, 110 to 9600 baud data terminal interfacing.

• KC-Standard/Bi-Phase-M (double frequency) encoded cassette data. Dependable self-clocking operation.

• Optional firmware (2708 EPROM) Operating System available.

• Prices: kit, $99.95; assembled, $129.95.

Prices include a comprehensive instruction manual. In addition to the EPROM Operating System, a Test Cassette, Remote Control Kit (for program control of recorders), and an IC Socket Kit are also available.

CASSETTE SOFTWARE For 8080/Z-80 ju.Cs... BASIC ETC — Developed by the coauthors of the original Tiny BASIC, BASIC ETC is easy to use yet includes commands and functions required for powerful business and scientific programs as well as for hobby applications. 9.5K bytes of RAM. 1200-baud cassette and 42-page user's manual $35.00

Cassette Operating System — EPROM (2708) COS for the Percom CI-812 dual peripheral interfacing PC card .. $39.95

If you're programming on a 6800 /xC, you'll want these development and debugging programs written by Ed Smith of the Software Works:

Disassembler/Source Generator — Disassembles SWTP Resident Assembler, TSC Mnemonic Assembler/Text Editor or Smoke Signal Mnemonic Assembler/Text Editor and produces compacted source code suitable for re-editing. Prints or displays full assembly-type output listing. 4K bytes of RAM. (Order M68SG) $25.00

Disassembler/Trace — Use to examine (or examine and execute) any area of RAM or ROM. "Software-single-step" through any program, change the contents of CPU or memory location at any time, trace subroutines to any depth. 2.3K bytes of RAM. (Order M68DT) $20.00

Support Relocator Program — Supplied on EPROM, this program relocates a program in any contiguous area of RAM or ROM to anywhere in RAM. Use to assemble and test programs in RAM, adjust programs for EPROM operating addresses and then block move to your EPROM burner address. 952 bytes of RAM. Loads at hex 1000. (Order M68EP) $20.00

Relocating Assembler & Linking Loader

(M68AS) $50.00

Relocating Disassembler & Segmented Source Text Generator (M68RS) $35.00

Americana Plus — 14 tunes for the Newtech Model 68 Music Board in machine language ready to load and run. Cassette compatible with Percom CIS-30+ and SWTP AC-30. Order MC-1SW .. $15.95

HARDWARE

Newtech Model 68 Music Board — Produces melodies, rhythms, sound effects, morse code, etc. from your programs. Includes manual with BASIC for writing music scores and assembly language routine to play them. Installs in SWTP I/O slot. Assembled & tested $59.95

The Percom ELECTRIC WINDOW™ —

Memory-resident and programmable, this video display character generator board for your SS-50 bus displays up to 24 80-character lines. Features dual character generators, dual-intensity high-lighting. One programmable register controls scrolling. Compatible with

standard video monitors $249.95

SS-50 Prototype Cards:

Large card (up to 70 40-pin ICs) $24.95

I/O size card $14.95

PERCOM™ 'peripherals for personal computing'

PERCOM DATA COMPANY, INC.

DEPT. B

211 N. KIRBY - GARLAND, TX. 75042

To order products or request additional literature, call Percom's toll-free number: 1-800-527-1592. For detail technical information call (214) 272-3421.

Circle 305 on inquiry card.

BYTE June 1979 253

What's New?

MISCELLANEOUS

Computer Terminals Directory

A user-oriented directory of computer terminals has been published by the Association of Time-Sharing Users (ATSU). This guide contains photographs and full page information about each of 120 terminals. In addition to the latest pricing information, the directory lists each terminal's lease costs (when available), the number that have been installed, and information about whom to contact at each supplier. The Computer Terminals Directory is available for $45 in bound form. It is available as part of a membership in ATSU for $85, in loose leaf form, as it is part of the Association's three volume Interactive Computing Directories, Or-ders for the Directory or for Association membership should be sent to ATSU, POB 9003, Boulder CO 80301.

Circle 593 on inquiry card.

The Slavemaster 2650 Multiprocessor System

•HUlii !t«

v-vijf,]., ' 't ''I | MB wf:i' "^JiPiiiifK')

The Slavemaster 2650 S-100 bus multiprocessor system is based on the Signetics 2650 microprocessor. The system is composed of two identical S-100 cards interconnected by one ribbon cable. One is identified as the slave and the other the master. The only functional difference is that the master has the ability to reset, resetjump, or stop the slave.

Both processors operate at full speed with fetch and execute cycles interleaved in such a way that precise single processor timing is maintained. Once synchronized, there is no interaction between the two processors. Communication between the two processors is through a common data base in the S-100 memory.

Some of the features of the Slavemaster card include Kansas City cassette interface, RS-232/20 mA serial I/O (input/output), keyboard interrupt on serial input, real time clock interrupt, power fail interrupt, eight vectored interrupts decoded on board, 4 K byte 2708 erasable read only memory sockets with dual-in-line package switches to select reset and power-on jump address. The kit is priced at $198 per board. For further information, contact Victoria Micro Digital, 401 Dundee St, Victoria TX 77901.

Circle 594 on inquiry card.

Western Digital System Speeds Up Pascal

A set of integrated circuits which directly executes the object code from a Pascal compiler has been developed by Western Digital Corp, 3128 Red Hill Av, POB 2180, Newport Beach CA 92663.

The 16 bit processor, which forms the basis of the Pascal Microengine product line, executes Pascal programs at least five times faster than conventional system software. The system uses the version of Pascal which was developed at the University of California at San Diego (UCSD). The UCSD Pascal software system includes a complete operating system with the Pascal compiler, BASIC compiler, file manager, screenoriented editor, debugging program, and graphics package; all written in the Pascal language.

The four integrated circuits are the following LSI metal-oxide semiconductor components:

• an arithmetic device containing arithmetic and logic unit, microinstruction decoding, and the register file;

• a microsequencer device containing macroinstruction decoding, portions of the control circuitry, microinstruction counters, and I/O (input/output) control logic;

• two MICROM devices containing the microinstruction read only memories and microdiagnostics.

Direct execution of the p-code (pseudocode) produced by the Pascal compiler eliminates the previously required host operating system and p-code interpreter. Additional features of the Microengine system include user-defined bus configuration, four levels of interrupts, single and multibyte instructions, hardware floating point operations, stack architecture, a 3.0 MHz 4 phase clock (75 ns per phase) and a transistor-transistor logic compatible three-state interface.

Circle 595 on inquiry card.

BASIC With Style

PitfWF £

BASIC With Style by Paul Nagin and Henry Ledgard is intended for BASIC programmers who want to write carefully constructed, readable programs. This 134 page book offers short rules and guidelines for writing more accurate, error free programs. These simple elements of style enable the programmer to focus creativity on the deeper issues in programming.

Chapter 1 is an overview. Chapter 2 is acollection of simple rules, called proverbs. The proverbs summarize the major ideas of the book in terse form. Chapter 3 is an introduction to a strict, topdown approach for programming problems in any programming language. The approach is oriented toward the easy writing of complete, correct, readable programs. Chapter 4 gives a set of strict program standards for writing programs, and Chapter 5 elaborates on several important and sometimes controversial ideas discussed in the chapter on programming proverbs.

The cost of the book is $5.95. It is available from Hayden Book Co lnc, 50 Essex St, Rochelle Park NJ 07662.

Circle 596 on inquiry card.

Stand-Alone Microprocessors

Three stand-alone microprocessors, the MPD8048, ^(PD8748, and (UPD8035, have been announced by NEC Microcomputers lnc, 173 Worcester St, Wellesley MA 02181. The /iPD8048 contains the following features normally found in external support devices: 1025 by 8 bits of read only memory; 64 by 8 bits of programmable data memory; 27 I/O (input/output) lines; 8 bit interval timer and event counter; and oscillator and clock circuitry.

The (UPD8748 (available late 1979) differs from the /IPD8048 only in the use of an 1024 by 8 bit ultraviolet erasable read only memory for its program

memory, while the /iPD8035 is scheduled for applications using external program memory. The functional power of the units can be expanded using standard 8080A/8085A peripherals and memory products. The microprocessors are available in a standard 40 pin, plastic or ceramic dual-in-line package.

Circle 597 on inquiry card.

254

June 1979 © BYTE Publications lnc

mi* '■

HOBBY WORLD®

C4LL TOLL FREE: (800) 423-5387 CAHI, AK: (213) 886-9200

TRS-80

FORTRAN

PLUS

$340

As advertized! Supplied on 2 mini-diskettes, ana requires a 32K system with one disk drive. Written by Microsoft, designer of Level II and Level III. Includes Fortran compiler. 7-80 macro assembler, texl editor, and linking loader. Adds speed and versatility.

ANADEX Model DP

Connects easily lo most popular computers including TRS-BO. 3 basis ASCII compatible interface configurations are provided. 80 columns, 112 cps. 84 lines per min, bi directional printing. Out-of-paper detector, uses standard low-cosl papers, "i character set, 9x7 dot mat

TRS-80 LEVEL III BASIC $42

As advertised in March Interface. Loads on lop of level II, turns your TRS-80 into a powerful system. Solves loading problems, cures keyboard "bounce". Software cassette, has the power of a hardware modification! Guaranteed satisfaction! Cat No. 1332

PRINTER

8000 $ggg

rix characters. Original plus up to 3 copies- Skip-overperforation control, double width printing, 8 programmable vertical tab positions. Excellenl readability. Superior to other printers costing Ihree times as much.

DATA CASSETTES 10 for $17

Highesl quality, leaderless! With protective plastic case. Cat No. 1142

TRS-80 ELECTRIC PENCIL

Character oriented word processing system. Produce mailing lists, business forms, large numbers of original correspondence, camera ready copy for printing...all on your TRS-80. No carriage returns or hyphenations, line formatting is done by the Electric Pencil! Also features right margin justifying, page numbering.

and tilting, and many combinations of line length, page length, etc. For TRS-80 level 1 or 2, 16K, and virtually any printer.

$95

BUY 7, GET 1 FREE!

'Buy 7 of one type, get the eighth of that type free!

Order by type no.

1702 A

13.50

2708

10.00

411b

11.00

21102-250

1.20

J1L02-45O

too

I1L02-b'iO

bS

3114-450

BOO

S201Q

3.25

COMPUCRUISE $165

Navigalional computer for mobile or marine use! Features cruise control, fuel management, Irip computer, timer /counter. Warns low fuel! Compensates for tire size, converts to metric! 44 functions. Mounts easily on dash. Easy lo read bright blue digits. With installation instructions. Cal No. 116b

California Computer Systems

MEMORY ADD-ON 16K $70

For APPLE TRS-80, EXIDY Everything you need! Installs in minutes, no special tools, no soldering! 250 nsec. Cal No. 1156

S-100 COMPUTER BOARDS

1601 CCS/M-XVI 16K STATIC RAM MODULE

KIT $285

1602 as above, a&I

1603 as above, bareboard 1500 HUH/S-100 MPA kit

1503 MH PROPROM, 6K EPROM

BOARD $214

1504 6834 EPROMS for above $10

1505 MH 100,000 DAY CLOCK, a&I .. $219

1506 MH INTROl., 64 chan remote

control a&I $329

1507 WMC/QM1 12 SLOT MOTHERBOARD ., $ 39

1508 as above, with connectors ... $ 80

1509 WMC/MEM1 8K STATIC RAM BOARD . . $ 28

1510 parts only for above ,. . $ 80

1403 SSM/CB1 8080A CPU BOARD KIT $134

1408 SSM/SB1 MUSIC SYNTHESIZER KIT $ 145

1411 SSM/I04 2 PARALLEL + 2 SERIAL

PORTS KITS $139

1414 SSM/102 10 UNIVERSAL. BOARD KIT $ 48

1417 SSM/VB1B VIDEO INTERFACE KIT $129

1425 SSM/MB3 2/4K EPROM BOARD KIT ..$ 54 1420 SSM/MB4 2 MHZ STATIC RAM KIT ...S 89

1427 SSM ALTAIR IMSAI EXTENDER

BOARD $ 10

1428 connector for above S 4

1429 SSM/OB1 VECTOR JUMP & PROTO

TYPING CARD KIT $ 47

CCS-California Computer Systems

WMC=Wameco

IA = Ithaca Audio

SSM = Solid State Music

SDS=SD Systems

SPL = Speechlab

HUH = HUH Electronics

MH = Mountain Hardware

a&I = assembled & tested

1432 SSM/MT1 15 SLOT MOTHERBOARD . $ 39

1433 SSM/MB8A 16K (2708) EPROM BOARD

1436 SSM/MB9 4K STATIC PROM/RAM

BOARD KIT $ 64

1438 SSM/VB2 VIDEO BOARD KIT $139

1511 IA 2708/2716 EPROM BARE

BOARD $28

1512 IA ZB0 CPU BAREBOARD $ 32

1513 IA 8K STATIC RAM BARE

BOARD $ 28

1514 IA 5-100 W1REWRAP BOARD $ 28 1600 CCS S-100 WIREWRAP BOARD $ 29

1516 SDS VERSAFLOPPY KIT $159

1517-OSDS EXPANDORAM KIT $185

1517-16 as above, with 16K RAM $249

1517-32 as above, with 32K RAM $330

1517-48 as above, with 48K RAM $425

1517-64 as above, with 64K RAM . . $500

1165 NEWTECH MUSIC BOARD a&t $57

1518 SPL 32 WORD SPEECHLAB a&t $1B9

1520 SPL 64 WORD SPEECHLAB a&t. $299

1222 uSOUNDER SOUND EFFECTS BOARD

a&I $149

CALIFORNIA COMPUTER SYSTEMS

XVI16K STATIC R4N\ KIT $285

A true sialic tarn board designed for the S-100 bus. Bank switching capability, addressable in 4K blocks. FR4 silk screened PC board wilh solder mask on both sides! The lowesl price TRUE static ram board in its class.

• IEEE y-700 Compatible.

• True static operation

• Requires only +5 volts

• 450 ns

• Fully buffered

Bareboard $27.00

New! From California Computer Systems! WIRE WRAP & SOLDERTAIL PROTOTYPING BOARDS your choice $27

All S-100 signals labeled „, board. All circuitry uncommited except for 4 multiple regulator pads. High density hole configuration, over 3600 holes. On-board ground bus.

8" DISKS

• Single density • IBM Compatible

$40 box of 10

Cat No. Type

1145 32 seclor holes,

1 index hole

1146 IBM 32, 3740, 3540, 3770, 3790

Double sided, plated thn PC board. Accepts 14, 1 24, 28, 40 pin IC's.

Cat No. Cat No.

Wirewrap Soldertail

$27 $27

SHUGART SA-400 MINIFLOPPY DRIVEl

$295

Hard and soft sectoring, single density, 35 track. Requires power supply. Cal No. 1154

TRS-80 SOFTWARE

Cat No. Description CASSETTES P,ke

1093 SARCON CHESS, II 19.95

1041 STAR TREK, II 14.95

1036 SCI Fl CAM! SAMP1IR, I II 5.95

1042 TAROT l/ll 5.95

1179 CRIBBACE I, II 9.95

1192 REAL TIME LUNAR LANDER IL 7.95

1195 BRIDGE CHALLENGER II 14.95

1186 AIR RAID l/l 14.95

11B7 PHOT l/ll 14.95

1047 OTHELLO t/ll 5.95

1043 SMALL BUSINE55 BOOKKEEPING l/IL 14.95

1051 DAILY BIORHYTHM PROGRAM l/ll 5.95

1049 MICRO TEXT EDITOR I. II 9.95

1038 INVENTORY MODULAR I'll 19.95

1153 ED1T-80, texl editor II (32K) 39.95

VERBATIM 51/4" DISKETTES

$27 box of 10

1147 Soft sector TRS-80, Apple

1148 Hard, 10 hole North Stir

1149 Hard, 16 hole Micrppolis

SEND FOR FREE

SPRING

CATALOG

FEATURING:

f ACIORY FRESH. PRIMt IC5. LID'S, READOUTS. RECTIFIERS, ZtNERS. TRS-80 ADD-ONS. 5-100 BOARDS. PC AIDS. TEST EQUIPMENT. BOOKS. SOFTWARE, AND MORE!

Pay by check, COD, Visa, or Maslercharge. Order by phone or mail. Please include phone no. USA add $1.50 for shipping/handling, or $2.50 for air. Foreign add $2.00 for surface, $5.00 for air. COD's add 85c. All items guaranteed satisfaction for 120 days!

19355 BUSINESS CTR DR 6B6 NORTHRIDGE, CA 91324

Circle 170 on inquiry card.

BYTl |uno 1979

7400 TTL

SN74O0N SN7401N SN7J02N SN7403N SN7404N SN7405N SN74MN SH7J07N SN7408N SNMQ9N SN741QN SN7411N SN7412N SN7-I13N SN7414N SN7416N SN7417N SN7420N SN7421N SN/423N SN7423N SN7425N SN74?6N SN7J27N SN7429N SN7430N SN7432N SN7437N SN7438N SN7439N SN7440N 51(744 IN SN7442N

SN7J43N

SN7444N SN7445N SN7446N SN7447N SN7448N SN7450H SN7451N SN7453N SN7454N SN7459A SN7460N

CO4DO0 CD4001 CD4002 CD4006 CD4007 C04QO9 CO4O10 CD40I) CD4012 CD4013 CD4014 CD4Q15 CD4016 CD4017 C04QI8 CD4D19 CO4020 CO4021 CD4022 CD4023 C04024 C04Q25 C04Q26 CO4027

74C0O 74C02 74C04 74C08 74C10 74C14 74C20 74C30 74C42 74C48 74C73 74C74

1.75

7SMG

LM106M

LM300H BO

LM3Q1CN;H 35

LM302H 75

LM304H 1 00

LM305H .BO

LM307CN/H 35

LM306CM/H 1 00

LM309H 1 TO

LM309K 1 25

LM31DCN 1.15

LU311N/H 90

LM3IZH 1 95

LM317K 6.50

LMliUCN.H 1 50

LM31BN 1.30

LM320K-5 1.35

LM320K-S.2 135

LM320K-12 135

LM320K-15 t 35

LM320K-18 135

LM320K-24 1 35

LM320T-5 1.25

LM320T-5 2 1 25

LM320T-6 125

LM320T-1? 1.25

LM320M5 125

LM320T-18 1 25

IM320T-24 1 25

LM323K-5 5.95

LM324N 1.80

IM339N .99

LM340K-5 1 35

LM340K-6 t 35

LM340K-8 1 35

LM340K-12 1.35

LM340K-15 1.35

74LSOO 74LS01 74LS02 74LS03 74LS04 74LS05 74LS08 74LS09 74LS10 741S11 74LS13 741514 74LS15 74LS20 74LS21 74LS22 741S26 74LS27 74LS28 74LS30 74L532 74LS37 74L540 74LS42

.29

SN7470N SN7472N SN7473N SNM74N SN7475N SN74 76N SN7479N 5N7480N SN7482N SN7J83N SN74B5H SN7486N SN74S9N SN7490N SN7491N SN7492N SN7493N SN7494N SN7495N SN7496N SN7497N SN 741 DON SNN107N SN74109N SN74I16N SN74121N SN74122N SN74123K 5N74I25N SN74126N SN74I32N SN74136N SH74H1N SH74142N SN74143N SN74H4N SN74145N SN74147N SN7J1J8N SN74150N SN74I51N SN74152N SM74153N SN74154N SN74155N SN74156N SN74157N

DHf

C/MOS

CD4028

CO4029 CD4030 CD4035 CD4040 C0JQ41 CO4012 C04043 CD4044 C04046 C04047 C0404B G04049 CD4050 CD4051 CD4053 CP4058 C04059 CD4060 CD4066 C04068 CQ4069

74C00

74C85 74C90 74C93 74C95 74C107 74C151 74C154 74C157 74C160 ^4C161

LINEAR

L.M340K-18 1.35

LM34QK-24 1.35

LM34QT-5 1.25

LM340T-8 1.25

LM340T-8 1.25

LM340M2 1.25

LM34QT-15 1.25

LM340T-18 1.25

LM340T-24 t.25

LM35BN

LM370N

LM373N

LM377N

LM380N

LM3B0CN

LM381N

LM382N

NE501N

NE510A

NE529A

HES31H/V

NE516T

NE540L

NE544N

NE550N

NE555V

NE556N

NES60B

ME561B

NE562B

NE565N/H

NES66CN

NE587V/H

NE570N

LM703CN/H

LM709N/H

1.95 3.25

6 00

era

4.B

74LS00nL

74LS47 74LS51 74LS54 74LS55 74LS73 74LS74 74LS75 74LS76 74LS7B 74LS83 74LS85 74LS8G 74LS90 74LS92 74LSB3 74LS95 74LS96 74LS107 74LS109 74LS112 74LS123 74LSI 25 74! Si 32 74LS136

SN74160N SN74161N SN74162N SN74163N SN74164N SN7416SN SN74166N SN74167N SN74170N SN74172N SN74173N SN74174N SH74175N SN74176N SN74177N SN74179N SN 7416 ON SN74181N SN74IB2N SN74I84N SS7418SN SN741B6N SN74168N SN74190N SN74191N SN74192N SN74193N SN74194N SN74195N SN74196N SN74197N SN74196N SN74199N SN74S200 SN74251N SN74279N SN74283N SN74284N SN74285N SN74365N SN74366N SN743B7N SN74366N SN74390N SN74393N

CD407O

CD4071

CO4072

C04076

CD4081

CD4082

C04093

CD4096

MC14409

MC14410

UC14411

UC144I9

UC14433

MCI 4506

MC14507

MC14562

MC14583

CD450B

CD4510

CD4511

CD4515

C0451B

CD4520

CDJ566

74C163 74CI64 74C173 74C192 74C193 74C195 74C922 74C923 74C925 74C926 80C9S 80C97

1 bO

LM710N 75

LM711N 3S

LM723N.H SS

LM733N 1 DO

LM739N 1 19

LM741CWH ,3S LM74114N .39 LM747N/H .79 LM748N.-H .39 LM1310N 2.95 LU145BCK/H .59 UC148BN i V} MCl-iflflN 139 LM1496N 95

LM1556V 1/5 MC1741SCP 3.00 LMZ11TN 1 95 LM2901N 2.95 LM3053N 1 50 LM3065N 1.49 LM3900N(3401) 49 LM3905N 89

LM3909N 125 MC5558V 59

8036B LM7S450N 75451CN 75452CN 75453CN 75454CN 7549ICN 75492CN 75493N 75494CN RC4136 RC4151 AC4194 RC4195

4.95

74L5138 74LS139 74LSIS1 74LS155 74LS157 74LS160 74LS1B1 74LS1B2 74LS183 74LS164 74LS175 74LS1B1 74L5190 74LS19I 74LS192 74LS193 74LS194 74LS195 74LS253 74LS257 74LS258 74LS260 74LS279 74LS367 74LS368 74LS670

_

EXCITING NEW KITS!

Digital Thermometer Kit

Regulated Power Supply

5 to 15 VDC

"Full 1.5 amp at 5 10V output — Up to .5 amp at 15V output

•Heavy duty traniformar

*3 terminal I.C. Volt. Rag.

■Heat sink provided for cooling efficiency

*PC Board construction

•120 VAC input

*Size: 31,4"v\lx5"Lx2"H

• Dual sensors — switching control for indoor/outdoor or dual monitoring

■ Continuous LEO .8" ht. display •Range; -40°F to 199°F / 40t to 100°C ■Accuracy: t1°nomlnil

•Sat for Fahrenheit or Celsius reading

■ Sim. walnut cose - AC wall adapter Incl.

■ Size: 3-1/4"Hx6-5/8"Wx1-3/ET'D

JE210 5 to 15 vdc $19.95 JE300 $39.95

DISCRETE LEDS

.200- dll. XCS56R led XC556G green XC556V yellow XC556C clear

.200- dll.

XC22R XC22G XC22V

led green yellow 170- die.

5/S1 4/S1 4/S1 Ml

5/S1 Ml

4/S1

UV10B red

.DOS- die.

MV50 red 6/!

INFRA-RED LED

1/4"«1/4"x1/l6-|UI

5/11

XC209R XC209G XC209V

XC526R ' XC526G XC526V XCS26C

XC111H '

XCI11G XC111V XC1I1C

green yellow clear

green yellow clear

S/S1 4/S1 4/S1

5«1

4/S1 Ml 4/S1

5/S1 4/J1 4/JI

4/S1

TIMEXT1001 LIQUID CRYSTAL DISPLAY

FIE LO EFFECT

« DIGIT - 5" CHARACTERS THREE ENUNCIATORS 2.00" X 1.20" PACKAGE INCLUDES CONNECTOR

TIOOI-Trammiuive $7.96

ilODIA-Rclloclmi 8.26

DISPLAY LEDS

MAN 3 MAN 4

MAN 7G MAN7Y MAN 72 MAN 74 MAN 82 MAN 84 MAN 3620 MAN 3630 MAN 3640 MAN 4610 MAN 4640 MAN 4710 MAN 4730 MAN 4740 MAN 4810 MAN 4840 MAN 6610 MAN 6630 MAN 6640 MAN 6650

POLARITY I

Common Anode- red 5 x 7 Dol Mairn-ted Common Cathode-red Common Calnode-red Common Anode-green Common An ode-yellow Common AnodC'red Common Cathode-red Common Anode-yellow Common Cai node-yellow Common Anode-orange Common Anode-orange x 1 Common Cain ode-orange Common Anode-orange Common Cathode-orange Common Anode-red Common Anode-red t 1 Common Cathode-red Cdmmon Anode-yellow Common Cam ode-yellow Common Anode - orange-O D Common Anode-orange i 1 Common Caihode -oranfle-0 D Common Cathode -orange - t CommonAnode-orange Common Cathode-orange Common Anode-red-0 Q.

PRICE 295 4 95

TYPE

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 6760

DL701

01704

DL70?

OL72B

OL74I

DL746

OL747

OL749

OL750

DL33B

FND70

FND3S8

FN0359

FND503

FN0507

5082-7730

HOSP-3400

HUSP-3403

5062-7300

5062-7302

5082-7304

SQ82-734Q

POLARITY

Common Anode-red : 1 Common Cathode-red-D D Common Caihode-red t i Common Anode-red Common Camode-ied Common Anode-red c 1 Common Cathode-red Common Anode-red Common Cathode-red Common Anode-red Common Anode-red s I Common Anode-red Common Cathode-red - 1 Common Cathode-red Common Caihode-red Common Cathode Common Cathode a 1 Common Caihode Common Cathode(FND500) Common Anode (FND510) Common Anode-red Common Anode-red Common Caihode red 4 i 7 sgl Drgil-RHQP 4 x 7 Sol Oigil-LHOP Overranne charade; (-1) 4 17 Sgl Digil-Hexadeomal

RCA LINEAR

CA3013I CA2023T CA30357 CA3039T CA3046N CA3059N CA3060N CA3080T CA3081N

15 CA3082N 2.00

56 CA3003N 1 60

48 CA3066N .65

35 CA3089N 3 75

30 CA3130T 1 39

25 CA3140T 1.25

25 CA3160T 1.25

85 CA3401N 49

OQ CA36O0H 3 50

CALCULATOR CHIPS/DRIVERS

MM5725 S2.9!

MM5736 2.91

DMS864 2 01

OMBB65 1 01

DMBB87 7!

CLOCK CHIPS

MOTOROLA

MM5309

S4 95

MC1408L7

U M

MM5311

4.95

MC1408L8

S75

M i*I5312

4.95

MC1439L

?tw

MM5314

495

MC3022P

?9S

MM5316

695

MC3061P

3«

MM5318

995

MC40I6I7441G)

7.5(

MM5369

2 95

MC4024P

395

MM53B7'1998A

4.95

MC4040P

6 95

MM5641

9 95

MC4044P

4.50

18 pm LP IB pin LP 20 pin LP

14 pin ST 16 pin ST 18 pin ST 24 pin ST

8 pin SO 14 pin SG 16 pin SG IB pin SG

BptnWW 10 pin WW 14 pin WW 16 pin WW IBpwWW

IC SOLDERTAIL ~ LOW PROFILE (TIN) SOCKETS

25-49 50-100 1-24

.16 .15 ■■ g^sssssjBBBj 22 pm LPS-37

.19 .18 M|■f 241,;|'LF> :-;i

4|I1>^>W 26 pin LP *$

.28 .27 36 pin LP .60

■» -M SOLDERTAIL STANDARD (TIN) «P"> LP « 28 pin ST $ .99 36 pin ST 1.39 40 pin ST 159 SOLDERTAIL STANDARD (GOLD)

24 pin SG S 70

WIRE WRAP SOCKETS (GOLD)LEVEL #3

26pmSG 110

36pmSG '65

Wftasa i75

22 pin WW i 95

24 pin WW 1 05

28 pin WW 1.40

36 pin WW 159

40 pin WW 1.75

10 OHM 1?()HM ifjOHM 18 OHM ?.'OHM

27 OHM J.1 OHM 19 OHM 17 OHM Sfi OHM

66 OHM B2 OHM mo OHM l?0 OHM 150 OHM

teOOHM ?20OHM 270 OHM 330 OHM .190 OHM

-170 OHM 560 OHM fiflO (JHM H?0 OHM ik

'.2* t.5H 1.8* 7.?K /.7K

1/4 WATT RESISTOR ASSORTMENTS -5%

$1.75

1.75

1.75

1.75

1.75

1.75

1.75 ASST. 8R lncludesResistorAssortments1-7(350PCS.) $9.95 ea.

u>

1.9K

ION

S^

6eCK

n.bK

tZOK UOK

8?ok

SO PCS SO PCS SO PCS SO PCS SO PCS SO PCS SO PCS

S10.00 MINIMUM ORDER— U.S. Funds Only Spec Sheets - Z5<

California Residents — Add 6% Sales tax 1979 Catalog Available—Sand 41c stamp

PHONE

ORDERS

WELCOME

(415)592-8097

EEgmzna

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS. CA 94070 ADVERTISED PRICES GOOD THRU JUNE.

TELEPHONE/KEYBOARD CHIPS ^>

AV-5-9100 Push Button Tileptione Dialler SH.95

AY-5-9200 Repertory Dialler 14.95

AY-5-9500 CMOS Clock Generator 4.95

AY-5-2376 Keyboard Encoder (88 Keys) 14.95

HD0165 Keyboard Encoder 16 keys 7.95

74C922 Keyboard Encoder (16 keys) 5.95

ICM CHIPS

ICM7045 CMOS Precision Timer

ICM7205 CMOS LED Stopwatch/Timer

ICM7207 Oscillator Controller

ICM7206 Seven Decade Counter

ICM7209 Clock Generator

24.95 19.95

7.50 19.95

6.95

NMOS READ ONLY MEMORIES

MCM657) 128 X 9 X 7 ASCII Shitted with Greek 13.50

MCM6574 128 X 9 X 7 Math Symbol S Pictures 13.50

MCM6575 128 X 9 X 7 Alphanumeric Control 13.50

Character Generator

MISCELLANEOUS

TL074CN Quad Low Noise bi-fet Op Amp 2.49

TL494CN Switching Regulator 4.49

TL496CP Single Switching Regulator 1.75

I ICM Divide 10/tl Prescaler 19.95

95H90 Hi-Speed Divide 10/11 Prescaler 11.95

4N33 Photo-Darlington Opto-lsolator 3.95

MK50240 Top Octave Freq. Generator 17.50

OS0026CH 5Mhz 2-phase MOS dock driver 3.75

TIL30S .27" red hum display w/integ. logic chip 10.50

MM5320 TV Camera Sync. Generator 14.95

MM5330 4I» Digit DPM Logic Block (Speciell 3.95

10110/111 3v> Digit A/D Converter Set 25 00/set

LITRONIX ISO-LIT 1

Photo Transistor Opto-lsolator

(Same as MCT 2 or 4N251

2/990

SN 76477

SOUND GENERATOR

Generates Complex Sounds

Low PowBr - Programmable

3.95 each

TV GAME CHIP AND CRYSTAL

AV-3-8500-1 and 2.01 MHZ Crystal (Chip i Crystal -. _c . Includes score display. 6 games and select angles, olc./.aD/SBI

S8.40 4.40 4.40 1.55

XR205 XR210 XR215 XR320

XR-L555 1.50

XR555 .39

XR556 .99

XR567CP .99

XR567CT 1.25

XR1310P 1.30

XR146BCN 3.85

XR1488 1.39

XR14B9 1.39

EXAR

JE2206KA 14.95

JE2Z06KB 19.95

XR1800 3.20

XR2206 4.40

XR2207 3.65

XR2211 5.25 XR2212 4.35 XR2240 3.4S

XR2242CP 1.50 XR2264 4.25

XR2556 XR2587 XR3403 XR4136 XA4151 XR4194 XR4202 XR4212 XfM558 XR4739 XR4741

3.20 2.99 1.25 1.25 2.85 4.9s 3.60 2.05 75 1.15 1.47

TYPE

1N746 1N751 1N7S2 1N753 1N754 IN757 1N759 1N9S9 1N965 1NS232 1N5234 1N5235 1N5236 1NS242 1N5245 1N45S 1N456 1N465A IN-1001

DIODES

VOLTS W 3.3 400m

9.0 400m 2 0 400m 8.2 400m 5 400m 5.6 500m 62 SOOm 500m 500m 50Om 500m

7.5

ISO 10m 50 PIV 1 AMP

PRICE

4/1.00 4/1 00 4/1 00 4/1.00 4/1.00 4/1 00 4/1.00 4/1.00 4/1.00 26 26

6/100 5/1.00 12/1.00

TYPE

1N4O02 1N40O3 1N4004 1N4O05 1K40O6 1N4007 1N3600 1N4148 1N4154 1N4305 1N4734 1N4735 IN4736 IN4738 1N4742 1N4744 1N1183 1N1I84 INMBS 1N1186 1N1188

YOLTS W 100 PIV 1 AMP 200 PTV 1 AMP 400 PIV 1 AMP 600 PtV 1 AMP 800 PIV 1 AMP 1000 PIV 1 AMP 50 200m 75 10m 35 10m

PRICE 12/1 00 12/1 00 12/100 10/1.00 10/1.00 10/1 00

6/1.00 15/1.C 12/100

12 1w 15 1w

50 PIV 35 AMP 100 PIV 35 AMP 150 PIV 35 AMP 200 PIV 35 AMP

400 PIV35 AMP

SCR AND FW BRIDGE RECTIFIERS

C360 15ACi4O0V SCR(?N1B49)

C38M 3SA % GOOV SCR

2N2328 16Ai"300V SCR

MOA 980-1 12A (a 50V PW BRIDGE REC

MDA 980-3 12A (u 200V FW BRIDGE REC

C10681

MPSA05

MPSA06

TIS97

TIS9S

40409

40410

40673

2N9I8

2N2219A

2N2221A

2N2222A

PN2222 Plastic

2N2369

2N2369A

MPS2369

2N2484

2N2906

2N2907

PN2907 Ptosuc

2N2925

MJE2955

2N3053

50 .30

5/100 6/1.00 6/1.00 175 1.75 1.75 4/1.00 2/1.00 4/1.00 5/1.00 7/1.00 5/1.00 4/1.00 5/1.00 4/1 00 4/1.00 5/1.00 7/1.00 5/1.00 1.25 2/1 OQ

TrtAWslSTORS

1.95

2N3055

MJE3055

2K33S2

2N3398

PN3557

PN3568

PN3569

MPS3638A

MPS3702

2N3704

MPS3704

2N3705

MPS3705

2N3706

MPS3706

2N3707

2N3711

2N3724A

2N3725A

2N3772

2N3S23

2H3903

1.00 5/1.00 5/1.00 3/1.00 4/1.00 4/1.00 5/1.00

5/1.00 5/1.00 5/1.00 5/100 5/1.00 5/1.00 5/1.00 .65 ' 1.00

2N3904

2H3905 2N3906 2N4013 2N4123 PN4249 PN4250 2N4400 2H4401 2H4402 2N4403 2N4409 2N50B6 2N5067 2N5088 2N5089 2M5129 PN5134 PN5138 2NS139 2N5210 2N5449 2H5951

4/1.00 4/1.00 4/1 00

3/1.00 6/1.00 4/1.00 4/1.00 4/1.00 4/1.00 4/1.00 4/1.00 5/1.00 4/1.00 4/1.00 4/1.00 4/1.00 5/1.00 5/100 5/100 5/1.00 5/1 00 3/100 3" W

CAPACITOR ZSSS8S CORNER

10 pf 22 pi 47 pi 100 pf 220 pi 470 of

,001ml .0022 ,0047mt .01ml

-1/35V

.15/35V .22/35V 33/35V 47/3SV 68/35V 1 0/35V

.47/50V

1.0/5OV

3.3/50V

4.7/25V

10/25V

10/50V

22/25V

22/50V

47/25V

47/50V

100/25V

100/50V

220/25V

220/50V

470/25V

1OO0/16V

2200/16V

US UL23 LKL

05 .04 .035

00 VF

.0O47MF

.OVF

.022,*?

047^F

.12

100 VOLT MYLAR FILM CAPACITORS ,022ml 047ml

-05 .04 .035

.05 .04 .035

.06 .05 .04

.06 .05 .04

00 .075

.12 .10

.07

.Imf

21

22ml

+20% DIPPED TANTALUMS ISOUQI CAPACITORS .28 23 1/ 1.5/35V .30

,28 23 .17 22/25V .31

-28 23 .17 33/25V .31

28 23 17 4 7/25V .32

28 23 17 6B/25V 36

28 .23 17 10/25V .40

28 23 17 15/25V 63

MimATLrRE ALUMINUM ELECTROLYTIC CAMCITOM

.13 .10

47/25V .47/50V 10/16V 1.0/25V 1.0/50V 4.7/16V 4 7/2SV 4.7/50V 10/16V 10/25V 10/5OV 47/50V 10016V 10O/25V 100/50V 220/16V 470/25V

RtM»\ Li id

15 .13

256 BYTE June 1979

Circle 200 on inquiry card.

f Transistor Checker

D825P (as pictured) PLUG (Meets RS232I $2.05

0B25S SOCKET (Meets RS232) $3.50

DB51226-1 Cable Cover tor OB25P or 0B25S $1.75

PRINTED CIRCUIT EDGE-CARD

156 Spuing -Tin -DoiAle fieed-Oul — 6iluiacted Contact) — Frts OW to 070 PC Carilj

- Completely Assembled - Battery Operated The ASI Transittor Checker iacapable of checking a wide range of transistor typei, aither"in circuit" or out of circuit. To operate, simply plug the transistor to be checked Into the front panel locket, or connect it with the alligator clip test leads provided. The unit safety and automatically identifies low, medium and highpower PNP end NPN transistors. Sire: 3X" N 6Y»" x 2" "C" cell batwry not included.

Trans-Check s29.95 ea.

Custom Cables & Jumpers

£%

'V

Part No. DB25P-4-P 0B25P-4-S OB25S-4-S

DJM-1

DJ16-1

OJ24-1

DJ14-M4

0J16-1-1S

DJ24-1-24

OB 25 Series Cables Cable Length Connectors Price

Ft 2-DP25P S15 95 ea

Ft 1-DP25P/1-25S S16.95 ea

S17 95 ea

I It. 2-DP25S

Dip Jumpers

1 14 Pin 1-16 Pin 1-24 Pin 2-14 Pin 2-16 Pin 2-24 Pin

1 ft.

1 II.

1 It.

1 ft.

1 ft

S1.59 ea. 1.79 ea. 2.79 ea 2.79 ea 3.19 ea. 4.95 ea.

For Cuitpm Cable! a Jumper!, SeB JAMECO 1979 dialog lor

Pricing

CONNECTORS

25 Pin-D Subminialure

15/30

18(36

22/44

50/100 (.100 Spacing)

50/100 (.125 Spacing)

PINS (Solder Eyelet) PINS (Solder Eyelet) PINS (Solder Eyelet) PINS (Wire Wrapl

SI.95 52.49 S2.95 S6.95

PINS [Wire Wrap) R681-1 M.95

Solar Cells 2x2cm

• 0.4 volts

• 100mA

•41 MW

Can be added in series for higher voltage or parallel for higher current.

#SC 2x2 $1.95 ea. or 3/S5.00

the 3rdHand

MAKES CIRCUIT ASSEMBLY A BREEZEI

Lett you work with both hands, aa qb- -._

Sturdy Aluminum Construction. y9i0V tJif.

• Clamp "3rd Hand" on edge of bench, table or workboard. Insert circuit board, position components.

• Flip circuit board to flat position for soldering and clipping.

• Bright .300 ht. comm. cathode display

•Uses MM031d clock chip

• Switches lor hours, minutes end hold modes

• Hrs. easily viewable to 20 ft.

• Simulated walnut case

• 115 VAC operation

• 12 or 24 hr. operation

• Incl. all components, cese & wall trensformer

• Size: 6K" x 3-1/8" x 1 %"

JE701

6-Digit Clock Kit $19.95

REMOTE CONTROL TRANSMITTER & RECEIVER

INSTRUMENT/CLOCK CASE

This case is an injection molded unit that is ideal tor uses such as DVM, COUNTER, or CLOCK cases. It has dimensions of 4V2** in length by 4" In width by 1-9/16" in height. It comes complete with a red bezel.

.PART NO: IN-CC $3.49 each

MICROPROCESSOR COMPONENTS

B212 8214 8216 8224 8226 8228 8238 6251 8253 8255 8257 8259

-BMMflMOA SUPPORT DEVICESCPU

8-Bit Input/Output

Priority Interrupt Contiol

tvunecicnal Bus Driver

Cock Generator/Dmer

Bus Driver

System Controller/Bus Onvtr

Si-siem ConiTothv

Prog. Comm 1/Ol.uSAflT)

Prog Interval Timer

Prop, Pcupn 1/0 (PPI)

Prog. DMA Control

Prog Interrupt Control

NW0/M00 SUPPORT DEViCH—

MPU

MPU with Clock ana Ram

128X8. Static Ram

Penprt tiller Adapl (MC8820)

Prtortty imeffupt Controller

1024X8 &t ROM (MC68A30-8)

Asynchronous Comm Adapter

S/nchioiious Serial Data Adapt

0-000 ops Digital MODEM

2400 bps Modulator,

S 995 3 25 595 3.49 3.95 3 49 5.95 5.95 70S 14.95

-MICROPROCESSOR MANUALS

M-Z80 Use. Manual

M-COP1802 User Manual U-2650 User Manual

$7 50 750 500

ROM'S

2513(2140) Character Generator (upper case) 3513(3021) Character Generator!tower case) 2516 Character Generator

MM5230M 204B-ei( Read Only Memory

Quad 3-State Bus. Trans (MC8T26) - MICROPROCESSOR CHIPS—MISCELLANEOUS

S1495 24 95 595 7 49 12 95 14.95 795 9 95 12 95 1495 2.25

28CK780C)

CPU

SI99S

Z80AI780-1

CPU

24 95

CDPIB02

CPU

19.95

2650

MPU

19.95

8035

8-B't MPU w/dock. RAM. 1/0 lines

19 95

P6085

CPU

19.95

TMS9900JL

15-Bn MPU w/hatdware. multiply

ft divide

49.95

MM500H

Dual 25 Bit Dynamic

S.50

MM503H

Dual 50 B<l Dynamic

50

MM504H

Dual 18 Bit Static

50

MM506H

Dual 100 EUi Static

.50

MM510H

Dual 64 Bil Accumulator

.50

MM5016H

500/512 Bit Dynamic

.Bfl

2504T

1024 Dynamic

3.95

2518

He« 32 Bit Static

4 95

2522

Dual 132 Bit Sialic

295

2524

512 Sialic

99

2525

1024 Dynamic

295

2527

Dual 256 Bit Sialic

2 95

2528

Dual 250 Static

400

2529

Dual 240 Bil Static

4.00

2532

Ouad 60 Bit Static

2.95

2533

1024 Static

295

3341

Fro

695

74LS670

4X4 Register File (TnState)

2 49

1103

2101(8101}

2102

21L02

2111(8111)

2112

1114

2I14L

2114-3

2114L-3

5101

5280/2107

7489

74S200

93421

UP0414

(MK4027) UPD416

(MK4116) TMS4044

45NL TMS4045 2117

MM5262

256X1 1024X1 256X4 1024X1 1024X1 256X4 256X4 1024X4 1024X4 1024X4 1024X4 256X4 4096X1 16X4

- RAM'S

Static

Dynamic

Sialic

Sialic

Static

Sialic

Sialic M0S

Static 450ns

Static 450ns low power

Sialic 300ns

Sialic 300ns low power

Sialic

Dynamic

Sialic

Static instate

Slatk:

Dynamic 16 pin

Dynamic 16 pin

Sialic

Sialic

Dynamic 350ns (house marked) Dynamic

9 95 10 95 10.95

PROM'S

1702* 2048 FAMOS $5 95

TMS2516 18K' EPROM (Intel 2716) 49.95 (2716) "Requires single »5V power supply

TMS2S32 4.KXB EPR0M 89 95

2708 8K EPROM 10.95

2716 TI 16K" EPROM 29.95 "Requires 3 voliarjes.—5V. +5V. +12V 2048 FAMOS

V-5-1013 33K BAUD

6301-1176111 1024 6330-117602) 256 82S23 32X8

82S115 4096

025123 32X8

74166 512

74188 256

instate Bipolar

Open C Bipolar

Open Collector

Bipolar

Instate

TTL Open Collector

TTL Open Collector

Static

EEE CONTINENTAL SPECIALTIES

PROTO BOARDS

Proto Board 203

n ;u3

•75.00

Li Will (liKlml

Modal

Humoar PS-4 6.0 « 4.5 «

PB-100 6 0i4.5*1.4

PB-1B1 6.0*4.5*1.4

PrlCT S158S SHIS (22.95

Proto Board 203 A

All IN IhiukioI IKl PB101 pl.t

.[ldil>orul pown luflply llitibitily.

!■■■ '■■■ i'- .ti- H--I bvoc i,n-i.i,

I-.., .; i;:.-;.!.!..!.,,..; >i I'll ,'IHI ii.-.i

uiiim uiii»ii -iiviic (nil -II vuC o.s» mpiiirfi, fid' wltt

."11'iiitl, ind inejicditifnll) idtuil roir.ni flipiiir ind nan*

PISA

-tsv »

•124.95

Model Number PB-102 PB-103 Pfl-104

Li Win

llntlml

7.0*4,5* 1.4

9.0*6.0* 1.4

9.6X60X 1.4

Prlct 5il5" S44.95 SUM

3Vi-Dlglt Portable OMM

a Ovetiou ProletierJ . 3 titgn LED Disomy

• Battenr or 'C operation . Auto Zeroing

. Im* IVe 0 I nom resolution

• Ovennge reading

• 10 meg mpul impentlence ■ DC Accuracy I*, typical Fi.ng., DC Vptlige 0-1000V AC Votiige 01000V

Freg Response SO 400 H7 OC.AC Cutrenl 0 100mA Resistance 0 10 meg onm 5M 54- x44- Ri Accelsorloi:

AC Adapler BC-28 Rechargeable Satteriei BP 26

$9.00 20.1

Carrying Case LC-28 7.50

100 MHz 8-Digit

. 20 Hi 100 MH2 Range COU liter

> 6~ LED Display . Four power souces. i e . Crystal-controlled limebase Pattenes. 110 or 220V with

i Fully Automatic charger 12V with auio

i Portable — completely lighter adapter and external

SMI-contained 7 2-iOV power supply

,Sli,-,75-xMB_ MAX-H30 «134 95

ACCESSORIES FOR MAX 100:

Mobile Chinjif Ellmmaler

use power Irom car batlerv Model 100 - CLA 13.93

Chirflir/Ellmlnilor

use 110 VAC

I 100- CAI 1999

REGULATED POWER SUPPLY ®&

JE200 5V-1AMP JE205 ADAPTER BOARD

POWER SUPPLY __ - Adapts to JEZ00

±5V,±9Vand±12V

f

JE200 $14.95

•Uses LM309K •Heat link provided

• PC Board construction •Provides a solid 1 imp

e 5 volts

• Can supply- up to ±GV, ±9V and ±12V with JE206 Adapter

• I neludes components, hardware & instructions

•Size: 3K"x5"x2"H

•OC/OC converter w/

+ 5V input ■Toriodal hi-speerl

■witching XMFR ■Short cire.protection •PC Brd. construction •Piggy-back to JE200

board •S<2o:3K"x2"x0/ie"h

JE205 $12.95

$10.00 Minimum Order — U.S. Funds Only fg" JJjJ " 2S.f

California Residents — Add 6% Sales Tai

1979 Catalog Available—Sand 41c stamp

lameco

ELECTRONICS

MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE, SAN CARLOS. CA 94070 ADVERTISED PRICES GOOD THRU JUNE

PHONE

ORDERS

WELCOME

(415) 592-8097

The Incredible "Pennywhistle 103

»|> IOa.!*7UKit Only

The Pennywhlitle 103 Is capaDle ol recording data to and from audio tape without critical speed requirements lor the recorder and it Is able In communicate directly with another modem and terminal lot telephone "Hamming" and communications In addition, it is tree ot critical adjustments and is built with n on -precision, readily available parts. , Dili Transmission Method Frequency -Shin Keying, lull-duplex (haJf-duphw

selectable).

Maiimum Data Ran 390 eJ1Jfj

Data Format Asynchronous Serai (mum lo mart level reouired

between each charecier). Receive Channel Frequencies .. .2025 Hi for space; 2225 Hi lor mark Transmit Channel Frequence! . .Switch selectable: Low (normal) - 1070 space.

1270 mark; High = 025 Space. 2225 mart.

Receive Sensitivity -46 dbm accousticatly coupled.

Transmit Lent -15 dim nominal. Adjustable Irom -6 dbm

lo -20 dbm. flecelia Frsquenty Tolerance .. .Frequency relerence automatically adjusts to

allow lor operation between 1800 Mi and.2400 Hi. Digital Data Interface E1A RS-232C or 20 mA current loop (receiver is

optoisoialed and non-polar)

Power Requirement.- 120 VAC. single phase, 10 Watts.

Persicel All eomponenls mount on 1 single S" by 9"

printed circuit board All components included Requires a VOM. Audio Oscillator, Freque.icv Counter and/or Owllosoooe to align

TRS-80 16K Conversion Kit

Expand your 4K TRS-80 System to 16K. Kit comes complete with:

• B each UPD416-1 (16K Dynamic Bams) 250NS " Documentation lor conversion

TRS-16K $99.95

COMPUTER CASSETTES

. 6 EACH 15 MINUTE HIGH QUALITY C-15 CASSETTES

. PLASTIC CASE INCLUDED 12 CASSETTE CAPACITY

. ADDITIONAL CASSETTES AVAILABLE #C-15-$2.50ea

jtfft&Z CAS-6 Srhfe-i $14-95

.»..» i, .. — . . (Case and 6 Cassettes)

SUP 'R' MOD II

UHF Channel 33 TV Interlace Unit Kit

vVide Band 67YV or Color System * Converts TV to Video Display rar home computers, CCTV camera, Apple II, works with Cromeco Dazzler. SOL-20. IRS-80, Challenger, etc.

MOD II is pretuned to Channel 33 " (UHF),

q * includes coaxial cable and antenna

transformer.

MOD II $29.95 Kll

£LLV4Mi b£l>

Model PI BO includes 2-100' spools #28 AWG wire wrap wire ».

Supplies insulated wire from spool to wrap-pom without prsitrip ping and precutting using "daisy chain" method.

Model P180 Tool

$24.50

P180A Raplacemant Bit S12.95

W28-2 Replacement wire (3 spool pkg.) . . $2.75 ea. Specify color: A-green B-red C-clear D-Blue

IDEAL FOR THS 80

"Plug/Jack Interlace to any Computer svstem requiring remote control of cassette functions"

The CC100 controls cassette motor functions, monitors tape location with Its internal speaker, and requires no power. Eliminates Hie plugging

and unplugging ot cables during computer loading operalion from cassette.

CASSETTE CONTROLLER

#CC-100 $29.50

63-Key Unencoded Keyboard

This Is a 63-key, terminal keyboard newly manufactured by a large computer manufacturer. It is unencoded with SPST keys, unattached to any kind ol PC board. A venr solid molded plastic 13 x 4" base suits most application. IN STOCK $29.95/63Ch

Hexadecimal Unencoded Keypad

19-key pad includes 1-10 keys. ABCDEF and 2 optional keys and a shift key. S10.95/each

Circle 200 on inquiry card.

BYTE Iune1979

257

What's New?

Universal Interface Converts IBM Selectric Typewriters

This universal interface unit has been designed for IBM Selectric typewriter conversions. The unit will interface to any RS-232, IEEE-488 or parallel port. A microprocessor is included on the circuit board for data flow control, formatting and character set selection. Installation on the Selectric is easy and does not affect normal typewriter operation. For those who do not want to convert their own typewriter, the company provides factory installation service. Selectric typewriters with conversion systems installed in accordance with factory instructions are still eligible for IBM warranty and service provisions. For further information, contact ESCON Products Inc, 171 Mayhew Way, Suite 204, Pleasant Hill CA 94596.

Circle 581 on inquiry card.

Printerm Model 879 Micro/Mini Printer

The Model 879 Micro/Mini printer is a high speed bidirectional printer which prints 120 characters per second at 75 lines per minute. It has a 9 by 7 or 9 by 9 high density matrix format, and provides up to four copies. The Model 879 has an ASCII 96 character set (upper case, lower case and triple wide expanded) and is operator switch selectable for an 80 or 132 column format. This RS232 and parallel interface printer is available with roll paper feed, combination pin form and roll feed, or tractor feed. It contains 2 K bytes of memory for full page video dump. The price is $1395 for the standard model. For further information, contact Printer Terminals Corp, POB 535, Ramona CA 92065.

Circle 582 on inquiry card.

Low Cost Modification to DECwriter Printer Adds Graphics

The Graphics II system is a low cost graphics modification for the Digital Equipment DECwriter II printer. It is available to upgrade existing printers, or can be factory installed with a new printer. The Graphics II system consists of a replacement circuit board for the DECwriter II and is plug compatible with internal cables for simple installation. The new circuit board uses the Fairchild F8 microprocessor.

The DECwriter is a dot-matrix printer, and the Graphics II allows printing of a dot anywhere on the page. Bidirectional line feed is introduced, and the Vector Graphics capability allows the printing of a line between any two points on the page by using ASCII characters to specify the end point coordinates. This means that graphics can be generated by using the printer keyboard.

ASCII and APL character sets are standard, and other character sets can be used. Characters can be printed in any of four rotational orientations, and printed normal size, heavy bold face, or expanded width. The printing of bar code is also available.

The average printer speed has been increased to 50 characters per second, and data may be transmitted in bursts of up to 1000 characters at 1200 bps. Other features included as standard are EIA RS-232, 20 mA current loop and TTL interfaces, auto linefeed, top of form, and horizontal and vertical tabs.

The Graphics II system is priced at

$850 as a field installed circuit card. For further information, contact Selanar Corp, 3054 Lawrence Expressway, Santa Clara CA 95051.

Circle 584 on inquiry card.

High Density Video Programmable Memory Module

The MTX-2064 and MMD-2480 are new members of the Matrox video programmable memory family (VRAM) of TV video controllers. The family provides an interface between any microprocessor and a TV monitor. On the input side the VRAMs look like a 1280 or 4098 by 8 bit static programmable memory with an access time of 500 ns. The output of the MTX-2064 is a video signal providing a flicker free display of 20 lines by 64 upper and lower case characters. The MMD-2480 provides 24 lines of 80 characters and limited graphics capability. No external refresh or memory is required. Any character may be displayed normally, inversely or blinking.

The bus structure permits direct interfacing to most micro and minicomputers. Being part of memory, the full power of the processor instruction set is available for display manipulations. A universal phase lock loop module permits the MMD-2480 to be locked to an external sync source such as a TV camera. Another option

available for both models is a choice of American and European television standard field rates.

The units are completely selfcontained and ready to use, including sync generator, programmable memory, read only memory and bus interface. They are housed in pin compatible 4.5 by 6 by 0.5 inch (11.43 by 15.24 by 1.27 cm) modules and draw under 800 mA from a single +5 V power supply. The MTX-2064 is priced at $295 and the MMD-2480 is $395. For further information, contact Matrox Electronic Systems Ltd, 2795 Bates Rd, Montreal, Quebec CANADA H3S 1B5.

Circle 583 on inquiry card.

258 lune 1979 © BYTE Publications Inc

CaMFornja Diq'iTAl

Post Office Box 3097 B • Torrance, California 90503

Sankyo Magnetic Card Reader

These Sankyo I/O units are capable of storing and retrieving over | 400 characters of data in under two secords.

The (lexability of this device lends itself to numerous applications. I As an input reader to a computerized security system, the comI puter has the ability of identifying the card holder and admitting I only those individuals who are authorized to enter the premises during specified time frames. The device is also suitable for maintaining customer information files, or any other application where small amounts of information must be quickly entered into a data processing system.

Accepts 2" by 4" HP style mag-cards. (Similar to bank cards. )

Motorized feeder pulls the magnetic card acrosa the four channel

I read/write head. NEW surplus, original cost $200. Full documentation

CONNECTORS

p3 "°<>° L

4

^

w°\

your choice

DB25P

male plug & hood

or

DB25S female

»395

Qty ft. male hd.

10 3.4S 2.45 1.15

25 3.15 2.25 1.05

100 2.85 1.90 .95

500 2.25 1.60 .85

IK 1.97 1.37 .73

Edge Connectors

GOLD 100 PIN

IMSAI/ALTAIR

Imiil toldir.125x250

Imsil w/w.l25centers Altalr ioldert.il.HOro» SPECIALS 22/44 Kim eyelet.156" 25/50 solder tab .156" 36/72 wide post w/w.156

43.95 3/4 9.00 (4.95 3/413.00 •5.95 3/415.00

61.95 3/45.00 41.09 3/42.00 41.95 3/45.00

100 Mother Board

HEXADECIMAL KEYBOARD

Mail-Switch hexadecimal keyboards are designed lor B*J-^1 95 microcomputer systems lhal require 4 bit output "^ «^3 "■#■ ■

In standard hex code.

Each assembly consists o' 16 hormstlcally sealed reed switches and TTL shot" debounce circuitry. Reliable low Iricllon acelal resin plungers are credited lor the smooth operation and long life oi this premium keyboard. Requires single t- 5 volt supply.

T,Eo?*41

50 + «3.85

a

Scatcli

B Pi A N o

Diskettes

8inchSoft(IBM> 8inch 32 sector Mini Soft sec. Mini 10 sector Mini 16 sector

Certified Digital

CASSETTES

Won't drop a BIT! *550

CALIFORNIA INDUSTRIAL

is an

Authorized

Dealer of

Scotch Brand

Dataproducts

MEMORY

£,rTToc, * UNIVAC KEYBOARD

IrilBO 'OWI 10 !4>MITlbl4) 1 tfiri k(-y ailljuvj miChliH

iQ'mil ■Mow* oni htnatU nuTisfic dill unify Orig«ul qtnl Ml (386 uir-.j mi □u*')nlMd in «

Shugart Associates

SA800-R Floppy Disk Drive

The most cost effective way to store data processing information, when random recall is a prime factor. The SA800 is fully compatible with the IBM 3740 format. Write protect circuitry, low maintenance & Shugart quality.

MODEL43

Evan if we have to give them away, we're going to ship mora 43't In 1979 than the aggregate

of all our competitors.

Model 43AAA EACH 3

875.

*925.

RS-232 Interface"!." Add'75.00

825

•nfp"ng T5I?|

krhcvtfrn APPLE/TRS-80 ClDdlllTl Mini - Soft sector

SPGCiPL

TEN KEY

Data Entry Pad

$7950

Plugs directly into you Apple II. Allows you to enter numerics, punctuation and upper case alpha characters, all from the data entry pad. Sold assembled in walnut finished enclosure.

APPLE II

IBK MEMOFT

COLOR • GRAPHICS* SOUND

$1024

PLUS SHIPPING

Mfg. bug. Retail.... <119$

$449.50

CALIFORNIA DIGITAL

16 BIT 8086

S-100 CPU Board

Directly addresses one megabyte. 8 bit unidirectional & 16 bit bidirectional. 4K of static memory is supplied on board. $650.00

TRS-80SJ APPLE II

16k memory (8)4116's

• As you may be aware, publishers require advertisers to submit their ad copv 60 to 90 days prior to "press' date. That much lead time in a volatile market place, such as memory circuits, makes it extremely difficult to project future cost and availability. To obtain the best pricing on memory we have made volume commitments to our suppliers, which in turn affords us the opportunity to sell these circuits at the most competitive prices. Please contact us if you if you have a demand for volume state of the art memory products.

DiciCAST A/V-100

R.F. MODULATOR

I4AQR Broadcast both £,n9maudio and vidio on your existing color television. Recommended for the Apple II.

STATIC

1-31

32-99

100-5C

-999 1K+

21L02 450nS.

1.49

1. 19

1.05

.95 .89

21L02 250nS.

1.69

1.49

1. 45

* *

2114 1K.\4 450

6.95

6. 50

6.25

3.00 5.75

2114 1Kx4 300

8.95

8. 50

8. 00

* *

4044 4Kxl 450

5.95

5.50

5.00

* *

4044 4Kxl 250

9.95

9.50

9. 00

* *

4045 l]sx4 450

8.95

8.50

8.00

* *

4015 lKxl 250

9.95

9.50

9. 00

* *

5257 low pow.

7.95

7.50

7.05

6.75 6.45

SPECIAL CIRCUITS

Z80A 4 MHz.

24.95

AY5-1013A UART 4.95

8080A CPU

9.95

F

oppy Di

sc Controllers

8085

22. 50

VD1771

single D. 39. 95

8086 Intel 16 bus

*

VD1781

Double D 65.00

TMS9300 16 bits

49.95

WD 1791 D/D3740 *

E PROMS 1-15

16-63 64+

1702A 2K

4.95

4.50 4.00

2708

8K

9.95

9.50 9.00

2716 5vl6K 49.95 45.00 42.50 532 32K

|jrj2grjJ rmasBi cttatjjs]

PORTABLE DATA ENTRY SYSTEM

These used data terminals were originally designed for chain store inventory control and order entry systems. The operator enters the inventory control number, merchandise on hand and the unit price. After all pertinent data has been entered into the recorder, the main warehouse is telephoned, the handset is placed in the acoustic coupler and all the recorded information is transmitted back to the master computer. With a little imagination and one of these portable entry systems, you should be able to exchange programs and computer information with associates across the country. All units were removed from service in working condition. Original cost $2,500. Each system comes complete with:

■Portable Cassette Drive Unit "Five Gould "D" NiCads -DB25 Cable

■Removable Entry Keyboard .Acoustical Coupler .Shoulder starp

with LED Display -Battery Charger

■Full Documentation

Miniature / Switches J,

#• W

your choice C no 10 SO 100 Ik *■">> 5.88 .81.73.66 SPDT Miniature Toggles

7101 C&K ON-NONE ON 7107 jbt ONOFFImnt.ON) I 710S CK ON-tnioineiit.ONl

Rocker IBT DPDT

Rotary 3P-4POS.

Rotary 3P-6-Pos.

Push B IN 0.) S.39ea. 4/11

DIP Switch

$149

25 100 IB

Jl 29 1.15 .97 .83

specify 4

"r8

plj'i.l

Digital Cassette Oriue

COMPUTER CONTROLED

DISCOUNT ' |

Wire Wrap Center

•■7950

This precision I/O assembly features remote software controlled search capabilities. Two independent capstan drive motors allow the computer to control direction and speed of the transport.

The assembly consists of a Raymond cassette transport, chassis, motherboard and three edge cards: read/write, capstan drive & control card. Current replacement valued at over $700.00. Schematics and complete documentation Included. USED, but in excellent condition.

1

C SOCKETS

wire wrap low profile ea. 25 SO aa. 25 50

s

14

37' 36 35 18 17 16

16

38 37 36 19 18 17

24

89 93 85 36 35 34

40

169 155 139 63 60 58

S23.95 i

BW630

50ft.

'.98

KYNARwiSP

500 1,000 11,000 (9. V15 $105.

(213)679-9001

Circle 39 on inquiry card.

What's New?

MISCELLANEOUS

Polytonic Keyboard System Generates Orchestral Textures

The 1550 Stringz-n-Thingz kit is a polytonic keyboard system from PAIA Electronics, 1020 W Wilshire Blvd, Oklahoma City OK 73116. This multipurpose instrument is capable of generating orchestral textures consisting of violin, cello, and piano voicings. A separate output also provides piano only, to allow separate processing, amplification, or mixing of the two types of voices. A full complement of operator controls allows switch selectable keyboard split, separate mixers for upper and lower keyboard, variable vibrato and chorusing rate and depth controls to allow reed organ and pipe organ voicings, and variable sustain controls for piano and strings.

A standard gate trigger jack allows the 1550 to be interfaced to any of the commercial synthesizers which feature systems interfacing jacks. This allows capabilities for brass synthesis,

Energy Monitor Saves Money

The Energy Monitor is an electronic device with a built-in microcomputer that budgets energy use on a daily basis and converts kW usage to visual dollars and cents. The amount of energy used is continually and automatically displayed in dollar amounts on a lighted digital display. Set a budget, and if usage exceeds the desired budgeted amount, a warning flashes. At the end of the billing period the Energy Monitor automatically resets to zero and starts a new month's computation. In addition to the savings on utility bills, consumers are entitled, under the Energy Tax Bill, to receive an investment tax credit for the purchase of this energy-saving tool.

Installation is simple and inexpensive. A lighted panel displays eight functions: current dollar cost for energy used, projected amount of next bill, amount of last bill, billing date, chosen energy

Computer Desk for Cromemco Computers

budget, cost per kW hour, date and time of day.

The unit retails for $295. For further information, contact Dupont Energy Management Corp, 3301 Conflans, Suite 102, Irving TX 75061.

Circle 605 on Inquiry card.

Cromemco Is offering a new computer desk for the System Three and other Cromemco computers. The desk is styled and constructed to fit into any office surroundings or professional environment. The computer is mounted into a special shelf under the desk. This leaves the top free for a terminal, printer, or other unit, or as a work surface, while still providing the operator easy access to the computer for disk loading and unloading. The desktop is an attractive beige color designed to harmonize with the medium light wood veneer ends. The top surface is a tough, laminated plastic.

The Computer Desk (Model Z3MDSK) is available for $695. For additional information, contact Cromemco Inc, 280 Bernardo Av, Mountain View CA 94043.

Circle 607 on inquiry card.

filtered strings, and other polytonic synthesizer effects.

Optional features include foot pedals for volume or sustain time control, foot switches for sustain control, and the 1551 stereo option to convert the mono string output to a true stereo output with two switch selectable modes of stereo operation. Other options include a processor interface to allow memorization of string or piano parts for later reproduction at any tempo and key desired. Also, the processor interface will allow the 1550 keyboard to simultaneously control a modular polyphonic synthesizer system.

The complete Stringz-n-Thingz kit including 84 page, step-by-step assembly and operation manual is available for $295.

Circle 604 on inquiry card.

Right Angle PC Mount Original D Connectors

An expanded range of right angle, printed circuit mount original D type subminiature connectors has been introduced by Souriau Inc, 7740 Lemona Av, Van Nuys CA 91405. The 831 series has been updated to include a fixed contact strap and a nonmetallic, fully insulated plastic mounting bracket and a new Underwriters Laboratory 94-VO rated thermoplastic insulator with a temperature range of -55°C to +105°C (-67°F to 221°F). The 831 series modifications are available in all layouts from 9, 15, 25, 37 to 50 pin and may be used with units from competitive manufacturers.

A comprehensive 12 page catalog detailing subminiature D, original D, D*M, and Norman/D connectors and accessories is available free upon request.

Circle 606 on inquiry card.

Standard Reference Alignment Cassette

Magnetic Information Systems has announced the Introduction of an alignment reference metal cassette for use in the calibrating of digital and word processing equipment. This cassette is prerecorded at 1600 flux changes per inch (FCI) on an optical alignment recorder which employs precision magnetic heads. The magnetic tape is especially made for the digital reference tape application. These cassettes are priced at $12.50 and are available in several special configurations. For further information, contact Magnetic Information Systems Inc, 415 Howe Av, Shelton CT 06484.

Circle 608 on inquiry card.

260

lune 1979 © BYTE Publications Inc

ITHACA AIJDTO

THE OEM MARKETPLACE

Assembled and Tested Added at Ithaca Audio

Field-proven reliable engineering

Over 15,000 boards worldwide prove Ithaca Audio provides the quality and reliability you demand.

Ithaca Audio Boards are fully S-100 compatible, featuring gold edge connectors and plated-through holes. All boards (except the Protoboard) have fully buffered data and address lines, DIP switch addressing, solder mask and parts legend.

Z-80 CPU Board still the most powerful 8 bit central processor available. Featuring power-on-jump, provision foron-board 2708. Accepts most 8080 software.

A&T 4 mHz $205.00

A&T2mHz $175.00

Blank PC $ 35.00

Disk Controller Board controls up

to 4 single or double sided drives. Supported by a host of reliable software packages: K2 FDOS, Pascal, Basic and complete diagnostics.

A&T $175.00 Blank PC $ 35.00

K2 FDOS Disk software in the DEC tradition. Includes character oriented text editor (TED), File Package (PIP), Debugger (HDT), Assembler (ASMBLE), HEXBIN, 1 COPY, System Generator (SYSGEN) and more. Command syntax follows Digital's OS-8/RT-11 format. First in a family of high level software. Basic and Pascal available now. Soon-to-be-released Fortran.

K2 Disk $ 75.00

Video Display Board features the

full 128 upper/lower case ASCII character set. Easy-to-read 16 line x 64 character format can be displayed on an inexpensive video monitor or modified TV set. Includes TTY software. Add our powerful K2 FDOS to create a versatile operator's console.

A&T $145.00 Blank PC $ 25.00

8K Static RAM Board High speed

static memory at a reasonable cost per bit.

Includes memory protect/unprotect and

selectable wait states.

A&T 250 ns $195.00

A&T 450 ns $165.00

Blank PC $ 25.00

2708/2716 EPROM Board mdis

pensable for storing dedicated programs and often used software. Accept up to 16K of 2708's or 32K of 2716's.

A&T (less EPROMs) $ 95.00

Blank PC $ 25.00

2708 EPROMs $ 11.00

Circle 190 on inquiry card.

The leading manufacturer of blank S-100 boards is adding a new wrinkle—now all their boards are available assembled and tested. "This is a natural progression for the company" according to Mr. James Watson, President. "Actually we've been supplying assembled and tested for some time to our volume customers and OEM's, particularly those overseas. Our production staff is now fully up to speed, so just about everything is available from stock." The company scheduled 6 months to phase in assembled and tested to allow time to build base inventories, before offering the boards to the public. "We feel this is quite important. A lot of companies have earned themselves a bad name in this business by announcing products they can't really deliver. We simply won't do that." Mr. Watson further explained that Ithaca Audio intends to remain leader in blank boards and expects to release a minimum of 6 new designs by August, which will be offered both blank and assembled and tested.

Memory Prices Tumble

Ithaca Audio first to break 1C/Byte Barrier

By cutting prices for 32K of RAM to $319 Ithaca Audio becomes the first computer vendor ever to offer high speed memory for less than a penny a byte. Commenting on the announcement, Steve Edelman, Director of Engineering said "Just a few years ago people were wishing for a penny a bit, and even now memory for most large computers costs about 2«/byte and that's only in 1 Megabyte chunks." In fact it's the relative modest capacity of the 32K board that makes it so interesting. Users need not buy the full 64K to take advantage of the low price per bit. Furthermore, the board is available both as a kit and assembled and tested. Delivery is stock to two weeks. Pricing is:

• 32K kit $319

• 32K A&T $359

• 64K kit $645

• 64K A&T $695

8" Disk Drives

Shugart compatible Memorex 550's are in

stock.

Single and double density compatible, 330K

bytes capacity with our controller or use your

own.

Either way $456

Protoboard Universal wire-wrap board for developing custom circuitry. Room for three regulators. Accepts any size DIP socket.

Blank PC $ 25.00

Pascal/Z Ready

The first Pascal Compiler for the Z80, and the fastest Z80 Pascal ever is now ready. Over one year in development, Ithaca Audio was obviously pleased with the results. "We really have outperformed them" states Jeff ?/ ->skow, Director of Software Engineering, beaming over the recently released benchmarks, in which Pascal/Z averaged better than five times the speed of a recent P-code implementation.

"Pseudo-code means a vendor only has to supply one compiler to lots of people using lots of different machines, and that makes his life very easy, but it also means users' programs execute significantly slower. Therefore, we chose to write a native compiler that delivers fast re-entrant ROMable code, with no need for an intermediate language and interpreter. That's where our speed comes from." As a matter of fact, Pascal/Z is often twenty times as fast as UCSD's implementation and may well be faster than dedicated Pascal machines such as the recently announced Western Digital Pascal Microengine.™ Unlike the Microengine, Pascal/Z does not require any new special CPU hardware and has the added benefit of compatibility with existing Z80 software.

Operational requirements of Pascal/Z are the Ithaca Audio K2 Operating system and 48K of memory during compiles. The output is standard Z80 Macrocode which is linked and run through the Ithaca Audio Macroassembler. Binary files may be as small as 2.5K, or even less if the full library is not used. The compiler, including the Macroassembler, is available on an 8" K2 floppy disk. Price including full documentation is $175.00. The Macroassembler is available separately for $50.00. Delivery is from stock.

More Software:

For those that don't require the speed of a compiler like Pascal/Z, Ithaca Audio also offers the convenience of BASIC. BASIC/Z, an extended version of TDL's Super Basic, runs in slightly over 12K and is supplied on an 8" K2 disk for $75.00.

SAVE Even More

When you buy your software as a package

K2 and Pascal/Z $225

SAVE $25

K2, Pascal/Z and Basic/Z $275

SAVE $50

HOW TO ORDER

Send check or money order, include $2.00 shipping per order. N.Y.S. Residents include tax.

For technical assistance call or write tO:

ITHACA AUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/257-0190

BYTE June 1979

261

Whal's New?

SOFTWARE

Personal Computer Software Packages

dmvm

<#;.,

ft<t*;.

GRT Corporation's G/2 personal computer software group has introduced 15 program packages containing 26 different programs for education, family entertainment, personal development and household data management. The G/2 line is compatible with the Radio Shack TRS-80, Apple II, Exidy Sorcerer, Processor Technology SOL and Southwest Technical Products 6800 computers.

The first available G/2 System Software includes two BASIC programming language packages by Microsoft. The G/2 Standard BASIC for the Southwest Tech 6800 computer is faster than Southwest Tech's BASIC, and offers 6800 owners a significantly broader selection of application programs. The G/2 Extended BASIC for the Processor Technology SOL is totally compatible with SOL's operating system, and provides features not available in Processor Technology BASICs.

Every G/2 product is produced on a tape cassette and packaged in a sturdy hard cover book style box along with an instruction manual. The application programs include source listings. The price for the G/2 personal computer program packages is $14.95; $34.95 for the Southwest Technical Products Standard BASIC; $49.95 for the SOL Extended BASIC. For further information, contact GRT Corp, 1286 Lawrence Station Rd, Sunnyvale CA 94086. Circle 575 on inquiry card.

Time Series Analysis and Statistical Software Package for North Star

Potters Programs, 22444 Lakeland, St Clair Shores Ml 48081 has announced a comprehensive time series analysis and statistical software package written in BASIC for the North Star floppy disk system. This package allows the user to load data into disk data files, edit the data, analyze it with aseries of programs, and output the data in various convenient formats.

The analysis programs include a fast Fourier transform, auto correlation, cross correlation, distribution function, probability function, negative peak, positive peak, average, root mean squared, and various statistical and correlation calculations. The data can be recorded on disk from manual input or from analog to digital converters. It can be scanned and edited to remove obvious noise, and any part of the file can be analyzed by any of the methods. This package is available on North Star disk for $120.

Circle 576 on inquiry card.

Learn PET BASIC

PET BASIC Compleat consists of twenty lessons of PET BASIC, including all the major BASIC keywords, cursor control, screen editing, and use of the graphic characters. This two cassette tutorial is especially designed for beginning Commodore PET users. The 170 page manual which accompanies the cassettes is indexed for quick reference, three hole punched for easy review, and reproduces all data appearing on the screen (except PET's graphics). Quizzes and exercises add to the fun of learning how to use and program the Commodore PET. The package is priced at $39.95. For further information, contact ARESCO, POB 43, Audubon PA 19407.

Circle 577 on inquiry card.

Accounting Programs for Small Computers

The Standard Software Library is a series of books containing listings or programs written in BASIC with complete documentation. Each volume in the series is devoted to a single application.

The first three volumes deal with accounting programs for small computers. Volume 1 (General Ledger) enables a small business to set up a fully automated general ledger system with a complete chart of accounts. Included are programs for editing, sorting, merging and posting of transactions. A trial balance report is available in either summary or detail at the user's option. Income statement and balance sheet reports may be obtained at the close of each accounting period with

Software for the PET and TRS-80

Speakeasy Software has announced the availability of consumer oriented software for the PET and TRS-80, in addition to the Apple versions. The titles fall into two categories: the Continuing Education Series, which includes financial analysis and transactional analysis; and the Home Entertainment Series with Warlords, Bulls and Bears, Sportstrivia, Microtrivia, and Kidstuff. For further information, contact Speakeasy Software Ltd, POB 1220, Kemptville, Ontario CANADA K0G 1J0.

Circle 578 on inquiry card.

Software and Hardware for Jolt and TIM Owners

Three new products have been announced by The 6502 Program Exchange, 2920 Moana, Reno NV 89509. The JAB (Jolt Adapter Board Kit) is a hardware device designed to interface the Jolt computer to the KIMSI S-100 interface. The $19 JAB Kit includes a manual and all parts except the Jolt connectors.

A program called ERAC (Editor and Resident Assembler Controller) was developed for users of the read only memory version of the Jolt Resident Assembler. ERAC allows source text and object code to be placed in programmable memory. Residing in 2 K bytes, ERAC is an extension of the RAP. A paper tape is available for $5 and the manual is $4.50.

LEDIP (Line Editor Program) is a compact line oriented text editor that readily lends itself to modification or expansion. LEDIP will output source text suitable for usage with the programmable read only memory version of the Jolt Resident Assembler. The paper tape is $2.75, the manual is priced at $3.25 and the cross assembly is $5.

Circle 579 on inquiry card.

both current and year-to-date totals and percentages. Volume 2 (Accounts Receivable) provides a fully automated system for dealing with customer accounts. Volume 3 (Payroll) enables a business to automate all of the normal payroll functions.

All of the programs are written in a level of BASIC which is common to almost all current microprocessors and minicomputers. The modular nature of the programs and the accompanying documentation make it easy to revise the program to meet special user requirements. The price of the Standard Software Library is $49.95. For further information, contact Creative Computer Consultants Inc, POB 2111, Norwalk CT 06852.

Circle 580 on inquiry card.

262

June 1979 © BYTE Publications Inc

10-DAY FREE TRIAL

Send for our FREE Catalog

NC€ COMPUMARrS P€T LUflfi€HOUS€

We have more PETs than anyone, call for quick delivery.

1*1*595

4K • Keyboard C $ 595

8K - Keyboard C $ 795

16K - Keyboard B $ 995

16K - Keyboard N $ 995

32K - Keyboard C $1195

32K - Keyboard B $1195

32K - Keyboard N $1195

C — calculator keyboard (only version with tape deck) B — large business keyboard without graphics symbols N — large keyboard with graphics symbols

^ apple II

200 FR€€ ACC€SSORI€S

Buy a 48K Apple II, mention this ad and take $200 in accessories free (if ordered together). This offer is good for $150 on 32K and $100 on 16K Apple ll's. Now you can enjoy more of the best for less.

16K Apple II — $1195 (take $100 in free accessories) 32K Apple II — $1345 (take $150 in free accessories) 48K Apple II — $1495 (take $200 in free accessories)

Apple II Accessories

Centronics Printer Interface $225

Disk and Controller $595

Second Disk Drive $495

Parallel Printer Card $180

Communications Card $225

Hi-Speed Serial Card $195

Firmware Card $200

Hobby/Proto Card $24

Microverter RF Mod $35

Sanyo M2544 Recorder $55

0\ Hazeltine 1400

PET ACCESSORIES

ommodore Dual Floppy Disk Drive $1295.1

New! PET Terminal Package $69.<

Second Cassette — from Commodore $95.(

Commodore PET Service Kit $30.(

Beeper - Tells when tape is loaded $24.S

Petunia - Play music from PET $29.1

Video Buffer - Attach another CRT $29.1

Combo - Petunia and Video Buffer $49.1

New Serial Printer Interface for PET $79.S

Integral Data Printer w/new interface $878.1

PET - Compatible Selectric in Desk $895.(

TTY KSR-33 Screen Printer for PET .. .CTJIJ. $395.( Originate/Answerback Modem for PET .TV .tV$320.(

Bi-directional RS-232 Interface $280.(

Betsi 4-slot S-100 Motherboard $160.1

S-100 PET Interface was $289.00 SALE S99.C

,%. UP TO $100 ONI

^i ^ READER/PUNCH

Our reconditioned paper tape Reader/Punches are reliable performers and now for a limited time they're all on I sale! The serial Reader/Punch which was $950 is sale priced at $850. The Reader/Punch alone is marked down | from $175 to $157, prices with interface follow:

Interface Interface Interface Interlace, Power

Model Added and Power and Enclosure

Serial $472 $616 $850

Parallel S355 $598 S675

gfps

tfOC*

N Only $699.00

Now a 5th Generation in Terminals: Immediate Delivery

Hazeltine 1410 with numeric keypad $835 Hazeitine 1500 full of features 0jS» $999 Hazeltine 1510 with buffer logic $1149

Hazeltine 1520 with printer interface $1499

call or write for more information

OF THE

MONTH

PET

TERMINAL OPTION

fff

**:

Get a PET & a terminal in one Data rates to 2400 baud Full Duplex operation Auto line wrap-around With or without auto line-feed

Buy any model PET & get a free NCE PET terminal option, normally $69. Now your PET can handle two different jobs. You can use the PET for a powerful BASIC computer or you can load our machine-code program to use the PET as a dumb terminal (not both at once). Please specify this option with order.

For those of you who already have a PET, you may order an NCE PET Terminal option separately for $69.

Qgjk

LOW-COST PRINTER FOR PET

INTRODUCTORY PRICE $395

Tl <

PROGRAMMER

calculator convene vfci UO*

Reg. $59.95 " $49.95

NCE/CompuMart

1250 North Main Street, Department BY69 F.0. Box 8610 Ann Arbor, Michigan 48107

Datel/Selectric

Table-top

Terminals

!ffi& List $279.95

S^v£ $189.95

S-100 MPA

«w *$

10 DAY RETURN PRIVILEGE

S-100 MPA gives your PET complete control of the S-100 bus (even DMA). Get an assembled unit at kit price.

(313) 994-3200

CAT COUPLE

New 300 baud Originate/Answerback Acoustic Coupler. Looks good, works great and sale priced at

$189.

6

SANYO MONITOR

$169.95

"'$214.95

EXPAND YOUR KIM SYSTEM:

KIMSI

KIM to S-100 Board

Assembled $169

Connector Set 15

KIM 4

Expansion board 89.95

MICRO TECH POWER SUPPLY Assembled S34.95

KIM ENCLOSURE

Give your KIM a iroiessionai appearance No alterations reamreo slurdy

«w.. ,«,„,,« 50

• Michigan residents add 4% saies tax • Add 4% shipping and handling lor all domestic orders

• Foreign orders (except Canada) add 10% additional handling (U.S. currency only) • P.O.'s accepted from D & B rated companies — shipment contingent upon receipt of signed purchase order

• Phones open from 9:00 a.m. to 7:00 p.m. EST Monday-Friday, 10:00 a.m. to 5:00 p.m. Saturdays

• Open accounts invited — call for credit application • Most items in stock for immediate shipment — call for delivery quotation • Sorry, no C.O.D.'s

• All prices subject to change without notice • In the Ann Arbor area? Retail store open 11:00 a.m. to 7:00 p.m. Tuesday-Friday, 10:00 a.m. to 5:00 p.m. Saturdays (Closed Sunday and Monday)

SEND FOR FREE TERMINAL FLYER

Circle 283 on inquiry card.

BYTE lime 1979

263

What's New?

MISCELLANEOUS

Parallel/Serial I/O Card with Modem

The 8P2SM Parallel/Serial I/O (input/ output) card with modem is the latest product from MicroDaSys, POB 36051, Los Angeles CA 90036. It combines eight parallel ports (including full handshaking) with two serial Input and output ports. It also enables the user to configure one set of serial ports for full RS-232 operation, and the other as a full duplex answer or originate modem. A complete documentation package is included with the board. The price is $149 in kit form and $199 completely assembled and tested.

Circle 598 on inquiry card.

Self-Pace Logic Trainer

The Model 100 Broder Logic Trainer trains students without previous electronic background for digital electronic related assignments. It improves and grades the ability of the user. The Model 100 includes all gates, flip flops, positive and negative edge triggered devices, master-slave clocking, preset and clear functions. Switch circuit and Venn diagram problems as well as BCD and binary counting modes are included.

Physical logic state manipulation and the visual- display make for fast and retained learning. In operation, the user manipulates component logic states using the eight logic switches. Solving a problem requires logic switch manipulation to force a logic 1 at the problem card output, which will turn on the designated bar indicator. A manual, 40 digital problems, and a 9 V battery cell are Included. The Model 100 requires no wire or integrated circuit manipulation. It is priced at $69.95 and is available from L J Broder Enterprises Inc, 3192 Darvany Dr, Dallas TX 75220.

Circle 599 on inquiry card.

Floppy Disk Read Amplifier System From Motorola

Motorola has introduced its MC3470 Floppy Disk Read Amplifier System. Combining both linear and digital functions on one integrated circuit, the MC3470 provides all signal processing from the read head through to the standard logic level digital output.

Contained in the circuit are the required gain stages, an active differentiator-comparator for peak detection and a time domain filter for wave shaping and elimination of false outputs. External connections for the required filter network, active differentiator and timing control components allow the system designer optimum flexibility in meeting overall system performance requirements.

This single monolithic device provides a standard TTL (transistor-transistor logic) digital output which is free

from amplitude and waveform variations present at the read head, with a guaranteed maximum unadjusted peak shift of 5.0%.

The MC3470 Floppy Disk Read Amplifier is available in an 18 pin plastic dual-in-line package at the price of $5.95 for quantities of 100 and up. For more information, contact Motorola Semiconductors, POB 20912, Phoenix AZ 85036.

Circle 600 on inquiry card.

Apple II Software

The MUSE Co, POB 13365, Baltimore MD 21203 has announced a complete line of software for the Apple II computer. A full feature text editor ($17.95) allows management of free form text. Multiple space compression and tape I/O (input/output) are used for efficient file storage. U-Draw ($17.95) is a high resolution programmable graphics editor with tape I/O for storing finished drawings. Documentation includes instructions for linking figures to user programs. The Elec

tric Crayon ($17.95) is a graphics editor similar to U-Draw but in low resolution color. The Music Box ($12.95) gives three octaves of sound with no additional hardware. Type in a song, and the Music Box will play it for you. Notation includes sharps, flats, note time, rests, dotted notes and tempo. It can be retuned easily for special sound effects. The Number Cruncher ($9.95) is a set of single precision math and ASCII to hexadecimal subroutines. Games which are priced at $12.95 each are also available.

Circle 601 on inquiry card.

DC Motor Speed Control in a Dual-ln-Line Package

This monolithic integrated circuit DC motor speed control, housed in a 14 pin, low profile plastic dual-in-line package, is available from Cherry Semiconductor Corp, 3600 Sunset Av, Waukegan IL 60085. Designated the CS-175, the motor speed control is designed to provide maximum flexibility at a low cost. Requirements for adjustment and external components in multiple speed applications have been reduced by giving accurate, pin-programmable speed ratios for slow, medium, or fast motor velocities.

While many other applications are possible, the CS-175 is primarily Intended for use with AC tachometer signals. The unit Is capable of providing such stability that errors are dominated by terms created by the finite loop bandwidth made necessary to ensure stability with the dynamics of the specific motor and load.

The price for the CS-175 is $1.68; $.79 in 1,000 piece quantities; and $.65 in 10,000 quantities.

Circle 602 on inquiry card.

New Module Solves TRS-80 Cassette Drive Hang-Up

The TBUFF module is a simple inexpensive nonrepair shop solution for TRS80 cassette drive hang-up. The module simply plugs in series with the remote cable between the TRS-80 and the recorder. TBUFF reduces the current passed through the reed relay in the TRS-80. At the same time, TBUFF delivers full power to the recorder, thus maintaining proper tape speed and volume levels. TBUFF sells for $7.95 (California residents add 6%). For further information, contact Web Associates, POB 60, Monrovia CA 91016.

Circle 603 on inquiry card.

264 June 1979 © BYTE Publications Inc

oULIU oTATE oALto . . . *J$nnotvnc&& « ^tea^lA^oua/i in ^B<ymfvu^i tfeciwicdciyu

A PICTURE MAY BE TAKEN BY OUR CAMERA,

STORED IN A COMPUTER IN REAL TIME AND THEN

DISPLAYED ON A CRT AT AN AFFORDABLE PRICE

VIDEO COMPUTER

PROCESSING SYSTEM

THIS REMARKABLE VP-1 COMPUTER/ INTERFACE KIT HAS THE FOLLOWING:

FEATURES

• IT PRODUCES COMPOSITE VIDEO OUTPUT IN A 128 x 128 MATRIX FROM A DIRECT MONITOR CONNECTION USING 8K OF MEMORY

• THE SYSTEM USES A STANDARD S 100 BUSS

• WILL NOT TIE UP COMPUTER SOFTWARE WHEN NOT ADDRESSED

• IT DISPLAYS CONTINUOUSLY WHEN NOT ADDRESSED

• IT MAY PRODUCE PSEUDO COLOR AND/OR GRAPHICS (UP TO 16 GREY LEVELS, 4 BIT BINARY)

GRAY LEVELS

THE CAMERA WILL TAKE BETWEEN 15 AND 100 FRAMES/SECOND. THE CAMERA CONNECTS TO THE PROCESSOR WITH SEVEN LINES. THIS INCLUDES VIDEO ANDTIMING SIGNALS

APPLICATIONS

• CONTINUOUS SURVEILLANCE

• INSPECTION OF MOVING PARTS WITH PROPER STROBING

• VISUAL GRAPHIC INPUT TO A COMPUTER

• CHARACTER OR PATTERN RECOGNITION

• PICTURES MAY BE TAKEN DIRECTLY FROM A TV WITHOUT ELECTRICAL CONNECTIONS

• THE INTERFACE KIT MAY BE USED SEPARATELY AS A 128x128

16 LEVEL GRAPHIC DISPLAY

OUR VP1 VIDEO SYSTEM CONSISTS OF THE FOLLOWING KITS:

• CCD 202C SOLID STATE VIDEO CAMERA KIT ASSEMBLED & TESTED $499°°

t VP-1 COMPUTER/VIDEO INTERFACE SYSTEM (3 BOARDS) ASSEMBLED & TESTED $99900

• ASSEMBLED 8K MEMORY BOARD (OPTIONAL) $235°°

THIS VIDEO COMPUTER KIT CAN WORK WITH THE GE, REDICON, OR ANY OTHER 128 x 128 SENSOR CAMERA

REGULATED POWER SUPPLIES

POWER SYSTEMS f PS1111 115-230V 50/60 cy. in 5v DC at 35A out. 6"x 16'/."x I6J4" 26 lbs. shipping weight $55.00 POWER SYSTEMS t PS1106 115-230V 50/60 cy. in 12wDCat 15A out. 5"x 1SK"x 5" 19 lbs. shipping weight. S49.00

IOV PROTECT)

C/MOS (DIODE CLAMPED)

4001

.18

4019

,37

4049

.J5 74C73

4002

.18

4020

qo

4050

■35 74C74

4006

.95

4021

flO

65 74C86

4007

.18

4022

.90

1,0 74C93

4009

.37

4023

.18

'-25 74C15I

4010

,37

4024

.75

'12 74C160

4011

.18

4025

.18

4071

4072 _

■« 74C161 2 74C174 gf 74C175

4012

.18

4027

.37

4013

,aa

4028

.80

4014

gi 74C192

4015

.7b

4030

.33

4520

.70 74C193

4016

.29

4035

.97

74 C00

,22 74C901

4017

1X15

4042

.B5

74C02

.22 74C902

4018

.90

4(W4

Gr.

74C10

.27 74C9I4

7S33ST*TIC: TMS405ONL

PRINTED CIRCUIT BOARD

7WATTLD65LASERDIODEIR $a95

2N 3820 P FET S 45

2N 5457 M FET $ 45

2N2646.UJT $ .45

ER 900 TRIGGER DIODES 4 SI 00

2N 6028 PROG UJT $ 65

MINIATURE MULTI-TURN TRIM POTS 100, IK, 2K, 5K, 10K, 20K, 50K. 200K, 1Meg, 2Met), $.75 each 3/S2.00

CHARGED COUPLE DEVICES

CCD 201C 100x100 Imago Sonsor $95.00

CCD 202C 100x100 Image Sensor S145.00

VERIPAX PC BOARD $4.00

This board is a 1/16"single sided pa»t»r epoxy board. 4K"x8X" ORILLED and ETCHED which will hold up to 21 single 14 pin IC's or 8,16 or LSI DIP IC's with bi

FP 100 PHOTO TRANS S .50

RED, YELLOW, GREEN

LARGE LED's. 2" 6/$1.00

TIL-1180PTO-ISOLATOR S .75

MCT-6 OPTO ISOLATOR $ .80

1 WATT ZENERS: 3.3, 4.7, 5.1, 5.6, 9.1,

10,12, 15, 18, or 22V 6/S1.00

MCM 6571A 7 x9 character gen . .$10.75

UNIVERSAL 4Kx8 MEMORY BOARD KIT

£69.95

32-2102-1 fully buffered, 16 address lines, on

board decoding for any 4 of 64 pages, standard

- " KIM

TRANSISTOR SPECIALS

2N6233-NPN SWITCHING POWER $1.95 MRF-8004 a CB RF Transistor NPN * "75

2N3 772 NPN Si TO-3 ... , $ 1.00

2N1546 PNP GE TO-3 $ .75

2N4<Jf>8 I'NP Si TO 3 S 1.00

2N508G PNP Si TO-92 . . ,4'S 1.00

2N3137 NPN Si RF $ .55

2N3919 NPN Si TO-3 Rf . . S 1.50

2N1420 NPN Si TO 5 3/$ 1.00

2N37G7 NPN Si TO 66 S .70

2N2222 NPN Si TOO 8 . . 5/S 1.00

2N3055 NPN Si TO-3 , . S .50

2N3904 NPN Si TO-92 6/S 1.00

2N3906 PNP Si TO-92 6/S 1.00

2N529G NPN Si TO 220 . S .50

2N6109 PNP Si TO-220 $ .55

2N3638 PNP Si TO 5 5/S 1.00

MPSA 13 NPN Si 4/$ 1.00

Full Wave Bridges

.20

1.75

1.00

DIP SOCKETS

S PIN ,17 24 PIN .35 14 PIN .20 28 PIN .40 16 PIN .22 40 PIN .60

18 PIN .25

SANKEN AUDIO POWER AMPS

i 1010 G 10 WATTS $ 7.80

i 102O G 20 WATTS $15.70

i 1050 G 50 WATTS . . $28.50.

TANTULUM CAPACITORS

4 STATIC

5.000 MH* 6.000 MHz 0.000 MH]

10 000 MHz

RIBBON CABLE FLAT (COLOR CODED) #30 WIRE 26 cond. - .50/per loot 40 cond. • .75/per foot 50 cond. ■ .90/per foot

4" diameter .4V at 1 AMP $10.00

CTS 206-8 eight position dip switch $1.60

CTS 206-4 four position dip switch $1.45

LIGHT ACTIVATED SCR's to 18. 200 V 1 A. .$.70

SILICON SOLAR CELLS 214" diameter ,4V at 500 ma $4.00

FND 359 C.C. .4" $ .60 LED READOUTS

FCS8024 4 digit DL-704 C.A. .3" $ .7

C.C. 8'r display $5.95 DL 747 C.A. .„ FNO 503 C.C. .5" $ .85 HP3400 8"CC FND 510 C.A. .5" $ .85 HP3405.8"CA DL 704■.3'■ C.C. S .85

.22UF 35V 5/S1.00 .47UF 35V5/$1.0O .68UF 35V5/S1.00 1UF 35V 5/$1.00 2.2UF20V5/$1.00 3.3UF 2OV4/$1.0O 4.7UF 15VS/S1.00

6.8UF 35V4/$1.00

10UF 10V $.25

22UF 25V $.40

15UF 35V 3/$ 1.00

30UF 6 V 5/$1.00

33UF 20V $.40

47UF 20V $.35

68UF 15V $.50

Send Check or Money Order.

Order $5.00. CODSS20.00

SOLID STATE SALES

P.O.BOX 74B

SOMERVILLE, MASS. 02143 TEL. (6171 547-7053

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Circle 340 on inquiry card.

BYTE June 1979

265

Visit our new retail location

The EXPANDORAM is available in versions from 16K up to 64K, so for a minimum investment you can have a memory system that will grow with your needs. This is a dynamic memory with the invisable on-board refresh, and IT WORKS!

• Bank Selectable

• Phantom Power 8VDC, ± 16VDC, 5 Watts Lowest Cost Per Bit Uses Popular 4116 RAMS PC Board is doubled solder masked and has silk-screen parts layout.

SD EXPANDORAM

1U tUu*Hotc S-iOO TfUmvuf,

)ISC DRIVES

Sugart SA400 51/."

with attractive metal case $29500

Sugart 801 with attractive metal case

$495.00

Siemens FDD200-88" double-sided | double density

$599.00

• Extensive documentation clearly written

• Complete Kit includes all Sockets for 64K

• Memory access time: 375ns, Cycle time: 500ns.

• No wait states required.

• 16K boundries and Protection via Dip Switches

• Designed to work with Z-80, 8080, 8085 CPU's.

EXP AN DO 64 KIT (4116)

16K $245.00

32K $310.00

48K $375.00

64K $440.00

DISC CONTROLLER

SD "VERSAFLOPPY" KM

The Versatile Floppy Disk r\nlw Si kqoo Controller Viliy 10»

FEATURES: IBM 3740 Sofl Sectored Compatible. S-100 BUS Compatible (or Z-80 or 8080, Controls up to 4 Drives {single or double sided). Directly controls the following drives:

1. Shugart SA400/450 Mini Floppy

2. Shugart SA800/850 Standard Floppy.

3. PERSCI 70 and 277.

4. MFE 700/750.

5. CDC 940419406.

6. GSI/Siemans FOD120-8.

34 Pin Connector lor Mini Floppy. 50 Pin Connector lor Standard Floppy. Operates with modified CP/M operating system and C-Sasic Compiler. The new "Versafloppy" from S.D. Computer Products provides complete control for many ol the available Floppy Disk Drives. Both Mini and Full Size. FD1771B-1 Single Density Controller Chip. Listings for Control SoilIncluded in price. A

SAVE $100<

DM2700S DISK &

CABINET with POWER SUPPLY

DM2700S includes Siemans FD120-8" Disk Drive with the following features:

• Single or Double Density

• Hard or Soft Sector

• Door Interlock

• Write Protect

• Hard Sector Detection

• 500 KB/S Transfer

• 800 KB unformated

• Bit density 6536 BP1

• Sugart 800 Series Compatable

DM2700S Disk Drive & Cabinet REG. $750 SALE PRICED

Cabinet includes:

• 110V to 125V 60 Hz power supply

• Data Cable

• Fan

• Accepts per SCI, Shugart, Siemans 8" Drives

<%?

«"/

5650

00

DM2700 Cabinet, less Drive

^2495! $22500

Logic Probes and Digital Pulsers

LOGIC PROBES

CSC logic probes are the ultimate tool for breadboard design and testing. These hand-held units provide an Instanl overview ol circuit conditions. Simple to use; just clip power leads to circuit's power supply, sel logic family switch to TTL'DTL or CMOSJHTL. Touch probe to test node. Trace logic levels and pulses through digital circuits. Even stretch and latch for easy pulse detection. Instant recognition ol high, low or invalid levels, open circuits and nodes. Simple, dual-level detector LEDs tell It quickly, correctly. HI (Logic "1"}; LO (Logic "0"). Also Incorporates blinking pulse delector. e.g.. HI and LO LEDs blink on or off, tracking "1" or "0" states at square wave frequencies up to 1.5 MHz. Pulse LED blinks on lor Vi second during pulse transition. Choice of three models lo meet Individual requirements; budget, project and speed of logic circuits. MODEL LP-1

Hand-held logic probe provides instant reading of logic levels forTTL, DTL, HTL or CMOS. Input Impadancn: 100,000ohms. Minimum Detectable Pulse: 50 ns. Maximum Input Signal (Frequency): 10 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: Pulse or IbvbI translllon detecled and stored. ^^ —

kCSC Model LP-1 Logic Probe—Net Each JWWJS $42.70

MODEL LP-2

Economy version of Model LP-1. Safer than a voltmeter. More accurate than a scope. Input Impedance: 300.000 ohms. Minimum Detectable Pulse: 300 ns. Maximum Input Signal (Frequency): 1.5 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: None. ^^ .

CSC Model LP-2 Logic Probe-Net Each »4^5 $23.70

MODEL LP-3

High speed logic probe. Captures pulses as short as 10 ns. Input impedance: 500,000 ohms. Minimum Delectable Pulse: 10 ns. Maximum Input Signal (Frequency): 50 MHz. Pulse Detector (LED): High speed train or single event. Pulse Memory: Pulse or level translllon detecled and stored. CSC Model LP-3 Logic Probe —Net Each 5fo*h§5 $66.45

DIGITAL PULSER

The ultimate In speed and ease of operation. Simply connect clip leads to positive and negative power, then touch DP-1's probe to a circuit node; automatic polarity sensor detects circuit's high or low condition. Depress the pushbutton and trigger an opposite polarlly pulse Into the circuit Fast troubleshooting Includes Injecting signals at key points In TTL, DTL, CMOS or other popular circuits. Test with single pulse or 100 pulses per second via built-in dual control push-button; button selects single shot or continuous modes. LED indicator monitors operating modes by flashing once for single pulse or continuously for a pulse train. Completely automatic, pencil-size lab/field pulse generator for any family ot digital clrculls. Output: Trl-state. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100 mA. Pulse Train: 100 pps. LED Indicator: Flashes for single pulse: stays lit for pulse train. CSC Model DM Digital Pulsar— Net Each $£4*3$ $71.20

S100

4807 DECLSI-11, PDP8. PDP11. Heath H-11. P Pattern Epoxy Glass, Plug Board 8.43"x5.187' Dual 36pin DEC/HEATH

Connectors.

14 5-9 1024

10.95 17.96 15.96

VECTORPAK ASSEMBLED MICROCOMPUTER CASES

Adjustable packaging system for S-100 bus microcomputers, compatible with Altair 8800 and IMSAI 8060 size cards.

• Smart looking, deluxe cases unmarred by unsightly screws or fasteners.

• Finished in dark blue textured vinyl.

• Instantly accessible Interiors with slip out covers.

• Removable recessed rear and panels.

• Fully adjustable Interior mounting systems for any card or card spacing within size limitations. No cutting or drilling necessary.

• Perforated bottom cover for cooler operation.

DESCRIPTION Assembled case with perforated bottom cover. Installed mounting struts for card guides and receptacles or mother board. Cards top loaded, spanning front to back. Card guide (12 pair) and chassis plate supplied uninstalled.

PLUG BOARDS

^#1

MOM Plain no etched circuitry except contacts. Produces maximum flexibility.

14 5-9 10-24

14.95 13.46 „^Bw11.(

8*02-1 Pad per 2 holes. Two-holE pads allow tack soldering of socket, plus second hole tor component leads.

U04

"ANY DIP" has full power and ground planes back to back. Board accommodates 3, 4. 6. 9" Dips. 14 5-9 10-24

21.95 19.76 17.56

VP-1 Iront $163.00

Shipping Weight 25 lbs

VP-2 $159.00

Same as VP1 except

PRIORITY

16723B Roscoe

ndivldual tinned square pads surround most holes. Ideal for mounting components by "tack soldering"

Top ol board pod free for mounting I/O connectors. Power buses.

104 34.00

4608

Is form and size compatible with INTEL SBL60 Series and NATIONAL BLC 80 Series microcomputer boards. Power and Ground buses on both sides.

14 5-9 10-24

45.00 40.50 36.00

46081

Same as 4608, except plain less

5-9 17.95

10-24 15.96

5-9 30.60

10-24 27.20

ELECTRONICS

Sepulveda, CA 91343

Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales lax. Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling minimum $2.50. Excess refunded. Just In case .. . please include your phone no. Prices subject to change without notice. We will do our best to maintain prices thru June 1979. OEM and Institutional

phone orders welcome (213) 894-8171, (800) 423-5633 inquiries invited.

Visit our new retail location' c^™°»^™«

HICKOK LX303 $74.95

HICKOK LX303

$7495*

.5%, 3'/i digit 19

Range DVM. Vt" LCD displays

runs 200 hrs on 1 battery. 10 Meg

Ohm Input. 1 yr. guarantee, made in

U.S.A., test leads included.

Available Accessories

RC-3 115V AC Adapter $7.50

CC-3 Deluxe Padded Vinyl

Carrying Case $7.50

VP-10 X10 DCV Probe Adapter/

Protector 10Kv $14.95

VP-40 40Kv DC Probe $35.00

CS-1 10 Amp Current Shunt $14.95

FREE

Just for Asking. FREE BATTERY with your meter.

.JVliwGNOUOAUPSI tuvo-ievr

1 IMSAI 1010 rTUC'OCDmSutrl' 11 •ISllOf MJJI]

Price $29.50

1/16 pBCtffi BOARD

.042 dia holes on

0.1 spacing for IC's

Phenolic

PART NO. 64P44XXXP 169P44XXXP

$318.

MS-15 MINISCOPE

Wild fitchnyolt Batttnts & ChMige' Unll

• 15 megahertz bandwidth.

1 External and internal trigger.

1 Time base — .1 microsec. to 0.5 SeCdi

settings .^3%. ' Battery or line operation. 1 Automatic & line sync modes. 1 Power consumption < 15 waits.

VortlMl Gain — .01 io50V/di« 12 sailings

Caaa alia 2J"H « 6.4"w ■ 7 5"D. 3 pounds

•21

PROBE 1C

fc PROBE IC With Ihe urchase of SCOPE id.the MENTION or this MAGAZINE

j MS-215 Dual Trace Version of MS-15 $435. ^

UNGARmatic"

Controlled Soldering Station THREAD-TOGETHER MODULAR DESIGN FOR QUICK, ONLINE HEATER OR TIP CHANGE

• Available in 3 presel temperatures; 600*F . 70O*F. or 800'F (or any application.

• Closed loop, non-magnetic control.

• Low vollage syslem: 3 wire grounded.

• Biomechanics! designed handle with cool grip for operator comtorl. Cord is super flexible 3 wire grounded, heat resistant

• Large capacity snap-on tray and sponge, removable lor optional pla:o

• Long life interchangeable tips, iron clad, chrome plaled. pre-linned.

• Designed lor use on sensitive components

COMPLETE STATION AND REPLACEABLE HEATER SELECTION GUIDE Timptnlurt Cempkate SUtwn Ccniioilni Hultr Hi

600*F. 50T6 »76

700*F 50T7 #77

BOOT 50T8 *78

Each ol the abova stailons include: »70B Power Supply with on/oil swilcn. indicator light, and 3 wire power cord; K71 Handle with 3 wire heat resistant secondary cord: IB9 Tray and Sponge: *72 Iron Holder. Controlled Healer with #67 Screwdriver lip 1/16"

#95 TIP ADAPTER Tip Adapter M5 lor special micro applications This Adapter Is designed tor the use ol 1/8" threedin Princess Nibs Controlled Heaters: JU-B5 Each. Tlpa: S2.25 Each. Adapter; S1.30 Each

List $59.50 SALE PRICE $49.95

s*

V.e SD EXPANDORAM

1U IUUhuiU. S-IOO TKtmvuf

-—ail

if H

The EXPANDORAM is available in versions from 16K up to 64K, so for a minimum investment you can have a memory system that will grow with your needs. This is a dynamic memory with the invisable on-board refresh, and IT WORKS!

• Bank Selectable

• Phantom

- Power 8VDC, ± 16VDC, 5 Watts

• Lowest Cost Per Bit

• Uses Popular 4116 RAMS

• PC Board is doubled solder masked and has silk-screen parts layout.

Wi-aW4-„

IIW1T

• Extensive documentation clearly written

• Complete Kit includes all Sockets for 64K

• Memory access time: 375ns, Cycle time: 500ns.

• No wait states required.

• 16K boundries and Protection via Dip Switches

• Designed to work with Z-80, 8080, 8085 CPU's.

EXPANDO 64 KIT (4116)

16K $245.00

32K $310.00

48K $375.00

64K $440.00

Plugboards

8800V

Universal Microcomputpr/processor plugboard, use with S-100 bus Complete wilh heal sink & hardware 5 3" x 10*1/16

1-4 5-9 10-24

$19.95 S17.95 115.98

8801-1

Same as B800V except plain less power buses & heat sink 1-4 5-9 10-24

SU 95 Sl.l-lb S119I.

3682 9.6"x4.5"

S10.97

3682-2 6.5"x4.5"

$9.81

Hi-Density Dual-ln-Line Plugboard for Wire Wrap with Power & Grd. Bus Epoxy Glass 1/16" 44 pin con. spaced. 156

3677 9 6"x4.5'

$10.90

3677-2 6.5" X 4.5"

$9.74

Gen. Purpose D.I.P. Boards with Bus' Pattern for Solder or Wire Wrap. Epoxy Glass 1/16" 44 pinccn. spaced .156

3662 6.5"x4.5"

$7.65

3662-2 9.6" X 4.5"

$11.45

P pattern plugboards for IC's Epoxy Glass 1/16" 44pincon. spaced .156

3690-12 CARD EXTENDER

Card Extender has 100 contacts 50 per side on .125 centers-Attached connector-is compatible with S-100 Bus Systems. $25.83 3690 6.5" 22/44 pin .156 ctrs. Extenders ... $13.17,,

TRS-80/APPLE

MEMORY EXPANSION KITS 4116's RAMS

(16Kx1 200ns)

8 for $69.00

2708

8K 450 ns

EPROM

FACTORY PRIME

$9,OOea.

25 + Call For Price

14& 16 PIN

^GOLD 3 LEVEL

\WIRE WRAP

SOCKETS

'14 - G3 100 for $30.00 16-G3 100 for $30.00 50 of each for $32.00

Sockets are End & Side stackable, closed entry

2114N-3L

4096-BIT (1024x4) 300 ns Low Power Static Ram

8 for s50°

ORDER TOLL FREE

1 8004235633

except CA. AK. (213)

HI. Call

PANAVISE TILTS. TURNS, AND \ it""ROTATES TO ANY POSITION. IT HOLDS VOUR WORK , EXACTLY WHERE YOU WANT IT.

2102LPC

450ns Low Power RAMS

$1.00 Ea.in lots of 25

2102LHPC

250ns Low Power RAMS

WRAP POST

for .042 dia. holes I (all boards on this page) IT44JC pkg. KM . I 2.34 I T44JM pkg.

1000 $14.35

I A-13 hand installing

tool $ 2.94

PRIORITYI ONE

16723BPoscoe Blvd.

$1.25 Ea.in lots of 25

1 ELECTRONICS

TMS 4044/ MM 5257-3L

4096x1 300 ns Low Power Static Ram

8 for s5000

Sepulveda CA 91343

Terms: Visa, MC, BAC, Check, Money Order, C.O.D. U.S. Funds Only. CA residents add 6% sales tax. Minimum order'$10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling, minimum $2.50, Excess refunded. Just in case . . . please include your phone no. Prices subject to change without notice. We will do our best to maintain prices thru June 1979. OEM and Institutional!

ohone orders welcome (213) 894-8171, (800) 423-5633 inquiries invited.

2716

5 volt only 16K EPROM

HICKOK LX303 $74.95

HICKOK LX303 $74.95

We have 5V 2716's in Stock. We have the Best Prices on 2102's, 2114's, 4116's.

^mmrntfrnmcBJimonsmm

S100WWG 50/100 Conl, .125 clrs. 3 LEVEL WIRE WRAP .025" SQ. posts on .250 spaced rows. GOLD PLATED. 1-4 5-9 1024

S4.00 S3.75 S3.50

S100ALT 50/100 Conl. .125 clrs. DIP SOLDER TAIL on .140 spaced rows for ALTAIR motherboards. GOLD plated. 1-4 5-9 10-24

14.00 13.75 S3.50

S10OSTG 50/100 Cont. .125 clrs. DIP SOLDER TAIL on 250 spaced rows lor VECTOR and MASI motherboards GOLD plated.

1-4 6-9 10-24

S3.50 53.25 J3.00

S100SE 50/100 Conl. .125 clrs. PIERCED SOLDER EYELET talis. GOLD

1-4 5-9 10-24

15.00 S4.50 S4.25

OTHER POPULAR EDGE CONNECTORS

All Edge Card Connectors are GOLD PLATED (not Gold Flash) Bodies are non brittle res.. G.E. Valox, Contacts are Bifurcated; Phos/Bronze: GOLD over Nickel.

ABBREVIATIONS: SE = Solder Eyelot WW = 3 Laval Wlra Wrap ST = Solder

.100" Contact Center Connectors

PART NO.

D132B-1SE

D22441WW

D2250-1SE

D2250-1ST

D2040-1SE

D2040-1ST

02040-1 WW

D 3060-1 WW

D3672-1SE

D3672-1ST

D 3672-1 WW

D4080-1SE

D4080-1ST

040801 WW

D4386 1SE

D4386-1ST

D4386-1WW

D50100-1 WW

PART NO. D3672-2WW D40802WW S100-STG

PART NO.

S6X-5SE

D612-5SE

D1224-5SE

D2224-5ST

D1530-5SE

D1530SST

D15305WW

D1B36-SSE

D2244-5SE

D2244-5ST

D2244-5WW

D3672-5SE

03672-5ST

D3672-5WW

OE43B6-5SE

D4386-5ST

D4386-5WW

CG-1

PART NO.

OE-9P

OE-9S

0E-9C

DA15P

DA15S

DA1SC

DB-25P

OB-25S

DB51212-1

DB1226-1A

OB 110963-3

0C37P

DC37S

0C37C

OO50P

0D50S

DD50C

02041B-S

Part tt No. of Pins P08P02 8 P14P02 14 P16P02 16 P18P02 18

8STG 14 SO 16STG 18STQ 20STG

TYPICAL APPLICATION

Imsal M10. SIO

Vector Plugboards

Imsai P10. Intel Mulllbuss

Imsal P10. Intel Multibuss

TRS-80

TRS-80

TRS-80

Inte* Multibuss

Vector Plugboards

Vector Plugboards

Vector Plugboards

PET

PET

PET

Cos. ELF

Cos. ELF

Cos. ELF

2.60 4.00 3.70 3.50 3.20 3.00 3.30 4.10 5.00 4.95 4.90 5.95 5.00 5.20 5.60 5.40 5.50 5.95

.125" Contact Center Connectors

TYPICAL APPLICATION 1-4 5.25 Vector 4350 5.95 S-100, Imsal, Vector, Cromenco, Motherboards 3.50 S-100 Wlra Wrap 4.00 Allair 4.50

2.40 3.80 3.50 3.30 3.05 2.85 3.15 3.90 4.75 4.70 4,65 5.70 4.75 4.95 5.35

3.25 3.75 4.25

.156 Contact Centers Connectors

TYPICAL APPLICATION Pel. NSCCLK Modules Pet. NSCCLK Modules

Vector Plugboards, GRI Keybrds Vector Plugboards. GRI Keybrds Vector Plugboards. GRI Keybrds

Vector, Kim, etc.

Vector, Kim, elc.

Vector, Kim, etc.

Vector Plugboards

Vector Plugboards

Vector Plugboards

Mot 6800. Intel Multibuss, NSC pacer

Mot 6800, Intel Multibuss. NSC pacer

Mot 6800, Intel Multibuss. NSC pacer

Imsai Style Card Guides

1-4

1.40 1.60 2.40 2.30 2.50 2.40 2.60 3.00 3.00 3.00 3.95 5.50 5.45 5.60 6.00 5.90 6.50 5/1.00

PRICE 5-9

1.30

1.50

2.30

2.20

2.35

2.25

2.40

2.80

2.60

2.80

3.70

5.30

5.25

5.40

5.75

5.65

6.30 or 100/10.1

RS232 & "D" TYPE CONNECTORS

P = Plug-Male S = Socket-Female C = Cover-Hood

DESCRIPTION

9 Pin Male 9 Pin Female 9 Pin Cover 15 Pin Male 15 Pin Female 15 Pin Cover 25 Pin Male 25 Pin Female

1 pc. Grey Hood

2 pc. Black Hood 2 pc. Grey Hood 37 Pin Male

^'iffiWi^ |

,3m

95 .50 200 2.90

37 Pin Female .—I^V*V»V»V.V.VJ^—.

37 Pin Cover o V '7 o\ 50 Pin Male *■—i FEMALE —1 *

BPlPBueutuo.

50 Pin Female 50 Pin Cover Hardware Set 12 pair)

Connector (or CENTRONICS 700 SERIES: -30360 for back of Centronics 700 Series printers 1 DIP PLUGS PRICE 1-24 25-99 100-499 Part I

1.80 1.70 395 5.50 200 5.00 6.50 250 1.00

2.70 1.60 2.20 3.10 1.35 1.50 1.40 3.75 5.25 1.80 4.75 6.00 2.30

10-24 2.20 3.60 3.40 3.10 2.90 2.70 3.00 3.70 450 4.45 4.40 5.45 4.50 4.70 5.05 4.90 5.00 5.55

10-24

4.75 5.35

3.00 3.40 4.00

10-24 1.20 1.40 2.20 2.10 2.10 2.05 2.15 2.60 2.20 2.50 3.40 5.00 5.00 5.10 5.25 5.15 5.90

10-24 1.10

1.45 1.10 1.55 2.45 1.30 2.05 2.95 1.20 1.35 1.25 3.50 4.90 1.60 4.60 5.75 2.20

.41

.36

.57

.29 .34 .38 .46

P22P02 P24P02 P28P02 P40P02

No. of Pins 22 24 28 40

GOLD SOLDERTAIL STANDARD

25-49 50-99

.27 .24 22STQ

32 .29 24STO

35 .32 28STG

.47 .43 40STG

56 .52

TIN SOLDERTAIL ■ LOW PROFILE

-$9.00 5-UP-J750

1-24 25-49 50-99

.70 .63 1.10 1.00 175 1.55

1-24 25-49

.25 .16

.25 .18

.25 .20

22CS2 24CS2 28CS2 40CS2

3 LEVEL GOLD WIRE WRAP SOCKETS

Sockets purchased In multiples of 50 per type may be combined tor

^unbeatable GREAT JUMPERS

FLAT RIBBON CABLE ASSEMBLIES AT AFFORDABLE PRICES

" Choice of 3 types of end connectors molded

on and factory tested. 1 Daisy chain and single-end also available.

■ 5 popular sizes to choose from: 20, 26. 34. 40 and 50 contacts, each with line-by-line probe access holes.

■ Choice of 2 cable types and 5 lengths.

FLAT RIBBON CABLE

Slranded, 28 AWG with laminated PVC insulation.

"Electric Pink" cable has led stripe on one edge for orientation Used only on double-end and daisy chain assemblies

"Rainbow" cable is coded in standard 10-color sequence on from Serpentine Striping on back aids in identifying wire number and wile group during tear-down separation lor discrete wire terminations. Used only on singleend jumoers

PCB JUMPERS DOUBLE END Elactric Pi

CARD-EDGE JUMPERS

SINGLE END Rainbow

DOUBLE END Electric Pink

924055 06 R S929

924062-36-R S4.11

924063-36R $4.88

924064-36R S6.15

924065-36-R 57 20

9240S6 36R SB 21

DAISY CHAIN l3conn«ciori) Elvciric Pink

924092 06R S8.42

924093 06R S9.54

SOCKET JUMPERS

best price.

8 pin* 14 pin* 16 pin*

24 pin 28 pin 40 pin

1-9

.40 .45 .50

.70 .90 .95

.95 1.25 1.65

10-24

.36 .39 .42

.60 .80 .85

.85 1.15 1.45

25-99 .34 .37 .40

.55 .75 .80

.80 1.00 1.35

100-249

.31 .34 .36

.50 .65 .70

.70

.95

1.20

250-999

.27 .32 .34

.45 .62 .65

.65

.90

1.10

924033 06 R $3 32

924034 06 R S3 95

924035 06 R S4 57

924042 36 R $2 55

924043 36 R S3 3)

No.

Contacts

DOUBLE END JUMPER ASSEMBLIES

Electric Pink Cable

6" 18" 36"

SINGLE END 38"

DAISY CHAIN

(3 connectors)

Electric Pink

S"

20

924002 06 R

S3 70

924002 18 R $ 4 16

924002 36 R $ 4 85

92401236R S3 12

924072 06 R 9 5.44

26

924003 06 R S4 78

924003 IB-R S 538

924003 36 R S 6 28

92401336R 94 04

924073-06 R S 7 02

34

924004 06 R S6 25

924004 18 R S 705

924004 36 R S 8 25

92401436R

S5.30

924074 06 R S 9 18

40

924005 06 R 57 33

924005 18 R S 8 27

924005 36 R S 968

92401S36R S6 22

924075-06 R $10 76

50

924006 06 R $9 »5

924006 18 R S10 31

924006 36 R S12 05

924016 36 R S7 73

924076 06 R $13 43

double-row JUMPER HEADERS

Ideal mates for 'GREAT JUMPERS"

Solder to PC boards for instant plug-in access via socketconnector jumpers

.025" square posts are molded into plastic header strip on a .IO'x.10" matrix

Choice of straight or right angle configurations

STRAIGHT

+r

No. Posts

Dim.

"A"

Dim.

"B"

Part Number

Price 2 sets

20

1.0

0.9

923862 R

$ .98

26

1.3

1.2

923863 R

S 1.28

34

1.7

1.6

923864 R

$ 1.64

40

2.0

1.9

923865 R

S 1.94

50

2.5

2.4

923866 R

$2.36

RIGHT-ANGLE

=«n

DIP JUMPERS

FLAT RIBBON CABLE ASSEMBLIES WITH DIP CONNECTORS

• Available with 14,16,24 and 40 contacts.

• Mate with standard IC sockets.

• Fully assembled and tested.

• Integral molded on strain relief.

• Llne-by-line probeability.

A P DIP Jumpers are the low-cost, highquality solution for jumpering within a PC

No. Posts

Dim.

"A"

Dim. "B"

Part Number

Price 2 sets

20

1.0

0.9

923872 R

S 1.20

26

1 3

1.2

923873 R

$ 1.52

34

1 7

1 6

923874 R

S 1.96

40

20

1 9

923875 R

S 2.30

50

2 5

24

923876 R

$ 2.82

3^

•/",' '-'K

board; interconnecting between PC boards, backplanes and motherboards; interfacing Input/Output signals; and more.

All assemblies use rainbow cable. Standard lengths are 6,12,18,24 and 36 inches.

DOUBLE-ENDED DIP JUMPERS

No. Contacts

Length 6"

Length 12"

?

Length 18"

Length 24'

Length

36"

14

924106-6-R $2.41

924106-12-R $261

924106 18-R $2 82

924106 24- R $3.02

924106 36- R $3 43

16

924116 6-R $2.65

924116 12-R $2.88

924116 18-R

$3.11

92411624-R $3.34

924116 36-R $3.80

24

924126 6-R

$4.15

924126-12R

$4,50

924126 1 BR 94.85

924126-24-R $5 20

924126-36- R 95.90

40

9241366R $6.93

924136 12-R $7.52

924136 1B-R 98.11

924136 24-R $8.73

924136-36-fl 99.88

All sockets are GOLD 3 level closed entry ■ End and side stacable. 2 level. Solder Tail. Low Profile. Tin Sockets and Dip Plugs available. CALL FOR QUOTATION

PRIORITY ONE ELECTRONICS

16723B Roscoe Blvd. Sepulveda CA 91343

Terms: Visa, MC, BAC, Check, Money Order, COD. U.S. Funds Only. CA residents add 6% sales tax. Minimum order $10.00. Prepaid U.S. orders less than $75.00 include 5% shipping and handling, minimum $2.50. Excess refunded. Just in case . . . please include your phone no.

Prices subject to change without notice. OEM and Institutional!

We will do our best to maintain prices thru June 1979. inquiries invited.

phone orders welcome (213) 894-8171, (800) 423-5633

We have the Best Prices on 2102's, 2114's, 4116's. We have 5V 2716's in Stock.

What's New?

PUBLICATIONS

TRS-80 Microcomputer Technical Reference Handbook

Radio Shack has published a technical reference handbook for their TRS-80 microcomputer system. The illustrated 108 page book is intended primarily for technically oriented persons with a good working knowledge of digital logic circuits. Written in a straightforward, informal manner, the TRS-80 Microcomputer Technical Reference Handbook includes technical information and schematic diagrams for both Level I and II TRS-80 systems. Topics covered in the book include: Theory of Operation, Adjustments and Troubleshooting, The Outside World (connections to control external devices), parts list and fold-out schematics. The handbook is priced at $9.95 and is available from Radio Shack stores and dealers. For further information, contact Radio Shack, 1400 One Tandy Center, Fort Worth TX 76102.

Circle 568 on inquiry card.

Pascal: An Introduction to Methodical Programming

RASCA!:,

WFW***'

oaw<

This book, intended for use in a first course in programming, is based on the Pascal language. It assumes no prior knowledge of computing and only elementary mathematical skill. It emphasizes programming principles, good style, and a methodical approach to program development. This introduction to Pascal includes a thorough treatment of both the fundamental language features and the few features which are not truly fundamental. The programming technique of incremental refinement is imparted by consistent example throughout the book. In addition, two chapters are devoted exclusively to programming methodology. Each chapter is followed by a number of exercises, answers to some of which are provided. This 306 page book is priced at $10.95. It is published by Computer Science Press Inc, 9125 Fall River Ln, Potomac MD 20854.

Circle 569 on inquiry card.

Z-80 Instruction Handbook

The Z80 Instruction Handbook by Nat Wadsworth is a handy, compact reference providing a clear detailed explanation of the Z-80 microprocessor instruction set. Standard Zilog mnemonics are used throughout and machine codes are presented in both octal and hexadecimal format. An index lists all instructions alphabetically along with machine codes and timing information. This 128 page book is priced at $4.95. For further information, contact Scelbi Publications, POB 133 PP STN, Milford CT 06460.

Circle 570 on inquiry card.

Connect Your Computer to an Automatic Musical Instrument

Vestal Press has recently announced the release of its 15th catalog. It contains all types of automatic musical instruments including music boxes, carousel organs, orchestrions (mechanical orchestras), reproducing pianos (player pianos that play with full artistic fidelity), violin playing machines, and all sorts of unusual music devices. The catalog is available for $2 from Vestal Press, Dept B, POB 97, Vestal NY 13850.

Circle 571 on inquiry card.

Free Catalogs from Hayden Book Company

Two new catalogs that include personal computing and professional computing books are available from Hayden Book Co Inc. They feature Hayden's new and forthcoming books on introductory computing, programming, and applications and advanced technology. For free copies of either the personal or the professional computing catalog, write to Hayden Book Co Inc, 50 Essex St, RochellePark NJ 07662.

Circle 572 on inquiry card.

TRS-80 Monthly Newsletter

The TRS-80 Monthly Newsletter contains articles and programs (with complete program listings and instructions) related to business, personal finance, money management, games, practical applications and gambling. The programs are also available on cassette or floppy disk. A summary of the latest TRS-80 system developments and a list of TRS-80 related software are published in every issue. A one year subscription to this newsletter is $24. For more information, contact Mathematical Applications Service, POB 149 RS, New City NY 10956.

Circle 573 on inquiry card.

Comprehensive Microprocessor Design Manual Announced by Tl

This self-teaching microprocessor design manual, written for both beginners and experts, is available from Texas Instruments Inc, Mail Station 54, POB 225012, Dallas TX 75222. 9900 Family Systems Design and Data Book offers more than 1,000 pages of educational and applications information that can help users develop a deeper understanding of the complex technology and the potential in microprocessors.

The first chapter discusses the semiconductor technology advances on which today's microprocessors are based. It also provides guidelines for selection and application of microprocessors and microcomputers, and lists general and basic design decisions. The second chapter is a product selection guide, covering the complete Tl 9900 family of microprocessors, microcomputers, peripheral support circuits, assembled microcomputer modules, software and development systems. Chapter Three moves step-by-step through a "first encounter" with a 9900, describing basic concepts in an introductory application. Chapters Four, Five, and Six cover hardware and software design, architecture and interfacing techniques, programming methods and the instruction set.

Chapter Seven contains reference materials for development systems used by experienced system designers to develop 9900 software programs, debug, and prototype final systems. It also includes in-depthi technical specifications on all currently available products in the 9900 family.

Chapter Nine offers detailed examples of real world uses of Tl's 9900 product family in the design of a low cost data terminal, a floppy disk controller, and a simulated industrial control application.

The 9900 Family Systems Design and Data Book is priced at $9.95 (soft cover).

Circle 574 on inquiry card.

■Circle 312 on inquiry card.

June 1979 © BYTE Publications Inc 269

Whal's New?

MISCELLANEOUS

Microchess for the PET and Apple Computers

Microchess 2.0, developed by Peter Jennings, has been designed for the 8 K PET and the 16 K Apple computers. In 6502 machine language, it offers 8 levels of play to suit everyone from the beginner to the serious player. At its highest level the program plays a good game and will beat most average players and many other chess playing programs. It examines positions by as many as six moves ahead, and includes a chess clock for tournament play. Microchess checks every move for legality, handles castling and en passant pawn captures, and displays the current position on a graphic chessboard. You can play white or black, set up and play from special board positions, or watch the computer play against itself. Microchess 2.0 is available for $19.95 from Personal Software, POB 136, Cambridge MA 02138.

Circle 609 on inquiry card.

On Screen Text Editors for 8080 Systems

Two Daisy text editing programs allow fully interactive visible text editing and advanced word processing and formatting, using a serial video terminal. The editors provide extended file usage, and use dynamic screen imaging to minimize disruptive screen activity so that the editors can be used on a slow (2400 bps) video terminal.

WPDaisy is the word processing version of this system which includes both space and proportional justification. WPDaisy allows calling disk files while formatting, and has 26 in-memory buffers. Also included is a mail merge program which is useful in producing form letters and labels.

The TSA/os version is $125 for Daisy, and $300 for WPDaisy. The CP/M version is $175 for Daisy; $350 for WPDaisy. For further information, contact TSA Software Inc, 39 Williams Dr, Monroe CT 06468.

Circle 61 1 on inquiry card.

Multi-Universal Integrated Circuit Plug-In Adapter

This multi-universal integrated circuit plug-in adapter accepts integrated circuit patterns of up to 40 leads, including large scale integration, medium scale integration, and programmable memory devices. The adapter is used for mounting a variety of mixed devices which will then plug into any standard universal integrated circuit packaging panel.

The P/N 640-MUI adapter will accept the following packages: single-in-line, dual-in-line, memory package, interface, and large scale devices. The adapters are fabricated of 0.062 inch (0.157 cm) thick epoxy with electro-tin-plated circuitry. The plug-in contacts are brass, tin plated, with a gold plated berrylium copper four-tine spring socket member.

They are available at prices ranging from $2 to $6 per unit. For more information, contact Garry Manufacturing Co, 1010 Jersey Av, New Brunswick NJ 08902.

Circle 612 on inquiry card.

New Publication on Patching and Programming from Polyphony

The Source is a compilation of analog music synthesizer patch charts which have appeared in Polyphony magazine plus some extras. The magazine and this book adhere to two important concepts: to show the average synthesist how to do it, and to promote and publish information exchange between synthesists. The first of the six chapters in the handbook is spent familiarizing the reader with the standard symbology used to represent various synthesizer modules. Another

chapter contains patches which are most useful for actually playing tunes. In the techniques chapter is found a multitude of patches which provide insight into how to use modules efficiently and imaginatively. The final chapter on software contains the basis for an understanding of a few of today's newest musical tools. Program listings for computer music are provided. This 124 page book costs $4 and is available from Polyphony Publishing Co, 1020 W Wilshire Blvd, Oklahoma City OK 73116.

Circle 610 on inquiry card.

New Family of RS-232 Switching Units

A new family of low cost miniature switching units has been introduced by Giltronix Inc, 3156 Avalon, Palo Alto CA 94306. The family, called RS232-X, switches serial RS-232 peripherals between several driving sources. Model RS232-X3 allows three driving Sources. By turning the three position switch mounted on the RS232-X3, the user can select the driving device that will exchange data with the peripheral unit. A unique arrangement allows the cascading of two or more RS232-X switches, thereby expanding the selection from three devices to five or more. Model RS232-XF is similar to the RS232-X3 but switches additional signals. Both come with 25 pin female connectors. The price of the RS232-X3 is $64.95 assembled, and $47.95 in kit form. The RS232-XF is $78.95 assembled and $59.95 in kit form.

Circle 61 3 on inquiry card.

Analog Interface Card

The ADAK-1 board is a general purpose analog interface for 8 bit microcomputers. It includes a monolithic digital to analog converter, a 5 pole low pass filter for waveform generation, an audio amplifier, an eight channel analog input multiplexor, and a comparator to perform analog to digital conversions by successive approximation routines. This combination permits real time music generation by Fourier synthesis techniques and permits the outputs from up to eight joystick channels, thermometers, light sensors, or other devices to be digitized. A modified version, ADAK-1 PET, plugs directly into Commodore PET computers. The software cassette supplied with this version includes programs for machine language coding, music generation, Fourier waveform synthesis, analog to digital conversion and several paddle input games. Both versions are completely tested and include connectors and instructions. ADAK-1 is priced at $69.50 and the ADAK-1 PET version is $99.50. For further information, contact Technical Hardware Inc, POB 3609, Fullerton CA 92634.

Circle 614 on inquiry card.

270

June 1979 © BYTE Publications Inc

MEMORY SALE! have it your way

m a

16K $295.00!! (4MHz)(Reg.$370.00) 32K $485.00!! (4MHz) (Reg.$620.00

ALL BOARDS ASSEMBLED AND TESTED

Extended addressing allows board

to exist anywhere in 256K memory

on standard S-100 bus

LOW Power, 1.6 amp per 16K

9 Regulators for perfect heat

distribution

(KIT PRICING AVAILABLE)

• Static, of course

• Phantom line

• Each 4K block locateable anywhere

• Fully tested and burned in for 48 hours

ADD-ON MEMORY CHIPS - $4.95 EACH!! (TMS 4044 or MM 5257) - 8 Chips - Minimum Order 'Sale extended one last month

16K

32K

|>JJI H8|

as

i^'ii '3^'ti^**al

.!*R

"'.'.z. *4

| *""- *■*.,.. r-4to^3

f—~~nrjr:

■■■■Himi'ii

-. ■ -i

OH

4

•

Z-80 CPU (one serial chip set, less eprom) $195.00 (Reg. $280.00)

• 2 Parallel + 2 Serial Port

• 2 MHz or 4 MHz Switch Selectable

• Baud Rates 150-9600

• Power on Jump to On/Board Eprom (2708 or 2716)

• Memory Management on A16 and A17

VIDEO TERMINAL SIMULATOR $295.00 (Reg. $400.00)

• Plugs into S-100 Bus and simulates all functions of a Soroc or other RS-232 type terminal. A simple video monitor such as a Sanyo or Sony TV will perform as a smart terminal by writing into an IO Port.

• 2K Eprom, 4K Ram (2 video pages on 16 x 64)

• Lower Case Descenders (16 x 64 or 24 x 80)

• Tabs, protected fields, home/load cursor, blink, reverse video, underline, page erase, etc. (Intel 8275 CRT controller)

DOUBLE DENSITY DISC CONTROLLER $385.00

• CPM* Compatible, TARBELL Pin-out compatible

• On/Board Boot

• 2 or 4 MHz Jumper Selectable

• 8 inch Single or Double sided (5.25 inch available)

• 52 Sectors, runs CPM*, IBM Format

*CPM is a trademark of Digital Research, Inc.

West:

DELTA PRODUCTS

1653 E. 28th Street Long Beach, Calif 90806

Tel (213) 595-7505

ORDER NOW ! !

SALES

AND

SERVICE

East:

DELTA PRODUCTS

1254 South Cedar Road New Lenox, Illinois 60451

Tel (815) 485-9072

Circle 89 on inquiry card. Dealer inquiries invited.

Personal checks must clear before shipment • 90 day unconditional warranty * B of A, M/C Okay

[

Computer Products

* DISK DRIVES *

B51 5V." $295.00

by Mictu Peripherals, Inc. Operates In either single density (12SKB, unformatted) or double density (250KB, unformatted) modes, up to 40 tracks, with a track-to-track access time of only 5 ms. SA801R $495.00

by Shugart Single-sided 8" floppy disk drive.

FD8-100 $395.00

GSI/Siemens. Runs cooler and quieter than 801 (8")

SA400 $325.00

Single density 5V., 35-Track drive. Cablne^ndpo«(ersunplyavall8ble

1791 B01 Dual Density Controller Chip

$49.95

vista uso

Mini DISK

SYSTEM FOR TRS—80 $395.00,

1 TWO SIEMENS/GSI 8 FLOPPY DRIVES

- POWER SUPPLY FOR ABOUF.

- JAOE TARBHL DISK CONTROL

KIT IS100I i CP'M OPERATING SYSTEM WITH

BASIC E J PACKAGE OF 10 BLANK B DISKETTES Price il purchased separately

$1192.50

JAOE SPECIAL PACKAGE OEAL

SI 050.00

Includes disk drive, power supply, regulator board, and compact case. The V-80 offers 23% more storage capacity. Simply take It out of the box, plug In the cable, and It's ready to run. Requires 16K. Level II, expansion interface.

Signal Cable S24.95

3-LEVEL GOLD WIRE WRAP SOCKETS

14 PIN 39c each

16 PIN 434 each

100 for $35

Sockeis ,ire <'"d and side slack able, doied entry.

EXPANDOR'S BLACK BOX PRINTER

This 64-character ASCII impact printer with 80-column capability is portable and uses standard 81/?" paper and regular typewriter ribbon. Base, cover and parallel interface are included. Assembled and complete with manual and documentation. , «... nn

only $470.00

(90 day manufacturer's warranty)

TRS-80 Interface Cable for Black Box Printer

with matin (must be used wi th amp power supply

connectors: $48.00

expansion module, <8v/l -■quired,}

Power Supply for TRS-80/Black Box Printer

$49.00

TRENDCOM lOO Intelligent Printer

Interface & Cable for TRS-80

$45.00

40 character per second rate Low cost thermal paper 96 character set Microprocessor controlled Bidirectional look-ahead printing

• Quiet operation • No external power supplies • Only two driven parts • High reliability • Clear 5 x 7 characters

• Attractive metal and plastic case 2 rolls Of paper for $5.00

Interface & Cable

for Apple

$60.00

5-100 MOTHER BOARDS

JADE 6 SLOT

Kn $41.95

Assembled & Tested $56.95

Bare Board $24.95

9-SLOT "LITTLE MOTHER"

Kit $85.00

Assembled & Tested $99.00 Bare Board $35.00

13-SLOT "QUIET MOTHER" Kit $95.00

Assm. & Tested $110.00

Bare Board $40.00

22-SLOT "STREAKER"

Assm. & Tested $149.00

VIDEO INTERFACE

S-100 Compatible Serial Interface with Sockets Included. Kit $117.95

Assembled & Tested $159.95 Bare Board w/manual $ 35.00

Z80A SPECIAL

4MHz CPU Chip ■fo $14.95 -fa

TU-l

Convert your T.V. set into a

Video Monitor

Kit $8.95

PARALLEL/SERIAL INTERFACE

S-100 compatible 2 serial I/O ports, 1 parallel I/O.

Kit JG-P/S $124.95

Assembled & Tested:'

JG-P/SA $179.95

Bare Board w/Manual $ 30.00

}

MAINFRAMES

Accomodate* all S—100 Mother Boards. Built-in card cage with card guides. Lighted reset switch. Rotron whisper fan.

Includes heavy duty power supply. (+ 8 volts DC @ 30 AMPS, + 16 volts DC @ 4 AMPS, -8 volts DC may be added.

$389.00

3M «*> or VERBATIM FLOPPY DISKS

S'A in. Minidiskettes

Sott sector, 10 sector, or 16 sector

$4.40 each or

box of 10 tor $40.00

8 in. Standard Floppy Disks

Soft Sector

$4.75 each—10 for $42.50

FLOPPY DISK INTERFACE

JADE FLOPPY DISK (Tarbell board)

Kit $195.00

Assembled & Tested $250 00

S.D. Computer Products VERSA-FLOPPY

Kit S159.95

Assembled & Tested S239.00

integral Data Systems

€>

Check the impressive features on Integral's IP-125 Impact Printer

only $799

JEBSEEBBBnxmMlBmXESBi

• Mr^raprocesioi controller ■ Serial RS232C li upper and lower case ASCM character set {0b c length of 80 columns at 10 character! per inch paper roil, Untold, or sheet ■ Scr.ai baud talc i o' 256 chancier; ■ instantaneous print rale Id without adjustment • Reinking ribbon mecharm table top console

lerlate a Parallel ill level interlace "Full taracters) ■ F uti 8." >nch wide paper a Line

impici printing • /■ / dot matrix ■ Ordinary i 1200 bils per second ■ Multiple line buHei

100 characters per second ■ Multiple copies i ■ t root panel operator cuntrols ■ Attractive

Integral Data System IP-225 Tractor Feed Printer

• All standard features of IP-125 •Tractor feed paper drive

• Forms Control Option (P1250) $949 Integral Data System IP-125 Friction Feed Printer

•96 upper & lower case ASCII character set

• Enhanced character control

• Serial RS232C Interface (std. factory wiring)

• Parallel TTL Interface (factory wired on req.)

• 80 column line

• 256 byte multiline buffer $799

/te Plugboards

8800V

Jnive r sal Microcomputer/processor plugboard Use with S 100 bos Com plele with heat sink & hardware. 5.3" m 10" N 1/16"

3690-12 CARD EXTENDER

Card Emiandtr has 100 contacts. SO per s>d* on 1 25 canters Attached connector II com patible with S 100 But Svtterm (25.00

3890 6.5" 72/4 pm. 156 ctn.

t12.00

Gen Purpose D.I P floardi with But Pattern lor Solder or Wire Wrap. Eno.y Glass 1/16" 44 pin con spaced 156

8801-1

P partem plugboard! lor IC'i Epo.v Glait 1/16" 44 pm con. ipaced 1S6

3177 1.1" a 4 5 . . 317721.5" « 4.5".

S10.I0 Jf.74

IIOOV

MOM

14,95

59

10-24

17.95

15 96

11.46

11.ft

3667 6.5" » 4.5" . 3862 2 9 6 . 4.5"

. . $7 65 . St 1.45

H, Dem.iv board lor Power & Glut 1/16' .156.

3612».«"> 3112.2 1.5'

Dual ir Wire Grd 44 pin

Epo«y i tpaced

4.5" $10.17

» 4.5" SS.I1

272

BYTL June 1979

Circle 195 on inquiry card.

PLACE ORDERS TOLL FREE:

800/421 -6909 Continental U.S. •00/262-1710 Inside CaHfomla

LEEDEX MONITOR

• 12" Black and White

• 12MHZ Bandwidth

• Handsome Plastic Case

$139.00

KIM-1 Module monitor, programs stored in 2048 ROM Bytes. User Manual, Wall size schematic, Hardware manual, Programming manual. Programmers relerence card.and Keyboard display.

$179

CASES - $29,95

$245

6S02 — based single board computer with keyboard/display, KIM-1 hardware compatible, complete documentation.

SYM—1 CASE $39.95

V

MICROPROCESSORS F8

Z80 (2MH2)

Z80A (4MH2)

CDP1802CD

6502

6800

6802

8008-1

8036

8035 8

8080A

8086

TMS9900TL B080A SUPPORT DEVICES

8212

8214

8216

8224 (2MH/)

8224-4 (4MHz)

8226

822B

8238

824 3

8251

8253

8255

8257

8259

8276

82 79 USRT

S2350 UARTS

AY5 1013A

AY5I014A

TR1602B

TMS601 1

IM6403 BAUD RATE GENERATORS

MC14411

144 1 1 Crystal 6800 PRODUCT

6810P

6820P

682 IP

6828P

6834 P

6850P

6852P

6860P

6862P

687 IP

6875P

6880P CHARACTER GENERATORS

2513 Upper (-12»5)

2513 Lower (-12*5)

2513 Upper (5 volt)

2513 Lower (5 volt)

MCM6571 up scan

MCM6571Adown sen PROMS

1702 A

2708

2716 (5*12) Tl

2716 (5v) INTEL

2758 (5v| DVNAMIC RAMS

416D/4116 (200ns)

2104/4096

2107B-4

TMS4027/4096 (300ns) STATIC RAMS 1-15

21L02 (450ns) * 1.50

21L02 250ns * 1.75

2101-1 * 2.95

2111-1 * 3.25

2112-1 $ 2.95

FLOPPY DISK CONTROLLERS

1771B01

1791

KEYBOARD CHIPS

AY5-2376 AY5-3600 MM5740

$16.95 $20.00 $14 95 $17.95 $11.95 $16.95 $25.00 $12.45 $20.00 $21.00 $10.00 $23.00 $49.95

2.90

4.65

2 75

4.30

9.95

2.75

6.40

6.40

$ 8 00

$ 7.50

$20.00

$ 6.45

$20.00

$2000

$75.00

$18 50

$10.95

$ 5.26 $ 8.25 $ 5.25 $ 5.95 $ 9.00

$10.00 $ 4.95

$ 4.00 $ 6.60 $ 6.60 $11.25 $16.95 $ 8.65 $11.00 $ 9.25 $12.00 $28.75 $ 8.75 $ 2.50

$ 6.75 $ 6.75 $ 9.75 $10.95 $10.95 $10.95

$5.00. $ 9.95 $60.00 $60.00 $30.00

$12.50 $ 4.00 $ 3.95 $ 4.00 16-100 $ 1.20 $ 1.50 $ 2.60 $ 3.00 $•2.65

$39.96 $49.95

$13.75 $13.75 $18.00

JADE'S

DOUBLE DENSITY

Controller Board

KIT: $249.00 Assmb. & Tstd: $299.00

■Single or Double Density Recording

■Full Size or Mini Floppy

■CP/M Compatable in either density

■Programmed Data Transler, no DMA

■Controls up to 8 drives

■ IBM format in either density

■Software Selectable Density

■ This controler utilizes the proven reliability of the IBM standard format as well as the lastest phase-lockedloop for data seperation. ■ All clocks are generated from an on-board cyrstal oscillator ■ Right precompensation is used to enhanced data recovery reliability in the double density mode ■ Density selection is enitirely transparent to the user ■ Single and double density diskettes can be mixed on the same system.

NEW!

JADE Z80 BOARD

IMPROVED OCSION AND FEATURES

1 ON BOARD 2708 or 27(6 FPROM • VERY RELIABLE AT 4 MHZ OR

POWER ON JUMP AND RESET ON BOARD USART 18251)

2MHi

Kit

Assembled & Tested 4 MHz

Kit

Assembled & Tested Bare Board

$135.00 $115.00

$149.95 $195.95 $ 15.00

with full documentation

Kit $100.00 Assembled & Tested $14*.95 Bare Board $ 30.00

IrflPPLe'TRS-SO-RrW'TRS-aO-fiPPie-TAS-Sti^

Jade memory ; Expansion Nits tor j I TRS-80 and Applet

; 4116'»

: Everything a person needs to ; ; add 16K ol memory. Chips : j come neatly packaged with ; : easy to follow directions. In ' '■ minutes your machine Is ' i ready for games and more ? j advanced software. I

$82.00

&

8 •l9-S«1.31oyt).09-SHi.SldcfU.08-Sai.31dda.(

EPROM BOARD KITS

JG8/16 (uses 2708 or 27161 $69.95

"IMSAI'-TYRK CARD GUIDE SPECIAL:

Regular Price 3(W each

SPECIAL: 10 for $1.00!

^

^rrr

iimiiiiii

Rockwell Aim-65: The Heed-start

in microcomputers

A KIM-1 compatible machine with on-board printer and a real keyboard!

$375.00 w/1K RAM

$450.00 w/4K RAM 4K assembler/editor in ROM: $ 80.00 8K BASIC in ROM: Power supply: Case tor AIM-65:

$100.00 $ 59.95 $ 49.95

Special Package Price: $599.00

AIM-65 (4K), Power Supply, Case, and

6K BASIC ROM

DYNABYTE

Naked Terminal ■flCKttMIHM

FEATURES & BENEFITS

■ 80 character by 24 line formal (Model 57) ■ Completely self contained terminal electronics, just add CCTV monitor and key board ■ No support software required ■ Switch selectable modes: Halt Duplex, Full Duplex, Block mode ■ Block mode allows lor editing before transmit ■ Keyboard Interface provided ■ Fully assembled, socketed, tested, burned in, and guaranteed for a full year from date ol purchase ■ Video Is switch selectable ■Black-on-Whlte" or "White-on-Black"

ITEXTOOL

ZIP*

DIP8 II

Sockets

S-100 EDGE CONNECTORS

Soldeilail S3.25 each

10 for $35.00 Wire wrao $4 00 each

10 lor $40.00

7tecv 'Pnice*

DYNAMIC RAM BOARDS EXPANDABLE TO 64K 32K VERSION* KITS

Uses 4115 (8Kxl, 250ns) Dynamic RAM's, can be expanded in 8K increments up to 32K:

SK $159.00 16K $199.00

24K $249.00 32K $299.00

4115 SALE 8 for $39.95

64K VERSION-KITS

Uses 4116 (16Kx 1, 200ns) Dynamic RAM's, can be expanded in 16K increments up to 64K:

16K $249.00 32K $369.00

4SK $469.00 S4K $569.00

^ TiTTniiiiit:^

♦ZERO INSERTION FORCE

sockets

PRICES:

16 pin Zip Dip II $5.50

24 pin Zip Dip II $7.50

|40 pin Zip Dip II $10.26

JL STATIC RAM JL SPECIALS

2114'$, low power (1024x4)

1-15 16-99 100 *

450ns I t.OOl *.»5 I 5.50

300ns 9.00 8.00 S.50

TMS4044/MM5257. low power 450ns 1.00 7.50 S.50 300ns

9.95

1.75

4200A (4Kxl, 200ns) 19.95 I S.50

S.00

1.00

Computer Products

4901 W. ROSECRANS AVENUE Department "F" 3

HAWTHORNE. CALIFORNIA 90250 U.S.A.

Telephone:

(213) 679-3313

(800) 421-5809 Continental U.S.

(800) 262-1710 Inside California

Cash, checks, money orders, and credit cards accepted. Add freight charge of $2.50 for orders under 10 lbs. and $1.00 service charge for orders under $10.00. Add 6% sales tax on all parts delivered in California. Discounts available at OEM quantities.

WRITE FOR OUR FREE CATALOG

All prices subject to change without notice.

410D (4K x 1, 200 ns) |S.25 | 7.00 |6.75

STATIC RAM BOARDS

JADE 8K

Kits: 450ns $125.95

250ns $149.75

Assembled & Tested:

450ns $139.75

250ns $169.75

Bare Board: $ 25.00

16K - Usm2114's (low power)

Assembled & Tested:

RAM 1$ (250ns) $375.00 RAM 1«Bi4S0n») $325.00

16K with memory management

Assembled 4 Tested:

RAM 65 (250ns) $3*0.00 RAM 6SBi4S0nsl $350.00

32K Static Assembled e> Tested:

250ns 450 ns 250n> Kit

$7*5.00 $725.00 $575.00

Circle 195 on inquiry card.

BYTE June 1979

273

What's New?

SOFTWARE

Full Standard PILOT on PET

Commodore PET owners can get full standard PILOT on a minimum size PET with the PETPILOT language processor and editor which is suitable for preparing long programs of up to 80,000 characters. The product features full BASIC in compute statements as well as two new keywords designed to make PILOT programming easier and faster. All language features of the most recent PILOT standard are implemented. Only the tape drive supplied with the PET is required to run any PILOT program. While simple PILOT programs can be created on a single drive PET, authors writing long

programs will need the second cassette drive offered by Commodore.

The package offered by the PETPILOT project contains both programs, a sample PILOT program, a teacher's manual, a quick reference card, and licenses to run the programs on a single PET. A tutorial course of 4 one hour lessons in effective use of PILOT is also available. The basic package costs $12, and the tutorial is an extra $8. Both products can be ordered by specifying the PET serial number to be licensed. For further information contact Dave Gomberg, 7 Gateview Ct, San Francisco CA 94116.

Circle 620 on inquiry card.

FORTRAN Compiler for 6800 Produces Relocatable Object Code

A FORTRAN compiler for 6800 microprocessors, which produces relocatable object code in a Motorola compatible format, has been introduced by Smoke Signal Broadcasting, 31336 Via Colinas, Westlake Village CA 91361. Programs are compiled to run under the company's DOS-68 disk operating system for scientific applications, number crunching and multidimensional array, processing. The compiler is also comple

mented by Smoke Signal's Linking Loader for loading the object listing into any portion of memory specified.

Requiring 24 K bytes of user programmable memory, the compiler has a data initialization capability, features arithmetic and logical IF statements, and handles sequential access files so that up to four files can be opened at any one time. FORTRAN library subroutines can also be built.

The 6800 FORTRAN compiler is priced at $99.

Circle 621 on inquiry card.

KlM-1 Control System

PCROS is a Process Control Realtime Operating System for the KIM-1 microcomputer board. The operating system is designed to function in the 1 K byte KIM-1 programmable memory. PCROS can control up to twelve switches and is driven by a real time clock routine that makes use of the KIM-1 timer and interrupt circuitry.

A process control language interpreter has been included as an integral part of PCROS. The interpreter utilizes the on board KIM-1 keyboard and diplay. The process control language interpreter provides nine commands for application program development: set switches, hold full-second current settings (up to 255), hold quarter-second current settings (up to 255), repeat command sequence, reset repeat loop, go to subroutine, return from subroutine, load and execute next program (from cassette tape), and halt. Application programs can contain up to 56 commands.

PCROS on KIM format cassettes with users manual is priced at $14.95. The assembly listing is available for $24.95. For further information contact H Geller Computer Systems, POB 350, New York NY 10040.

Circle 622 on inquiry card.

<

X! C 03 CD

C CD CO

Q.

o U

-a

c

CD

Q.

E o O

cn

PERSONAL COMPUTING SOFTWARE FOR APPLE®, PET®, AND TRS-80®

APPLE • COMMODORE • POWERSOFT GRT • PERSONAL SOFTWARE • RD.I.« SOFTAPE

EXCLUSIVELY AT ALL PARTICIPATING

ComputerLand

®

STORES.

274 June 1979 © BYTE Publications Inc

Circle 75 on inquiry card.

• •••

•a...

•••••

•••••

•a... ••••■ ••••■

••••

••••• ••••• ••••• ••••• ••••• ••■••

••••• •••••

•••••

••••• •••••

• •••• •••••

:•••• •••• •••••

:•••• ••••

••••••

•••••

•••••

:••••• •••• Mae..

••••••

••••••

• •••••

••••• ••••■

••••••

•••••■

•••••■

••••••

:••... ae...

••••••

:••••• •••••

••••••

••••••

••••••

•)••••■

•ae..•••••■

•ae... ••••••

••••»•

•ae... ••••••

••••••

•••••■

•••••■

••••••

••••••

••••..

■••••■

:••••• •••••■

•ae.

•ae... •ae...

:••••• ae...

••••••

•••••■

••••■•

••••••

•••••■

•ae... ••••••

••••••

• •••••

••••■■

#••••■ ■•ae.. Mae..

■••••■

•ae... ••••••

•ae... Mae..

••••••

• ••••• »••■• •ae." ••••••

••••••

••••

••••

••••

_ • •••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••■.

e •.•i"".!"!!??!!!!jtj!;;;;j;;y;jj;;;;;fi?;;;**?j;;*j;t#,*,»,»B,'«.»»»««*»»»»»»«».*»... ••••""• J* a

•••!•*' ' ' "''■'.'•%•*

I'.'.y -taw CDDAlll OAnn t> -tnn r»i i*»«» N S oix i r\\u nmnw-r* r^... .*.-*■ X 5TSS .>...>-—■v '•"■•••

16K EPROM CARD-S 100 BUSS

OUR

BEST

SELLING

KIT!

USES 2708s!

Thousands of personal and business systems around the world use this board with complete satisfaction. Puts 16K of software on line at ALL TIMES! Kit features a top quality soldermasked and silk-screened PC board and first run parts and sockets. All parts (except 2708's) are included. Any number of EPROM locations may be disabled to avoid any memory conflicts. Fully buffered and has WAIT STATE capabilities.

OUR 450NS 2708'S ARE $8.95 EA. WITH PURCHASE OF KIT

ASSEMBLED AND FULLY TESTED ADD $25

8K LOW POWER RAM KIT-S 100 BUSS 250 NS SALE!

'ADD $5 FOR 250NS!

$129

(450 NS RAMS!)

Thousands of computer systems rely on this rugged, work horse, RAM board. Designed for error-free, NO HASSLE, systems use. KIT FEATURES:

1. Doubled sided PC Board with solder mask and silk screen layout.Gold plated contact fingers.

2. All sockets included.

3. Fully buffered on all address and data lines.

4. Phantom is jumper selectable to pin 67.

5. FOUR 7805 regulators are provided on card.

Blank PC Board w/Documentation

$29.95

Low Profile Socket Set...13.50

Support ICs (TTL & Regulators)

$9.75

Bypass CAP'S (Disc & Tantalums)

$4.50

ASSEMBLED AND FULLY BURNED IN ADD $30 >

16K STATIC RAM KIT-S 100 BUSS

$295

KIT

FULLY

STATIC, AT

DYNAMIC PRICES

WHY THE 2114 RAM CHIP?

We fee! the 2114 will be the next industry standard RAM chip (like the 2102 was). This means price. availability, and quality will all be good! Next, the 2114 is FULLY STATIC We feel this istheONLY way to go on the S-100 Buss! We've all heard the HORROR stories about some Dynamic Ram Boards having trouble with DMA and FLOPPY DISC DRIVES. Who needs these kinds of problems? And finally, even among other 4K Static RAM's the 2114 stands out! Not all 4K static Rams are created equal! Some ol the other 4K's have clocked chip enable lines and various timing windows just as critical as Dynamic RAM's. Some ol our competitor's 16K boards use these "tricky" devices. But not us! The 2114 is the ONLY logical choice for a trouble-free, straightforward design.

KIT FEATURES:

1. Addressable as lour separate 4K Blocks.

2. ON BOARD BANK SELECT circuitry (Cromemco Standard!) Allows up to 512K on line!

3. Uses 2114 (450NS}4K Static Rams

4. ON BOARD SELECTABLE WAIT STATES

5. Double sided PC Board, with solder mask and silk screened layout. Gold plated contact lingers.

6. All address and data lines fully buffered.

7. Kit includes ALL parts and sockets

8. PHANTOM is jumpered to PIN 67.

9. LOW POWER: under 2 amps TYPICAL Irom the *6 Volt Buss.

10. Blank PC Board can be populated as any multiple of 4K.

BLANK PC BOARD W/DATA-S33 LOW PROFILE SOCKET SET-$12 ASSEMBLED & TESTED-ADD $30 SUPPORT ICS & CAPS—$19.95 2114 RAM'S—8 FOR $69.95

^

COMPLEMENTARY POWER TRANSISTORS

SILICON NPN AND PNP. TO-220 CASE

VCEO - 40V PD - 30 WATTS FOR AUDIO POWER AMPS. ETC

TIP29- NPN TIP30 - PNP

YOUR CHOICE

3 FOR $1

16K DYNAMIC RAM CHIP

16K X 1 Bits. 16 Pin Package Same as Mostek 4116-4. 250 NS access. 410 NS cycle time. Our best price yet for this state of the art RAM 32K and 64K RAM boards using this chip are readily available. These are new. fully guaranteed devices by a major mfg VERY LIMITED STOCKI

8 FOR $89.95

NOT ASSOCIATED

WITH DIGITAL RESEARCH

OF CALIFORNIA,

THE SUPPLIERS OF

CPM SOFTWARE.

450 NSI

2708 EPROMS

Now full speed! Prime new units from a major U.S. Mfg. 450 N.S. Access time. 1K x 8. Equiv. to 4-1702 A's in one package.

$15.75 ea. $995

4 FOR $50°°

PRICE CUT

NATIONAL SEMICONDUCTOR NEW!

CAR CLOCK MODULE - #MA6008

*6

99

each

INCLUDES CRYSTAL TIMEBASE! WORKS ON 12 VDC!

Originally used by HYGAIN to indicate time and channel on an expensive C.B. Mini size, selt contained module. Not a Kit. Four digits plus flashing indicator for seconds. Includes MM5369 and 3.58 MHZ crystal for super accurate time base. With hookup data.

MFGR's CLOSEOUT

LIMITED QTY.

Z-80 PROGRAMMING MANUAL

By MOSTEK, or ZILOG. The most detailed explanation ever on the working of the Z-80 CPU CHIPS. At least one tull page on each of the 158 Z-80 instructions. A MUST reference manual for any user of the Z-80. 300 pages. Just off the press. $12.95

EXPERIMENTERS HEATING PLATE

Large Manufacturers Surplus. 5%x10'/2 in. Made of 3/8 in. tempered glass with heating element laminated on back. Works off 120 VAC. Protected by thermostat and two thermal fuses. Rated 120 Watts. Use for any heating applications. Perfect for heating ferric chloride to increase PC Board etching efficiency. Units are brand new, non-submersible.

WHILE THEY LAST—$2.99 each

GENERAL INSTRUMENT FULL WAVE BRIDGE /4.0

4 AMP 600 PIV <C°°

3/4 IN SQUARE - WITH LUGS

75$

3 FOR $2 "LM1

MALLORY COMPUTER GRADE CAPACITOR

30.000 MFD 15 WVDC

Small: 3x2 Inches

$1.99 ea. 3 For $4.99

Newt REAL TIME Computer Clock Chip

N.S. MM531 3. Features BOTH 7 segment and BCD outputs. 28 Pin DIP. $4.95 with Data

"THE COLOSSUS" FAIRCHILD SUPER JUMBO LED READOUT

A tull .80 inch character. The biggest readout we have

ever sold! Super efficient. Compare at up to $2.95 each

from others! YOUR CHOICE

FND 843 Common Anode * . .„

FND 850 Common Cathode " I ea (6 tor $6.95)

v.

V-V

Digital Research Corporation

" (OF TEXAS)

P.O. BOX 401247Y GARLAND, TEXAS 75040 • (214) 271-2461

TERMS: Add 30C postage, we pay balance Ordets under $15 add 75C handling No COD We accepl Visa. MasterCharge. and American Express cards Tex Res add 5% Tax Foreign orders (except Canada add 20% P & H 90 Day Money Back Guarantee on all items

•••••

■•*••• •••••

••••••

••••••

••••••

■•••••

••••••

-•»••§ •••••

••••••

•••••

■*••••

■•••••

•••••

••••••

■•••••

—ea* >•'•••

■••••• —ea* •••eai

■••ea* ■••ea* •••ea* ■••ea* ■••ea* ■••ea* •••ea* •••ea* •••ea* —ea* ■••ea* —ea* •••ea*

■••••• •••ea* ••••••

•••ea* —ea* •••ea*

••••••

•••ea* ••••••

—ea*

■•••••

•••ea* ■••ea* ••••••

■••e«* ■••ea* ■••ea* •••ea* •••ea* •••ea* •••ea* ■••ea*

—eai

•••ea* —ea*

•••eai •••eai

■••ea* ■••ea* •••ea* •••ea* •••ea* •••ea* •••ea* •••ea* —ea* •••ea* •••ea* •••ea* •••ea* ■••ea* •••ea* •••ea* •••ea*

■••eai

•••ea* •••ea* •••ea* •••ea* •••ea* •••ea* ■••ea*

•••eai

—ea* •••eai •••ea* •••eai ••eai

—ea*

■••eai ■••eai

■••ea* •••ea* ■••ea*

-•eai

■••ea* ■••ea* ■••ea* ■••ea* —ea* —ea* —ea* —ea* —ea*

••eai

••ea* ••ea* ■•ea* ••ea* ••ea*

•••••

wJil

•J

••;

• «Sili£...... .*...•••.•>••...•••.. ..•..«••!••£.••• ••■•■••« »•»••••••»«•«.••....... * • ' !!!.% •

• ••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••"•••••*1# • •

•eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeaee•eeeeeee•eeeee»■w •eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeceeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee**' •

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a*"

Circle 100 on inquiry card.

BYTE lune 1979

27S

T

TO ORDER CALL TOLL FREE 800-223-7318

MM

PET

It

IV $795 SU54E9D

on

14K ROM Operating system

• 8K RAM Memory

• 9' Video Monitor

• Built in Keyboard

• Digitally controlled tape I Today's best value in personal computers, along with the latest

1 in peripherals, are always in stock at the COMPUTER FACTORY

BUSINESS

NEW! PEMS

I The PET is now a truly sophisticated I Business System with the Floppy | Disk and Printer which makes an

ideal cost efficient business

system for most professional and 1 specialized fields: medicine.

law, research, engineering,

education, etc.

PET 2001

16KS995 32K$1295

I • ^6 or 32K Bytes

I Dynamic RAM • 14K ROM

I Operating System

I • Upper/Lower Case and

I Graphics

■ • Full Sized Business Keyboard

I • Full Screen Editing

I • Operaung system will support

multiple Languages (BASIC

resident) I • Machine Language Monitor I • 8K ROM Expansion Sockets I • 9" CRT

PERIPHERALS FOR PET

' 24K Memory Expansion

" lemory Expansion

tog to Digital Board

16 Devices

ond Cassette Drive . illel Printer Interface

PET PRI 2023 $849

2022 $995

(Includes Tractors)

Bottom and Rear Tractor Feed

8V?" Paper Width

6504 Microprocessor Controlled

150 cps Bi-directional

4K ROM • V,K RAM

Upper/Lower Case and Graphics

7 x 6 Dot Matrix

$1495 Complete! 16K Model add $200 32K Model add $500

Conipucolorll

COMPUCOLOR II Disk-Based Model 3 Advanced hardware and software technology gives you'

• 13" Color Display

• Advanced Color Graphics

• 51K Disk Built-in

• 16K ROM Operating System

• 8K RAM User Memory

• 4K RAM Refresh

• 8080A Microcomputer

• RS-232 I/O

Every unit comes with an extendi BASIC that has full file manag bility resident in the COMPUCOLOR II in 16K of ROM Color is fantastic, but COMPUCOLOR II has the power to handle complex tasks and small business applications An impressive software library supplements your own creativity.'

BUSINESS

COMPUTER

IMSAI

The low cost solution

lor all small business

problems A wide variety

of software is

available for all your needs

PCS series include dual floppies. 32K RAM.

I O DOS, BASIC

• PCS-42 (400KB) $3295

• PCS-44 (780KB) $3995

VDP-42 series adds video terminal, keyboard and VIO to above

• VDP-42 $4995 • VDP-44 $5595

BILLINGS MICROSYSTEM EXPANDABLE TO f\ff-|i/f 2 MEGABYTES N C WW I

features:

• 12" CRT

• 64K RAM

• Z-80

• Dual mini floppy

• 320 K Storage

• Graphics

• 94 Keys

• 2 RS-232 ports

• 1 parallel port

BUSINESS SOFTWARE AVAILABLE!

C1I

SUPER SOFTWARE

Word

Processing For PET

This super advanced full function program will allow | you to create text from PET or terminal keyboard. • INSERT • DELETE • CENTER • UNDERLINE • I FULL SCREEN EDITING • MOVE LINES OR | BLOCKS • SAVE TEXT ON TAPE • AUTO PRINT FEATURE...$45

Apple's This fantastic program disk allows the statistician,

Moving mathematician, trader in stocks, money or

Average commodities, the ability to maintain 30 database Plot series of up to 300 values and plot 3 different moving

Program averages of a series at the same time, in 3 different

colors. Files can be updated, deleted, changed,

extended, etc.

A sure value disk at only $40!

Word Processing For Apple on disk...$50

PET

MUSIC Add music and sound eltects to your programs. Compose, play, and hear music on your pet. Completely sell-contained (no wiring). Free 3 programs including Star Wars theme, sound effects, etc. S39.

iisisa

SALE

DUAL DRIVE FLOPPY DISK 2040 $1295

■ 360 K Bytes Storage

• High Speed Data Transfer

• Plugs into IEEE Port

• 6504 Microprocessor

• 8K ROM Operating System

• 8K ROM Encoding and

. ?k ram9 Come In Or CaII For

• Uses Single or Dual sided Special LOW Pf/CCS

, Dske,es WE'RE MOVING TO SINGLE DRIVE LARGER QUARTERS

I FLOPPY UNIT AND MUST SELL

2041 $895 EVERYTHING IN OUR

• Dud Canute I/O

• 30 * 64 n.iiji.i-.

• S 100 ComfMtitila

• 64 Usui Delmed CfuraciRts

• 740 x 617 Resolution Graphics Modular deiign allows use of bblh cauelti for ptograms and ROM PAC carifidgtt It future language introductions like; API COBOL. PILOT, FORTRAN, etc Addmoi

SORCERER

SPECIAL 12" Video Monitor for SORCERER ($299 value)

ONLY

$125 with 8K unit 95 with 16K unit 65 with 32K unit

ANDERSONJAC0BS0N

641 l/0Teiminil

JACOBSOIM

Ideal lor word processing end smell

mm,

• ASC 11 Code

• 15 cps Printout

• High Quality Selective Printing

• Use Keyboard tot PET

• Reliable heavy duty Mechanism

• Completely Refurbished by A.J.

• Service in IS Major Cilies

Parallel

$1095

Swill

$1195

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

PRINTERS • PRINTERS • PRINTERS

The COMPUTER FACTORY'S extensive CENTRONICS $1095

inventory and wide seleclion of computer AXIOM (Parallel) 445

printers assures you ot finding the printer AXIOM (Serial) 520

besl suited for your needs and TRENDCOM 375

specifications The following printers work INTEGRAL DATA 795

well with all known personal computers QUME or DIABLO 3400

Intelligent mini floppy 171 5K net user storage

INVENTORY

Min Credit Card Order $75

vtsr

S35 of Software wiiti pur chase ol any computer on ihis page

N Y residents add 8% sales tax • Same day shtpmenl on prepaid and credit card orders • Add S5 shipping for computers. S3 for boards.-S.25 each cassette tape.

Sat

Open Mon.-Fri. 10-6 10-4

INTERTECs

Only $870

FREE

TO ORDER CALL TOLL FREE 800-223-7318

INTERTUBE video terminal

I Full screen editing 24 x SOdlaplaj I and microprocessor ^*^\~

(46th St.)

Thzi /^jrMVflDI ITCD CTAr^T/^DV 485 Lexinqton Avenue 750 Third Avenue New York, N.Y. 10017 I IRS \s\Jl\ll1r U I Cn "MV/ I Vyll I (212) 687-5001 (212) PET-2001 Foreign order desk Telex 640055

276 BYTE lunc 1979

North Star Utilities Package

With these programs the user can:

Read a basic program directly from a disc and list all variables appearing in the program (Listings can be made of variables versus line numbers or line numbers versus variables.I

Selectively print out any statement, function or command versus the line numbers that it appears in

Print out a "flow chart" of the basic program

This package is essential for examining and modifying basic programs. It is provided on a North Star Diskette for $15.00.

Potter's Programs

22444 Lakeland

St. Clair Shores, Ml 48081

(313) 573-8000

SUPPLIES

• FLOPPY DISKS, MINI OR STANDARD MEMOREX OR 3M

• 3M DATA CARTRIDGES DC300A. OCIOOA

• 3M DIGITAL CASSETTES

• 3M OR MEMOREX AUDIO CASSETTES. C 60

• 3M0ISK CARTRIDGES

WE OFFER: •COMPETITIVE PRICING •IMMEDIATE DELIVERIES

lAnv Quanlity) • UNCONDITIONAL GUARANTEE

BETA BUSINESS SYSTEMS 8369 ViCKERSST.. #G

SSAN DIEGO. CA 92 17141 565^1505

m

"CRT INTERFACES" black - white/colon

Monitors * Combination Rcvr/monitor sett • Modulator kits * B-W Cameras * Color Cameras * Audio Subcarrier kits • Parts

WRITE or PHONE for DETAILS & PRICING.

DIAL: 402-987-3771

Dealers welcomed. Well established program.

—*—e/V)

»'3;!L ATV Research Dakota City, Broadway tfiLiffc1' HEl 6813'

Circle 310 on inquiry card.

Circle 27 on inquiry card.

Circle 19 on inquiry card.

( SHORT CASSETTES

C-10

List S1.00 10 for $7.50 50 for $32.50

I MICROSETTE CO. \ 777 Palomar Ave. • Sunnyvale. CA 94086

Duplication Services

Microsette also offers professional duplication services for Commodore PET and Radio Shack TRS-80 Level I and Level II cassettes. Our service provides mastering, quality control, all material including twopiece box, affixing of your labels or supplying our blank labels and shipping. Prices start at $2.00 each in 100 quantity.

MICROSETTE CO.

777 Palomar Ave. ■ Sunnyvale, CA 94086

Circle 229 on inquiry card.

RECYCLE(D) COMPUTERS

BUY $ SELL it SWAP Hardware & Software

NEW PRODUCT ANNOUNCEMENTS 22 pace*

Mailed Is* Class every 3 Weeks lyr. (18 issues) it $3.75

ON_LINE ~@r

Djoi Ucitlr. Unlili»bfT CtutlKbrb 1073

24695 Santa Cruz Hwy.. Los Gatos, CA 95030

BASIC

SUBROUTINE

LIBRARY

Volume 1

' ARRAYS - minimum, maximum, sums, searching, sorting.

i MATRIX ALGEBRA - addition, subtraction, multiplication, transposition, determinant, inversion.

' SIMULTANEOUS EQUATIONS - nonsymmetrical, symmetrical, banded, three-diagonal.

Any routine you'll ever need, involving arrays, matrix algebra or simultaneous equations, can be found in this comprehensive collection of subroutines, compatible with any version of BASIC having subscripted variables. Numerous examples show how to incorporate those subroutines into your programs or how to use them as stand alone programs.

Order now and save days of work. S18.00 U.S. plus $2.00 for handling and postage.

VM Professional Application Software, Inc. 2703 Bainbridge Avenue BURNABY, B.C. V5A 2S7

Circle 379 on inquiry card.

TRS-80 y

SPECIAL PROMOTION SALE

SAVE 10%, 15% or more on ALL Computers, Peripherals, Software, and ALL other fine Radio Shack® products.

NO TAXES on out-of-state shipments.

FREE Surface delivery in U.S.

WARRANTIES will be honored by your local Radio Shack® store. Offered exclusively by

Radio Shack8

Authorized Sales Center

1117 Conway

Mission, Texas 78572

(512) 585-2765

^

J

ADVERTISE YOUR PROGRAMS IN OUR NEW

Computer Software

Directory

FOR AS LITTLE AS $20/YEAR! EVEN IF YOU ONLY HAVE ONE PROGRAM TO SELL, WRITE:

CYBERTRON P.O. BOX 5056 BETHLEHEM, PA.18015

Circle 90 on inquiry card.

FLOPPY DISK REPAIR

• PerSci and Shugart

• Quick turnaround

• Factory trained on PerSci

COMPUTER SERVICE CENTER

7501 Sunset ESlvd

Hollywood CA 90046

213-851-2226

Circle 288 on inquiry card.

Circle 314 on inquiry card.

Circle 77 on inquiry card.

TRS-80ES SERIAL I/O

• Can input into basic

• Can use LLIST and LPRINT to. output, or output continuously • RS-232 compatible • Can be used with or without the expansion bus • On board switch selectable baud rates of 110,150,300,600, 1200, 2400, parity or no parity odd or even, 5 to 8 data bits, and 1 or 2 stop bits. D.T.R. line • Requires +5, -12 VDC • Board only $19.95 Part No. 6010, with parts $59.95 Part No. B01OA, assembled S79.95 Part No. 6010 C. No connectors provided, see below.

ElA/PS-232 connector Part No. DB25PS6.00.Mtti 9'. 8 conductor cable StO.95 Part No DB25PS.

3' ribbon cable with attached connectors to fitTRS80 and our aerial board $19 9b Port No. 3CAB40.

RS-232/ TTLtt IMTERFACE

• Converts TTL to RS232, and converts RS232 to TTL» Two separate circuits • Requires -12 and +12 volts • All connections go to a 10 pin gold plated edge connector

• Board only S4.50 Part No. 232. with parts $7.00 Part No. 232A 10 Pin edge connector $3.00 Part No. 10P

MODEMtt

• Type 103 • Full or half duplex • Works up to 300 baud • Originate or Answer • No coils, only low cost components • TTL input and output-serial

• Connect 8 fl speaker and crystal mic. directly to board • Uses XR FSK demodulator • Requires +5 volts • Board only $7.60 Part No. 109, with parts $27.50 Part No. 109A

VERBATIM MINIDISK

Yferbalim

Box of 10

$29.95

RS-232/TTYtt

INTERFACE

« Converts RS-232 to 20mA current loop, and 20mA current loop to RS-232 • Two separate circuits • Requires + 12 and -12 volts • Board only $4.50 Part No. 600, with pBrts $7.00 Part No. 600A

Mar wo too

S-100 BUS" ACTIVE TERMINATOR

Board only $14.95 Part No. 900, with parts $24.95 Part No. 900A

APPLE lift SERIAL I/O INTERFACE

Baud rate is continuously adjustable from 0 to 30,000 • Plugs into any peripheral connector • Low current drain. RS-232 input and output • On board switch selectable 5 to 8 data bits, 1 or 2 stop bits, and parity or no parity either odd or even • Jumper selectable address • SOFTWARE • Input and Output routine from monitor or BASIC to teletype or other serial printer • Program for using an Apple II for a video or an intelligent terminal. Also can output in correspondence code to interface with some selectrics. • Also watches DTR • Board only $15.00 Part No. 2, with parts $42.00 Part No. 2A, assembled $62.00 Pert No. 2C

8K EPROM piiceon

Saves programs on PROM permanently (until erased via U V light) up to BK bytes. Programs may be directly run from the program saver such as fixed routines or assemblers. • S100 bus compatible • Room for 8K bytes of EPROM non-volatile memory (2708's). • Onboard PROM programming • Address relocation of each 4K of memory to any 4K boundary within 64K • Power on jump and reset jump option for "turnkey" systems and computers without a front panel • Program saver software available • Solder mask both sides • Full silkscreen for easy assembly. Program saver software in 1 2706 EPROM $25. Bare board $35 including custom coil, board with parts but no EPROMS $ 139, with 4 EPROMS $179. with 8 EPROMS $219.

P-'l"| "

._ © ■

WAMECO INC.

SSSlm

FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5* & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not included). PCBD $42.95

FPB-1 Front Panel. (Finally) AMSAI size hex displays. Byte or instruction single step. PCBD..... $42.95

MEM-1A 8Kx8 fully buffered, S-100, uses 2102 type RAMS. PCBD $24.95. $168 Kit

QMB-12 MOTHER BOARD, 13 slot, terminated, S-100 board only $34.95

$89 95 Kit

CPU-1 8080A Processor board S-100 with

B level vector interrupt PCBD .. $25.95

$69.95 Kit

RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD $25.95. $60.95 Kit

EPM-1 1702A 4K EPROM

card PCBD $25.95

$49.95 with parts less EPROMS

EPM-2 2708/2716 16K/32K

EPROM card PCBD $24.95

$49.95 with parts less EPROMS

QMB-9 MOTHER BOARD. Short Version of

QMB-1 2. 9 Slots PCBD $30.95

$67.95 Kit

MEM-2 16KxB Fully Buffered 2114 Board PCBD $25.95, $269.95 Kit

T.V. TYPEWRITER

• Stand alone TVT

• 32 char/line, 16 lines, modifications for 64 char/line included

• Parallel ASCII (TTL) input • Video output

• 1K on board memory

• Output for computer controlled curser • Auto scroll • Nondestructive curser • Curser inputs: up, down, left, right, home, EOL EOS • Scroll up, down

• Requires +5 volts at 1.5 amps, and -12 volts at 30 mA • All 7400, TTL chips • Char. gen. 2513 • Upper case only • Board only $39.00 Part No. 106, with parts $145.00 Part No. 106A

UART&

BAUD RATE

GENERATORS

• Converts serial to parallel and parallel to serial • Low cost on 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 bit, 5 to 8 data bits, 1 or 2 stop bits, and either odd or even parity. • All connections go to a 44 pin gold plated edge connector • Board only $12.00 Part No. 101, with parts $35.00 Part No. 101 A, 44 pin edge connector $4.00 Part No. 44P

TAPE INTERFACE

• Ray and record Kansas City Standard tapes

• Converts a low cost tape recorder to a digital recorder • Works up to 1200 baud •Digital in and out are TTLserial • Output of board connects to mic. in of recorder • Earphone of recorder connects to input on board

• No coils • Requires +5 volts, low power drain • Board only $7.60 Part No. 111, with parts $27.50 Part No. 111A

HEX ENCODED

KEYBOARD

E.S. This HEX keyboard has 19 keys, 16 encoded with 3 user definable. The encoded TTL outputs, 8-4-2-1 and STROBE are debounced and available in true and complement form. Four onboard LEOs indicate the HEX code generated for each key depression. The board requires a single +5 volt supply. Board only $15.00 Part No. HEX-3, with parts $49.95 Part No. HEX3A. 44 pin edge connector $4.00 Part No. 44P.

DC power supply-::

• Board supplies a regulated +5 volts at 3 amps., +12, -12, and -5 volts at 1 amp. • Power required is 8 volts AC at 3 amps., and 24 volts AC C.T. at 1.5 amps. • Board only $12.50 Part No. 6085, with parts excluding transformers $42.50 Part No. 6085A

wTe\ OrriOr" Mentlon Part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard. or VISA lw \J\ Uwl a number, expiration date end signature. Shipping charges added to C.O.D. orders. California residents add 6.5°/o for tax. Outside USA add 10% for air mail postage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included with .all products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Deeler inquiries invited. 24 Hour Order Line: (409) 226-4064 -if- Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

ELECTRONIC SYSTEMS Dept. B, P- 0. Box 21638,SanJose, CAUSA 95151

BYII June 1979

Circle 125 on inquiry card.

HielMECTRANSlOOO

A completely refurbished IBM Selectric Terminal with built-in ASCII Interface.

Features:

• 300 Baud

• 14.9 characters per second printout

• Reliable heavy duty Selectric mechanism

• RS-232C Interface

• Documentation included

• 60 day warranty-parts and labor

• High quality Selectric printing Off-line use as typewriter

• Optional tractor feed available

• 15 inch carriage width

HOW TO ORDER DATA-TRANS 1000

1. We accept Visa, Master Charge. Make cashiers checks or personal check payable to:

DATA-TRANS

2. All orders are shipped F.O.B. San Jose, CA

3. Deliveries are immediate

For orders and information

DATA-TRANS

2154 OToole St.

UnitE

San Jose, CA 95131

Phone: (408) 263-9246

; m. a

m « % | h >a w »*< ni «< % * % ■* * «ai 4 4 at "4 tit N tut k>< fc » it « * * « n m t» ■■* m m m m tr. * *

■■-•»«» <4 '4 Hi MM Wfelfi

ASCII KEYBOARD

By Cherry Products

• • Mounted to DECWRITER Panel ASSEMBLED 89.95

TIDMAtt

• Tape Interface Direct Memory Access • Record and play programs without bootstrap loader (no prom) has FSK encoder/decoder for direct connections to low cost recorder at 1200 baud rate, and direct connections for inputs and outputs to a digital recorder at any baud rate • S-100 bus compatible • Board only $35.00 Part No. 112, with parts $110 Part No. 112A

,J*

ASCII to Correspondence code converter

This bidirectional board is a direct replacement for the board inside the Trendata 1000 terminal. The on board connector provides RS-232 serial in and out. Sold only as an assembled and tested unit for $330.00. Part No. TA 1000C

#ippta

With16K $1024.00

T.V. INTERFACE

• Converts video to AM modulated RF, Channels 2 or 3. So powerful almost no tuning is required. On board regulated power supply makes this extremely stable. Rated very highly in Doctor Dobbs' Journal. Recommended by Apple • Power required is 12 volts AC C.T., or +5 volts DC • Board only $7.60 part No. 107, with parts $13.50 Part No. 107A

(Illegal where prohibited by law.)

TV* OrHor ■ ^ent'on Part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge. BankAmericard. or VISA lw \J\ Uwl ■ number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5°/o for tax. Outside USA add 10°/a far air mail postage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuit board. Documentation is included with.a!l products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Dealer inquiries invited. 24 Hour Order Line: (408) 226-4064 ■& Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

ELECTRONIC SYSTEMS Dept- B< P- °- Box 21638,SanJose, CAUSA 95151

Circle 126 on inquiry card.

BYTE June 1979 279

Circle 115 on inquiry card.

8" Siemens FDD120-8 Drive

All Siemen's options included in this drive which can be configured hard or soft and single or double density. (Others give only stripped unit) $425.00

"Power One" Modei CP206 Floppy Power Unit For two

drives going full-out, and possably more on less severe service. 2.8A@24V, 2.5A@5V, 0.5A@-5V. Beautiful quality. $99.00

Electrolabs

POB 6721, Stanford, CA 94305 415-321-5601 800-227-8266

Visa, American Express, Master

Low Profile Socket Spectacular!!! Featuring a kind of Mexican Handshake" principle, these sockets will NOT let your IC's vibrate outll In 8,14,16,18,20,22,24,28 &40 let/pin 100O+: .75/pin, 20,000+: .65/pin

40001"

=NlTBF

10 Megabyte SUPER DISK!!!

DISKETTES (Standard)

Boxed 10 Boxed 10

539.00 $34.95

Tarbell ("It Works") Interface (Includes cable set for 2 drives) $265.00 BUT ONLY $219.00 with purchase of two drives.

Cable Kits 10' with 50 cond. cable and connectors and also Molex connectors and power cable: For one drive: $27.50 For two drives: $33.95, and for three drives: $38.95

CABINETS for FDD120 and 801 R Drives, or CP206 power supply. Matte finish in mar resistant black epoxy paint. .Stacking type design. $29.99

Used Sylvania 12" Video Monitors. Composite video 15mhz, 115vac,50/601iz New Tube. As shown $109 OEM style without case: $99, Anti-glare tube option add $12. Specify p4 or p39

SHRINKS your media RELIABLY!!

..,:.:-,^■;':::''

NEW

PRODUCT

RELEASE!!!

NEW Breakthrough n Size, Weight (39lbs) Power (125W) Performance (36O0rpm) and cost effectiveness (10 MBy and controller for $6750.00) For PDP-11, LSI-11

AND

S-100 machines

ESAT200B (Bi-Lingual) 80X24 Communicating Terminal

Scrolling, Full Cursor, Bell, 8X8 matrix, 256 addressable characters

110-19,200 baud, etc, etc

This terminal has been purchased by many agencies, universities & companies. Fully stand-alone, it is the only dual font terminal of any kind for less than $2500. Supplied complete and fully guaranteed: (many graphics applications)

$349.00

«0^^P*

l§

CALIFORNIA COMPUTER SYSTEMS

16K RAM BOARD. Fully buffered addressable in 4K blocks. IEEE standard for bank addressing 2114's

PCBD $26.95

Kit 450 $259.95

PT-1 PROTO BOARD. Over 2,600 holes 4" regulators. All S-100 buss functions labeled, gold fingers. PCBD $29 95

PT-2 PROTO BOARD. Similar to PT-1 except setup to handle solder tall sockets. PCBD $29.95

.£337

FORMERLY CYBERCOM/80LID STATE MUSIC. PB-1 2708&2716 Programming Board with provisions for 4K or 8K EPROM. No external supplies require

textool sockets. Kit $124.95

CB-1 8080 Processor Board. 2K of PROM 256 BYTE RAM power on/rest Vector Jump Parallel port with

status Kit $119.00 PCBD $30.95

MB-6B Basic 8KX8 ram uses 2102 type rams, S-100

buss. Kit 450 NSEC $139.95 PCBD $26.95

MB-7 16KX8, Static RAM uses UP410 Protection,

fully buffered Kit $299.95

MB-8A 2708 EROM Board. S-100, 8K8X or 16Kx8

kit without PROMS $75.00 PCBD $28.95

MB-9 4KX8 RAM/ PROM Board uses 2112 RAMS or 82S129 PROM kit without RAMS or PROMS $72.00 IO-2 S-100 8 bit parallel /IO port, % of boards is for

kludglng. Kit $48.00 PCBD $26.95

IO-4 Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports.

Kit $130.00 PCBD $26.95

VB-1B 64 x 16 video board, upper lower case Greek, composite and parallel video with software, S-100.

Kit. $125.00 PCBD $26.95

Altair Compatible Mother Board, 11 x 1IV2 x'/•".

Board only $39.95. With 15 connectors $94.95

Extended Board full size. Board only $ 9.49

With connector $13.45

SP-1 Synthesizer Board S-100

PCBD $42.95 KIT $135.95

/V/mC/int! WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD will drive shugart, pertek, remic 5" & 8" drives up to 8 drives, on board PROM with power boot up, will operate with CPM (not Included).

PCBD $42.95

FPB-1 Front Panel. IMSAI size, hex displays. Byte, or instruction single step.

PCBD $47.50

MEM-1 BKX8 fully buffered, S-100, uses 2102 type

rams. PCBD $25.95

OM-12 MOTHER BOARD, 13 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector Interrupt PCBD $26.95

RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD $23.95

EPM-1 1702A 4K Eprom card PCBD $25.95

EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $25.95

QM-9 MOTHER BOARD, Short Version of QM-12.

9 Slots PCBD $30.95

MEM-2 16Kx8 Fully Buffered

2114 Board PCBD $26.95

2114 (450 NS) low pwr.$7.25 2114 (250 NS) low pwr... 7.99

2102A-2L 1.50

2102A-4L 1.20

1702A-6 4.50

1702A INTEL (not prime)4.00 4116 8/89.95

8080A $9.95

8212 2.49

8214 4.49

8224 3.49

8708 9.49

5101-1P 6.90

5101-8P 8.40

L«®

(415) 592-1 BOO P. O. Box 424 • San Carlos, California 94070

Please send for IC, Xlstor and Computer parts list

JUNE SPECIAL SALE ON PREPAID ORDERS

(chargs cardi not included on this offer)

5% OFF ON WAMECO PCBD'8 MIKOS PARTS ASSORTMENT

WITH BOARDS AND CCS COMPUTER PRODUCTS

(asm not included)

MIKOS PARTS ASSORTMENT WITH WAMECO AND CYBERCOM PCBDS

MEM-2 with MIKOS "7 16K ram

with L2114 450 NSEC $235.95

MEM-2 with MIKOS "13 16K ram

with L2114 250 NSEC $269.95

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $119.95

CPU-1 with MIKOS #2 8080A CPU $94.95

MEM-1 with MIKOS #3 250 NSEC 8K

RAM $144.95

QM-12 with MIKOS #4 13 slot mother

board $89.95

RTC-1 with MIKOS #5 real time clock $54.95

VB-1B with MIKOS #6 video board less

molex connectors $99.95

EMP-1 with MIKOS #10 4K 1702 less

EPROMS $49.95

EPM-2 with MIKOS #11 16-32K EPROMS

less EPROMS $59.95

QM-9 with MIKOS #12 9 slot mother

board $79.95

FPB-1 with MIKOS "14 all parts

for front panel $134.95

MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIME PARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIRED FOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETS INCLUDED.

VISA or MASTERCHARGE. Sand account numb*r. Interbank number, expiration date and sign your order. Appro*, postage will be added. Check or money order will be aent poet paid In U.S. It you are not a regular customer, pleaaa use) charge, cashier's check or postal money order. Otherwise there will be a two-week delay for checks to clear. 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. 110 minimum order. $1.50 eenaco charge on orders leas Mian $10.00.

260

BYTE June 1979

Circle 230 on inquiry card.

P.O. Box 4430X Santa Clara, CA 95054

RCA Cosmac Super Elf Compute

Compare features before you decide to buy any other computer. There is no other computer on the market today that has ail the desirable benefits of the Super Elf for so little money. The Super Elf is a small single board computer that does many big things. It is an excellent computer for training and for learning programming with its machine language and yet it is easily expanded with additional memory, Tiny Basic, ASCII Keyboards, video character generation, etc. The Super Elf includes a ROM monitor for program loading, editing and execution with SINGLE STEP (or program debugging which is not included in others at the same price. With SINGLE STEP you can seethe microprocessor chip operating with the unique Quest address and data bus displays before, during and after executing instructions. Also. CPU mode and instruction cycle are decoded and displayed on eight LED indicator lamps.

An RCA 1861 video graphics chip allows you to connect to your own TV with an inexpensive video modulator to do graphics and games. There is a speaker system included for writing your own music or using many music programs already written. The speaker amplifier may also be used to drive relays for control purposes. A 24 key HEX keyboard includes 16 HEX keys plus load, reset, run, wait, input, memory pro

r S106.95

tect, monitor select and single step Large, on board displays provide output and optional high and low address. There is a 44 pin standard connector tor PC cards and a 50 pin connector for the Quest Super Expansion Board. Power supply and sockets for all fC's are included in the price plus a detailed 127 pg. instruction manual which now includes over 40 pgs of software info, including a series of lessons to help get you started and a music program and graphics target game.

Remember, other computers only offer Super Elt features at additional cost or not at all. Compare before you buy. Super Ell Kit S10G.95. High address option 58.95. Low address option S9.95. Custom Cabinet with drilled and labelled plexiglass front panel S24.95. NiCad Battery Memory Saver Kil S6.95. All kits and options also come completely assembled and tested

Questdata. a 12 page monthly software publication for 1802 computer users is available by subscription for S12.00 per year.

Attention Elf Owners

New products in hardware and software coming soon.

Tiny Basic cassette S10.00. on ROM S38.00. original Elf kit board S14.95.

Super Expansion Board with

This is truly an astounding value! This board has been designed to allow you to decide how you want it optioned. The Super Expansion Board comes with 4K ol low power RAM fully addressable anywhere in 64K with built-in memory protect and a cassette interlace. Provisions have been made for all other options on the same board and it fits neatly into the hardwood cabinet alongside the Super Ell. The board includes slots lor up to 6K of EPROM (2708. 2758. 2716 or Tl 2716) and is fully socketed. EPROM can be used for the monitor and Tiny Basic or other purposes. A IK Super ROM Monitor S19.95 is available as an on board option in 2708 EPROM which has been preprogrammed with a program loader/ editor and error checking multi file cassette read/write software, (relocatible cassette file) anotherexclusivefrom Quest. It includes register save and readout, block move capability and video graphics driver with blinking cursor. Break points can be used with the register save feature to isolate program bugs quickly, then follow with single step. The Super Monitor is written with subroutines allowing users to take advantage of monitor functions simply by calling them up.

Cassette Interface $89.95

Improvements and revisions are easily done with the monitor. If you have the Super Expansion Board and Super Monitor the monitor is up and running at the push of a button. Other on board options include Parallel Input and Output Ports with lull handshake. They allow easy connection of an ASCII keyboard to the input port. RS 232 and 20 ma Current Loop for teletype or other device are on board and if you need more memory there are two S-100 slots for static RAM or video boards. A Godbout 8K RAM board is available for S135.00. Also a 1K Super Monitor version 2 with video driver for full capability display with Tiny Basic and a video interface board. Parallel I/O Ports S9.85, RS 232 $4.50, TTY 20 ma l/F S1.95, S-100 $4.50. A 50 pin connector set with ribbon cable is available at S12.50 for easy connection between the Super Elf and the Super Expansion Board. The Power Supply Kit lor the Super Expansion Board is a 5 amp supply with multiple positive and negative voltages $29.95. Add S4.00 lor shipping. Prepunched frame S5.O0. Case $10.00. Add $1.50 for shipping.

Auto Clock Kit $15.95

DC clock with 4-.50" displays. Uses National MA-1012 module with alarm option. Includes light dimmer, crystal timebase PC boards. Fully regulated, comp. instructs. Add $3.95 for beautiful dark gray case. Best value anywhere.

RCA Cosmac VIP Kit $229.00

Video computer with games and graphics. Fully assem. and test. S249.00

Not a Cheap Clock Kit $14.95

Includes everything except case. 2-PC boards. 6-.50" LED Displays. 5314 clock chip, transformer, all components and full instructions. Orange displays also avail. Same kit w/,80" displays. Red only. $21.95 Case $11.75

60 Hz Crystal Time Base Kit $4.40

Converts digital clocks from AC line frequency to crystal time base. Outstanding accuracy. Kit includes: PC board. IC. crystal, resistors, capacitors and trimmer

Digital Temperature Meter Kit

Indoor and outdoor. Switches back and forth. Beautiful. 50' LED readouts. Nothing like it available. Needs no additional parts for complete, full operation. Will measure -100 to +200 f. tenths ol a degree, air or liquid. Very accurate. S39.95

Beautiful woodgrain case w/bezel $11.75

NiCad Battery Fixer/Charger Kit

Opens shorted cells that won't hold a charge and then charges them up. all in one kit w/full parts and instructions. S7.25

PROM Eraser Will erase 25 PROMs in 15 minutes. Ultraviolet, assembled $34.50

Rockwell AIM 65 Computer

6502 based single board with full ASCII keyboard and 20 column thermal printer. 20 char, alphanumeric display, ROM monitor, fully expandable. $375.00. 4K version S450.00. 4K Assembler S85.00. 8K Basic Interpreter S100.00. Power supply assembled incase S60.00.

lyp* 012

TERMS: $5.00 mln. order U.S. Funds. Calil residents add 6% tax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards.

74 ISDN 7JI5IN 74154M 74157N 74161N 74162W 74163N 74I74N 7JI75N 74190N 74I92N 74193N 7422IN 74298N 74365N 74366N 74367N

74LS0O TTL

74LSOON 74LS02N 74LS04M 74LS05N 74LS08N 74LS10N 74LS13N 741S14N 74LS20N 74LS22N 74LS28N 74LS3CN 74LS33N 74LS3BN 74LS74N 74LS75N 74LS90N 74LS93N 741S95N 74LSI07N 7-SLS112M 74LS113K 74LSI32N 74LS136N 74LS151N 74LSIS5N 74LS157N 74LS162N 74LSI63N 74LS174N 74LS190N 741S22IN 74LS256N 7JLS367N

LINEAR

CA3045

CA3046

CA30B!

CA3062

CA3069

LM301ANAH

LM305H

LM307N

LM3QBN

LM309H

LM309K

LM311HN

LM317TK

LM3I6

LM320K-5

LM323K-5

1W320K-12

LM320K-1S

IM320T-5

LM320T-B

LM320T-12

LM320M5

LM324N

LM339N

LM340K-5

LM34QK-B

LM340K-12

LM34Q'(-1S

LM340K-24

LM340T-5

LM3407-8

LM340T.12

LM34QT-15

LM340MS

LM34QT-24

LM343H

LM350

LM370

LM377

LM2902

IM3900H

LM3905

LM3909N

MCI 458V

NE550N

NE555V

NE5S6A

NE565A

NE566V

NE567V

NE570B

NE571B

7BL05 .(

7BLP8 .1

79t05 ?

78M05 I

75108 1 ?

75491CN S

75492CN 5

75494CN S

AloD CONVERTER

80388 4.5

67U0CJ 13.9

B7Q1CN 15.9

675001 13.9

LO130 9 9

MOQCJVJT 7.4

ICL71D3 95

1CL7107 14,2

B70Z 17 9

CMOS

CO34001 Fair. .S

CO400O .li

CD4001 .2

CD4O02 2

CD.1006 1.11

CD4007 .2

CO4O08 .2

CD40O9 .3!

CD4010 3!

CO4011 .2

CD40I2 .2

CD40I3 .31

CO4014 Bl

C04015 81

CO4016 .31

CO40I7 .9'

CD401B .9'

CD4019 Z

CD1020 1 o;

CD.I021 1.01

CD4022 ,84

C04023 .2:

C04024 7i

C04025 21

CD4026 1.S1

CD4027 3(

CO4028 75

CDI023 I.Oi

C04D30 .21

CO4035 1 Ol

CO404O 102

CD4042 .71

C04043 .63

CD4044 6!

CD40-J6 1.61

CD4049 .3(

C04D5Q 3(

CD4051 I I:

C04060 1 42

CO4066 71

C04Q6S 40

CD4069 40

CD4070 .40

CO4071 ?!

C04072 .21

C04073 21

CD4075 .21

CD4Q76 t 75

0)4078 40

C04QB1 .21

CD40B2 .21

CD4116 .47

CD4490 5 50

CQ45Q7 1.00

CD450B 4.25

CO4S10 1 02

CD45H 94

C045I5 2.52

CD4516 1.10

CD4518 1.02

CO4520 1.02

CD4527 1,51

CD4S28 " 79

C04553 3 $0 C04566 CD4583

8T09 8T10 BT13 8120 8T23 BT24 8T25 8T26 8T28 8T97

2102-!

2102AL-4

21102-1

2IF02

210-1 A-4

2107B

UART/FIFO

95 AY5-1013

.95 AM-1014

.95 3341 .95

125 PROM

4.50 1702A

3.00 N82S23

5 50 N82S123

3.10 N82S126

3.50 N82S129

3 20 N82S131

1.69 NB2SI38

2,75 N82SI37

169 2708

1,69 DMB577

uh 8223

1AM 2716T1 2716 Inlel

CRYSTALS

1 MH2

2 MHz

4MHi

2gQ compact

.95

1 60 LIB 1.25

4.95 4 95

9.95 3 50

3.60

4116

2513B

MM5262

MM5280

MM5320

MM5330

PD411D-3

PD4110-4

P5101L

4200A

8ZS29

91L02A

H00165-5

MM571Q0

GIAV3B500-I

MCM6571A

9368

4100

416

CLOCKS

MM5309

MM5311

MM5312

MM5313

MM5314

MM5315

MM5316

MM531B

MM5369

MM564I

MM5B65 7.95

CT7001 5.80

CT70O2 10.95

CT70T0 8.95

CT7015 8.95

r.lM'MoAA'N 3.90

MM5375AB/N 4 90

7205 16.50

7207 7.50

7208 1595

7209 4.95 □SD026CN 3.75 [):-,OChfiCN 3.75 MM53104 250

MICROPROCESSOR 6600 17.50

6802 2495

8080A *ith data 8.95 8085 27 00

6216

8224

B228

8251

B253

8255

B257

B2S9

1B02CP pias

■—"Pplas.

5 Mlt;

I 95 is Mm

6 75 a MHi

10.95 32 MHr

6 30 327GB UHi

■ ?° I B432 MHi

3 00 3,5785 mi

9-95 2 0100 MHi

5-94 2.0JJ71!,;' Mil

fOg 2.4576 MH:

5 00 3276BMH:

13 95 5 06BBMHI

9 95 5 1B5MHI

2-90 5.7143 MH*

'•50 6 5535 MHi

69a 14.31618 MHi

*50 18 432 MHi 22 1184 MH;

MA1003 ear module .3 green lluor dtipliy

RESISTORS '. ...if :.■ tO per type 03 1000. . 25 per typo 025 350 piece pact 100 per iypfl 015 5 per lype 6 75 KEYBOARDS

55 key ASCII keyboard kit $67.50 fully assemrjled 77.50

53 key ASCII keyboard fat 60 00

FuBy assembled 70 00 Enclosure 14 95 LEDS

ReOTOIB 15

Green ttJlow toib 20

Jumbo Red 20

Greun. Orange. Yellow Jumbo 25 Cliplilt LEO Mounting Clips 85125 {specify red. amber, green, yellow clrar) CONTINENTAL SPECIALTIES In ittck Complete tine ol breadboard test equp MAX.mo B ditjrt Froq. Or. S12B.S5 OK WIRE WRAP TOOLS In sleek Portable Mulllmilet SIBOO

DIGITAL THERMOMETER »i 50

Ban oper General purpose or medcal 32 -230 f Disposable probe corer - 2 accuracy Comp. Assy in

iwilches from F toC COMPUTER BOARD KITS BK RAM Board Kit S135 DO

4K EPROM Kit 114 95

I/O Board Kit ia 50

Enender Board w/connecior 12 50

!6K EPROM board kit wo PROMS '4 50 Not* Star Floppy Utik Kit S665.00

Addilmnai Drive Kit 415 00

SPECIAL PRODUCTS MM5BG5 Stopwatch Timer

PCh

7.50

Smilchei Mom Puslibud

3 pos slide Encodar HD0165-5 6.95

3 Olgll Unlversil Cou nle r Board KH Operalcs 5-IB Voti DC Id 5 MHi typ 125 LED display 10.50

Voice acluiled switch .50

Pinlronlci 100A Logic

Model 150 Bus

S235 00

S369 01

COHNEaORS 44 pin udge 2.75 100 pin edgn 4.50 100 pin edge WW 4.75

KEYBOARD ENCODERS

« nu AYS-23 76

3 60 AY5-36D0

3 90 74C922

4.00 74C923

5 00 HD0185-5 3.6D

2 10 ic Ten Clips

TimNStKTORS

2N1893

2N2222A

2N2369

2N2904A

2N2907A

2N3053

2N3638

2N3643

2N3904

2N3906

2N3055

2N4400

2N4401

2N4402

TIP31

IIP33A

Sinclair 3': Olgll

Mulllmaler

Clock Calendar KH S23.9

TRANSFORMERS

6V 300 ma 3.2

12 Vol! 300 ma liamlormer 1 2

12,6V CT 600 Ml 3.7

12V 250 ma wall plug 2.9

S12 50 '?V CT 250 ma wall plug 3.5

13 50 24V CT 400 ma 3.9

5 en ,0v ' 2 amp wall plug 4 8

1% 12V 6 amp 12 9

6.95 DISPLAY LEDS

MAN1 CA 270 2.9

MAN3 CC 125 .3

10 MAN7274 CACA 300 I.OI

OL704 CC .300 1 25

DL707B CA .300 I 00

CAjCC .500 1.90

CWCC .600 1,95

CC .600 1.95

CC .357 .70

COCA 500 1.35

CC'CA 500 90

CDCA BOO 2.20

60

OL727,'728

DL747/750

DL750

FND359

FN0500.'507

FN0503'510

FN08OO-807

3 digit Bubble

4 digit bubble DG8 Fluorescent DG10 Fluorescent

5 digrt 14 pin display NSN59 9 digit display 7520 Clairei phulocells TIL311 He» COMPUTER 1111*1)1 CAPS

mid 200V

I u<:

2000 3200 5500 5600 6100 6100 77D0

mtd

45V

2.25 186 IP

4.50 COP1B02CD

0 Connecton RS232 25 Pm Submniatures

DB25P 2.95 8000

DB25S 3.95 1Q000

Cover 1 50 12000

RS232 Complele Sel 6 50 35000

DE9P 150 55000

DE9S 1.95 82000

OA15P 2 10 60000

OA15S 310 76000

Multi-volt Computer Power Supply

8v 5 amp. s18v .5 amp, 5v 1.5 amp, -5v .5 amp, 12v .5 amp, -12 option. ^5v. *12v areregulaled. Kit $29.95. Kit with punched frame $34.95. Woodgrain case $10.00.

Video Modulator Kit $8.95

Convert your TV set into a high quality monitor without affecting normal usage. Complete kit with full instructions.

2.5 MHz Frequency Counter Kit

Complete kit less case $37.50

30 MHz Frequency Counter Kit

Complete kit less case $47.75

Prescaler kit to 350 MHz $19.95

79 IC Update Master Manual $3500

Complete IC data selector, 2500 pg. master reference guide. Over 50,000 cross references. Free update service through 1979. Domestic postage $3.50. Foreign $5.00. 1978 IC Master closeout 819.50.

Stopwatch Kit $26.95

Full six digit battery operated. 2-5 volts. 3.2768 MHz crystal accuracy. Times to 59 mln,, 59 sec, 99 1/100 sec! Times std., split and Taylor. 7205 chip, all components minus case. Full instructions.

Hickok 3V2 Digit LCD Multimeter

Batt/AC oper. 0.1mv-1000v. 5 ranges. 0.5% accur. Resistance 6 low power ranges 0.1 ohm-20M ohm. DC curr. .01 to 100ma. Hand held, W LCD displays, auto zero, polarity, overrange. $74.95.

S-100 Computer Boards

8K Static RAM Kit Godbout $135.00

16K Static RAM Kit 265.00

24K Static RAM Kit 423.00

32K Dynamic RAM Kit 310.00

64K Dynamic RAM Kit 470.00

8K/16K Eprom Kit (less PROMS) $89.00

Video Interface Kit $139.00 Motherboard $39. Extender Board $8.99

FREE: Send for your'copy of our NEW 1979 QUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE lune 1979 281

Circle 384 on inquiry card.

nimiiiimiiiiiUHiiiniiTHiii-n

z^Bda

corp. MORE DATA PER DOLLAR J

OTRS-80 Complete System

ncludes: CPU/Keyboard, Power Supply, Video Monitor, Cassette Recorder, Manual, and Game Cassette.

QLine Printer ©Mini Disk System QC-10 Cassettes ©Verbatum Diskettes

Description

TRS-80 Complete System Levelll-4KRAM TRS-80 Complete System Level N-16KRAM Expansion Interface Pertec FD200 Disk Drive BASF 6106

Centronics 779 Printer Centronics 101 Printer Anadex DP-8000 Printer Centronics P1 Printer 560 (selectric) Printer Memory Unit (installed)

(kit) Verbatum Diskettes

Maxell Diskettes

C-10 Cassettes

ea.

3

10 ea.

3 10

5

25 12

Each

$ 628.20

$ 889.20 $ 269.10 $ 385.00 $ 495.00 $1299.00 $1400.00 $ 995.00 445.00 975.00 138.00 98.00 4.95 12.00 37.00 7.50 21.00 60.00 4.50 18.75 23.95

$ $ $ $ $ $ $ $ $ $ $ $ $

1 MEG +

OF DISK MEMORY

on line for TRS-80

$2195

Includes—Operating System (CP/M)

HUH Electronic S-100 Interface

to TRS-80

Kit $280.00 Assembled $350.00

Outlet Hours: Mon.-Fri.; 9 am.—7 pm.

Sat. 12—5 pm. Write or call for new innovations— Printers, Disks, Etc.

5B13L

C-30 Cassettes

Paper (9V2" x 11" fanfold,

3500 sheets) $ 29.95

Instruction offered in Level II Basic—$49.95; and DOS/Disk Basic—$69.95

777 Henderson Boulevard N-6 Folcroft Industrial Park Folcroft PA 19032 (215) 461-5300 In Washington, DC area: (703) 938-1099

Classroom

tmnniiimiimimiiifiiiiiiiH

r

BECKIAN ENTERPRISES

All Prime Quality — New Parts Only

Satisfaction Guaranteed

EDGE CARD CONNECTORS: GOLD PLATED. INot Gold Flashl BODY: Nlon brittle. Solvent res.. G.E. Valox. CONTACTS: Bifurcated: Phos/Bronze: Gold over Nickel. ABBREVIATIONS: S/T Solder Tail; S/E Sold. Eyelet:

W/W Wire Wrap 3: SW/W Short W/Wrap;

PART It Description

5010 50/100 S/T ALTAIR

5020 50/100 S/T IMSAI

5030 50/1 00 W/W IMSAI

5040 50/1 00 S/E ALT/IMSAI

5050 50/100 S/T CROMEMCO

1450 IMSAI CARD GUIDES

.100" Contact Center Connectors.

1020 1040 1050 1060 1065 1070 1075 1080 1085 1090 1093 1095

13/26 S/E Imsai MIO: 25/50 S/E 25/50 S/T 36/72 W/W Vector. 36/72 S/T Vector. 40/80 S/E PET 40/80 W/W PET 40/80 S/T PET 43/85 S/E Cos.ELF 43/86 S/T Cos.ELF 43/86 S/T Cos.ELF 43/86 W/W Cos.ELF

POLARIZING KEYS: For Above

.156" Contact Center Connectors.

1550 6/- S/E PET.Etc

1560 6/12 S/TPET:NSC.

1575 12/24 S/E PET

1580 12/24 S/T PET

1590 1 5/30 S/E GRI Keybd.

1620 18/36 S/E

1650 22/44 S/E KIM.VECTOR

1660 22/44 S/T KIM,VECTOR

1670 22/44 W/W KIM.VECTOR

1690 36/72 W/W

1710 36/7 2 S/E

1720 36/72 S/T

1730 43/86 S/T Mot. 6800

1740 43/86 S/T Mot. 6800

1 750 43/86 W/W Mot. 6800

POLARIZING KEYS: For Above

Row Sp.

.140 .250 .250 .140 .250

.140 .140 .140 .200 .200 .140 .200 .140 .140 .140 .200 .200

.140 .140 .140 .140 .140 .140 .140 .140 .200 .200 .140 .200 .140 .200 .200

1-4

3.75 3.95 4.10 5.00 6.25 0.16

2.10 2.95 3.00 4.80 4.00 4.80 5.00 4.90 5.00 5.10 4.95 5.50 0.10

1.30 1.35 2.15 2.10 2.25 2.40 2.20 2.00 2.40 3.90 3.50 3.30 4.40 4.35 4.45 0.10

5-9

10-24

3.50

3.30

3.75

3.50

3.90

3.70

4.50

4.25

6.00

5.75

0.14

0.12

1.85 2.75 2.80 4.60 3.75 4.50 4.65 4.60 4.75 4.85 4.70 5.20 0.10

1.10 1.15 1.95 1.90 2.05 2.20 2.00 1.80 2.20 3.75 3.30 3.10 4.15 4.10 4.25 0.10

1.75 2.50 2.60 4.30 3.50 4.30 4.35 4.25 4.50 4.60 4.45 4.90 0.10

0.90 0.95 1.75 1.70 1.85 2.00 1.80 1.70 2.00 3.50 3.10 2.90 3.90 3.85 4.10 0.10

RS232 & D- TYPE SUBMINIATURE CONNECTORS:

QUANTITY

DE9P Male DE9S Female DE110963-1 DA15P Male DA15S Female DA51211-1 DAI 10963-2 DB25P Male DB25S Female DB51212-1 DB51226-1A DB1 10963-3 DC37P Male DC37S Female DC1 10963-4 DD50P Male DD50S Female DD51216-1 DD1 10963-5 D20418 2 Hard

2pc. Grey Hood

1 pc. Grey Hood 2pc. Grey Hood

Ipc. Grey Hood 2pc. Black Hood 2pc. Grey Hood

2pc. Grey Hood

1 pc. Grey Hood 2pc. Grey Hood, ware Sets

1-4

1.45 1.93 1.20 1.95 2.80 1.25 1.22 2.20 3.20 1.30 1.40 1.35 3.70 4.90 1.95 4.40 4.90 2.30 2.40 0.75

5-9

1.35 1.80 1.10 1.80 2.60 1.15 1.10 2.10 3.00 1.20 1.30 1.25 3.50 4.70 1.85 4.30 4.70 2.10 2.20 0.70

10-24

I.C. SOCKETS. GOLD.

1.25

WIRE WRAP 3 TURN.

1.70

14 pin $0.36 ea.

1.00

16 pin 0.38 ea.

1.70

2.40

1.10

1.05

I.C. SOCKETS.

1.90

Dip Solder. Tin.

2.70

14 pin $0.15ea.

1.10

1 6 pin 0.1 7 ea.

1.20

1.15

3.35

4.40

8080 PRIME

1.75

$8.00 ea.

4.10

4.50

1.90

2.00

2708 EPROMS PRIME

0.65

$14.00 ea.

CONNECTORS FOR CENTRONICS 700 SERIES: Amhpenol 57-30360 For Back of Centronics '700' Series:

Price: $9.00ea. 5 pes. $7.50ea.

WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet. Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. .V4 5;9 10-24

$22.00 $19.00 $18.00 WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE WELCOME.

WE ARE CONNECTOR IEDGE CARD) SPECIALISTS. IF YOU DO NOT SEE WHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILL REPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders over $25.00 in USA and Canada: WE PA Y THE SHIPPING. NOTE: CA residents please add 6% sates tax.

NO COD. SHIPMENTS OR ORDERS ACCEPTED.

BORDERS TO: Beckim ^jft,,^^

P.O. Box 3089 Simi Valley, CA 93063

282

BYTE June 1979

Circle 30 on inquiry card.

computer products, inc.

11542-1 KNOTT STREET GARDEN GROVE. CALIFORNIA 92641

(714)891-2663

MICROBYTEZ80/I-O

A complete single board Z80A CPU and serial/paralle 1/0 system Fully S-100 Bus compatible, IMSAI, ALTAIR

Z80A CPU <4MSs version of the Z80)

158 instructions — superset of and upward compatible from the 6080's 78 instructions 1K (2708), 2K (2716), or 4K (2732) EPROM onboard with Z80 Monitor program On board EPROM can be hardware and/or software deselected 2MHs or 4MHs operation is switch selectable

0 or 1 wait state for all cycles is switch selectable

Full vectored interrupt capability

(7 bits) with NMI (1 bit)

2 RS-232C serial ports with 8251

USARTs

Serial baud rates switch

selectable

1 8-bit parallel port with 2 control lines with Z80A-PIO

Gold Contacts for higher reliability

Power requirements: + BV @ 800mA, +16V, @ 86mA, - 16V @ 100mA

Operating temperature 0'-55*C Will operate with or without IMSAl/ALTAIR front panel Low power shotttky trl-state buffers on all address and data lines Fully warranted for 120 days from date of shipment

$360.°

8251

PROGRAMMABLE/U-ART TESTED® 4 MHZ

$6.00 each

2708's

LOW POWER 450 NS.

$9.00 each

8for$69.00

IMSAI CONN.

100PIN-SOLDERTAIL GOLD CONTACTS

$3." each or 10/2.75 ea.

SA400

DISK DRIVE INCLUDES

CABINET, NO PWR SUPPLY

CUTOUTS FOR SWITCH,

FUSE, & INTERFACE CABLE

Mfg. By Lobo Drive $325.00

MICROBYTE 16K STATIC RAM BOARD

Fully S100 Bus Compatible, IMSAI, SOL, ALTAIR, ALPHA MICRO

Uses National's Low Power 5257 4K x 1 Static Rams 2 MHz or 4 MHz operation On board single 5 amp regulator Thermally designed heat sink (board operating temperature 0° - 70 *C)

Inputs fully low power Shottky Schmitt Trigger buffered on all address ana data lines Phantom is jumper selectable to pin 67

Each 4K bank addressable to any 4K slot with In a 64K boundary. 4K hardware or software selectable

Selectable port address 4K banks can be selected or disabled on power on clear or reset

WIN operate with or without front panel

Compatible with ALPHA MICRO, with extended memory management for selection beyond 64K No DMA restriction Low power consumption 1.3 amp Fully warranted for 120 days from date of shipment

TRS■80

FLOPPY DISK DRIVE WITH CABINET & PWR. SUPPLY COMPATIBLE WITH RADIO SHACK INTERFACE ASSEMBLED & TESTED WITH 1 YR. WARRANTY ON PARTS & LABOR Mfg. By Lobo Drive $385.00

450 NS $340.°° 300 NS $360.°°

REGULATORS

MICROBYTE 32K STATIC RAM BOARD

Fully S100 Bus Compatible, IMSAI, SOL, ALTAIR, ALPHA MICRO

Uses National's Low Power 5257 4K x 1 Static Rams 2 MHz or 4 MHz operation On board single 5 amp regulator Thermally designed heat sink (board operating temperature 0' - 70-C)

Inputs fully low power Shottky Schmitt Trigger buffered on all address and data lines Phantom is jumper selectable to pin 67

Each 4K bank addressable to any 4K slot with in a 64K boundary. 4K hardware or software selectable

One on board 8-bit output port enables or disables the 32K in 4K blocks

Selectable port address 4K banks can be selected or disabled on power on clear or reset

Will operate with or without front panel

Compatible with ALPHA MICRO, with extended memory management for selection beyond 64K No DMA restriction Low power consumption 2.3 — 2.5 amps

Fully warranted for 120 days from date of shipment

320 T-5 320T-12 340 T5 340 T-12 78 H05

1-9 10-49 .90 .85

.90 .85 .85 .80 .85 .80

50 up .75

.75 .70 .70

6.50 6.00 5.50

2716

5 VOLT ONLY LOW POWER HIGHSPEED

$45.00

Limited Qty.

MM 5257

4KX1 STATIC RAM

300 NS 450 NS

1-16

6.50 6.25

17-48

6.05 5.85

49 up

5.65 5.50

SOCKETS —LO PROFILE

(tin)

450 NS $650.°° 300 NS $680.°°

14 PIN 16 PIN 18 PIN 20 PIN 24 PIN 40 PIN

1-24

.18 .19 .24 .29 .34 .60

25-99 .17 .18 .23 .28 .33 .59

100-499

.15 .16 .20 .26 .32 .58

500 up

.13 .14 .18 .25 .30 .56

MICROBYTE DISK CONTROLLER

> IBM 3740 Soft Sectored Compatible

■ Z80 or 8080 compatible on S-100 Bus

' Single density runs both mini and full size drives, runs CPM, on Shugart, Persci, Memorex etc.

$250,

• Selectable port/address

• On bord 2708/2716 for bootstrap or monitor program

• No hardware Jumpers, uses plug in modules for different drives

• Uses 1771B-01 controller chip

• Assembled and tested

oo

CALL FOR INFO ON OUR NEW

PROM/ PROGRAMMER

PROGRAMS 2708 / 2716 / 2732

SPECIAL

.1 @ 12 VOLTS CERAMIC CAP

9$ each

100 for $8.00

SHUGART

801-Disk Drive

WITH CABINET & POWER SUPPLY

ASSEMBLED & TESTED

1 YR PARTS & LABOR

Mfg. By Lobo Drive

$585.00

MICROBYTE MOTHERBOARD

> Active Diode termination 1 Slot for IMSAI front panel i Terminal block connection for easy hook-up

• Extra wide ground plane

• Silk screen and solder mask

• Assembled and tested

9 SLOT $135.00 20 SLOT $200.00

ORDERING INFORMATION:

Name, Address, Phone

Ship by: UPS or P.P.

Shipping Charge: Add $2.50 up to 5 lbs., all excess shipping charges will be refunded. Credit

cards will be charged appropriate freight.

TERMS:

We accept cash, check, money

orders, Visa, and Master Charge

cards.

COD's: on approval only

Open Acct's: companies may

inquire for net terms. Tax: add 6% for Calif, residents only

Circle 11 on inquiry card.

BYTE June 1979

283

Circle 387 on inquiry card.

WAMECO

THE COMPLETE PC BOARD HOUSE EVERYTHING FOR THE S-100 BUSS

* FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM

Hex Displays, IMSAI Replaceable $54.95 2708 or 2176 interchangeable $30.00

* FDC-1 FLOPPY DISC CONTROLLER BOARD *QMB-9 9 SLOT MOTHER BOARD Controls up to 8 Discs $45.00 Terminated $35.00

*MEM-1A 8K BYTE 2102 RAM Board ....$31.95 *QMB-12 12 SLOT MOTHER BOARD

*MEM-2 16K BYTE 2114 RAM Board ....$31.95 Terminated $40.00

*CPU-1 8080A CPU Board * RTC REALTIME CLOCK

With Vector Interrupt $31.95 Programmable Interrupts $27.95

*EPM-1 4K BYTE 1702A EPROM $29.95

FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD, IO BOARD WITH CASSETTE INTERFACE.

DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE

AT YOUR LOCAL DEALER

wmc

iffC. WAMECO INC. 111 GLENN WAY #8, BELMONT, CA 94002 (415)592-6141

COMMERCIAL GRADE PERIPHERALS FOR THE MICROCOMPUTER

PRINTER TERMINALS

I"1 ::';; TT77] • ILL I

MODEMS

TAPE DRIVES

•ASCII SELECTRIC PRINTER/TYPEWRITER: Why settle for less than letter-quality printout from your computer? Refurbished IBM Model 725 can be used as off-line typewriter or on-line printer. Complete with solenoids, power supply, case and ASCII interface card (TTL to CPU parallel port.) Interface includes programmable ASCII translation table on EPROM with up to 8 tables for use with various type spheres. Feedback signals on completion of each print cycle insures fastest printing speed (15 cps.)

Price: programmed w/3 translation tables (one type sphere}: $695.00

•SELECTRIC I/O TERMINALS (by GTE/Information Systemsl. Both ASCII & IBM code versions with microcomputer interface software & hardware (RS232 connector.) Cassette drive models permit up to 2400 baud data transfer rate as well as off-line data storage, use as memory typewriter, & use as data entry device for office personnel familiar with Selectric typewriters but not computers. Wide-carriage, interchangeable type spheres; optional built-in modem. All units cleaned, adjusted & warranted.

Model 5541 (IBM Correspondence code) $695.00

Model 5550 (corres. code, built-in cassette drive) $1195.00

Model 5560 (ASCII code, built-in cassette drive). $1295.00

• IBM SELECTRIC 725 TYPEWRITER I/O w/solenoids switches & magnet driver PCB (from GTE/IS terminal) plus instructions for 8080 printer-driver interface hardware & software.

a) Typewriter mechanism complete, cleaned & adjusted .... $375.00

b) Case from terminal & power supply(+24V,+12V, +5V @5A). . $ 75.00

• DIABLO HYTYPE I Model 1200 PRINTER MECHANISM: used, complete and tested. Requires power supply, case & mCPU interface. 15 day return privilege - no other warranties. LIMITED QUANTITY! $750.00

—6' Ribbon cable & connector for printer Main Logic PCB $10.00

-14-pin Winchester connector & 18" power supply cable $5.00

-"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00 —New Pin-feed Platen (14"): $50 if bought w/printer; separately . . . $100.00 _———_—____^^__ NO RISK!

Full documentation included PLUS interface instructions where indicated. All equipment is shipped insured FOB Palo Alto within 14 days after check clears or COD order is received. Prices may change without notice.

• POS 103/202 "MIX or MATCH" MODEM: BELL 103 and/or BELL 202 FREQUENCIES: Unique POS control design permits use in one housing of both Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modem modules originally made by VADIC Corp. for a telephone company subsidiary. FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display, telephone line interface via acoustic coupler, manual DAA, or auto-answer DAA Isold separately.) FULLY ADJUSTED; no special tools required. 3,000 mile range over standard dial-up telephone lines.

-POS 103 MODEM (with Auto Answer, Auto Diall $199.95

1POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95

-POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) $279.95

-POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95

•POS-100 NRZ1 TAPE DRIVE CONTROLLER/FORMATTER: Designed as

interface between S-100 bus mCPU and 9-track, 800 BPI, NRZ1 tape drive.

Allows microcomputerist to read and write IBM-compatible V4" mag tapes.

Software provided for 8080 or Z-80 systems. Requires modification for drives

of various mfrs.

Price: (Includes S-100 card, controller card, 10' cable, software listing) . $750.00 •NRZ1 TAPE DRIVE by WILLARD LABS. 9-track, 800 BPI, NRZ1 format,

12"/sec., 1200 ft. reels (10 megabyte capacity) Fully tested and warranted $599.00 •CONVERT 15" IBM OFFICE SELECTRIC TO I/O TYPEWRITER: Kit

includes assembled solenoids, switches, wire harness, magnet driver PCB plus

instructions for installation and mCPU interface $200.00

• DIGITAL CASSETTE DRIVE (from GTE/IS Terminal I: 1800 baud, 6"/sec; AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25.

•FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals:

a)Model 565P for 15" Carriage IBM Selectrics (new): $50.00

bIModel K81 for QUMEor DIABLO Hytype I or II printers (new): .... $90,00 •POWER SUPPLIES for Disk Drive, mCPU, tested under load shown: -No. 519 Iw/fan & AC cord): +5V reg., +12V reg., +24V, @4A (101b.). . $29.95

-LAMBDA No. LMEE5 w/OV protect: +5V reg. @ 25A (35 lb.) $59.95

15 DAY APPROVAL ON ALL "•"" """■-"'¥■ PACIFIC OFFICE SYSTEMS, INC. M, Call or write for details, quantity prices, catalog. 15day £§[ 2600 El Camino Real, Suite'502 fil return privilege PLUS 90 day no charge replacement of ^ Palo Alto, Calif. 94306 ^f defective parts. All orders shipped from stock. No back

J^ (415)321-3866 [i orders, no substitutions. M/C & VISA accepted.

284

HYTE lune 1979

Circle 296 on inquiry card.

Circle 354 on inquiry card.

BUILD YOUR OWN LOW COST MICRO-COMPUTER

POWER SUPPLIES

FOR S-100 BUS, FLOPPY DISCS, ETC.

POWER TRANSFORMERS (with mounting brackets)

ITEM NO.

USED IN KIT NO.

PRI. WINDING TAPS

SECONDARY WINDING OUTPUTS 2x8 Vac 2x14 Vac 2x24 Vac

SIZE W x D x H

UNIT PRICE

T1 T2

I3 T4

OV, 110V, 0V, 110V, 0V, 110V, OV, 110V,

120 V 120 V 120V 120V

2x9A 2X12.5A 2x10A 2x4.5A

2x2.5A 2x3.5A 2x2.5A

2x2.5A 2x4.5A

3%"x35/B"x3Va" 3%"x43Vx31/b" 3%"x4%"x31/8" 3%"x3%"x3ya"

19.95 25.95 27.95 19.95

POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time)

ITEM USED FOR @+8 Vdc @-8Vdc @+l6Vdc @-16Vdc @+28 Vdc

SIZEWxDxH UNIT PRICE

KIT 1 18 CARDS SOURCE 18A

KIT 2 SYSTEM SOURCE 25A

KIT 3 DISC SYSTEM 18A

KIT 4 DISC SOURCE 8A

1A 1A

2.5A 3A 2A

2.5A 3A 2A

4A 8A

12"x6"x4%" 12"x6"x4%" 14"x6"x4%" 10"x6"x4%"

46.95 54.95 62.95 44.95

EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, BASE PLATE, MOUNTING PARTS AND INSTRUCTIONS.

REGULATED POWER SUPPLY "R1" assy. & tested, open frame, size: 9" (W) x 5" (D) x 5" (H) $49.95

SPECS: +5V, ±1%, @ 5A, OVERCURRENT PROTECTION, 5% ADJ. FOR +5V. +24V UNREG. @ 5A FOR PRINTERS OR DISCS. REMARK: IDEAL FOR ROCKWELL AIM-65 MICROCOMPUTER. ALSO UNREG. ~8V @ 8A ATTAINABLE FOR USE IN S-100 BUS. SHIPPING FOR EACH TRANSFORMER: $4.75. FOR EACH POWER SUPPLY: $5.00 IN CALIF. $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX. OEM WELCOME.

MAILORDER:

P.O. BOX 4296

TORRANCE, CA 90510

SUNNY INTERNATIONAL

(TRANSFORMERS MANUFACTURER) Telephone: (213) 633-8327

STORE:

7245 E. ALONDRA BLVD.

PARAMOUNT, CA 90723

STORE HOURS: 9 AM-6 PM

COMPUCOLOR II IS HERE!!

HERE IS A SURPRISINGLY AFFORDABLE COMPUTER THAT MAKES THE COMPETITION LOOK TWICE 11

STANDARD FEATURES

* 13" COLOR CRT

' SPECIAL GRAPHICS PKG.

* EXTENDED DISK BASIC 'MINI DISK DRIVE

* 8K RAM MEMORY

* 72 KEY KEYBOARD

PRICE & OPTIONS

MODEL 3- 8K USER RAM -1495.oo MODEL 4-16K USER RAM-1695.00 MODEL 5-32K USER RAM-1995.oo 2nd DISK DRIVE -400.oo

EXPANDED KEYBOARD -13 5 .00

FORMATTED DISKETTE - 5.00

MANY PROGRAMS AVAILABLE *

TO ORDER

SEND CHECK OR MONEY ORDER CALIF. RES. add 6% TAX shipping 1% all orders

HOLLYWOOD SYSTEMS

CATALOG - 50<

9100 SUNSET BLVD.

SUITE 112

LA. CALIF. 90069

Circle 174 on inquiry card.

BYTE June 1979 285

Unclassified Ads

NEW UNCLASSIFIED POLICY

Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect. To be considered for publication, an advertisement must be clearly noncommercial, typed double spaced on plain white paper, contain 75 words or less, and include complete name and address information.

These notices are free of charge and will be printed one time only on a space available basis. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of BYTE.

Please note that it may take three or four months for an ad to appear in the magazine. ■

MUST SELL: SwTPC 6800 computer system, includes 16 K programmable memory, two serial ports, PerCom Data CIS-30 plus cassette storage unit, software and manuals. $525 buys everything; shipped post paid. Don Domek, 535 Burlington, Billings MT 59101, (406) 248-3477.

FOR SALE: One SD sales expandoram set up with integrated circuits for 16 K (for 115-41); has problem. Data can be entered and retrieved but programs will not run, $200. CFI add-on memory for IBM system III, mod 6 or 10, 16 K. Working condition, with cables, $2000 or best offer. Norm Doty, 53 Kaufman Rd, Cheektowaga NY 14225, (716) 892-8829.

FOR SALE: KIM system KIM-1 Computer, Enclosures Group case, miniature 4 K wire wrap memory '?1 L02s}, TVT-6 video interface, surplus video monitor, Radio Shack ASCII keyboard, oscillator/ driver board and speaker, I/O (input/output) connector block, 5 V, 1 A supply, 5 V, 2 A +/12 V, 1 A supply. All for $450. Ron Kushnier, 3108 Addison Ct, Cornwells Heights PA 19020, (215) 757-9057.

FOR SALE: IMSAI 4 K static, $80. MITS 4 K dynamic, $50. Tarbell cassette board, $90. MITS ACR, $70. MITS disk drive with BASIC and FORTRAN, $1,300. MITS-Okidata printer with controller, $1,500. All boards fully socketed and factory checked out. Make offer. For trade: 8080 FORTRAN MITS disk version for 8080 COBOL or MITS timesharing BASIC. Manuals available. K R Roberts, 10560 Main St, Suite 515, Fairfax VA, 22030, (703) 591-6008 or 378-7266.

FOR SALE: SwTPC MF-68 minifloppy disk system, $850. CT-64 terminal with two pages memory, screen read board, etc. Also CT-VM monitor, $450. Two MP-8M memory boards, $190 each. Expandor black box printer with base, cover and case of paper, $390. Will make good price on TSC disk software to purchaser of minifloppy. All units are complete with documentation, were assembled by a professional and are 100 percent functional. John Gorman, 143 Chenault Rd, Lexington KY 40502.

FOR SALE: Digital Group Z-80 26 K, dress cabinet, 64 character TV controller, two Phi-Decks and controller, PHIMON, Business BASIC etc. Original cost over $3,000. Will sell for $1,995. William C Dewberry Jr, 314 Interbay Av, Pensacola F L 32597, (904) 456-1061.

FOR SALE: A complete computer system consisting of an Altair 8800-A with 36 K of static programmable memory, a North Star 5 inch floppy disk drive, VDM-1, 3P+S, Cherry Switch keyboard, ALS-8, Sanyo video monitor, Bytesaver, and a real time clock. Highest offer above $1700 accepted. Also, Sol motherboard computer for $500. Juan Rivera, 354 Marshall Dr, Walnut Creek CA 94598, (415) 935-3235.

FOR SALE: Used Selectric I/O (input/output) printer Model 731 in working condition, $450. TVT II board assembled with full data $50. Core memory plane 4 K by 16 bits or 8 K by 8 with interface and drive information $50. Shipping extra. Ted Becker, 317 158th St SE, Bothell WA 98011,(206) 743-1321.

WANTED: Back issues of BYTE, Interface Age, Popular Electronics, Popular Mechanics, Radio Electronics and Scientific American in good condition. Send details of holdings and price. Also, I have some duplicates of the above magazines to sell or swap. SASE would be appreciated. Michael Carter, 62B Escondido Village, Stanford CA 94305.

FOR SALE; AMD9511 arithmetic integrated circuit on S-100 card with BASIC-E. Calculate SIN (X) in 2.8 ms in BASIC. $250. G Lyons, 280 Henderson St, Jersey City NJ 07302, (201) 4512905.

WANTED: Microcomputers; TRS-80, PET, Apple; any condition and quantity. Immediate cash available or trade for DEC PDP8e, f, m. 4 K PDPSm with teletypewriter interface $1100. Portacom briefcase ASCII terminals with modems $595. K2DCY. Box 632, W Caldwell NJ 07006, (201) 226-9185.

FOR SALE: Digital Group 10 ,K Z-80 system, assembled, includes MINI-BASIC, MAXI-BASIC, Assembler II, Editor, Op-sys, and all documentation. Asking $1000. Will consider selling components separately.vAlso 8 K of 21L02 integrated circuits, 450ns; unused, $65. J E Tucker, Box 4338, APO NY 09223.

FOR SALE: Surplus pipe organ parts. Direct electric chests, keyboards, console, cable, and various ranks of pipes. Low pressure, good to excellent condition with reasonable to ridiculously low prices. Also Friden Flexowriter, Potter high speed photo tape reader, 8 level punch and reader with power supply and interface electronics. Ferranti tape spoolers, other readers. Prefer pickups. Andy LaTorre, 45 Ellis Av, Northport NY 11768, (516) 757-1913.

FOR SALE: Vista 5 1/4 inch floppy disk drive with S-100 controller and cables. Factory assembled, mint condition. Tdo small for my needs. Includes CP-M, BASIC-E compiler, VOS assembler, text editor, other utilities, plus five diskettes of software and games. Paid $750, asking $500. Also, new cabinet and power supply for above. Paid $80, asking $50. David Schwinck, 2221 SW 14th, Lincoln NE 68522.

WANT TO TRADE: Have a Kenwood KT5300 tuner and KA7300 integrated amplifier with CT-F9191 Pioneer cassette and Infinity 2000 II speakers in excellent condition. Worth $2600 new. Would like a good computer system with mini disk of similar value. Leroy A McDaniel, 916 N 4th St, McAllen TX 78501.

FOR SALE: Complete assembled and running microcomputer system. Includes 680b mother board with cabinet and power supply, 16 K static memory, 680 KCACR cassette interface, 8 K BASIC on cassette. Assembler and Editor on paper tape, SwTPC. CT-1024 terminal system complete with all options plus cabinet for keyboard, scrolling conversion kit, and fully socketed with 74LS series integrated circuits. Asking $1000 US. R Pieracci, 43 May field Rd, Regina Saskatchewan CANADA, S4V 0B7.

WANTED: Manuals fo' Wang BAS system. Also, software suitable for Wang 2200C cassette based computer. J E Thompson, POB 128, Monee IL 60449.

FOR SALE: Four 8 K memory boards for Heathkit H8IWH8-8); assembled, nested and burned in. Heathkit price, $250 each; asking $195 each or four for $750. Henry Fale, 2918 S 7th St, Sheboygan Wl 53081, (414) 452-4172.

FOR SALE; Intel SDK-85 development kit; fully assembled. 3 K programmable memory, cassette interface (software in 2708). Powermate PS 5 V/6 A. All integrated circuits socketed; contain all connectors. Packaged inside attache case. Full documentation. First money order for $375 gets it; I pay shipping. L Stroll, 211-05 85th Av, Hollis Hills NY 11427, (212) 464-7341.

FOR SALE: SwTPC M6800 with 8 K memory $300; MP-A processor board $100; AC-30 $65; 4 K memory boards $60; MSI 2708 erasable read only memory board $85; Digital Group Phi-Deck system, two drives, controller (not working), software, $250: above items fully socketed. Phillips Digital cassette drives, simple interface $125; Heathkit oscilloscope I/O (input/output) 105 15 MHz, dual trace $425; Sola constant voltage xfmer, 750 W $150. Jim Georgoulis, 504 Fort Drum Dr, Austin TX 78745, (5121 441-6568.

FOR SALE: Two MITS Altair 4 K memory boards, model 88-4MCD, assembled and in service now, no bad bits. Includes original documentation. I need the slots. Price $75 each, postpaid and insured. Money order or certified check, or allow three weeks for personal check to clear. Lewis Mosley Jr, 2576 Glendale Ct NE, Conyers GA 30208.

FOR SALE: IMSAI microcomputer with 28 K programmable memory, read only memory board, Tarbell cassette interface, poly video board, keyboard, monitor, and cassette tape recorder. All documented and working, $1300. Leo Breiman, 905 Centinela Av, Santa Monica CA 90403, (213) 828-2840 or 829-7411.

FOR SALE: Seattle Computer Products 16 Kplus static memory, $350; Tarbell Electronics floppy disk controller, $225. Both hew, factory assembled and tested units. Glenn Nelson, 205 Meadows Rd, Whitefish MT 59937, (406) 862-3854.

FOR SALE OR TRADE: S D Sates, 16 K Expandoram (has sockets for 32 K). This board will not work with DMA or any application that requires wait states. I prefer to trade for static memory. I will sell for $200 ONO. Wayne Miller, 905 Fairmount Blvd. Jefferson City MO 65101.

FOR SALE: One Processor Technology VDM-1 board kit, $130; one Processor Technology 8 K programmable memory board kit, $170. Both kits in original factory package - never opened. Best offer. Joe Haran, 607 Painters Xing, Chadds Ford PA 19317, (215) 358-3346.

FOR SALE: Assembled Cromemco D+7A analog I/O (input/output) board. Ribbon cable and edge connector included. I will include all driving and applications software I have written to date. Excellent condition, only $112. John Peterson, 1820 Camino Dr, Forest Grove OR 97116.

FOR SALE: 8 K programmable memory board, S-100, fully buffered. Memory protected, NEC2102L-450. Used over 50 hours; $129. J Grina, 1284 Fifield PI, St Paul MN 55108.

FOR SALE: Model 123P Expandor/Mite printer. Complete with case and interface electronics. Ready to plug into any 8 bit parallel port. Full documentation. $325 postpaid. A P Stumpf, Box 1603, Litchfield Park AZ 85340, (602) 935-2053.

FOR SALE: A limited number of BYTE, Volume 1 #1, in mint condition. Never been opened. Highest bids can have them while they last. Joe Haran, 607 Painters Xing, Chadds Ford PA 19317, {215)358-3346.

FOR SALE: Digital Group Z-80 26 K system, keyboard, dual Phi-Decks, printer. All working, in dress cabinets; lots of software. No reasonable offer refused. Scott Bishop, 2221 Charlotte Dr, Maitland FL 32751, (305) 869-4203.

286

June 1979 © BYTE Publications Inc

«nart Venus 2001 Video Board

)M.mM^^ ^ Assembled and Tested $259.95 • Complete Unit with 4K /

^f&^^^fm 1 °* Memory and Video Driver on Eprom assembled

^^mmlSLMM and tested $339.95

kit

OPTIONAL: • Sockets $10.00 • 2K Memory $30.00 • 4K Memory $60.00 • Video Driver Eprom $20.00 • Text Editor Eprom (Includes Video Driver $75.00)

S-100 Plug-In • Parallel Keyboard Port

On board 4K Screen Memory (Optional). On board Eprom (Optional) for Video Driver or Text Editor Software.

Up and Down Scrolling through Video Memory

Reverse Video, Blinking Characters.

Display: 128 ASCII Characters 64 X 32 or 32 X 16 Screen format (Jumper Selectable). 7 by 11 Dot Matrix Characters.

niMIllMlllMlilI(ll!llllil¥frf

American or European TV Compatible (CRT Controls Programable)

Dealer Inquires Invited

CMHID OPENING SPECIAL!

15 MHZ DUAL TRACE

Portable Scope

BIG PRICE BREAKTHRU

399.

MODEL MS-215

• Battery or A.C. Operated • External and Internal Trigger

• Time Base—.1 m Sec./Div. Into 21 Calibrated Ranges • 3% Accuracy. Input Impedence 1 M Ohms • Complete with Input Cables, Battery and Charger. OPTIONAL: • Leather Case $45.00 • 10:1 Probe $27.00 (2 for $49.00) Prices Good through 6/30/79

MS- 7 5 Single Trace Scope $299.

31/2 DIGIT DMM LCD Readout

SIZE: 1.3" H 2.7" W 4.0" D

• .5% Accuracy • AC-DC 1-1000V • Ohms 1K-10M

• Current lmA-1 Amp

• 100% Overload Protection OPTIONAL: • Leather Case $20.00

• NiCad Battery and Charger $16.00

ffll| 3.5 LED DIGI

Panel Meter

• .5% Accuracy

• Voltage Range 0-1000V m 0±

• Power:+5V 200mA OJmm

• Auto Zero • Update Rate: 3 Rdg. / Sec.

MODEL LM-350

*J399S

MODEL PM-349

ASCII Keyboard Kit $77.

Assembled and Tested $93.00 • Single +5V Supply • Full ASCII Set (Upper and Lower Case) • Parallel Output • Positive and Negetave Strobe • 2 Key Rollover • 3 User Definable Keys • P.C. Board Size: 17-3/16" X 5" • Control Characters Molded on Key Caps • Optional Provision For Serial Output OPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 • Sockets $4.00 • Upper Case Lock Switch $2.50 • Shift Register (For Serial Output) $2.00

Dealer Inquiries Invited

Apple II I/O Board Kit

Plugs into Slot of Mother Board •1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 Input Port • 15mA Output Current Sink or Source • Can be used for peripheral equipment such as printers, floppy discs, cassettes, paper tapes, etc. • 1 free software listing for SWTP PR40 or IBM selectric. PRICE: 1 Input and 1 Output Port $49.00 1 Input and 3 Output Ports $64.00 Dealer Inquiries Invited

SHIPPING $3.50 / California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

15820 Hawthorne Boulevard

Lawndale, CA 90260

(213) 370-5551

Circle 130 on inquiry card.

To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circle the appropriate numbers for the advertisers you select from the list. Ada a 15 cent stamp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Inquiry No. Page No.

Inquiry No. Page No. Inquiry No. Page No. Inquiry No. Page No.

1

Aaron Associates 205

•

Data Set Cable Co 237

207

Maxwell Data Products 105

314

2

Administrative Systems 1 50

96

DDC Publications 241

•

McGraw Hill Book Co 25

322

4

Advanced Computer Products 251

B9

Delta Products 271

215

Measurement Sys & Controls 173

323

S

American Square Computers 245

84

Digital Engineering Inc 193

216

Measurement Sys & Controls 231

•

7

Anadex 82,83

98

Digital Equipment Corp (Book Div.) 13 213

Micro Ap 169

325

1 5

Apple Computer 1 9

86

Digital Pathways 171

214

Micro Architect 245

326

10

apple tv & computing 247

95

DRC ICAI 154

217

Microcomputer Technology 147

316

11

ASAP Computer Products Inc 283

100

DRC ITX) 275

220

MicroDaSys 189

317

19

ATV Research 277

114

Eclectic (Div of Tano) 66

219

Micro Diversions 35

331

20

Avery Labels 231

115

Electrolabs 280

221

Micro Focus LTD. 1 13

318

21

Avionic Enterprises Inc 245

120

Electronic Control Technology 239

222

Micromail 72

•

22

base 2, inc. 101

125

Electronic Systems 278

204

Micro Mike's 216

319

23

Basic Time 1 75

126

Electronic Systems 279

*

Micropolis 190, 191

*

30

Beckian Enterprises 282

130

Electronics Warehouse 287

228

Micro Pro International 48

320

27

Beta Business Systems 277

132

Epoch Data Devices 247

229

Microsette 277

327

*

Bits Inc 181. 200, 21 1

133

Exidy 54, 55

*

Microsoft 195

328

33

Body Peripherals 122

134

Federal Communications Corp 123

232

Micro Software (CAD 241

34

Broadcast Computer Systems 231

135

Forethought Products 205

231

The Micro Works 206

340

31

Business Applications Software 1 63

141

GRI 11

233

Micro World 139

350

32

Buss/Charles Floto 215

142

H Geller 194

234

Miken Optical 245

351

•

BYTE Back Issues 217

143

General Scientific Corp 245

230

Mikos 280

335

36

BYTE Books 113, 125-128, 133, 199, 248

144

Gimix 247

236

Mini Computer Suppliers 220

352

37

California Computer Systems 22, 23

150

Godbout 159

255

Morrow/Thinker Toys Clll

353

39

California Digital 259

153

Go Forms 37

256

Morrow/Thinker Toys 39

358

40

Cambridge Development Labs 222

154

Gowan Industries 247

257

Mountain Hardware 226

354

45

Central Data 11 1

152

Graham Dorian 247

258

National Small Computer Show 107

357

46

Chatsworth Data 1 2

151

GRT81

281

NEECO 155

356

47

Chrislin Industries 207

159

H & E Computronics 1 54

282

NEECO 165

355

50

"Compucolor" (Div Intelligent Sys) 27

160

Hayden Book Co 212

280

Netronics 225

360

51

Compucolor [Div Intelligent Sys) 69

161

Hexagon SystBms 202

283

Newman Computer Exchange 263

363

53

CompuMax Associates 141

170

Hobby World 36, 255

285

North Star Computer 45

364

52

The Computer Cookbook 63

174

Hollywood Systems 285

284

Ohio Micro Systems 109

366

*

Computer Factory NY 276

171

Houston Instruments 29

•

onComputing 33

266

*

Computer Headwear 227

172

HUH 187

288

On Line 277

366

*

Computer Lab NJ 239

169

HUH 187

•

Oregon Software 217

368

75

Computerland 8, 9, 274

176

Independent Business Systems 213

292

Osborne & Associates 183

371

66

Computer Mart of NJ & PA 21

177

Infinite Inc 247

290

OSI CIV, 57, 89

372

67

Computer Packages Unlimited 245

173

Info 2000 151

•

Owens & Associates 203

374

77

Computer Service Center 277

178

Inmac 223

295

Pacific Exchanges 231

373

73

Computex Corp 235

180

Intecolor (Div Intelligent Sys) 65

296

Pacific Office Systems 284

380

71

Computhink 229

179

Integrand 1 89

297

PAIA 221

383

78

CT Micro Computer 58, 215, 233, 243

175

Interactive Microware Inc 241

301

Per Com Data 116, 117

382

82

Covox 218

181

Internatinal Peripheral Systems 59

305

Per Com Data 253

381

83

Creative Software 11 8

190

Ithaca Audio 281

302

Personal Software Inc 142, 143

378

87

Cromemco 1, 2

195

Jade Co 272, 273

•

Potomac Micro Magic 227

393

72

Custom Computing 247

200

Jameco 256, 257

310

Potters Programs 277

379

74

Cutting Edge of Technology 133

183

Key Supply Co 217, 231

312

Priority I 266, 267, 268

384

86

Cybernetics Inc 204

203

Leedex Corp 235

300

Processor Technology 94, 95

387

90

Cybertron 277

•

Lifeboat Associates 120, 121

307

Progrem Design Inc 209

388

88

Cygol 231

202

Mad Hatter Software 97

308

PRS 46,47

389

91

Data Discount Center 201

199

The Mail Mart 247

306

Quality Software 163

391

94

Datamation 21 4

205

Marketline Systems 221

311

Quest Electronics 281

392

93

DataSearch 192

206

Marinchip Systems 103

313

RACET Computes 1 92

400 401

Radio Shack Authorized Sales Center 277

RCA 85

Realty Software 67

The Recreational Programmer 245

RNB233

RNB 243

S-100lnc 203

Sara Tech Computers 210

S C Digital 237

Scelbi Computer Consulting Inc 219

Scientific Research 115

Michael Shrayor Software 185

Shugart 6, 7

Sierra Cybernetic Systems 215

Ed Smith's Software Works 194

Smoke Signal Broadcasting 73

Software Development & Training 21 5

Solid State Sales 265

Southwest Technical Products Corp Cll

Speakeasy Software 131

SSM 77

Stirling/Bekdorf 1 24

Structured Systems Group 5

Sunflex Co Inc 245

Sunny International 2B5

SuperSoft 202

Sybex Inc 1 57

Synchro Sound 43

Tarbell Electronics 1 35

Technical Systems Consultants 1 37

Technology Systems South 237

Terrapin 235

Texas Instruments 31

Texas Instruments 1 79

3/M Company 91

Tora Systems Limited 231

Trans Data 204

TRS-80 Software Exchange 197

TSA Software 241

Ucatan 245

US Brokers Co (Div. CM Corp) 247

US Robotics 11 9

Vector Electronics 51

Vista 201

Vista 161

V M Professional Application Software 277

VR Data 282

Wameco 284

Western Digital Corp 32

Wintek 231

Worldwide Electronics 231

XComp 217

Xitex 239

Zg Systems 247

*Correspond directly with Company

GOMG

BYTE's Ongoing Mcnilcp 6ox

Article No.

ARTICLE

1 Albus: A Model of the Brain for Robot Control

2 Allen: Simple Maze Traversal Algorithms

3 Ciarcia: Mind Over Matter

4 Watson: More Colors for Your Apple

5 Dawes: A Home for Your Computer

6 Gupton: Talk to a Turtle

7 Stanfield: My Computer Runs Mazes

8 Johnston: Computer Generated Maps

9 Powers: The Nature of Robots

10 Melton: The 1802 Op Codes

11 Reid-Green: History of Computing: The IBM 7070

12 Kiehn: Artificial Intelligence and Entropy

13 Ruckdeschel: BASIC Text Editor

14 Halsema: Bubble Memories

15 Radhakrishnan, Bhat: Stacks in Microprocessors

16 Van den Bout: Designing a Command Language

17 Linker: Timesharing: Squeezing the Most from Your Micro

18 Honess: Three Types of Pseudorandom Sequences

PAGE

10

36

49

60

70

74

86

100

132

146

148

152

156

166

168

176

228

234

March BOMB Results

In the voting for the March 1979 BYTE, first prize and a $100 bonus check go to Ira Rampil for his article, "Preview of the Z-8000." Two articles shared second place, and will receive bonus checks of $50 each. These were the third installment of Joel Boney and Terry Ritter's article on the design and implementation of the Motorola 6809 processor, "A Microprocessor for the Revolution," and the second part of Andrew Filo's article, "Designing a Robot from Nature." Remember, it is your votes which determine whether an author will receive this bonus each month, so be sure to send in the BOMB evaluations."

288 June 1979 © BYTE Publications Inc

DOUBLE DENSITY

WWIIIIUUUUHU

u:

c

Now you can put your S-100 system solidly into a full-size, single/double density, 600K bytes/side disk memory for just $1149 complete.

DISCUS/2D™ single/double density disk memory from Thinker Toys™ is fully equipped, fully assembled, and fully guaranteed to perform perfectly.

DISCUS/2D™ is a second generation disk memory system that's compatible with the new IBM System 34 format. The disk drive is a full-size Shugart 800R, the standard of reliability and performance in disk drives. It's delivered in a handsome cabinet with built-in power supply.

The S-100 controller utilizes the amazing Western Digital 1791 dual-density controller chip ... plus power-on jump circuitry, 1Kof RAM, 1Kof ROM with built-in monitor, and a hardware UART to make I/O interfacing a snap.

The DISCUS/2D™ system is fully integrated with innovations by designer/inventor George Morrow. Software includes BASIC-V™ virtual disk BASIC, Circle 255 on inquiry card.

DOS, and DISK-ATE™ assembler/editor. Patches for CF/M* are also included. CP/Mt Microsoft Disk BASIC and FORTRAN are also available at extra cost.

DISCUS/2D™ is the really solid single/double density disk system you've been waiting for. We can deliver it now for just $1149. And for just $795 apiece, you can add up to 3 additional Shugart drives to your system. Both the hardware and software are ready when vou are.

Ask your local computer store to order the DISCUS/2D™ for you. Or, if unavailable locally, write Thinker Toys,™ 5221 Central Ave., Richmond, CA 94804. Or call (415) 524-2101 weekdays, 10-5 Pacific Time. (FOB Berkeley. Cal. res. add tax.)

*CP/M is a trademark of Digital Research.

f f jMorrow makes disk memory for

Thinker Toys

"See us in booths 98 and 99 at the NCC

OHIO SCIENTIFIC! DOES IT AGAMl

Ohio Scientific has taken its standard C3 com puter and married itto the new Shugart 29 Megabyte Winchester Drive. The result is the C3-C. This new microcomputer now fills the vacuum that existed for computer users who need more mass storage capability than floppies can offer - yet until now, could not justify the additional cost of a larger capacity hard disk computer such as our C3-B 74 Megabyte disk system.

Winchester Technology

Winchester hard disk drives offer small business and professional computer users the logical solution to mass storage problems that are beyond the capability of floppy disks. In addition, Winchester disksfeatureatrackseektime that is much better 1 thanfloppiesand because 1 theyspin at eight times the ' rate of floppies, Winchesters have a shorter latency. Both of these points reflect one remarkable speed I advantage Winchester disks ■ have over floppies.

Coupled to the C3 Computer 1

Ohio Scientific's award win- 1 ning C3 computer is a classic. ' It is the only computer series that utilizes the three most popular microprocessors — 6502A, 68B00 and Z-80. This tremendous processor versatility enables one to utilize a seemingly endless selection of quality programs available from Ohio Scientific's software library as well asfrommanyinde pendent suppliers.

And Advanced Software

For instance, there are single user, 1 multi-user and network operating I systems. A complete turnkey small ' business package, OS-AMCAP provides accounts receivable, accounts payable, disbursements, cash receipts, general ledger, etc. OS-CP/M offers a complete FORTRAN and COBOL package. And there is WP-2, a complete word processing system. For information management, OS-DMS, features an advanced file handling system and program library that simplifies informa tion storage and recall and routinely performs tasks which usually require special programming on other systems.

Yields the Microcomputer of the Future

With an eye toward the future, the C3-C, like all other C3'swasdesigned with provisions for future generation 16 bit microprocessors via plug-in options. There are ten open slots for lots of I/O and multi-user operation. Truly, the Ohio Scientific C3-C is a computer with a future.

The new C3-C computer with 29 Megabyte Winchester Hard Disk.

$9340 with 48K static RAM and OS-65U operating system

600K byte Dual 8"floppys

Easy to configure and service. Rack slide mounting on all subassemblies.. 10 open slots for expansion.

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

Shugart SA-4008 29 Megabyte Winchester Disk (23 Megabytes of formatted user space under OS-65U).

OEM pricing available

Circle 290 on inquiry card.