Byte Magazine Volume 02 Number 07 - Model Railroads

This book was produced in EPUB format by the Internet Archive.

The book pages were scanned and converted to EPUB format automatically. This process relies on optical character recognition, and is somewhat susceptible to errors. The book may not offer the correct reading sequence, and there may be weird characters, non-words, and incorrect guesses at structure. Some page numbers and headers or footers may remain from the scanned page. The process which identifies images might have found stray marks on the page which are not actually images from the book. The hidden page numbering which may be available to your ereader corresponds to the numbered pages in the print edition, but is not an exact match; page numbers will increment at the same rate as the corresponding print edition, but we may have started numbering before the print book's visible page numbers. The Internet Archive is working to improve the scanning process and resulting books, but in the meantime, we hope that this book will be useful to you.

The Internet Archive was founded in 1996 to build an Internet library and to promote universal access to all knowledge. The Archive's purposes include offering permanent access for researchers, historians, scholars, people with disabilities, and the general public to historical collections that exist in digital format. The Internet Archive includes texts, audio, moving images, and software as well as archived web pages, and provides specialized services for information access for the blind and other persons with disabilities.

Created with abbyy2epub (v.1.7.0)

w*

\

The 9-inch screen of the CT-VM monitor ($175) shown here with Southwest's newCT-64 illustrates the terminal's 64-character lines, switchable controlcharacter printing, and word highlighting. At just $500 for both, these matching units provide a complete CRT terminal with full cursor control, 110-1200 Baudserial interface, and many other features.

Now $325 buys a 64-character terminal kit

Our new CT-64 terminal kit gives you scrolling, fullcursor control, 128-character ASCII display (with bothupper and lower case), and two 1K memory pages. It'susable with any 8-bit computer.

Add our optional fully assembled 12 MHz CT-VMmonitor for another $175 and you'll have the best CRTterminal buy offered anywhere.

The CT-64 gives you full cursor control, home-up anderase, erase to end of line or end of frame, cursor on /off,screen reversal, scroll or page, solid or blinking cursor,page selection, and end-of-page warning beeper.

The CT-64's features include:

64 or 32 characters per line (16 lines)

Premium display with both upper and lower case

letters, and descenders (g, j, etc.)

Two 1K pages of 8-bit memory

Scrolling or page mode operation

32 control character decoding

Prints control characters (selectable)

128-character ASCII set

110 /220 Volt 50-60 Hz power supply

Highlights words with reversed background

Optional 9-inch monitor with matching cover available

Complete with keyboard, power supply, 110-1200

Baud serial interface, and case

Okay, Southwest, I know a bargain when I see it.

□ Enclosed is $500 for the whole works(CT-64 terminal plus 12 MHz CT-VM monitor).

□ Here's $325 for the CT-64.D Send only data for now.

□ Send me your $395 MP-68 computer kit.

D orBAC#□ orMC# .Name

_Exp. Date_Exp. Date

City.

. Address. State

.ZIP.

-EI

5a

Southwest Technical Products Corp.

219 W. Rhapsody, San Antonio, Texas 78216Circle 1 on inquiry card.

Meet the most powerful/xC system available for dedicated work.

Yet it's only $595:

Here's the muscle you've been telling us you wanted:a powerful Cromemco microcomputer in a style and pricerange ideal for your dedicated computer jobs—ideal forindustrial, business, instrumentation and similar applica-tions.

It's the new Cromemco Z-2 Computer System. Here'ssome of what you get in the Z-2 for only $595:

• The industry's fastest juP board (Cromemco's highlyregarded 4 MHz, 250-nanosecond cycle time board).

• The power and convenience of the well-known Z-80liP.

• A power supply you won't believe ( + 8V @ 30A,+ 18V and —18V @ 15A — ample power for addi-tional peripherals such as floppy disk drives).

• A full-length shielded motherboard with 21 card slots.

• Power-on-jump circuitry to begin automatic programexecution when power is turned on.

• S-100 bus.

• Standard rack-mount style construction.

• All-metal chassis and dust case.

• 110-or 220-volt operation.

DEDICATED APPLICATIONS

The new Z-2 is specifically designed as a powerful buteconomical dedicated computer for systems work. Noticethat the front panel is entirely free of controls or switchesof any kind. That makes the Z-2 vir-tually tamper-proof. No accidentalprogram changes or surprise mem-ory erasures.

FASTEST, MOSTPOWERFUL MC

Cromemco's microcom-puters are the fastest andmost powerful available.They use the Z-80 mi-croprocessor which is

widely regarded as the standard of the future. So you'rein the technical fore with the Z-2.

BROAD SOFTWARE/PERIPHERALS SUPPORT

Since the Z-2 uses the Z-80, your present 8080 soft-ware can be used with the Z-2. Also, Cromemco offersbroad software support including a monitor, assembler,and a BASIC interpreter.

The Z-2 uses the S-100 bus which is supported by theperipherals of dozens of manufacturers. Naturally, allCromemco peripherals such as our 7-channel A/D andD/A converter, our well-known BYTESAVER with itsbuilt-in PROM programmer, our color graphics interface,etc., will also plug into the S-100 bus.

LOW, LOW PRICE

You'll be impressed with the Z-2's low price, technicalexcellence and quality. So see it right away at yourcomputer store—or order directly from the factory.

Z-2 COMPUTER SYSTEM KIT (MODEL Z-2K) (includes4 MHz /xP card, full-length 21-card-slot motherboard,power supply, one card socket and card-guide set, andfront panel; for rack mounting) $595.

Z-2 COMPUTER SYSTEM ASSEMBLED (MODEL Z-2W)(includes the above as well as all 21 sockets and cardguides and a cooling fan; for rack mounting).. .$995.

TV DAZZLER

To makeyour computer

more useful-

i

a

a wide choice ofmemory, I/O, CPU

Your computer's usefulness de-pends on the capability of its CPU,memories, and I/O interfaces, right?

So here's a broad line of trulyuseful computer products that letsyou do interesting things with yourCromemco Z-1 and Z-2 computers.And with your S-100-compatible Al-tairs and IMSAIs, too.

CPU

• Z-80 MICROPROCESSOR CARD.The most advanced p.P card avail-able. Forms the heart of our Z-1and Z-2 systems. Also a direct re-placement for Altair/IMSAI CPUs.Has 4-MHz clock rate and the powerof the Z-80 fiP chip. Kit (Model ZPU-K): $295. Assembled (Model ZPU-W): $395.

MEMORIES

• 16K RAM. The fastest available.Also has bank-select feature. Kit(Model 16KZ-K): $495. Assembled(Model 16KZ-W): $795.

• 4K RAM. Bank-select allows ex-pansion to 8 banks of 64K byteseach. Kit (Model 4KZ-K): $195. As-sembled (Mode! 4KZ-W): $295.

• THE BYTESAVER —an 8K capa-city PROM card with integral pro-

grammer. Uses high-speed 2708 eras-able PROMs. A must for all com-puters. Will load 8K BASIC into RAMin less than a second. Kit (ModelBSK-0): $145. Assembled (ModelBSW-0): $245.

• 16K CAPACITY PROM CARD. Ca-pacity for up to 16K of high-speed2708 erasable PROM. Kit (Model16KPR-K): $145. Assembled (Model16KPR-W):$245.

I/O INTERFACES

• FAST 7-CHANNEL DIGITAL-ANALOG I/O. Extremely usefulboard with 7 A/D channels and 7D/A channels. Also one 8-bit par-allel I/O channel. Kit (Model D +7A-K): $145. Assembled (Model D+ 7A-W): $245.

• TV DAZZLER. Color graphics in-terface. Lets you use color TV as full-color graphics terminal. Kit (ModelCGI-K): $215. Assembled (ModelCGI-W): $350.

• DIGITAL INTERFACE (OUR NEWTU-ART). Interfaces with teletype,CRT terminals, line printers, etc. Hasnot one but two serial I/O ports andtwo 8-bit parallel I/O ports as wellas 10 on-board interval timers. Kit

(Model TRT-K): $195. Assembled(Model TRT-W): $295.• JOYSTICK. A console that letsyou input physical position data withabove Model D + 7 A/D card. Forgames, process control, etc. Con-tains speaker for sound effects. Kit(Model JS-1-K): $65. Assembled(Model JS-1-W): $95.

PROFESSIONAL QUALITY

You get first-class quality withCromemco.

Here are actual quotes from ar-ticles by independent experts: "TheCromemco boards are absolutelybeautiful" . . . "The BYTESAVER istremendous" . . . "Construction ofCromemco I/O and joystick are out-standing" . . . "Cromemco periph-erals ran with no trouble whatso-ever."

Everyone agrees. Cromemco istops.

STORES/MAIL

So count on Cromemco. Lookinto these Cromemco products atyour store. Or order by mail fromthe factory.

We wish you pleasure and suc-cess with your computer.

rj| Cromemco

incorporatedSpecialists in computers and peripherals2432 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415)964-7400

Circle 2 on inquiry card.

In the Queue

JULY 1977Volume 2

BITE

Number 7

12

36

52

64

92

118

122

126

424472788296

4

Foreground

HOW TO COMPUTERIZE YOUR MODEL RAILROAD

Applications—BrownTHIS CIRCUIT MULTIPLIES

Arithmetic Hardware—HallTHE TV OSCILLOSCOPE

Hardware—BarbierSPEECH RECOGNITION FOR A PERSONAL COMPUTER SYSTEM

Peripherals—BoddieA MACHINE CODE RELOCATOR FOR THE 8080

Software—Zol manHOW FAR-WHICH WAY?

Applications—PittetADD CURSOR CONTROL TO YOUR TVTII

Hardware—McGaheeGIVING KIM SOME FANCY JEWELS

Hardware—Grater

Background

CONDENSED REFERENCE CHART FOR THE 6800

Reference Materials—BorrmannATRAIN CONTROL DISPLAY USING THE LSI-11 MICROCOMPUTER

Applications—Hart-BadgerHOW TO PICK UP A DROPPED BIT

Error Theory—MaurerGIVE YOUR MICRO A MEGABYTE

System Design—GrappelAN INTRODUCTION TO NUMBERS

Software—SimmonsBASICally BASIC

Software—Baker

Nucleus

124

Classified Ads

128

PAPERBYTES Forum

142,

166

Programming Quickies

151

Book Reviews

155,

158

BYTE's Bits

156

PAPERBYTES: Floppy DiskObject Code

160

Clubs, Newsletters

176

BOMB

176

Reader Service

In This BYTE6 This Elephant Never Forgets

10 Letters

25 West Coast Computer Faire

32, 115, 129 What's New?34, 150 Technical Forum

41 Ask BYTE

57 BYTE's Bugs

90 Desk Top Wonders: Jeu de

NIM, Peutttre?

Cover: COMPUTER ENGINEERING by Robert Tinney

BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address all mail except subscrip-tions to above address; phone (603) 924-7217. Address all editorial correspondence to the editor at the above address.Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manu-scripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change ofaddress. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 361, Arlington MA 02174; phone (617)646-4329.

Second class postage paid at Peterborough NH 03458 and at additional mailing offices-USPS Publication No. 102410.Subscriptions are $12 for one year, $22 for two years, and $32 for three years in the USA and its possessions. Add $5.50 peryear for subscriptions to Canada and Mexico. $25 for a one year subscription by surface mail worldwide. Air delivery to select-ed areas at additional rates available upon request. $25 for a one year subscription by air delivery to Europe, or DM 60,— for aone year subscription through our European distributor in Darmstadt.

Single copy price is $1.50 in the USA and its possessions, $2 in Canada and Mexico, and $3 eleswhere, or DM 7,— through ourEuropean distributor in Darmstadt.

Foreign subscriptions and sales should be remitted in United States funds. Printed in United States of America. Entire con-tents copyright © 1977 by BYTE Publications Inc. All rights reserved.

PUBLISHERS

Virginia Peschke

Manfred Peschke

EDITOR IN CHIEF

Carl T Helmers Jr

PRODUCTION MANAGER

Judith Havey

CIRCULATION MANAGER

Gregory Spitzfaden

ASSISTANT PUBLISHER

Debra Boudrieau

EDITOR

Christopher P Morgan

CO-OP EDITOR

Raymond Cote

PRODUCTION EDITORS

Karen Gregory

Nancy Salmon

EDITORIAL ASSISTANT

Ingrid Nyland

PRODUCTION ASSISTANT

Cheryl Hurd

ADVERTISING ASSISTANT

Noreen Bardsley

SUBSCRIPTIONS

Kimberly Barbour

DEALER SALES

Ginnie F Boudrieau

ADVERTISING

Elizabeth Alpaugh

Debra Boudrieau

Virginia Peschke

CLUBS, PAPERBYTES

Peter Travisano

TRAFFIC MANAGER

Edmond C Kelly Jr

ART

Mary Jane Frohlich

Wai Chiu Li

Ellen Shamonski-Bingham

SPECIAL PRODUCTS

Medellin Stephens

Floyd Rehling

EXECUTIVE SECRETARY

Patricia Clark

RECEPTIONIST

Jacqueline Earnshaw

DRAFTING

Lynn Malo

Bill Morello

Stephen Kruse

TYPOGRAPHY

Custom Marketing Resources Inc

Goodway Graphics

PHOTOGRAPHY

Ed Crabtree

EDITORIAL CONSULTANT

Daniel Fylstra

ASSOCIATES

Walter Banks

Steve Ciarcia

David Fylstra

Portia Isaacson

FOREIGN DISTRIBUTOR

Pan Atlantic Computer Systems GmbH

Frankfurter Str 78

D61 Darmstadt, West Germany

(0 61 51) 29 29 23

STATION3

In This EUI

Model railroading can give the com-puter hobbyist an action packed com-puter application. Before tackling thejob, however, it is important to have afirm understanding of what's involvedin the design of a model railroad. Inhis article, How to Computerize YourModel Railroad, David C Brown ex-plains in detail the problems faced bythe model railroader and points toways in which they can be solved. Hethen goes on to cover the requirementsfor microprocessor interfaces to themodel railroad and some thoughts onthe software of an operating system togive realism to the model.

Sometimes a small amount of hard-ware can speed up software con-siderably. A perfect example is pro-vided by Tom Hall in his article whichshows how This Circuit Multiplies.This circuit is a hardware multiplierwhich takes 8 bit operands and replies(ten clock periods later) with a 16 bitproduct. Here is an example of puttingan inner loop into hardware, therebyspeeding up an operation.

The model railroad is an ideal wayfor the personal computing enthusiastto enter the fascinating world of realtime control: such a system is realisticbut manageable. Authors Jack Hartand Ed Badger show you how they didit in A Train Control Display Using theLSI-11 Microcomputer.

page 44

Sometimes a bit of serendipity fallsout of an application or project. KenBarbier describes one such case in theform of his technique of using atelevision display circuit's ability togenerate a raster with various syn-chronous patterns to debug and verifyits operation. Read The TVOscilloscope.

There are many ways to make acomputer talk, but how do you get itto listen? Speech Recognition for aPersonal Computer System discussesa topic which has fascinated andfrustrated experimenters for years.Author James Boddie of Bell Labs (thepioneer researchers in the field) coversthe history of the subject and presentsa practical system which can be realizedby a personal computing experimenter.

Real world systems may not beperfect, yet programming demandsperfection. (If we drop a bit in onemachine instruction, it becomes an-other instruction altogether.) As abackground discussion of a large sub-ject, W Douglas Maurer presents someinformation on How to Pick up aDropped Bit using some of the tech-niques of error detection and cor-rection.

What's a sure cure for memorymegalomania? Why, Give Your Microa Megabyte as outlined in RobertGrappel's short tutorial on some largememory design techniques which willprove adaptable to microcomputersystems. There should be virtuallyno reason to complain if his ideas wereput into practice more universally.

An Introduction to Numbers, byWebb Simmons, serves as an introduc-tion to the concepts of fixed, scaledand floating point numbers. Hereyou'll find some basic forms foreach type, how the forms differ fromeach other, and how each can be used.

If you've ever been frustrated bythe drudgery involved in relocatingmachine language programs with noth-ing but toggle switches, then LeorZolman's A Machine Code Relocatorfor the 8080 is for you! Just enter sixkey pieces of information and theprogram does the rest automatically,even fixing up all your addressreferences.

For beginners first learning aboutcomputers, we often get requests forsome basic information. In BASICallyBASIC, Robert Baker gives an in-formal introduction to the nature ofthe BASIC language and its uses inprogramming. Finding out what atypical BASIC can do is a goodstarting point in your personal evalua-tion of products available in the per-sonal computing marketplace.

Given latitude and longitude of twopoints on the earth, how do youcalculate the distance and bearing? Ifyou use a little BASIC program byRene Pittet, you can answer the ques-tion of How Far — Which Way? using asmall processor.

If you have a Southwest TechnicalProducts' TVT II, there is a simplecircuit that you can add that will giveyou manual and computer controlover the cursor's movement, erase andbell functions. In his article, AddCursor Control to Your TVT II,Brother Thomas McGahee describesthis simple circuit which can beattached to a TVT II.

Poor KIM. If one puts KIM-1 insidea fancy case, the built-in jewels of key-board and displays get hidden. ButRobert Grater comes to the rescue byGiving KIM Some Fancy Jewels, whichconsist of a remote set of displaysconnected to the processor by cable.

POWER.

IMSA1 Introduces the Megabyte Micro™

The Megabyte Memory

Until today, the largest memory you couldfit and address in a single microcomputerCPU was 65K.

Now, IMSA1 presents an incrediblememory system for micros 16 limes morepowerful than yesterday's best.

Imagine, a full megabyte of power fromsixteen 65K RAM boards.

And, to control all this, the IMSA1Intelligent Memory Manager (IMM), thesuper control board.

You can write protect blocks through-out the full megabyte. Or, map in 16K blocks.

Plus, preset 16 mapping configurationswith protect for high speed transfer or rapidchange.

All interrupts are fully vectored, andthere's an interrupt if an attempt is made towrite into protected memory.

There's even a real "time of day" clock.

65K,32Kandl6KRAMBoards

Until today, the most memory you couldplug into a single slot was 16K.

Now, IMSAI presents memory boardsin astonishing multiples of sixteen: 65K,32K and I6K low power, dynamic RAMBoards. They can be used in any S-100 buscomputer individually or in combinationto form conventional systems up to 65Kbytes.

Every board is fast. With "hiddenrefresh" and no "wait state."

The Complete MegabyteMicrocomputer System

The IMSAI Megabyte Micro™ is only partof the story. The full system can includedual floppy disks, terminals, plotters,printers and tape cassettes.

IMSAI also offers the finest high leveland peripheral software available. Papertape and Tape Cassette I/O and super DiskOperating Systems. Plus, BASIC and DiskBASIC with more high level languagescoming.

Until today, the microcomputer'spotential was just something you talkedabout.

Now, you can put it to work. Powerfully.

Circle 3 on inquiry card.

GENTLEMEN:

I'm power hungry!

□ Send 65K RAM Board Kit $2599 □ Assembled $3899

□ Send 32K RAM Board Kil $749 [] Assembled $ 1099

□ Send I6K RAM Board Kil $449 Q Assembled $679

□ Send IMM ROM Control Kit $299 □ Assembled $399

□ Send IMM EROM Control Kit $499 fj Assembled $699

□ Send full catalog $1.00

Check/MO enclosed. Amt. $

Charge my: □ BAC [J M /C

# Exp. Date:

Sig

Q Send name of my nearest IMSAI dealer

Name

Company _

Address^

City

State/Zip _

®

IMSAI Manufacturing Corporation

14860 Wicks Blvd.

San Leandro, CA 94577

(415) 483-2093 TWX 910-366-7287

Editorial

* •

•■ w

#■ *

This Elephant Never Forgets

By Carl Helmers

In a press release dated March 9 1977,Texas Instruments Inc made it official:a commercial bubble memory product isnow available for general use, initially insample quantities priced at $200 per chip.The device is the TBM0103, a single chip92,304 bit storage element composedfunctionally of 144 shift registers with641 bits per register. (Internally, accordingto Tl, there are 157 registers, but the largesize of the chip carries with it the attendantprobabilities of defects, so discretionarymanufacturing steps are used to connect144 good registers per package.) The devicehas a complicated mechanical structurewhich includes two permanent magnetbias field elements, two orthogonal coilswhich modulate the bias field to producea net rotating magnetic field in the garnetfilm bubble chip, and, of course, a magneticshield to isolate the chip from external straymagnetic fields. The dynamic data character-istics of the chip are a bit transfer rate of50,000 bits per second and an access timeof 4 ms setup prior to transferring a 144 bitword of data into or out of the device.Conceptually, figure 1 illustrates what oneof these memories looks like to a designer orprogrammer. This figure was constructedbased on the limited information aboutoverall characteristics in the press release.The procedure for writing a 144 bit word

Continued on page 586

BUY YOURCOMPUCOLOR8001

FROM THESEDEALERS.

ARIZONA

Phoenix:

Phoenix Bylc Shop West12654 N. 28th Dr.

(602) 942-7300

Tempe:

Tempe Byte Shop East813 N. Scottsdale Rd.

(602)894-1129

Tucson:

Byte Shop of Tucson2612 E.Broadway

(602)327-4579

CALIFORNIA

Lawndale:

Byte Shop of Lawndale16508 Hawthorne Blvd.

(213)371-2421

Orange:

Computer Mart of Los Angeles625 W. Kalella. No. 10

(714)633-1222

San Diego:

The Computer Center8205 Ronton Rd.

(714)292-5302

San Francisco:

The Computer Store1093 Mission St.

(415)431-0640

San Jose:

Amco Electronics414 S. Bascom Ave.

(408) 998-2828

San Jose:

Byte Shop

155 Blossom Hill Rd.

(408) 226-8383

Van Nuys:

Computer Components5848 Scpulvcda Blvd.

(213)786-7411

CONNECTICUT

Windsor Locks:

The Computer Store63 S. Main St.

(203)627-0188

FLORIDA

Coral Gables:

Sunny Computer Stores1238A S.Dixie Hwy.

(305)661-6042

Tampa:

Microcomputer Systems144 S. Dale Mabry Hwy.

(813)879-4301

GEORGIA

Atlanta:

Atlanta Computer Man5091-BBufordHwy.

(404) 455-0647

HAWAII

Honolulu:

Compact ComputersP.O. Box 10096

(808)373-2751

ILLINOIS

Champaign:

1 he Numbers Racket518 E. Green St.

(217)352-5435

Evanston:

Itty Bitty Machine1316 Chicago Ave.

(312)328-6800

Park Ridge:

Chicago Computer Store157TalcottRd..Hwy.62

(312)823-2388

INDIANA

Indianapolis:

Home Computer Shop10447 Chris Dr.

(317)894-3319

MARYLAND

Rockville:

Computer Workshop. Inc.5709 Frederick Ave.

(301)468-0455

MASSACHUSETTS

Burlington:

'Hie Computer Store120 Cambridge St.

(617)272-8770

MICHIGAN

Troy:

General Computer Company2017 Livernois

(313)362-0022

MINNESOTA

Minneapolis:

Cost Reduction Services3142 Hennepin Ave. So.

(612)822-2119

MISSOURI

Kansas City:

Computer Workshop of Kansas City6903 Blair Rd.

(816)741-5055

NEW JERSEY

Iselin:

"The Computer Mart501 Route 27

(201)283-0600

NEW YORK

East Meadow:

"The Computer Mart of Long Island2070 Front St.

(516)794-0510

New York:

The Computer Mart314 5th Ave.

(212)279-1048

OHIO

Columbus:

Computervision894 W. Broad St.

(614)228-2477

SOUTH CAROLINA

Columbia:

Byte Shop2018 Greene St.

(803)771-7824

TEXAS

Houston:

Communications Center7231 Fondren

(713)774-9526

Richardson:

The Micro Store

634 S. Central Expressway

(214)231-1096

WASHINGTON

Seattle:

Retail Computer Store410 NE 72nd St.

(206)524-4101

WISCONSIN

Beloit:

Austin Computers1835 Northgate

(608) 365-6096

Watertown:

General Precision Electronics207 Rhine St.

(414)261-8148

Compucolor Corporation

NOW $2750.AMERICA'S LOWEST-PRICEDPERSONAL COMPUTER SYSTEMWITH COLOR VECTOR GRAPHICS.

By taking advantage of thenew technologies available tothe industry today, we've con-sistently been able to give youone of the best prices on themarket. Now because of greatresponse, we can give you thebest price. You can now buythe Compucolor 8001 for thereduced price of $2750. A com-plete stand-alone system withexpanded graphics softwarefor plotting points, vectors andbargraphs on a 160 x 192addressable grid—in color.Eight independent backgroundand foreground colors.

The Compucolor 8001 hasan Intel 8080 CPU, 34 I/Oports and a color display withan effective band width of 75MHZ compared to 5 MHZ forstandard TV sets. In fact theCompucolor is the only totallyintegrated system on the mar-ket which includes a colordisplay. You can also have spe-cial options for the Compucolor8001 right now, including: MiniDisk Drives for extra memory,light pens and a variety ofspecial keyboard features.BASIC 8001 Is Easy To Learn.Compucolor's BASIC 8001 is

a conversational programminglanguage which uses English-type statements and familiarmathematical notations. It'ssimple to learn and easy to use,too. Especially when it comesto intricate manipulations orexpressing problems moreefficiently. The BASIC 8001Interpreter runs in ROM mem-ory and includes 26 statementtypes, 18 mathematical func-tions, 9 string functions and 7command types for executing,loading, saving, erasing, con-tinuing, clearing or listing theprogram currently in core.Expandable Memory To 64K.The Compucolor 8001 has UKbytes of non-destructible read-only memory which handlesthe CPU and CRT operatingsystems as well as BASIC8001. Sockets are in place foran additional 21K of EPROM/MROM memory. The RandomAccess Main Memory has 8Kbytes for screen refresh andscratch pad, 8K bytes for userworkspace and room for 16Kbytes of additional user work-space. The Compucolor alsocomes complete with a conve-nient mass storage device,

Floppy Tape Memory. It's an8-track continuous loop tapesystem, with a Baud rate of4800 and an extra storagecapacity of up to 1024K bytesper tape.

Color Graphics At

Alphanumeric Black AndWhite Prices.That's what we're becomingfamous for, and thanks to thetremendous response to theCompucolor 8001, we've beenable to reduce our price evenlower—to $2750. Look overour dealer listing on the adja-cent page for the dealer nearestyou. Then drop by for a dem-onstration. And while you'rechecking out the Compucolor8001, check out your dealer'sfinancing plan. He can help youturn a good deal into a gooddeal more.

Compucolor Corporation,P.O. Box 569, Norcross,Georgia 30091.

Compucolor Corporation

Pirrlp 4 nn innuirv rarii

Sol Terminal Computer

ilMvolo'.PT

•

K

^m

'To do real work with any computer, big or small, it takesa complete system. That's one of the nice things about theSol-20. It was built from the ground-up as the heart of threefixed price computer systems with all the peripheral gear andsoftware included to get you up and on the air.

Sol System I costs just $1649 in kit form or S212° fullyburned in and tested. Here's what you get: a Sol-20 with theSOLOS personality module for stand alone computer power.an 8192 word memory, a 12" TV video monitor, a cassetterecorder with BASIC software tape and all necessary cables.

Sol System II has the same equipment plus a larger

r« Iv**.<

'V:v'

',<*<; *

eiios

■ ■

capacity 16,384 word memory. It sells for S1883 in kit form; S2283 fully assembled.

For even more demanding tasks, Sol System III features Sol-20/SOLOS, a 32,768 wordmemory, the video monitor, Helios II Disk Memory System and DISK BASIC Diskette. Price,$4237 in kit form, S5037 fully assembled and tested.

And remember, though we call these small or personal computer systems, they have more

power per dollar than anything everoffered. They provide performance com-parable with mini-computer systems pricedthousands of dollars more.

The Small ComputerCatalog for the rest of the realcomputer system story.

Visit your local computer store fora copy of our full) illustrated 22 page cata-log. Or you may write or call us if moreconvenient. Please address ProcessorTechnology, Box P. 620(1 Hollis Street.Emervville. CA 94608. (415)652-8080.

>h % i-

The fuivtion.il K\m;\ of Sonwre than skin cioep. A look inside nof design and sturxft construction.

S\ stems i>

Corporation i# #

M>W&M

See Sol here

ALABAMABirmingham:

1CP. Computcrland(205)979-0707

ARIZONA

Phoenix:

Bvte Shop Phoenix

(602)442-7300

Tempe:

Byte Shop Tempe

(602)894-1129

Tucson:

Bvle Shop Tucson

f602) 327-4579

CALIFORNIABerkeley:The Byte Shop(415)845-6366

Citrus Heights:Byte ShopComputer Store(916)961-2983

Costa Mesa:Computer Center

171-1) (.46-0221

Fresno:

Data Consultants, Inc.

(209)431-6461

Fullerton:Bits'N Bytes(714)879-8386

Lawndale:The Byte Shop(213)371-2421

Mountain View:The Byte Shop(415)969-5464Digilal Deli(415)961-2828

Orange:

The Computer Marl

(714)633-1222

Palo Alto:The Byte Shop(415)327-8080

Pasadena:

Byte Shop(213)684-3311

San Francisco:Byte Shop

(415)421-8686

The Computer Storeof San Francisco

14151431-0640

San Jose:

The Byte Shop

(408)377-4685

The Computer Room

(408)226-8383

Circle 5 on inquiry card.

San Rafael:The Byte Shop(415)457-9311

Santa Clara:The Bvte Shop(408)249-4221

Sunnyvale:RecreationalComputer Centers(408)735-7480

Tarzana:

Byte Shop of Tarzana

(213)343-3919

Walnut Creek:The Byte Shop(415)933-6252

Westminster:Byle Shop(714)894-9131

COLORADO

Boulder:Byle Shop

(303)449-6233

FLORIDA

Coral Gables:Sunny ComputerStores(305)661-6042

Leesburg:

Delia Electronics

(904)357-4244

Miami:

Byte Shop of Miami

(303)264-2983

Tim pa:

MicrocomputerSystems, Inc.(813)879-4301

GEORGIAAtlanta:

Atlanta Computer Mart(404)455-0647

ILLINOIS

Champaign:

The Numbers Racket

(217)352-5435

Evanston:

itly bitty machine CO,

(312)328-6800

Kankakee:

Reeves

Communications

(815)937-4516

Lombard:

itty bitty machine CO.

(312)620-5808

INDIANABloomington:

The Data Domain

(812)334-3607

Indianapolis:The Bvle Shop(317)842-2983The Data Domain(317) 251-3139

West Lafayette:The Data Domain

(317)743-3951

KENTUCKY

Louisville:

The Data Domain

(502)456-5242

MICHIGAN

Ann Arbor:

The Computer Store

of Ann Arbor

(313)995-7616

Royal Oak:Computer Marlof Royal Oak(313)576-0900

Troy:

General Computer

Store

(313)362-0022

NEW JERSEYHoboken:

Hoboken ComputerWorks(201)420-1644

Iselin:

The Computer Marl

of New Jersey

(201) 283-0600

NEW YORKEast Meadow. L. [.:The Computer Martof Long Island(516)794-0510

Mollis:

Synchro SoundEnterprises

(212)359-1489

Middle Island:

The Computer Shoppe

(516)732-3086

New York:Audio DesignElectronics(212)226-2038

The Computer Martof New York(212)686-7923

White Plains:

The Computer Corner

1914)949-3282

OHIOColumbia:

Cybershop(614)239-8081

OKLAHOMAOklahoma City:High Technology(405)842-2021

OREGONBeaverton:

Byle ShopComputer Store(503)644-2686

Eugene:

The Real Oregon

Computer Co.

(503)484-1040

Portland:Byle ShopComputer Store

(503)223-3496

RHODE ISLAND

Warwick:

Computer Power. Inc.

(401)738-4477

SOUTH CAROLINAColumbia:

Byle Shop

(803)771-7824

TENNESSEEKingsport:Microproducls &Systems(615)245-8081

TEXASHouston:

Byte Shop(713)977-0664

Computertex(713)526-3456Interactive Computers

(713)772-5257

Richardson:The Micro Store(214)231-1096

VIRGINIAMcLean:

The Computer

Systems Store(301)460-3634

Reston:

Media Reactions, Inc.

(703)471-9330

WASHINGTONBellevue:Byle ShopComputer Store(206)746-0651

Seattle:The RetailComputer Store(206)524-4101

WISCONSINMilwaukee:The MilwaukeeComputer Store(414)259-9140

CANADAOltawa, Ontario:Trin Ironies

(613)236-7767

Toronto, Ontario:

First Canadian

Computer Store, Ltd.

(4161482-8080

The Computer Place

(416)598-0262

Vancouver. B. C:Pacific Computer Store(604)438-3282

IBj^R^^y

Letters

ALTAIR (S-100) BUS QUESTION

I am using an 8080 based micro-processor system to control a videoimaging system. A number of circuitboards are in use or being built whichplug into the Altair style S-100 bus andwork with video. Some of these boardsrequire video sync signals (horizontaldrive, vertical drive, composite blanking,composite sync and subcarrier). I wouldlike to buffer these and put them on thebus as TTL signals. Could you pleasedescribe the known uses to date of theuncommitted pins of the Altair styleS-100? I am looking for suggestions of astandardized place to put these five

signals.

Carl Geiger

Onativia Crossing

LaFayette NY 13084

Can any readers supply an answer?One place to ask your question would beto call the engineering departments ofvarious companies which make peripher-als for the Altair bus.

ON PRINTERS

On April 1 1 977, volume 2 number 4arrived with the fine article byM S McNatt. I look forward to the nextissue with the interfacing information.I truly believe that this is a most over-looked situation: the use of Baudotmachines with the small computer. Itwould appear that many, many morepeople would be interested in the smallcomputer if there was some method ofretaining ASCII throughout the computerexcept in the use of the Baudot machinefor input and output.

I must, however, take issue with thenoise and smell of the Model 15.A Model 15 that is properly lubricatedand adjusted, with its cover in place,should be something other than noisy;the cover should shield the owner fromsmell, also. If smoke comes out of themachine, something is wrong!

I note that Mr McNatt did not men-tion the Western Union strip printers;the model number does not come tomind, but I believe that they were 2-B.I saw an advertisement on this type ofmachine and I have reason to believethat the keyboard of such a machine willmate with the typing reperforator whichusually (to my knowledge) comes with-out a keyboard.

Also, there is the Friden Flexowriter.My law office has a battery of thosemachines. The first one was acquired in1958 and it clatters and bangs happilyall day long. (Flexowriters are generallynoisy, particularly the FL and SDSmodels.) Why is there not mention of

10

these machines? They are extremelysturdy and it is my understanding thatone can still get maintenance for them.Many have input and output jacks orplugs.

Lucius B Dabney Jr

POB947

Vicksburg MS 39180

A way of clucking the issue of yourlast question would be to point to thetitle of the article: "A Guide to BaudotTeletypes." As for oil and smoke,Mr McNatt's caricature of the Model 15certainly fits my remembrances of usingone on the amateur radio bands when Iwas in college . . . C H

DOES ANYONE HAVE THE LATESTON 8080 FORTRAN?

Nine months ago, when I began toget serious about my own microcom-puter, everybody was promising aFORTRAN compiler "just around thecorner." A major manufacturer promiseda FORTRAN compiler "soon" whichdegrades to "early 1977." Now theydon't mention FORTRAN in their adver-tisements. As time goes on we hear lessand less of a FORTRAN compiler. HereI sit with 40 K, access to timesharing anda pile of FORTRAN programs I can't use.I am a user, not a hardware man or asystems man. I would like to compilethese and other FORTRAN programsone way or another and get on withusing my machine.

FORTRAN may be a pterodactylas Mr Lashley suggests, but it is a lan-guage commonly used to solve problemsby those more interested in problemsolving than in technique. Some of thehardware nuts would have us scrap every-thing everytime a new chip came along.In that event we would do nothing ex-cept construct new hardware. Mr Lashley

would have us scrap years of trainingeverytime a new programming ideaappeared. That's OK for someonewhose main interest is learning newlanguages. I don't feel we must scrapFORTRAN any more than Ma Bell hasscrapped the old phone system. Sure,there have been problems, but by insistingthe new must work compatibly with theold, she has built a good system for theuser. The purists working for Bell whowish to scrap everything each time a newidea is discovered probably have ulcers.So let us continue to build upon whatwe have and not scrap everything eachtime something new comes up. If thisis the way things are done, I'll be up-dating my system far into the future.Now, I'd like to see some way of con-verting that pile of FORTRAN programs.

Lawson T Pierce

4891 Songbird Dr

Columbus OH 43229

LASHING LASHLEY

I nominate P M Lashley (Feburary1977 BYTE, page 78) for the"Cybersnobof the Year" award for 1977. The year isyoung but I think he should get the nod;no one can possibly top his useless,self-serving, supercilious, unnecessaryattack on another man's worthy efforts.

Roxton Baker

56 South Rd

Ellington CT 06029

APL INTEREST, AND CHARACTERGENERATION TUTORIAL NEEDED

I am writing in response to letters inthe February 1977 issue of BYTE to saythat I am building a microprocessorbased APL capability. I plan to build anAPL CRT terminal and will want acharacter generator chip. Since I plan

to build my own but have been unsuc-cessful in finding a construction andtheory article, BYTE could include suchan article, or at least a bibliography, in afuture issue.

Karl Gerhard

264 Taylor Rd

Portsmouth Rl 02871

APL INFORMATION WANTED

Would you please send me someinformation concerning implementationof APL on microcomputers? Thank youfor your consideration.

Gerry Wong

7950 Mercure

Brossard Quebec

CANADA J4Y1A8

Watch future issues of BYTE.

COVER KUDOS

I had to write, though somewhatbelatedly, to comment on the January1977 cover painting by Robert Tinney.It was, I must admit, a rather emotionalmoment when I slid the wrapper off toreveal a painting which depicts exactlythe feelings and aspirations I have heldfor some time now. The hope that thepower of the computer, in the hands ofall the right people, can somehow changethe world from the smog filled grey andbrown outside the window into theclear and beatiful vision seen through theterminal.

May I suggest that this cover be madeavailable in poster size through BITS.While I did enjoy the Thomas Jeffersoncover, I feel that we in the world ofcomputing should be looking to thefuture, and that this particular painting

Continued on page 146

MULTIPLE DATA RATE INTERFACING FOR YOUR CASSETTE AND RS-232 TERMINAL

the CI-812

The Only S-100 InterfaceYou May Ever Need

On one card, you get dependable "KC-standard"/biphase encoded cassette inter-facing at 30, 60, 120, or 240 bytes persecond, and full-duplex RS-232 data ex-change at 300- to 9600-baud. Kit, includ-ing instruction manual, only $89.95*.

PERCOM DATA COMPANY, INC.

4021 WJNDSOR • GARLAND, TEXAS 75042

(214) 276-1968

*Assembled and tested,$119.95. Add 5% forshipping. Texas resi-dents add 5% sales tax.BAC/MC available.

PerCom 'peripherals for personal computing'

11

INSULATED WHEELS

Figure I: A simple trainlayout for one train show-ing the manner in whichelectricity is transmittedto the motor of the train.

MOV H \

AC ~ '

How to Computerize

David C Brown1704 Manor RdHavertown PA 19083

One of the many uses of computers, andespecially personal computers, is in the areaof real time process control operations. Anenjoyable way of experimenting with thisarea would be to have your small computercontrol a model train layout. Those of uswho attended the Personal Computing 76convention held in Atlantic City NJ inAugust undoubtedly saw the Digital Equip-ment Corporation's display of a train layoutcontrolled by an LSI-11 computer. There isno reason why you could not do somethingsimilar with your own system.

Since many of you may not be familiarwith the techniques used in model rail-roading, let's start with a bit of backgroundinformation. Figure 1 shows the simple ovallayout most of us probably had as childrenin the US, where DC power has dominatedthe scene recently. Power is applied to eachrail. One set of wheels on the engine picksup the positive side and feeds it to themotor; the other set of wheels picks up the

negative. Unfortunately, this type of systemcan only handle one train running at a giventime. If a second train were put on thetracks, we would not be able to control thetwo trains' speeds independently. To solvethis problem, we go to block control, shownin figure 2. As you can see, the negative railis common, as it was in figure I. Thedifference lies in using insulators on thepositive rails and two power packs. Now wecan use switches so that either power packcan control either section of track. Thisallows us to have a train on the smaller loop(block 1) and another train on the runaround track to the right (block 2), and wecan control each train's speed independentlythrough the two power packs. We still haveto be a little careful when we operate thissystem, because if the train on block 2 runsonto block 1 while block 1 is occupied wewill be right back where we started, withtwo trains running at the same speed andcontrolled by one power pack.

12

INSULATOR

IIOVAC

Figure 2: A basic exampleof block wiring. The nega-tive rail is common toboth blocks. The positiverail is divided by insulatorsinto two sections. Eachblock can run a train usinga separate power pack.

TRAIN APOWER PACK

TRAIN BPOWER PACK

Your Model Railroad

In reality, then, two blocks are insuffi-cient. A moderate size model railroad islikely to have from 12 to 24 blocks. Justbefore a train enters a block, the operatorwould flip that block's control to his powerpack. When the train leaves a block, theoperator would turn off that block so thatthe other operator could bring his or hertrain into the block if he or she wanted to.

The only other really important consider-ation in train layouts that we should discussis the reverse loop. Suppose we had a loop asin figure 3, so that the train could go aroundthe loop and end up on the same track butgoing the opposite direction. If you followthe polarities of the tracks around the loop,you will see that they end up as a shortcircuit, with "+" connected to "—" and viceversa. This condition requires the use of aspecial type of block, known as a reverseblock or reverse loop. The reverse block issimilar to the other blocks we have dis-cussed, except that in this case, both tracks

have insulators instead of just one. This isillustrated in figure 4. We have also addedsome other switches for reversing train direc-tions. A normal power pack has a reverseswitch that switches the polarity of itsoutput to make the train run in the otherdirection. With reverse loops, we can nolonger use this switch. Instead, we need a

Figure 3: An illustrationof the type of difficultythat arises when a track isput through a reverse loop.Following polarities it willbe seen that the negativeside of the track will con-nect to the positive side atthe end of the loop andvice versa.

IIOV

AC

POWERPACK

13

INSULATORS

Figure 4: Using insulatorson both the positive andnegative tracks a block iscreated that is totally iso-lated from the main track.Using a separate powerpack will allow the train torun through the block,turn around, and return tothe main track.

u

MAIN

DIRECTIONi SWITCH

J

direction switch for the reverse loop andanother direction switch for the rest of thetrack. By playing with these switches, wecan keep the polarities correct and prevent ashort circuit. This is easier to see in anillustration. Assume that the train is comingdown the main track from the left offigure 4 and that the track switch is posi-tioned to the right so that the train will endup going around the reverse block in acounterclockwise direction. The polarities ofthe main and reverse block on each side ofthe A insulators are the same, so there isno problem crossing the insulators. If weleave everything the way it is though, we willhave a problem when the train hits the Binsulators, since the polarities are reversedon opposite sides of the insulators. In thiscase, while the train is on the reverse block,we flip the main direction switch. Thisreverses the polarity of the main track sothat it is the same as the reverse block'spolarity at the B insulators. Now the traincan leave the reverse block and go back ontothe main track with no problems. Supposethe polarity of the reverse block had beenreversed when the train was coming downthe main track. In this case, we would havehad no problem leaving the reverse block,but would not have been able to enter it in

REVERSE BLOCK

DIRECTION

SWITCH

the first place. The solution would be to flipthe reverse block direction switch while thetrain was on the main track. This wouldmatch up the polarities at the A insulators.Then, after the train got onto the reverseblock, we would reverse the main directionas we did before so that the train couldsafely leave the reverse block.

Two items were omitted from figure 4 forthe sake of simplicity in the prior discussion.At point C we would tie in the second powerpack and the block control switches offigure 2. At point D we would need a 2 pole2 position switch to allow either power packto control the reverse loop.

So much for train layouts and blockcontrol! The only other major piece ofequipment on a model railroad is the trackswitch, called turnouts in model railroadterminology. Turnouts allow you to vary theroute that your train takes, which is cer-tainly more interesting than watching yourtrain do nothing but go around in a circle. Aturnout represents the actual track that canbe switched. It physically can sit in one oftwo states which are electrically controlled.The electrical components for moving theturnout are called switch machines. Figure 5shows a typical turnout and switch machine.The turnout contains a movable section. In

14

figure 5, the train will go straight. If themovable section were pulled down, the trainwould go to the left relative to its motion,up the turnout track. The switch machine isreally just a pair of solenoid coils. A softmetal bar with an S shaped groove slidesbetween the coils. The movable section ofthe turnout has a lever connected to it. Theother end of this lever rides in the groove ofthe sliding bar of the switch machine. Infigure 5, if the reverse switch was closed, coilB would be energized and the soft bar wouldslide to the right. The lever would ride in thegroove and be pulled down, thus pullingdown the movable section of the turnout.Since the coils draw close to 1 A whenenergized, they should only be energizedlong enough to move the turnout. If leftenergized for more than a few seconds, theycould overheat and burn out. For thisreason, push button switches are normallyused for controlling the switch machines.The switch machines normally run off analternating current accessory power packand have no relation to the block system.They represent a separate, isolated set ofcircuits on the model railroad.

All of these electrical requirements maysound somewhat confusing. Linn Westcotthas an excellent, very inexpensive paperbackbook entitled How to Wire Your ModelRailroad from Kalmbach Publishing Com-pany, 1959. This book, or one like it, shouldbe available at any hobby shop. Anothervery good set of paperbacks is published byAtlas Tool Company, a leading manufacturerof model railroading equipment. Atlas hasalso simplified the wiring for you. They sellsealed switch units containing printed cir-cuitry for all of the wiring I have discussed.The Atlas selectors contain block controlcircuitry, the Atlas controllers contain di-rection control and reverse loop circuitry,and the Atlas switch controllers contain theturnout control switches. These devices areinexpensive and have the ability to beplugged together for handling any size trainsystem. All you do is connect your powerpacks, block wires and switch machine wiresto the Atlas devices and your wiring iscomplete. The Atlas books also diagramtrack layouts, usually 6 to 8, from simple tocomplex, give construction details, and showhow to wire them with the Atlas devices.What more could you ask for?

Now that I have you hooked, or at leastinterested in model railroading, let's take alook at what we need to control this systemby computer. All of the principles discussedso far still apply. The only additional itemthat we need on the train layout. itself issome way of knowing where the trains are.

Figure 5: The basic workings of a turnout and switch machine. The two coilsof wire move a piece of soft metal with a groove back and forth betweenthem. The switch machine rides in the groove. When coil B is activated, byusing the reverse mode, the metal is pulled into the B coil and the switchmachine slides down in the groove changing the position of the switchmachine.

The simplest approach would be to use

magnetic reed switches. As shown in fig-ure 6, these switches are nothing but two

contacts, very close together, and scaled in a

glass envelope. If we place these switches at

intervals along the tracks and glue a small

magnet to the bottom of our trains, the train

going over the glass capsule will close the

switch. These switches, by the way, are

common in burglar alarm systems and other

proximity sensing devices. I will rci'cr to

these switches along the tracks as markers in

the remainder of this article.

The train control system to be discussed

is currently under development. So far, the

development has concentrated on the soft-

Figure 6: This is a mag-netic reed switch whichcan be used as a markeralong the track. Theswitch consists of two con-tacts that are enclosedwithin a glass enveloptThe two metal contac,are activated magneticallywhen a car with a magnetattached passes over.

BY T & E

GLASS ENVELOPE

~TX

SWITCH CONTACTS(ACTIVATED BY MAGNET)

15

vccO>-

02 O

Ml OM2 C>-M3 C>~M4 O-M5 [>■M6 O-M7 C>-M8 fZ>-

M9 D>-MIO O-

fiii O-

MI2 C>-MI3 [~>-MI4 OMI5 [3>~MI6 O-

»RI"|K

0 0

ETLG

CLKINTER0

m

R2R3R4R5R6

IC I8214

R7

ELR ENLG

INTA0

a!

A2BO§1B2SGS

ECS

I

IC28214

CLK

INTE

RO

Ri

R2

R3

R4

R5

R6

R7

ELR ENLG

INTA0AlA2BOBiB2SGS

T

0

/77

R2>R3>R4>R5IK ?IK ?IK ?IK

IC4

i>

RESET

STB

DO

Dl

D2

D3

D4

D5

D6

D7

CLRDSI

8212

INTD00

DOI

D02

D03

004

D05

D06

D07

MD

DS2

00000 000

-C>INT

-co

-o

-o-o

8080

BIDIRECTIONAL> BUS

-o-o

Q

A 6

PRI0RITY_ 10ARRAY EN

Figure 7: This circuit is used to encodeswitches into marker numbers and generateinterrupt signals. All resistors are measuredin ohms and are 1/4 W.

TO 4 MORE 82I4S CASCADED TOGETHER

ware aspects, and most of the hardwaredetails are yet to be worked out. These Imust leave up to your ingenuity at themoment. You will need a way of controllingthe switch machines. The October 1975issue of BYTE, page 87, showed one waythis could be done with a flip flop, several2N3766 transistors, and a oneshot multi-vibrator. You will need a way of controllingthe block switches, allowing you to turn ablock off or to route power to it from anyof your power packs. You will need a way ofswitching the direction controls, both mainand reverse loop, as discussed with figure 4.Along with this, you will need a way ofreading the polarity between the currentblock and the next block, probably using themarker number as the address. Fortunately,

you only need this capability at entrancesand exits from reverse blocks. You will needa way of controlling speed. This could bedone with a digital to analog converter, oryou could adapt the speed controller shownin the January 1975 issue of PopularElectronics, page 58. Last, but definitely notleast, you will need the marker system.

The markers, as mentioned earlier, are theswitches located along the track for sensingthe location of the trains. When the trainpasses over a marker, an interrupt could begenerated. The interrupt software must beable to read in a binary number identifyingwhich marker was hit. This could be accom-plished on an 8080 based system by cas-cading together Intel 8214 Priority InterruptICs, as shown in figure 7. Ideally, we would

16

like a large number of markers. Although Ihaven't the room to discuss this aspect, agraphics display could be used so that thetrack layout is displayed and each markerwould light up as the train passed it. Forthis, we want many markers. The circuit offigure 7 will allow up to 40, but needs five8214 chips, at $15 each. Another possibilitywould be to use a 256 word by 8 bit readonly memory and have the markers controlthe address lines into the memory, whichwould be programmed with the markernumbers. I would be interested in hearingfrom anyone who has a cheap way ofdebouncing and encoding 256 switches intoa byte of data that could be read in by aninterrupt routine. For that matter, I wouldbe interested in hearing from people on anyof these hardware requirements, since Ihaven't worked them out myself yet.

So much for hardware. The softwareshould, actually be easier to explain thanmodel railroading theory. The entire soft-ware package is table driven. This makes iteasier to understand and easier to adapt to awide variety of train layouts. The four majortables used are the marker table, the blocktable, the switch table and the train table.The marker table really controls most of thesystem. Each marker on the track has acorresponding entry in the marker table.When the train hits a marker, an interrupt isgenerated. Interrupts are probably preferableto a polled system, since it is crucial thatnone be missed and unless the marker eventis latched, a busy processor could miss it. Ifyour program is processing a console com-mand and a train passes a marker before youget to poll it, you could have real chaos. Themarker interrupt routine, then, would readin the marker number and look it up in themarker table. Table 1 shows the layout of anentry in the marker table. If a graphicsdisplay is used, MXY would be used toupdate the display, showing the train at thenew marker location. MBLOCK would bethe pointer to the block table entry for theblock which contains this marker. MSETUPindicates that this is the last marker in theblock. The software would go to the blocktable, figure out the next block that thetrain will enter, and issue a command toapply power to that block (remember fig-ure 2?). MFREE tells the software that themarker is the first one in the block andpower should be removed from the priorblock. This is the reverse of MSETUP.

MFA and MFD are fractional acceleratorsand fractional decelerators. Fractionalsrepresent a small change in the speed of thetrain. Any marker can be set up to add orsubtract a fractional to the train's current

Label

Byte

Bit Meaning

1 to 8 marker number

1 to 8 block table entry displacement

1 to 8 stop number

1 setup next block indicator

2 stop indicator

7 apply fractional decelerator on stop only

8 release prior block indicator1 to 4 fractional accelerator value5 to 8 fractional decelerator value

1 to 8 XY coordinates for graphics display routine

Table I: Marker Table Information. The purpose of the marker table is toorganize the current information associated with each marker input from themodel railroad layout. The list of information shown here is described in thetext in more detail. The use of a graphic display of the layout is assumed byputting in display coordinate fields (MXY), which might be omittedotherwise. The basic marker entry information is repeated in this format foreach marker.

MMARKER

1 to 2

MBLOCK

3

MSTOPNO

4

MSETUP

5

MSTOP

5

MFDS

5

MFREE

5

MFA

6

MFD

6

MXY

7 to 8

Label

Byte

BBLOCK

1

BTRAIN

2

BREV

2

BPRIOR

3

BNEXT

4

Bit Meaning

1 to 8 block number

1 to 4 which train is currently in the block

8 reverse block indicator

1 to 8 prior block ID

1 to 8 next block ID

Table 2: Block Table Information. The purpose of the block table is toorganize the current information about each block in the model railroadlayout. The block is identified by its number. (Although this field might beomitted if numbers and position in the table are made identical.) If the blockcurrently has a train, its number is identified. The topology of the tracknetwork is reflected in the prior block and next block pointers.

speed. This would be used to speed up thetrain as it goes up a hill, called a grade, orslow it down on a downgrade. It could reallybe used any place you wanted the train'sspeed to automatically change. Fractionalscan also be used for programmed stops. TheMSTOP indicator in the marker table entrytells the system that the train should stop.However, a sudden stop would be unrealis-tic, so we can use the fractional decelerator.If the operator requests a stop at a particularstop number and that stop number equalsMSTOPNO, the system will look at MSTOPand MFDS. If MFDS is on, the fractionaldecelerator will be applied, slowing downthe train. MFDS also will prevent the frac-tional decelerator from being applied if astop was not requested. Eventually the trainwill hit a marker that has the correctMSTOPNO and has the MSTOP indicator on,and the train will be stopped completely.

Each block on the track layout has acorresponding block table entry, as shown intable 2. The block table entry containsindicators for what train is in the block andwhether the block is a reverse block (ourfigures 3 and 4 discussion). The reverse indi-cator will be used by the marker processing.When power is to be applied to the next

17

Label Byte Bit Meaning

SSWITCH 1 1 to 8 switch number

SPOS 2 1 through or turnout indicator

SFROM 3 1to8 from block ID

STHRU 4 1to8 through block ID

STURN 5 1to8 turnout block ID

SNMKTHRU 6 1 to 8 setup next marker ID for through block

SNMKTURN 7 1 to 8 setup next marker ID for turnout block

SPMKTHRU 8 1 to 8 release prior marker ID for through block

SPMKTURN 0 1 to 8 release prior marker ID for turnout block

Table 3: Switch Table Information. The switch table entries describe eachswitch in relation to the railroad layout by means of pointers to the "from, ""through" and "turnout" blocks. This information, which is relatively fixedfor a given layout, is used to modify the prior and next block information inthe block table according to the settings of the switch. One such entry isneeded for each switch in the layout. (A roundhouse would have to be aspecial case . ■ ■ )

BLOCK 2

MARKER I

i

INSULATORS

MARKER 2

MARKER 3

J L

BLOCK I BLOCK 3

Figure 8a: An example of a marker being between two blocks. In this type ofarray the computer must only determine whether the train will go intoblock 2 or 3.

BLOCK I BLOCK 2

BLOCK 4

Figure 8b: This figure is slightly more complex than figure 8a. In this type ofarray the train may enter block 3 or block 2. The computer must determinewhich block the train will enter. If it is block 3 the information for block 3must be updated for the particular train as soon as the train has passedmarker I. If the train will enter block 2 next, however, the information forblock 2 must not be updated until the train has passed marker 2.

block, the software will check to see if eitherthe current or the next block has the reverseblock indicator on. If neither block is areverse block, power is applied to the nextblock. However, if either block is a reverseblock, we must do additional processing.Power is applied, but we have to worryabout the polarity. Therefore, we read in thepolarity between the two blocks, probablyusing the marker number as the address forthe polarity interface. We cannot use theblock number, since the polarity will bedifferent at the two ends of the reverseblock. If, after reading the polarity betweenthe two blocks, we find that they are equal,we are done. If they are different and thecurrent block is a reverse block, then wemust reverse the polarity of the main track.If they are different and the current block isnot a reverse block, we must reverse thepolarity of the reverse block. These are thesame operations that we discussed withfigure 4, only the computer will do themrather than the operator. The BPRIOR andBNEXT fields in the block table entry arepointers to the block table entries for theprior and next block on the track layout.These pointers are maintained and modifiedby the switch processing.

When the operator requests that a par-ticular switch position be changed, the soft-ware will locate the switch entry in theswitch table. Table 3 shows the layout of aswitch table entry. SPOS, the position indi-cator, will be toggled and the graphicsdisplay, if used, will be updated to show thenew switch position. The new value of SPOSwill be output to the switch interface.SFROM, STHRU, and STURN are used toupdate the prior and next block fields of theblock table entries so that each blockentry points to its correct successor andpredecessor. SNMKTHRU, SNMKTURN,SPMKTHRU, and SPMKTURN are used toturn on and off the MSETUP and MFREEindicators in the marker table. For example,if the switch is set for turnout, MSETUP inthe marker pointed to by SNMKTHRU willbe turned off and will be turned on in themarker pointed to by SNMKTURN.SPMKTHRU and SPMKTURN do the samewith the MFREE indicator in the markertable. The reason for this may not beapparent, so let's look at an example. Infigure 8a, this processing would not beneeded. MSETUP in marker 1 would alwaysbe on, and MFREE could be left on in bothmarker 2 and marker 3 since there is noother way into block 2 or 3 other than fromblock!. However, figure 8b is a differentcase. Here we have the switch in the middleof a block. If the switch were set for the

18

turnout, the train would leave block 1 andenter block 3. Marker 1 would haveMSETUP on and marker 4 would haveMFREE on. Now let's change the switchposition. The train will no longer go intoblock 3. The switch processing would haveupdated block Ts block table entry so thatblock 2 was the next block. If we try to setup the next block (block 2) according tomarker 1, we will be premature. Maybe thereis another train in block 2 at the moment,since there could be quite a bit of trackbetween the switch and the beginning ofblock 2. Likewise, if a train comes downblock 3 and tries to free the prior blockaccording to marker 4, we might have asimilar problem. The switch processing,then, must turn off MSETUP in marker 1and turn off MFREE in marker 4 if theswitch is set for through and turn them on ifthe switch is set for turnout. In this par-ticular case, markers 2 and 5 could haveMSETUP on all the time, markers 3 and 6could have MFREE on all the time,SNMKTHRU and SPMKTHRU will be zero,and SNMKTURN and SPMKTURN will havea 1 and a 4 respectively.

The train table of table 4 has one entryfor each train that you are running. Thistable entry is used primarily for keepingtrack, pardon the pun, of where each trainis. It specifies what block the train is in, thelast marker hit, the train's direction (forwardor reverse), the train's current speed, and theport address for the train's power packinterface. This interface would control thespeed, through digital to analog convenorsor similar, and the main and reverse blockdirection controls. The train table entrywould be updated by marker processing andby speed and direction commands issued bythe operator.

So far, we have discussed primarily theautomatic functions of the software. Nowlet's look at the functions controlled by theoperator. We already discussed switches andstops. That leaves us with direction andspeed. Suppose we want to reverse a train.First, this command would not be allowed ifthe train was moving, since we might cause aderailment if we suddenly reversed a fastmoving train. Other than that, it's fairlysimple. We store an indicator in TDIR of thetrain table entry to indicate that the train isgoing in the reverse direction and then issuethe command to reverse either the mainpolarity or the reverse block polarity, de-pending on whether or not the train iscurrently in a reverse block. From then on,we reverse logically the meaning of theMSETUP and MFREE indicators in themarker table entries and we reverse logically

Label

Byte Bit Meaning

TTRAIN

1

1 to 4

train number

TDIR

1

8

direction

TBLOCK

2

1 to 8

current block ID

TMARKER

3 to 4

1 to 8

current marker ID

TSPEED

5

1 to 8

train's current speed

TPORT

6

1 to 8

IO port address for controller

Table 4: Train Table Information. Each train in the layout must also befollowed in the software as it runs its route. The information can beformatted and referenced with a structure such as this. The details vary foreach train with time, as the train progresses through the layout.

the meanings of the prior and next blockpointers in the block table entries. There-fore, we set up the next block when MFREEis on and free the prior block when MSETUPis on. BNEXT points to the prior block andBPRIOR points to the next block.

Train speed control can be somewhatmore difficult. There are basically two waysto control speed. The easiest would be to usea digital to analog converter. Trains run on 0to 16 VDC, so a converter would be neededcapable of providing this range at approxi-mately 1 A per train to be run at a time.Therefore, if you plan on running two trainsat the same time, you need a 0 to 16 VDCsupply rated at 2 A minimum. This ideaworks well with the fractional system out-lined earlier, but is not very realistic. Theoperator would have to enter on the consolethe voltage to be applied and the softwarewould output to the converter the correctvalue. To gradually speed up a train wouldkeep the operator busy for a while enteringspeed commands.

A more realistic approach would be toenter an accelerate command that wouldgradually speed up the train at a uniformrate. When the proper speed is reached, theoperator would enter a hold command tomaintain the current speed. To slow down, adecelerate command would cause the trainto gradually slow down, and the hold com-mand would again be used to stop decel-erating. This type of control could beaccomplished by adapting the circuit onpage 58 of the January 1975 Popular Elec-tronics to operate as an IO device ratherthan by push buttons. This complicates thefractional system, since the fractionals wereintended to represent actual voltage quanti-ties to be applied to the train's speed.

A similar approach could be to still usedigital to analog converters, but to have thesoftware periodically increment or decre-ment the value applied to the converter if anaccelerate or decelerate command was ineffect. This method will satisfy both realismand the operation of the fractionals, butdepends upon the construction of the soft-

19

Marker Interrupt Processing Routine

The M algorithm is used for marker interruptprocessing. It reads in the marker number, per-forms operations on it, including block processing(B algorithm) if necessary, determines any changein speed and then returns from the interrupt.

Ml. Read the marker number input and look it

up in Marker Table.M2. Use MB LOCK of Marker Table entry to

point to Block Table entry.M3. Use BTRAIN of Block Table entry to point

to Train Table entry.M4. Store marker and Block Table pointers in

TMARKER and TBLOCK.M5. If TDIR=0 and MSETUP is on then go to

B1,M6. If TDIR = 1 and MFREE is on then go to B1.M7. If TDIR=0 and MFREE is on then go to

B11.M8. If TDIR=1 and MSETUP is on then go to

B11.M9. Send MXY to graphics display if it is used.M10. If MFA > 0 then add MFA to TSPEED and

send TSPEED output to the speed

controller.Mil. If MFD > 0 and MFDS is off then subtract

MFD from TSPEED and send TSPEED

output to the speed controller.M12. If MFD > 0 and MFDS is on and stop has

been requested at MSTOPNO then subtract

MFD from TSPEED and send TSPEED

output to the speed controller.M13. If MSTOP is on and a stop has been

requested at MSTOPNO then store 0 in

TSPEED and send TSPEED output to the

speed controller.M14. Return from interrupt processing routine.

B

Block Processing Routine

The B algorithm is used for block processing ofthe power controls. The algorithm determines thevoltage and polarity changes that are to be madefor the various blocks. Lines B1 to B10 set up thenext block for the train to enter it. Lines B11 toB1 5 free the prior block that the train is leaving.

B1. If TDIR = 1 then use BPRIOR as the next

block pointer, else use BNEXT as the next

block pointer.B2. If BTRAIN of the next Block Table entry =

TTRAIN then go to M7.B3. If BTRAIN =£ 0 then stop system (there is a

train over run: two trains in same block!)B4. Store TTRAIN in BTRAIN of the next

block.B5. Send command output to the block con-troller to power up the next block.B6. If BREV of the current block and BREV of

the next block are both 0 then go to M7.B7. Read polarity of tracks using MMARKER of

the current Marker Table entry as the

address.B8. If polarity=0, then current and next block

polarities are the same so go to M7.B9. If BREV of the current block = 1, then

output a command to reverse the main

polarity and go to M7.B10. Output a command to reverse the reverse

block's polarity and go to M7.B11. If TDIR=1 then use BNEXT as the prior

block pointer else use BPRIOR as the prior

block pointer.B12. If BTRAIN of the prior block = 0 then go to

M9.B13. Store 0 in BTRAIN of the prior block.B14. Send command output to block controller

to turn off prior block and go to M9.

Switch Command Routine

The S algorithm performs the switch commandprocessing by resetting all of the markers that arebeing affected by a particular train. It is called byan operator command.

51. Look up the switch number in the SwitchTable.

52. Reverse value of SPOS (O=through,1=turnout). i

53. If SPOS=0 then use STHRU as the pointerto next block and go to S5.

54. Use STURN as the pointer to the nextblock.

55. Store the pointer to the next block inBNEXT of the Block Table entry pointed toby SFROM.

56. If SPOS=1 then go to S14.

57. Turn off MSETUP in Marker Table entrypointed to by SNMKTURN.

58. Turn on MSETUP in Marker Table entrypointed to by SNMKTHRU.

59. Turn off MFREE in Marker Table entrypointed to by SPMKTURN.

510. Turn on MFREE in Marker Table entrypointed to by SPMKTHRU.

511. Send SPOS output to the switch controllerusing SSWITCH as address.

512. If the graphics display is used then update itto Show new switch position.

513. Return to operator command processor.

514. Turn off MSETUP in the Marker Tableentry pointed to by SNMKTHRU.

515. Turn on MSETUP in the Marker Table entrypointed to by SNMKTURN.

516. Turn off MFREE in the Marker Table entrypointed to by SPMKTHRU.

S'17. Turn on MFREE in the Marker Table entry

pointed to by SPMKTURN.S18. Go toS11.

R

Reverse Direction Command Routine

The R algorithm performs the reverse directioncommand processing. If the train is not moving,the polarity of the block will be reversed and TDIRwill be logically inverted.

R1. If TSPEED in the current Train Table entry

^ 0 then indicate invalid request and return

to command processor.R2. Reverse the present value of TDIR in

current Train Table entry.R3. Use TBLOCK of the current Train Table

entry to point to the current Block Table

entry.R4. If BREV of the current Block Table entry =

1 then go to R7.R5. Send command output to reverse the

polarity of the main track.R6. Return to operator processor.R7. Send command output to reverse polarity of

reverse block.R8. Return to operator processor.

20

ware to increment or decrement at a reason-able pace.

Table 5 shows a list of operator com-mands that might be used on a typicalcomputerized model railroad. The remainderof this article is devoted to some algorithmsfor the more important processes we havediscussed. Algorithms, if the term is un-familiar, are simply flowcharts expressed inwords rather than in blocks and arrows.Since this article is not presenting actualcode and is more directed to theory than tobit by bit details, generalized algorithmsseem more appropriate. I hope this articlehas increased your interest in the area ofmodel railroading and has given you someideas on how you can simulate, on a smallscale, the types of real time process controlsystems that could be used on a large scaleto control an actual railroad."

Mnemonic Command meaning

A Tx accelerate train x

D Tx decelerate train x

H Tx hold train x at current speed

S Tx stop train x immediately

S Tx Sy stop train x at stop number y

FA xxx My set fractional accelerator value of xxx into marker y

FD xxx My set fractional decelerator value of xxx into marker y

FD xxx My,S same as above but also turn on MFDS

R Tx reverse train x

Sx toggle position of switch x

Ex My1,y2,--,yn establish stop x at markers y1 ,y2,-yn and turn on MSTOP in marker yn

Dx delete stop x

K kill system; emergency power off

C close down system; orderly stop of trains and power off

Table 5: Definition of a Command Language. Here is mnemonic set ofcommands for control of the trains on a model railroad layout from aterminal keyboard. When a general purpose keyboard is used, this sort ofsequence is required — although the particular commands defined here arenot necessarily the only set possible. Algorithms S and R (see separate boxes)are command processing routines for switch toggling and reversal of trains,two of the more complex commands in this list.

GLOSSARY

Algorithm: A method used to express the steps tobe taken in solving a problem. It may be expressedin words, as a flowchart of blocks, lines andarrows, or in other forms.

Block control: Sectioning up a railroad layout sothat multiple power packs can be used to run morethan one train on the tracks at a time.

Block table: A table used in the software forcontrolling a model train layout. Each block on thetracks has a corresponding entry in the block table.

Digital to analog converter: Commonly abbreviatedas DAC, the device takes as input a digitalvalue, typically an "n" bit binary number, andoutputs an analog signal in the form of a variablevoltage corresponding to the digital input value.

Fractionals: As used in this article, a fractional is a4 bit binary number representing a small change inthe speed of the train. It is used for automaticspeed changes under program control.

Graphics display: A video display device that candisplay lines, curves and drawings rather than justcharacters. In a train system, a graphics displaycould be used to show a real time diagram of thetrain layout and where each train is located.

Insulators: In a train layout, insulators are used toisolate sections of track in order to use blockcontrol. Since power is supplied to the trainthrough the tracks, insulators are placed betweensections of track so that each section can becontrolled independently.

Markers: Switches located on the track that areactivated by the passing of a train. These markersare used by the software to keep track of wherethe trains are.

Marker table: A table used in the software,containing an entry for each marker on the trainlayout.

Polarity: As used in this article, polarity refers towhich track is positive and which track is negative.Normally, this is not really important, except inthe case of reverse loops, where the polaritybetween two adjacent blocks on the layout mightbe different, resulting in a short circuit whencrossed by the train.

Reverse loop: Or reverse block; this is where asection of a track will allow a train to go around ina loop and end up on the same track but going inthe opposite direction. Special handling of thesecases is needed.

Solenoid: A coil of wire which acts as an electro-magnet. When current is applied to the coil, a barof soft metal will be attracted toward the magnet.In model railroading, solenoids are part of a switchmachine.

Switch machine: A solenoid activated mechanismattached to a turnout, used to move a section oftrack so that the route of the train can bemodified.

Switch table: A table used in the software,containing an entry for each switch machine andattached turnout on the track.

Train table: A table containing an entry for eachtrain that is running on the train layout (also, thephysical structure on which your train layout isbuilt).

Turnout: A movable section of track, used tomodify the route of the train. A turnout allows thetrain to go in one of two possible directions. Aswitch machine is used to move the turnout. Aturnout has a normal position, which is thedirection most commonly taken, and a reverseposition, which is the less frequently used position.In this article, I have also used turnout to refer tothe reverse position, and through to refer to thenormal position.

21

Introducing Apple II.

SP Mi" Mr

■»>•■«

M,

You've just run out of excusesfor not owning a personal computer.

Clear the kitchen table. Bringin the color TV. Plug in your new-Apple II? and connect any standardcassette recorder/player. Now you'reready for an evening of discovery inthe new world of personal computers.

Only Apple II makes it that

easy. It's a

complete, ready to use computer, not akit. At $1298, it includes video gra-phics in 15 colors. It includes 8K bytesROM and 4K bytes RAM-easilyexpandable to 48K bytes using 16KRAMs (see box). But you don't evenneed to know a RAM from a ROM touse and enjoy Apple II. For example,it's the first personal computer witha fast version of BASIC permanentlystored in ROM. That means you canbegin writing your own programs thefirst evening, even if you've had noprevious computer experience.

The familiar typewriter-stylekeyboard makes it easy to enter yournstructions. And your programs canbe stored on—and retrieved from—mdio cassettes, using the built-in

cassette interface, so you can swapwith other Apple II users.

You can create dazzling colordisplays using the unique color gra-phics commands in Apple BASIC.Write simple programs to displaybeautiful kaleidoscopic designs. Orinvent your own games. Games likePONG—using the game paddles,supplied. You can even add the dimen-sion of sound through Apple IPsbuilt-in speaker.

But Apple II is morethan an advanced, infinitelyflexible game machine. Useit to teach your childrenarithmetic, or spellingfor instance. Apple IImakes learning fun.Apple II can alsomanage household finances,chart the stock market orindex recipes, record collections, evencontrol your home environment.

Right now, we're finalizing aperipheral board that will slide intoone of the eight available mother-board slots and enable you to compose

music elec-tronically.And therewill be otherperipheralsannouncedsoon toallow yourApple II totalk with another Apple II, or to inter-face to a printer or teletype.

Apple II is designed to growwith you as your skill and experiencewith computers grows. It is the stateof the art in personal computing today,and compatible upgrades and peri-pherals will keep Apple II in the fore-front for years to come.

Write us today for our detailedbrochure and order form. Or call usfor the name and address of theApple II dealer nearest you. (408)996-1010. Apple Computer Inc.,20863 Stevens Creek Boulevard,Bldg. B3-C, Cupertino,California 95014.

Apple II™ is a completely self-containedcomputer system with BASIC in ROM,color graphics, ASCII keyboard, light-weight, efficient switching power supplyand molded case. It is supplied withBASIC in ROM, up to 48K bytes ofRAM, and with cassette tape, video andgame I/O interfaces built-in. Also in-cluded are two game paddles and ademonstration cassette.

SPECIFICATIONS

• Microprocessor: 6502 (1 MHz).

• Video Display: Memory mapped, 5

modes—all Software-selectable:

• Text—40 characters/line, 24 linesupper case.

• Color graphics—40hx48v, 15 colors

• High-resolution graphics—280hx192v; black, white, violet, green(12K RAM minimum required)

• Both graphics modes can be selectedto include 4 lines of text at the bottomof the display area.

• Completely transparent memoryaccess. All color generation donedigitally.

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

• Uses either 4K or new 16K dynamicmemory chips

• Up to 12K ROM (8K supplied)

• Software

• Fast extended BASIC in ROM withcolor graphics commands

• Extensive monitor in ROM•I/O

• 1500 bps cassette interface■ 8-slot motherboard

• Apple game I/O connector

• ASCII keyboard port_

• Speaker

• Compositevideooutput

Apple II is also

available in board-only

form for the do-it-yourself hobbyist. Has

all of the features of the Apple II system,

but does not include case, keyboard,

power supply or game paddles. $598.

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

_4-

apple computer inc.

Order your Apple II now.

Use this order form to get your Apple II fast. As a special offer forthose who order now, we will include free a custom vinyl carrying case(a $50 value). And we will also pay shipping charges to anywhere in thecontinental United States.

Apple II Price List.

RAMComplement

Apple IISystem

Calif. ResidentsAdd

Apple IIBoard-only

Calif. ResidentsAdd

4K

$1,298.00

$ 84.37

$ 598.00

$ 38.87

8K

1,398.00

90.87

698.00

45.37

12K

1,498.00

97.37

798.00

51.87

16K

1,698.00

110.37

978.00

63.57

20K

1,778.00

115.57

1,078.00

70.07

24K

1,878.00

122.07

1,178.00

76.57

32K

2,158.00

140.27

1,458.00

94.77

36K

2,258.00

146.77

1,558.00

101.27

48K

2,638.00

171.47

1,938.00

125.97

Memory is offered at a 20% savings when ordered with the system-or board-as reflected in the prices above.

Additional RAM can be easily added-in at a later date as your needs develop.One set 4K chips (4K bytes) $125One set 16K chips (16K bytes) $600

Prices and specifications subject to change without notice.

^cippkz computer inc.

9n«fi'* Qtmmrc Pr^Bt Rhrrl R3.P

20863 Stevens Creek Blvd., B3-CCupertino, California 95014(408) 996-1010

Order Form

□ Please send me an Apple II System

□ Board Only

with K bytes of RAM (4K minimum) at $.

California Residents add 6.5% tax

Total $.

Name _AddressCity

.Zip

State

Phone

Shipping Address (if different)

□ Cashier's check or money order enclosed.

(Please allow 2 additional weeks for personal checks.)Please charge to my

□ BankAmericard

□ VISA

□ Master Charge

Card Number :

Expiration Date

Signature

Mail to: Apple Computer Inc., 20863 Stevens CreekBlvd., B3-C, Cupertino, California 95014

Circle 7 on inquiry card.

Photo 1: Two different shots from the balcony of the Civic Auditorium show the extent of the crowd. At the end of the show,chaircreature Jim Warren announced that 12,800people had attended.

Random Observations and Conversationsat the First West Coast Computer Faire

Notes and Photos by Lawrence F Willard

The kids monopolized the computergames most of the time, and were better intheir scoring than most of the adults. Saidone man to another:

"Those kids have been at the keyboardfor 15 minutes; shall we push 'em out of theway?"

"No," said the other. "They're doing ahelluva lot better than I know I could do."

There were several variations of Star Trekin evidence. At the Processor Technologybooth one frustrated kid kept getting thisprintout whenever he entered a command:

"Captain, I'm afraid your last commandmade no sense."

He was lucky. A kid about 12 years oldplaying Star Trek at the Vector Graphic

Inc booth apparently made a king sized errorand got this printout:

"Thanks to your bungling the galaxy hasbeen destroyed by the Klingon War Fleet.You are demoted to cabin boy. Try again."

The boy turned around and saw mewatching him.

"Don't say anything," he growled.

These games reveal a lot about people todedicated people watchers like me. At theNational Semiconductor booth a computerwas set up to plot, on a screen, a graph ofthe player's physical, emotional and intellec-tual cycles. You were asked to key in yourbirth date and to indicate over how manydays you wanted the chart plotted. I noted,curiously, that some people used arbitrarydates or somebody else's birth date ratherthan their own. Are some people reluctant

Larry Willard, whowrites regularly forYankee magazine (DublinNH), acted as BYTE's rov-ing eye at the First WestCoast Computer Faire heldin San Francisco's CivicAuditorium on April 16and 17 of this year. Hereare Larry's notes onRandom Observations andConversations at the event.

Photo 2: The mild, unassumingroll top desk at the left of thissequence hides an intelligence.For, when all the doors andslides of this "desk" by RDC En-terprises (8352 Stanford Av,Garden Grove CA) are opened,they reveal an experimenter-oriented computer with built-inAltair bus extender card at desklevel, a keyboard at desk leveland video monitor. The actualcomputer mainframe is belowdesk level behind doors, and thebottom drawer can hold the ex-perimenter's tools.

25

Rich Man, Poor Man, Merchant, Physician,

Teacher, Lawyer, Student, Musician....

There's MICOM Floppy DiskSystem for Everyone!

More Uses

People from every walk of life areadding iCOM® Floppy Disks to theirmicrocomputers for such diversetasks as payroll, inventory control,mailing lists, game playing, recordkeeping, parts ordering . . .

We've uncovered some innovativeapplications, too: The sailboat architectwho puts equations and algorithms onan iCOM disk to test his nauticaltheories; the student who has auto-mated a bowling alley; the iCOMdealer who designed an environmentalcontrol system for a university.

More Speed

These users have found iCOMfloppies to be much faster and moreversatile than cassette or paper tape.WithiCOM,programs canbe loaded inseconds; filesupdated inminutes;hundreds ofprograms canbe stored on ja single disk. I

More Models

iCOM has Frugal Floppies™, DualFloppies, Microfloppies™ (using thenew 5 Vi" diskette), and other newapproaches to floppy disk systems.Each is hardware and softwarecompatible with Altair™, IMSAI, Poly88, Sol-20 and other microcomputersusing the Altair S-100 bus format.

More Software

Then there's iCOM's famoussoftware: Powerful field-provenFDOS-II with macro-assembler, string-oriented text editor, and file manager.Plus easy-to-use compatible 8K DiskBASIC. Each with super features suchas: named variable length files, auto-file create, open and close, multiplemerge and delete . . . and more.

More Backup

We've been building floppies formicrocomputers for more than 3 years.Long before the rest. Thousands ofsystems are operating perfectly in thefield. And we're part of PertecComputer Corporation, one of thelargest manufacturers of peripherals,microsystems, data entry productsand data processing systems. We'll bearound whenever you need us.

More Dealers

Maybe not in quantity, but in quality.We've chosen our dealer networkcarefully to assure you of assistanceevery step of the way. Our prices areright. Our delivery isfast. Our dealers areexperienced andknowledgeable.

Must Reading

Our free booklet,"What a Floppy DiskCan Do for You"is must reading.Send for yours todayor visit your dealer.

po

v*

•*«*•

V3*.

B*

(*»

0f&

© 197 7. Pertec Compuler Corporation

v®

miCROPERIPHERRlS

a division of Pertec Computer Corporation

6741 Variel Ave., Canoga Park, CA 91303 U.S.A.Tel. (213) 348-1391 TWX 910-494-2788

There's an iCOM

for Everyone

at these

Computer Stores...

ARIZONA

INDIANA

Byte Shop

Data Group

Tempe

IndianaDolis

(602)894-1129

(317)842-2983

CALIFORNIA

KENTUCKY

Orange Computer Ctr.

Cybertronics

Costa Mesa

Louisville

(714)646-0221

(502)499-1551

Byte ShopLawndale

MASSACHUSETTS

(213)371-2421

American Used

Computer

Byte Shop

Boston

Mt. View

(617)261-1100

(415)969-5464

Computer Mart

MINNESOTA

Orange

Microprogramming

(714)633-1222

Burnsville

Byte Shop

(612)894-3510

Pasadena

NEW HAMPSHIRE

(213)684-3311

Computer Mart

Byte Shop

Nashua

Santa Barbara

(603) 883-2386

(805)966-2638

NEW JERSEY

Byte ShopSanta Clara

Computer MartIselin

(408) 249-4221

(201)283-0600

Byte ShopSan Diego

NEW YORK

(714)565-8008

Synchro Sound

Hollis

Byte ShopSan Rafael

(212)468-7067

(415)457-9311

Computer Mart

NYC

(212)686-7923

Computer RoomSan Jose

(408) 226-8384

NORTH CAROLINA

Byte Shop

Digital Dynamics

Tarzana

Charlotte

(213)343-3919

(704)374-1527

Tech-Mart

PENNSYLVANIA

Tarzana

(213)344-0153

Byte Shop

Brymar

Byte Shop

(215)525-7712

Thousand Oaks

(805) 497-9595

SOUTH CAROLINA

Byte Shop

Carolina Computers

Walnut

Columbia

(415)933-6252

(803) 798-6524

Byte Shop

TEXAS

Westminster(714)894-9131

Microstore

Richardson

COLORADO

(214)231-1096

Prime Radix

Microtex

Denver

Houston

(303) 573-5942

(713)780-7477

FLORIDA

Computer TerminalEl Paso

Byte Shop

(915)542-1638

Miami

(305) 264-2983

WISCONSIN

The Computer Store

Madison Computer

Jacksonville

Madison

(904)725-8158

(608) 255-5552

ILLINOIS

CANADA

Itty Bitty Machine

Computer Mart

Evanston

Toronto

(312)328-6800

(416)484-9708

Numbers Racket

Computer Place

Champaign

Toronto

(217)352-5435

(416)598-0262

Champaign Computer

Champaign

(217)359-5883

miCROPERIPHERfllS

6741 Varlel Ave., Canoga Park, CA 91303 U.S.A.

Tel. (213) 348-1391 a divison of Pertec Computer Corporation

O

oo

Photo 3: The kid at the keyboard of this I MSA I 8080 under thewatchful eye of Lynn Stone is Bob Bowdige, a fifth grader atRollingwood School in San Bruno. A t this school, 200 studentseach week study BASIC programming. The school was invited tobecome part of the exhibit at the Action Audio Electronics boothat the show.

to know what their cycles are, or are theyreluctant to have other people see whentheir highs and lows occur, a privacy thing,perhaps? Anyway, I saw a pretty young ladywho couldn't be out of her 20s key in a

Photo 4: Victoria VanBuskirk, 10, with herfather Thomas, a pro-grammer at Lockheed inSunnyvale CA, in the Re-creational ComputerCenters booth. Tom, withhis interests in computergames and home account-ing problems, plans toacquire a computer.

27

Photo 5: The husband and wife team of Ellen and Allen Penn (he's president,she's VP and secretary of Sylvanhills Laboratory Inc, I Sylvanway, Box 239,Strafford MO 65757) demonstrate computer controlled plotters to DickSpeer of Northwest Computer Cinema. (For more details on the plotter kit,see BYTE January 1977 page 85.) Dick has a 6502 based computer similarto the KIM which the Penns are using in this setup; he wants to use it forcomputer controlled graphics.

birth date of October 9 1912. An arbitrarydate? The birth date of a parent? Only sheknows. The computer took a fair amount oftime to figure it all out, but finally tracedthe patterns on the screen for a 20 day per-iod.

At the Advanced Technology ResearchAssociates booth there were flashing spacejewels and Plexiglas ray guns that lit up witha pulsing bright colored light when the trig-ger was pulled. These fascinated kids andgrownups alike, only at 24 bucks and on upthe kids weren't buying. The older peoplewere, though. I asked one guy what heplanned to use his space ray gun for.

"I'm a magician," he said. "I'll find a usefor it on stage."

Another guy wanted to know if the spacejewels were waterproof. He thought it mightbe interesting to drop one of the little flash-ing pendants into his tropical fish tank, orinto a pitcher of his favorite iced beverage.They aren't waterproof; the battery com-partment would be flooded.

Like a lot of other people, I had a com-puter portrait made—you stand in front of aTV camera, your image is held on the TV

28

OUR DEALERS

NORTHEASTERN STATES

Computer Workshop, Rockville, MD; Computer Mart,Waltham, MA; Iselin, NJ; Hoboken Computer Works,Hoboken, NJ; Audio Design Electronics, New York,NY; Byte Shop East, Levittown, NY; Computer Corner,White Plains, NY; Computer Enterprises, DeWitt, NY;Fayetteville, NY; Computer Mart ot New York, NewYork, NY; Computer Shoppe, Middle Island, NY; IthacaAudio, Ithaca, NY; Byte Shop, Bryn Mawr, PA; PersonalComputer Corp., Frazer, PA

SOUTHEASTERN STATES

Computer Hut, Hialeah, FL; Delta Electronics, Leesburg,FL; Douglas Computer Systems, Jacksonville, FL;Economy Computing Systems, Orlando, FL; ElectronicShop Inc., Melbourne, FL; Microcomputer Systems Inc.,Tampa, FL; Computer Systems Center, Atlanta, GA;Computer Electronics, Baton Rouge, LA; Byte Shop,Columbia, SC

MIDWESTERN STATES

American Microprocessors, Prairie View, IL; Bits andBytes, Posen, IL; Itty bitty machine company, Evanston,IL; Lllllpute Computer Mart, Skokie, IL; NumbersRacket, Champaign, IL; Data Domain, Bloomington, IN;Home Computer Center, Indianapolis, IN; Micro BusInc., Cedar Rapids, IA; Data Domain, Louisville, KY;Computer Mart, Royal Oak, Ml; Computer Systems,St. Clair Shores, Ml; General Computer, Troy, Ml;Computer Depot, Minneapolis, MN; Computer Room Inc.,Eagan, MN; High Technology, Oklahoma City, OK;Milwaukee Computer Store, Milwaukee, Wl

WESTERN STATES

Bits & Bytes Computer Shop, Phoenix, AZ; PersonalComputer Place, Mesa, AZ; Affordable Computer Store,Santa Clara, CA; A-VIDD Electronics, Long Beach, CA;Bits n Bytes, Fullerton, CA; Byte Shop, Burbank, CA;Fresno, CA; Lawndale, CA; Long Beach, CA; Palo Alto,CA; Pasadena, CA; Placentia, CA; San Diego, CA; SanJose, CA; San Rafael, CA; Santa Clara, CA; Tarzana, CA;Thousand Oaks, CA; Walnut Creek, CA; Westminster,CA; Computer Center, Costa Mesa, CA; ComputerCenter, San Diego, cA; Computer Components, VanNuys, CA; Computer Electronics, Santa Barbara, CA;Computer Emporium, Newport Beach, CA; Computer-land, San Leandro, CA; Computer Mart, Orange, CA;Computer Playground, Westminster, CA; ComputerPower and Light, Studio City, CA; Computer Store otSan Francisco, San Francisco, CA; Dunston Enter-prises, Redding, CA; Executive Office Equipment,Pasadena, CA; Micro Computers, Fountain Valley, CA;Microsystems Engineering, San Francisco, CA; SunnySounds, San Gabriel, CA; Sunshine Computer, Carson,CA; Upland Computer Labs, Upland, CA; Xlmedla,San Francisco, CA; Byte Shop, Boulder, CO; Engle-wood, CO; Mighty Mini Company, Denver, CO; Micro-computer Systems of Hawaii, Honolulu, HI; SmallComputer Systems, Honolulu, HI; Computer Mart ofWest Texas, Lubbock, TX; Computer Shop, San Antonio,TX; Computer Terminal, El Paso, TX; Electronic Specialty,Houston, TX; Houston Computer Mart, Houston, TX;KA Electronic Sales, Dallas, TX; Micro Store, Richard-son, TX; Vanguard Systems, San Antonio, TX

FOREIGN

Microtech Computers, Winnepeg, Manitoba, Canada;Haywood Electronic Associates Ltd., Northwood,Middlesex, England; Instrumatlc, Geneva, Switzerland.

cch g3A?hc inc.

790 HAMPSHIRE ROAD • A + B

WESTLAKE VILLAGE, CA 91361

Not Affiliated With Vector General

Circle 9 on inquiry card.

THE PERFECT MICROCOMPUTER

'*«*«»*«*.

cCC031

■ ■

It's a two touch affair

VECTOR 1 is based on the 8080A Microprocessor and S-100 Bus -EASY TO ASSEMBLE, EASY TO ACCESSORIZE, EASY TO BUY AND VERY EASY TO OPERATE.

lOR G=?APHC illC.

717 LAKEFIELD ROAD, SUITE FWESTLAKE VILLAGE, CA 91361 • (805) 497-0733

Photo 6: Terry Belcher ofAdvanced Technology Re-search studies a map ofworld conquest for thecolor video game "Risk"which was being run at theCompucolor booth.

screen until it can be scanned for a computerprintout. In about a minute the printer rollsit out and it is torn off and handed to you.The guy in front of me in line made a pro-duction out of it. He was bearded, and hewanted a profile shot with a pipe in hismouth and his hand up to it in a studiedpose. He explained that he wanted it for hisoffice door.

There were a couple of booths playingcomputer music and the sound was great,even if the repertoire was a bit limited.About the 15th or so time you've heard aparticular tune during the day you can drawthe waveforms of each note. But the perfor-mance was pretty good. Solid State Music'sbooth was playing such tunes as "The Flightof the Bumblebee," Bach's "Little Fugue inG Minor," "Blues in F," "It's a SmallWorld," and "Maple Leaf Rag." Try thoseon your computer.

Footweary after awhile, I went into thecafeteria, got some coffee, and sat down ata table and got into a conversation with twomen sitting there. They were ManabuUyehara and George M Hirota, who have theRadio Shack franchise in Honolulu. They

had flown to San Francisco especially forthe Faire. Both men have had previous com-puter experience, and they are anxious tocarry computers in their store.

I moved to another table and met ScottM Dickson, a computer programmer in thedental school of the University of Michigan.He wants a computer to experiment with.He thinks dentists could use them for pa-tients' records and for billing.

Coming from the cafeteria I stopped at abooth offering a selection of fine prints andetchings done in sort of a science fiction-fan-tasy style. One of them, I thought, wouldlook especially fine in my study. Before Icould ask how much it was, somebody elsedid.

"Six-fifty," said the young artist.

Real reasonable, I thought, and movedforward to buy one.

The man who had asked how much, thenasked:

"Six hundred and fifty dollars?"

The artist said that was correct.

I walked away.

That's more than most of the computerswere selling for."

Photo 7: Some floor shots.

1 rtCHMCAl[MWJN-LM*t

IS YOUR DOLLAR BUYING

AS MUCH POWER & FLEXIBILITY

AS TDL'S XITAN SYSTEMS PROVIDE?

OUR CUSTOMERS SAY

THINGS LIKE THIS

ABOUT TDL PRODUCTS:

"... the best CPU board I've put i(»jjt'tfH"f... exeellenl parts....

IRC

C ,Hiil)ri(ii;c, Mass.

KMM

Bella Vista, Ark.

"... hif»h quality components, good engineering & complete

WP

Seattle, Wash.

Col. L)WW

Santa Maria, Calif.

SK-L

Boston, Mass.

alpha 1

When we combined our highly praised /PU board and our System Monitor Board, wedefined the standard for the industry; we integrated more power and flexibility in two slots ofour motherboard than most other systems can muster using five or more boards. When weput this setup into our rugged aluminum case we created the first XITAN system, the alpha 1.By adding a CRT terminal and or teleprinter you will have a complete computer system.

KIT: $76!) ASSEMBLED & TESTED: $1039

XITAN

* alpha 2

i ■:*'*■

,rt

By adding a ZI6 memory module and our PACKAGE A software to the alpha 1 we created asecond XITAN system, the alpha 2. Thus, a complete and extremely powerful micro-computersystem emerges well worthy of you who are operating at the most sophisticated levels. TheXITAN alpha 2 provides you with 18K of RAM, 2K of ROM, 2 serial I O ports, 1 parallel I Oport, our 1200 baud audio cassette interface as well as our extraordinarily powerful softwarepackage which includes 8K Basic, the Text Output Processor, the /apple Text Editor and theRelocating Macro-Assembler. Add your own I O device and GO...with the most powerfuland flexible micro-computer package ever offered.

KIT: $t369 ASSEMBLED & TESTED: $1749

IF YOU ARE A BEGINNER, YOU WON'T EASILY OUTGROW THE XITAN SYSTEM.IF YOU ARE AN ADVANCED USER, YOU WILL DISCOVER XITAN IS EXACTLY WHAT YOU NEED.

Circlu 11) on inquii s card.

'Write for descriptive brochure on the XITAN alpha seriesand system software. When you ask at your dealer, say "ZY-TAN."

ORDERING INFORMATION: Send check, money order or BankAmericard, Master Chargecurrent number and expiration dale. Shipping is usually made via UPS or UPS Blue Label.Specify other arrangements if you wish. Prepaid orders are shipped postpaid.

RESEARCH PARK 8LDGH 1 101 STATE ROADPRINCETON, NEW JERSEY 08540 (6091 9210321

What's

New?

A New 16 Bit Personal ComputingSystem

EBNEK Inc, 254 N Washington St,Wichita KS 67202, has recently an-nounced the new EBNEK 77 system.

This system, available for $2770 inkit form or $3800 assembled and tested,features the 16 bit TMS9900 processormanufactured by Texas InstrumentsInc. What EBNEK has done is to designa finished package around the TMS9900with the following characteristics:

• TMS9900 processor board.

• 16 K bytes of programmablememory on two 8 K byte boards.

• 8 K bytes of EROM socketcapacity on one board, with 2 Kbytes of operating system soft-ware supplied (ie: room for 6 Kbytes of user defined EROMprograms).

• Video display board with tele-vision monitor.

• IO interface board with keyboardinterface, eight bits of parallelIO, serial data port with data rategenerator, and cassette modem.

• Cabinet and power supplymotherboard.

• Phi-Deck tape transport withfirmware support.

• 'ASCII keyboard and case.

The design of the system is modular,with an addressing space limitationof 64 K bytes, and a design limit of128 K bytes using memory bank switch-ing. (Power adequate for a full 128 Kbytes is provided as a standard featureaccording to the company.)

Cabinetsfor Electronic Systems

CX-9 Series

Standard cabinets for

monitors, keyboards,

and electronic systems.

Steel and aluminum construction.

Use cabinets individually or

interlock to form complete systems.

Call or write for complete catalog.

V>lf») BACKER-LORING CORPORATION

I A^AwJ 65 WALNUT STREET, PEABODY, MASS. 01960 • 617-531-3600

The video display provides 15 linesof either 32 .or 64 characters, generatedwith a 7 by 9 dot matrix. The displayalso has a point graphics mode allowinga 256 by 240 dot display driven from an8 K byte segment of main memory.The display and processor are inter-leaved so that operation of the proc-essor does not break up the picturewith visual hash, allowing programmedupdates to occur while information isbeing displayed.

This product looks like a significantone for the personal computing userwho wants the ultimate in microproc-essor execution speed and performance.The TMS9900 architecture includes 16general purpose work areas at arbitrarymemory locations which use a shortform of addressing. It has the uniquecharacteristic of built-in multiply anddivide operations which take (worstcase without wait states, using 3 MHzclock) 17 and 41 us to evaluate 32 bitresults of 16 bit operands. Individualswith real time computational applica-tions (as in voice recognition, sceneanalysis, electronic music generation)will find the 9900 architecture quiteuseful. In addition to the physical con-figuration, EBNEK's announcement ofthe EBNEK 77 describes availabilityof an assembler, editor, utilities and auser's software library."

Circle 631 on inquiry card.

Polyphonic Music Generator Board

A new interface board designedfor music generation called the SRS-320has been announced by Stillman Re-search Systems, POB 14036, PhoenixAZ 85063, for $175. The board, whichcan serve as the basis for a computerizedmusic synthesizing system, is Altairbus compatible and can generate up tofour musical notes simultaneously over afour octave range. This is sufficient togenerate most elementary chords andinversions. The SRS-320 is priced at$175, and a demonstration cassette ofthe board is available for $3, as well asa variety of other music generationelectronics."

Circle 632 on inquiry card.

New Vector Catalog Available

Vector Electronic Company Inc's1977 catalog is now available, listingprices and descriptions of the entireVector product line, including printedcircuit cards, terminals and pins, bread-boarding kits, wiring pencils and soon. Of special interest to the computerexperimenter is the company's new cord-less rechargeable wire wrap tool calledWrap and Strap. The catalog is avail-able free from Vector Electronic Com-pany Inc, 12460 Gladstone Av, SylmarCA 91342, and no serious experimenterwould want to be without it."

Circle 633 on inquiry card.

Circle 11 on inquiry card.

32

The POLY 88Microcomputer System

PolyMorphic Systems now offers the complete, assembled,personal computer system—the POLY 88 System 16. A full16K system with high speed video display, alphanumerickeyboard, and cassette program storage. A BASIC soft-ware package providing the most advanced features avail-able in the personal computing market. Features like PLOTand TIME, which utilize our video graphics and real-timeclock. Others like VERIFY, so that you know your tape isgood before you load another. Or input type-ahead so youcan tell your program to run while the tape is still loading (itstores up to 64 characters of commands or question re-sponses to be executed). All these plus a complete pack-age of scientific functions, formatting options, and stringcapabilities. With the POLY 88 System 16 you can amazeyour timesharing friends the very first night!

Polymorphic Systems 11K BASIC — Size: 11K bytes.

Scientific Functions: Sine, cosine, log, exponential, square root,random number, x to the y power.

Formatted Output • Multi-line Function Definition • StringManipulation and String Functions • Real-Time Clock • Point-Plotting on Video Display • Array dimensions limited by mem-ory • Cassette Save and Load of Named Programs • MultipleStatements per Line • Renumber • Memory Load and Store •8080 Input and Output • If Then Else • Input type-ahead.

Commands: RUN, LIST, SCR, CLEAR, REN, CONTINUEStatements: LET, IF, THEN, ELSE, FOR, NEXT, GOTO, ON, EXIT,STOP, END, REM, READ, DATA, RESTORE, INPUT, GOSUB, RE-TURN, PRINT, POKE, OUT.

Built In Functions: FREE, ABS, SGN, INT, LEN, CHR$, VAL, STR$,ASC, SIN, COS, RND, LOG, TIME, WAIT, EXP, SORT, CALL, PEEK,INP, PLOT.

Systems Available. The POLY 88 is available in either kit or as-sembled form. It is suggested that kits be attempted only be per-sons familiar with digital circuitry.

System 2: is a kit consisting of the POLY 88 chassis, CPU, videocircuit card, and cassette interface. Requires keyboard, TV moni-tor, and cassette recorder for operation. $735System 16: consists of an assembled and tested System 2 with16K of memory, keyboard, TV monitor, cassette recorder, 11KBASIC and Assembler on cassette tapes. $2250.System 0: The circuit cards an S-100 mainframe owner needs tobe compatible with the POLY 88 software library. System 0 con-sists of the central processor card with monitor ROM, the video cir-cuit card, and cassette interface, all in kit form. $525.

Prices and specifications are subject to change without notice.California residents add 6% sales tax.

460 Ward Drive

Santa Barbara, Ca. 93111

(805) 967-2351

TechnicalFopuro

Peter G Formaniak

David Leitch

Mostek

POB 169

Carrollton TX 75006

A Proposed Microprocessor

Software Standard

Many people are concerned about theneed for standardization in the microproc-essor industry. One obvious source ofstandards is people who are seriously de-signing and supporting microprocessors.The following text was provided by Mostekto document one interchange standardintended for the Mostek version of theZ-80 processor. The text was written byPeter Formaniak and David Leitch and wasdistributed without copyright. The standardis intended to be an upwards compatibleextension of the original Intel 8080 objectcode format, with provision for relocatableprograms and linkage of separate assemblies.

Object Output Definition

Each record of an object module beginswith a delimiter (colon or dollar sign) andends with carriage return and line feed.A colon (:) is used for data records and endof file indicator for Intel compatibility. Adollar sign ($) is used for records containingrelocation information and linking informa-tion. An Intel loader will ignore such infor-mation and allow loading of nonrelocatable,nonlinkable programs. All information isencoded in ASCII format.

Each record is identified by a "type."The type appears in the eighth and ninthbytes of the record and can take five values.In the following text the record type beginseach heading.

• Type 00: Data Record

Bytenumber

1

Colon

$ LABW03212A

Description

delimiter.

defines last reference toexternal symbol 'LAB'

2, 3 Number of (binary) bytes of datain this record. The maximum is 32binary bytes (64 ASCI I bytes).

4, 5 Most significant byte of startaddress of data.

6, 7 Least significant byte of startaddress of data.

8,9

10

ASCII zeros. This is the "recordtype" for data.

data bytes.

Last 2 Checksum of all bytes except the

bytes delimiter, carriage return, and line

feed. The checksum is the negative

of the binary sum of all bytes in

the record.

CRLF Carriage return, line feed.• Type 01: End-of-file Record

Byte

number

Description

1

Colon (:) delimiter.

2,3

ASCII zero.

4,5

Most significant byte of the

transfer address of the program.

This transfer address appears as an

argument of the "END" statement

of a program. This Intel standard

may prove useful in higher level

language programs.

6, 7

Least significant byte of the

transfer address.

8,9

Record type 01.

CRLF

Carriage return, line feed.

• Type

D2: Internal Symbol

Object Data

Bytenumber Description

1 Dollar sign ($) delimiter.

2, 7 Up to 6 ASCII characters of theinternal symbol name. The nameis left justified, blank filled.

8, 9 Record type 02.

10,13 Address of the internal symbol,most significant byte first.

14,15 Binary checksum.

CRLF Carriage return, line feed.

Continued on page 62

34

Fantastic Software

This LIBRARY is a complete do it yourself kit. Knowledge of programming not required. EASY to read and USE

Written in compatible BASIC immediately executable in ANYcomputer with at least 4K, NO other peripherals needed.

VOLUME I

|BASIC

SOFTWARELIBRARY

This Library is the most comprehensive work of its kind to date.There are other software books on the market but they arededicated to computer games. The intention of this work is to allowthe average individual the capability to easily perform useful andproductive tasks with a computer. All of the programs containedwithin this Library have been thoroughly tested and executed onseveral systems. Included with each program is a description of theprogram, a list of potential users, instructions for execution andpossible limitations that may arise when running it on varioussystems. Listed in the limitation section is the amount of memorythat is required to store and execute the program.

Each program's source code is listed in full detail. These source codelistings are not reduced in size but are shown full size for increasedreadability. Almost every program is self instructing and promptsthe user with all required running data. Immediately following thesource code listing for most of the programs is a sample executedrun of the program.

BASIC

SOFTWARE'wv,„, .LIBRARY

: Sat,,. -

VOLUME III

■■ IM-

The entire Library is 1100 pages long, chocked full of programsource code, instructions, conversions, memory requirements,examples and much more. ALL are written in compatible BASICexecutable in 4K MITS, SPHERE, IMS, SWTPC, PDP, etc. BASICcompilers available for 8080 & 6800 under $10 elsewhere.

This Library is destined to become one of the reference bibles forthe small computer field, due to its versatility and uniqueness andthe ease of operation of the programs it contains. These volumes aredeductible as a business expense when purchased by a company.Send your remittance for prompt delivery, while supplies last.Volume discounts are available to qualified dealers.

Bookkeeping

GamesPictures

S24.95

VOLUME II

Math & Engineering

Plotting & Stat

Basic Statement Def....

S24.95

VOLUME III

Advanced Business

Billing

Inventory

Payroll S39.95

VOLUME IV

General Purpose S9.95

VOLUME V

Experimenter S9.95

WtQssz^

■ *.«•

^^XJpww

JwPiPst'

VpLUMKllyl

v ;m

by a.w. llOWIf'™

1

©

FUTURE ADDITION TO THE "BASIC SOFTWARE LIBRARY"

Volume VI (A Complete Business System S49.95) General Ledger System - Taxes, Pyrl,W-2's, Inventory. Depr., Financial Statements, etc. AVAILABLE MID SUMMER

Available at most computer stores.

Add S1.50 per volume for postage and handling.

SCIENTIFIC RESEARCH

1712-B FARMINGTON COURTCROFTON MD 21114

Phone Orders call (800) 638 9194Information and Maryland Residents Call (301) 721 1148

This Circuit Multiplies

Tom Hall

8500 Cameron Rd

Austin TX 78753

Table

1: Power wiring for

figures 1 and 2

Type

1-5 V

GND

IC1

74161

16

8

IC2

74199

24

12

IC3

74199

24

12

IC4

7483

5

12

IC5

7483

5

12

IC6

7476

5

13

IC7

7400

14

7

IC8

7404

14

7

We all know that algorithms for multipli-cation can be implemented perfectly well insoftware. But such programmed approachesto arithmetic operations can often provequite slow. There are a number of possibleapproaches to gaining speed in operationsinvolving multiplication. These may vary allthe way from just tightening up the code toputting a full hardware floating point arith-metic unit into the processor. The latter isoften expensive and difficult to build. Oneapproach which is midway between theseextremes is to implement the "inner loop"of a software algorithm as some specialpurpose hardware. An example of this tech-nique is this simple binary multiplier whichtakes two bytes of information and suppliesa 2 byte product value, leaving all the otherfunctions of a full arithmetic package tosoftware. By speeding up the multiplicationoperation, the entire arithmetic software willrun much faster whenever it involves multi-plication.

How To Do Binary Multiplication

To examine the operation of a shift andadd algorithm for multiplication, let's lookat the multiplication of two 4 bit bytes:

14 = multiplicand (Y)x10 = multiplier (X)

1110x1010

0000111000001110

10001100 = 140 = product (P)

From inspection it can be seen that theresult can be achieved in the same number of

steps as there are bits in the byte of themultiplier, and that the answer requires asmany bits as the number bits in the twobytes. In other words, two 4 bit bytesgenerate an 8 bit product, and the multipli-cation of two 8 bit bytes generates a 16 bitproduct. Now, by further inspection, it ispossible to visualize the necessary imple-mentation of the algorithm with hardware.First, note that the answer requires eightbits. Let's start off then with an 8 bitregister (P) set to all zeroes:

°i °■ ° i° 0,0,0,0 register P

Then we'll note that when the first bit to beoperated within the multiplier is a zero,

1 0 I ■

the result is a zero; so no adding is necessaryand we merely shift one place for the nextoperation. Now the bit to be operated withis a one,

10 10

and one times a number is that number; sowe just add the multiplicand into the Pregister as follows:

= register P

0 0 0 01 1 1

0 0 0 01 1 1

+ 1110

0,0,0,1

1,1,0,0

new P value

Then we shift over one and select the nextbit to be operated on:

10 10

Since it is a zero, only a shift is necessary.Then we operate on the last bit of themultiplier:

0 1 0

Figure 1: Arithmetic logic of multiplier. The X and Y inputs are assumed to be stable throughout the multiplication. The Pproduct output lines are stable after the multiplication is completed. The single bit provided by IC6b extends the product shiftregister by one bit. Control signals for the operation of the multiplication are ACLK and MSTART generated by the circuit infigure 2.

36

STATUSOUTPUTS

<>-

CONTROLINPUTSI

DONE

READY

DONE 4

t>

START 16

r1-^ CLOCK

PRESET C

L

J A 0

R

K 0

IC6a7476

2

A

run

LTL

IC87404

7b "Vj

5 7400 y

+ 5V +5V

A 4

MSB

Ih

O > 8 COUNT INPUT,

-' BINARY

LSB

RIPPLE CLEAR D C B A

CARRY

LOAD

ICI

74161

4 BIT COUNTER

ENABLE ENABLE

P T OD CLOCK

TO FIGURE I

COUNTERCLOCK

START

READY

ACLK

MSTART

RIPPLE CA

0 0

TIMING OF MULTIPLICATION0 0 8 19 110 ill 112 !l3 >I4 115 lO 0

0 0 0 0r~~t i l r ■» i—

1 1 1

-J 1 1 1 1 t_-J

/ \V\ START MUST TURN OFF BY THIS TIME *-\

1 f

LtUULtULtLJULi©©©©©©©©©1 1

3RY

1—1

TIME'S ARROW—*-

P = X x Y

TransitionID

12

3456

789

= 25 x 150

ActionLOAD X.CLEARADD YSHIFT PSHIFT PADD YADD YSHIFT PSHIFTPSHIFT P

Y =

Pl5

000000000

STATE TABLE FOR 150 X 25

= 3750

P6

P5

P4

P3

P2

Pi

Po

sc

1

00

11

0000 P = 3750

1 0 0

1 0 1

1 0

X =

0 0

0 1

1 0

0 1

Pl4

0100

11

000

Pl3

00

1

00

11

00

Pl2

000

0

P11

0

1

0000

111

PlO

00

1

0

11

0

11

P9

010100

1

0

1

P8

0

11

001

0

1

0

P7

00

11

00

1

0

1

0

0

0

1

1

0

0

00

11

00

1

0

0

0

0

1

1

0

00

11

00

1

0

0

0

1

1

00

11

00

0

0

0

1

0

0

11

0

0

0

0

00

11

0

0

00

1

000

Figure 2: Control logic of multiplier. The control logic for the multiplier generates a series of nine clock pulses on ACLK. Thefirst pulse coincides with the high state of the MSTA R Tsignal, and is used by the arithmetic logic to load the X operand into thelow order part of the 17 bit output shift register while clearing the high order nine bits, PI5 thru P7. On successive clock cycles,the arithmetic logic of figure 7 either shifts the product righ t one bit, or adds the Y operand with the resulting sum being loadedwith a I bit right shift. The operation of a typical 8 bit multiplication is shown in the state table, with the circled numbersreferring to clock transitions on the timing diagram.

38

0,0,0,1

1.1.0,0

1110

1,0,0,0

i.i.o.o

This is a one; so we again add the multi-plicand into the P register into the positionindicated by the shift:

register P

final productin P register

Thus, the product is generated.

How It Works

The multiplication logic described for the4 bit case is generalized to 8 bit operandswith a 16 bit product in the circuit of figures1 and 2. The multiplier logic of this designaccepts two 8 bit bytes, X and Y, fromwhich it generates the 16 bit product P.After the start signal, a mere ten clockperiods suffice to generate the productvalue. Since TTL devices are utilized, it ispossible to generate the result in less thanone microsecond by using a fast enoughclock. Practically speaking though, with the1 MHz speed of the typical microprocessorclocks, a result in about ten microsecondswill be quite acceptable, especially whencomparison is made to the equivalent puresoftware approach.

The multiplier unit provides optionalready and busy lines as status bits for theprocessor, and requires a free running clockplus a start signal from the processor. Theready and busy lines can be ignored entirelyin most computers, by simply making surethat one or two instructions are executed,taking ten clock periods total between startof a multiply and reference to the productvalue.

The Multiplication Cycle

Let us assume that the unit is idle,waiting for an input. This idling situation isshown in the timing diagram of figure 2 atthe left-hand side. At idle, the BUSY outputwill be low and the READY output will behigh. To start the multiplication, a high levelis placed on the START input after the Xand Y bytes are set up and presented to theunit. At the low to high edge transition ofthe next clock pulse after the START line israised, the READY and BUSY lines willchange state as flip flop IC6a is clocked.Within eight clock times of these transitions,the START level should be brought lowagain to keep the unit from restarting themultiplication upon completion of opera-tion. These transitions raise the MSTARTline to a high level, which causes the controlcounter IC1 to be loaded with the value 8(binary 1000 on the D,C,B,A inputs). At this

A Memory Address Space Interface

One good way to interface the multiplier isthrough the wiring of two addresses with appro-priate output latches and decoding logic. Eachaddress has a possible input and output signifi-cance, corresponding to whether the processor isreading or writing data to the "memory" locationwhich is the multiplier:

Address Write Action Read Action

n Load X operand latch Read P-i,-to Pp

rt+1 Load Y operand latch Read P-, to Pqand start multiply.

This method of interfacing avoids using IO instruc-tions, and can take advantage of the double byteload and store instructions of the 8080 or 6800.(In certain cases, such as array indexed addresscalculation, the 8080's double byte addition opera-tion can prove useful.)

time, the X input byte is loaded into shiftregister IC2, and the high order product bitsin shift register IC3 and flip flop IC6b are allcleared. All this action happens on theACLK transition, labelled 1 in the timingdiagram of figure 2.

The shift and add multiplication algo-rithm occurs during the next 8 clock transi-tions, labelled 2 thru 9 in the timingdiagram. At the low to high transition ofthese clocks the binary counter ICI isincremented, and a shift right occurs in theshift register IC2 which holds P0 to P6 ofthe final product and starts out with thevalue of X. If the shift carry output (SC) ofIC2 is low, the transition will simply shiftthe high order portions of the product (IC6band IC3) right by one bit, since binary 0 hasno effect on the sum. But if an X bit was 1,SC will be high, which sets up control linesso that Y is added to the previous value ofthe product P and loaded into P with a rightshift 1 bit position. (This right shift is in thewiring of the adder as shown in figure 1,where, for example, the old bit P1 5 plus thehigh order bit Y7 of Y are added together toform bit PI4 of the new P value, and thenew PI 5 is taken from the carry out of theaddition process.) The operation of thealgorithm is shown in the state table offigure 2 for the example 25 x 150 = 3750.

The multiplication operation is ter-minated when the binary counter reaches acount of 15, thus generating a ripple carryoutput which resets the flip flop IC6a to aREADY state at the final high to lowtransition of the ACLOCK clock during amultiplication. If the external circuitry testsREADY, this indicates end of the multiplica-tion and a valid product on the P outputlines. Note that the binary counter performsone more increment to a zero count, theninhibits itself until the next START signal."

39

Announcing a Computer

that thinks in BASICfor only 5298.

Ohio Scientific's new Model 500 computer has full mini-computerBASIC in ROM and a minimum of 4K RAM for user programs.BASIC is always there when the computer is turned on.Make your terminal intelligent!

If your company or school has remote computer terminals, con-sider the Model 500-1. It fits in the communications line betweenthe terminal and modem or system. When the 500-1 is off, theterminal talks to the modem. When it is on, the terminal talks tothe Model 500. Use the Model 500 for short and medium sizedprograms in BASIC. Use its immediate mode as an ultra-powerfulscientific calculator!Computers for Students

Couple a Model 500 to a low cost purchased or leased terminalsuch as the popular ASR-33 teletype for student instruction. TheModel 500's BASIC is a perfect instructional language for stu-dents. Since the computer's machine code is also accessible,the Model 500 can challenge the advanced student with otheroptional software such as our interactive Assembler/Editor.Personal Computing

The Model 500 has eliminated all of the grief of the first genera-tion personal computers. This computer comes fully assembled,tested, and guaranteed.

Most importantly, it is easy to use since the BASIC is alwaysthere.

Flexibility and Expandability

The Model 500 uses Ohio Scientific's standard 48 line bus sothat it is fully compatible with our Model 400 kits and Challenger"11product lines. Any of thirteen accessory boards including RAM,PROM, parallel, serial, AID, D/A, cassette, and video graphics canbe added as well as peripherals including floppy disks, lineprinters, color graphics, and more.

The Model 500 is offered here in three forms to meet everyapplication and pocket book.Specifications

Model 500 Board $298.00

8" x 10" fully assembled board including 6502 microprocessorrunning at 1MHz, 512 bytes of PROM, 8192 bytes of ROM con-taining 8K BASIC and 4096 bytes of RAM for user programs. Theboard contains an ACIA based serial interface which is jumperselectable for RS-232C or 20ma loop at 110, 300, 1200, 2400, or4800 baud.

The 8K BASIC features: full floating point math includingtranscendental functions, N dimension arrays, multiple letter

variables, full string functions, logical operators, PEEK, POKE,USR, and lots more!

The Model 500 board requires +5 volts at 2 amps, -9 volts at500ma, an external reset switch, and an ASCII serial terminal foroperation.

Model 500-1 $429.00

Fully enclosed 500 board with power supply, reset switch, andtwo 25 pin EIA standard terminal connectors for loop throughoperation. The 500-1 is 12" x 15" x 4".

Model 500-8 $629.00

This unit is a 500 board in an eight slot Challenger"11 case allow-ing seven slots for expansion. The unit has a heavy-duty ULrecognized power supply and is 15" x 17" x 10".

ORDER FORM

Order directly from:

Ohio Scientific; Hiram, Ohio 44234

This introductory offer expires August 31, 1977. Please allow up to 60 daysfor delivery.

PRINT OR TYPE CLEARLY.

Name

Shipping AddressCity

_State_

-Zip-

Payment by: BAC(VISA)._Credit Card Account # „

_ Money Order

Expires.

Interbank # (Master Charge).

. Model 500 Boards @ $298.00

. Model 500-1 Computer @ $429.00 .

. Model 500-8 Computer @ $629.00.

. Additional 4K RAM Memoriesfor 500-8 @ $149.00

4% Sales Tax (Applies toOhio Residents only)

TOTALCHARGEDOR ENCLOSED.

All orders shipped insured UPS unless otherwise requested.

Circle 12 on inquiry card.

Hiram, Ohio 44234

Asfc BYTE

S-100 BUS?

Would you please show the pindescription of the S-100 bus, or at leasttell me where I can find it?

David W Anderson

15500S 1300 W

Bluffdale UT 84065

The S-100 bus, so called, is the nameused by "everybody else" who manu-factures a MITS Altair compatibleperipheral, processor or board. MITS Incdefined the bus by designing the Altair8800, and during 1976 various manu-facturers who make Altair compatibleperipherals and processors with Altair-like backplanes began calling it the"S-100" bus in advertisements. So fordetailed information, purchase the docu-mentation of an Altair 8800, or one ofthe other central processors which copythis arrangement. Sooner or later, weexpect to print an article detailing thisinformation. ■

MULTIPLICATION

... In the April 1977 BYTE youpublished some information on the8008. From looking at the instructionset published I don't see a multiplicationinstruction. Do any microprocessors havea hardware multiply instruction, or is italways in software?

J oseph H Stockton Jr

Rt 6, Caroline Dr

Stockbridge GA 30281

The 8008 was the first microprocessorto be both widely marketed and of suf-ficient capability to make a decentgeneral purpose computer. Since it cameout, in the early years of this decade,designs have evolved considerably, butfew designs to date (1977, first quarter)include hardware multiply and dividefunctions. The Digital Equipment Cor-poration's LSI-11 has a PDP-11 instruc-tion set which does not include multiplyor divide operations in its basic set, butwhich has an optional extended arith-metic option which provides 16 bit fixedpoint arithmetic operations and 32 bitfloating point arithmetic operations. TheTexas Instruments TMS-9900 processorhas multiply and divide operations for16 bit integer arithmetic built into itsdesign. But the popularly used 8080,Z-80, 6800 and 6502 processors do notincorporate this feature and the usermust do multiplication and division insoftware. ■

Put exceptionalversatility and controlinto vour s-100 bussystem with thet>lueboards\..andsavemoneyin the

8 8 8 8 8 8 8 8

bargain!

II

XB1 Extender BoardBoard Only $9.00With Connector $13.50

: : : : :

MT1 15 slot Mother BoardBoard Only $45.00With Connectors $105.00

MB4 4K Static RAM (low power)Kit $129.95Assembled $179.95

VB1A Video BoardKit $189.95Assembled $264.95

MB6A SK Static RAM (low power)Kit $265.00Assembled $325.00

SB1 Synthesizer KitKit $250.00Assembled $325.00

MB3 2K/4K EPROM (1702A)Kit less PROM's $65.002K—$105.00/4K—$145.00Assembled board available

16K

I/02 Interface BoardKit $55.00Assembled $79.95

■ MB7 16K Static RAM (low power)

" Kit S525.00

| Assembled $599.95

-I We're the blue boards!

Compare the Cybercom blue boards with any others on the markettoday. You'll find exceptional quality plus prompt delivery andsignificant cost savings. All Cybercom kits are guaranteed 90 daysfor parts and labor.

Contact your local computer hobbyist store or write for details.

Solid State Music

2102A Walsh Avenue, Santa Clara, CA 95050Telephone (408) 246-2707

Circle 13 on inquiry card.

Condensed Reference Chart

aNNb

Mne. Mode

Cond. Flags

OPERATION

Figure 1; This is the basicfour line format that isused to describe each par-ticular opcode instruction.See text for a detaileddescription of the notationused.

Robert J BorrmannElectrical Engineering DeptManhattan CollegeRiverdaleNY 10471

Here is a quick reference chart that de-scribes the opcodes for the Motorola 6800microprocessor. This chart gives all of thehexadecimal codes, including the ones thatare unimplemented. The codes are given ina four line format as shown in figure 1.

The first line has three values: a, b andNN. NN is the hexadecimal op code; a is thelength, one, two or three bytes, of theinstruction; b is the length of execution inmachine cycles for each instruction.

The third line contains the conditionflags that are affected by the execution ofthe instruction. The notation used for thecondition flags is summarized in table 2. If aflag is set to a specific value by the instruc-tion, the flag and value are shown on line 4.If the command is a branch instruction thenthis line contains the conditions under which

A

= Accumulator A.

B

= Accumulator B.

#

= Immediate.

d

= Direct.

X

= Indexed.

e

= Extended.

r

= Relative.

= Inherent (no symbol)

Table I: Summary of theaddressing modes that areused in the chart. Thesemodes are found in blueon the chart.

the branch will occur in parentheses. Theletter "u" represents an operand interpretedas an unsigned 8 bit binary number, "s"represents an operand interpreted as a signedtwo's complement number. The "u" and"s" conditions are correct only if the lastflag affecting instruction executed beforethe branch is SBA, CBA, SUB or CMP.

The fourth line contains a summary ofthe operations of the instruction in theAHPL language. AHPL stands for A Hard-ware Programming Language and is discussedby Hill and Peterson in Digital Systems:Hardware Organization and Design which ispublished by John Wiley and Sons Inc. Thenotation is taken from page 112 of thatbook. The upward and downward pointingarrows stand for various types of shifts. Theupward pointing arrow is a circular shift leftand the downward pointing arrow is acircular shift right. An arrow with a circle atits beginning denotes a shift with a zeromoving into the vacated end. The arrow withthe ditto mark (") is my own invention todenote a shift with the vacated end bitmaintained. The ® symbol is used to denotethe exclusive OR function. The left pointingarrow is the APL standard assignmentsymbol. If a condition flag is set to aparticular value by the instruction, the valueis indicated. Any condition flags that do nothave a particular notation follow the ordi-nary rules. Primes on the flag condition,such as v in the LSR, ROR and ASRinstruction, denote a special rule for settingor clearing that flag.

A nonstandard notation concerns thepushing or pulling of the stack. Pulling fromthe stack is accompanied by an increase inthe value of the stack pointer. The value isincreased by 1 in the PULA and PULBinstructions; by 2 in the RTS instruction;and by 7 in the RTI instruction. Similarly,pushing into the stack is accompanied by adecrease in the value of the stack pointer bythe appropriate amount."

CCR = xxhinzvc.

h = Half carry.

i = Interrupt mask.

n = Negative.

z = Zero.

v = Overflow.

c = Carry.

x = Don't Care, always 1

Table 2: Summary of thecondition flag codes thatare used in the chart.

Editor's Note . . .

The Holes in Opcode Space

Looking at this chart ofthe 6800 (or a similarchart for any processor)one sees numerous "holes"in operation code space.These holes are the yellowboxes. An interesting chal-lenge for the owner of amicroprocessor (or anycomputer) is to try andfigure out what happenswhen the forbidden op-codes are executed. Willthese exotica turn out tohave any uses? Or willthey simply be another setof NOPs? For example,look at the strange group-ing of the operation codes4X, 5X, 6X, 7X where X isany hexadecimal digit. 40,

50, 60, 70 are all negates,43, 53, 63, 73 are allcomplements, and variousarithmetic operations oc-cur for other values. Butthe operation codes 41,

51, 61 and 71 are nomi-nally undefined as are 4B,5B, 6B, 7B and severalothers. Could it be thatthose are operation codesthat weren't documentedin the literature becausethe masks of the LSI chiphad errors'1 Could it bethat they are supposedlyunimplemented but arereally just not documentedso that a "next genera-tion" processor can beachieved by simply releas-ing the paperwork and sell-ing "new" chips? It's anarea of personal researchwhich could prove quiteuseful: Whenever you finda new processor, examineit for missing opcodes andsee what wasn 't docu-mented — then try to fig-ure it out by writing pro-grams which execute "un-implemented" instructionsunder carefully controlledconditions.

42

for the 6800

00

'10'

' 20"

'30"

'40' '50' '60'

3 70"

' 80'

'903

' AO" ' B0' ' CO'

' DO3 ' EO"

3F0'

SBA

BRAr

TSX

NEG A B X

e

SUB A=

Ad

AX An B=

Bd BX

Be

nzvc

nzvc

nzvc

A- ■ A-B

PC-PC+r+2

IX-SP^l

OP- ~OP

ACC-ACC-OP

'01'

'11'

21

'31"

41

51

61

71

'81'

2913

'A15 3B1" L'C1'

'D13 'El"

'F1"

NOP

CBA

nzvc

nz*e f(A-6)

INSSP- SPi 1

CMP A#

Ad

AX Ae B-nzvcnzvc-flACC-OP)

Bd BX

Be

02

12

' 22''

'32"

42

52

62

72

' 82'

'92'

'A2S 3B2" 'C2'

' D21 ' E2"

3F2"

BHI i

PULA

SBC A-:

Ail

AX Ae B=

Bd BX

Be

(U1>U2)

A- TOS

nzvcACC- ACC-OP-c

03

13

' 23'

BLSi(UKU2I

'33'PULB

B- TOS

'43' '53' '63'COM A B XnzvcOP- -OP v Op I

3 73°

83

93

A3

B3

C3

D3

E3

F3

04

14

' 24'

'34'

'44' '54' '64'

374r.

'84'

'94'

' A4b ' B4' ' C4'

• D43 ' E4"

:'F4"

BCCi

DES

LSR A B X

e

AND A=

Ad

AX Ae B-"

Bd BX

Be

(c=0)

nzvc

nzv

SP- SP-1

(OP,c)-$(OP,c) n- 0

ACC-ACC NOP. v-0

05

15

'25"

'35'

45

55

65

75

'85'

2953

'A5!' 'B5' 'C5'

' D53 ' E5"

3F5'

BCS.

TXS

BIT A =

Ad

AX Ai- B=

Bd BX

Be

(c=1)

SP- IX—1

nzvnz-t(ACCAOP), v-0

'06'

'16'

'26'

'36"

'46' '56' '66'

5 76"

'86'

'963

'A6!' :'B6' 'C6'

' D63 ' E6"

•F6'

TAP

TAB

BNEr

PSHA

ROR A B X

e

LDA A =

Ad

AX Ac B=

Bd BX

Be

ihnzvc

nzv

(2-0)

nzvc

nzv

CCR- A

B- A. v-0

TOS- A

(OP.cl-MOP.cl

ACC- OP v-0

'07'

'17'

'27"

'37'

'47' '57' '67'

37?B

87

'97'

JA7t :.B7s

C7

'D7' :'E7"

iF7s

TPA

TBAnzv

BEQrU-1]

PSHB

ASR A B Xnzvc

e

STA Ad

AX Aenzv

STABd BXnzv

Be

A- CCR

A- B, v-0

TOS- B

(OP.c|-HOP,cl

OP

ACC, v- 0

OP- ACC. v-0

'08'

18

'28"

38

'48- '58' '68'

3 78"

' 88'

' 98'

A8'' 'B8' 'C8'

■ D83 E8"

'F8'

INX

BVC.

ASLA B X

a

EOR A----

Ac

AX Ae B=

Bd BX

Be

z

(v=0)

nzvc

nzv

IX-IX+1

(c.OPI-J (c-opl

ACC-ACC-i-OP, v-0

'09*

'19'

' 29'

'39'J

'49' '59' '69'

3 79'

'89'

' 99'

' A9° ' B9' ' C9'

•' D93 ' E9"

' F9'

DEX

DAA

BVSr

RTS

ROL A B X

e

ADC A=

Ad

AX Ae B=

Bd BX

Be

Z

nzvc

tv-1)

nzvc

hnzvc

IX- IX 1

A.CCR--| )

PC- DTOS

(c.OP)-t(c.OP)

ACC-ACC+OP+c

'0A'

1A

' 2A'

3A

'4A' '5A' '6A'

J7Ae

'8A'

' 9AJ

' AA" ' BA' ' CA'

'DA' 'EA"

3 FA'

CLV

BPL ,

DEC A B X

e

ORA A==

Ad

AX Ae B=

Bd BX

Be

V

(n=0)

nzv

nzv

v-0

OP-OP-1

ACC-ACCVOP, v-0

'OB'

'1B'

'2B'

'3B'"

4B

5B

6B

7B

'8B'

'9B'

'ABS 3BB' 'CB'

DB" :'EB"

3FB"

SEV

ABA

BMI r

RTI

ADD A=

Ad

AX Ae B =

Bd BX

Be

V

»> 1

hnzvcA<-A+B

(n-1)

ihnzvcRtl- 7S'K

hnzvcACC-ACC+OP

'OC

1C

12C'

3C

'4C '5C' '6C

3 7C"

J8C3

' 9C"

'AC 3BC5

CC

DC

EC

FC

CLC

BGEr

INCA B X

e

CPXS

d

X B

c

(S1>S2)

nzv

nzv

c-0

OP-OP< 1

nzv-fllX-

-DOP|

'OD'

1D

'2D'

3D

'4D' '5D' '6D'

37D"

'8D«

9D

'AD" ' BD''

CD

DD

ED

FD

SEC

BLTr

TST A B X

e

BSRr

JSRX e

c

(S1<S2)

nzvc

c*-1

nz-flOP) v-0 c-o

'OE'

1E

■2E*

'3E"

4E

5E

'6E"

37E3

J8EJ

'9E'

■AE" 'BE''

JCE3

■ DE' 'EE"

IFE!

CLIi

BGTr(S1>S2)

WAI

JMP X

e

LDS =

dnzv

X e

LDX =

d X

nzv

e

i-0

7Stk- Rg

np

SP- DOP

v-0

IX-DOP, v-0

'OF'

1F

'2F'

'3F"

'4F' '5F' '6F'

i7Fe

8F

'9F'J

'AF' >BF"

CF

'DF" 'EF'

JFF"

SEI

BLEr(SKS2)

SWI

i-1

CLRA B Xnzvc

e

STSd

X e

nzv

STXd Xznv

e

M

7Stk-Rg

OP—0,n—O.z—1,v-0,c

-0

DC

P-SP, v-0

DOP-^IX,v-i

J

43

A Train Control DisplayUsing the LSI-11 Microcomputer

Jack Hart

Digital Components Group Engineering

Ed Badger

System Diagnostic Engineering

Digital Equipment Corporation

Marlborough MA 01752

Figure 1: Model railroadtrack layout used in au-thors' system. During atypical demonstration,both trains leave theirsidings under control of aDigital Equipment Corpo-ration LSI-11 microcom-puter and are routed alongthe tracks according to acontrol program in thecomputer. Feedback sen-sors are used to verifytrain locations at strategictimes.

In order to demonstrate the applicationof a microcomputer to real world situations,a model train system was developed which iscontrolled by a Digital Equipment Corpora-tion LSI-11 microcomputer. Two modeltrains were used for the demonstration —one adhered to a fixed schedule while theother was directed along a path to make itavoid the first train.

HO model railroad components wereused. (HO is currently the most popular sizefor model trains and accessories amongenthusiasts in the United States; the scaleis 1/64th of actual size, but this can vary.)The layout includes some 75 feet of trackand 18 switches plus detectors to determinetrain locations and a programmable power

S4

supply to control train speed and direction.Control interfaces are used between thecomputer and the track for power. In addi-tion, switches are used to control trainposition and both station indicators andbillboards check train positions and provideatmosphere. A 60 Hz clock is used for a timebase, and peripheral devices are used for dataentry, status reporting and transferring com-mands to the train system.

As in many other such systems, the hard-ware and software elements of this systemcan be analyzed separately, but it is impor-tant to keep the interrelations between thetwo in mind. Thus, when a detector informsthe computer that a train is in a certain loca-tion, the control program must update the

STATION#3

STATION*- 2

STATION* 1

S18

SI SU

TRACK LAYOUT INDICATING 18 SWITCHES, 4 STATIONS AND 2 SIDINGS

STATION-#4

44

system's files so that the new location can berelated to the location of the other train.

Take the A Train

The operation of this electric train systemis straightforward (see figures 1 and 2).Upon startup, the trains are moved forwarduntil they trip the location sensors in theirrespective sidings. These location sensors areactually reed switches which will close in thepresence of a magnetic field. Each train is

MICROPROCESSOR a PERIPHERALS

VT52TERMINAL

<^>

^A

<T>

SERIAL A A.

LINE f y

UNIT V y

SERIAL A-LINE 'UNIT V-

7T

0

provided with a magnet for this purpose (thenext section describes these switches ingreater detail). After both siding sensorshave been tripped, the trains (called A and Bfor convenience) are individually broughtclear of the siding area.

The lead train A is switched to a stationand train B is diverted to the outer track.The software used to control the trains andkeep them separated is then employedthroughout the remainder of the LSI-11demonstration.

INTERFACE

c

RT02TERMINAL

<^>

LSI - M

MICRO-COMPUTER

OUTPUTS*

INPUTS <

RELAYDRIVER

TRACKPOWER

BILLBOARDS

AND STATION

SIGNS

SIGNALCONDITIONERS

TRACK AREA

-<C. \— REED SWITCHI

INPUTS <

OUTPUTS<

TTLTRANSLATORS

TRACK

FEEDBACK

SENSOR

FLIP FLOPREGISTER

FLIP FLOPREGISTER

SINGLE SHOTRELAYDRIVER

FLIP FLOPREGISTER

SINGLE SHOTRELAYDRIVER

TRACK

SWITCH

SOLENOID

Figure 2: Block diagram of the LSI-11 control system. The data bus is connected to two terminals used to input and displayinformation at the operator's control station. It is also connected to a special interface which is based on two hardware latchescalled parallel line units, or PLUs. These PLUs store command bytes coming from the microcomputer which in turn drive flipflops and relay drivers used to power the track and operate track switches. Commands from the computer are in the form of16 bit words. Each section of the track has been assigned a specific bit, and only those bits of the word necessary to change thetrack sections desired will change. Information from reed switches is also latched by the PLUs and sent back to the computerto be used in closing the feedback control loop.

45

HI! I'M AN LSI-11 MICROCOMPUTER

I'M RUNNING THIS RAILROAD TO DEMONSTRATE MY REAL TIMEMULTITASK FOREGROUND, BACKGROUND CAPABILITY. I MONITOR 27INPUTS AND CONTROL 32 OUTPUTS AND STILL HAVE MOST OF MYPOWER UNUSED.

STATION

BOSTONNEW YORKLOS ANGELESSAN FRANCISCO

STOP CODE

1234

ARRIVE TIME

DEPARTED *(1.)

+32 SECONDS *(1., 2.)

SCHEDULED *(1.)

;*"TIME***: * (2.)

* *

• 12; 38; 17 ;

Figure 3: A typeset example of the type of display generated by the authors'terminal. Such pertinent train information as arrival times and estimateddelays is available to the operator. "Arrival Time" messages vary between"ARRIVED," "DEPARTED," "+XX SECONDS," "DELAYED," "NEXTSTOP," and "SCHEDULED."

Operator instructions such as specifyingwhere the trains are to stop and requestsfrom the computer for instructions aretransmitted by an RT02 remote data ter-minal. The terminal has a 30 character key-board input and can display as many as 32alphanumeric characters. These character-istics provide all the capabilities needed forfull interaction between the operator andthe system. A full video terminal, the VT52,is used to display train information as well asadvertisements and time of day. The ter-minal is serially connected to the centralprocessor and operates at 9,600 bps. Multi-ple messages can be displayed on the screensimultaneously (see figure 3).

Software for the train demonstration canbe called "multitask." Tasks are assigned tobe either a foreground or a backgroundpriority status. There are 12 possible tasksrequired to run the train system, eightof which are in background. Foreground jobstake priority over background jobs by meansof interrupts. Since most of the jobs areexecuted on an "as needed" basis, theprimary job of the background is to actas a "wheel spinner" which cycles in a waitloop until called upon.

Photo J: Authors Hart(foreground) and Badgerperforming a differentkind of "engineering" withtheir LSI-ii controlledmodel railroad. Thesystem was on display atthe IEEE Electro 76 con-ference in Boston. Thedisplay was also seen bymany of our readers at thePersonal Computing 76conference in A tlantic CityNJ in August 1976.

TRAIN

MAGNET

JT

01

TO PLU2

REED SWITCH

Software execution in this system is con-trolled by a real time clock program modulewhich creates a reference base to coordinateall program operations. This particular clockmakes use of a standard 60 Hz power linefrequency which is passed through a lowpass noise filter and then transformed intoa train of square waves at TTL voltage level.These square waves are next fed to the BUSevent line of the LS1-11 where they createprocessor interrupts at each positive goingtransition of the waveform. Every 16.7 ms,then, control is transferred to the clock job,which regulates the "time of day" and"train arrival" displays on the video terminal.

Keeping Track of Your Trains

Neither train can be successfully con-trolled unless its location is known with agreat deal of certainty at any given time.This is done by processing information fromthe various reed switches and extrapolatingtimes of arrival at key points (eg: whentrain A is scheduled to arrive at a station).

As mentioned earlier, each train has amagnet mounted on it to activate the reedswitch sensors (see figure 4). Each sensor ispolled periodically to determine if a train ispresent. From this information it is possibleto compare train position against the scheduleand the time base to quickly tell if a train ison time or late; this information can be dis-played on the video screen. The reedswitches are connected to the input side ofparallel line unit number one (PLU 1,which serves as a data storage buffer to andfrom the computer) via a TTL translatorwhich converts the switches' status to theappropriate TTL voltage levels needed bythe PLU. PLU 1 's output is used to energizethe billboard signs and sections of trackunder control of the LSI-11.

r

oj

Powering Up

When two trains are to be controlledsimultaneously, as in this case, the simplesttechnique is to apply power to isolatedsections of track at the right times. The com-puter can differentiate between trains A andB by checking position and schedule and

Figure 4: Reed switch cir-cuitry used to send feed-back information to themicrocomputer. When atrain passes by, the mag-netic field causes theswitch to close, pullingthe signal line down toground potential; this sendsa signal back to the inter-face (and finally to thecomputer) that a train ispassing.

MORE POWER TOYOURALTAIR*

12 AMPS @ 8v. (nominal)2 AMPS (S) ±16v.

At any line voltage from:

90 to 140 volts.

Installs easily inside any Altair* 8800 or8800a.

Over voltage and over current protected.Conservatively designed and specified.

only $90.00

postpaid in the U.S.A.California residents add

mastei charge

$5.40 sales tax.

PARASITIC ENGINEERING

PO BOX 6314

ALBANY CA 94706

"Altair is a trademark of MITS Inc.

47

Circle 53 on inquiry card.

+ 5V

+ 5V

O

FROM PLUI <

o

Figure 5: Computer con-trolled track power cir-cuitry. Inverted logic levelscoming from PLU I drivetwo types of relays. Thefirst type (represented byrelay 1 in this illustration)chooses the polarity of thevoltage going to the track,while the second type (re-lay 2 here) applies powerto the track. Only certainstrategic areas of the trackrequire polarity switching.

RELAY I

i

o

H>

RELAY 2

Ill

FROM PLUI <

T

+ 8V

O

<*.

then creating the proper track energizationsequence to control the trains. There is oneproblem in using PLU I's output to energizethe tracks: its TTL output power is too lowto drive the HO trains being used. Thisproblem can be solved by the use of relays(see figure 5).

Relaying Information

Two types of relays are employed. Forthose sections of track which are simply tobe turned on or off, a single pole relay issufficient. When power is required, theappropriate output word is transferred to

1

^ o

TO RAILS

PLU 1, which causes the desired relay to beenergized. This in turn applies power to thetrack. When power is no longer required,PLU I is updated with a new word and therelay is de-energized. Some tracks, however,have reversing capabilities which require notonly power but also one of two polarities fortrack voltage. Figure 5 shows how two relaysare used to do this: relay 1 chooses thepolarity of the track based on a commandfrom PLU 1, while relay 2 applies power tothe track, again on a command from PLU 1.Each time a command isgiven, a single 16 bitword is written into the output data buffer

INSULATINGTIES

3V

I

RIGHTLEG

SOLENOID

O TO PLU2

Figure 6: A typical fork (or "turnout") In the track. In this illustration, the turnout is positioned to divert the train to the leftleg. These solenoid controlled mechanisms act as their own sensors. One leg of the switch is either grounded or ungroundeddepending on its position. This is used to provide a logical 0 or 7 output to the computer for confirmation of the switch's posi-tion. The solenoid is illustrated in figure 7.

48

PLU 1. Each section of the track has beenassigned a specific bit and only those bits ofthe word necessary to alter the status of thetrack section in question will change.

A Successful Turnout

Another aspect of control is the "turn-out" switch (see figure 6). Turnout is arailroading term for a fork in the trackwhich divides it into two branches. Thisterm is used to avoid confusion with theelectrical switches. The turnout settingswill obviously have to change as a functionof the two trains' positions and the pro-grammed routes. The current status of aturnout must be determined by the com-puter before a train can pass through. A de-railment will occur, for example, if the trainproceeds from either leg of a turnout againstthe current setting. The turnout mechanismsin this system have been modified to act astheir own sensors. One of the two movinglegs of the turnout is electrically isolated in

SWITCHLEFT

SWITCHRIGHT

o_

O-

\y

c^-

3 -

^37

AC

:ommon

TO SLIDE OFSWITCH TRACK

SOLENOID CONTROLLED SWITCH TRACK

one position and grounded in the other. It isconnected to a +5 VDC level (TTL) througha pullup resistor so that its output, whichgoes to parallel line unit number 2 (PLU 2),is either high or low depending on theswitch's position.

A software routine controls the turnoutmechanisms by indexing the track table inmemory to determine which track switchesmust be thrown to get both trains to theirnext checkpoints. It then moves the turn-outs to the required position, waits until themechanical motion of the switches is com-

Figure 7: A turnoutsolenoid. This type ofsolenoid can be activatedin either direction becauseof its center tapped coil.Application of voltage tothe desired side of the coildetermines the directionof throw.

DATA INPUTFROM PLU2

NEWDATAHEADY

}^>

I SECOND

_TL

+ 5VDC

>

Ol

ITO TURNOUTSWITCH

TO TURNOUTSWITCH

Figure 8: Coil activation circuitry. The coils used to energize the track solenoids cannot be energized 100% of the time (a 100%duty cycle) without burning up. This circuit uses flip flops and delay elements to provide a one second pulse to a relay where itis converted to 17 VAC, sufficient to activate the solenoid. This illustration, like the rest in this article, is intended to illustratea concept rather than to serve as a basis for actual construction.

49

pleted, and checks the new switch position.Each track switch is moved by a solenoid asshown in figure 7. This type of solenoid canbe activated in either direction because of itscenter tapped coil: application of voltage tothe desired side of the coil determines thedirection of throw.

Mortal Coils

Activating each solenoid requires a fairlyelaborate arrangement, since PLU 2 has only16 bits in its output word, while 32 controlsignals are actually required for all left andright solenoid positions. Further, the sole-noids cannot merely use a level converter toincrease the output control signal of PLU 2:such solenoids cannot be constantly ener-gized at the required level without burningup. Figure 8 shows a circuit which convertsthe incoming signal to a level of 17 VACused to energize the solenoid. The initialsignal is sent to IC1, a hardware latch withboth inverting and noninveerting outputs.This latch is used to buffer the incomingdata. A 75 ns delay is used between theinverted output of the latch and the clock offlip flop IC2 to allow the data level to settleto its correct value before being clocked in.

A logical 1 signal from PLU 2 will cause IC2to go high and activate the coil. Anotherdelay circuit from the inverted output ofIC2 feeds back to the clear line and turns therelay coil off after one second. All of thiscauses the turnout switch to move to itsright hand position. Shifting the switch tothe left involves the same type of procedure.To insure the correct initial conditions, asoftware routine in the LSI -11 places allturnout switches in the left hand positionfollowing startup.

Off the Beaten Track

An emergency (eg: a train derailment)will occasionally occur which requires animmediate halt to all operations. A provisionon the RT02 data terminal keyboard permits"panic stops" in such circumstances. Tobring a more normal, orderly halt to thesystem, an appropriate command is enteredinto the data terminal: this sends train A tostation 1 and train B to station 4. When trainA reaches its station, power is reversed onthe tracks so that it will back into siding 1.Train B is similarly backed into siding 2,which signals the end of a very tractablesystem demonstration!"

Let's talk about a Real Bargain

It's the Typewriter/Terminal from AJ

We have hundreds of ready-for-lease, or

ready-for-sale terminals that have

been refurbished and repriced

to make them a truly

outstanding

bargain.

Use it as a typewriter!

Our AJ 841 features the heavy duty Selectric IBM mechanism to give

you fast, dependable operation day after day. Use it in the office. Use

it at home. At our price, it's an economical typewriter.

Use it as a terminal!

The 841 incorporates our own SELECTRONICmechanism that turns it into one of the most usefuland reliable computer terminals on the market.Thousands are in operation today. Your choiceof EBCD or Correspondence Codes, with APLas an option. It will interface with almostany IBM computer.If you can use an efficient, low costcomputer terminal, here's your chanceto get one for about the price of a goodtypewriter alone.If you're interested, call AJ Marketingat 408 -263-8520, Extension 280,or write for more details.

w

ANDERSON

521 Charcot Avenue • San Jose, CA 95131 ■ (408) 263-8520

EASTERN REGION/Hackensack, N.J. (201) 488-2525 ■ CENTRAL REGION/Northbrook (Chicago), III. (312) 498-4220

Circle 14 on inquiry card.

50

wmm*

Dealyourself in

Atlantic City, N.J.August 27th-28th

What its alt about!

Software Development

Micro Computers

Hardware Development

Disc Memories

Computer Comparisons

Interfacing

Program Implementation

AMSAT

Computerized Music

Video Terminals

Kit Construction

Printers

Computer Games

Digital Tapes

• Seminars and Technical talks by leading electronic equipment manufacturers

• Major Exhibits from all over the country

• Demonstrations in many areas including Home and Personal Computing

• Door Prizes, Free Literature and Free Mementos

• All this plus Sun and Surf - Fun and Excitement - Relaxation and Leisure

SPECIAL GROUP RATES FOR CLUBS ANDPPrSOriell ORGANIZATIONS TRAVELING FROM THE WEST

COAST AND MID-AMERICA.

U""M-' Seven Seas Travel

Dawn Corrigan 17220 S. Norwalk Blvd.(213) 924-8383 Cerritos. CA. 90701

^ Computing

Write for FREE TRIP-KIT to PERSONAL COMPUTING 77,Rt 1, Box 242, Mays Landing, New Jersey 08330

ft Consumer Trade Fair

EXHIBITION BOOTHS STILL AVAILABLE - CALL (609) 653-1188

gfc^fc^MMtarifetfMktflMlmm********MiMMI

The TV Oscilloscope

Or, Some Notes on Building a Display

Photo 1': A "typical" dis-play. This shows the com-pleted display in opera-tion. The large blockletters are reverse videospaces. The use of blank-ing prevents generation ofany signals at the top orbottom of the screen andkeeps the visible portionof the display within thelinear region of the TV set.

Kenneth BarbierPOB 1042Socorro IMM 87801

Although conceived and designed in-dependently, the display circuitry in myCRT terminal is virtually identical to that ofCW Gantt in his article "Build a TelevisionDisplay" on page 16 of June 1976 BYTE.The major difference is that I did not use theMM5320 sync generator, and my display istherefore not interlaced and its horizontalsweep is not exactly at the usual TVhorizontal rate. My display, shown inoperation in photo 1, consists of 24 lines of64 characters, with a frame consisting of 270raster lines repeated 60 times per second.With this formulation I have a timeallotment for 27 character lines with tenraster scan lines per character. The extrathree character line positions representoverhead for vertical sync.

In a TV set the interlacing is producednot by the hardware within the set, but bythe nature of the incoming sync signal. By

using a decode of what would have beencharacter line 26 (raster lines 251 thru 260)as the vertical sync, and a decode ofcharacter column 72 as the horizontal sync,the generator produces a horizontal syncfrequency of 16,200 Hz. The TV set ishappy with these small deviations from itsusual sync diet, requiring no readjustmentwhen used for its original purpose.

Another difference between the twoapproaches is in the size of the display. Iwanted no fewer than 64 characters per linein order to be compatible with existingsoftware written for a Teletype terminal.And to be consistent with more charactersper line, using more lines per frame preservesthe character's aspect ratio: the ratio of itsheight to width.

With 64 character spaces each seven dotswide, plus sync and retrace time allowancesof about 20%, I found my dot rate would be

DOT

COUNT

■^7

<f

CHARACTER

COUNT

-^64

AO Al A2 A3 A4 A5

DISPLAY RAMADDRESS, LOWORDER

DOTDECODE

H SYNCCOUNT

HORIZ SYNC

SCANCOUNT

dT

DOT 0 I 2 3 4

TO CHARACTERGENERATOR

TO CHARACTERGENERATOR

RETRACE

COUNT

tIO

LINECOUNT

drFT

^CHARACTERRESET

A6 A7 A8A9 AIO

DISPLAY MEMORYADDRESS, HIGH ORDER

^VERTSYNC

RESET

Figure I: Block diagram ofa television display. Thisversion is very similar tothe display described byC W Gantt in June 1976BYTE, page 18. The pointsIndicated by circlednumbers are used as de-scribed in the text to gen-erate the various testpatterns shown in photos2, 3, 4 and 6.

52

AND Using It as a Synchronous Test Instrument to Debug Itself .

something over 9 MHz. How to push allthat through a commercial TV set front end?No way! I never even tried. So I had toinvent my own TV set interface which wasdescribed in my short article in July 1976BYTE, page 38.

A simplified block diagram of the timingportion of my terminal is shown in figure 1.Since it varies only slightly from that ofGantt's, I have not included a completedetailed circuit diagram or explanation. Atthe block diagram level it can be seen that anoscillator drives a dot counter and decoderto produce a scan of the five dots making upeach line of a character, followed by twodots worth of spacing. The seventh dot isused to increment the character counter,which counts the 64 characters to bedisplayed in each line. The end of the line isa count corresponding to what would havebeen character 72; this is used to incrementthe scan counter. The 65th thru 72nd charac-ter positions are timing overhead allowingtime for horizontal sync.

The scan counter counts ten scan lines:one blank line above the characters, theseven raster lines comprising the characters,a blank line below the characters, and a lineon which an underline or cursor positionmarker can appear. At the end of the tenthscan line, the character line counteradvances. There are 24 displayable characterlines numbered 0 thru 23. Line number 24 isfor spacing at the bottom of the frame, linenumber 27 is reserved for the vertical syncand retrace time, and line number 26 is ablank line at the top of the screen. (Lines are

numbered 0 to 26 consistent with the 27binary states of the line counter.)

The outputs of the character counter (0thru 64) and the line counter (0 thru 23) areused to address the display's programmablememory of 2048 bytes on two boards of1024 bytes (1 K bytes) each. Only 1536bytes of this memory are used in the display;the remainder is available to the processorfor normal programming purposes. Theprocessor can both write into the program-mable memory area and read data from thismemory. However, these operations shouldtake place during vertical retrace time toavoid visible glitches. The processor needs toaccess the display memory in order to movethe cursor around without disturbing thestored characters, and in order to implementscrolling when writing more than 24 lines.Being able to read and write the displaymemory makes it possible for these func-tions to be implemented entirely insoftware.

Enabling the processor as well as thedisplay to read the memory also makes thehardware more complex than Gantt's. Hisapproach was to implement a display only,mine was to build a smart video terminal.Both are built of the same foundationblocks: a sync generator, a memory addresscounter, and a character generator.

Whatever approach you might take, onceyou have built a composite sync generatorand interfaced it to a TV set you have apowerful tool for developing the rest of thesystem, the main theme of this article. Bybreaking the video line shown on Gantt's

About the Author

Ken Barbier is an elec-tronics technician em-ployed by National RadioAstronomy Observatory,Socorro NM. In support ofthe construction of thelargest radio telescope inthe world, he has beendesigning and buildingmicrocomputer controlledautomatic test equipmentfor the project's DigitalControl System. This giveshim the opportunity todivide his time betweenhardware design and pro-gramming. His otherhobbies include building amicroprocessor controlledbridge game, and flying,preferably without anengine.

LINE BLANK

COMP BLANK

(a)

PC EDGECONNECTOR

TO VIDEO MIXER

OR

RF MODULATOR

PC EDGECONNECTOR

Figure 2: (a) A modification of the Gantt televison display circuit, of page 18, June 1976 BYTE, to use this test instrumenttechnique. The line from IC7 pin 12 to the video level potentiometer is broken so that input to the video mixer, and thus to theTV, Is taken from some arbitrary point under test rather than the usual source, (b) The author's video output circuitry, with asimilar clip lead jumper normally in place for display purposes, but free to be moved around for testing purposes.

53

M M M * M rr r

Photo 3: Moving the alli-gator clip probe to addressbit 7 at point 2 in figure Iyields this display. Herethe line counts of severallines are shown at the leftof the picture.

Photo 2: Exploring the cir-cuit with the probing alli-gator clip produces variousinteresting signals. Herethe clip looks at addressbit I, point I on figure I.This signal changes stateevery other character posi-tion, giving vertical barstwo character widths wide.Note the distortion at thetop of the image, not nor-mally seen due to blankingof the display.

Photo 4: Looking at asingle dot position. Whenthe alligator clip is movedto point 3 on figure I, thispattern is produced. Eachcharacter has seven hori-zontal dot positions, ofwhich two are inactivespacing positions, and fiveare used for character gen-eration.

Photo 5: A garbage displayfield, obtained by theapplication of power tothe memory. Each chiphas a preferred start-upvalue, so this pattern tendsto be the same wheneverone turns on the display.In this picture, blankinghas been suppressed, sothe distortion due to non-linearities at the top of thescreen is quite visible.

schematic (June 1976 BYTE, page 18)between the output of IC 7 pin 12 and thelevel control and bringing it off the printedcircuit board through the edge connector,we can insert an alligator clip lead in series asseen in figure 2a. The equivalent connectionmodifying my own interface, published inJ uly 1976 BYTE, page 38, is shown in figure2b. Now by using the clip lead as a testprobe, any TTL level signal within thesystem can be displayed on the TV setto facilitate system development anddebugging.

This TV oscilloscope will display signalsas intensity modulation within the displayfield area, instead of as the verticaldeflection on a real oscilloscope. Since thehardware we are building operates insynchronism with the field produced by thecomposite sync, and since our signals are alldigital with a TTL logical 0 showing as whiteand logical 1 as black, this is not a realdisadvantage.

For example, probing around in mysystem I can display the output of the nextto least significant bit of the address to thecharacter storage memory as seen in photo2, test point 1 on figure 1. This outputshould change state for every other characterposition in the line. Counting the number ofbars in this picture, I saw that not all of the64 characters were going to be visible, sincethere are less than 32 bars showing in thisdisplay. This told me that some adjustmentshad to be made in the relationship betweenthe character counter, the horizontal sync,and the time allowed for retrace. Also, asseen at the top of the raster in photo 2, thehorizontal sync is imperfect following thevertical retrace. This came about in mysystem since the widths of the sync andequalization pulses were not made the sameas TV standards. Since none of the 24 linesto be displayed are affected, I concludedthat there was no need to cure this"problem."

Photo 3 is another of the address lines tothe memory, in this case the bit which willchange state once every other character line(test point 2 in figure 1). The line counts forseveral positions are shown on this picture.

A single dot time (one of seven percharacter) as displayed on the TV oscillo-scope is shown in photo 4 from test point 3,figure 1. Examining this photo we mightexpect some smearing of the characters tooccur when the character generator isconnected, since the "dots" are wider thanthey are high. This is a result of the TV settrying to display a 9 MHz dot rate.

Up to this point we have been able to usethe TV oscilloscope to test the portions of

54

ASSEMBLY AND OPERATING MANUAL $4.00

PLEASE PRINT OR TYPE

SEND CHECK • MONEY ORDER • COD'S ACCEPTED • CREDIT CARDS

SEALS ELECTRONICS, INCP.O. BOX 11651KNOXVILLE, TN 37919

MOST ORDERS SHIPPED WITHIN 10 WORKING DAYS

[Write in each box the quantity of each part required]

KIT ASSEMBLED KIT ASSEMBLED

] WWC "1 68EXT-L|~H

"2 68WWC [] CH BBUC | |

88 EXT68EXT-S

STATE.

ZIP.

- E l I I I 11 I I i

^™ r."."V| | ilu

L

[READ ONLY MEMORY]

ept up to 16 ea. 1702-A or 5203 EProm Providing up to 4096Aiords of non-volatile memory for Boot Loads to Complete Programs.Programming Available at Factory for $3.00 per EProm when accom-panied by binary formated tape.

■ Each 1702-A has its own Vgg clocked for Low Power Consumption.

■ Will work with the weakest power supply based S-100 buss computer.

■ Switched Selected Address in 4K Blocks.

■ Switch selected wait states so that even the slowest 1702-A can workin your system. 0-8 wait states.

■ Solder Masked on both sides of PC Board.

■ Component Screened on Component Side of PC Board.

Kit Price: . . $119.00 Assembled Price: . . .$179.00

[STATIC MEMORY CARD FOR SWTPC 6800]

8192 Words of Static Memory

Access Time: 500 nsec. (250 nsec on request)

Memory Chip 91L02 APC

Battery Standby

Address Selected 8 Ea. SPST Dip Switch

Low Power

All Lines Buffered.

All IC's with sockets

Solder Masked on both sides of PC Board.

Assembled Price: . . .$359.00

STATIC MEMORY CARD]

rAIR®IMSAi®and S-100 buss compatible.Access Time: 250 nsec max.Ziloq Speed Compatible up to 4 mhz.Memory Chip: 2102LHPC or 2102AL-2Battery Standby: >1.5 to 4 volts<Address Select: 8 ea. Spst. Dip Switch.Wait States: None

Current Reg.: Less than 200 ma per 1KAll Address, Control, and Data out lines fully buffered.All IC's supplied with IC SocketsSolder Masked on Both Front and Back of P.C. Board .

Kit Price: . . $295.00 Assembled Price: .

.$395.00

OTHER SEALS ELECTRONIC PARTS AVAILABLE

Item No.

Description

8KSC

8K Static Memory Card 500 nsec

WWC

Wire Wrap Card

88 EXT

88 Extender Card

68 Ext S

Extender Card (Small) Bwt«i680apwnR»t.w<

68 Ext-L

Extender Card (Large)

68 WWC

Wire Wrap Card swrpcoBtxicoiinutitimptotWcii

BBUC

Battery Back-Up Card

Kit Price Assembled Price

$269.00$ 37.50$ 29.00$ 19.00$ 29.00$ 35.00$ 55.00

$369.00$ 47.50$ 38.00S 25.00$ 39.00$ 45.00$68.00

ORDER DELIVERY: FROM STOCK TO 10 DAYS

niSEni-SiiV

ELECTRONICSJNC.

TELEPHONE # 615/693-8655

Circle 15 on inquiry card.

Photo 6: A map of thepreferred states of onememory chip. By tappinginto just one of thememory data lines withthe display probe, it ispossible to generate a mapof the data. This data isidentical to that of photo5, but we are now lookingdirectly at one bit, insteadof generating charactersfrom 8 bit byte groupingsof several chips. This sametechnique of looking atone bit can be done withnormal programmed dis-plays, too, rather than theturn on pattern used here.

the system that scan the dots making up thecharacters and the scanning of the memoryaddresses. When all is well to this point, wecould connect the programmable memoryaddress lines to the data inputs of thecharacter generator and display one of eachcharacter, as Gantt did on page 17 of June1976 BYTE.

The next step is the connection of thedisplay memory to the address lines, withthe display memory data going into thecharacter generator. Turning on the system

with the probe on the character generatoroutput, we find that the memory contentswill initially be an arbitrary pattern,producing a screen full of garbage as inphoto 5. Note how the horizontal "pulling"at the top of the screen distorts thecharacters in the top line. As this is actuallyline 26, it is not used in the display, and willdisappear after the "blank" signal isconnected as in figure 2b.

The arbitrary pattern is not totally so,since a virtually identical pattern will appearwith each turn on. This is due to built-inasymmetries in the memory chips, with eachbit having a preferred state to come up inwhen power is initially applied. We canconnect our clip lead to one bit of thememory data as in photo 6 and see that eachmemory chip in the 2 K by 8 bit array has aunique pattern visible in these preferredstates.

In photo 6, notice the obvious division inthe pattern about two thirds of the waydown the display. This corresponds to thedivision between the lower 1 K (lines 0 thru15) and the upper 1 K (lines 16 thru 23) ofmemory, which use different chips.

After we connect the processor to theinput side of the memory, we can use thissame TV oscilloscope connection to examinethe setting and resetting of each bit at eachaddress under program control. Setting thememory to all zeros, each bit we turn on willappear as one black block in the display. TheTV oscilloscope can thus be used to insurethat the processor and display address

Photo 7: Physical layoutof the equipment. Theauthor's display is shownhere as it was built onprototyping cards with abus wired backplane be-tween connectors. The cliplead is shown here at-tached to memory addressbit 7, as used to generatephoto 3. The computerand keyboard are in theforeground.

i ^ ]>

..-A ,5 3 «

2&Stfr

i£4_JB

i 8 m$Mi I

wife

7

56

correspond correctly, and that data iswritten correctly. (Of course, we could justas well have put some message on thedisplay, too.)

Photo 7 shows the hardware in mysystem. The clip lead can be seen connectedto the display memory address line out ofthe timing board which was used to producethe display in photo 3. Since all of the dotsignals, scan line signals, memory addresses,and the memory read and write data busesall appear on the backplane wiring of thesystem, virtually everything in the system isaccessible to the TV oscilloscope testinstrument.

For even more versatility in the TVoscilloscope, it might be useful to add anAND gate and another clip lead, so that theexact timing relationships between twosignals could be determined. Alternately,one of the signals could be added into thevideo at a different level to produce a grayimage so that the two signals could bedifferentiated. [For looking at programmedbehavior, the same technique can still beused if the vertical or horizontal sync signalis used as a timing cue. Much more couldobviously be written on this subject asreaders adapt Ken's idea to personal use . , .CH/"

BYTE's Bugs

A Structure Glitch

RESOLVEFORWARDREFERENCE

DUMPSYMBOLTABLE

I I

Jack Emmerichs called upon hisreceipt of April 1977 BYTE and re-ported a couple of errors in the execu-tion of figure 3 on page 66. (As Murphy'slaw would have it, figure 3 was movedto the first part of the article at the lastmoment at lack's request, and he didnot get to see author proofs for thatone figure.)

The major glitch is corrected bynoting the above segment of the dia-gram in its proper form. Two minorerrors are an extraneous "level 3" atthe lower left of the diagram, and anextraneous "Compare Strings" box inthe "General Service Routines" shownat the lower right of the diagram."

COMPLETEFLOPPY DISK SYSTEMFOR YOUR ALTAIR/IMSAI$699

That's right, complete.

The North Star MICRO-DISK SYSTEM™ uses the Shugartminifloppy™ disk drive. The controller is an S-100 com-patible PC board with on-board PROM for bootstrap load. Itcan control up to three drives, either with or withoutinterrupts. No DMA is required.

No system is complete without software: we provide thePROM bootstrap, a file-oriented disk operating system (2kbytes), and our powerful extended BASIC with sequentialand random disk file accessing (10k bytes).

Each 5" diameter diskette has 90k data byte capacity.BASIC loads in less than 2 seconds. The drive itself can bemounted inside your computer, and use your existing powersupply (.9 amp at 5V and 1.6 amp at 12V max). Or, if youprefer, we offer a power supply ($39) and enclosure ($39).

Sound unbelievable? See the North Star MICRO-DISKSYSTEM at your local computer store. For a high-performanceBASIC computing system, all you need is an 8080 or Z80computer, 16k of memory, a terminal, and the North StarMICRO-DISK SYSTEM. For additional performance, obtainup to a factor of ten increase in BASIC execution speed byalso ordering the North Star hardware Floating Point Board(FPB-A). Use of the FPB-A also saves about 1 k of memory byeliminating software arithmetic routines.

Included: North Star controller kit (highest quality PCboard and components, sockets for all IC's, and power regula-tion for one drive), SA-400 drive (assembled and tested),cabling and connectors, 2 diskettes (one containing file DOSand BASIC), complete hardware and software documentation,and U.S. shipping.

MICRO-DISK SYSTEM ... $699 To place order, send

(ASSEMBLED) $799 check, money order or

ADDITIONAL DRIVES. . . $425 ea. ^ or MC card* with exp.

0._^-Tr.„ Z. __ date and signature. Uncer-

DISKETTES $4.50 ea. tifted checks require 6

FPB-A $359 weeks processing. Calif.

(ASSEMBLED) $499 residents add sales tax.

NORTH STAR COMPUTERS, lf\lC.2465 Fourth Street »Berkeley, CA 94710 '

57

Circle 16 on inquiry card.

Continued from page 6

SERIAL ELECTRONICINTERFACE

BUBBLE TOELECTRONIC

INTERFACE

"^

c

MAJOR LOOP WITH PARALLEL TRANSFER TO MINOR \\ LOOPS AND BACK

&1k-k-k&Akk---kkA-A-kA-A-&

64I

BIT POSITIONS /IN EACH MINORLOOP

v_y

w

\-S

W

v_y

\^y

W

ELECTRONIC

TRANSFER CONTROL INTERFACE(MAJOR TO MINOR, MINOR TO MAJOR,OR CIRCULATE )

W W

I44 MINOR LOOPSHIFT REGISTERS

Write Operations:

1. Serially load major loop

2. Align minor loops to desired record

3. Transfer major loop to minor loops' top bit position

Read Operations:

1. Align minor loops to desired record

2. Transfer minor loop's top bit position to major loop

3. Serially unload major loop and use data

Figure I: Conceptual dia-gram of a magnetic bubblefilm memory. This dia-gram is concocted from ageneral knowledge of theway bubble memorieswork, with captions baseden the figures given byTexas Instruments' pressrelease on the TBM0I03memory part. The mem-ories to be used mustalso have support hard-ware (or software) tosequence the various stepsneeded to randomly orserially access desired 144bit blocks stored in thechip's minor loop shiftregisters.

consists of serially loading the 144 bits intothe major loop, then transferring all 144 bitsinto the minor loops; reading is done inreverse order by copying the currently posi-tioned bits of all 144 minor loops into themajor loop then serially reading the majorloop. The result is a nonvolatile file storagedevice which has 641 blocks of 18 bytesper block, a total of 11,538 bytes in one14 pin dual in line package measuring 1.0by 1.1 by 0.4 inches (2.5 by 2.8 by 1.0 cm).Using a volume parameter for memorydensity, this elephant of a memory stores200,000 bits per cubic inch (13,000 bits percubic centimeter) in a nonvolatile magneticmedium.

With this short introduction to theexistence of a new low cost, high densitymemory system, what are the ramificationsof such a part for the personal computinguser? I'll confine my comments to twomajor classes of application for the memory,applications which take advantage of itsnonvolatility, low cost of.22 cents per bit insample quantities, and the large size of eachpart's memory. The first class of applicationsfor the bubble memory is as nonvolatilefile storage in minimum size personal com-puting systems analogous to pocket calcula-tors; the second class of application is as

on line file storage for larger general purposedesk top or console personal computers.Superficially, the difference between thetwo classes of application is in the numberof these bubble memory parts used with theproduct.

What Can You Do with J ust One?

Consider first the pocket programmablecalculator. At the April 6 1977 meeting ofthe New England Computer Society, BevPettit of the Hewlett-Packard calculatorsales office in Lexington MA gave an excel-lent presentation of the functional capa-bilities of the new HP-67 and HP-97 calcula-tors, two products which represent theultimate in pocket calculator performanceto date. These machines can be used toperform fairly sophisticated problems, withoverlay structures for data and programmaterial swapped using the magnetic cardmedium incorporated in the design. But, themachines are limited by the fact that thereis a finite set of data registers (26, if I recallcorrectly) and 224 programming steps. Whatwould be the impact of adding a bulk pro-gram storage facility implemented with theTl bubble memories or equivalent? Viewedonly as a calculator, with 8 bit commandcodes for each function, just one such bub-

58

ble memory chip would lead to a devicewhich could permanently store interpretivecalculator programs with an aggregate totalof 11,538 program steps, or an improvementof program capacity nearly two decimalorders of magnitude. Or viewed as datamemory, the same single chip could ac-comodate over 1400 floating point numbersin an 8 byte representation. (I have noinformation on the details of the HP-67'sinternal representation, but assumingthirteen 4 bit BCD mantissa digits, twoBCD exponent digits, and one 4 bit fieldfor signs, an 8 byte floating point representa-tion is a fair estimate for the typical calcula-tor's characteristics.) But simply to generalizethe calculator's programming techniques toa much larger program and data storage fieldis not the ideal situation. For example, theHP-67 and HP-97 systems use an interpretive"label" operation code to identify placeswithin a program. When the label isreferenced by a "go to" command or "callsubroutine" command, the internal opera-tion is to search linearly through the pro-gram memory field looking for a labeloperation code followed by the correctidentification. This works quite acceptablyin a calculator with a 224 step capacity, butwould produce unacceptably long delays in amemory field of the size represented by justone of these new bubble memory chips.

As the new capacity gets incorporatedinto the small personal computers calledprogrammable calculators, we can expect tosee the beginnings of more sophisticatedcalculator operating systems and interpreterswith features needed to take advantage ofsuch memory. The lowly hand held calculatorwill start having the data management fea-tures of the magnetic disk based minicom-puter, but miniaturized to numeric symbolsand smaller total capacity. Perhaps we mighteven see a limited (ie: somewhat inconvenientfor touch typists like myself) alphanumericdata storage mode for program names andvariable symbols in the next generation ofcalculators, reminiscent of the "Minisec"of Arthur C Clarke's Imperial Earth whichI summarized in my April 1977 editorial.

What Can You Do with Just "N"?

In a more expensive console or tabletoppersonal computing system, the same charac-teristics of nonvolatile electronically con-trolled bulk storage which expand the cal-culator concept can be applied to the generalpurpose computer system concept. Basically,the bubble memory makes possible a verylarge totally electronic on line buffer storagememory, at a price compatible with personalcomputing economics. Since the memory is

Articles Policy

BYTE is continually seek-ing quality manuscripts writ-ten by individuals who areapplying personal systems, orwho have knowledge whichwiU prove useful to ourreaders. Manuscripts shouldhave double spaced type-written texts with wide mar-gins. Numbering sequencesshould be maintained sepa-rately for figures, tables,photos and listings. Figuresand tables should be providedon separate sheets of paper.Photos of technical subjectsshould be taken with uniformlighting, sharp focus andshould be supplied in the formof clear glossy black and whiteor color prints (if you do nothave access to quality photog-raphy, items to be photo-graphed can be shipped to usin many cases). Computerlistings should be suppliedusing the darkest ribbons pos-sible on new (not recycled)blank white computer formsor bond paper. Where possible,we would like authors to sup-ply a short statement abouttheir background and experi-ence.

Articles which are acceptedare typically acknowledgedwith a binder check 4 to 8weeks after receipt. Honorar-iums for articles are basedupon the technical quality andsuitability for BYTE's reader-ship and are typically $25 to$50 per typeset magazinepage. We recommend thatauthors record their name andaddress information redun-dantly on materials submitted,and that a return envelopewith postage be supplied inthe event the article is notaccepted."

59

Microcomputer

Quay 80AI

does much more

with the Z-80,

0U3H

This dynamite new microcomputersystem in a kit moves data like nothingelse on the market. Run it alone orplug it into an S100 bus Altair/IMSAI.For solo performance, all you need is•an unregulated power supply and anI/O device, Plugged in, Quay 80AI is aCPU, ROM, SIO, and RAAA board—runany 5100 compatible device. BUTMORE THAN THAT. Quay 80AI's Z-80CPU opens challenging new areas ofpersonal computing.

Features

D S100 bus compatible. Plugs in one slorofyour Altair or IMSAI.

D Z-80 w/2.5 MHz clock.

D 1 K static RAM.

D 512 byte (ROM) monitor. Comes uprunning. Inspect, alter, dump, and loadmemory; set breakpoint jump to userprogram. Handles serial I/O or keyboardinput, including setting baud rate.

D 4 UVEPROM (2708) sockets.

□ Serial I/O. P5-232 and 20 ma interface.

D Parallel keyboard input. AccepR stan-dard ASCII keyboard.

D UVEPROM programmer. Program 2708type UVEPROMs.

O 2 phase clock and sync. Run 5100 com-patible peripherals.

□ 158 instructions. All 78 3080 instructionsplus 80 new powerful instructions.

□ On board voltage regulators.

Quay 80AI in a kit is $450; factory as-sembled, $600. Send for completedetails. Or for fast action call 201-681-8700.

Mastercharge ond BankAmericard accepted. COD with1/3 deposit. NJ. residents odd 5% soles tox. Wee doesnot include shipping ond handling.

Dealer inquiries invited.

CORPORATION

P.O. Box 386, Freehold, NJ. 07728Phone: 201-681-8700

Circle 17 on inquiry card.

otoit it!

Given a choice for

your home computer

investment,

you'd want

city. With an appropriate operating systemand high level language built into the readonly memories, the symbolically namedfiles in this bubble memory region can berolled in or out of the 16 K volatile program-mable memory region as desired. Using theaudio tape interface at the end of a program-ming session, the file memory could becheckpointed automatically onto tape whilethe user attends to some other noncomputerrelated activity like eating, sleeping, etc.(Assuming an audio tape interface at100 bytes per second, it would take 923seconds or about 15 minutes to dump thestate of the file memory, plus about threeminutes to dump the programmable volatilememory of 16 K bytes.)

What would such a conception cost?Perhaps $2000 to $3000, assuming produc-tion quantities of the bubble memory costsignificantly less than $200, that the sup-port circuitry is not excessive, and that therest of the system uses existing technology.This would be the minimum configurationof such an "appliance computer circa1977-1978." The logical next improvementin performance would be to incorporateone Shugart style minifloppy disk file, atperhaps a $500 to $800 increment in price.The bubble film memory is functionally

totally electronic there is no problem withmechanical design considerations, an advan-tage which is offset by the constraint of nothaving removable media as is the case for afloppy disk. As the price of the parts goesdown with eventual mass production, thecost per installed bit has the potential ofdropping well below that of the removablemedia floppy disk storage devices.

The implications of this bubble memoryfor the "appliance" computer are mostinteresting. Let's consider what the new"minimum" personal computing systemwhich incorporates the bubble memorymedium might look like. First, the sys-tem includes a typical microprocessor de-sign with eight of the contemporary 16 Kdynamic memory parts for main memory,with perhaps 8 K to 16 K of systems soft-ware in read only memory. Peripheralsbuilt-in include video display (interface orbuilt-in monitor depending on the manu-facturer), and alphanumeric keyboard, witha high speed audio cassette interface forlong term program storage. For filing ofcurrent programs and data this minimumsystem incorporates eight of the TBM0103bubble memory units, giving a capacity of92,304 bytes of data or program file capa-

Flexibility

You'd want 8 or 16-bit digital

computers with fully expandable

memories and a variety of I/O

interfaces. Such versatility lets

you optimize the system for your

hobby, education or small

business application.

60

OperatingCctitfierce

You'd want an 8-bit computer

featuring an intelligent front

panel with octal keyboard entry

and display for fast readout,a resident monitor with built-in

bootstrap for one-buttonprogram entry or storage. Or apowerful 16-bit computer withresident monitor.

Tl happens to be the first to commerciallymarket the bubble memories. (AT&T hasalready been using them for several monthsin production phone equipment, but theseparts are not available to general commercialusers.) If we use the example of the Shugartminifloppy disk drives as a prototype forthe delay from announcement to proven enduser product for a system of similar com-plexity, then we can expect to see end userdeliveries of mass storage subsystems forpresent day personal computer systemssometime late this coming fall. (This editorialwas written April 8 1977.) As for completecomputer systems which make the bubblememory an integral part, I would tend toexpect the first such systems in the firsthalf of 1978 or sooner depending upon thecleverness and resources of the companieswhich ultimately produce such products. Inthe meantime, perhaps some technologicallyenterprising reader will purchase the earlysample versions of the bubble memory chipsalong with documentation, and design ahomebrew computer interface which we canpublish for the benefit of all BYTE readers.The bubble memory, a long awaited promise,has finally become a technological andcommercial reality available for use inpersonal computing products."

very similar to a floppy disk. The bubblememory's data transfer rate, at 50 kbps,is comparable to the transfer rates of thesmall floppies, and its access time toblocks of data is approximately one to twoorders of magnitude faster (12.8 ms versustypically 250 to 500 ms head positioningtime on a floppy disk). But the bubblememory chip capacity of 92,000 bits isabout the same as the capacity of thetypical 5 inch floppy disk. Using one floppydisk drive for its removable media attributes,and the standard permanently "mounted"simulated floppy disk of the bubble memory,this appliance computer concept now hasthe ability to "instantly" copy disk files,sort data within the constraints of two92,000 byte file regions, and do manyof the "memory intensive" tasks usuallyassociated with large interactive systems.

When Will We Users See Products?

The announcement by Texas Instruments,accompanied by extensive advertisements inthe electronics trade press for the bubblememory, a 64 K charge coupled device,volatile memory and large 16 K dynamicprogrammable random access memories, isaimed primarily at designers of new products.

Peripherals

You'd want a complete line of

system compatible peripherals

including a CRT terminal, paper

tape reader/punch, and audio

cassette mass storage.

(more)

61

Continued from page 34

Type 03: External Symbols

Bytenumber

1

2,7

Description

Dollar sign ($) delimiter.

Up to 6 ASCII characters of theexternal symbol name. The nameis left justified, blank filled.

8,9 Record type 03.

10,13 Last address which uses the ex-ternal symbol. This is the start ofa link list which is described be-low. The most significant byte isfirst.

14,15 Binary checksum.

CRLF Carriage return, line feed.

The Mostek SDB-80 assembler outputs theexternal symbol name and the last address inthe program where the symbol is used. Thedata records which follow contain a link listpointing to all occurrences of that symbol.This is illustrated in figure 1.

1. The external symbol record shows thelabel ( LAB ) and the last location in

Documentation andSorties Support

You'd want superior

documentation with assembly,

operation and software manuals

that are the most thorough and

accurate around, plus a factory

and retail network of trainedservice personnel that can help

you get up and running fast.

9

Software

You'd want each computer

supplied with full system software

at no extra cost (assembler,

editor, BASIC, debug). And

enhanced system software and

ready-to-use applications

programs available at a

nominal cost.

the program which uses the symbol(212AH).

2. The object code at 21 2A has a pointerwhich shows where the previousreference to the external symbol oc-curred (200FH).

3. This backward reference list continuesuntil a terminator ends the list. Thisterminator is FFFFH.

This method is easy to generate and decode.It has the advantage of reducing the numberof bytes of object code needed to define allexternal references in a program. Intel defineseach external reference explicitly.

• Type 04: Relocating Record

The addresses in the program which must berelocated are explicitly defined in these re-cords. Up to 16 addresses (64 ASCII char-acters) may be defined in each record.

Bytenumber Description

1 Dollar sign ($) delimiter.

2, 3 Number of sets of 2 ASCII char-acters. Where two sets define anaddress.

62

Circle 18 on inquiry card.

4-7 ASCII zeros.

8,9 04

10 Addresses which must be relo-

cated.

Last 2

bytes Binary checksum.

CRLF Carriage return, line feed.• Assembler Object Output Sequence

The SDB-80 Assembler will output objectrecords in the following sequence:

1. Internal symbols (type 02) in alpha-betical order.

2. External symbols (type 03) in alpha-betical order.

3. Data records (type 00), interspersedwith relocation records (type 04).

4. End of file record (type 01).

Internal symbol records will be outputtedonly if internal symbols are defined in thesource program. The same is true of externalsymbol records. Relocation records alwayswill be outputted by the assembler."

It* fill tours

Because the world-leader in

quality electronic kits has

researched the needs of the

computer hobbyist and

developed some of the most

sophisticated and affordable

products around.

HEATHKIT

They're the ones you've been waiting for!

A i/aliie/price

liliTiWli

You'd want all hardware systems

in stock in easily affordableand buildable kit form from the

world's largest and most

experienced kit manufacturer.

Systems designed to give you

more and better features for your

computer dollar. And all backed

by a "We won't let you fail" promise.

GLOSSARY

Object module The output from an assembler iscalled the object module. One or more objectmodules can be placed into memory by a loader.The output from the loader is called a "loadmodule."

Relocatable program: A program which has extrainformation in the object .module is referred to asrelocatable. The extra information allows theloader to place the program anywhere in memory.A nonrelocatable program can be loaded only inone place in memory in order to work properly.

Position independent program: A program whichcan be placed anywhere in memory is called posi-tion independent. It does not require relocatinginformation in the object module.

Internal symbol: A symbol which is defined in aprogram and whose location is made known toall other programs is called an internal symbol.It is also called "public" (Intel), "defined,""global," or "common."

External symbol: A symbol which is used in aprogram but which is not defined in the programis called an external symbol. Such symbols mustbe defined as internal symbols in other programs.

Linkable program: A program with extra informa-tion in the object module which defines internaland external symbols is called a linkable program.The loader uses this information to connect, orlink, external references to internal symbols.

63

Speech Recognition for aPersonal Computer System

James R BocldieBell LaboratoriesMurray Hill NJ 07974

The August 1976 issue of BYTE pre-sented to the personal computer user anintroduction to half of the problem of man-machine communication by speech: machinegeneration of speech. Speech synthesis hasbeen investigated since at least the 1800s.High quality speech can be produced by acomputer if it decodes utterances that havebeen efficiently coded and stored in mem-ory. Poorer quality, but sometimes accept-able speech can be synthesized by electron-ically simulating the human speech produc-ing mechanism.

Speech communication in the otherdirection, machine recognition of speech,is usually considered to be a harder task. Thepurpose of this article is to present some ofthe problems and to introduce some solu-tions that may be realized by the personalcomputer enthusiast.

The ideal speech recognizer would be amachine that could accept casually spokensentences from many speakers with differentdialects and transcribe them in real time intowritten text or translate them into com-mands for controlling some function. Un-fortunately, there are at least five major pro-blem areas in speech recognition that arestill incompletely solved.

• The Continuous Speech Problem. In

ordinary conversational speech ourwords tend to "run together" acous-tically. Say "How are you" and "How(pause) are (pause) you." The con-

tinuous version is uttered almost asa single word. What is the best pro-cedure for segmenting such an utter-ance into words?

• The Multiple Speaker Problem. Peoplesay the same words differently. Can amachine allow for these differencesor must it be "tuned" to each indivi-dual user?

• The Limited Vocabulary Problem.Error rates, recognition rates andmemory requirements increase withvocabulary size. How many wordscan be reliably handled by a machine?

• The Vocabulary Entry Problem. Thewords in the vocabulary have to bedescribed to the computer in someway. What is the most efficient way?

• The Noise Problem. Speech is filteredby some transmission process orcorrupted by noise in transmissionmedia such as telephone or radio.What is the best signal processingtechnique for these conditions?

These are the problems that concernmany industrial and academic research lab-oratories using the most sophisticated tech-niques and equipment available. However,there are some realistic goals for a speechrecognizer in a personal computer system.That is, it should be possible to build a sys-tem which can accept isolated words from alimited vocabulary of ten -to 20 wordsspoken by a speaker whom the machine hasbeen trained to understand. These goals arewell within the capabilities of most contem-porary microprocessors.

Several such systems have already beendesigned using a modest amount of discrete

64

Figure I: A speech encoding model. Messages from the brain in the form of desired words are processed through a series oftransformations to produce the finished speech. These messages come in the form of "phonemes, " or word building blocks (seetable I), which make up the desired word. This code is translated into appropriate neuromuscular signals which control thespeech "articulators": the vocal cords, vocal tract, lips, tongue and teeth. The other parameters in the figure show how dialect,emotions, context and external noises can all have an effect on the final speech.

logic. (See the first six references in thebibliography at the end of this article.) Eachof these systems can be easily duplicatedwith a small amount of hardware such as amicrophone, amplifier, filters, an analog todigital converter and a microcomputer. Thispaper will show how one of these wellknown recognizers can be implemented.But first, a few basic facts about humanspeech production.

The Speech Code

In order to construct a system for de-coding speech you should know how theacoustic signal is encoded with the desiredmessage. One way of looking at the processis shown in figure 1. The message from thebrain may be thought of as going through aseries of transformations which modify itby many factors. The word idea or linguis-tic information is first translated into speechsound units called phonemes. This "code" isa collection of the descriptors of the soundsnecessary to say the words. In English thereare approximately 40 basic types of soundswhich are used to construct our entirevocabulary. The phonemic code is translatedby the central nervous system into neuro-muscular signals for controlling the physicalspeech making apparatus or articulators'. Thearticulators "modulate" the sound generatedby the vocal cords and produce the radiatedacoustic signal.

This process has sources of error. Thephonemic codes for various dialects aredifferent from one another. A speaker maysay the same word many different ways de-pending on context or physical and emo-tional state. Differences in the sizes ofpeople's articulators account for variationsbetween speakers. Day to day changes inthe articulators (due to a head cold, for ex-ample) can cause variations in the way agiven person sounds. Finally, the acousticsignal itself may be corrupted by noise orfiltering.

The message coding process produces a

signal which contains much information thatis not significant to the intended messageand which makes any direct comparison ofspeech waveforms difficult if not impossible.The extent of the coding inefficiency can beseen by a simple example. The followingsentence:

"The objective of this section is todevelop these techniques."

contains 60 characters and can be spoken inabout three seconds. Using a 5 bit code foralphabetic characters, real time transmissionat speech rates would require only 100 bps.If the utterance were transmitted with astring of 42 phonemes coded with six bitseach, then 84 bps would be necessary. How-ever, if the speech signal itself were band-limited at 3 kHz, sampled at 6 kHz, andquantized to 256 levels or eight bits, realtime transmissions would require a rate of48,000 bps. If a computer could analyze thisdigitized speech in real time it would have toprocess one 8 bit speech sample every160 jis. A microcomputer with a cycle timeof 500 ns would have only 320 cycles be-tween speech samples. That does not allowtime for very many instructions to analyzeand match the data with reference wave-forms. The direct storage of the waveformwould require 6,000 bytes of memory forevery second of speech. It should be clearthat it is desirable to have a method ofrapidly extracting the useful information,thereby reducing the amount of data storageand computation time. A look at the speechproduction mechanism provides some cluesfor data analysis and reduction.

Speech Parameters

Speech sounds originate from twosources. So-called "voiced" sounds are madeby the vocal cords and make up vowel-likesounds. The vocal cords produce periodicbursts of air through the vocal tract at arepetition rate of about 1 25 to 200 Hz.

"Unvoiced" sounds or "fricatives" are

65

Voiced

Example

AE

bad

AH

father

Al

bite

AW

bought

AY

bay

EH

bet

EE

beet

ER

bird

IX

fit

OU

boast

UX

book

UH

but

UU

boot

WX

win

YX

yes

RX

rip

LX

lit

MX

man

NX

not

NG

ring

Fricatives

FX

fan

TH

bath

SX

sip

SH

ship

CH

church

HX

hand

Combinations o

f Voiced and

Fricative Sounc

s

VX

van

DH

than

ZX

zip

ZH

measure

Stops

JH

jump

PX

pan

TX

tan

KX

can

Voiced Stops

BX

ban

DX

dan

GX

gab

K

2000

£

b-

O 1500

>uZlu=> 1000

Table 1: Speech phonemes. In English thereare approximately 40 basic types of soundswhich are used to construct the entirevocabulary. These sounds are called"phonemes." The phonemes are not pro-nounced literally, but rather serve as symbolsfor their respective sounds. The phonemiccode is translated by the central nervoussystem into neuromuscular signals for con-trolling the physical speech making apparatusor "articulators." "Voiced" phonemes arethe vowel-like sounds which are producedin the vocal cords as periodic bursts of airfrom 125 to 200 times a second. "Un-voiced" phonemes or "fricatives" are noise-like sounds made by forcing air throughconstrictions in the mouth. Some phonemesare combinations of voiced and unvoicedsounds. "Stops" result from momentaryblockage of air flow (and sound).

noise-like and are made by forcing airthrough constructions in the mouth. If theair flow is completely blocked for a mo-ment, the sound is called a "stop." Some-times we make both voiced and fricativesounds. Table 1 classifies various phonemesinto these source types. Phonemes havespecial symbols that are often used, but thistable uses a machine readable format.

The vocal tract is like a pipe from thevocal cords to the lips which has severalnatural resonant frequencies called "for-mants." This pipe acts like a filter that mostreadily passes sounds whose frequencies arethe same as the formants. The three mostprominent formants are centered around500, 1500 and 2500 Hz but they vary withchanges in position of the tongue, lips andmouth. The voiced and unvoiced sounds canbe thought of as "carrier" signals that are

200 400 600 800 IO0O I200FREQUENCY OF FORMANT I (Hz)

"modulated" by the resonances in the vocaltract.

It is well known that there is a correspon-dence between phonemes and the formantfrequencies. In fact, it is only necessary toknow the first two formant frequencies inorder to identify many vowel sounds. Figure2 shows a map of several vowej sounds in aplane formed by the first two formants. Forexample, if you knew that for some intervalof a speech utterance the first formant wasat 800 Hz and the second at 2500 Hz, thenyou might guess that the speech sound wasthe phoneme "EH."

A nice property of formant data is thatit changes rather slowly. It is necessary tosample the formant frequencies only every10 to 20 ms in order to keep up with chang-ing phonemes. This means that the motionof two formants could be stored in only 100bytes per second of speech as opposed to6000 bytes per second for the waveformitself.

Naturally, we would like a technique foreasily measuring the first two formantfrequencies by looking at the waveformdata. The most accurate methods requireeither a lot of high speed computation orspecial purpose hardware. Fortunately thereis a very simple way to get an estimate ofthe formants which is most suitable formicrocomputer processing.

Zero Crossing Analysis

Since the late 1940s it has been knownthat the amplitude of the speech waveformcarries little information. Most of the use-ful information can be obtained from justthe knowledge of the number of times thesignal waveform crosses the zero axis. Thisis called zero crossing analysis. [This methodwould lend itself perfectly to Walsh trans-form analysis. . .CM/ If you count the num-ber of times the signal changes sign in a fixedinterval, say every 10 to 20 ms, you can getnumbers which closely follow the changesin the first formant frequency. If you firstemphasize the higher frequencies by highpass filtering, then the zero crossing ratetracks the second formant frequency.

Figure 2: Vowel phonemes on the formantplane. "Formants" are the natural resonantfrequencies of the vocal tract. These reson-ances are similar to the resonant vibrationsof organ pipes or the characteristic soundof an empty bottle when air is blown acrossit. The three most prominent formants arecentered around 500, 1500 and 2500 Hz,but they vary with changes in position ofthe tongue, lips and mouth.

66

Although the zero crossing rates do notgive accurate estimates of formant fre-quencies, they do contain enough informa-tion to partially separate the vowels forrecognition purposes. Figure 3 shows a mapof vowels on a high pass versus low passzero crossing rate plane.

There are many advantages in using zerocrossing analysis techniques in digital speechrecognition. One of them is that the neces-sary hardware is simple. Since only the signof the waveform is important, only one bitper sample is needed, which eliminates a re-quirement for an analog to digital converterin the system. The analysis can easily bedone in real time since no multiplications areinvolved - only counting. The zero crossingparameters can be measured with simplehardware or software as the signal comes in,which eliminates the necessity of storing thewaveform. Because the amplitude informa-tion is not used, the analysis is independentof voice volume and inflection. This makeszero crossing measurements somewhat lessdependent upon characteristics of individualspeakers.

Pattern Matching

After the acquisition of the zero crossingparameters, the identification of the wordcan be done using one of two simpleprocesses: in a one step approach, the para-meter data is directly compared withreference patterns (sometimes calledtemplates) for each word in the vocabulary.The closest match is chosen as the mostprobable utterance. In a two step method,the parameter data is first converted into astring of phonemes. Then this string is com-pared with a phonetic representation of thewords in the vocabulary.

Both methods have problems. The onestep comparison suffers if the word isspoken at a different rate from the words inthe sample set unless some technique is usedto find the best time alignment. The time

Figure 4b: A diagrammatic representation ofthe word "SIX" on the zero crossing planeusing a form of state diagram. In this graphthe high and low pass functions from figure4a are plotted against one another in stylizedfashion to better show how the zero cross-ing rates change as the word Is pronounced.(Note that the word begins and ends withthe same phoneme, SX.) The signal is splitinto two bandpass regions because theseparticular regions reveal key attributes ofEnglish words which can act as types of"fingerprints" of the words for later indenti-fication.

O uj

in <

O I

oc o

u (/I

o w

uj °-

fM I

li. 52

O I

Figure 3: Vowel formantson the zero crossing plane.For comparison purposesthe formants in figure Iare plotted here on thezero crossing plane. Theterm "zero crossing rate"refers to the number oftimes that the voice signalchanges its polarity perunit time (see figure 4a).

NUMBER OF ZERO CROSSINGS PER 16 mS(LOW PASS CHANNEL)

ZERO

CROSSING

RATE

SX

IX'

- KX -

SX'

TIME

Figure 4a: A plot of the word "SIX" showing the zero crossing rate as afunction of time. The word is shown split into its four phonemes. In thiscase, the signal is first processed through two bandpass filters. The number ofzero crossings is then determined by the computer. Results for both filters areshown. As the graph indicates, there Is a very short period of silence duringthe pronunciation of the KX phoneme which can be verified by slowlypronouncing the word "six. "

LOW PASS ZERO CROSSING RATE

SILENCEAT ORIGIN

67

SPEECH INPUT STAGE

MICROPROCESSORINTERFACE

MICROPHONE

CD

ici ;

PIN 14:5V DCPIN 7:GND

PARALLEL INPUTPORT

Figure 5: Speech filtering circuitry. A voice signal is picked up by the microphone and preamplified. It is then sent through alow pass filter made up of CI and R1 whose cutoff frequency is 3 kHz. The signal is next passed through a I kHz high pass filterand a I kHz low pass filter as shown. The two signals then go to the microprocessor interface for further processing. ICI, whichforms the basis for this circuit, is a quad LM 3900 op amp. The diode-like symbols shown on the four amplifiers indicate theuse of "current mirrors" for the noninverting inputs. For a detailed discussion see National Semiconductor's book, LinearIntegrated Circuits, page 2-250 and following.

NUMBER OF ZEROCROSSINGS PERl6mS

(HIGH PASSCHANNEL) 80

64

32

P(29)

P(30)

P(7)

P(8)

P(l)

P(2)

P13)

P(4)

P(5]

P(6)

6 13 19 25 32

NUMBER OF ZERO CROSSINGS PER l6mS(L0W PASS CHANNEL)

Figure 6: In order to implement the speech recognition algorithm, 60 samplesof speech over roughly I second's duration are sequentially processedthrough the circuit illustrated in figure 5. For each of the 60 intervalsthe number of high and low pass zero crossings per second is counted andstored in a software array corresponding to the regions in this figure. (Thisfigure is not to scale.) After this, a straightforward statistical correlation isperformed on the array to compare it with a series of word models in thememory and to arrive at the most likely match.

dependence can be eliminated by consider-ing the pattern of the data plotted on a zerocrossing plane. Figure 4 shows how the word"six" might be plotted. The one stepmethod has the double disadvantage that alot of memory is required for template stor-age and that the matching may be more timeconsuming. Two step systems use lessmemory in the template storage but dependon the performance of an imperfect phon-eme indentifier. The phoneme matcher mustbe able to tolerate errors such as missing,mislabeled or extraneous phonemes in thehypothesized string. For example, the out-put from a phoneme indentifier given in theutterance "six" (or "SX IX KS SX") mightbe "SX SX EE IX IX EH KX SX SX."

A Practical Speech Recognizer

You have probably realized by now thatthere are many possible approaches to theanalysis and recognition of speech. Withthis in mind, we can now consider in detailan isolated word recognizer that can beimplemented on most microcomputersystems. This algorithm is based on one ofthe earliest successful word recognition cx-

68

The book you've waited for is here!

„**

<e

^

.</

o

%

&

^

«£**«. INDEX& REGISTER

ROMs

/

/

&>* % EPROMs

UNDERSE4NDING

COMPUTERS

AND SMALL COMPUTERSYSTEMS

_

What's an accumulator? How do you use relative addressing? Indexed addressing?Boolean logic operations? Does a program counter count programs? What's an I/Oport? What are EPROMS? What is paging? A stack? The difference between a dotand vector CRT display? How do you copy programs using an ordinary taperecorder? What can a microcomputer really do? What kind of personal computersystem should I buy?These and hundreds of other questions about microcomputers are answeredin this profusely illustrated, easy-reading "must" book. Here are the funda-mental concepts behind the operation of virtually all microcomputers...written in simple English so that anyone can gain the extra knowledgethat will let him or her read and understand computer magazines andmanufacturers' literature and feel "at home" around computers. Hereare just some of the items discussed ...

How a CPU is organized and how it follows sequences of directivesto solve problems.

• Illustrates basic instructions from almost every class ofmicroprocessor.• Discusses common memory addressing modes —illustrates\ typical uses.

\ • What you must know to tell a computer what to do

%i when using machine language programming methods.

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

• Benefits of using a high level language;||k —introduction to BASIC.

• How a computer communicates.Types of commonly used input/out-put devices and their operationalconcepts.

• Practical aspects of selecting asmall computer system.Plus, hundreds of other practicalfacts and information.If you're at all curious about small computers,you must own this 300 page no-nonsense textthat reads like a simple book, and includesan easy-to-use glossary of key microcomputeroriented words. UNDERSTANDING MICRO-COMPUTERS. The name says it all. And, itall costs only $9.95. Order your copy today!

AT 1CEEEI COMILITERfccONIlMIING INC.

^^- PO Box 133 — PP STN

Milford, CT 06460

Price shown for North American customers. MasterCharge, Postal and Bank Money Orders preferred.Personal checks delay shipping up to 4 weeks. Pric-ing, specifications, availability subject to changewithout notice. SCELBI Books are available in manyfine Computer Stores.

Circle 19 on inquiry card.

FOR J = 1 TO 60

F1(J) = 0

F2 (J) = 0

FOR I = 1 TO 100

[Delay for 160 nS loop time]

INPUT X

X1 = XOR (X, X0)

IF XI > 1 THEN F2 (J) ■■

IF (X1 = 1) OR (X1 =3)

X0 = X

NEXT I

NEXT J

= F2 (J)+1THEN F1

(J)

;lnput speech port

;Exclusive OR input with last sample;State change or bit 1F1 (J) +1 ;State change or bit 0

;Save last sample

Listing 1: The input algorithm. Arrays Fl and F2 store the number of zerocrossing counts in each 16 ms interval for the low pass and high pass channelsrespectively. This listing, like the following listings, is written in BASIC forillustrative purposes, but it must be translated into machine language toachieve real time performance.

100

200

FOR I = 1 TO 30

P (I) =0

NEXT I

FOR J = 1 TO 60

FOR 11 = 1 TO 5

IF G1 (ID > F1 (J) THEN 100

NEXT 11

11 = 6

FOR 12 = 1 TO 4

IF G2 (12) > F2 (J) THEN 200

NEXT 12

12 = 5

I = (12-11*6+11P(l) = P (I) +1NEXT J

FOR J = 1 TO L Correlate

R (J) = 0

FOR I = 1 TO 30

R (J) = R (J) + P (l)*T (I, J)

NEXT I

NEXT J

J1 = 1 ;Pick best

R1 = R (1)

FOR J = 2 TO L

IF R (J) > R1 THEN R1 = R (J) : J1 = J

NEXT J

PRINT J1

INPUT "TEMPLATE NUMBER," L

FOR I = 1 TO 30

P1 (I) = 0

NEXT I

FOR K ■ 1 TO 8

INPUT "READY?", Q

[Call routine for sampling speech and computing P]

FOR I = 1 TO 30

P1 (I) = P1 (I) + P (I)

NEXT I

NEXT K

FOR I = 1 TO 30

T (I, L) = P1 (l)/8

NEXT I

Listing 2: The classifica-tion and accumulation rou-tine. This routine takes theinformation from arraysFl and F2 and stores it inarray P, which representsthe zero crossing plane.

Listing 3: The correlationroutine. This routine com-pares the completed arrayfrom listing 2 with variousword models in memoryand uses standard statisticalmethods to find a bestmatch. For a ten wordvocabulary the entirespeech recognition algo-rithm can be run in lessthan 69 ms.

Listing 4: The templategeneration routine. A"template" is a wordmodel in the form of anarray. This routine, whichcan be run off line (inBASIC if desired, sincethere are no time restric-tions), is used to generateall of the word models inthe vocabulary desired.Eight samples of a givenword are uttered by theoperator and averaged to-gether to create each wordtemplate.

periments (see reference 1). Originally builtwith mainly analog components, it couldrecognize telephone quality digits from asingle speaker with an accuracy better than97 percent in real time. A microcomputerusing a minimum amount of extra hardwarecan easily duplicate this performance.

The input stage is shown in figure 5. Thespeech is low pass filtered at 3 kHz and splitinto a 1 kHz high pass channel and a 1 kHzlow pass channel. These filtered signals arecompared with a reference voltage level andlogic outputs indicate the result of the com-parison. That is, a logic 0 results from a sig-nal level greater than the reference and alogic 1 results from a level less than the ref-erence. Proper adjustment of the referencelevels will allow the measurement of the signof the signal. The outputs from this stage areconnected to the two least significant bits ofa parallel input port.

The microcomputer must sample theinput port every 160 p.s and count the num-ber of state changes (zero crossings) over 16Ms intervals. If the input is sampled for 60intervals, then the machine will have "list-ened" for 0.96 seconds, which is more thanenough time to pronounce most individualwords.

Listing 1 is the input algorithm. It iswritten in BASIC for illustrative purposes,but it must be efficiently translated intomachine language to achieve real timeperformance. All variables are 1 byteintegers unless otherwise noted. The innerloop must be executed once every 160 us.This can be done by using software delaysor an external clock. The listing does notshow details of how this delay is accom-plished. The F1 and F2 arrays are used tostore the zero crossing counts in each 16 msinterval for the low pass and high passchannels respectively. Of course, the "IF"statements can be replaced by a simple"rotate into carry, branch if carry" in themachine language code.

The next step is to divide the low passversus high pass (F1, F2) plane into 30 re-gions as shown in figure 6. Then for each ofthe 60 intervals, the zero crossing counts inFl and F2 are located on this plane andassociated with one of the regions. A 30 ele-ment array P keeps up with the number ofpoints in each region. This distribution ofpoints in the Fl, F2 plane is used as theinput pattern to be compared with the refer-ence patterns.

Listing 2 illustrates the classification andaccumulation routine. TheG1 and G2 arrayscontain the information about the divisionof the F1, F2 plane. They should be initial-ized (in BASIC or equivalent machine code)as follows:

70

READG1

DATA 6, 13, 19,25,32

READG2

DATA 32, 48, 64, 80

The calculation of index I involves a multi-plication by a constant 6. This can be mostquickly done by coding:

I =(I2-1)*2 + (I2-1)*4+ 11

This BASIC statement can easily be trans-lated into machine language using two leftshifts and addition operations.

The pattern matching is done by correlat-ing the P array with precomputed referencepatterns for each word in the vocabulary.The word with the best match is picked asthe most likely utterance.

Listing 3 gives the pattern matcherroutine, expressed in BASIC. L is the num-ber of words in the vocabulary. R is an arraythat contains the calculated correlationvalues for each word. T is a 30 by L array ofreference templates. The number corres-ponding to the template which best matchesthe input is printed as J1. The calculation ofR requires 30 times L multiplications, whichcan be very time consuming. For a ten wordvocabulary and an 8080 processor (one 8by 8 bit software multiply in 230 /us) the Rcalculation can be done in 69 ms. Also notethat while the numbers in P are alwayspositive, this does not apply to the numbersin T. R should be a double precision (2 byte)number to avoid overflow.

The templates are generated by averagingseveral sample patterns for each word. Muchof this task can be done off line rather thanin real time, so it can be coded in BASIC orother interpretive languages. A directmachine language coding is relatively straight-forward, however.

Listing 4 shows how eight patterns areaveraged to form a template. The programuses the code of listings I and 2 to obtainthe pattern in array P. The accumulation ofthe P1 array should be done with 2 bytearithmetic. The division by 8 is accom-plished by a simple right shift three bitplaces.

Finally, a little data massaging is neces-sary. To make this type of correlationpattern matching work, each templateshould have the same statistical properties.Specifically, each template should have amean value of zero and a normalizedstandard deviation. This is easily done withthe program in listing 5. The removal of themean is simplified by the fact that the meanfor each template is the same (60 intervalsdivided by 30 regions gives a fixed meanvalue of 2). The normalization of the stan-dard deviation involves computing a square

FOR J = 1 TO L

FOR I = 1 TO 30 Subtract mean

T (I, J) = T (I, J)-2

NEXT I

S = 0

FOR I = 1 TO 30

S = S + T (I, J) * T (I, J)

NEXT I

S2 = SQRT (S)

FOR I = 1 TO 30 formalize

T (I, J) - 8 * T (I, J)/S2

NEXT I

NEXT J

root. If the square root function subroutineis not available, then it can be computedmanually with a pocket calculator andentered by hand (PRINT S : INPUT S2).This is not too painful since it needs tobe done only once for each word in thevocabulary. S should be a 2 byte integer,and the division by S2 should be done usingdouble precision arithmetic.

The templates can be saved and usedindefinitely without alteration, but newtemplates will be necessary for differentspeakers. Composite templates can bemade by averaging the reference patternsof several talkers, but they do not workas well as individualized ones.

This very simple speech recognizer is onlyone of many systems that can be adapted tomicrocomputers. Much more information onthe digital analysis and synthesis of speechcan be found in the IEEE Transactions onAcoustics, Speech and Signal Processing,which is available in most engineeringlibraries."

BIBLIOGRAPHY

1. Davis, Biddulph, and Balashek, "Automaticrecognition of spoken digits," Journal of theAcoustical Society of America, volume 24,pages 637-642, November 1952.

2. Ross, "A limited-vocabulary adaptive speechrecognition system," Journal of the AudioEngineering Society, volume 15, pages 414-416,October 1967.

3. Gilli and Meo, "Sequential system for recog-nizing spoken digits in real time," Acustica,volume 19, pages 38^4, 1967.

4. Teacher, Kellett, and Focht, "Experimental,limited vocabulary speech recognizer," IEEETransactions on Audio and Electroacoustics,volume AU-15, pages 127-130, September 1967.

5. Purton, "Speech recognition using autocorrela-tion analysis," IEEE Transactions on Audio andElectroacoustics, volume AU-16, pages 235-239,June 1968.

6. Bezdel and Bridle, "Speech recognition usingzero crossing measurements and sequence infor-mation," Proceedings of the IEEE, volume 116,pages 617-623, 1969.

Listing 5: A normalizingroutine. This auxiliary rou-tine is used to adjust thestatistical properties ofthe templates. Specifically,each template is modifiedso that it has a zero meanvalue and a normalizedstandard deviation. Thisis done to insure that allof the word templateshave the same statisti-cal properties prior tocorrelation.

An Application for ThisSpeech Recognition System

An excellent applicationfor Dr Boddie's system wouldbe to use it as a quick way toenter hexadecimal code with-out toggling or typing. Thevocabulary required could bekept to a minimum if theoperator pronounces each digitseparately (ie: "seven, seven,"not "seventy seven") so thatthe various compound formsdo not have to be learned. Thecomputer would then verifythe verbal entry by outputtingthe code to a printer or dis-play screen. Better yet, usethis system in conjunction witha computerized speech syn-thesizer such as D LloydRice's Computalker [BYTE,August 1976, page 16} toobtain a verbal interaction.A more sophisticated systemcould process verbal op codemnemonics and assemble themdirectly in hexadecimal codeon your display screen forverification.

71

Cassette tape and other magnetic tape recording without bit errors requiresthat we get our feet wet in the murky waters of error correcting codes . . .

How to Pick up a Dropped Bit

W Douglas MaurerRm 634, University Library BldgGeorge Washington UnivWashington DC 20052

The oxide coating of atape is sometimes uneven-ly distributed, particularlywhen the tape is old andhas been used many times.

The phenomenon of the dropped bitcauses difficulties in two distinct areas ofcomputer technology: in the recording ofdata on tape (or disk, or the like), and in thetransmission of data from one place toanother. Suppose, for example, that we arerecording one hundred 32 bit words on atape. Out of the 3200 bits that are to bewritten on the tape, there is a nonzerochance that at least one of them will bewrong. Either it will be recorded as a zero,when it should have been a one (a droppedbit) or it will be recorded as a one, when itshould have been a zero (an added bit). Evenif all 3200 bits are recorded correctly, thereis still a nonzero chance that the next timewe read this tape, we will read at least one ofthe one bits from the tape as if it were azero, or one of the zero bits as if it were aone. In such a case we again speak ofdropping a bit, or adding a bit. Often bothdropped and added bits are referred to,generically, as dropped bits, and we shallcontinue to do so in this paper.

In a similar way, suppose we are trans-mitting a message which consists of bits.(The message does not have to involve com-puters at all; it may, for example, simply bea message from one Teletype to another.) Ina long message there is, again, a very goodchance that at least one bit which is trans-mitted will be received in the wrong way. Itmight be received as a zero, when it issupposed to be a one, or vice versa. Again wespeak of bits being dropped in transmission.(One slightly confusing piece of terminologyhere is that the entire collection of bits, outof which a very few are dropped, is very

often referred to as a "message," even whenwe are not transmitting it, but rather record-ing it on tape or disk.)

There are many possible sources ofdropped bits. Tapes often have tiny dustparticles on them which interfere with thereading and writing of data. The oxidecoating of a tape is sometimes unevenlydistributed, particularly when the tape is oldand has been used many times. The sameconsiderations, of course, apply to floppydisk memory, or any other kind of memoryinvolving an oxide coating. In transmittingmessages from one place to another, noise inthe channel and receiver can very easilydegrade the quality of the reception.

In order to solve the problems created bydropped bits, we can proceed in two generalclasses of ways. The first is to improve ourhardware in such a way that dropped bits donot occur: We can clean our tapes. We canthrow away our old tapes. We can transmitmessages at a slow rate, and so on. The otherapproach is what may be called "picking up"the dropped bits. The idea is to send amessage that is longer than the original one,and that is so designed that, even if certainbits are dropped, the original message can berecovered. (As we mentioned above, theword "message" is being used here in ageneral sense; it may, in particular, be arecord written on tape or disk.)

Picking up a dropped bit is referred to,more precisely, as "error correction," a termwhich must be carefully distinguished from"error detection." In error detection, wesimply detect the fact that some bit has beendropped; we cannot tell which bit is the

72

<r Har

ity

bn

:s (c

:oli

imr

1)

\

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o *

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

•°

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o

o •

^- Message 1

sits

Parity

bits (row)

J

wrong one. If we could tell that, then wecould correct the error, because if a bit is"one," and it is wrong, then it must really be"zero," and vice versa. Knowing which bit iswrong is what enables us to do errorcorrection.

Both error detection and error correctionare affected by the question of how manybits in a message are wrong. If we cantell which bit is wrong, assuming that thereis only one wrong bit, then we have singleerror correction — even though we mightnot be able to correct more than one errorin a message (or we might correct theseerrors in the wrong way). In the same way,if we can tell, for example, that somethingis wrong whenever one or two (but no morethan two) bits in a message are wrong, thenwe have double error detection, even thoughthere might be some patterns of more thantwo wrong bits which are such that we can-not tell that anything is wrong.

A simple way to perform error detectionis by means of what is commonly calledparity checking. In large systems, 8 bit bytesrecorded on an IBM standard tape are alwaysaccompanied by a ninth bit, the parity bit.This bit is so chosen that the total numberof one bits among the nine bits (the originaleight, plus the parity bit) is an odd number(1, 3, 5, 7 or 9). (Sometimes it is done theother way around, that is, to give evenparity instead of odd parity; but we shallignore this alternative for the moment.) Nowlet us suppose that no more than one ofthese nine bits has been dropped. When thebits are read again, if the total number ofone bits is an even number, we know thatthere has been a dropped bit. We do notknow, however, which of the eight bits wasdropped. (Actually, for all we know, itmight be the ninth bit - the parity bit itself— that was dropped.)

Parity checking is extended, on IBMstandard tapes, to provide for the possibilityof error correction as well as error detection.This is done by performing "two-dimensional" parity checking, as shown infigure 1. Each column has a parity bit, and

each row also has a parity bit. Now supposethat exactly one of the bits in the message offigure 1 was dropped. If that bit was in (say)the fifteenth column and the second row,then the parity in the fifteenth column willbe wrong — there will be an even number ofone bits in it, rather than an odd number —and the parity in the second row will also bewrong. If these two parities are wrong, it isthen a simple matter to find the bit in thefifteenth column and the second row andchange it (from a zero to a one or from aone to a zero).

The assumption that is made in thisparity scheme is that dropped bits will beinfrequent enough that, in a message (or arecord on tape) of this size, only one bit, atthe most, will be dropped. For this reasonthe two-dimensional parity checking schemeof figure I is said to provide single errorcorrection, but not double error correction.Suppose that the bit in the seventeenthcolumn and the first row is also dropped.This means that the fifteenth column, theseventeenth column, the first row and thesecond row will all have wrong parity. In thiscase, which two bits are wrong? Let usdenote by (x, y) the bit in column number xand row number y. In this case, it is bits (15,2) and (17, 1) that were dropped. But itcould just as easily have been bits (15, 1)and (17, 2), and exactly the same erroneousbehavior would have occurred. In otherwords, we can't tell, when there is a doubleerror, where the double error is if thisscheme is used, and thus, we have no way ofcorrecting it.

The two-dimensional parity checkingscheme does, however, provide double errordetection. Whenever there is a double error,that is, whenever exactly two bits in themessage are dropped, we can detect this fact.This is true even when both errors are in thesame column. Of course, in that case, therewill be no way to tell what column theerrors are in. All of the column parities willbe right, because an odd number of bits withtwo changes in it remains an odd number ofbits. The only way we can tell that some-

Figure 1: A block of data,eight bits plus parity inheight, 32 bits plus parityin width, used as an ex-ample in the text. Thislayout of bytes might bethought of as a block ofdata on a standard 9 tracktape drive; or it might bean internal memory imageof data sent and receivedthrough a serial data port,bit by bit, as in the per-sonal computer's audiotape interfaces.

Both error detection and

error correction are

affected by the question

of how many bits in a

message are wrong.

73

Standard parity checkingschemes of this kind canbe improved upon in twoways: The first is by in-creasing their efficiency;the second is by increas-ing the number of errorsthat can be corrected.

Suppose that there areno errors at all in a given256 bits.

thing is wrong, in this case, is that exactlytwo of the row parities are wrong. The samething is true in reverse, if the two droppedbits are in the same row, but not in the samecolumn.

In fact, this scheme will not only detectall double errors, it will detect almost allmultiple bit errors. If there are more thantwo dropped bits, as long as these arerandomly distributed (and not caused by ascratch on a tape, for example), then theprobability is overwhelming that all of them,or at least most of them, will be in differentcolumns, and thus there will be quite a num-ber of column parities that will be wrong. Wecannot refer to the given scheme as amultiple error detection scheme, in general,because there are some cases in which errorsgo completely undetected. For example,consider the four bits we treated earlier,namely bits (15,2), (17, I), (15, 1),and (17,2). Suppose that these four bits are alldropped, and that no other bits are dropped.Now we have an undetectable error: All ourparities, including those in the fifteenth andseventeenth columns and in the first andsecond rows, will be right. But this is soinfrequent an occurrence that it may, for allpractical purposes, be ignored.

Standard parity checking schemes of thiskind can be improved upon in two ways:The first is by increasing their efficiency; thesecond is by increasing the number of errorsthat can be corrected. We shall treat thesepoints one at a time.

Suppose that the record in figure 1contained eight rows and 32 columns, for atotal of 256 bits. If we include the checkbits there are nine rows and 33 columns.This means that there are 9+33 = 42 dif-ferent check bits. (The row of check bits hasto have a check bit of its own, of course, andso does the column of check bits. Sometimesthese are the same, but even if they are,there are still 41 check bits.) In contrast, wewill now exhibit a clever scheme that re-quires only eight check bits. It performssingle error correction, just as does thescheme of figure 1. It has, however, certaindisadvantages which we will discuss later.

The scheme is as follows. We number thebits in our message from 0 to 255. The lastof the eight check bits will be a parity bit forhalf of the bits in the message, namely thebits numbered 1, 3, 5 and so on up to 255.Note that these are the bits such that the bitnumber (1, 3, 5 and so on), when it is itselfexpressed in binary, as an 8 bit quantity, hasa one bit in the last position (indicating thatit is an odd number).

The next to last of the eight check bitswill again be a parity bit for half the bits inthe message. This time, however, it will be

for the bits numbered 2, 3, 6, 7, 10, 11 andso on, up to 254 and 255. These bit numbersare all such that, if they are themselvesexpressed in binary, as 8 bit quantities, thenthe next to last bit of each of these 8 bitquantities will be a one bit.

The general scheme should now beapparent. Each of the eight check bits is aparity bit for half the bits in the originalmessage. For 1 < k < 8, the k-th check bit isa parity bit for all the bits that have thefollowing property: If the bit number is N,and if N is expressed as an 8 bit binaryquantity, then the k-th bit of this quantity isa one bit. In particular, the first of the eightcheck bits is a parity bit for bits 128, 129,130 and so on, up to 255, of the originalmessage.

Suppose now that one of our bits isdropped. For definiteness, let us supposethat it is the 99th bit. We express thenumber 99 as an 8 bit binary quantity:01100011. And now let us look at our eightcheck bits. Which ones of them are going tobe wrong? The last one will be wrong,because 99 is an odd number, and thereforethe 99th bit (which was dropped) is one ofthe 128 bits (half of the original 256) ofwhich the parity was taken to form this lastcheck bit. The next to last check bit will alsobe wrong, because 99 has the property thatthe second bit from the right in its binaryrepresentation is a one bit. The first checkbit, though, will still be right, because thisrepresents parity on the 128th, 129th,130th, etc, bits, and none of these bits weredropped.

The general pattern should now beapparent. If we look at the eight check bitsfrom left to right, and if we write a zero foreach parity check that was right, and a onefor each parity check that was wrong, weobtain the pattern 01100011. This is exactlythe number 99 expressed in binary. And thismeans that we can tell that it was, in fact,the 99th bit that was dropped — which, inturn, means that we can correct the error.Thus we have a single error correctionscheme, just as before, enabling us to pickup one dropped bit.

There are three problems with thisscheme. The first is as follows. Suppose thatthere are no errors at all in a given 256 bits.Then, of course, all the check bits will beright, and we will obtain the pattern00000000. But this pattern tells us that bitnumber 0 is wrong! In fact, none of ourcheck bits involve parity on bit number 0 atall, and thus we have no way of tellingwhether this bit was dropped or not. Thisproblem, however, can be solved rathersimply. We transmit only 255 bits of data,instead of 256, and these are numbered from

74

I to 255. The efficiency of the scheme is nottoo badly affected; we now have eight checkbits for every 255 data bits, rather than eightfor every 256.

The second problem with the scheme isthat we have not considered the possibilitythat one of the check bits might be wrong.Suppose that the last check bit is wrong, andthat all the other bits are right. Then usingthe scheme above, we would obtain the 8 bitpattern 00000001, and this would tell usthat it was bit number 1 of the original 256that was wrong. In general, an error in anyof the bits numbered 1, 2, 4, 8, 16, 32, 64 or128 can be confused with an error in one ofthe check bits. The solution, however, isagain very simple: We just leave these bitsout. We are now transmitting only 255-8 =247 bits of data, with eight check bits, andagain the efficiency is not too badly af-fected. If the 8 bit pattern we obtaincontains seven 0 bits, and only one 1 bit,then we know that it is a check bit that iswrong.

The third problem, however, is moreserious. Suppose that more than one bit outof the 256 was dropped. Note that in ourscheme, if there is an error of any kind, wedetermine one particular bit position tochange. In other words, we always assumethat if there is an error, it is a single error. Ifthere is a multiple error we are always goingto do the wrong thing. This is in contrastwith the two-dimensional parity checkingscheme, in which we almost always knowthat something is wrong, no matter howmany bits get dropped. The only solution tothis problem is a partial one: We can forgetabout correcting errors and use this schemeto detect errors only; and if we do this, alldouble errors will be detected. In otherwords, this scheme can be used for singleerror correction or double error detection,but not both.

A remarkable property of our scheme isthat the eight check bits can all be generatedsimultaneously. We take the exclusive OR ofall the binary integers 00000001 thru11111111 (or 1 thru 255 in decimal) -leaving out 1, 2, 4,8, 16,32, 64 and 128, asnoted above — which correspond to one bitsin the message. That is, if the i-th bit in themessage is a one bit, then the integer i,written in binary, is exclusive ORed with allother integers i with the same property. Theresulting 8 bit quantity consists of pre-cisely the eight check bits we need. For 1< k < 8, the k-th bit of this quantity is theexclusive OR of as many one bits as thereare positions i in the message, such that bit iis a one bit and the k-th bit of the integer i isalso a one bit, together with a number ofzero bits, which do not affect the exclusive

OR. An algorithm for performing this proc-ess is as follows:

1. Initialize so as to point to the first bitof the message.

2. Set R1 = 3. (R1 will contain the indexi as above.)

3. Set R2 = 0. (R2 will contain the eightcheck bits.)

4. Set R3 = 4. (R3 will be 4, 8, 16, 32,etc, as above.)

5. If the current bit in the message is azero bit, skip the next step (that is,go to step 7).

6. Set R2 equal to the exclusive OR ofR2and R1.

7. Point to the next bit of the message.

8. Set Rl = R1 + 1.

9. If R1 =£ R3 then go to step 5.

10. Set R3= R3+ R3.

11. If R3^512 then go to step 7.

At this point, if we are writing a message,we append the eight check bits in R2 on tothe end of the message. If we are reading amessage, we. read the next eight bits andform the exclusive OR of these bits with R2.If the result is zero, the message is withouterror. If it is 1, 2, 4, 8, 16, 32, 64 or 128,then one of the check bits is wrong. If it isanything else — call it i — then the i-th bit iswrong, and must be changed (to a zero if itis a one, or vice versa).

It should also be clear that there is ascheme like this for any number m of checkbits. We have here taken m = 8, and thenumber of data bits is 2m-m-1 = 256-8-

I = 247; but we could have taken m = 4, forexample, obtaining four check bits for each

II bits of data. This provides anotherapproach to the problem of multiple errorsin 256 bits; we can require only that therebe no multiple errors in 11 bits (say), at thecost of a certain loss of efficiency.

Is it possible to pick up more than onedropped bit at a time? That is, can we devisea scheme that is capable of double errorcorrection? Yes, we can; we can even providen-tuple error correction, for any (fixed)positive integer n. Schemes for doing this,however, are quite complex, and their com-plexity increases with the number of errorsto be corrected. There is a whole subfield ofelectrical engineering called the theory oferror correcting codes, which concerns itselfwith schemes of this kind. It is remarkablethat error correcting codes involve one ofthe few known practical applications of thetheory of Galois fields. (Every mathematicianknows the tragic story of Galois, a Frenchmath student back in the Age of Duelingwho got involved in a challenge to a duel,and, knowing his opponent was a far betterduelist than he, spent his last night on earth

Suppose that more than

one bit out of the 256 was

dropped.

Is it possible to pick up

more than one dropped bit

at a time?

75

A fundamental concept inall error correcting code is"Hamming distance."

feverishly writing down all the mathematicshe could. He died at 21, a monument to thestupidity of taking politics too seriously.)

A fundamental concept in all error cor-recting codes is "Hamming distance."Consider two code words C-j and C2; eachcode word consists of a message (data bits)together with the check bits for that mes-sage. Take the exclusive OR of C] and C2;the number of one bits in the result is calledthe Hamming distance between Ct and C2.If the Hamming distance is I, this meansthat C^ and C2 are the same, except for onebit position at which they are different. Thisin turn means that if it was that particularbit which was dropped, then C-| will getmistaken for C2, or vice versa.

On the other hand, suppose that a par-ticular code has the property that for everypair of code words C\ and C2, the Hammingdistance is 3 or more. Now suppose that Ciis a code word and C2 is not. Suppose thatwhen a message is transmitted, then, due tosome bit being dropped, it is C2 that isreceived when it should have been C^. Thatis, the distance between Ci and C2 is 1(since only one bit was dropped). In thiscase the error can always be corrected. Thatis, of all possible code words, we can alwaystell that C^ is the one we wanted. To prove

this, suppose that there were another codeword, C3, that is actually the one wewanted. Then the distance between C3 andC2 would be I (since we are assuming thatonly one bit is dropped), and we alreadyknow that the distance between Ci and C2is 1. But in this case the distance betweenthe two code words Ci and C3 cannot begreater than 2, and this contradicts ourassumption that two code words must have adistance between them of 3 or more.

In general, if the minimum Hammingdistance between any two code words is 3,the code is a single error correcting code(although the actual correcting of the errorsmight, in some cases, be an elaborate andinefficient process). We can extend thisimmediately and say that, if the minimumdistance is d = 2e+1, the code is an e-tupleerror correcting code (usually referred toas an e-error correcting code), for anyinteger e. This code will not detect any morethan e errors, unless we sacrifice some errorcorrection capability. If x and y arc integerswith x > y and x+y+1 = d, then we can use acode with minimum distance d, as above, tocorrect any y errors and simultaneouslydetect any x errors. As a special case of this,if y = 0, we can detect any d-1 errors with-out any error correction capability at all."

IN WIRE- WRAPPING (og) HAS THE LINE..

HOBBY-WRAP-30 wire-wrapping, stripping, unwrapping tool for awg 30 (.025 square post)

STRIP

WRAP

UNWRAP

OK MACHINE & TOOL CORPORATION

3465 CONNER STREET. BRONX, NEW YORK. NY. 10478 U.S.A. ■ PHONE (212) 8844600TELEX: 125091 TELEX: 232395

Circle 20 on inquiry card.

76

Memoriesare made of this.

' /E g~} c jc

44«\-UY«\»\^

"*w

■ ill'.^Kltf

IlffllffllllllllllllllllllllMtllltl

BHHH

32K. One Card. One low price.Only from the Digital Group.

Now, on only one fully static card, the Digital Group hassqueezed in a whopping 32K of memory. Which, with a littlequick addition, means a full 64K architecture now requiresonly 2 boards instead of 8. That's a 4-to-l space reduction...and leaves one extra memory slot on the Digital Group'sstandard motherboard still available for future products.

All this and one low price, too.

It just may be the best news of all. Our full static, assembledand tested 32K memory board is only $995. Now that's worthremembering. It's substantially less than our equivalent as-sembled 8K board prices. (Please note: We're initially offer-ing this 32K board assembled only, but kit versions will soonbe available, too—at even lower prices.)

Here's what you get.

Specifications:

• 32K on single card

• Speed—450ns. All of our current CPUs will operate atfull-rated speed.

• Decoding—Lower or upper 32K bank

• Power—+5V only (a 4A

• Card size—12" x 5" (excluding connector fingers)

Features:

• May be intermixed on Digital Group systems with our8K memory cards

Circle 21

All data and address lines are bufferedFully static memories—EMM 4801 (450ns) or equiva-lent

Price:

32K board complete, assembled and tested

$995.00

For all the memorable details, just fill out the coupon below.(Then all you have to remember is to mail it in.)

mailing

ffe(%[MI

DGWg) )

P.O. Box 6528

Denver, Colorado 80206

□ I promise to mail this in

Name

(303) 777-7133so add me to your

list!

Addrpss

CitylStatp/Zip

□ Remember me? I'm already on your mailing list, but I need thememory spec sheet desperately,on inquiry card.

Figure 1: Conceptually, it's easy to expandthe effective memory space of a processorby adding a latched output port which pro-vides extra high order bits of addressing. Theresult is a "paged" memory technique whichcan address a much larger memory addressspace. In this example, four bits added to16 bits yields 20 address bits, giving a micro-processor an effective addressing range of1048576 locations. However, there are dis-advantages of such a technique in this simpleconception: Each 64 K region is completelyisolated from its neighbors, since the 10 porttechnique requires software switchingbetween regions, which cannot in general beaccomplished within one or a small numberof instructions.

Give Your Micro a Megabyte

What is it that makes a microcomputer"micro?" There are many factors involved,but one of the most crucial is the smallmemory available in most hobby computers.I had scarcely gotten my Altaic up andrunning with 8 K of memory before I wantedto write programs that exceeded its storagecapabilities. Paging programs in and outfrom dual cassettes became a major nuisance,so I gathered my pennies and bought an-other 4 K memory board. In less than amonth I needed even more storage. It is afact of programming life that one musttrade storage space for execution speed inprograms. 1 tried to write a program inBASIC to play Mastermind on my Altair.Mastermind has 1296 possible moves, eachmove composed of four numbers. Storingthis optimally would require about 5 Kbytes; the BASIC code took nearly 6 Kbytes, leaving me almost no space for myprogram. I tried to write the program toregenerate the moves each turn. This savedthe space, but it took over ten minutes ofcomputation to respond. Few human play-ers can put up with such a wait. Don'tthink that this lack of memory afflictsonly small machines. I work on severallarge computers, each of which has over100 K bytes of storage. Programs have beenwritten on each system which strain the

memory limits. The unwritten law has itthat "programs expand to fill all availablespace." We programming experimentersdon't have much control over the structureof our processor architectures, but we dobuild up our own memory systems. In allsystems that I have worked on, the memorywas the single most expensive component.Peripherals rank second in most systems.This is the area in which we can upgradeour machines most readily from the "micro"class. This article will describe, in a generalway, two methods for expanding the storagecapability of a computer. These methods arewidely used in big machines, but are rarelybuilt into small machines. This need not bethe case.

Present day 8 bit microprocessors typicallyhave 16 bit address buses. This implies that amaximum of 64 K bytes can be directly ad-dressed. Many minicomputers also have16 bit buses, but often address up to amegabyte. How do they accomplish thisapparent bit of magic? Obviously, they mustcome up with some more address bits some-where. Minicomputers do it by using specialregisters called mapping registers. Theseregisters contain the extra address bits. If themapping register contents are fixed, thenonly 64 K can be addressed. But by dynamic-ally changing the bits of (for example) a

78

L_.

LATCHED

4 BIT OUTPUT PORT

PROCESSOR

14

1

16

t

ADDRESS BUFFERS

DATA

BUS

BUFFER

20 BIT EFFECTIVESYSTEM ADDRESSBUS

8 BIT

SYSTEMDATA BUS

Robert D Grappel148 Wood StLexington MA 02173

4 bit mapping register, the processor caneffectively address an entire megabyte. Inminicomputers, the mapping function isusually performed automatically, whenneeded, by operating system software. Eachtask loaded in the system has access to 64 K,as determined by its mapping register.Homebrewed microprocessors can do this,too, as well as commercial systems withappropriate modifications. We need to adda register for mapping. We can't add theneeded bits to the processor itself, but wecan use peripheral registers as we like. Justtreat the mapping register as an outputdevice. Figure 1 shows how an 8 bit micro-processor with 16 address bits can generatean effective 20 bit address space using a4 bit output port as a mapping register. Amultitasking operating system could bewritten to switch up to 16 tasks, each ofwhich has access to 64 K. With such systems,64 K segments of data could be kept inpartitions (64 K space defined by the mapregister), separate from the programs inwhich they are used. The opportunities forinnovative system design are vast. As men-tioned, the more memory a system has, themore complex its programs become.

"Wait a minute!", you are asking. "Wewere talking about microcomputers withtypically 4 to 16 K. What good is extending

the address space without the memory? Whocould afford to build amegabyteof storage?"Good questions. The answer is the secondtrick used by big systems ... it is called"virtual memory." This is quite a sleight ofhand technique. Basically, it amounts tothis: If you can't have memory at the ad-dress, move the address to the memory youhave. Nobody expects a system to actuallyhave a megabyte of on line storage. That istoo expensive for all but the biggest ma-chines. Disk (or tape) is also a storagemedium. It is slower, but a heck of a lotcheaper for large volumes of data. Supposethat some external storage device holds alot of data blocked into 4 K chunks. When-ever the processor asks for data, the chunkthat contains that data is read into a 4 Kmemory from which the processor gets it.This is the essence of virtual memory: asmall but fast memory which is being filledby a large but slow external store. To theprogram it appears that its entire addressspace is filled with active memory; it justhas to wait sometimes. Since most programsmove more or less sequentially throughmemory, many memory accesses are oftenmade to the same chunk of memory. Theseaccesses arc as fast as the real memory canbe. The system can have several chunksactive at the same time. This, again, is the

79

+ 5V

FROMPAGESELECT

REGISTER

LSB

oo

O

MSB

PS3

■ IK

■ INSERT ADDITIONAL 7485 IF NEEDEDFOR LOW ORDER COMPARISONS

ILT IEO IGTINPUTS

7485

AO BO

AlA2

Bl

B2

A3 B3

COMPARATOR

OUTPUTSOLT 0E0 OGT

+ 5V POWER PIN 16GND PIN 8

LSB

MSB

FROM) ADDRESSBUS

1= ADDRESS IN SELECTED PAGE

-o

O-ADDRESS NOT IN SELECTED PAGE(START PAGE FAULT RECOVERY)

trade-off of memory space for executionspeed.

The rest of this article outlines a virtualmemory system for a typical microprocessor.It will work with most popular processors.The one requirement is a READY or WAITcapability that will halt the processor at anypoint in an instruction upon an externalsignal. This is absolutely necessary to haltthe processor until the desired chunk (ormore properly "page") of memory has beenloaded. The 8080, 6502, Z-80, TMS9900and other processors have this feature. The6800, unfortunately, does not.

We will assume a page size of 4 K bytes.This means that the low order 1 2 bits of theaddress bus wiil address the memory page.We will assume a single 4 K page of realmemory for simplicity. Two processors needaccess to this memory. The main processoruses it, but there must also be anotherprocessor which can access the memory pageto move the data into and out of it. Thus,both the address and data buses must haveswitches to permit either processor access tothe memory. Now, we need to know if agiven address lies in the current memorypage. The paging processor uses an outputport as a page address register. This registeris compared with the upper bits of the ad-dress from the main processor. A circuit forsuch a page select logic is shown in figure 2.It compares the upper four bits of theaddress bus against the contents of a 4 bitpage register. It uses 7485 4 bit magnitudecomparators to test whether the address is in

Figure 2: If a virtual memory system isimplemented, there is a definite need to findout whether or not a referenced address iscurrently in the swapping region of memory.This can easily be accomplished by usingone or more comparator chips. If the pageselect register is equal to the current pageaddress reference to the swapping region,then access is normal. But if a page faultoccurs (a reference to a page not presentlyin memory), then the paging processor isinvoked while the main processor is atrest waiting for data. The 2 microprocessorstrategy discussed here is but one of anumber of strategies possible for implement-ing virtual memories.

the page identified by the page registercontents. The output goes high when theaddress falls outside the page. (The 7485 iscascadable, so this circuit could be extendedwith extra bits to generate a virtual memoryspace of a full megabyte. This would requirea megabyte of peripheral storage, or aboutfour floppy disks.)

Processors are cheap these days. One mayas well use a micro to control the externalstorage. It will be idle most of the time,when the main processor is happy with thepresent memory page. When the page selectlogic indicates that a change of page is neces-sary, the paging processor goes into action.The main processor is made to wait. Thememory buses are switched to the controlof the paging processor. The paging proces-sor reads the upper four (or more) bits of themain processor address. If the present pageof memory has been written into, then thenew contents of the page must be restoredonto the external store. The new page mustbe read in from external storage and placedinto the memory page. The page writtenlatch is reset, since we will want to know ifthe main processor changes the contents ofthe page. Finally, the page address registeris updated. This releases the main processorto continue processing as though nothinghad happened. It never noticed that thepaging processor took over. The mechanismof storage used by the paging processor isa detail of the design of the virtual memorysystem. It could use hard disks, floppy disks,3M drives, digital or even audio cassettes.(A very ingenious commercial unit usinga microprocessor and interpreter for theAPL language runs such a virtual memorysystem on cassettes. Watching this littlebeast run its cassettes around while runninga program is quite impressive. It features a256 K byte effective address space . . . limitedby the storage on a cassette. [See the MCM/

80

SYSTEMINITIALIZATION

PAGE FAULTINTERRUPT

INITIALIZEPERIPHERALS

SET MEMORY PAGE

ENABLE INTERRUPTS

WAIT FOR INTERRUPT

ENDLESS LOOPIN MAIN PROCESS

RESTORE PAGETO MASSSTORAGE

READNEW PAGEFROM MASSSTORAGE

CLEAR WRITELATCH

IF WRITE LATCH = 0 THEN PAGE HASNOT BEEN CHANGED SINCE IT WASLAST READ

WRITE LATCH = 0 (NO NEED TO COPYDATA BACK IF IT HAS NOT BEENCHANGED)

NOTE:"WRITE LATCH" IS A HARDWAREFLIP FLOP TESTABLE BY SOFTWARE,CLEARED BY SOFTWARE, AND SETBY HARDWARE WHENEVER DATA ISSTORED (WRITTEN TO) THE PAGINGREGION OF MEMORY.

Figure 3: What to do whena page fault occurs. This isa simplified flow diagramof a virtual memory sys-tem control process, in-cluding initialization andresponse to a page faultinterrupt. It is assumed tobe running in a micro-processor dedicated tomemory management.

RETURN FROMINTERRUPT

800 sold by Microcomputer Machines Inc,2125 Center Av, Fort Lee NJ 07024.)A simple flowchart of such a paging proces-sor program is shown in figure 3. The mainprogram is simply initialization followed bya wait loop. The reset function of the mainprocessor also starts the paging processor.There is a small difficulty here: The memorypage must be initialized by the paging pro-cessor before the main processor can use it.Some means must be found to keep themain processor busy while the memory pageis being initialized. A oneshot triggered bythe reset line (or by the paging processor),which holds the main processor in the waitstate for sufficient time for the memory tobe set up, will work. An output bit from thepaging processor can also be used. The initialpage would probably be the operating sys-tem. This brings up another interesting point.Since the entire content of memory isstored on an external, and nonvolatilemedium, one can think of the entire memoryspace as a bit like ROM. A page can bewrite protected by not letting the pagingprocessor restore that page from realmemory. Such memory protection can beimplemented by a ROM which is addressedby the page address lines from the main pro-cessor and which resets the page writtenlatch. Thus, the page processor doesn't thinkthat the page has been changed, and doesn'twrite on the external copy. Software in the

page processor can implement program con-trol of "write protection."

Another point is that if the main pro-cessor has ROM in its address space, onedoesn't want the paging processor to wastetime trying to page into that address area.A similar use of a ROM in the paging proc-essor can inhibit paging of certain pagesin which the main processor ROM islocated.

With a virtual memory system, andperhaps memory mapping, there is oftenno need to do IO with large data blocks.Everything is, effectively, in memory ad-dress space and 10 is often hidden by thepaging process. This can greatly simplifyprograms that use lots of data.

Virtual memory systems are not espe-cially cheap. Using a floppy disk, a systemsuch as I describe here would probablycost around $2000 to build. A single floppystores about 256 K bytes; so with mapping,this system would allow a quarter megabyteaddress space. Think of wiring togethertwo thousand 2102s! Think of the powersupply that would require! Besides, 2102chips cost much more than a dollar each.The virtual memory space could be doubledby adding another floppy drive. It shouldtake quite a while for you to exceed thesestorage limits. When you do, the systemreadily expands. You're not likely to byteoff more than your micro can chew."

81

An Introductionto Numbers

Webb Simmons

1559 AlcalaPI

San Diego CA 92111

The concept of fixed point numbers,scaled numbers and floating point numbersoriginated in the scientific computer en-vironment at a time when a computer wasgenerally considered to be either a scientificcomputer or a business computer rather thanthe general purpose computer of today.Business computers used fixed point num-bers but designers felt no need to describethem as such because that was the only kindof number used. Some business computersused decimal arithmetic rather than binaryarithmetic and allowed a variable amount ofdecimal digits for various variables andvalues of programs. Some business com-puters referred to their decimal digits ascharacters and regarded every characterwhether or not it was a decimal digit ashaving a decimal digit value. But here we'reconcerned with the wider concepts of num-ber representation in a general purposecomputer.

In the general purpose machine we regardall numerical values to be binary numbers insome sense. The point in fixed point andfloating point is not a decimal point but is abinary point. A binary point in a binarynumber plays the same role as the decimalpoint in a decimal number. The binarynumber 101 (meaning 101J has the decimalvalue of 5. The binary number 10J has thedecimal value of 2.5. The binary digit to theleft of the binary point has the place value,positional value, of one; the binary digitnext further left has the place value of two,then four, then eight, etc. The first binarydigit to the right of the binary point has the

place value of one half, then one fourth, oneeighth, etc. Binary 1010.1010 is decimal10.625. Conversion is seen by adding thedigit's place values 10.625 = 8 + 2 + 0.5 +0.125.

The binary value in a register or memorylocation contains only binary digits as asuccession of binary zeroes and ones. It hasnothing in it that is explicitly a binary point.It is the responsibility of the programmer todecide the assumed position of the binarypoint. If the binary point is assumed to be tothe right of the least significant binarydigit, the value is an ordinary integer. Sucha value is often called a "fixed point"number as in FORTRAN or PL/I. Thebinary point can be assumed to lie anywherewithin the word or anywhere outside of theword. When the binary point is assumed tobe fixed at any place other than at the rightof the least significant bit (LSB) it iscommonly called a scaled value, or scaledfixed point value. Any other fixed place-ment is a scaled binary number.

Fixed Point

Valu

e (I ntegt

»rj 8 B

its

7

6

5

4

3

2

1

0

1 ' 1

0

1 ' 1

0

I ° I

1 ]

o

' 1-

165 DECIMAL

128

64

32

16

8

4

2

•1

UNSIGNEDRANGE: 0 TO 255

ASSUMEDBINARY POINT

Scaled F

ixed Poi

it

7

6

5

A

3

2

1

0

1 - 1

o

1 ' 1

0

I ° I

i 1

0

1 1 1 -

20.625 DECIMAL

UNSIGNED

RANGE: 0.0TO31.875

16

8

4

2

'1

1/2

1/4

1/8

1

ASSUMED

BINARY

POINT

82

THE LOGICAL CHOICE-First in a series

Logic Probe 1 is a compact, enor-mously versatile design, test and trouble-shooting tool for all types of digitalapplications. By simply connecting theclip leads to the circuit's power supply,setting a switch to the proper logic familyand touching the probe tip to the nodeunder test, you get an instant picture ofcircuit conditions.

LP-1's unique circuitry—whichcombines the functions of level detector,pulse detector, pulse stretcher andmemory—makes one-shot, low-rep-rate,narrow pulses—nearly impossible to see,even with a fast scope—easily detectableand visible. HI LED indicates logic "1",LO LED, logic "0", and all pulse transi-tions—positive and negative as narrowas 50 nanoseconds—are stretched to Vbsecond and displayed on the PULSE LED.

By setting the PULSE/MEMORY switchto MEMORY, single-shot events as wellas low- rep-rate events can be storedindefinitely.

While high-frequency (5-10MHz)signals cause the "pulse" LED to blink ata 3Hz rate, there is an additional indica-tion with unsymmetrical pulses: with dutycycles of less than 30%, the LO LED willlight, while duty cycles over 70% willlight the HI LED.

In all modes, high input impedance(100K) virtually eliminates loading prob-lems, and impedance is constant for allstates. LP-1 also features over-voltageand reverse-polarity protection. Housedin a rugged, high-impact plastic casewith strain-relieved power cables, it'sbuilt to provide reliable day-in, day-outservice for years to come.

PULSE LEDOFF

LO LED ON I HI LED ONHI LED ON

nnM fr°

4 4 4 4 4

LO LED ON

DURING PULSE tnANf.iTIONS PULSE t€D B

I LEO ON.LO LED DOES NOT RESPOND TO NARROW PULSES

Dunn pulsf i

n n n

LO LED ON. HI LED DOES NOT RESPOND TO NARROW PULSES

CSC'S MULTI-FAMILY LOGIC PROBE 1.AT $44.95, IT DIGS UP A LOT OF INFORMATION WITHOUT

BURYING YOUR BUDGET.

HI/LO LED's—Display leve(Hl-logic "1", LO-logic "0"'of signal activity at nodeunder test

PULSE LED—Lets you knowwhat's going on—and off.Indicates positive and nega-tive pulse and level transi-tions. LP-1 stretches pulsesas narrow as 50 nano-seconds to full Vb sec.(3Hz pulse rate)

PULSE/MEMORY Switch-

PULSE position detectsand stretches pulses as nar-row as 50 nanoseconds to1/3 sec. Switch to MEMORYand it stores single shot andlow-rep-rate events indefi-nitely; HI/LO LED's remainactive

Non-corrosive nickel-plated probe tip and clip

leads—For reliable contactsand maximum life

Protected—Features built-inreverse polarity and over-voltage protection; strain-relieved power cable

Logic Family Switch—

TTL/DTL or CMOS matchesLogic "1" and "0" levels., for greater versatility. HighInput Impedance—100Kvirtually eliminates circuitloading problems and isconstant in both "0" and"1" states. CMOS positionalso compatible with HTL,HiNILand MOS logic

EASY DOES IT

44 Kendall St. Box 1942 New Haven. CT 06509TWX: 710-465-1227

West Coast office: Box 7809. San Francisco. CA 94119TWX 910-372-7992

See your CSC dealer or call 203-624-3103 (East Coast) or 415-421-8872 (West Coast)

9 AM to 5 PM local time. Major credit cards accepted. Add $2.50 for shipping and

handling in the U.S. and Canada on direct orders of 550.00 or less; $3.00 for orders

over $50.00. On all foreign orders add 15% to cover shipping and handling.

Circle 22 on inquiry card.

The values which can be represented as aninteger in one 8 bit byte arc from zero to255 when all values are considered to beunsigned, and therefore positive. In signedtwo's complement notation the fixed pointvalues in one byte are the integers from-128 to +127. In either case there arc 256different values possible, of which all areintegers with no fractions permitted.

Scaled fixed point binary is not oftenused except as a part of a floating pointword. When scaled numbers were widelyused in earlier computers, the binary pointwas frequently placed, or assumed to beplaced, in the center of a long computerword of 36 bits, 48 bits or 60 bits in length.Another common placement used was at theleft of the most significant bit (MSB) but tothe right of the sign bit of a two's comple-ment number. In scaled values of this typethe values are always less than one andgreater than minus one. Many modern largecomputers have instructions to facilitateoperations on these fractional scaled values.

Signed Scaled Fixed Point Values

ASSUMEDBINARY

POINT

Scaled fixed point values will not figurestrongly in our futures, except in those rarecases where speed or other applicationdependent criteria require optimization.

For signed and scaled fractional two'scomplement numbers, the largest binaryvalue is 0 .11111 II and the smallest binaryvalue would be I .0000000 where the digitto the left of the binary point is the sign bit;however, if we are to limit the range tofractional values, we must throw out the1.0000000 state and treat 1.0000001 as themost negative value. This leaves us with 255states ranging from +(127/128) to—(127/128) or performing the division,+.9921875 to-.9921875.

Extending Precision

The fact that a particular computer usesbytes for its memory storage and registersdoes not mean that a datum must be onebyte. A unit of data can be any number ofbits regardless of the computer word length.It can be 19 bits on a 1 3 bit word machine ifyou program such a construction. Thiswould be unusual but it certainly is possible.It is customary to define the numerical dataso that it will use 1,2,3 or some other wholenumber of bytes or words. Dividing data on

memory address boundaries eases and simpli-fies programming.

Scaled values were useful enough formany purposes but their use was trouble-some to the programmer. If a value got toolarge, there was danger of overflow. If avalue got too small, there was a loss ofsignificance caused by too many leadingzeroes and the danger of the value becomingzero. Special scaling factors had to be usedfrom time to time to keep the problem inhand, and of course the effects of the scalingfactors had to be removed when the compu-tations were completed. The invention offloating point numbers cured most of thescaling difficulties.

Enter Floating Points

A floating point number has two parts foreach value. One part is a fraction which is ascaled fixed point number as describedabove. The fractional part has many names.It may be called the fraction, mantissa orcoefficient. The typical floating point num-ber has a fraction whose absolute value isalways less than one. The minimum frac-tional value is determined by the base of theother part of the floating point number. Thisother part of a floating point number hasbeen called the exponent, power or charac-teristic depending on whose description youread. It is the exponent or power to beapplied to some base (also called the radix)that forms a scaling factor. The value of thenumber is the fractional part multiplied bythe base raised to the power of the ex-ponent's value.

For many years the base for the exponentpart of a floating point number was almostinvariably two. For a base radix of two anominal minimum absolute value for thefractional part is one half. We set up ourhardware or software to force the mostsignificant bit of the mantissa to be one, inorder to "normalize" our numbers. Simi-larly, for each possible base we constrain thefractional value: For a base of four theminimum fraction value is one fourth. For aradix of eight the minimum fraction is oneeighth and for 16 it is one sixteenth. IBMSystem 360/370 uses a radix of 16 for theexponent base in floating point numbers andso do various other computers and systems.Whatever the radix for the exponent, when-ever the fraction is greater than or equal tothe minimum value for that base, the float-ing point number is said to be normalized.(In order words, it is the "normal" or "best"form.)

There is very little standardization amongfloating point numbers. The radix for theexponent's base may be two or it may be ten

84

FLIP OVER OUR FLOPPY

Only $750 from Peripheral Vision.

Peripheral Vision is a brand-new company that's dedi-cated to selling reasonably priced peripherals for variousmanufacturers' CPU's.

We think you'll flip over our first product.

It's a full-size floppy disk for the Altair-lmsai plug-incompatible S-100 BUS. And it's available for as low as $750.

Here are the features:

• 1 interface card supports 4 drives

• Stores over 300,000 bytes per floppy

• Bootstrap EPROM included—no more toggling orpaper tape

• Completely S-100 plug-in compatible

• Interface cabling included

• Drive is from Innovex (the originator of the floppyconcept)—assembled and tested

• Interface card design is licensed from Dr. KennethWelles and the Digital Group

• Disk operating system with file management systemincluded on floppy

• Cabinet and power supply optional

Now, a little more about our company.

Peripheral Vision may be brand-new, but we have someold-fashioned ideas about how to run our business.

We know there are serious incompatibilities among thedifferent manufacturers' peripherals and CPU's. We want toget them together. And, we want to bring significant newproducts to market—products consisting of everything fromadaptation instructions/kits for hardware and software tomajor new products.

It's a tall order, but we feel we're up to the task.Peripheral Vision has already obtained a license fromThe Digital Group to adapt versions of some of their prod-ucts to the S-100 BUS. And we're working on getting morefrom other companies.

Most important to our customers, Peripheral Vision iscommitted to helping you get along with your computer.We'll do all we can to make it easy.

Write us now for all the information on our company,our philosophy and our exciting line of products. And beprepared to flip over all of it.

Prices:

Interface card kit andassembled and tested drive

Power supply—+24V at 2A

Cabinet—Optima, blue

Circle 23 on inquiry card.

Kit

S75045

Assm.

$8506585

RO. Box 6267 Denver. Colorado 80206 (303) 733-1678

Send me the works, and I just might flip over it!

Name .

Address.

City/State/Zip.

Table 7: This is a summaryof the nominal maximumrelative error that occursfor different field widths.The field widths aremeasured in bits. The max-imum error column is cal-culated as being the maxi-mum error or change invalue that occurs if theleast significant bit is lostor changed. The decimaldigits column indicates thenumber of decimal digitswhich are unaffected byrelative error in the repre-sentation.

or even 1 6. Within a floating point word thebits for the exponent can be either before orafter the fraction. The number of bits forthe exponents vary widely in different sys-tems as do those for the fractions. There arevarious schemes for showing the signs for theexponents and the signs for the fractions.

The dynamic range of values allowed fora floating point number is determined pri-marily by the radix for the exponent and thenumber of bits in the exponent. The IBMSystem 360 and 370 hardware uses an 8 bitexponent of which one bit is used to takecare of the sign for the exponent (it is nottruly a sign bit but the overall effect is muchthe same) and one bit handles the sign forthe fraction which leaves six bits to deter-mine the value of the exponent. The largestvalue in six bits is 63 which, when applied toa base of 16, produces 16^3 or approxi-mately 7X1075. The smallest positive ex-ponent is equivalent to 16 64 or approxi-mately 9X10~78 These exponents must bemultiplied by some fraction between 0.0625and 1 to get the final value of a floatingpoint word. The exponent for a Univac 1100series computer is nine bits which loses twobits for the signs. The remaining seven bitswould seem better than the remaining six forthe System 370 except that the radix of theexponent is two. The largest exponent is2127 or approximately 1.7X1038 and thusmuch smaller than that for the IBM version.The Univac double precision floating pointword allows numbers to 21024 or approxi-

Number of

Maximum

Decimal

3 its

Values

Error

Digits

2

4

.250

0

3

8

.125

0

4

16

.063

1

5

32

.031

1

6

64

.016

1

7

128

8E-3

2

8

256

4E-3

2

9

512

2E-3

2

10

1k

1E-3

3

11

2k

5E-4

3

12

4k

2£4

3

13

8k

1E-4

3

14

16k

6E-5

4

15

33k

3E-5

4

16

66k

2E-5

4

17

131k

1E-5

5

18

262k

4E-6

5

19

524 k

2E-6

5

20

1M

1E-6

6

21

2M

5E-7

6

22

4M

2E-7

6

23

8M

1E-7

6

24

17M

6E-8

7

25

34M

3E-8

7

26

67M

1E-8

7

27

134M

7E-9

8

28

268M

4E-9

8

29

537M

2E-9

8

30

1G

9E-10

9

31

2G

5E-10

9

32

4G

2E-10

9

mately 1.8X10^8 which is prettyimpressive.

The precision, or accuracy limit, of afloating point number is determined by thenumber of bits in the fraction part. Just incase you're mistakenly tempted to regardaccuracy and precision as being the same, letus learn to distinguish between them. Pre-cision relates to the ability to differentiatebetween value representations that arenearly the same. In terms of decimal valuesthe precision can be to eight significantdigits but if the accuracy is less than theprecision then some or all of these eightdigits are nonsense. Accuracy cannot exceedprecision. Precision can be defined as themaximum possible relative accuracy. Youcannot easily ascribe a precision to a 1 bitfield because there is only one nonzero valuepossible.

In spite of slight conceptual error it isoften convenient to regard the precision asthe representional error caused by the vari-ation of one in the least significant bitposition for a field width in bits that doesnot include leading zero bits. Using thismethod for two bits we can stipulate fourvalues, so we can say the precision is about25%.

From this point let us decide to giveprecision as the precision in bits in the bitfield that does not include leading zero bits.Then, for each such precision, we cancompute an error that will have nothing atall to do with accuracy beyond placing alimit on the accuracy. This is equivalent tosaying that a method or procedure whichproduces a value can be totally wrong butthis does not reduce the precision in thevalue as it is represented. We can claim thesquare root of 4 to be 1.389567. This squareroot is quite precise but not very accurate.

When one thinks of errors it is usuallyerrors caused by all inaccuracies rather thanjust those errors caused by precision ofexpression: However, for the remainder ofthis article I will take a narrow view of errorsand assume they are all caused by precisiononly. The nominal maximum relative errorsfor different field widths, measured in bits,are summarized in table 1.

Our approximate rule for the maximumerror in a 2 bit value gave us 25% whenthe true value was about 20%. As the fieldwidth in the number of bits increases theapproximate rule improves and is closeenough in any case. It is important toremember that the effective field width doesnot include leading zeroes.

The floating point fraction on the Uni-vac 1108 (Univac calls it the mantissa) is27 bits wide and the most significant bit is

86

always set for positive values. Thus theprecision, expressed as the maximum repre-sentational error, is about one part in 10§and is equivalent to seven or eight significantdecimal digits. The single precision floatingpoint fraction on the IBM System 370 com-puters is allowed a width of 24 bits butbecause the exponent radix is base 16, thenormalized fraction can have from none tothree leading zeroes. The precision thereforevaries from an error of about one part in 10^for 24 bits to one part in 10? for 21 bits.The equivalent decimal precision is about sixor seven significant decimal digits. The IBMfraction is not quite as good as Univac's butthe dynamic range allowed by the floatingpoint exponent is greater. Both are greatlyinferior to the CDC machines with their 12bit exponent and 48 bit mantissa in a wordof 60 bits.

It is not customary to use a signed valuein the exponent part of floating pointnumbers. The more usual arrangement is tobias the exponent by adding a constant. Theexponent range for the IBM floating word isfrom 16~64 to 1 6^3 jne 16 is not shownbut is assumed. IBM adds 64 to the ex-ponents so that the floating exponent partfor the value 16—64 is zero and for 1663is 127. A floating value of one is equiva-lent^ 16X1/16=1 which yields binary01000001000100000000000000000000 asa single, 32 bit value. In hexadecimal this is41100000. The exponent part in hexa-decimal is 41. Table 2 shows a summary ofthe binary and hexadecimal digit placementas used by IBM.

Negative floating values are typicallyformed one of two ways. The word as awhole is simply arithmetically inverted orelse only the sign bit is inverted. Either of

hexadecimal 4 110 0 0 0 0

binary 01000001 000100000000000000000000

Table 2: The breakdown of a sample number of a 32 bit word into binary andhexadecimal digit groups.

these methods is satisfactory and neitherchanges the dynamic range of the exponentnor the precision of the fraction.

Many IBM users go to double precisionfloating point because the precision equiva-lent to 6 decimal digits is not sufficient fortheir needs. In this case the exponent, andthe dynamic range, is not changed but thefraction width is increased to 56 bits whichis equivalent to about 17 decimal digits.Double precision on the Univac allows12 bits for the exponent, versus the singleprecision 9 bits, and 60 bits for the fraction,versus the single precision 27 bits. Doubleprecision on the CDC machines is almostridiculous — the exponent is essentiallyrepeated in the second word which allows96 bits for the fractional part which isequivalent to more than 30 decimal digits!

If I were writing a complete programmingsystem for an 8 bit byte machine, I wouldnot use a 4 byte copy of the IBM floatingword but would use two bytes for theexponent with an exponent base radix oftwo rather than 16 and four bytes for thefraction part. A 32 bit fraction is equivalentto about nine significant decimal digits andthe exponent range would be ridiculouslylarge. Or maybe one should use the IBMmethod but adding two bytes to the fractionpart. My point here is that I personally donot like a word with only six decimal digitsof precision."

The COMPUTALKER Model CT-1 optimizes the trade-offbetween low data rate speech and directly digitized speech.Low data rate speech relies on canned definitions for thesound of each phoneme, which produces mechanicalsounding speech. Digitized speech, while remaining faithfulto the original sound, requires 1 OK to 20K bytes per secondof storage and is inflexible to phonetic manipulation.With the Model CT-1, the sounds are defined in real timeunder software control. Parameters which represent thephonetic structure of human speech are transmitted to theCT-1 at a rate of 500 to 900 bytes per second. This allowsthe production of highly intelligible and quite naturalsounding speech output. Speaker characteristics andlanguage or dialect variations are retained in the output.The CT-1 can also be operated in a low data rate mode usingphoneme definitions contained in the CSR1 Synthesis-by-Rule software package. The COMPUTALKER speech synthesissystem, used in this way, has the advantage that thesoftware driver can easily be modified to keep thenaturalness and intelligibility of the speech output up todate with the constantly evolving state of the art of rulegoverned speech.

SPEAK "KAAMPYUTAOLKER"

WRITE FOR INFORMATIVE LITERATURE

COMPUTALKER CONSULTANTS

P.O. BOX 1951, DEPT. B.,

SANTA MONICA, CA 90406

CALIFORNIA:

Long Beach, CA 90815

A-VIDD Electronics

[213]S98-0444

Lawndale.CA 90260

Byte Shop of Lawndale

[213]371-2421

Orange, CA 92667

The Computer Mart

[714)633-1222

Santa Monica, CA 90401

The Computer Store

[213]451-0713GEORGIA:

Atlanta, GA 30305

Computer Systems Center

[404]231-1691INDIANA:

Bloomington, IN 47401

The Data Domain

[812] 334-3607KANSAS:

Kansas City, MO 64113

Micro-Corn, Inc.

[8161333-8383MICHIGAN:

Royal Oak, Ml 48073

Computer Mart of Royal Oak

[313] 576-0900

NEW JERSEY:

Hoboken, NJ07030

Hoboken Computer Works

[2011420-1644OREGON:

Portland, OR 97201

Byte Shop of Portland

[503] 223-3496VIRGINIA, WASH. DC;

Fairfax, VA 22030

Roberts Information

Services, Inc.

[703]560-6119CANADA:

Toronto, Ontario/Canada

M5V 1Z1

The Computer Place

[416] 598-0262ENGLAND.

London NW6, England

Compelec ElectronicsGERMANY, AUSTRIA:

8011 Munich-Putzbrunn

Datameg Div. of Megatron KG

[089]46 50 66JAPAN:

Shibuya-ku, Tokyo, Japan

Pax Electronic!

[03] 370-2751

87

Circle 24 on inquiry card.

SYNCHRO-SOUND Enterprises

Your Small Computer Department Store

>] »*.i il»]»]»] I i [*■(*]

Hardware and Software

Compare our PRICES, PRODUCTS, QUALITY,

»] 3 n VIJ: W*ci a :Vi m:

you need in small computers, terminals,printers, monitors, keyboards, accessories.We'll meet or beat competitive prices oneverything we sell!

LEARSIEGLER

ADM-3A TERMINAL

IMSAI 8080 MICROCOMPUTER

Full addressable cursor.

Character Generation— 5x7 dot matrix.

Display Format— Standard: 1920

characters, displayed in 24 lines of 80

characters per line.

Character Set— Standard: 64 ASCII

characters, displayed as uppercase, plus

punctuation and control.

Communications Rates— 75 to 19,200

Powerful • Easy to use • Low cost

With 22 Slot Mother Board.. .$619.95With Z-80 CPU 849.95

OKIDATA Model 110 Line Printer

• 110 CPSdot matrix

Friction Feed $1099.00

Tractor Feed 1229.00

RS 232C Serial Interface. . .250.00

baud (switch selectable).

• Computer Interfaces— EIA standardRS232C and 20mA current-loop (switchselectable).

• Data Entry— New data enters on bottomline of screen; line feed causes upwardscrolling of entire display with top-of-page overflow. Automatic new lineswitch selectable, end-of-line audibletone.

ADM-3A Kit $839.95 i

ADM-3A Assembled .1079.95Lower Case Option 89.00 I

SPECIAL BUYS

HAZELTINE Modular One VideoTerminal

$1639.00

959.00

2769.00

2595.00989.00

599.002095.00

300.0029.9569.95

ilivery

SORAC IQ120 Video Terminal KitDEC LA180 Printer

COMPUCOLOR8001 Color GraphicsComputer

ICOM Microfloppy Disc & Controller. . .

NORTH STAR Microfloppy Disc &Controller

OKIDATA Model 22 Printer

OMNITEC401C300 Baud Modem2708EPROMS

OAE Papertape Reader

SOL 20 In Stock For Immediate De

NEKI

COMMERCIAL QUALITY KEYBOARD

The Model SS-1 Communications Terminalis a non-contact capacitive keyboard with aguaranteed life of over 100,000,000 opera-tions.

• MOS/LSI Encoder with high reliabilitylow power consumption.

• Key Roll Over which eliminates operatorerror and increases thruput.

• Hysteresis for tease proof operation.

• Solid State performance at mechanicalswitch prices.

• Tactile Feedback at the operate point.

• ASR-33 Array with four mode encoding.

Keyboard Kit $99.95

Enclosure (with numeric

cutout) 49.95

Numeric Pad 34.95

Complete Kit (with pad)! 79.95Assembled Unit

(with pad) 229.95

DECwriterll

SOFTWARE

Attention ALTAIR DISK Owners

Now available—an Accounts ReceivableSystem for the small user. This system is ex-pressly designed to be run on an 8080 basedmicrocomputer using an Altair floppy disk withAltair Basic, Video Terminal and Printer. Manyfeatures normally found only on large scale com-puters are included. Provided are such functionsas: Adding New Customer Accounts, DeletingDormant Accounts. Transaction Processing,and Report Generation. The Monthly Statementsinclude both current and aged balances. Otherreports generated are the Aged-AccountsReceivable and Delinquency Notices.

This easily usable system requires very littleoperator training. All communication is in an in-teractive mode with the program constantlyprompting the appropriate responses. Operatorerrors are easily corrected and accidental database deletions are prevented by requiring addi-tional confirmation.

This Accounts Receivable System, althoughsupplied ready for use, may readily be modifiedto include special installation-dependent func-tions. All major programs are written in highlevel language making program additions andalterations a simple task. This program moduleis designed to serve as the basis for a completeaccounting package. Provisions are included forlinking Billing Inventory Control and GeneralLedger modules which will be available in thenear future.

We carry a full line of the following: TDL, OAE,Processor Tech., Hayden, Tarbell, IMSAI,Cromemco, Compucolor, Icom, Lear Siegler,Okidata, DEC, Javelin, Teletype, North Star,Heuristics, Peripheral Vision, TRW. Same daydelivery and shipping on most items. Full,modern repair facilities on premises for com-plete servicing of everything we sell.

SYNCHRO-SOUND Enterprises

The Computer People

193-25 Jamaica Avenue, Jamaica,New York 11423 • 212/468-7067

Hours 9-4 daily Visit our new showroom .

and Saturday working units on display

Dept. b BankAmericard • Master Charge

• 132 column printing • 30 CPS

• Full keyboard • Tractor Feed

$1769.95

I Please send

me

further

nformat

on on

(list

items)

Price

List a

City

State

Zip

Circle 25 on inquiry card.

DeskTop Wonders

Jeu de NIM, Peut Etre?

We recently received the following from Alain Chance' in Paris. Alain is aconfirmed SR-52 fan, as his letter so amply indicates. It, just goes to showthat enthusiasm for small systems programming is by no means limited tothe US.

Alain Chance

20 rue de Longchamp

75116 Paris FRANCE

I am an enthusiastic reader of your maga-zine. Since I own an SR-52 with PC-100printer attachment, I have read "The BuriedGold in the SR-52"and "DeskTop Wonders"[December 1976 BYTE, pages 30 and 92}with great interest.

But I think that the register organizationoffers a much more fantastic ability: By theuse of memory functions and programstorage registers, a program can alter itself!

'^A^

"That funny black caterpillar you just killed will set you back fivebucks."

By Duane Bibby

To find out the correspondence betweencodes and program register contents, weexecute the following sequence using theSR-52's 2 digit keycodes:

*7TEE 12 STO 70 *rset "list

and we get:

display = 3.141592654 12printout = 000 20 001 01 002 00 003 54004 26 005 59 006 41 007 31

The following program should prove veryuseful to SR-52 enthusiasts:

000 0

001 0

002 0

003 0

004 0

005 0

006 0

007 0

008 0

009 *LBL

010 A

011 0

012 0

0130

0140

015*rtn

016 *LBL

017 B

018 EE

019 5

020 8

021 +

022 RCL

023 7

024 1

025 =

026 STO

027 7

028 0

029 *rtn

030 0

031 0

To see how it works, perform the followingsequence:

* 77 STO 05 5 STO 97Input 0.7094336

Press B, display = 5.607094336 60Press A, display =3.141592654 00

The A function operates exactly the sameway as if we had keyed in the followingsteps (in the learn mode):

*IND RCL 97

To replace those four steps by GTO 123(whose codes are 41 01 02 03), we wouldmerely input .3020141 and press B.

This unique feature opens a new dimen-sion in programming.

For SR-52 games hunters, I offer thefollowing version of NIM which allows up tonine rows of 1023 pawns each. (This pro-gram should be run with the PC-100printer.)

90

Program Listing

v^SR-52

CODING FORNTH

VI - KODE

AGE /SEITE/P

a CM A

FORM ~ FEUILLE

ARF A

DE PROGR/

OF/VON/DEDATUM/DATE

iMMATION

^

PROGRAMMER/PROG HAMM1ERER/ PROG RAMM EUR _ r\l0.t

.hl-CE DATE /

iin_a*0tW7«

Loc. Code ; Key CommentsAdf. ;Kodej Taste BemerkungenAdr. ' Code | Touche Commentaires

Loc.Adr.Adr.

CodeKodeCode

KeyTasteTouche

CommentsBemerkungenCommentaires

Loc.Adr.Adr.

CodeKodeCode

KeyTasteTouche

CommentsBemerkungenCommentaires

LabelsLabelLabels

t

ne'e

•JS2!

w© ' , „

*LBL

A

00

0

00

0

. nombrc deMrionS ao<Jeb

11

St

•Mm

<H

STO

B r>umtro <Je Ifc

M

STO

Wi

*7

"1

06

e.

C TEO

ot €

se

"ptn

«7

7

Dhon affttie

8njj5 2 «PPt

53 "pap

4-6

[u

045 I

»' °3

"LBL

oeo

56

*rtn

E u*) *>o

B

B

<H

*LBL

A' (o 5TO oo

5TC

15

* D'

#(>'

g^CtCt-oo-1)

1 li

_L»»."JO

* 11x16STO

3

98

o|

1

C1UL0O «OC7

j_?S

o o

0

D"

I 3 8

*prt

085

55

4-

p. =o SC p»CP,

*o ii Impair

_.i_8£

+■

4-2

STO

Mn'mo.7,.^n""'5""

16 T*A'

+ tBL

4-S"

r"

co utilise p«wrI'uiit i*ocrtf n

OO 0

M0« u

* A'

K'

4-3

RCL

01 cchticnnchl

M *LftL

i o|

1

of

C

02 le howbre

87

* 1

» 1

SO

0

090399

o7

7

03 <U pious

'S

***

3<

*IWD

Ui

STO

«S"

X

de chicunt

<r3 1 " PRof),oj i

oi 84-3 j RcL

" °> I 9 |7S -17 *&' ...J2 INVJt» 80 ! "if pos

oo 1 0

oo

oo

^36

*jto.b

Acs Srangte

B55

oo

<H

B.CL

06titpPime'

5S"

=

oo

o

07dins le

STO

93

"rtn

095

S02

oo

o

08 ^steme

95

=

09 bih>tpft

5-6

"rtn

io 0

«•<

*LBL

1 'contienrwht

s

T6 *LSL

10

W e'

* tc'

'2 i

le hotrvbre

"■2

*b'I

B'

10031*

85"

+

l3dc ptohs

oi

£

At chrome

»5

=

,5dts 9 rjhje*

•1 | 3 ]

065 J* 3

RCL

15

E

"expritnt

« ! STO 1

1 OO

o

r5

■*»

'Vht it

0 o

o

105

°t

2

Ia4ysttmc

"■Mil o« £ t

S"S

*

75-

-

"clCCtlT*^!

o 5

ol

i

"Lai.

FUJI f l«Bi

ol I 1

U70

55

IS"

E

E

0

if , *IM6

Si

*rtr>

<?*

INV

'

l5Joi a ■

<H

»LBL

"■c'

RCL

no

99i

SiS3

EE

c

^ttlisef

075

.1.8 .43

*c'

j

l~s

Texas Instruments

«

°1 i 1 .

00

o

Example of Play

Play Instructions

4.

Load in the play card both A and B sidesInitialize: *fix 0 *CMs *rsetEnter the starting position: For each non-empty row, input its number, n, (1 < n < 9)and press B; then input the number ofpawns, xn, (0 < xn < 1023) and press A.To play against the SR-52, input the num-ber, n, of the row you have altered andpress B; then input the number of pawnsthat remain in this row and press C.To begin a new game go to line 2 above.

I hope that such programs will encourageTexas Instruments to create a EuropeanSR-52 Users Club. Many people are for surewaiting for personal computer system dealersin Europe."

4.

PR-

PR

StartingPosition

2-

PR"

PR""

2-

PR"

PF "

Player

t.

PFPR

SR-52Replies

I. L

0 PR"PF ""

Player

n';

PR"

PF:""

SR-52Replies

2.

0 F F""PF ""

Player

l.

PF'""PR""

0 PF'"'

SR-52 Wi

ns

PF "'

91

BITS. BYTES& BALONEY!

For all of you non-aficionados of the ComputerArt. . . .

BIT — an electrical signal or logic level (likethe zero or one of the Binary numbering system)— Motorola's M6800 is an 8-bit MPU.

BYTE — a set of eight electrical signals, orlogic levels (bits) — The M6800 is capable ofaddressing 65,000 bytes of memory.

BALONEY — the state-of-the-MPU-art that saysthat you must be a trained computer expert touse a Microprocessor in a practical manner.More and more "individuals" are becoming self-styled computer 'experts' at home, with theirown MPU kits. They are doing things that otherssaid, "couldn't be done," (just because theyforgot to ask).

NOW'S YOUR CHANCE — for only $235.00 (plus$5.00 postage and handling) you can order yourMOTOROLA M68O0 MICROPROCESSOR EVALUA-TION DESIGN KIT, directly from Motorola.

IT'S A COMPLETE KIT — the MEK6800D2 Kithas all the parts necessary to complete the sys-tem and get "On The Air," except for the PowerSupply. It includes:

o (1) MC6800 Microprocessing Unit

o (2) MCM6810 — 128 x 8 Static RAMs

o (2) MC6820L — PIA'S

o (1) MC6830L — Program ROM

o (1) MC6850L — ACIA

o (2) Printed Circuit Boards

o (1) MC6871 — Clock

o (1) 6-Digit Seven Segment Display

o (1) 24-key Keyboard

o Complete kit of resistors, capacitors,sockets, circuits, etc. All the partsnecessary to the system, but the PowerSupply.

THE M6800 MPU KIT FEATURES

o 24-key Keyboard

o 7 Segment Display

o Cassette Interface

o EROM Expandable

o RAM Expandable

o Wire Wrap Capability

o Parallel & Serial

o Interface Capability

o Single 5-Volt Supply Required

o Layout on Boards

o Documentation

IF YOU'RE READY FORA MICROPROCESSOR- THE M6800 ISREADY FOR YOU!

Send your order in todayfor one of the mostpowerful MPU Kits onthe market. Fill in theorder form below andmail it with your checkto:

MOTOROLAMPU KIT SALESDepartment BP.O. Box 27605Tempe, AZ. 85282

I have enclosed $235.00 plus $5.00 shipping andhandling (add applicable state and local taxes) incheck or money for each MEK6800D2 Micro-processor Design Kit II. Please send Kit(s).

NAME

ADDRESS.CITY

STATE.

ZIP _

Please print clearly — Make checks payable toMotorola Inc.

©MOTOROLASemiconductor Products Inc.

Circle 6 on inquiry card.

A Machine CodeRelocator for the 8080

When it became necessaryto insert a routine betweenlocations x and x+1 inmemory, I found myselfwith two miserable op-tions for manual patches.

Leor Zolman362 Memorial DrCambridge MA 02139

Many microcomputer hobbyists passthrough an early stage in the development oftheir systems where machine language is theonly mode available for programming. Mysystem configuration at that point includedan IMSAl mainframe and 4 K memory, aVDM-I video driver and monitor, and aTarbell cassette interface. The big problemwhen programming something like LIFE forthe VDM in machine language occurs whenit becomes necessary to insert a routine (callit routine y) between locations x and x+1 inmemory. I found myself with two miserableoptions open:

1. Replace three or so bytes (the exactnumber depending on where the newinstruction begins, on byte 3, 4, or 5)with a patch to routine y, placedsomewhere else in memory, then re-store the lost bytes at the end ofroutine y and jump back to location

x+4, or so. This is not exactly ideal.2. Manually relocate the program fromlocation x+1 on down until the endof the program (unless you left plentyof NOPs to handle just such a situation— then, when you're all finished,you're left with a bunch of uselessNOPs!) to make room for routine y.This involves writing the whole thingout on paper first then toggling it in.Once again, far from optimal.

My solution to this dilemma was to writea machine language program which performsthe second type of relocation above quicklyand painlessly when given just 11 bytes ofrelocation data as shown in table I.

The program, which I call the "reloca-tor," performs its duty in two phases.Phase 1 simply takes the block whose firstaddress is a, and whose last address is b, thentransfers it as is to the area beginning with

About the Author: LeorZolman has been pro-gramming for four years,including such applicationsas medical graphics forCedars of Lebanon Hospi-tal in his hometown of LosAngeles. He is currentlyworking on a 2 K residentmonitor for the 8080, andcharacterizes himself as aBASIC games enthusiast.Mr Zolman is 17 years oldand a freshman at Ml T.

Number

Label

of Bytes

Address

2

ODDD,

a

ODDE

b

2

ODDF,

0DE0

2

0DE1,

c

0DE2

d

2

0DE3,

0DE4

2

0DE5,

e

0DE6

0DE7

Comments

First address of block to be relocated

Last address of block to be relocated

Destination address (ie: where the byte at location a should go)

First address to have references fixed

Last address to have references fixed

00 = fix references onlyFunction select: 01 = move block and fix references02 = move block only

Table I: These six key pieces of information must be entered into thelocations shown (beginning at hexadecimal ODDD for listing I) beforerelocation can be performed.

92

address c. That's it for phase I. If the func-tion select byte is equal to 02, then therelocator quits here and goes into an infiniteloop which shows up as a known pattern inthe lights of an Altair or IMSAI front panel.This is an indicator of the end of execution.

Phase 2 is the tricky part. All addresses(meaning all 2 byte operands of 3 byteinstructions) which fall between items a andb above (inclusive) must have added to themthe distance (number of bytes) which theblock was moved. This value is easily com-puted by the expression c-a. For example,if a ten byte block was moved from startinglocation 10 to decimal starting location 75,then the value 65 must be added to any 2byte operand in the program having a valuefrom 10 to 20 inclusive.

The purpose of items d and e in therelocation data is to tell the relocator whereit must look for such operands (references),so that they may be altered or "fixed"accordingly. Since the references may lieanywhere within the program (not necessar-ily just within the relocated block) d shouldbe set equal to the very first location of theprogram, and e should be set to the last. Theexception to this, which occurs when a datablock lies in the way, will be covered later.[To avoid the exception, the "good" pro-gramming practice of keeping data separatefrom executable code is highly recom-mended . . .CH/ Phase 2 may be executedwithout phase 1 if the function select is settoO.

The beauty of this program becomesapparent when a friend having 32 K in hismachine hands you a tape of a program hewrote residing somewhere up in the sky (orso it seems to you, with only 4 K) and youwould like to run it. All you have to do inthis case is:

1. Load in the relocator

2. Load in your friend's program in anyfree memory space

3. Feed the relocator this relocationdata:

a. the original first address of theprogram

b. the original last address of theprogram

c. the location where you loaded it(first location)

d. same as c

e. c + length of the program (thisequals c + b — a + 1)

f. 00 (function select to fix referencesonly)

4. Examine the start of the relocator andhit run. When the LEDs stop flickering(about I second for each 1 K between

Listing I: A relocation program for use on 8080a systems. The program takesany existing program and transfers it to any other location desired in memorywith a minimum of fuss. Throughout this program, endless loops are used tosignal the end of major operations. These loops will cause the data LEDs tooutput a constant light pattern on the front panel (line 0D37 for example). Ifdesired, the program can be modified so thai it jumps to any other desiredroutine at these points, or returns to your monitor. All numbers followed byan H are considered to be hexadecimal in this program (eg: 02H in line0D35). Interestingly enough, while the program resides at starting location0D00, it is perfectly capable of relocating itself!

Hexadecimal

Address

Code

Label

Op

Operand

Commentary

ODOO

31

FF

OD

LXI

SP, STACK

03

2A

DF

0D

LHLD

SBOT

get b;

OS

54

MOV

D,H

move b to DE;

07

5D

MOV

E.L

08

2A

E1

OD

LHLD

DTOP

get c;

OB

44

MOV

B,H

move c to BC;

oc

4D

MOV

C,L

0D

2A

DD

0D

LHLD

SSTRT

get a;

10

C5

PUSH

B

save c;

11

CD

A9

0D

CALL

COMPH

complement HL;

14

19

DAD

D

HL := b-a;

15

44

MOV

B,H

move to BC;

16

4D

MOV

C.L

17

E1

POP

H

get c;

18

09

DAD

B

set HL equal to bottom ofdestination area;

19

3A

E7

0D

LDA

FUNK

get f;

1C

B7

ORA

A

if f=0, then skip phase 1;

1D

CA

3A

OD

JZ

STEP 3

20

1A

X

LDAX

D

get byte from source;

21

77

MOV

M,A

store byte at destination;

22

78

MOV

A,B

23

B7

ORA

A

24

C2

2C

0D

JNZ

Y

27

79

MOV

A,C

28

B7

ORA

A

29

CA

32

0D

JZ

TEST

if move is over, then go toTEST;

2C

2B

Y

DCX

H

else keep a goin';

2D

IB

DCX

D

0D2E

OB

DCX

B

2F

C3

20

0D

JMP

X

32

3A

E7

0D

TEST

LDA

FUNK

move is now over;

35

FE

02

CPI

02 H

37

CA

37

0D

DONE

JZ

DONE

if move only, then go toDONE, (this is endless loop)

3A

E5

STEP 3

PUSH

H

save c;

3B

62

MOV

H,D

get a;

3C

6B

MOV

L,E

place a in HL;

3D

CD

A9

0D

CALL

COMPH

40

Dl

POP

D

41

19

DAD

D

DE :=c-a;

42

22

E8

0D

SHLD

DISP

this is the displacement;

45

2A

E3

0D

LHLD

START

get d;

48

2B

DCX

H

49

23

LOOP

INX

H

4A

EB

XCHG

4B

2A

E5

0D

LHLD

STOP

4E

EB

XCHG

4F

7B

MOV

A,E

50

95

SUB

L

51

7A

MOV

A,D

52

9C

SSB

H

53

DA

53

0D

DONE2

JC

DONE2

if reference fixing is com-pleted, then go to DONE2.(this is endless loop);

56

06

1A

MVI

B,1 AH

get 3 byte op code count;

58

11

81

0D

LXI

D.TABLE3

address of 3 byte op table;

0D5B

1A

CHEK3

LDAX

D

5C

BE

CMP

M

5D

CA

7B

OD

JZ

ACT

if next byte in memory isstart of a 3 byte operation,go to ACT;

60

05

DCR

B

else try next op;

61

13

INX

D

62

C2

5B

0D

JNZ

CHEK3

if there are more 3 byteops left to check, goback to CHEK3;

93

Listing J, continued:

Hexadecimal

Address

Code

Label

Op

Operand

Commentary

65

06

12

MVI

B.12H

else perform same compariwith table oi 2 byte ops;

67

11

CB

OD

LXI

D.TABLE2

6A

1A

CHEK2

LDAX

D

6B

BE

CMP

M

6C

CA

77

00

JZ

SKIP

6F

05

DCR

B

70

13

INX

D

71

C2

6A

OD

JNZ

CHEK2

if there are more 2 byteops left 10 try, go back

74

C3

49

OD

JMP

LOOP

10 CHEK2;

77

23

SKIP

INX

H

else must be 1 byte,

78

C3

49

OD

JMP

LOOP

ignore n, skip iheoperand ol a 2 byteinstruction;

7B

E5

ACT

PUSH

H

a 3 byte operation;

7C

2A

DF

OD

LHLD

SBOT

get b;

7F

54

MOV

D.H

move b to DE;

80

5D

MOV

E,L

81

2A

DD

OD

LHLD

SSTRT

get a;

84

44

MOV

B,H

move a to BC;

85

4D

MOV

C,L

86

E1

POP

H

87

23

INX

H

HL points to B2- B3;

88

7B

MOV

A,E

89

96

SUB

M

0D8A

23

INX

H

8B

7A

MOV

A,D

8C

9E

SBB

M

8D

DA

49

OD

JC

LOOP

if operand is > b, ignore it.

90

2B

DCX

H

91

7E

MOV

A,M

92

91

SUB

C

93

23

INX

H

94

7E

MOV

A,M

95

98

SBB

B

96

DA

49

OD

JC

LOOP

if operand is < a, ignore it,

99

2B

DCX

H

HL points to B2--B3 again

9A

EB

XCHG

9B

2A

E8

OD

LHLD

DISP

get displacement value;

9E

EB

XCHG

9F

7E

MOV

A.M

add to B2 - B3;

A0

83

ADD

E

A1

77

MOV

M,A

A2

23

INX

H

A3

7E

MOV

A.M

A4

8A

ADC

D

A5

77

MOV

M.A

A6

C3

49

OD

JMP

LOOP

go look for more 3 byteoperations;

A9

7C

COMPH

MOV

A,H

complement H L;

AA

2F

CMA

AB

67

MOV

H,A

Hexadecimal

Address

Code

Label

Op

Operand

Commentary

ODAC

7D

MOV

A,L

AD

2F

CMA

AE

6F

MOV

L,A

AF

23

INX

H

BO

C9

RET

d and e) hit stop. You should see C3 inthe data LEDs of an Altair or IMSAI.

That's it! Now the program should runright where you loaded it, unless one of thefollowing problems occurs.

Relocating to a Lower Memory Location

The block move (phase 1) is clone tailfirst. For a block of length n, then, byte n ofthe source would be transferred to byte n ofthe destination, then byte n— I would bemoved, then n—2, etc, up to byte 1. There-fore, relocating forward into higher memoryalways works, but relocating backward intolower memory fails if the difference betweenthe source and destination addresses is notgreater than the block length. In such a case,say moving a block at b to location a, anintermediate relocation must be done from bto c (where Ic—al > length of block), andthen a second relocation must be performedfrom c to a. Note: I could have had therelocator check the direction of the move

Hexadecimal

Address

Code

Label

Commentary

0DB1

01

11

21

TABLE3

table of 3 byte op codes;

B4

22

2A

31

B7

32

3A

C2

BA

C3

C4

CA

BD

CC

CD

D2

CO

D4

DA

DC

C3

E2

E4

EA

C6

EC

F2

F4

C9

FA

FC

CB

06

OE

16

TABLE2

table of 2 byte op codes;

CE

1E

26

2E

D1

36

3E

C6

04

CE

D3

D6

07

DB

DE

E6

DA

EE

F6

FE

DD

00

00

SSTRT

source start a;

DF

00

00

SBOT

source bottom b;

E1

00

00

DTOP

destination c;

E3

00

00

START

start phase 2 d;

E5

00

00

STOP

end phase 2 e;

E7

01

FUNK

function select f;

E8

00

00

DISP

displacement (program definedl;

Figure I: A special case in program reloca-tion. The program block a thru b is to bemoved to location c, but the integrity of thedata block from f thru g must be preserved.The technique in this case is to change pro-gram references in two passes: up to, butnot including, the data block, and then afterthe block. Locating all data at the end ofprograms will of course prevent this type ofproblem.

source block

data area

destination block

start of program

end of program

94

and proceed either tail or head first accord-ingly, but the program is long enough tocause toggling headaches as it is.

Problems with the LXI Instruction

LXI instructions in which the operandhappens to equal an address in the blockbetween a and b but doesn't actually refer toan address (LXI H, 0000 is a good example)present a problem. If you are in the processof writing the program try to use LHLDinstead (or, if worse comes to worse, LHLDwith MOV B, H and MOV C, L for LXI B,xxxx) and set aside two bytes of storage atthe end of the program for the data.

If the program was not written by you, orif you really want to use LXI, then the onlyalternative is to go through your listing (ifyou have one!) and change the locations inquestion. But this problem never caused memuch trouble.

Data Block Problems

Avoid relocating data whenever possible.If relocation is necessary do not try passingthrough it with phase 2. Here is anexample of how to handle data areas: In aprogram residing from location d to locatione, a block starting at a and ending at b is to

be moved to location c. As a complication, adata block resides from location f to loca-tion g. See figure 1 for a memory map ofthis situation. The relocation should beperformed in two runs of the relocator asfollows:

Run 1. Give relocation data of a, b, c, d,f-1, 1. This moves the block andfixes all references up to loca-tion f, the start of the data area.

Run 2. Give data of a, b, c, g+1, e, 0.This simply fixes up the remain-ing references after skipping thedata area.

[Here again the practice of keeping dataseparate from executable code should allev-iate this problem. . .CH/

In the listing provided the relocator re-sides at locations 0D00 to 0DFF, but it isself-relocatable, of course. The six key itemsof relocation data must be set up at loca-tions 0DDD to 0DE7 as shown in table 1,with the low byte coming first numericallyin each case.

I sincerely hope that this program repaysyour understanding and toggling effortswith a vast reduction in relocationfrustration. ■

The value of this program

becomes apparent when a

friend having 32 K on his

machine hands you a tape

of a program he wrote

residing somewhere up in

the sky (or so it seems to

you, with only 4 K), and

you would like to run it.

THE SAME 8K STATIC MEMORY KITSYOU'VE PURCHASED IN THE PAST, NOW ASSEMBLED AND TESTED

79G HAMPSHIRE RD..A+ BWESTLAKE VILLAGE. CA 91361TEL: (805)497-0733

3 CTAPHC inc.

'FAST 8" $275

SPECIFICATIONS:Access Ttme-.

Power Consumption:

Address Lines:

Memory Protect:

Power Regulators:

Address Select:

Output Disable.Board:

ABY" $265

"Fast 8'"250 ns, Fairchild :2102LHPC

"8K BABY" 450 ns, Fairer**2102L1PCNo Wait States"Fast8",1.6Aat+5V"8K8ABY".13Aat+5VSchmltt triggers tor buf-fering

Hardware 8K4ea,7805

Dip switch accessable fromtop of board. No needto remove board to re-locate.

Permits use with trans-parent loaderQuality G-IO material withsolder mask both sides

Not affiliated with Vector General, Inc.

95

Circle 9 on inquiry card.

BASICally BASIC

(an informal introduction to BASIC)

Robert Baker15 Windsor DrAtco l\IJ 08004

The BASIC programming language wasdeveloped in the early 1960s at DartmouthCollege as a conversational, problem solvinglanguage. It has wide applications in scien-tific, business, and educational environmentssince it can be used to solve both simple andcomplex mathematical problems from theuser's terminal. Due to the small number ofclearly understandable commands and pro-gramming statements required, BASIC is oneof the simplest languages to learn and use.

Like most programming languages,BASIC can be divided into two sections:elementary statements for simple programsand more advanced techniques and state-ments for complicated problems. As anintroduction to BASIC, this article dealsprimarily with the elementary functions andstatements recognized by BASIC as it ismost frequently implemented, with programexamples included to illustrate their applica-tions. Several operating commands and a fewof the more advanced features found insome BASIC systems will also be mentioned.

The specific features available on eachcomputer system will differ slightly, formingmany different dialects of the BASIC lan-guage. When writing programs to be com-patible with different systems, it's generalpractice to use only elementary statementscommon to most forms of BASIC. TheBASIC programming manual or equivalentdocumentation should always be consultedto verify the commands and statementsactually available and the conventions usedfor a particular system.

BASIC Operating Commands

After gaining access to BASIC in what-ever manner required by a particular system,BASIC will normally respond with a messageindicating it is waiting for a command. The

various operating coi'nmands depend on theBASIC implementation used. Several of thecommands usually available are:

OLD: Load a previously saved pro-

gram. BASIC may request theold program (or file) name,depending on the system.NEW: Enter (or write) a new pro-

gram from the console.BASIC may request a pro-gram (or file) name de-pending on the system.LIST: Print the current program on

the console. Some systemsmay allow printing individuallines or groups of lines.RUN: Compile and execute the cur-

rent program. Some systemsmay allow starting at a parti-cular line.SAVE, RESAVE, or REPLACE

Save the current program.UNSAVE, PURGE, or SCRATCH

Delete the current program.BYE, GOODBYE, or SYSTEMExit BASIC.In addition, some systems may acceptabbreviated commands or offer variousediting commands to possibly delete lines,resequence line numbers, etc. Most BASICinterpreters will usually type READY whenwaiting for an operating command. Newlines are inserted by simply typing a linenumber followed by the desired instructionterminated with a carriage return. Linenumbers and individual instructions will bediscussed later.

Fundamental Programming Concepts

What does it take to represent a programin a high level language such as BASIC? As

96

SATISFY YOUR APPETITE

FOR COMPUTERKNOWLEDGE

WITHSAMS COOKBOOKS

Send for the cookbooks andmanuals described. Increaseyour knowledge of minicomput-ers, microprocessors, computertechnology, related computercircuits and peripheral equip-ment. Be satisfied or yourmoney back.

How To Buy & UseMinicomputers& Microcomputers

By William Barden, Jr.This manual gives you thebasics of minicomputers andmicrocomputers. Explainstheir hardware and software,the peripheral devices availableand various programming languagesand techniques. Allows you to decide whichsystem is best for your needs. 240 pages;softbound. No. 21351 $9.95

Microcomputer Primer

By Mitchell Waite andMichael PardeeWritten for the beginner in thecomputer field. All the basicconcepts and characteristicsof microcomputers areexplored. The easy to under-stand language prepares youfor further study. 224 pages;softbound. No. 21404$7.95

CMOS Cookbook

By Don LancasterYour complete guide to theunderstanding and use ofComplementary Metal-Oxide-Silicon integrated circuits.Gives usage rules; powersupply design examples;applications; information onbreadboards, testing, tools,and interface. Detailedcoverage of logic and more.416 pages; softbound. No. 21398 $9.95The Big CMOS Wall Chart 35" x 23"Big, readable wall chart provides essentialinformation on CMOS devices. No. 21399 $2.95

Dl

m

POUTER

Sag

Computer Dictionary andand Handbook

By Charles J. Sippi &Charles P. SippiAt your finger tips you havemore than 22,000 definitions,acronyms, and abbreviationsdealing with the field of dataprocessing. Also 13appendices cover a myriad ofcomputer related subjects.784 pages; hardbound. No.20850 $19.50

TTL Cookbook

By Donald E. LancasterYou'll discover whatTransistor-Transistor Logic is,how it works and how to useit. Discusses practical digitalapplications. You'll learn tobuild TTL systems thatentertain, test and train. 336pages; softbound No. 21035$8.95User's Guide to TTL (Wall Chart) 35" x 23"Shows you needed information on TTLdevices at a glance. No. 20180 $2.50

o

o

TV Typewriter Cookbook

By Don LancasterYour comprehensive guide tolow cost television display ofalpha-numeric and graphicsdata for microprocessorsystems, word processing, TVtitling and video games.Covers configurations,memories, keyboards,techniques and much more.256 pages; softbound. No.21313 $9.95

Send your orderToday!

Send books and/or wall charts checked below,

$ enclosed*. I understand that, if not

completely satisfied, I may return my orderwithin 10 days for a full refund.

□ 21351 □ 21399 □ 21080 □ 20969

□ 21404 □ 20850 □ 21313 [J 20715

J 21398 F] 21035 □ 21168

'Include sales tax where applicable.Canadian prices slightly higher.

ad;

Active-Filter CookbookBy Don Lancaster

Dynamic coverage of activefilters. What they are and howto use them. Learn to buildand apply them to audioequalizers, speech therapy,psychedelic lighting and more.240 pages; softbound.No. 21168 $14.95

:t

NAME

please print

ADDRESS

o

1—

CITY

"0

STATE

ZIP

o

c

a

Howard W. Sams & Co., Inc.

4300 West 62nd StreetIndianapolis, Indiana 46206

IC Op-Amp CookbookBy Walter G. JungNow one book gives youin-depth exposure to IC opamps. Covers theory and over250 practical circuit applica-tions. 592 pages; softbound.No. 20969 $12.95

RTL Cookbook

By Donald E. LancasterYou will learn the how andwhy of Resistor-TransistorLogic. Obtain useful designinformation and many digitalapplications. 240 pages;softbound. No. 20715 $5.75

Circle 26 on inquiry card.

irator

Exampl

e

Description

+

A+B

Add A and B

+

+ A

A is positive

-

A-B

Subtract B from A

-

-A

A is negative

*

A*B

Multiply A times B

/

A/B

Divide A by B

T

* *

AI BA»*B

!

A to the power B

Table I: Arithmetic Operators. A typicalBASIC interpreter incorporates an arith-metic expression parsing algorithm whichrecognizes the usual add, subtract, multiply,divide and exponentiate operations. Pre-cedence is described in the text, andparentheses are used for explicit ordering ofoperations.

with any computer language, BASIC usescertain notations for numbers, variables andoperations.

Numbers

The computer can compute the value ofexpressions like 12/7 or SQR(9); but whilethey use numbers, they arc not considerednumbers and may not be used in lists ofconstant data. Numbers are self definingvalues which are generally expressed indecimal form and may be positive or nega-tive (ie: 3 or -2.79. Most BASIC languageswill also allow scientific notation for num-bers, where the letter "E" is used to signify10 raised to a power. A number expressed inthis form, such as aEb, would indicate "a"times 10 raised to the power "b". Thus,0.125 may be expressed as 0.125E0 or125E-3, and 1000 may be written as 1E3 or10E2. With scientific notation, a numbermust always be present on both sides of theletter "E", and may be either positive ornegative. There is usually a maximum num-ber of digits allowed with either numbernotation depending on the particular com-puter and BASIC implementation.

Variables

Simple numeric variables arc generallyspecified by any single letter or any letterfollowed by a single digit. Thus, E7 wouldbe interpreted as a variable along with A, B,C2, and X0. Certain computer systems mayallow more advanced variable labeling. But ifyou expect compatibility with other BASICsystems, it is best to use this restricted,simpler form.

Numeric variables represent a number

with a value. The value is assigned to thevariable by either LET or READ statements.An assigned value will not change until thenext LET or READ statement which ex-plicitly changes the variable. In the typicalBASIC interpreter, all numeric variables areinitially set equal to zero before a program isrun. It's only necessary to assign an initialvalue to a variable when a value other thanzero is desired.

Arithmetic Operators

Arithmetic computations in a languagelike BASIC arc performed by evaluatingsingle line formulas similar to those used instandard mathematical calculations. Any ofthe arithmetic operators listed in table Imay be used to write a desired formula. Incomputations utilizing multiple operators,the order of precedence is determined by avery conventional set of rules:

1. A formula inside parentheses is evalu-ated before the parenthesized quantityis used in a computation.

2. Normally, an operator cannot followanother operator. The operators + and— can, however, follow the operators*, /, t or **, In this case, the + or -takes precedence over the leadingoperator to indicate the sign of aquantity.

3. Without parentheses in a formula, **and t take precedence over * and /,which take precedence over + and

4. With only * and / operators and noparentheses, BASIC performs theoperations from left to right in theorder they arc read.

5. With only + and - operators and noparentheses, BASIC performs theoperations from left to right in theorder they are read.

The following examples will help illustratethese rules and how a BASIC interpretertypically executes various computations:

B+3*A**2 «■ A squared times 3, then

added to BB+(3*A)**2 ♦» Product of 3 times A is

squared, then added

to B(B+(3*A))**2*» Product of 3 times A is

added to B and the sum

is then squaredA/B/C «* Quotient of A divided

by B is then divided

by CA B—C ** C is subtracted from

the result of B sub-tracted from AA#*2**3 <-> The result of A squared

is then cubed

98

ExtensysCorporation

The most cost effectiveproducts for your |fmicrocomputer, iff

CGM77H

JNlss^

*7"*^?1

THE RM64 MEMORY BOARD provides the mostcost effective means for system memory addition in the industry.The board is S-100 bus compatible making it usable in over a dozendifferent microcomputer systems including ALTAIR and IMSAI .

It comes in three configurations: 32K, 48K or 64K bytes and iscompletely assembled, checked out and burned in for at least 50 hoursprior to shipment.This complete testing procedure enables EXTENSYSto provide you a one year warranty on parts, labor and materials(assuming no misuse of the board occurs).

On board hardware is provided for:

Individual memory bank address selection in 8I< increments;

Complete dynamic refresh logic without loss of processingefficiency while programs are running;

. Board select logic which allows more than one 64K byte boardper system;

. S-100 bus compatibility including on-board voltage regulator;

Memory overlap which allows memory sharing the same addressspace to coexist in the same system; and

. Write protection in 16K blocks

THE CGM77 COMPUTER GRAPHICS MACHINE is a fully testedsystem that provides the basis for developing the most sophisticatedvideo graphics imaginable. The CGM77 board is S-100 bus compatible,making it usable on over a dozen different computer systems. The onlyadditional components needed for a complete video graphics systemare 8K bytes of RAM interfaced to the microcomputer system. TheEXTENSYS RM64-32K RAM board is ideally suited for this.

Special control panels are available that provide universal controlfor interfacing with the graphics board. Output of the board is in theform of composite sync that can be used directly by a high resolutionvideo monitor.

The heart of the system is the EXTENSYS GRAPHICS MACHINE.This is a sophisticated piece of software developed by EXTENSYS forthe rapid implementation of video graphics. The GRAPHICSMACHINE permanently resides in PROM chips that are part of theboard and therefore never need to be loaded. The GRAPHICSMACHINE software actually transforms the microprocessor into amuch more powerful and sophisticated computer whose instructionset is ideally suited for the development of video graphics or videogames.

Contact your local computer store ___________

or order directly from EXTENSYS | _j_ B-l

Please place my order for the following;

QTY DESCRIPTION AMOUNT

RM64-32K byte board _ S 895 ea.

RM64-48K byte board @ $1195ea.

RM64-64K byte boards $1495 ea.

CGM77 computer graphics

board @ $ 375 ea.

Subtotal

California residents add m% tax

TOTAL

Shipping and handling prepaid in continental United Slates

NAME

extensys

_____■_#co r po rat ion592 Wedded DriveSunnyvale, California 94086

lease check method of payment;

Check Enclosed

, BankAmericard No

expiration date

Master Charge No.

expiration date

ADDRESS-CITY

.SIGNATURE:

PHONEIINCLUDE AREA CODE) _

Circle 27 on inquiry card.

Arithmetic Functions

In addition to the five arithmetic opera-tions, a fully implemented BASIC inter-preter can evaluate several standard mathe-matical functions. The elementary functionsavailable in a typical BASIC arc listed intable 2. Any valid formula may be substi-tuted for X in all of the functions. Moreadvanced functions are often available andwill be discussed later. Various other mathe-matical functions may be available de-pending on the individual computer systemused. Sometimes extended nonarithmeticfunctions arc also made available.

Relational Symbols

When it is necessary to compare values,six mathematical symbols of relation areused in IF statements. Some systems mayuse the alternate written expressions, espe-cially when the terminals do not have thestandard symbols. Table 3 lists the standardsymbols and alternate forms of relationaloperations.

Line Numbers

In any BASIC program, each statementmust include a line number as mentionedearlier. The first line is usually numbered 10and all following line numbers are generallyin steps of 10. This allows insertion of extrastatements between existing lines by using aline number between the two lines where thestatement is to be added. New lines arccorrectly inserted by BASIC by using theline number specified with each statement.The only restriction on line numbers in aprogram is that each line number must begreater than the preceding line number.

Elementary Programming Statements

The elementary statements of the BASIClanguage are identified by the first word ofthe statement.

Function

Description

SIN(X)

Sine of X

COS(X)

Cosine of X

TAN(X)

Tangent of X

COT(X)

Cotangent of X

ATN(X)

Arctangent of X

EXP(X)

e raised to the power X (ex)

LOG(X)

Natural logarithm of X (1n X)

SQR(X)

Square root of X ( >/x~ )

ABS(X)

Absolute value of X ( IXI )

X is usually interpretedas an angle expressed inradians on most systems.

X is always interpretedas a number.

LET Statement

The LET statement is used to assign agiven number or the result of a calculationto a particular variable or group of variables.The general form of the LET statement is:

LET [variable] = [formula]*

*Any item shown in brackets will indicate ageneral form of an argument, such as:

[variable] = any variable

[line number] = any line number

Table 2: Typical BASIC Mathematical Functions. The usual implementationof a full BASIC interpreter provides this list of built-in mathematicalfunctions. The precision and range of numbers depends upon the details ofthe implementation and its number representation internally.

With some BASIC implementations, theword LET may be optional in the statement.

Examples of assigning a value to a singlevariable would be:

10 LETX=1

20 LETA=B*2/3

In many BASICs, several variables maybeassigned the same value by a single LETstatement, such as:

30 LETX=Y2=B=4

Also, a variable may appear on both sides ofthe equal sign since the entire calculation iscompleted using "old" values of data beforethe result is assigned to variables on the lefthand side of the "=" sign. For example, thestatement:

100 LETX=X+1

will take the old value of X added to oneand assign the result as the new value of X.The LET statement is not an algebraicequality, but a command to perform thecomputations and assign the answer to thevariables specified. It is an unfortunate factof computer language life that most lan-guages use the same "=" symbol for assign-ment (data transfer) and relational tests(data comparison).

READ and DATA Statements

These statements are used to enter infor-mation into the computer for a given pro-gram. The READ statement assigns valuesobtained from DATA statements to thevariables listed in the READ statement. ADATA statement must be present in order touse a READ statement.

Before a program is run, the typicalBASIC interpreter will take all DATA state-ments in the order they appear and storethem in a large data block. Every time aREAD statement is encountered, the nextavailable numbers from the data block areassigned to the variables in the READstatement. If the data block runs out ofdata, the program will stop and an errormessage will be printed.

READ statements are normally locatednear the beginning of a program since datamust be read in before working with it.DATA statements may be located anywherein a program, as long as they occur in the

100

Talk to your computer for $299with SpeechLaB.

Use SpeechLab to directlycontrol any S-100 Bus Com-puter such as Sol, IMSAI, Altairand so on. SpeechLab canteach you almost as much as theBell Laboratories know aboutvoice recognition, voice controland computer input.

SpeechLab digitizes andextracts data from speech waveform and applies patternmatching techniques to recog-nize the vocal input. Responseis real time. The systemfeatures 64 bytes of storage perspoken word and can handleup to a 64 word vocabulary. Andrecognition after very littlepractice is 95 percent or better.

$299" assembled and tested

When we talk price every-body's skeptical. And whynot? We give you a completehardware/software system,a 275 page laboratory manual,95 page hardware manualand high fidelity microphone.

The lab manual includes35 graded experiments withover 100 tables and graphs. Infact, it's the only introductoryvolume on speech recognitioncurrently available.

Software includesSpeechBasic Basic program-ming language in source and

'Available in kit form for slightly less.

paper tape, assembly languagespeech recognition programin source and paper tape, hard-ware self-test program insource and paper tape.SpeechBasic plot, correlation,recognition and advancedrecognition programs areoffered in source.

Hard to believe, you bet.True? A Los Angeles customersays, ;'I love your kit!!! Ihave 40 boards and 2 IMSAI'sand your kit was the bestdocumented of them all. I lovethe way you integrated thesoftware and hardware to-gether. I love your lab manual'.'

We loved those comments.They tell the story better thanwe ever could. The LA cus-tomer did ask who the foundersof the firm were so he couldrelate better. They're a couple of

gifted young engineers whogot tired of the big firm, big tech-nology trip and decided to takea chance with a better idea.

You can't get better qualityYou can't get more performance

Sure, more complex,higher price equipment is avail-able for about 50 times moremoney. It won't do much morethan you can do with Speech-Lab. And the quality andstate-of-the-art engineeringcan't be any better. We useCMOS design for low powerand ultimate reliability.

See SpeechLab at your nearbycomputer store

Selected computer storeshave SpeechLab on display.Visit your nearest. If he doesn'thave it, ask him to contact usor simply write us directly.

Heuristics, Inc., Box B, 900 N. San Antonio RoadLos Altos. CA 94022, Phone (415) 948-2542

□ Send me SpeechLab. I enclose $299.California residents add sales tax.

D Send me more information.

Name-StreetsCity

. State.

Zip.

In Canada:Trintronics Ltd.186 Queen St. W.Toronto, Canada M5V 1Z1

Heuristics

INC.

Circle 28 on inquiry card.

Standard

Alternate

Symbol

Expression

Example

Description

=

=

A = B

A equals B

<

LT

A < BA LT B

1

A is less than B

<=

LE

A <= BA LE B

1

A is less than or equs

>

GT

A > BA GT B

1

A is greater than B

>=

GE

A >= BA GE B

1

A is greater than or e

<>

NE

A <> B

A NE B

1

A does not equal B

Table 3: Typical BASIC Relational Operators. These operators are used tospecify comparisons between operands which might be numbers, variables orformulae. In certain BASIC implementations, substitutes are made whenspecial characters are not available. For example, in a homebrew computersystem using an older Baudot Teletype model, such substitutions would be avirtual requirement.

correct order. Many programmers find itconvenient to place DATA statements justbefore the END statement at the end of theprogram. Each READ statement is of theform:

READ [list of variables]While each DATA statement is of the form:

DATA | list of numbers]Example:

100 READX,Y,Z

200 DATA 1,2,3,4,5,6,7,8,9,0

The statements in this example would readthe first three numbers of the data block(1,2, and 3) and assign them to X, Y, and Z.Always remember that only numbers, notformulas, may be used in DATA statementsand 14/3 and SQR(7) arc formulas.

PRINT Statement

PRINT statements are used for a varietyof purposes in a typical program. While thecommand is called "PRINT" in many sys-tems this means in fact "send data to theprimary BASIC output device," such as ahard copy printer or electronic display de-vice. The following example illustrates theformat used to print the results of a com-putation or a variable value:

10 PRINT X,SQR(X)This example would print or display thecurrent value of X followed by the squareroot of X a few spaces to the right. To printa specified message, the message is enclosedin quotes and the following format is used:

20 PRINT "NO ANSWER"This example would simply print the wordsNO ANSWER on a single line without thequotes. If desired, messages and values maybe intermixed:

30 PRINT "THE SQUARE ROOT OF"

X"IS"SQR(X)This statement would type the following lineif the value of X were nine:

THE SQUARE ROOT OF 9 IS 3To skip a line or issue only a carriage returnand line feed, the PRINT statement is usedwith no arguments:

40 PRINT

With many of the more advanced BASICsystems there are various print controlcharacters and special statements which maybe used to control the spacing of the databeing printed. This control may vary be-tween systems and is beyond the scope ofthis article. For the present, it's sufficient tounderstand the primary use of the PRINTstatement and to know there are oftenmethods available to print data in any-desired format.

GO TO Statement

The GO TO statement is used to uncon-ditionally jump to some specified statementin the program other than the next sequen-tial statement. The line being jumped to maybe anywhere in the program, before or afterthe current line. The general form of the GOTO statement is:

GO TO [line number]Example:

100 GO TO 200This example would always cause the pro-gram to skip to line 200 whenever reachingline 100.

IF Statement

The IF statement is used to conditionallyjump from the sequential order of state-ments according to the truth of some rela-tion. The program will skip to the desig-nated line number only if the relationspecified is true. The IF statement, some-times referred to as a conditional GO TOstatement, has the general form of:

IF [formula] [relation) [formula| ,

THEN [line number]

Example:

120 IF X=0, THEN 200

130 IFSIN(X) <=0.5, THEN 80In this example, if the value of X is zero, theprogram will skip to line 200. If the sine ofX is less than or equal to 0.5, the programwill jump back to line 80. When bothconditions are false, the program will go tothe next line in order. The word "THEN"may be replaced with "GO TO" or thecomma before "THEN" may be optionaldepending on the system.

ON Statement

Where the IF statement provides a two

102

THE LATEST IN TAPE SYSTEMS

MODEL CC-8 - $175.00

MODEL 3M3A - $220.00

2SIO (R) CONTROLLER$190.00 ($160.00 Kit)

4800 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZtype Recorderwith remote motor start/stop. Error rate 10^ at4800 BAUD. Can be used from 110 to 4800BAUD into a UART or "Bit Banger PIA" - noclocking required. This is not an audio recorder.It takes RS232 or TTL signals from theterminal or computer and gives back the samesignals. No audio interface is used. Motorstart/stop is manual or through TTL or RS232signals.

Tape speed is 3.2"/second nominal; 1.6"/sec.optional. 110 volt, 60 Hz, 5 watts. (220 Voltson special order). Can use high quality audiocassettes (Philips Type) or certified datacassettes. Can be used in remote locations froma 12 Volt battery.

Recommended for DATA LOGGING,WORD PROCESSING, COMPUTERPROGRAM RELOADING and DATASTORAGE. Especially recommended for 6800systems, 6502 systems, 1800 systems andbeginners with the 8080 systems. Manualcontrol except for motor start/stop. 6800 or8080 software for file or record searchingavailable on request with order. Used by majorcomputer manufacturers, Bell Telephone andU.S. Government for program reloading andfield servicing. AVAILABILITY - Off theshelf.

50 KILOBAUD CARTRIDGE RECORDER

This is a self clocking (1/1) high speedrecorder. Loads BASIC in under 2.0 seconds.Recording is done at 19.2 Kilobaud. Playbackat 50 Kilobaud. File or Record searching isdone at 50 Kilobaud and loading is automatic.Worst case access time about 2 minutes for upto 2 megabytes on the 3M Data Cartridge.

Tape speed 10"/sec. on record, up to30"/sec. on playback. Records one clock trackand one data track on each pass (2 passes).Recording is NRZ unencoded from RS232 orTTL signals.

This recorder requires one Parallel port formotor control, and one serial port for data andclock. (Cannot be used with UART's or UARTboards such as the 3P+S). Used with USART's,ACIA's or other 1/1 clocking I/O devices undersoftware control only. No manual controls.Software for 8080 and 6800 available. Powersupply is built in, 110V, 60 Hz. 220 V, 50 Hzfor export.

PROVIDES MONITOR AND TAPESOFTWARE in ROM TERMINAL and TAPEPORTS on SAME BOARD CONTROLS ONEor TWO TAPE UNITS (CC-8 or 3M3A)

This is a complete 8080, 8085, or Z80system controller. It provides the terminal I/O(RS232, 20 mA, or TTL) and the data cartridgeI/O, plus the motor controlling parallel I/Olatches. Two kilobytes of on board ROMprovide turn on and go control of your Altairor Imsai. NO MORE BOOTSTRAPPING. Loadsand Dumps memory in hex on the terminal,formats tape cartridge files, has word processingand paper tape routines. Best of all, it has thesearch routines to locate files and records bymeans of six, five, and four letter strings. Justtype in the file name and the recorder andsoftware do the rest. Can be used in the BiSync(IBM), BiPhase (Phase encoded) or NRZ modeswith suitable recorders and interfaces.

This is Revision 7 of this controller. Thisversion features 2708 type EPROM's so thatyou can write your own software or relocate itas desired. One 2708 preprogrammed issupplied with the board. A socket is availablefor the second ROM allowing up to a full 2K ofmonitor programs.

Fits all S100 bus computers using 8080 orZ80 MPU's. Requires 2 MHz clock from bus.Cannot be use; with audio cassettes without aninterface. Cassette or cartridge inputs areRS232 level.AVAILABILITY-Off the shelf.

OVERSEAS: Export Version 220 volt 50 hz. Write factory or: Megatron-Datameg, 8011 Putzbrunn, Munchen, Germany;Nippon Automation 5-16-7 Shiba, Minato-Ku, Tokyo. Japan; Hobbydata, FACK 20012, Malmo, Sweden; G. Ashbee, 172Ifield Road, London SW 10-9ag: Trintronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EBASA, EnriqueBarges 17, Barcelona 14, Spain; ARIES, 7, rue Saint Phillipe du Roule, 75008 Paris; Microlem 20131, Milano, Italy; EagleElectric, Capetown, S. Africa.

For U.P.S. delivery, add S3.00 Overseas and air shipments charges collect. N.J. Residents add 5% Sales Tax. WRITE or CALL for furtherinformation. Phone Orders on Master Charge and BankAmericard accepted.

Canadian Distributor:

Trintronics Limited

186 Queen Street West

Toronto, Canada M5V IZ1

Tel: (416) 598-0262 NATIONAL MULTI PLEX CORPORATION

3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530

Circle 29 on inquiry card.103

Legal Loops:

-100 FOR X-110 FOR Y

-157 NEXT Y■160 NEXT X

Illegal Loops:

• NOTE CROSSOVER-780 FOR X . . .-790 FOR Y . . .

■820 NEXT X■830 NEXT Y

Legal Loops:

Figure I: Nesting Diagrams: Legal and Il-legal. There are legal and illegal ways to nestFOR . . . NEXT loops. The legal way to doso is to ensure that the program always hascomplete loops within loops. The illegal wayis to have the loops cross each other. Thearrows show the scope of each loop in thisset of examples.

-213 FOR X

-220 FOR Y

r~230 FOR Z

1—260 NEXT Z

r^300 FOR W

■350 NEXT W

- 400 NEXT Y410 NEXT Z

general form of the END statement is simplythe word "END":9999 END

STOP Statement

The STOP statement is equivalent to aGO TO statement, where the line skipped tois the END statement of the program. Thestatement is simply the word "STOP":

1000 STOP

REM Statement (Remark)

The REM statement provides a methodof inserting remarks and comments in aprogram listing. Even though whatever fol-lows REM is ignored, the line number maybe used in a GO TO, IF, ON, or GOSUBstatement. The general form of the REMstatement is:

REM [any desired information!

Example:

1000 REM THIS ROUTINE AVERAGES

10NUMBERS

way fork in a program, the ON statement (ifit is implemented) allows a multiple pathswitch. The general form of the ON state-ment is:

ON [formula|,

GO TO | list of line numbers]Any formula may be used and the instruc-tion may contain any number of line num-bers as long as the statement fits on a singleline.

The value of the formula is computed andtruncated to an integer. If the result is one,the program skips to the line number occur-ring first in the list; if the result is two, itskips to the second line number in the list,etc. If the result of the formula computationis less than one or greater than the numberof line numbers listed, an error message isprinted.

Example:

20 ON X-1,This examplefollowing:

If X is 2, program will go to line 100

If X is 3, program will go to line 200

If X is 4, program will go to line 300

If X is less than 2 or greater than 4, an

error message will be printed.The comma preceding "GO TO" may beomitted or the word "THEN" may besubstituted for "GO TO" on some systems.

END Statement

Every program must have an END state-ment and it must be the statement with thehighest line number in the program. The

GO TO I 00, 200, 300will cause one of

the

Elementary Programming Examples

Now that the elementary statements andfunctions have been introduced, threesample programs are included which willhelp illustrate how statements are combinedto accomplish various computations orcomparisons.

Loops

The simplest way to execute a sequenceof instructions a given number of times is byusing a program loop. The block of instruc-tions within the loop is executed repeatedlyuntil a given condition is satisfied. In BASICthere are two statements used to specify aloop: The FOR statement is used at thebeginning of the loop and the NEXT state-ment at the end. The general form of theFOR statement is:

FOR | numeric variable] = [formula-]]

TO [Tormu^] STEP [formu^]Depending upon the BASIC implementation,the word "BY" may be substituted for"STEP" in the FOR statement.

The accompanying NEXT statement is ofthe form:

NEXT [numeric variable]The variable in the NEXT statement must bethe same variable as in the FOR statementfor each loop.

Loops may be nested to a level dependenton the particular BASIC implementationsystem, but the loops must be legally nestedand not crossed. Figure I shows someexamples of legal and illegal nesting.

The value of the numeric variable starts atthe value of formula-] and is changed by the

104

XililEDiA P=5EiEnCi

The SOROC10120

CURSOR CONTROL. Forespace, back-space, up, down, new line, return, home,tab, PLUS ABSOLUTE CURSOR AD-DRESSING.

TRANSMISSION MODES. Conversation(half and full Duplex) PLUS BLOCKMODE — transmit a page at a time.

FIELD PROTECTION. Any part of thedisplay can be "protected" to preventovertyping. Protected fields are displayedat reduced intensity.

EDITING. Clear screen, typeover, abso-lute cursor addressing, erase to end ofpage, erase to end of line, erase to endof field.

DISPLAY FORMAT. 24 lines by 80 char-acters (1,920 characters).

CHARACTER SET. 96 characters total.Upper and lower case ASCI I.

KEYBOARD. 73 keys including numerickey pad.

REPEAT KEY. 1 5 cps repeat action.

selectable

DATA RATES. Thumbwheefrom 75 to 19,200 baud.

SCREEN. 12 inch rectangular CRTphosphor.

P4

SPECIAL INTRODUCTORY PRICINGKit $ 995.00 Assembled $ 1,295.00

(Price includes block mode, lower case and 24line options.)

Specials of the Month

North Star Micro Disk

with power supply and cabinet Kit — S699

Assembled - $799

IMSAI I-8080 with TDL ZPU Kit - $825

Assembled - $975

Digital Systems FDS Disk Drive withCP/M Software (assembled only) . Single - $1,750

Dual -$2,350

Mountain Hardware PROROM Kit - $145

Assembled -$210

Vector Graphic 8K RAM Kit - $235

Assembled — $285

XIMEDIA OFFERS A FULL RANGE OF PRODUCTS FORTHE PERSONAL COMPUTER ENTHUSIAST AND THESMALL SYSTEM DESIGNER. LET US QUOTE ON ALLYOUR HARDWARE AND SOFTWARE NEEDS.

OUR RETAIL STORE-THE COMPUTERISTtm - IS NOWOPEN IN SAN FRANCISCO. CALL US FOR DIRECTIONS.

NOW WE RETOLL FREE

800-227-4440

(in California, Hawaii, and Alaska, call collect:415/566-7472)

XililEDiA

1290 24th Avenue, San Francisco, CA 94122

(415) 566-7472

Circle 30 on inquiry card.

COD orders freight collect. Orders with payment shipped prepaid. Californiaresidents add 6% sales tax. Please allow 3 weeks for delivery.

value of formula3 (either positive or nega-tive) each time BASIC completes an execu-tion of the loop. If the word "STEP" andformula3 are omitted, the step value defaultsto positive one. It should be pointed out,however, that the control variable may bechanged within the body of a program loopif desired. Exercise care when using non-integer step values since noninteger numberscannot be represented exactly in binary andmay be truncated or approximated withinthe computer. This may cause an undesirednumber of loops to be executed due to theunexpected results. [See W Douglas Maurer's"Software Bug of the Month #2" on page SIof the July 1976 BYTE.} For this reason,every effort should be made to use aninteger step value whenever possible.

Example:

5 LETF=1

10 FORX=l TO 10 STEP 1

20 LET F=F*X

30 PRINT X,F

40 NEXTXThis example program loop will be executed10 limes as X is incremented by onebetween the values of one and 10. Duringeach pass of the loop, the numbers X andX-factorial will be printed. The FOR state-ment in this example could have beenshortened to:

10 FOR X=l TO 10since the step value was one.

Subroutines

When a particular sequence of statementsis to be used repeatedly in several differentplaces within a program, they may bewritten as a subroutine. A subroutine is acompletely self-contained program accessed

Sample Program =1:

This program reads a group of numbers from a data block and prints the

average of the numbers read. The nun-

be i

9999 is used as a dummy item in the

data block to indicate the end of the data block. The individual numbers of the

data block are read until 9999 is found

Since all variables are initially set equal to

zero until assigned another value, th

=re

is no need to include a statement to

initialize S and C to zero (LET S=C=0).

Program

Explanation

10 REM print average of numbers

Remark

20 Read X

Read a number X

30 If X=9999, then 70

Check for end of data if X=9999

40 Let S=S+X

Add X to sum

50 Let C=C+1

Increment the data count C

60 Go to 20

Go back for more data

70 Print S/C "is the average of"

Compute and print average

C "numbers"

80 Data 5,7,3,9,27,54,31,9999

Data

90 End

End of program

by the main program or other subroutine;using a subroutine calling convention.

In BASIC, subroutines arc entered (oicalled) by using GOSUB statements any-where in the main program (or other sub-routines) of the general form:

GOSUB line numberThe GOSUB statement is similar to a GO TOstatement except the computer saves thelocation of the GOSUB statement beforegoing to the subroutine. Statements are thenexecuted sequentially until a RETURNstatement is encountered. The RETURNstatement directs the computer to return tothe line following the GOSUB statementthat called the subroutine. It consists simplyof a line number and the word "RETURN":

I000 RETURNand is usually the last line of a subroutine.

Subroutines may appear anywhere in themain program but should only be enteredwith a GOSUB statement and exited via aRETURN statement. A subroutine mayactually contain several RETURN state-ments as long as one will be used. By using aGOSUB statement within one subroutine tocall a second subroutine, subroutines may benested. The level of subroutine nesting issometimes limited depending on the parti-cular BASIC implementation used.Example:10 LET L=4

20 PRINT "THIS PROGRAM PRINTS"30 GOSUB 190

40 PRINT "THIS MESSAGE WITH"50 GOSUB I 90

60 PRINT "FOUR BLANK LINES"70 GOSUB 19080 PRINT "BETWEEN PRINTED

LINES."90 GOSUB 190100 REM Then the numbers 1 to 10 are

printed with theI 10 REM number indicating the number

of blank lines120 REM following that line.130 FOR L=1 TO 10140 PRINT L150 GOSUB 190160 NEXT L170 PRINT "DONE"180 STOP190 REM Subroutine to print "L"

blank lines.200 IF L>0, THEN 220210 RETURN220 FOR X=l TO L230 PRINT240 NEXT X250 RETURN260 ENDThis example illustrates how subroutines areutilized and the use of multiple RETURN

106

top values,professionalism

Computerland storesare exciting, enjoyableplaces to visit. From thestriking decor to the funand challenge of theComputerlandiM Gameroom, you'll findComputerland stores acompletely newshopping experience.

You can count onComputerland stores fortotal professionalsupport whether yourneeds are those of acomputer hobbiest,education, science orbusiness user. Theskilled, management-trained staff offersknowledgeable service,expert maintenance,and software guidance.

breadth ofproducts

At Computerland storesthe emphasis is onquality products. Majorbrands like Cromemco,DEC, Diablo, IMSAI,Lear Siegler,Polymorphic Systems,TDL and VectorGraphic to name a few.

Every store iscompletely stocked withtools, books and abroad range ofaccessories.

beginnerswelcomed

Do you want to getstarted withmicrocomputers? Areyou seeking expertguidance on computers,peripherals, software?The place to visit isyour nearestComputerland.

now open:

• 4233 Convoy Street

• DeHart Street

San Diego, CA 92111

Morristown, NJ 07960

(201) 539-4077

• 50 East Rand Road

• 6840 La Cienega Blvd.

Arlington Heights, IL 60004

Inglewood, CA 90302

(213)776-8080

• 225 Elmira Road

• 813 B Lyndon Lane

Ithaca, N.Y. 14850

Louisville, KY 40222

(607) 277-4888

(502) 425-8308 '

• 16065 Frederick Road (Rt 355)

• 104 W. First Street

Rockville, MD 20850

Tustin, CA 92680

(301) 948-7676

(714) 544-0542

• 1612 Niagara Falls Blvd.

• 24001 Via Fabricante

Buffalo, NY 14150

Mission Viejo, CA 92675

(714)770-0131

opening soon:

• 22634 Foothill Blvd.

• Thousand Oaks, CA

Hayward, CA 94542

• Park Ridge, IL

(415)538-8080

• Franchise Opportunities available

— Contact: Ed Faber, President

Computerland Corp.TM (415) 895-9363.

Circle 31 on inquiry card.

statements within a single subroutine. It alsoshows how the line number of a REMstatement may be used in a GO TO, IF, ON,or GOSUB statement as mentioned earlier.Every time a "GOSUB 190" statement isencountered in this example, the programwill go to the subroutine starting at line 190.If the value of L is less than or equal to zero,the computer will return to the main pro-gram. Otherwise, the subroutine will print anumber of blank lines equal to the value ofL before returning to the main program.

Lists and Tables

In addition to the limited number ofsimple variables, BASIC usually allows thecapability to designate the elements of listsor tables. Simple variables arc called un-subscripted variables while list or tableelements are called subscripted variables.Subscripted variables may be used anywherean unsubscripted variable would normally beused, except immediately after "FOR" in aFOR statement or in a NEXT statement.Several special matrix instructions and func-tions will be discussed later.

The name of each list or table must bedesignated by a single letter. The individualelements of a list (also called a vector) arespecified by the list name followed by asubscript in parentheses: A(0), A(1),. . . A(n) while table (also called a matrix)elements are specified by double subscripts:B(1,l), B(l,2),. . . B(m,n). The subscriptform is flexible and may be either a constantor any legal expression as long as the

Sample Program #2:

This program will determine

the

sma

llest and largest numbers of a given data

block and print the values.

The

first entry in the data block indicates the number

of entries to read from th

e data b

ock

(An alternative would be to use end of

data indicator.)

Program

Explanation

10 LetS=10E6

Set smallest number to something big

20 Read C

Get number of entries

30 Read N

Read data (once for each number)

40 If N >=S, then 70

Jump if larger than old smallest number

50 Let S=N

Set new smallest number equal tothis number

60 Go to 90

Continue (skip largest test)

70 If N<=L, then 90

Jump if smaller than old largest number

80 Let L=N

Set new largest number equal tothis number

90 Let C=C-1

Decrement data count

100 If C <> 0, then 30

If C not equal zero then continue

110 Print "largest number is

" L

Print answers

120 Print

With blank line

130 Print "smallest number

is" S

Between them

140 Data 8

Number of data entries

150 Data 2,7,42,74,21,61,47,29

Data

160 End

Program end

subscript value is not less than zero. Thesingle letter denoting a list or table namemay also be used as a simple variable withoutconfusion. The same letter may not, how-ever, be used to denote both a list and atable in the same program since a list isactually a single column table.

Example:

10 FOR 1=0 TO 2

20 FOR J=0TO3

30 READM(IJ)

40 NEXT J

50 NEXT I

60 DATA 1,2,3,4

70 DATA 5,6,7,8

80 DATA 9,10,11,12This example routine shows how a 3 by 4table may be entered into a program usingelementary statements and how the tableentries are specified.

Storage space is automatically reservedfor any list or table with subscripts (typi-cally) of 10 or less (the exact numberdepends on the implementation). For largersubscripts, space must be reserved by using aDIM statement. A DIM statement may ap-pear on any line before the END statement,but it is normally placed at the beginning ofthe program. A DIM statement may also beused to reserve less space for a small list ortable when a large program requires moreprogram space.

The general forms of DIM statements forlists or tables are:

DIM |listname] ( maximum subscript )

DIM |table name| ( maximum row

subscript, maximum column subscript )Separate DIM statements arc not needed foreach list or table; several lists or tables maybe specified in a single DIM statement byseparating them with commas.

Example:

10 DIMV(15)

20 DIM M(20,20)May also be written in a single DIM state-ment as:

10 DIM V(15),M(20,20)This example reserves space for 16 items invector V:

V(0), V(1), V(2), ...V(I5)and 441 items in matrix M:

20 + 1 rows and 20 + 1 columns

Advanced Statements and Functions

This section will briefly introduce themore advanced and specialized features ofBASIC. These features may or may notbe available in a particular BASIC implemen-tation, whereas the elementary statementsand functions already presented shouldalways be found. Refer to the programmingmanual for your particular BASIC inter-

108

ANY NUMBER OF FILES MAY BE OPEN (IN USE) AT ONE TIME

THE NUMBER OF FILES AND SIZE OF FILES IS LIMITED ONLY BY THE SIZE OF THE DISC

MERGING FILES REQUIRES NO EXTRA DISC SPACE

NO WAITING FOR THE DISC TO RE-PACK

LONGER DISC LIFE-MORE EVEN DISC WEAR

Our Basic Floppy Disc System (BFD-68) must, in all mod-esty be called superb. It comes completely assembled with adisc controller that is plug compatible with the SWTPC 6800.In fact all our products use the 6800 standard SS-50 (SmokeSignal 50) bus used by SWTPC. The cabinet and power supplyare capable of handling up to 3 Shugart Mini-Floppy Drives.One drive is included in the price of the BFD-68 and othersmay be added easily at any time. Or you may save money byordering the dual-drive BFD-68-2 or triple drive BFD-68-3 (pic-tured). Price: BFD-68 $795, BFD-68-2 $1169, BFD-68-3 $1539,SA-400 Drive $390.

The BFD-68 includes our Disc Operating System Software.Our software provides for a soft-sectored disc format consist-ing of 128 bytes per sector, 18 sectors per track and 35 tracksper disc. The software provides direct commands to name andrename files, transfer memory to disc and disc to memory andto automatically jump to the starting location of any programloaded from disc to memory. The direct command names are:RUN, GET, GETHEX, CLOSE, SAVE, DELETE, APPEND, RE-NAME, COPY, LIST, FIND, LINK and PRINT. In addition, theDisc File Management subroutines are available to create filesunder your program control.

A bootstrap PROM is included on the controller board to ini-tiate the Disc Operating System which loads into a 4K memoryboard located at 7000 or optionally at D000. Thus, you can beup and running from a cold start in just a few seconds.

SUPER SOFTWARE

Free patches are provided for SWTPC BASIC version 2.0 andCo-Resident Editor/Assembler. These patches allow the SAVEand LOAD commands to work with the disc or the cassette atyour option.

SUPER EDITOR: Smoke Signal Broadcasting now has itsown editor. It is a content oriented editor with string searchand block move capability. Changes may be made by referringeither to line number or string content or a combination ofreferences. Naturally, it is designed for file transfers to andfrom the BFD-68. Price: SE-1 $29 on diskette.

ALL OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED.

SUPER ASSEMBLER: Inputs source code from file on theBFD-68 disc system and outputs object code to disc file. As-sembly listings include alphabetized and tabulated symboltable. Price: SA-1 $29 on diskette.

Complete source listing included for both editor and assem-bler. Order both for $53 and save $5.

SMARTBUG-A CURE FOR MIKBUGITIS: A super smartMotorola-Mikbug replacement that preserves almost all Mik-bug entry locations so your present programs will run withoutmodification. Uses ACIA instead of PIA and includes manyadditional features including a software single-step trace com-mand. A SMARTBUG listing is included and object code isprovided on a 2708 free with each P-38 series board pur-chased. Source listing available separately for $19.50.

NEED A FULL SIZE FLOPPY? Our P-38-FF is a plug-in inter-face card to the ICOM Frugal FloppyTM. It includes all the fea-tures of the P-38-1 plus one 2708 EPROM containing the ICOMbootstrap software. Just plug the P-38-FF into your SWTPC6800 and your ICOM into the P-38-FF and you're ready touse the Frugal Floppy and ICOM's 6800 software package.Price $299.

Our P-38 is an 8K EPROM board containing room for 82708's. Or, you may use it to hold up to 7 2708's plus yourMotorola Mikbug or Minibug II ROM. The P-38 addressing isswitch selectable to any 8K location. Price $179.

The P-38-1 contains all the features of the P-38 plus an inter-face to the Oliver Paper Tape Reader and our EPROM Pro-grammer. Price $229.

The PS-1 Power Supply Kit provides plus and minus 16 voltsrequired for the P-38 series boards. Also, it allows a wiringmodification to be made to the 8 volt supply that will increaseits output by one volt. Price $24.95.

Our M-16-A is a 16K single power supply STATIC RAM mem-ory system. The M-16-A is fully buffered and requires only halfthe power of a similar size system using low-power 2102's.With the M-16-A, you can expand your system to 48K and stillhave room left for one of our EPROM boards. The M-16-A isswitch selectable to any 4K starting address and hardwarewrite protect is included. Quick delivery. Price $595.

BANKAMERICARD, VISA AND MASTER CHARGE WELCOME.

P.O. Box 2017, Hollywood, CA 90028* (213) 462-5652

Circle 32 on inquiry card.

Sample Program #3:

This simple inventory program for th

ree

products illustrates the use of the ON

statement by reading an item code num

aer

followed by an item count from the

data block. The ON statement decodes

the

item code to determine what total to

add the new count to. When done, the

program prints all the current inventory

totals.

Program

Explanation

10 REM inventory

Program name

20 Read N, 11,12,13

Read data count and original totals

30 Read l,C

Read code and count

40 If l>3, then 130

Check for valid code

50 If I < 1, then 130

60 On I, go to 70,90,110

Decode item code

70 Let I1 = I1+C

Add to item #1

80 Go to 150

Continue

90 Let I2H2+C

Add to item #2

100 Go to 150

Continue

110 Let I3=I3+C

Add to item -.'3

120 Go to 150

Continue

130 Print "invalid item code"

Print error message

140 Stop

Exit program

150 Let N=N-1

Decrement data count

160 If N <> 0, then 30

Finish data

170 Print "item #1 =" 11

Print totals

180 Print "item #2=" 12

190 Print "item *3 =" 13

200 Print

Blank line

210 Print "total items =" 11 + 12+13

Combined total

220 Data 6,1020,1349,714

Original totals

230 Data 1,12,1,7,3,27,2,11,3,212,1

.

Data

136

240 End

Program end

Notice how this program checks for

an

illegal value before the ON statement.

An invalid item code causes a message

to

be printed and the STOP statement

terminates the program.

preter to be sure the desired functionsand/or statements are available.

INPUT Statement

The INPUT statement acts like a READstatement except data is entered from theconsole keyboard rather than from DATAstatements. Whenever BASIC encounters anINPUT statement ii types a question mark(?) to indicate it is waiting for operatorinput. The user then types the desired inputas it would normally appear in a DATAstatement terminated by a carriage return.INPUT statements are usually combinedwith PRINT statements to indicate whatvalue is desired:

10 PRINT "NUMBER OF DAYS";

20 INPUT DThe semicolon at the end of the PRINTstatement causes the question mark to betyped on the same line as the message.Normally, the question mark would beprinted on a separate line. In this example,

the words NUMBER OF DAYS withoutquotes would be printed followed by aquestion mark. The number typed followedby a carriage return would be assigned to thevariable D. The data entered via an INPUTstatement is not saved with the program so itshould only be used when entering smallamounts of data or data that is unknownuntil the program is run.

RESTORE Statement

The RESTORE statement typicallypermits reading data from the DATA state-ments of a program more than once. When-ever a RESTORE statement is encountered,BASIC resets the data block pointer to thefirst entry in the data block. The nextREAD statement then starts reading the datablock all over again.

SIGN Function

The sign function:

SGN(X)returns a value indicating the sign of theargument specified. The value one is assignedfor any positive number, zero for zero, and— I for any negative number.

Example:

SGN(2.75) = 1

SGN(0) = 0

SGN(-0.25) = -1The sign function can be combined with anON statement to give a three way branchdepending on the sign of a number:

60ONSGN(X)+2,

GO TO 100, 200, 300This instruction will jump lo 100 if X isnegative, 200 if X equals zero, or to 300 if Xis positive.

INTEGER Function

The integer function:

INT(X)returns the greatest integer of X that is lessthan or equal to X.

Example:

INT(2.98) = 2

INT(-2.05) = -3

INT(4) = 4The integer function may be used to roundnumbers to the nearest integer by adding 0.5to the number:

INT(X+0.5)It may also be used lo truncate a number loany specific number of decimal places (n):

INT(X*10**n+0.5)/(IO**n)

Random Numbers

Most forms of BASIC provide a means ofgenerating a random number between zeroand one. This function is generally used tosimulate events that happen in a somewhat

110

CP/M

LOW-COST

MICROCOMPUTER

SOFTWARE

i

CP/M is a low-cost control program for microcomputers which brings togetherrecent advances in computer and peripheral technology. CP/M is an advanceddisk operating system designed for use with IBM-compatible diskette-basedcomputer systems which employ the Intel 8080 microcomputer. Previouslyavailable only to OEM's, CP/M has been in existence for over three years invarious manufacturers' products, and has undergone extensive field testing. Thefunctions of this software package include named dynamic files, programediting, assembly, debugging, batch processing, and instantaneous programloading, resulting in facilities similar to popular timesharing services. CP/M is an"unbundled" software package which can be easily adapted to any 8080 orZ-80computer system with at least 16K of main memory and one or two IBM-compatible disk drives. The field-modification manual provided with CP/M hasbeen used successfully by many CP/M users in customizing CP/M for their ownhardware configurations.

Dl DJGJTflL RESEARCH

wBSm.. -Mm

Please send me the following:

□ CP/M Documentation (Complete set of 6 manuals) for $25.00.D CP/M Documentation and CP/M System Diskette for $70.00.

□ Free CP/M brochure and price list.

□ Information concerning high level languages and optional packages.

NOTE: IMS Associates and Digital Systems distriPute CP/M with their hardware systems.

D Bank Americard No. Exp. date D Master Charge No. _

Exp. date DCheck or M.O. enclosed.

California residents add 6% sales tax. Amount enclosed

Name Address

City

Dl DJOJTflL RESEARCH

State

Zip

Post Office Box 579 • Pacific Grove, California 93950

Circle 111 on inquiry card.

MAT READ a,b,c .

MATM = ZERMAT M = CONMATM = IDNMAT PRINT a,b,c .MAT INPUT VMAT B = AMATC= A+BMATC= A-B

MATC = A*B

MATC = TRN(A)MATC= (k)*A

MATC= INV(A)

Read the specified matricesor vectors, dimensions pre-viously specified.

Set all components ofmatrix M equal to zero.

Set all components ofmatrix M equal to one.

Set up square matrix M asan identity matrix.

Print the specified matricesor vectors.

Call for the input of avector.

Set matrix B equal tomatrix A.

Set matrix C equal to thesum of matrices A and B.

Set matrix C equal to theresult of matrix B sub-tracted from matrix A.

Set matrix C equal theproduct of matrix Amultiplied by matrix B.

Set matrix C equal to thetranspose of matrix A.

Set matrix C equal tomatrix A multiplied bythe number k which mustbe in parentheses and maybe given by a formula.

Set matrix C equal to theinverse of matrix A.

Special MAT Functions. . . .

DET Equals determinant of a matrix afterinversion.

NUM Equals number of components following aMAT INPUT.

Table 4: Matrix Special Functions of BASIC.The addition of these matrix functions toBASIC is one of the most common exten-sions to the language's capability. Forengineering and scientific applications, suchfunctions are a virtual necessity.

random way such as a dice roll in a game.The general form of the random functionreference is:

RNDwith no argument needed. If a particularBASIC implementation does require an argu-ment, the number one is typically used:

RND(I)

To generate a random single digit integer,the following instruction might be used:

40 LETX=INT(I0*RND)If it is desired to generate a random integernumber between two limits, this instructionmay be used:

60LETX=INT(A*RND+B)This instruction will generate an integerrandom number between A and B, where Ais larger than B. Thus, to simulate a dice rollfor a game, with integers between 1 and 6,use:

INT(6*RND+1)

To aid in debugging programs, the typicalBASIC RND function generates the same setof random numbers in the same order eachtime a program is run. In some implementa-tions inserting a RANDOMIZE statement asthe first statement in a program usingrandom numbers, repeated runs of the pro-gram will produce different results.

User Defined Functions

In addition to the standard BASIC func-tions, some BASIC interpreters allow up to26 additional functions to be defined withthe DEF statement. The name of the definedfunction must be three letters, the first twoalways being "FN" (eg: FNA, FMB, ...,FNZ) and the DEF statement may appearanywhere in the program. Each DEF state-ment defines a single function and it cancontain any combination of other functionsand/or variables besides those denoting thearguments of the function. Any variable thatis not an argument of a function will use itscurrent value in the program. For example,to repeatedly use the function:

c*2 + 3X + Zdefine the function:

DEF FNE(X) = EXP(X**2)+3X+Zand then call for different values of thefunction by:

FNE(2), FNE(A+B),ctcThe current value of Z is used each time thefunction is called. Also, each defined func-tion may have zero, one, two, or morenumeric variables as arguments of thefunction.

Examples:

10 DEF FNA= 3.1.16*(R**2)

20 DEF FNB(X,Y) = (X+Y) / (X*Y)

30 DEF FNR(A,B,C,D) = FNB(A,B) +FNB(C,D)

Multiple line defined functions are con-structed by dropping the equal sign andending the function definition with aFNEND statement. The function name with-out arguments is used as a temporary vari-able to compute the function's value. Multi-ple line functions usually cannot be nestedand there must not be a transfer from insidethe function to outside its range, or viceversa. Also, GOSUB and RETURN state-ments are not typically allowed within amultiple line defined function.

112

DataSyncDS-100

EducatedTerminal

^r- m

v

• • •

Internal microprocessor control for high reliability.True word processing with character and line insert/delete.24 lines by 80 characters on a full nine-inch screen.

Special individual function keys control the block screen send, screen protect,forms mode, tabs, scroll up and down, print page, line centering mode, andother modes.

A full cursor control key pad is included.All switches are Cherry gold cross point for extra long life.A full-function light pen attaches to the terminal for easy control of all dis-played characters on screen.

Two serial RS232 ports transmit up to 9600 baud.

Tarbell format cassette interface reads and writes up to 4800 baud to andfrom the screen or your computer.

All switches, including baud rate, parity stop, local-RS232 CRT controls,and on-off are accessable from the front.Weighs under 30 lbs. including strong ABS cabinet.Terminal can also be used as a full word processor or text editor.

$695Kit

$795Assembled

DataSync 16K RAM

$298

Circle 34 on inquiry card.

Fast access, low power, dynamic RAM memoryboard with transparent memory refresh. SI00bus compatible, expandable to 64K Bytes.

Assembled ——

Name

Address..City

'Mail this coupon NOW for fast delivery■

State & Zip.

□ DS-100 Terminal D Kit □ Assembled □ DS-16K RAMAdd $5 postage & handling in U.S. / Calif, residents add 6%.

□ Enclosed find check 01 money order for $=

□ Master Charge #

□ BankAmericard #

DataSync

201 W. Mill / Santa Maria, CA 93454 / 805/963-8678

Example:

10DEF FNM(X.Y)

20 LET FNM = X

30 IF Y = X, THEN 50

40 LET FNM = Y

50 FNENDThis example returns the larger of the twoargument values whenever the function iscalled.

ASC (single character or mnemonic of nonprintable character)

Returns a decimal value for the ASCII code of the argument.

CHR$(numeric formula)

Opposite function to ASC, argument is truncated to an integer which becomes thecontent of a one character string which is returned.

INSTR(numeric formula, string formula, string formula)

Searches for the second string within the first string. Search starts at characterposition specified by the numeric formula truncated to an integer or at the firstcharacter if omitted. Returns the position of the first character in the substring iffound, 0 if not.

LEFT$(string formula, numeric formula)

Returns a substring of the string formula, starting from the left. Substringcontains the number of characters specified by the numeric formula truncated toan integer.

LEI\l(string formula)

Returns the number of characters in its argument.

Ml D$(string formula, numeric formula, numeric formula)

Returns a substring of the string formula, starting at the character positionspecified by the first numeric formula truncated to an integer. The substringcontains the number of characters specified by the second numeric formulatruncated to an integer, or the substring continues to the end of the string if thesecond numeric formula is omitted.

RIGHT$(string formula, numeric formula)

Returns a substring of the string formula, starting from the right, containing thenumber of characters specified by the numeric formula truncated to an integer.

SPACE$(numeric formula)

Returns a string of spaces, the length specified by the numeric formula truncatedto an integer.

STR$(numeric formula)

Returns a string representation of its argument (the number is converted to astring).

VALIstring formula)

The opposite function of STR$. Returns the number represented by the stringformula (the string is converted to a number).

In addition to these functions, the CHANGE statement is used to convert betweenstrings and numeric data and vice versa as follows:

CHANGE [string formula] TO [numeric formula]Changes the string specified to a numeric vector. The zero element of the vector willcontain the number of characters in the string and the decimal ASCII code of the letterswill be stored in the numeric vector. The statement:

CHANGE [numeric vector] TO [string variable]changes the numeric vector to a string. The zero element of the vector must contain thenumber of characters in the desired string.

Table 5: A "typical" set of string manipulation functions implemented in aBASIC interpreter. This table lists functions found in the author's experienceswith BASIC on Digital Equipment Corporation computers; similar sets ofstring functions are often implemented by other "extended BASIC"interpreters.

Vectors and Matrices

Since operations on lists and tables occurfrequently, a special set of matrix instruc-tions and functions are usually available inBASIC. The list of typical MAT instructionsand functions plus a brief description oftheir operation is found in table 4. Many ofthe matrix statements require special condi-tions to exist in order to be legal or mayallow operations on vectors as well asmatrices. While every vector has a zerocomponent and every matrix has a zerocolumn and row, these are ignored by MATinstructions. Any numeric array referencedin a MAT statement other than a MATINPUT, will be set up as a matrix unlessspecifically declared as a vector in a DIMstatement.

Strings

So far, only operations dealing withnumeric information have been discussed;but some forms of BASIC also processalphanumeric information in the form ofstrings. A string is a sequence of charactersincluding letters, digits, spaces, or someother printing characters. In BASIC itcannot, however, contain a line terminatorsuch as a line feed, carriage return, formfeed, or vertical tab. Strings are normallyenclosed in quotes (eg: "ANSWER") whenused as string constants, but may be omittedin some instances.

Variables may be used for simple stringsand string vectors but not for matrices. Anyvariable or vector name followed by a dollarsign ($) stands for a string:

A$, B2$, orC$(l)String variables or constants are used just asnumeric quantities in most BASIC state-ments. However, numeric and string data arekept in two separate data blocks and areutilized independently of each other. TheRESTORE statement discussed earlier resetsboth data pointers to the beginning of thedata blocks. A typical implementation trickto reset only the numeric data pointer is touse: RESTORE*, and use RESTORES toreset only the string data pointer.

Table 5 shows some of the possiblefunctions for manipulating strings in BASICin some implementations.

Other Features

Many BASIC software systems, especiallylarge time sharing systems, sometimes allowspecial operations involving data files andspecial formating of data. An example is thePEEK and POKE facility which is used inAltair BASIC for bit level manipulation. It is

114

always best to refer to the BASIC program-ming manual for the particular implemen-tation being used as I have pointed out manytimes before. Always check what featuresare offered and how to use them, since theycan vary drastically from system to system.There may also be special editing oroperating commands available depending,again, on the system used.

In Closing . ..

Now that the general statements andfunctions have been discussed and some ofthe more advanced features have been intro-duced, the best way to actually learn theBASIC language is by hands-on experience.Find a system with BASIC, check theavailable BASIC features, then start withsmall, simple programs. In no time at all youshould be able to program almost anythingdesired. BASIC is an extremely easy lan-guage to learn and use so don't let the term

"HIGH LEVEL LANGUAGE"frighten you away. Look for future articleson programming techniques, games, andapplications as BASIC becomes available formore and more microcomputer systems.BASIC programs should be very easy toreproduce and convert for various specificsystems, including microcomputers."

What's

New?

A New Microcomputer Series fromCGRS

CGRS Microtech Inc, POB 368,Southhampton PA 18966, has an-nounced a new line of microcomputerscalled the 6000 series which are allAllah' bus compatible and based on theMos Technology 6502 microprocessor.The Microputer I is a 3 board tutorialsystem featuring 256 bytes of pro-grammable memory for $229.95. TheMicroputer II includes 2K bytes ofprogrammable memory with room forup to 4 K bytes of erasable read only

jwaoH

-'*9^*frfamt*PlWW&*~''

3N$ .

Teach your System totype with a

IYFEAWAY

Selectric I/O Writerinterface

Interface any Selectric I/O Writerto S-100 computers with a TYPE-AWAY Selectric I/O Writer Inter-face.TYPEAWAYis compatible withany model 731 or 735 I/O Writer,including versions with correspon-dence or BCD coding, 24 or 48 voltsolonoids, and common anode orcommon cathode diodes. TYPE-AWAY is a complete package ofeverything needed to interface anymodel 731 or 735 I/O writer to anS-100 computer, including;

* S-100 compatible PC board withsolonoid drivers, input ports,and PROM memory.

* Complete cables and connectors

* Power supply for 24 or 48 voltsystems.

Optional word processing softwareis also available.

Add professional, economical hardcopy to your S-100 system with anIBM Selectric I/O Writer and aTYPEAWAY interface.Prices

Kit $225

Assembled 325

Documentation 25

Call toll-free anytime to

place credit card orders:

800/648 5311

MQC^OMATOM

MICROMATION INCORPORATED

524 UNION STREET

SAN FRANCISCO, CA. 94133

415/398-0289

115

Circle 35 on inquiry card.

memory. The price is $389.95. The mostsophisticated system in the series is theMicroputer III, a complete microcom-puter system upwards compatible withthe first two systems. Contact the manu-facturer for further information."

Circle 572 on inquiry card.

'fY£hon

Breadboards Available for PDP-11 andPDP-8/A Users

ADI

306

ACI

316

SUE

326 ,

SSI

336

AM

346 i i

XRE

356

ORI

366

CPI

376

POP B 3C1

POPD J?l

POPH 341

POP PSW 361

PUSHB i'^

PUSH 0 325 '

PUSH ti :«!>

PUSH PSW 360

STAX a 002 .LDAXB 012STAX 0 022

Uncond

A*0

A = 0

Cy = 0

Cy= 1

Prty = Odd

Pit/= Even

Bit 7 = 0

1

I Ul SPQ61

DAD SP071 RrGISTFR FAIR

1MX SP063 OPERATIONS

OCX SP 073

NOP

000 1

HLT

166

OUT

323

IN

333

067077 j

:"H'-'.

SUB f.122li

SBB H2M MATH & LOGICALOPERATIONS

M 2JG1.1 26G

ALL FLAGS ArFLCTIO

Attention Individuals, Clubs andComputer Stores: An 8080 Octal CodeCard Is Now Available

Tychon Inc has announced this new8080 Octal Code Card. The code card is

i ""> M06.1OCR ,,I0C5MV! M06G

MOV A M176

»O»0 M10G

move mug

MOV 0 ,,, 126

'■'OVE M136

MOVH Mi.,6

HOVL U156

I WO' l« M 1G6

i ONLY CARRY AFFECTED

l

^

Douglas Electronics has announcedthe availability of a complete line ofbreadboards designed to be compatiblewith Digital Equipment Corporation'sPDP-11 and 8/A minicomputers.

The glass epoxy boards, which featureelectroplated solder circuits and goldconnector tabs, come in a variety of

configurations and options which in-clude extender boards with sockets, wirewrap boards and breadboards for customlogic circuitry. Contact Douglas Elec-tronics Inc, 718 Marina Blvd, SanLeandro CA 94577.

Circle 573 on inquiry card.

"We may have the surplus

electronics

you need!"

Terminal/KeyboardWith SchematicsS250.00

• CRT Terminals•Assemblies

Tape Drives $800.00

• Peripherals

• Components

Keyboards S40.00 to $60.00(ASCII Encoded)

Equipment Cabinets $45.00 to S60.00(19" With Fan)

Send for a free catalog or callBill Blaney, toll free 800 258-1036

in NH 603-885-3705

(i¥l Come to our showroom

wufLdwiqe ELECTFiunicajric.

10 Flagstone Drive, Hudson, New Hampshire 03051

a slide rule like aid for programming anddebugging 8080 software in octal nota-tion. It contains all the mnemonics andtheir corresponding octal codes. Theinstructions are all color coded to indi-cate which flags are affected during exe-cution. The pocket sized card measures6.5 by 3 inches (16.5 by 8 cm) and itprovides the instructions in a neat,logical format for quick reference.

The back side of the card is printedwith an ASCII code chart for all 128characters plus the 8080 stalus word andregister pair codes.

Delivery of the 8080 Octal CodeCard is immediate and the price is $2.95postpaid. Quantity discounts start at tenunits, and custom imprinting is alsoavailable. According to Tychon, a hexa-decimal version of the card will beavailable in the near future.

For further information writeTychon Inc, POB 242, Blacksburg VA24060.»

Circle 574 on inquiry card.

A New Way to Do Slit-N-Wrap

Vector Electronic Company, 12460Gladstone Av, Sylmar CA 91342, hasjust sent along this photo of a neat newaddition to their line of Slit-N-Wraptools, the P160-4T1 pistol gripped

/

3

110 VAC powered wrapping tool. This$80 tool will accept the PI80Slit-N-Wrap tool bit, or a standard wirewrapping attachment in the form of theP160-2A wrapping bit. While Slit-N-Wrapcan be done by hand, it becomes muchmore convenient when it is powered aswith this tool. (Because the Slit-N-Wraptechnique requires no stripping of wire,it tends to be somewhat faster thanstandard wire wrap as a matter of course,

Circle 36 on inquiry card.

116

since the lool is always held in one'shand and is never pul down for thestripping operation as in wire wrap withreel wire.)"

Circle 575 on inquiry card.

IMSAI Brochure and Catalogue

A beautiful four color brochure out-lining the IMSAI product family cameour way recently. In the same packagewas the current price list of this familyof computers and computer products,which may be inspected at many localcomputer stores. A full catalog is alsoavailable according to the brochure, at aprice of $1. Write IMSAI ManufacturingCorporation, 14860 Wickes Blvd, SanLeandro CA 94577."

Circle 576 on inquiry card.

Altair Bus Floppy

Synetic Designs Company, POB2627, Pomona CA 91 766, has sent alongthis picture of their new "ready to use"disk system for Altair compatible 8080based computers. The product is calledthe FDS-2, and it employs iCOMstandard size floppy disk drives. Thetotal package includes the iCOM execu-tive system, text editor and assemblerfor the 8080, plus the custom "executivehandler" provided by SDC to allowuser-specific attributes of the executive.From one to four drives may be attachedto the controller, with two drives shownin this photograph. Maximum on linecapacity with four drives is just over1 Mb. The recording format is IBM 3540and 3740 compatible to allow transfer ofdata to and from other computersystems on floppy disk cartridges. Filesmay contain source data, program objectdata or user generated data. The drivemay be seen at Computer Mart of NewJersey and other stores nationwide.Delivery is quoted as three weeks AROlor small orders; price was not quoted inthe press release materials."

Circle 577 on inquiry card.

■o3

ANNOUNCING

Z80

SEMINARS

AUGUST 22-26

(the week preceding the Atlantic City convention, PC 77)CHOOSE FROM ONE OF THE

7 FIVE DAY d r% EVENINGSEMINARS " ^SEMINARS

BRING THE WHOLE FAMILY

(Recreation Facilities Available)

REASONABLE

Individual/Family Rates for a limited number at the collegeon a first come, first served basis

TRANSPORTATION

available to the ATLANTIC CITY CONVENTION

Software courses (DAY)

Programming in Basic for the r'C owner.

An Introduction m the Mask language. From beginning t<> writing application

programs. Emphasis tin TDIs (IK and I2K Bask fat the 780. Includes inlro l<>TBI's FORTRAN, S199

Assembly Language Programming (or the Z80 8080

An introduction to assembly language programming. First (.overs bobo

instructions mil then brandies into the extra instructions available for theZ-B0. Includes inlro to TOL's /-B0 Monitor and Macro-Assemhier and alsocovers applications in interfacing and control. S249

Advanced Assembly Language Programming for the Z-80

For someone who knows the HOBO. Covers added 7-80 instructions and how togel the most out of them. Imphasis on use of TDl's Macro-Assembler.Application to digital Ingii replacement and process control. S2!t!)

FORTRAN IV

An introduction to the FORTRAN language. From beginning to writing ofapplication programs. Emphasis on TDL's ANSI standard FORTRAN IV for theZ-flO. $289

Word Processing with a Text Editor and Formatter

Introduction to the use of the Tent Editor and Text Output Processor for

achieving basic word processing capabilities. Emphasis on TUL's Text Editorsand Text Output Processors, familiarization with system requirements, $299

Hardware courses (DAY)

Introduction to Hobby Computing

A survey course dealing in an exploration of the Hobby computing field anddelining the basics needed to lie understood in order to gel started. Sinn

Digital Logic Circuits

Instruction in digital logic circuits covering the 7400 TTL and the CMOS series.Codes, registers, counters, memory, combinatorial logic, etc $199

Evening Workshops

How to Setup a Computer Store

Guest lectures from owner operators ol computer stores and microcomputermanufacturers. How tQ become a dealer. How Id get a franchise. How tooperate a business, How In set up a service facility... and more. $99

Kit Building Lab

Instruction and guidance on kit building. Bring your kits! SPECIAL: Anyonetaking delivery on a TDl product during the course (must be ordered inadvance-) will receive this workshop FREE. Others pay only... $49

SPONSORED jointly by

TECHNICAL DESIGN LABS, INC. (TDL)

Princeton, N.J. and

TRENTON STATE COLLEGE

Trenton, N.J.

For registration forms and brochure write:

Z-80 SEMINARS Office of Continuing Education

TRENTON STATE COLLEGE TRENTON, NEW JERSEY 08625

Art

by

Duane

Bibby

How Far—Which Way?

Rene E PittetWMU Physics DeptKalamazoo Ml 49008

Assisted by M Davidson

a) ARC SIN X = X

Did you know that your computer cananswer the questions of how far and whichway for you in microseconds for macrodis-tances? At least my SWTPC 6800 can withits 8 K BASIC high level compiler language.

The usefulness of this program will beapparent to anyone who sails a boat or fliesan airplane. By inputting longitude (degreesand minutes) and latitude of the startingpoint first, and the destination second, theprogram will print out the distance in statutemiles, or nautical miles with a minor change,and the true bearing. Look up the variationof magnetic north in your area and add thatcorrection for a magnetic compass heading;or better yet, add it into the program.

The program of listing 1 is offered as a

1 , 1x3 c 1x3x5 1x3x5x7 n- x3 + : — X5 + : = = X7 + : ; — X9

2x3

b) ARC SIN X = X + +

6 40

2x4x5

5 x X° 1 5 x X '

2x4x6x7

2x4x6

336

105 x XB3456

radians

Figure 7: A series expansion of the ARCS IN function, as found (above) andas evaluated partially for use in the expression in listing I at lines 158 and160 of the program.

model to start from and can be modified orelaborated on according to the wishes of theuser. It is based on what is known tocartographers as a Lambert Conformal ConicProjection map. This type of map uses afixed reference point in its projection, so themethod is less accurate the farther north orsouth you go, into Canada or Alaska forexample, from the reference point in the US.However, it will be quite accurate within arestricted area such as that covered by anFAA aeronautical regional or sectional chart.

The requirement for this program grewfrom my Civil Air Patrol activities when wesearch for downed aircraft (a true hardwarecrash) and send rescue teams out to findthem. Usually we have an airport to startfrom and grids to search in by air. Thedowned aircraft is spotted visually or byreception of a signal from its emergencylocator transmitter (ELT). If found, its coor-dinates are radioed back to the missioncoordinator. He then dispatches the groundteams to the rescue and here is where thequestions "how far?" and "which way?" areanswered by the computer.

The routine uses the trigonometric solu-tion of a right triangle to determine thedistance (hypotenuse) and direction (arcsine

118

of X). The sides of the triangle X5 and Y5are the differences between the two sets ofcoordinates of longitude and latitude.

To explain the program a little, noticethat the ARC SIN X is a special subroutinewhich had to be created since ARC SIN,ARC COS and ARC TAN functions are notincluded in SWTPC 8 K BASIC. This ARCSIN X function is performed by use of thetrancendental formula shown in figure 1awhich is reduced to the equation of figurelb. The formula, translated into BASIC, isshown on lines 1 58 and 160 of listing 1.,

Since the ARC SIN X formula above isless accurate from 45° to 90°, we switch anduse 90° -COS of the complimentary angle ofthe right triangle and get the same resolutionas when the angle is 0° to 45 . This iswritten in BASIC in lines 155, 163 and 168to 175. Also, notice that in lines 58 and 59 avery small number (l.E-9) was added to thetwo sides X5 and Y5 of the right triangleX5, Y5, D. This extremely small erroreliminates the problem of dividing into zeroat the 90°, 180°, 270° and 360° points ofthe compass when one or the other of thesesides of the triangle are zero. SWTPC 8 KBASIC doesn't like zeros in your mathformulas.

In line 60 the hypotenuse of the triangle,D, is multiplied by 1.1516 to get statutemiles. This conversion factor assumes thatyour calculations have been in British nau-tical miles which have 6080 feet to the mile.If your calculations have been in Americannautical miles, with 6076.11 5 feet to a mile,the conversion factor would be 1.1508.

In lines 50 and 54 the numbers 44.89 and74.82 were derived from the ratio of nau-tical British miles per degree of longitudeversus latitude in the northern hemisphere atabout 43° north latitude. In other parts ofthe globe, farther north or south, it wouldbe advisable to recalculate to maintain accu-racy. (The distance of one degree of longi-tude gets smaller and smaller as you go northor south from the equator.)

To correct for the magnetic variation inyour area add the degrees of correction atlines 162 and 174. For example, if theaeronautical chart shows 3° west variation,then add +3 to R5's value.

One last comment: the latitude and longi-tude are entered as a decimal number. Thedigits to the left of the decimal are degreesand to the right, minutes; seconds are notused. The program sorts it all out andunderstands what you are inputting by usingthe INTEGER functions in lines 50 to 56.

Try it for aircraft flight planning or asailing trip in large bodies of water, thencheck the accuracy by actual measurementon an aeronautical chart."

PRINT " "

LINE = 64

PRINT "TO COMPUTE DISTANCE & DIRECTION"

PRINT

PRINT "ENTER LONGITUDE (XX.XX) AND LATITUDE (YY.YY) OF BOTH PLACES:

PRINT

PRINT "ENTER X1, Y1"

INPUT X1, Y1

PRINT

PRINT "ENTER X2, Y2"

INPUTX2, Y2

DIGITS = 228 GOSUB 5036 PRINT

PRINT " - "

PRINT44 PRINT "TRY ANOTHER SET "

46 PRINT

47 GOTO 18

48 STOP

50 X3 = 44.89*INT(X1)+74.82*(X1-INT(X1)IY3 = 60*INT(Y1) + 100*(Y1-INT(Y1))X4 = 44.89*INT(X2)+74.82*(X2-INT(X2)IY4 = 60*INT(Y2) + 100*(Y2-INT(Y2))X5= (X3-X4)*SGN(X3-X4) + 1.E-9Y5 = (Y3-Y4)*SGN(Y3-Y4) + 1.E-9

60 D = 1.1516*SQR(X512+Y5t2)

61 PRINTGOSUB 150

PRINT "DISTANCE = ";DPRINT "(STATUTE MILES)"PRINT

IF X4>X3 THEN 74IF Y4>Y3 THEN 84GOTO 88

IF Y4 Y3 THEN 80

PRINT "TRUE BEARING = ";270-R5," DEG'S"RETURN

,;270+R5;" DEG'S"

000510121416IS2022242627

3842

5254565859

6263646568707274767f808284868890

PRINT "TRUE BEARING = '

RETURN

PRINT "TRUE BEARING =

RETURN

PRINT "TRUE BEARING - '

RETURN

;90-R5," DEG'S"

;90+R5;" DEG'S"

150 REM ARC SGN X SUB-ROUTINE

154 S = Y5/D

155 C = X5/D

158 81 = S+(Sr3/6) + (3*SI5/40) + (15*St7/336)

160 S2 = 105*SI9/3456

162 R5 - (S1+S2)/.017453293

163 IF R5>45 THEN 168

164 PRINT166 RETURN

168 CI = C+(C13/6> + (3*C 5/40)

170 C2= (15*CI7/336) + (105*Cf9/3456)

172 R4 = (C1+C2)/.017453293

174 R5 = 90-R4

175 GOTO 164

TO COMPUTE DISTANCE & DIRECTION

ENTER LONGITUDE (XX.XX) AND LATITUDE (YY.YY) OF BOTH PLACES

ENTER X1, Y1

7 83.00

? 42.24 DETROIT CITY AIRPORT

ENTER X2, Y2

7 87.55

7 41.58 CHICAGO O'HARE

DISTANCE - 255.92(STATUTE MILES)

TRUE BEARING = 264.16 DEG'S

TRY ANOTHER SET -

ENTER X1, Y1

Listing 1: A BASIC program used to calculate range and bearing informationfrom navigational coordinates. (This program was typeset from a hand typedlisting of the original, which had been developed and debugged from acomputer sans hard copy.) In the sample printout, user input is preceded by aquestion mark query.

119

NOW!!

Z-80 Power for the S-loo

bus without getting ridof

your CPU card.

~>

$159.95

assembled

*>**tp±i ?"w4s4saia« * w.y

ZSC-80:

UU 1 IxLJiy ILiU a leader in low cost, low power ram boards has just announced it's Zj BO — oOpiggy back card. This plug - in board enables you to use your existing IMSA1, ALT AIR CPU cardand upgrade your system, to a Z — 80.

The card design is such that all, you do is pull out your 8080 and 8212 chips, plug in the Boardto the 8080 socket itself and the ribbon cable to the 8212.

A system monitor, on paper tape, is included with the board as well as a 280 Manual and Theoryof Operation Manual.

Dutronics will also supply all additional software at no cost, when it becomes availableThe price is $159.95 (assembled) only. OFF THE SHELF.

^

BYTE OF PHILADELPHIA1345 W. Lancaster Ave.Rryn Mawr, Perm. 19010(215) 525-7712

BYTE OF PALO ALTO2227 El CaminoPalo Alto, Co. 94.306(415) 327-8080

110B0KEN COMPUTER WORKS20 Hudson PlaceHoboken, N.J. 07030(201 120-1644

BYTE OF WESTMINSTER14300 Reach Blvd.Westminster. Ca. 92683(714)894-9131

BYTE OF SANTA CLARA3400 El Camino RealSanta Clara, Ca. 95051(408)249-4221.

for more information call or write to

R.H.S. MARKETING

2233 El Camino Real

Palo Alto, California 94306

(415)321-6639

DEALER INQUIRES INVITED

BofA & MASTERCHARGE ACCEPTED

~J

16384 BYTES for $485.00

assembled (with sockets) : tested - burned-in - guaranteed

A new high in S100 bus memory cost effectiveness,(with sockets), tested, burned—in and guaranteed,memory chips (the same ones used by the ton in IBible memory systems) combined with self containelogic, yield a memory system with:

• Low power consumption, total board 5 watts.

• Transparent refresh, which means thememory looks static to the outside world.

• No waiting. In fact, xrdy is not even con-nected to the memory.

• Full DMA capability

• Reliable, low level clock and controlsignals.

Dynabyte

UyTlQsUy16 brings to the S — 100 Bus a state of the art, industrial quality memory system.J6K on a single board for $485.00, Guaranteed for 1 year.

J

BYTE OF PASADENA496 So. Lake Ave.Pasadena, Ca. 91109(213)684-3311

BYTE OF SANTA CLARA3400 EI Camino RealSanta Clara. Ca. 950511408)249-4221

BYTE OF WALNUT CREEK

2989 N. Main St.

Walnut Creek. Ca. 94596

(415)933-6252

BYTE OF SAN MATEO1200 W. Hillsdale Blvd.San Mateo, Ca. 94403(415) 341-4200

BYTE OF PALO ALTO2227 El CaminoPalo Alto, Ca. 94306(415)327-8080

for more information call or write to:

R.H.S. MARKETING

2233 El Camino Real

Palo Alto, California 94306

(415)321-6639

DEALER INQUIRES INVITED

BofA & MASTERCHARGE ACCEPTED

Circle 37 on inquiry card.

Add Cursor Control to Your TVT II

Brother Thomas McGaheeThe Salesian Center80 S Sixth StColumbus OH 43215

If you own a TVT II and would like asimple circuit to provide for operation of thecursor and erase functions, then consider thecircuit shown in figure I. This simple circuitwill accept ASCII control characters anddecode them in a manner suitable for con-trolling all of the cursor control and erasefunctions, and it even has a few outputs thatcan be used to provide user defined func-

Figure I: Diagram for the TVTII cursor controller. ICI is a 4 to 16 linedecoder that will select which control command is wanted. Transistor Qi is inthe circuit to make it compatible to the Southwest Technical Products' screenread and UART boards. Diodes D1, D2 and D3 are in the circuit to protectICI when it is connected in parallel to the output of a gate on the mainTVT II board. IC2 is wired as a one shot to activate the Sonalert when acontrol G is pressed.

tions, such as enabling external devices orturning on bells and whistles.

In the version presented here severalfunctions are provided, including home,erase to end of line, erase to end of frame,cursor up, cursor down, cursor left, cursorright, and bell. In addition there are fiveother unused codes that may be assigned anyway you wish. Control | and M are unused,since the TVT II already decodes these ascarriage return and line feed.

How it Works

IC1 decodes the incoming ASCII char-acter, and selects one of its 16 outputs togo to logical zero whenever bits 5, 6 and 7are all logical zero. The TVT II data lines are

J4 [D>-

+ 5V

J4 [9>

J4 [8>

B2

BITS ;

J4 [0s—

J4 n>

B4

BIT5 J4 [5>-

GNDJ4 [2>

IN914(3)

ICI74154

46

78II1214GND l5

H4

-TX> J3-[F>J3

H*

12

ENABLE IF 0

-HC

CIlOOpF

Rl

2.2KI VW-

R2IK

-U> J3

-n> J3

-G>J3

-Q[> J3

-E> J3

:o

nR3IOK

tK

C2

iocyF

B VCC PRINT CEXT

-<6~1 J3 --<J0] J3

COMPUTERCURSOR SIGNAL"

012N2222

IC274121

REXTCEXT

R4IK

m

MALLORY

sc-s

SONALERT

02

2N2222

CURSOR CONTROL EQUIVALENT LOGIC:

Oi

•/ SIGNALI

-» TO ICI PIN 18

-0 IF B6- B7- 0

J3 AND J4 ARE PART OF THE TV-H MARKETED BYSOUTHWEST TECHNICAL PRODUCTS CORP.

122

ASCII

IC1

Binary Code

Keys

Function

74154 pin

0000000

Null

X

1

0000001

Ctrl A

X

2

0000010

Ctrl B

X i

3

0000011

Ctrl C

X

4

0000100

Ctrl D

Down Cursor

5

0000101

Ctrl E

X

6

0000110

Ctrl F

Erase to end of Frame

7

0000111

Ctrl G

Bell

8

0001000

Ctrl H

Home

9

0001001

Ctrl I

X

10

0001010

Ctrl J

Line Feed

11

0001011

Ctrl K

Right Cursor

13

0001100

Ctrl L

Erase to end of Line

14

0001101

Ctrl M

Carriage Return

15

0001110

Ctrl N

Up Cursor

16

0001111

Ctrl 0

Left Cursor

17

How To Remember

D and Down are easily mnemonically related.

F and Erase EOF are easily mnemonically related.

G is the standard bell function in ASCII.

H and Home are easily mnemonically related.

K was chosen for Right not so much because it was desirable so much as the factthat it was the least undesirable. A, B and C are commonly used program con-trol commands. J and M are used for carriage return and line feed. This leavesus with only E, I or K. I chose K and use the mnemonic K for Kontinue.L and Erase EOL are easily mnemonically related.

While N is not mnemonically related to Up, it was chosen since many keyboardshave an upward pointing arrow above the N.

O is not mnemonically related to Left but was chosen because many keyboardshave a left pointing arrow above the O.

Table 7,' This table summarizes the inputs to and the outputs from ICJ. Along with the desired keycode is given the binary inputto IC1, the output pin that is enabled, and the function that it is wired for according to the circuit of figure I. At the right is anexplanation of the alphabetic mnemonic that is used to remember the correct key to cursor command code. Note that with theexception of the bell, line feed and carriage return commands, these functions are not standard ASCII functions.

IN270 14 OTO CONTROL KEY

-M o

ALPHABETICAL KEY

Figure 2: Simple circuit to add control keys to a keyboard. The new key iswired to both the control key and the alphabetical key. The diodes areneeded to isolate the keys from each other.

labelled from I lo 7 by SWTPC. Bit 5 isrouted lo Id's G2 input, and the Gl inputof Id is fed from the TVT 11 "computercursor" signal, which is zero whenever bits 6and 7 are both logical 0. Bits I to 4 areapplied to the A, B, C and D inputs of Id.Whenever one of the first 16 control char-acters is detected, one of the decoder'soutputs will go to logical zero.

You will notice that some of the outputsare connected to diodes. This is to protectthe output of Id when it is connected inparallel with the output of a gate on themain TVT II board. You could use an opencollector version of this decoder integratedcircuit, but I chose to use a 74154 becausethey are readily available at low cost. I haveIN914 diodes on my unit, and have not hadany problems. A germanium type, such as a1N270 might be a better choice, but Isimply used whatever I had on hand.

Ql is included in the circuit so that thiscircuit will be compatible with SWTPC'sscreen read and UART boards. It provideslogic to advance the cursor when told to doso by the other boards. IC2 is a one shot setup to handle the bell function. A control Gwill cause a low going pulse at its Al input.It will then stretch the pulse for a second orso to drive the Sonalert, or whatever you

wish to use as a bell function. There areseveral other outputs from Id that can beused to initiate other bells and whistles ina similar manner. The J numbers in figure Irefer to the connector plugs on the mainTVT II board.

Table I is a listing of the 16 outputsand their function assignments. An "X" inthe table indicates a free function waiting tobe implemented. A mnemonic explanationof the functions at the right of table I helpswhen using the keyboard. If for any reasonyou wish to change which control keysperform which functions, just wire to adifferent output pin on Id.

If you are using a diode encoded key-board, you can add cursor control and erasekeys quite easily, if you already have acontrol key. All you do is connect eachcursor or erase key as shown in figure 2. Thediodes serve to isolate the keys. Wheneverthe key is depressed it will simultaneouslyactivate both the control and alphabetickeys. You can add as many of these typekeys as you need. While you are al it, youmay wish to add a calculator type array ofswitches for numerical entry. You simplywire them in parallel with existing numericalkeys; no diodes needed. This will consider-ably speed up the entry of numerical data."

123

(Jlsssifietf Ads

WILL TRADE: AKC Samoyed puppy or studservice for computer (or related) hardware, BASICsoftware, or texts of interest. Contact G FrankHumiston, 506 Wayne Av, El Cajon CA 92021.

FOR SALE: Complete Wang computer systemCPU (Model 2200A) contains 12 K RAM expandable to 32 K. BASIC is resident in 20 K ROMCRT/tape drive (Model 2216/2217) in one console12 inch diagonal 64 character by 16 lines screenDrive is fully under program control. Alphanumeric keyboard (Model 2222) with separatenumeric key pad and 32 special function keys.Commercial quality equipment excellent for smallbusiness application. All for $4,500 or trade (newat $9,300). Write or call for data sheet. Al Leung,POB 5272, Redwood City CA 94063, (415)364-6746.

HELP: I found some partially assembled electronicequipment and other items for Four-Phase Systemstnc sync modem monitor two summers ago in theFlaming Gorge National Recreation Area UT. Ihave been unsuccessful in tracing the owner. Toclaim, let the owner identify the equipment in full.Jay Radavich, 120% S Polk, Moscow ID 83843.

FOR SALE: MOS Technology Inc KIM-1 with 1 Khomebrew 2IL02 RAM. Power supply: three each+5 V at 1.5 A, 1 each -5 V at 0.5 A, 1 each at+12 V 0.5 A, 1 each at -12 V 0.5 A. Serial adaptorboard, SAD-1 (checked out on a CT 1024, worksOK), wood case, extra 22 pin connectors with twoextra on case, cross assembler manual, TIM man-ual. Please monitor with tape and books. TinyBASIC with tape and hexadecimal list, 10 eachMemorex, 30 minutes each side with programs.$330 takes all. Robert G Lloyd, 7554 SouthgateRd, Fayetteville NC 28304, (919) 867-5822.

WANTED: To buy, for personal use only. Testedprograms for business applications, business gamesand simulations. Micro BASIC or IBM 360 BASIC/FORTRAN IV. Doug Gilson, #72 University Ter,Columbia SC 29201.

WANTED: Young student with small budget wantsback issues of BYTE, Radio Electronics, PopularElectronics, and computer and electronics books(at list price or less plus postage). Will buy or tradewith back issues of Popular Science or PopularMechanics. (I have them back to 1932.) Contactme at the next meeting of SDCS or write VictorO'Rear, POB 1388, La Mesa CA 92041.

FOR SALE: IMSAI one UCRI cassette board $39,one 8080 processor board $160, one 4 port parallelIO board $140, one 2 port serial IO board $140,two parallel board cables $20 each, two serialboard cables $15 each, one SWTPC PR-40 printer$240, one Oliver Audio paper tape reader $60, oneDC-50 MHz RF generator $200, one MotorolaPT-300 Handi Talkie $250, one Software by ScelbiSCELBAL higher level language $35, one 8080assembler $20. All boards fully assembled andguaranteed to work. Will ship COD UPS; you paythe freight. Vance James, POB 2292, Hickory NC28601.

Readers who have equipment, software or otheritems to buy, sell or swap should send in a clearlytyped notice to that effect. To be considered forpublication, an advertisement should be clearlynoncommercial, typed double spaced on plainwhite paper, and include complete name andaddress information. These notices are free ofcharge and will be printed one time only on a spaceavailable basis. Insertions should be limited to 100words or less. Notices can be accepted fromindividuals or bona fide computer users clubs only.We can engage in no correspondence on these andyour confirmation of placement is appearance inan issue of BYTE.

Please note that it may take three or fourmonths for an ad to appear in the magazine. ■

NEEDED: BYTE issues volume 1, numbers 1 to10. Must be complete, and preferably in at leastgood condition. High quality Xerox reproductionsmay be considered (if BYTE doesn't mind). ForXerox, please forward a sample reproduced page.T Mishler, 5914 Glenn Av, Flint Ml 48505,

FOR SALE: CRT terminal, 3 month old Micro-Term ACT-1 with 9 inch Sanyo monitor. 16 linesof 64 characters, autoscroll, 110, 300, 600, 1200,2400, 4800, 9600 bps, RS232C or current loop.Modified for direct display of typed data. Alldocumentation. $495 includes shipping. BobRipley, Rt 3, Fayetteville AR 72701. (501)267-3172 evenings.

FOR SALE: To highest bidder, all issues of BYTEmagazine published to date, in mint condition. Willnot break up collection. Only highest bidder willbe notified. Send offers to David Hicks, 1711 EWillow Ave, Wheaton I L 60187.

WANTED: Technical info on SR-52. Labels, for-mat and signal levels of interconnection pins toprinter, card reader data format and recordingtechnique, IC pinouts, schematic, programming,architecture, signal levets, voltages, anything thatwill.help me interface it with a homebrewing Z-80and/or reload program from an outside memory.Will pay duplication costs or will buy a servicemanual if available. Will work or exchange informa-tion with anyone who has attempted to interfacethis unit. Help. Jack Lambert, 5 Graham Rd,Lexington MA 021 73, (617) 862-8490.

BYTE: Issues 1 thru 13 in good condition,complete set for $39. Tom French, 404 LeewardLndg, Roswell GA 30076, (404) 993-1042.

WANTED: Back issues of BYTE. Need September,October, November, December 1975 and April1976. Also need December 1975 and January,February, March 1976 of SCCS Interface. Sendyour asking price to Dick De Nicola, 516 DevanahSt, Covina CA 91722, (213) 685-6307.

FOR SALE: Viatron 2111 Data ManagementCenter with Printing Robot and all manuals. Unit isin operating condition, $700. Dan Wolf, c/oInterglobal Photos, New York NY 10003.

FOR SALE: Southwest Technical Products TVtypewriter. Includes keyboard, 1 K of RAM, serialinterface board, power supply, cursor controls andtwo page memory options wired. Mounted on ametal chassis. Complete wired and in workingcondition, $200. Webber Hall, 16967 Blanche PI,Granada Hills CA 91344, (213) 363-2004.

FOR SALE: 7 track AMPEX FR400 Digital TapeHandler; includes all motors, motor control cir-cuitry, hubs, capstan, take up reel for 2400 foot1/2 inch tape, complete documentation and partslist. No read write electronics or manual controlpanel. Best offer plus shipping for 160 lbs, about19 by 17 by 17 inches. Paul Krieger, 2111 W lliff,Englewood CO 80110, (303) 922-2385.

FOR SALE: Paper tape equipment. Two highspeed Digitionics 8 level paper tape readers 300cps, stop on character, like new, $60 each. One 8level paper tape punch, including all drive electron-ics and interface to 8 bit micro, $75. Jim McCord,120 E De La Guerra, Santa Barbara CA 93101,(805) 963-8941.

FOR SALE OR TRADE for working or non-working mini computer. SCR 826MA, Horizon 2,Lampkin 105B, etc. Please write Dale Hutchinson,10818 Brentway Di, Houston TX 77070.

FOR SALE: One 6502 KIM system with documen-tation, $175. One 6502 MPU and 6530-004 TIMwith TIM manual, $45. Three 6530-005 RAM, 10port combinations, $10 each. Eight 2102s, $12 thelot, and two 61 11 A-4s, $6 for both. MiscellaneousTTLs: 74100, 74150, 8202, 8416, S.50 each. I'mhouse cleaning and hope someone can use these.J Grina, 1233 Ray PI, St Paul MN 55108,

FOR SALE: SCM Typetronic 98/330 (CDC-9816)2R/2P with Fron feed carriage. Includes controlunit IO printer, processor, two readers and twoV-punch united. Original cost $23,000. Best offer.Mr Hepburn, Rockland MA, (617) 871-1790.

FOR SALE: MITS Altair 8800a. Assembled, facto-ry tested. Includes: CPU card with 8080a, factoryassembled SIO-C (TTY) interface card, ACR (cas-sette) interface card, factory adjusted to the newMITS frequencies, two 4 K dynamic memorycards, 12 total factory installed edge connectorsand card guides, switchable fan and MITS modifiedpower supply. Originally cost over $1400. Will sellfor $850 (or make me an offer). Call Craig Pearceat (312) 484-5846 (7 to 10 PM, CST).

FOR SALE: Complete factory assembled Spheresystem: 6800 MPU, keyboard, CRT, PWR supply,resident monitor in PROM, 4 K user memory, 2cassette IO. Asking $1000, or willing to trade for aworking IBM 1620. Bob Wada, 12812 Court St,Garden Grove CA 92641, (714) 893-8940.

WANTED: System Viatron 21 and accessories.Fred De Bros, 15 Garden St, Boston MA 02114.

WANTED: I would like to purchase the first 12issues of BYTE (ie: volume 1, numbers 1 to 12). Ifyou have any of these issues for sale please writeW R Parks, Assistant Professor of Computer Science,Walters State Community College, AppalachianHwy, Morristown TN 37814.

WANTED: Selectric type writer /terminal com-patible with Altair type system. Need eithercomplete unit or conversion kit including interfacefor Selectric I or II. Charles Ames, 46 CoburnWoods, Nashua NH 03060, (603) 889-5000 after7 PM.

FOR SALE: One MITS 4 K static memory boardand one MITS 4 K dynamic memory board, S165each. One Processor Tech 8 K memory board$315. All boards fully socketed, fully assembled,and work perfectly. J R Fish, 2121 Columbia Pike#208, Arlington VA 22204, (703) 521-6763.

FOR SALE: TTY paper tape, 1 inch wide, 8 inchdiameter rolls, buff, oiled, perfect for ASR-33.$5 plus UPS shipping per 7 roll carton (12 lbs) or$15 per 28 roll case plus UPS. Two or more cases,$12.50 each plus UPS. Dan S Parker, 1007 3rd St#3, Davis CA 95616, (916) 758-2341 evenings.

FOR SALE: Burroughs Card Reader (Series A590,Style #A592), its logic unit, and a complete set ofschematics. Any offer will be welcome. Its physicaldimensions are 10 by 9 by 24 inches. Chris Nolet,131 Bridge St, Dedham MA 02026, (617)329-3189.

WANTED: Manual, schematic and service data forBurroughs calculator Model C-5155, Series C-5000.Luis Pena, POB 954, Montevideo, Uruguay,

5 AMERICA.

FOR SALE: 1702A by Intel. Bought large lot tocut expense. Willing to share savings. Factory fresh.$5.50 plus $1 for shipping and packaging. B DLichtenwalner, 29 Michael Rd, Stamford CT06903.

FOR SALE: First 24 issues of BYTE complete.Best offer. Roy Lynch, POB 8, Sabina OH 45169,(513) 584-2424.

FOR SALE: PDP-11/03, cheap; 16 K + 24 K boardfor same; portable Tl terminal; twin floppies,RT-11. Make offer for all or any of the above. AlsoLA36 DECwriter II, $1200. Omnitech 701Bmodem, $190. Would like to discuss all DEC orDEC compatible hardware and software. NeedPDP-11/04 or larger. Walter D'UII, 2239 GrandConcourse, New York NY 10453, (212) 933-0300or (201) 744-0685.

WANTED: Information on how to interface aFlexowriter Programatic to a processor. I will payfor cost of duplicating and postage. Have TechnicalManual and schematics for Models FL, SFD andSPD for anyone who needs it. Frank Goeringer,

6 Fox Meadow Ln, Cahokia IL 62206, (618)337-7031.

SOFTWARE WANTED: Bio-engineering or bio-medical simulation programs for IMSAI 8080 inBASIC, PDP-11 in BASIC or FORTRAN, WANG2200 in BASIC, IBM 360 or IBM 370 in almostany language. Donald Becnel, POB 14473, BatonRouge LA 70808.

124

The Intelligent Video Interface

The MERLIN Kit with manual is $269.

MERLIN assembled & tested is $349.

Order yours today.

MC and BAC accepted

If you are still not

convinced that MERLIN is the best buy

in Video Interfaces/Monitors

see one at your local computer

store or write for more info.

MiniTerm Associates, inc.

Box 268, Bedford, MA 01730 (617) 648-1200

Circle 38 on inquiry card.

Photo I: The homebrewremote display board,plugged into KIM via a rib-bon cable. With such aremote display and a re-mote keyboard connectedthrough KIM's edge con-nector, it is possible tocreate an enclosed hous-ing which protects theprocessor.

Giving KIM Some Fancy Jewels

Robert Grater

1595-21 Laurelwood Rd

Santa Clara CA 95050

When my KIM-1 arrived I was excited,but a little dubious; after all, I had read allthose microprocessor books and still didn'tknow beans about programming. Well, MOSTechnology's excellent manuals took care ofthat and I'm on my way to knowing whatI'm doing. When I say excellent, I mean if Ilearned it, anyone can!

But KIM has a fundamental problem! Ilike KIM, but I just can't see myself sittingthere with a naked board gathering dust andme dropping ashes all over it while I sweatout a program. Also with MOS Technology'swelcomed announcement of the KIM-2 andKIM-3 programmable memory boards andthe coming KIM-4 mother board, it's really

time to start thinking about putting KIM ina nice enclosure. But in order to bury KIMin an enclosure, I had to somehow bring thedisplays and keyboard lines out.

MOS Technology was nice enough tobring the keyboard out to the applicationconnector, so one problem was solved beforeI started. Butwhataboutthedisplay? I didn'twant to just parallel the existing readouts onthe board because that would mean thatmuch extra current, and this might not makethe drivers too happy. I came up with thefollowing solution which is fairly simple, yeta bit delicate to start with. Delicacy anddiscretion with KIM are requirements of thetask of unsoldering the original readouts,

Figure I: This diagramshows electrical connec-tions of the 16 pin remoteadapter socket installed asUI8, with patches to thepin 3 anode connectionsof U19 thru U23 of theKIM-I design. The displaypositions of UJ9 thru U23can have 14 pin socketsinstalled if it is desired tooccasionally revert to onboard displays.

uia ADAPTORSOCKET

SEG ASEG FUI8ANU20ANU2IANU22ANSEG EU23AN

UI8ANSEG BUI9ANSEG GSEG CUI8ANSEG DN/C

UI9

U20

U2I

U22

U23

126

16 PIN

DIP SOCKET

ON BACK OF

REMOTE

DISPLAY

BOARD

1118

3 9 14• II—

UI9

3 9 14

U20

U2I

U22

3 9 14

U23

Figure 2: A remote displayboard. After removing theKIM-1 displays, a remotedisplay boardisconstructedfor mounting in a moreconvenient packaging ar-rangement. The wiring ofthe cable which plugs intothe 16 pin socket installedat the U18 position of theKIM-I board is listed inthe diagram.

turning these displays into remarkable jewels.

The MAN 72 7 segment readouts (U18thru U23 of the MOS Technology docu-mentation) are unsoldered with an iron ofless than 35 Wand a "solder sucker" or similarvacuum solder removal tool. This is the onlyway I've ever found to successfully unglueitems on double sided boards. This will allowyou to replace the displays with one 16 pinsocket as shown in figure I. The 16 pinsocket will go in the 14 pin U18 slot (thereis room for the extra pin below). Use of theunused pins of the old 14 pin display pattern,plus one extra socket pin of the 16 pinsocket, allows all the necessary controlsignals to be routed to the external displayposition.

In order to mount the 16 pin socket, takea small piece of Vectorboard with 0.1 inchspacing and lay it over the spot for U18 andline it up with the existing holes; this will beyour marking guide. Now using a scribe orsmall drill, mark the spots for pins 4, 5, 8,and 14 (which were originally unused atU18). Do not mark the spot for pin 9 sinceit would go through the circuit on the otherside. Hold the Vectorboard firmly whenmarking and check for alignment with a16 pin socket after marking it. Now using a#58 drill at the highest speed you can get,carefully drill the extra four holes. Takeyour 16 pin dip socket and clip off pin 9 onthe back side; now it may be soldered inplace with pin 1 to the upper left. (If yousolder five 14 pin sockets in the other dis-play patterns, you can plug the six displaysyou removed into the sockets and check tomake sure KIM is still talking to you).

Now we have four extra pins at U18and five anode leads to bring out on 1118'smodified socket (which is called the adaptorsocket) in figure 1. Actually we have fiveextra pins since pin 6 on all the displays is

Pin Connection

SUMMARY OF INTERFACE CABLEPin Connection

1 Segment A Cathode 9

2 Segment F Cathode 10

3 U18 Common Anode 11

4 U20 Common Anode 12

5 U21 Common Anode 13

6 U22 Common Anode 14

7 Segment E Cathode 15

8 U23 Common Anode 16

No Connection (Do not drill on KIM)

Segment D Cathode

U18 Common Anode

Segment C Cathode

Segment G Cathode

U19 Common Anode

Segment B Cathode

U18 Common Anode

the decimal point cathode and is not used.All we have to do now is bring the five othercommon anode leads from U19 thru U23to our modified U18 socket as illustrated infigure 1, This may be done with very small(#26) wire. I picked up pin 3 of all the otherdisplay sockets which seemed to give theeasiest routing, straight down the middle.The wiring diagram of figure 1 shows theconnections. Now you have the original onboard display with the option of plugginginto the adaptor socket with an 16 pin DIPplug for a front panel display when you putKIM in a box.

The front panel display may be wired asshown in figure 2. I used a modified clockdisplay board and would have been just aswell off wiring it by hand on Vectorboard.Also I used a 16 pin DIP male to male plugwith another 16 pin socket mounted on theback of the display board, so the wholeworks can be unplugged if I want to go backto the bare KIM for testing or whatever. )ustfor a little added elegance and pizzazz, Ireplaced the two data display readouts withMAN 7G green LED displays for some classyemerald jewel effects.

This modification of KIM's display jewelsis just the first step in getting KIM into amore workable medium for expansion anddressing her up a bit. I've also been workingon the complete housing, but that's anotherstory."

127

PAPERBYTES™Forum

Yet Another Format?

Ian Robinson, 308 W 5th St, NeillsvilleWl 54456,sent in an extended letter on analternative to the bar code format we pro-posed in November and December, and havebegun using. He proposes a format whichlooks like this:

- data bars (Is only)

— clock bars (each bit)

Binary data

010101000010100

However, there is one disadvantage tothis format: It requires two read sensorssince the data clock bars and the data barsmust both be read simultaneously. He arguesthat this method can be hand drawn withquite a variation in density, which may betrue, but the whole idea of the bar codes wasto automate the printing process for massproduced software distributed in maga-zines. ■

BAR CODES AND OTHER TOPICS

I enjoyed the April 1977 issue ofBYTE, which I thought was somewhatimproved in areas of my interest. Inparticular, I enjoyed your article, "ASoftware Controlled 1200 bps AudioTape Interface." For a while, I thoughtthat our interests might be diverging,but now your articles are tending moretoward the hardware direction, withone particular area of common interestthat intrigues me greatly.

The idea of published software inbar code form could well be the greatestcommunications method yet, as faras hobby level exchanges go. Hereare some additional ideas for yourconsideration.

An almost perfect version of theoptical leader described by FrederickMerkowitz in his article on page 77 ofDecember 1977 BYTE is available from

Wilcox Enterprises, whose ad alsoappears on page 85 of this issue. Thisitem sells for a mere $15, and containsa B & L Microscope equipped with anEPI illuminator (through the lens) anda 10 x objective lens. The microscopeassembly is equipped with a photocelland slit assembly, and is mounted ona precision set of slides. The assemblyis scanned or driven by a motor (everyunit I have ordered has been damaged,but the motor can be replaced easily,by any semiskilled hacker) and gearassembly.

An infrared emitter and sensorcombination, mounted in a TO - 18package, is available from Ultra SensorsInc at 2400 West 102nd St, Suite 313,Minneapolis MN 55431. The price is$4.50 in unit quantities (ask for theCyclops Evaluation Kit). This device iseasily made into a light pen style reader,or any other configuration one mightdesire. There seem to be no significantproblems with ambient light, or angleof approach with this device, if theself-contained lens is held in contactwith the paper while reading. This deviceworks best if it is powered by approxi-mately 10 kHz pulses of 5 to I 0 V mag-nitude, through a 27 Ohm currentlimiting resistor (or it can be drivenby a single UJT transistor oscillatoroperating at 10 kHz). Connect thephotocell to a LM 308 op amp througha 100 pF capacitor followed by a 3.3 kOhm resistor to ground (ie: a differen-tiator). If you rectify the output ofthe op amp, you have the scannedbar code signal!

A bar code printer (coded for thestandard bar codes, ala super market)is available from:

Medical Record SystemsDivision of Ames Color-FileCorporation12 Park StSomerville MA 02143

They ask a very high $6,500 (in hobbyterms) price for this critter, and theelectronics for bar code formulation andinterface are not of particular interestin our case. Possibly the printer mech-

anism alone can be purchased. Withsuch a machine connected to a key-board and a universal (ie: programmable)cassette tape interface, BYTE maga-zine could reproduce almost anyone'ssoftware recordings into one of thebar code formats that you have beendiscussing. This would make the dreamof software exchange a reality. (IfBYTE would like a formal quotationfor construction of such a system,just ask. This is my business. A firstguess at the cost, with bar code printer,would be approximately $13,000.)

I don't enjoy writing software,and I find the manual entry of softwarelistings a very boring task. Published barcodes could change this.

I have recently made several videomonitors by converting a Magnavox12 inch, transformerless set for a totalcost of $87 each. I go to a Magnavoxdealer, and purchase an MG 5056WAF2less the video, audio and tuner mod-ules. These are plug-in and can beremoved in minutes right in the showroom (take a 1/4 inch nut driver withyou). The dealer can use these modulesto service quite a few Magnavox sets,and the total rebate has been $53.55to me. By sawing the fingers off an oldPC card, you can fabricate a connectorto fit into the video modules socket,and make connection to pin 4 V (video)and pin 8 (ground). Delta Electronic'sL9971 isolation transformer at $6 thenmounts in the same screw holes thatmounted the tuners! If you think therewould be sufficient interest in thisproject, I could put together a projectarticle on same.

The front cover picture of April 1 977BYTE is fantastic. How about postersize reproductions of this? I need several(to justify the present conditions onseveral of my own benches)!

Sumner S Loomis

Route 1, Box 131 A

Prairie Point MS 39353

Thanks for your excellent commentsand suggestions, but I thought I usedsoftware to generate and decode theinformation at the interface. . ,CH a

HIGH-SPEED CASSETTE INTERFACES (The Stringy Disk)

CRI-B

Up

lUivl

"ill

DAJEIM Electronics

7214 Springleaf Ct.

Citrus Heights, Ca. 95610

(916) 723-1050

600 to 12,000 baud statuscontrols, 1K monitor withcassette routines providedon tape.

SUMMER SALE!Take 10% off. Good thru Aug. 31,1977. Dealer inquiries invited.

This one does it all!

Announcing: Universal l/o, moni-tor in EPROM, RAM, RS-232, cur-rent loop, 3 parallel ports, cas-sette l/o, relay control. Kit: $235.

UCRI

0';

;.

Relay control of two re-corders, latched input portfor keyboard, tape reader,etc. File-search capabilities.

Biphase, Kansas-City, Altair, IMSAI, Poly, Tarbell compatible

Kit $120, Assembled $165 Kit $135, Assembled $175

Manual $3.50 Manual $4.50

Circle 39 on inquiry card.

128

Circle 97 on inquiry card.

What's

ASCII Keyboard Kit from Radio Shack

£ 1.: *. 'Y"i1,Y',T"VT[ jHa'"T 2"

MllllllllllPffPPI« * S8911iliP!»P«!

Radio Shack has announced thenew Archer ASCII Keyboard Encoderkit for $57.80. The price includes allelectronics and parts needed to assemblethe keyboard as shown. An external5 VDC 500 mA power supply (notsupplied) is necessary to power the unit;this may be purchased locally. Theprinted circuit board alone, includingassembly and parts manual, is avail-able for $14.95. See your local RadioShack dealer for details on their latestcatalog sheets."

Circle 634 on inquiry card.

A New Multiplexed Analog IO Cardfor the Z-80

Signal Laboratories Inc, 202 N StateCollege Blvd, Orange CA 92668, ismaking available a new analog IO card.With this board, intended for use withthe Zilog Z-80 development systems,the engineer or scientist can monitorup to 16 analog channels in real time.

NEW . . . 1977

MICROCOMPUTERCATALOG!

Hundreds of microcom-puter products and ac-cessories from manymanufacturers.

Our new MICRO 77 Catalog provides you with a single,easy to use source for comparing and selecting microcom-puters — from simple low cost trainers, to advanced systemsdesigned for business, scientific, and engineering applications.

Whether you choose a kit or fully assembled unit, this easyto use catalog can help take the mystery out of selecting thecomputer system that is best for your application.

Included in this catalog is a convenient glossary of termsfor reference, and sections covering:

MICROCOMPUTER SYSTEMS

PERIPHERALS

DEVELOPMENT AND TEST EQUIPMENT

SOFTWARE

BOOKS AND PROGRAMMED COURSES

Send $1.00 (refundable with first order) for your copytoday I

miMCom systems

865 3rd Street South, St. Petersburg, Fl 33701

PCC'S

Reference Book

of Personal

and Home Computing

Ever try to find the addresses of some manufacturers of, say,tape cassette or floppy disk interfaces for micros? Frustrat-ing, isn't it? Well PCC has done something about it. Thisbook lists hundreds of companies and stores selling hardware,software, and services. Survey articles on software, hardware,kits, applications and the future for the experienced and thenot-so-experienced user of micros. Also included in this edi-tion are bibliographies for further reference, book reviews,and an index of the articles from the major hobbyist maga-zines. All for the low price of $4.95, plus 50 cents postage.

Available through:

Master Charge andBankAmericard Welcome.

BITS, Inc.

70 Main Street

Peterborough NH 03458

In unusual cases, processing may exceed 30 days.

129

Circle 51 on inquiry card.

The channels are sequentially sampledand sent through a 12 bit analog to digi-tal converter. Two multiplexed digitalto analog outputs are also availableon the board, as well as four discrete(1 bit) outputs and a DC to DC con-verter, enabling the board to be poweredwith only +5 VDC. One analog to digitalconversion takes a maximum of 20 MS.A programmable gain amplifier is alsoincluded offering gains of 1, 2, 4 or 8.An option is available which allowsthe board to monitor up to 32 analoginput channels. Price for quantitiesunder ten ranges from $595 to $910,depending on options. Available fromstock."

Circle 645 on inquiry card.

A Sophisticated New Small System

On Line Shirtware

Fed up with those tiresome Parisoriginals? Eschew the tacky route atyour next computer club meeting withMartha Herman's new computer T-shirtdesigns. Try REAL TIME OPERATORon a dark green background, or maybeGARBAGE IN-GARBAGE OUT onorange. Other titles include COMPUTERWIDOW and RANDOM ACCESS; thereare ten in all.

Shirts are available from MarthaHerman, 114 W 17th St, New YorkNY 10011, for $5 plus $.60 postage pershirt. State chest size."

Circle 646 on inquiry card.

Microkit Inc, 2180 Colorado Av,Santa Monica CA 90404, has announcedtheir new Microkit 8/16 Universal Micro-computer Development System as shownfor $5,275. The system is available inboth 8080 or 6800 versions, and theprice includes 32 K bytes of program-mable memory, two cassette recordersand a high speed graphics display. Aninteresting feature of the software sup-port package, called Quickrun, is thatthe monitor, debugger, editor andassembler reside in the 32 K byte memorysimultaneously, along with a source codework space and an object code workspace. This allows up to 1000 steps ofsource program and 4 K bytes of objectcode to reside in memory simultaneously.

No bells or whistles...just performance,a warranty and a low price.

i * mm awkaa %$Mn

fcSB I V

"J! i • " ,

IHf

For $107.00 take your choice; the 4K RAM board or thealpha video board. For $137.00 the video graphic boardcan't be matched. (8K RAM and much more on the way.)

These are nor kits, but completely assembled, burned-in,tested boards with a 1 year warranty. No soldering, nomessing, no chance of mis-connections . . . just plug 'emin and you're ready to go.

The 4K RAM has the same features and speed as whatyou're used to (500 nsec, no wait states) but with a coupleof extras you might not expect. Like a mechanical writeprotect switch that gives you positive memory protection.And Visaddress®, an easily accessible switch on top of theboard for easy to read address selection.

The alpha video board offers Visaddress address selec-tion and displays 128 ASCII characters: both upper andlower case. A standard 16 line by 32 character format withcharacter selectable video reverse and socketed ROM arestandard features. (Character generator ROM available withstandard graphics characters. Optional Greek or ASCIIcontrol characters available.)

And our video graphic board gives you an exceptionallyeasy approach to computer animated dynamic displays.

Our matrix approach allows direct addressing of each dotin an 128 by 96 array, simplifying dynamic movement. Andunlike DMA displays, our on-board RAM allows your CPUcard to do other work during display time and with nodynamic RAM problems. And like our other boards, it hasVisaddress address selection.

Quality, assembled boards at less than kit prices. Butwhat else would you expect from a company whose primeproduct is electronic test instrumentation and microproc-essing components?

Order direct, by check, BankAmericard or Master Charge(Add $1.50 shipping, credit customers give us all the cardnumbers, please and Ohio residents add 41/2% sales tax)or contact us for more information. Kent-Moore InstrumentCompany, P.O. Box 507, Industrial Ave., Pioneer, Ohio43554.(419)737-2352.

Kent-MooreINSTRUMENT COMPANY

Circle 40 on inquiry card.

130

DO IT BETTER

With the language that is best suited for your application: Business programming inCOBOL, Scientific and Engineering in FORTRAN IV, Educational in BASIC, andSystems Implementation in our MACRO ASSEMBLER.

With hardware that will grow with your application, and protect your software in-vestment.

DO IT FASTER

With extensive support and utility programs to speed development of your applica-tions software. These include a Diskette Operating System, Relocatable LinkingLoader, Load Module Library Editor, Symbolic Debugger, and Text Editors.

With a 16 bit processor that includes hardware multiply and divide, real-time clock,and peripherals like single or dual diskette subsystems with integral DMA con-troller.

DO IT WITH A MicroNOVA

If you are serious about computing, call or writetoday. BPI Inc., 2205 East Broadway, Suite 6,Tucson, Arizona 85719 (602) 326-6975

® NOVA is a registered trademark of Dala General Corporation, Southboro, Massachu

Circle 41 on inquiry card.

Circle 42 on inquiry card.

SOFTWARE

All programs include: Complete assembler source listing,sample output, hex dump, sorted symbol table, plus com-plete instructions and thorough documentation.Text Editing System for 6800. The best! SL68-24 $23.50NEW Mnemonic Assembler System for 6800.SL68-26 $23.50

NEW Stack Oriented Arithmetic Processor(6800) SL68-25 $10.00

NEW 8080 Klingon Capture Space game. SL80-7 $6.50Special Game Packages Each containing 6 programs:

8080 PD80-1 $19.95. 6502 PD65-1 $19.95.

6800 PD68-1 $16.50Complete 6800 Software Pack 16 programs.PD68-3 $35.50

Battleship for 6800, like the board game. SL68-22 $8.00Space Voyage'" TSC's 6800 Star Trek game.SL68-5 $12.00

Micro BASIC Plus The best 6800 "Tiny BASIC"SL68-19 $15.95

Diagnostics for 6800. Very Important! SL68-23 $10.00Stock Market for 6800. Lots of fun! SL68-7 $4.25Complete Catalog of all of our programs. $ .25Program-of-the-Month-Club'" Join the hundreds ofhobbyists already enjoying this service. No obligationand no time valued cards to return. Discounts offered.One year for $2.00

To Order: Include 3% postage, $1.00 handling onorders under $10.00. Indiana residents add 4% sales tax.Check your dealer!

TCP TECHNICAL SYSTEMS CONSULTANTSBOX 2574 W. LAFAYETTE, INDIANA 47906

16K STATIC RAM

$459

• USES 4K STATIC RAMS - NO REFRESH

• VERY LOW POWER - LESS THAN 1 AMP

• Z60 FAST • 250ns BOARD ACCESS TIME

• PROVISION FOR BATTERY BACKUP

• LOW PROFILE SOCKETS FOR ALL CHIPS

• EACH 4K ADDRESSABLE TO ANY 4K SLOT

• HARDWARE/SOFTWARE MEMORY PROTECT FOR EACH 4K

• SPECIAL PAGING FEATURE ALLOWS UP TO

1 MEGABYTE ADDRESSABLE MEMORY

• INSTRUCTION MANUAL INCLUDED

• 30 DAY WARRANTY ON PARTS. 90 DAY ON ASSEMBLED UNITS

AVAILABILITY: STOCK TO 60 DAYS

PRICES: ASSEMBLED $529. 16K KIT - S459, 12K KIT - $354,

8K KIT - $249. 4K KIT - $149. 4K EXPANSION KIT - $115

CONSTRUCTION MANUAL FOR EVALUATION $1.75

QUANTITY DISCOUNT 5 BOARDS—5%

10 OR MORE—10%CASHIERS CHECK OR MO PREFERRED; PERSONAL CHECKDELAYS SHIPPING 2 WEEKS; COD. CHARGES S3 PER BOARDPURCHASE ORDERS ADD 5%. NET 30. NO DISCOUNT.

DEALER & OEM INQUIRIES INVITED

OMNI SYSTEMS INC.

P.O. BOX 7536, UNIV. STATIONPROVO, UTAH 84602

READER SERVICE NO. 198

The user can thus switch at any timefrom editing to assembling to debugging.Quickrun allows the use of symbolicdebugging. Being able to refer to memorylocations by their symbolic nameseliminates the need to consult programlistings to find hexadecimal memoryaddresses. Also included in the systemare memory protect features and amicroemulator. The latter allows theuser to simulate up to 20 K bytes ofmemory."

Circle 647 on inquiry card.

A New Drafting Aid for PrintedCircuit Layouts

The Machine and Control Division ofInterrotech, POB 128, Farmington ME04938, has announced a new draftingtemplate for $8.95 to be used in design-ing "tapeless" printed circuit boardlayouts using ink pens, or pencils.The template produces pin layoutsof dual in line integrated circuits that aretwice actual size. The template has aversatile pattern that includes all thepopular sizes up to 40 pin packages."

Circle 635 on inquiry card.

Badge Reader Module Announced

RD Products Inc, 6132 Route 96,Victor NY 14564, have announced theirMark I badge reader for $100 in quanti-ties of 1 to 25. The reader is designedto read ID cards (such as credit cards)having magnetic stripes. A maximumof 12 decimal or hexadecimal digitscan be read on a magnetic stripe having

Circle 43 on inquiry card.

132

Your microcomputer is only as good

as its memory

Your m icro-computer is...in a mannerof speaking ...capable of think-ing. The amount

of information you can store, combinedwith the access speed, determines thebottom line capability of your microcomputer.

The Midwest Scientific Instruments' FD-8 FloppyDisk Memory System will enable you to get themost out of your microcomputer. . .6800 or 8080.We have the most complete 6800 disk operatingsystem available today, which interfaces to anymicrocomputer via a single PIA chip.

When used with the MSI FDOS OperatingSystem.. .included with purchase. . .the FD-8gives your microcomputer a level of performancewhich can only be matched by larger computers.

You can have program save and load withnamed, variable length, password protectedfiles at three levels: object code files, source codefiles, and BASIC files.

It has disk routines which can be used easily by

low level assembler lan-guage programs as well ashigh level BASIC programs.The coresident assem-bler/editor saves and loadssource files from disk,assembles and stores objectcode on disk, and creates assemblylistings on a high speed printer.You get a full ANSI standard BASIC inter-preter* with program load and save, from disk aswell as tape, with both random and sequentialdisk data files. BASIC also has multi-l/O portcapability under software control.

And all you need do to access any of thesefunctions is type the appropriate commands onyour terminal.The FD-8 is complete, including all power sup-plies, cabinet, cables, software, manuals, anddocumentation.

You can order the FD-8 as a kit for $1,150.00,or wired and tested for $1,395.00.Visit one of our dealers for a demonstration,or send for our free Catalog of MSI products.

American MicroprocessorsEquipment & Supply Corp.Chicagoland Airport, P.O. Box 515Prairie View, Illinois 60069(312)634-0076

Microcomputer Systems, Inc.144 South Dale Mabry AvenueTampa, Florida 33609(813)879-4301

Micro Store

634 South Central ExpresswayRichardson, Texas 75080(214) 231-1096

Vanguard Systems Corporation6812 San PedroSan Antonio, Texas 78216(512) 828-0553

A-Vid Electronics Company1655 East 28th StreetLong Beach, California 90806(213) 426-5526

Electronics for Yachting1525 South East 16th StreetFt. Lauderdale, Florida 33316(305) 525-3478TWX 510-955-9484

High Technology1020 West Wilshire Blvd.Oklahoma City, Oklahoma 73116(405) 842-2021

Computer Workshop174 Ifield RoadLondon EnglandSW10 9AG01-373-8571

THidcMMtScientific

*)K4t*UUKeHt4>

220 West Cedar • Olathe, Kansas 66061 • 913/764-3273TWX 910 749 6403 (MSI OLAT)

nnnnnnnnnnaDnnDDDnDnnnnnn

a Before I forget. . .send me your catalog

a NameD —

□ Address

D

n Ci(y

■n State□

Zip

□□□□□D□

MSI is a dealer for Southwest Technical Prod220 West Cedar • Olathe, Kansas 66061

Circle

BY7 77 O

nnnnaannnDnnnnnnnannnnnan

*MSI BASIC is an additional $65.00ucts • Mastercharge & BankAmericard Orders accepted

• 913/764-3273 • TWX 910 749 6403 (MSI OLAT)44 on inquiry card.

up to 5 mils of protective polyestercoating. The company is consideringthe manufacture of a reader designedto read whole programs encoded onID card magnetic stripes."

Circle 636 on inquiry card.

lit •••« •*••••

A Tutorial Training Computer

The Datac 1 000 computer, controllerand tutorial card is a new productavailable from Datac Engineering, POB406, Southampton PA 18966. This cardis available in two models, the tutorialversion and the fully populated version.The tutorial version is $185 assembledand tested, with power supply; the fully

ilHVili-1CJBpl|IIHIIIIL—lit

milium ill

iiirinttittlti

imiiimtim

Attention LSI-11 PeopleWanting Mass Storage

Charles River Data System Inc, 235Bear Hill Rd, Waltham MA 02154, hasannounced its new FDIl Floppy DiskAcld-On System lor PDP-1 I computersas well as LSI-11 microcomputers. Thesystem was designed to be hardware,

populated version is $345 assembled,tested and with power supply. In eithercase you get a 6502 processor, aninstantly usable computer with expan-sion capabilities, and a unique system oftouch sensitive input keypads, seen alongthe lower edge of the board depicted inthis photo. A documentation package ac-companies each processor board.*

Circle 637 on inquiry card.

Make the HAL Connection

> 8080A MPU

1 1K Monitor/DebugSoftware in2708 EPROM or2-3624 PROMs

• On board spacefor. 4K ROM(2708), 2K RAM(2102A-4)

• 24 lines ofParallel I/O (8255)• Hardware "front

panel" on board

• OptionalAccessories:

CRT TerminalBoard, BASIC inEPROM, AudioCassette Interface,7K RAM Expansion Board/

• TTY Current Loop or

RS-232C serial I/O (8251) EPROM Programmer, Power Supply

MCEM-8080 from $375 (2-3624 ROM/1 K RAM) or$445 as shown (2708 EPROM/2K RAM)

and solve your lab or OEM computer problems

Connect to the 24 lines of Parallel I/Oand ASCII or Baudot Serial I/O.

2. Connect to processor bus to add mem-ory expansion board/EPROM program-mer, I/O devices, or our unique CRTTerminal Board.

3. Connect to our power supply or useyour own.

Lab users and OEM's alike will find solu-tions to their computer problems with theMCEM-8080 computer. All essential com-

puter system elements are incorporated Inthis fully assembled, tested single-boardcomputer. Some unexpected features ofthe HAL MCEM-8080 are: hardware "frontpanel" which allows setting a breakpointand manual control of the computer; 1KROM Monitor/Debug Software (with usercallable, lntel®compatible I/O routines)which greatly simplifies program develop-ment; Parallel and Serial I/O on the board;

and very reasonable prices.Call or write for further information on the HAL Connection.You'll be glad you did!

HAL COMMUNICATIONS CORP.

Box 365B 807 E. Green Street, Urbana, III. 61801

Telephone (217)367-7373

software and media compatible with theDEC RX11 products. It includes writeprotect switches, unit select switches, upto four drives with one unit load on theDEC Unibus, PROM self-diagnostic pro-grams and bootstrap loader. Track totrack access time is 6 ms. Single quantityprice of the drive and DEC compatiblecontroller is $2750."

Circle 638 on inquiry card.

Portable Games

IHHj

iPO"

GarpcK Pac \

For the benefit of the steadily grow-ing ranks of pocket calculator gameenthusiasts, Hewlett-Packard is offeringthe Games Pac I. Intended for use withthe company's HP-67 and HP-97 pro-grammable calculators, the package con-tains an owner's handbook (shown) and20 prerecorded program cards. Gamesinclude Space War, Golf, Slot Machine,Dice, and a Bowling Scorekeeper. Theprice is $35. Contact Hewlett-Packard,1501 Page Mill Rd, Palo Alto CA94304."

Circle 648 on inquiry card.

A New Version of the PCM-12Microcomputer

Pacific Cyber/Metrix Inc, 180Thorup Ln, POB 215, San Ramon CA94583, has announced a new versionof their PCM-12 microcomputer calledthe PCM-12A. The new unit is a 12bit machine based on the IntersilIM6100 microprocessor, and is de-signed to be compatible with PDP-8

134

software. The new model includesthe following features:

• Memory expandible to 32 K bytesof programmable memory.

• Crystal controlled data rate gen-erator to service peripherals.

• Front panel controlled bootstraploading.

• Can be expanded to run withDigital Equipment's OS-8 oper-ating system.

The unit is available either assembledor in kit form. The kit price of $799includes the control panel, 1 K byte ofstatic programmable memory, cabinetand power supply."

Circle 639 on inquiry card.

Hewlett-Packard's Personal Computer. . .

The HP983 I A desk top computer is apersonal computing entry of Hewlett-

Minidisk and Verbatim™ - NewProducts from ITC

Information Terminals Corporation,323 Soquel Way, Sunnyvale CA 94086,announces a new proprietary ferricoxide binder system called Verbatim™This new material will form the storagemedium for the company's floppy disks,magnetic cards, computer cartridges,

Packard, which comes in at the highend of the present day spectrum ofprice, $7200. This machine speaksBASIC with an 8 K byte source programstring area expandable to 32 K maxi-mum in 8 K byte increments. It uses anon board tape drive with 90 ips (229cm/sec) search and rewind speed, 22 ips(56 cm/sec) data transfer speed. Thetape cartridge can hold approximately250,000 bytes and is available to BASICapplications programs as a resource. Theaverage access time is quoted as sixseconds. Auxilliary ROM cartridges arealso available for extension of its capa-bilities. The main display peripheral is a32 character LED alphanumeric device,and the keyboard is used as the primaryinteractive inputs. Options includeprinters, floppy disks and other goodies.For inquiries contact Hewlett-Packard at1501 Page Mill Rd, Palo Alto CA94304."

Circle 640 on inquiry card.

digital cassettes, mini data cassettesand the MD 525 minidisk. The newbinder is said to be more resilient andless abrasive than previous binders.The minidisk is approximately halfthe size of the standard floppy disk andprovides one third the storage capacity.Priced at $5.95 per disk, the minidiskis intended for use in the small systemsmarket as well as in power typingand editing systems. When you usehigh speed digital media, this type ofproduct will prove most useful."

Circle 641 on inquiry card.

Bite Analysis, Anyone?

The latest issue of Complot's Appli-cation Newsletter describes a new tech-nique being used at the University ofMichigan's School of Dentistry. Re-searchers are using computer graphics

PAPERBYTES Design and Implementation of a

Tiny Assembler 6800 — Microprocessor Self Assembler

$7

Tiny Assembler 6800

Design and Implementation

of a Microprocessor Self Assembler

by Jack Emmerichs

Send today to:

BYTE Interface Technical Services, Inc.70 Main StPeterborough NH 03458

Dealer inquiries invited

All orders must be prepaid.

Originally described in the April and May 1977 BYTE, PAPERBYTES is now offeringJack Emmerichs' Tiny Assembler 6800. This book contains the complete Tiny Assem-bler source listing plus object code in cross assembly format (space restrictions preventedprinting of this material in BYTE). A barcode version of Tiny Assembler is included forconvenience, as well as reprints of Jack's two articles and additional user manual mate-rials. Tiny Assembler will run on any machine with Ml KBUG and 4K of memory startingat address 0000, and is an excellent tool for the interactive development of functionalblocks for a large structured program. Add it to your 6800 system and you'll have avaluable programming aid which can free you from the drudgery of machine language.The best part is the price: only $7. Order yours today!

| Name

I

| Address

I

| City

State

7j£_

I J

PAPERBYTESTiny Assembler 6800

Q Check enclosed

□ Bill MC #

□ Bill BA #

Price of Book $

Postage, 35 cents $

Total $

Exp. DateExp. Date

Signature

In unusual cases, processing may exceed 30 days,

Vou may photocopy this page if you wish to leave your BYTE intact.

No. 700

JL

135

Circle 51 on inquiry card.

■'if Vs ' '.

"igure 2. The coordinate po

nts comprising our

model of

tlie

literal craniofacila

morphology

of the

skuLL

in conjunction with a computer tostudy how changes in the number ofteeth through time can affect the shapeof the skull and face.

An X-ray of the skull's profile isfirst digitized into 177 key coordinatepoints to facilitate plotting. A typicalplot is then produced in 30 seconds,which can be overplotted to showdeviations of the skull and jaw due toage, corrective surgery or other factors.Researcher Dr Geoffrey Walker looksupon the technique as a major toolwhich can improve the quality of cor-rective facial surgery and other dentaltechniques. For further informationcontact Complot Application News,One Houston Sq (at 8500 CameronRd), Austin TX 78753.■

Circle 642 on inquiry card.

A New Economical 6800 SoftwarePackage

Users of 6800 based microcomputerswill be interested in Inpro Micro Sys-tems' new software package calledMIKADOS, a combination debuggingprogram, assembler and operating sys-tem which resides in 2.5 K bytes ofprogrammable memory. The assemblergenerates object code on the same lineas the user's mnemonic to provide animmediate program listing. The price,which includes user manual and hexa-decimal object code listing, is $12.95.Contact Inpro Micro Systems, POB7776, Van Nuys CA 91409."

Circle 643 on inquiry card.

With a Small Floppy Disk,Where Does One Get Media?

Media (for those new to the term) isa generic name for tapes, floppy disks,hard surface disks, etc, which can storedata. International Terminals Corpo-ration has recently introduced a new lineof floppy disk media for use with thenew drives such as the Shugart Mini-Floppy. The price of the ITC MD 525flexible disk cartridge is $5.25 in single

Now available direct from manufacturer..

PS-40

48-columnThermal Printer

• 64 ASCII characters (upper case)

• TTL level parallel interface

• STROBE-BUSY handshaking

• Active low new line implementation

• Local line feed (continuous)

• 20 characters-per-second throughputPS-40 mechanism and Print Head $250

With TTL parallel interface — kit $350

With TTL parallel interface —

assembled and tested $400

PS-40 with versatile multifunction RS-232C

interface (F-8 microprocessor) —

assembled and tested $550

Power supply $100

Case $ 80

Paper roll (5%" x 164) $ 3

Shipping Charges $ 4

• Delivery — Four weeks ARO,F.O.B. Addison, Texas

Please complete and return coupon with check or Master Chargenumber. Money back guarantee! Texas residents add 5% sales tax.

telpar, inc.

To:Telpar, Inc.

4132A Billy Mitchell Road, P.O. Box 796Addison, Texas 75001 Telephone (214) 233-6631

□ Enclosed is my check in the amount of $

purchase of.

covering

I

□ Place my order on Master Charge, please. My MC number

; expiration date is l

Signature

Name (please print) _

Address

City

_State_

Zip

Circle 46 on inquiry card.

136

quantities, and the press release saysdelivery is from distributor stocks. Thecompany is located at 323 Soquel Way,Sunnyvale CA 94086."

Circle 644 on inquiry card.

Not for the Casual Amateur, But . . .

This "Traverscan" absolute freecursor digitizer from the H Dell FosterCompany, POB 32581, San Antonio TX78216, is an interesting idea whichexperimenters might find challenging toemulate. This is a real time graphicdigitizer which measures, counts anddisplays the X and Y coordinate valuesof points, with six digits per axis readdirectly in English or metric units.Numerous operational features includeelectronic scaling, 2 axis scalable inte-grator (or digital planimeter) for auto-matic area compulation, and of course,output interfaces through RS-232C seriallines so that the data can be captured bya computer. One uses a graphic digitizerto get information from drawings into acomputer by tracing lines and tracingaround regions. The complexity of thisparticular device strongly suggests it hassome microprocessor intelligence builtinto it locally. H Dell Foster Company isa subsidiary of the Keuffel and EsserCompany."

Circle 649 on inquiry card.

Improving Your Memory

If you want to experiment withAPL or other sophisticated data con-structs requiring extensive memory space,(see the editorial in the November 1976BYTE), you may be interested in thenew 64 K byte programmable memory

THE COMPUTER ROOM

SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT

3455 Southwest Temple Salt Lake City, Utah 84115 Phone:801-486-4311

"WE TAKE THE

insasn out of the mora"

One Of The Nations LargestFull-Service Computer Stores.

Over 1600 Square Feet Of SalesAnd Service Facilities.

WHEN YOU WRITE FOR OUR CATALOG AND ENCLOSE $1 TOHELP DEFRAY THE COST OF HANDLING AND MAILING,HERE'S WHAT YOU GET:

1. A CERTIFICATE GOOD FOR $2 ON YOUR NEXTPURCHASE

2. THE COMPUTER ROOM EASY TO UNDERSTANDCATALOG COVERING

I MS AI

THE DIGITAL GROUP

POLYMORPHIC SYSTEMS

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

TECHNICAL DESIGN LABS

ETC.

3. the COMPUTER ROOM -easy guide- to help you

PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS,AND SOFTWARE FOR

THE BEGINNERTHE ADVANCEDTHE EXPERTTHE SMALL BUSINESS

4. A CURRENT LISTING OF PRESENTLY AVAILABLE

SOFTWARE

PUBLICATIONS

PERIPHERALS

5. INFORMATION ON REPAIR SERVICE, LOW COSTCUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES.

AT THE COMPUTER ROOM YOUR written questionsAREHAPPILY RECEIVED AND PROMPTLYANSWERED

WE ALSO STOCK A COMPLETELINE OF AMATEUR RADIO EQUIPMENT

BANKAMERICARD137

MASTERCHARGE

Circle 47 on inquiry card.

Complete listing of all fea-ture articles appearing inVolume I of BYTE-September, 1975 thru De-cember 1976. Indexed foreasy reference. Includes allerrata.

To get yours, send a $.24stamped self addressed en-velope to:

free BYTE Index70 Main StreetPeterborough NH 03458

board recently announced by ExtensysCorporation, 592 Weddell Dr, Suite 3,Sunnydale CA 94086. The 5 by 10 inch(12.7 by 25.4 cm) board has a hardwareprovision for bank switching to add overone million bytes. This Altair compatibleboard also allows memory address to beset in 8 K byte increments and provideshardware protection in 16 K byteincrements. Power supply voltages re-quired are 12V 300 mA, 5 V 750 mA,and —5 V 1mA (Power supplies are notincluded). Memory overlap protection isprovided to prevent conflict with existingmemories. The price of the 64 K byteboard is $1,495. A 32 K byte board isavailable for $895, and a 48 K byteboard for $1,195."

Circle 650 on inquiry card.

Voice Synthesizers, Anyone?

MICOM Systems, 9551 Irondale Av,Chatsworth CA 91311, is manufacturinga Voice Response System intended forminicomputers, which uses a micro-processor as a control element. The pressrelease describes a system which canaccept Touch-Tone encoded inputs andgive digitally generated synthetic voiceoutputs. This system, which is definitelyoriented toward commercial systemsmarkets, has prices beginning at $500.*

Circle 651 on inquiry card.

A Decimal Order of MagnitudeDifference in Price

We received this picture of a newModel 100A Logic Analyzer, producedby Paratronics Inc, 150 Tait Av, LosGatos CA 95030, and seen in some detailin Popular Electronics, February 1977.This unit is available in a complete kitfor $198.50, along with a 100 pageassembly and applications manual.

According lo its makers it comparesquite favorably with commercial labora-tory equipment products costing $2750(and up). The output display is on anordinary oscilloscope, with blanking, andconsists of a truth table of the last 16states of a 1 byte word of data. Variousother useful features make this aninteresting test instrument which mayprove useful to many of our readers."

Circle 652 on inquiry card.

Two New Dajen Cassette Interfaces

Dajen Electronics, 7214 SpringleafCt, Citrus Heights CA 95610, has an-nounced two new cassette interfaceboards compatible with the Altair bus.The first board is a universal cassetteinterface called the UCRI, availablefor $1 75 assembled or $ I 35 in kit form.Data transmission rate is user selectablefrom 520 to 41,000 bps. The unitcan be optionally equipped with two

Texas Instruments Introduces 12 DigitVLED Display Board

Thinking about your own customdecimal displays? Texas Instrumentshas announced a multidigit visual lightemitting diode (VLED) display stickwith 12 digits on a single board, calledthe TIL804. The characters are 7 seg-ment red VLEDs, 0.27 inches (0.66 cm)high; typical brightness is 500 micro-candelas at 20 mA. The display stickfeatures right hand decimals at eachdigit, continuous uniform brightnessof segments within each digit, and awide viewing angle for distances up to15 feet. It is presently available in acommon cathode configuration to facili-tate multiplexing. Intended commercialapplications include Citizens' Band ra-dios, scanners, digital instrumentation,electronic games, medical electronics,test and measurement equipment anddesk top calculators; these would make

excellent numeric displays for theexperimenter as well.

The price of the board is $14.65in quantities up to 100 and $11.65eacli in quantities above 100 to 999.Write Texas Instruments, POB 5012,Dallas TX 75222."

Circle 659 on inquiry card.

reed relays allowing the unit to inde-pendently control two cassette re-corders. The second interface board,the CRI-B, has a maximum data trans-mission rate of 6000 bps and is avail-able for $165 assembled or $120 as akit."

Circle 571 on inquiry card.

A Source of Neat Ideas

Persons interested in discovering thefunctional characteristics of a wellthought out editing terminal designwould do well to look at the new"2645A Display Station User's Manual,"publication number 02645-90001, putout by Hewlett-Packard Data TerminalsDivision. (Inquiries should be addressedto Inquiries Manager, Hewlett-PackardCompany, 1501 Page Mill Rd, Palo AltoCA 94304.) This pamphlet of approxi-mately 40 pages in length is the user'smanual for this microprocessor con-trolled data terminal with editing capa-bilities, which make it extremely adapt-able to numerous practical tasks."

Circle 658 on inquiry card.

A New Tutorial Kit from Motorola

Motorola has announced a new8 bit 6800 based microprocessor kitfor tutorial purposes called the Edu-cator II. The unit contains a 128 byte

IN WIRE- WRAPPING <^R) HAS THE LINE...

MODEL

WD-30

I

WIRE DISPENSER

■ 50 FT. ROLL OF 30 AWG.KYNAR WIRE-WRAPPING WIRE

■ CUTS THE WIRE TO LENGTH

■ STRIPS 1 INCH OF INSULATION

AVAILABLE IN FOUR COLORS

WD-30-B BLUE WIRE

WD-30-Y YELLOW WIRE

WD-30-W WHITE WIRE

WD-30-R RED WIRE

EACH

PATENT PENDING

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

®KYNAR PENNWALT

OK MACHINE & TOOL CORPORATION

3455 Conner St., Bronx, N.Y. 10475 (212) 994-6600 / Telex 125091

139

Circle 20 on inquiry card.

programmable memory, a 512 byteread only memory and a TTL clockcircuit.

An executive program residing in

the read only memory contains rou-tines for servicing interrupts, programtransfer to and from cassettes, tapesearching programs, and a program totest the finished kit. The executiveprogram uses 14 bytes of the program-mable memory as a scratchpad mem-ory, leaving 114 bytes for user pro-grams. An optional 128 bytes of pro-grammable memory can be addedlater.

The Educator II comes with analuminum case for $169.95, includingassembly and operating manuals. Theunit is available from Motorola dis-tributors. For further information, dis-tributors and computer stores shouldcontact Motorola HEP/MRO NationalSales Manager, 705 W 22nd St, TempeAZ 85282.-

Circle 657 on inquiry card.

Timesharing Software Listing Available

Gregory Research Associates, 1900Greymont St, Philadelphia PA 19116,are making available a directory entitledRemotely Accessible Conversulional Pro-grams and Data Bases. The price is $28,which includes three bimonthly updates.The listing is a guide to thousandsof programs for timeshare users in theareas of business, engineering andscience. The programs listed are writtenin a conversational style which requiresno special knowledge of computerlanguages. Users pay only for thoseprograms used based on rates listedin the directory. Programs are receivedvia standard telephone lines; somerequire terminal data rates of 120characters per second."

Circle 653 on inquiry card.

A Processor Board with ExpandedFeatures

Morrow's Micro-Stuff, POB 6194,Albany CA 94706, announces an Altairbus compatible plug-in processor boarddesigned to expand the capabilitiesof existing 8080a microcomputer sys-tems. Available for $325 assembled or$250 as a kit, the board offers two spe-cial features. The first enables the userto step through a program at a ratevariable from 1 to 65,000 steps perminute. The second feature preventsthe 8080a processor from shuttingoff after a HALT instruction. Whilein this state, registers, memory and IOlocations can be examined and altered.A built-in 12 pad keyboard and 10 digitreadout are included on the board."

Circle 654 on inquiry card.

A New 6800 MicrocomputerEvaluation Kit

A new microcomputer evaluationkit for M6800 systems is now availablefrom the Integrated Circuit Division ofMotorola Inc. This kit will prove quiteuseful to those individuals with a min-

imal budget and a keen interest incomputers.

The MEK6800D2 kit, when assem-bled, is a fully functional microcomputersystem based on the MC6800 micro-processing unit and its family of asso-

THE

8700 COMPUTER/ CONTROLLER

An exceptional price on an applications oriented 6503 based micro-processor systemfeaturing:

► IK bytes RAM locations (512 bytes supplied)

► IK bytes ROM(25G byte monitor included)

► 2 - 8 bit input ports

► 2-8 bit output ports (Hatched, 1 buffered)

► 24 key touch operated keypad (used by monitorto allow entry & execution of user programsalso user definable.)

► 2 - latched seven segment displays (used bymonitor to display memory location & contentseasily user programmed)

► Optional cassette interface ($22. 50) fitsentirely on the processor board.

THE IDEAL. LOW COST S0L0TI0N TO IMPLEMENTING ALLTHOSE WILD COMPUTER BASED CONTROL SYSTEMSYOU'VE BEEN DREAMING OF!

PAIA software currently available or underdevelopment includes: Music synthesizerinterface: Home applications package including:multi-zone fire/burglar alarm, real time clock,energy saving heat/air conditioning control,computer generated'tloor-beH": Model roalroadcontroller and more

8700 COMPUTER CONTROLLER KIT $149.95

(requires 5v. (» 1. 2A. ; 12v. @ 150 ma.)Shipped direct from PAIA (add $3. 00 postage)

ELECTRONICS • DEPT. 7 0 • 1020 W. Wilshire Blvd. • Oklahoma City. OK 73116

Also available at FULL-LINE Computer stores.

Circle 49 on inquiry card.

140

ciated memory and IO devices. It ismade up of two basic units, a micro-computer module, 9.75 by 8.3 inches(24.8 by 21 cm), and a keyboard anddisplay module, 10 by 6.25 inches(25.4 by 15.9 cm). The keyboard anddisplay module also contains audiocassette interface circuitry for theKansas City Standard, 300 bps redun-dant phase encoding.

The display consists of six 7 segment

LED readouts that display four addressdigits and two data digits in hexadeci-mal format. The keyboard is hexadeci-mal with eight additional commandkeys.

Also included in the kit's three-ringbinder is an assembly manual thatcovers testing, schematics, "JBUG" mon-itor program listing and parts listing.An M6800 Programming Reference Man-ual and the M6800 Microcomputer

A Summary Detail of the MEK6800D2

The eight command keys are:

M Examine and change memory.

E Escape from operation in progress.

R Examine contents of processor registers P, X, A, B, CC and S.

G Go to specified program and begin execution.

P Transfer programs or data from memory to cassette tape.

L Load memory from cassette tape.

I\l Trace one instruction.

V Set (and remove) breakpoints.

The Microcomputer Module includes the following devices:

1 MC6800 MPU

1 MCM6830 read only memories with JBUG monitor (SCM44520P)3 MCM6810 programmable memories (128 by 8 for 384 bytes total)

2 MC6820 peripheral interface adapters (PIA)

1 MC6850 asynchronous communications adapter (ACIA)

1 MC6871 B clock generator

In addition, the board has been engineered to accept the following optionaldevices (not included with the kit):

2 MCM6810 programmable memories (128 by 8)

2 MCM68708 erasable read only memories

3 MC8T97 buffers

2 MC8T26 bidirectional buffers

Custom expansion on the Microcomputer Module by the homebrewer issimplified by a wire wrap area that will accommodate two 24 pin andtwelve 16 pin sockets. The JBUG monitor read only memory can be re-placed by a Mini Bug II read only memory for RS232 interface to otherperipherals.

System Design Data book are also partof this package. The kit may be used"as is" or expanded to a full 64 Ksystem through addition of buffers(and minor modifications of on boardmemory decoding).

Cost of the kit is $235, and it is avail-able from Motorola Distributors. The5 V, 2 A power supply and cassetterecorder required by this device are notincluded, and can be purchased locally."

Circle 655 on inquiry card.

A New Prototyping Board

_JUfe ■ ■

, !#MWH!|lllLi

mih ma »HAig*Tny "• •"

fiWHMBfl^^^MV ■

■■■.\V.\..:.'-: , ;

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

' ;;''>:3':?^-:^^^ggfflB9|l

safe.. . . -

-" SiiiiSBilHiil

mm%M5!^*$*mii

^mmmmmmM\

life.

:;rSii&i5iHf»tO&|

ISliSItlfiSK;;::.

. .. ■ .:.:■. . :■ '..:... .' .. ' ,\ '.

=■ eftaaM&fer

~ itmmnmmti

A new general purpose printed circuitboard for the experimenter is avail-able from World Wide Systems Corpor-ation, 8305 Private La, Annandale VA22003, for $24.95 postpaid. The 100pin board is Altair bus compatibleand features two gold plated 36 pinIO strips. A portion of the board hasbeen reserved for the installation of avoltage regulator and heat sink; thepower bus, ground plane and pins arelabelled. Board dimensions are 5.125by 10 inches (13.02 by 25.4 cm).The board can be used with point topoint solder connections, wire wrapor a combination of the two. With thistool the experimenter can try his handat designing custom peripheral inter-faces."

Circle 656 on inquiry card.

INTERNATIONAL DATA SYSTEMS, INC.

400 North Washington Street, Suite 200Falls Church, Virginia 22046 USATelephone (703) 536-7373

S100 Bus Cards (ALTAIR/IMSAI Compatible)

88-SPM Clock Module

USES

88-UFC Frequency Counter Module

88-MODEM Originate/Answer MODEM

GENERAL PURPOSE PERIPHERALS

MCTK

TSM

DAC8

Morse Code Trainer/KeyerTemperature Sensing Module

Your computer keeps time of day regardless ol what program it is executing.Applications include event logging, data entry, ham radio, etc. Provision forbattery backup is included

Measure frequencies up to 600 MHz or period with 1/10 microsecond resolu-tion. Computer can monilor four separate inputs under software control.

Use your computer to call other computer syslems such as large timesharingsystems. Also allows other computer terminals to "dial-up" your computer.Auto-dialer is included so your computer can call other computers under soft-ware control. Operates at 110, 134.5. 150. 300, and 600 band.

Hard/Software package which allows your computer to teachMorse Code, key yourtransmitter, and send prestored messages. Uses "NEW CODE METHOD" for training.

Use it to measure inside and/or outside temperature for computerized climatecontrol systems, etc.

Requires one eight bit TTL level latched parallel output port Use it to producecomputer music or to drive voltage controlled devices

KIT PRICE

$96.00

$179.00

$245.00

$29.00$24.00

Eighl Bit Digital toAnalog Converter

Terms: Payment with order. Shipment prepaid. Delivery is stock to 30 days. Write or call for detailed product brochures.

$19.00

141

Circle 50 on inquiry card.

Christopher D Glaeser3904 NW 15th StGainesville FL 32605

Programming Ouickies

Novel 8 Bit Multiplication

Here is a I byte multiplication routinethat was submitted by Christopher D Glaeserfor use on an Intel 8080 along with his ideaon how to save memory space and executiontime. Working on the premise that one ofthe main problems with many multiplicationroutines is that they must call anotherroutine to perform a double byte shift, heuses the DAD H command of the 8080 tosurmount this difficulty. The DAD H com-mand performs the double byte shift byadding the HL register pair to itself. Thissaves having to call another routine toperform this function. The operands areloaded into the C and D registers prior tocalling the subroutine. The resulting answeris placed in the BC register pair. All of thenumbers in this listing are in octal.

Address

Op

Operand

Label

Mnemonic

Commentary

006000

325

PUSH D

1 save original values of registersJ on stack;

006001

345

PUSH H

006002

132

MOV E,D

E:=first operand;

006003

026

000

MVI D.000

)

006005

152

MOV L,D

006006

142

MOV H,D

> initialize registers;

006007

006

010

MVI B.010

)

006011

171

MOV A,C

A:=second operand;

006012

037

LOOP

RAR

A:=A/2;

006013

322

017 006

JNCSKIP

if CY:=0go to SKIP;

006016

031

DAD D

else HL:=HL+DE;

006017

353

SKIP

XCHG

exchange HLwith DE;

006020

051

DAD H

HL: = HL*2;

006021

353

XCHG

exchange HLwith DE;

006022

005

DCR B

B:=B-1;

006023

302

012 006

JNZ LOOP

if CY:=0go to LOOP;

006026

104

MOV B,H

else B: = H; [high order 8 bits of answer

006027

115

MOV C,L

C: = L; [low order 8 bits of answer)

006030

341

POP H

[ restore original value of register

006031

321

POP D

006032

311

RET

return to calling program;"

COMPUTER ENGINEERING

THE MIDNIGHT SPECIAL . . .

... a full color limited edition poster

Jones fantasies.

for your Casey

The poster is 16V2 by 21 Vi inches (41.9 by 54.6 cm) witha white border. The colors are the same as the originalby Robert Tinney, which graces our July cover, minusthe BYTE logo. The price is $3.00, plus 50* postage. Itis shipped unfolded, in a mailing tube.

ORDER NOW. SUPPLIES ARELIMITED.

BITS Inc

70 Main Street

Peterborough NH 03458

□ Bill BankAmericard

□ Bill Master ChargeNo

Posters $3.00 eachplus $ .50 mailing

□ Check Enclosed

$Exp. Date

Mame_

In unusual cases, processing may exceed 30 days.

Address,City

.State Zip_

I- J

Circle 51 on inquiry card.

142

The volume we've been waiting for!'

The Best Of BYTE, Volume I

The answer to those unavailable early issues of BYTE. Best ofBYTE, Volume I, edited by Carl Helmers Jr and David Ahl. This384 page book is packed with a majority of material from the first12 issues. Included are 146 pages devoted to "Hardware" andhow-to articles ranging from TV displays to joysticks to cassetteinterfaces, along with a section devoted to kit building whichdescribes seven major kits. "Software and Applications" is theother side of the coin: on-line debuggers to games to a completesmall business accounting system is included in this 125 pagesection. A section on "Theory" examines the how and why behindthe circuits and programs. "Opinion" closes the book with a lookahead as to where this new hobby is heading. It is now availablethrough BITS Inc for only $11.95 and 50 cents postage andhandling.

Here is just a taste of some of the titles to be found in the Table ofContents, from the nearly 70 that appear there:

The Shadow, Buck Rogers, and the Home Computer Gardner

The State of the Art — Helmers

Could a Computer Take Over? — Rush

A Systems Approach to a Personal Microprocessor — Suding

Programming for the Beginner — Herman

Magnetic Recording for Computers Manly

Assembling an Altair 8800 — Zarrella

Build a 6800 System With This Kit Kay

The Digital Equipment LSI-11 — BakerFlip Flops Exposed — BrowningKeyboard Modification — Macomber

Build a Television Display Gantt

Build a Fast Cassette Interface — Suding

Add a Kluge Harp to Your Computer — Helmers

Write Your Own Assembler Fylstra

Design a On Line Debugger Wier and Brown

Processing Algebraic Expressions — Maurer

Total Kitchen Information System Lau

A Small Business Accounting System — Lehman

Books of Interest

Magazines

Circle 51 on inquiry card.

Best of BYTE, Volume 1

Send to:

Bits, Inc.

70 Main Street

Peterborough NH 03458

Check Payment method:

My check is enclosed

Bill my MC No..

-Bill my BAC No..

. Exp. date.Exp. date.

ixiameAddress

Citv

State

Zip Code

Signature

. books

You may photocopy this page if you wish to leave your BYTE intact.

Price of book $11.95Postage, 50 cents per book for_Grand Total

Prices shown are subject to change without notice.

All orders must be prepaid.

In unusual cases, processing may exceed 30 days.

143

Gourmet Reading from BITS

» M ^k> c%&

""t<:elfoi

SoftwareGourmet guide |

(^fcook

^KHW iwrtiw

Scelbi

SoftwareGourmet Quide

<5goki9ook

S

HUM (WWIillU

coNiuiMO mt.

-Scelbi "6800" Software Gourmet

Guide & Cookbook

-Scelbi "8080" Software Gourmet

Guide & Cookbook, both by Robert Find-ley. Have you tried cooking up a programlately on your 6800 or 8080 processor?Have you needed a dash of ideas on how toadd spice to a program? Then the Scelbi"6800" Software Gourmet Guide & Cook-book and the Scelbi "8080" Software Gour-met Guide & Cookbook may prove to bequite useful additions to your library.

Both books contain a wealth of informa-tion on the 6800 and 8080 instruction sets,plus general programming techniques ap-plied to the 8080 and 6800, conversion rou-tines, floating point routines, decimal arith-metic routines, and much more. Order yourstoday and get a taste of what your processorcan do. Both books are priced at $9.95each.

■■■■■■■■■■■■

BDMEDJCflL ,ELECTRQNICSi

IffiMBI

■ ■■■i

■ ■■■i■■■■■■i

!■■■■! II

II

■nmmmnmBi■■■■■■■■■■■■■■■■■■■■■i--■■■■■■■■■■■■■■■■i■■■■■■■■■■■■■■■■-

^.Security Electronics by John E Cun-ningham. To catch a thief, apply liberaldoses of ingenuity and a modicum ofcleverness. Find out what's been tried inconventional alarm systems before you gooff computerizing your home security sys-tem, though. New 2nd edition $5.95

Introduction to Biomedical Elect-ronics by Edward J Bukstein. What's beendone in robot doctors? Nothing so far. Butin terms of electronic aids to physicians andpractices of health researchers, consult thisbackground review of the field of biomed-ical electronics $5.95

-Practical Microcomputer Program-

ming: The Intel 8080 by W J Weller, AVShatzel, and H Y Nice. Here is a comprehen-sive source of programming information forthe present or prospective user of the 8080microcomputer, an architecture which ap-pears in the MITS Altair, 8800, ProcessorTechnology SOL, I MSA I 8080, Polymor-phics POLY-88, and other popular micro-computer system products.

After several preliminary chapters, the au-thors get down to practical details with top-ics such as moving data, binary arithmeticoperations, multiplication and division, useof the stack pointer, subroutines, arrays andtables, conversions, decimal arithmetic, vari-ous 10 options, real time clocks and inter-rupt driven processes, and debugging tech-niques. Most examples are given in symbolicassembly form, with occasional listings ofassembled code using a Computer Automa-tion software development system.

This 306 page hardcover book is wellworth its $21.95 price and should be inevery 8080 or Z-80 user's library.

Send to:

BITS, Inc70 Main StPeterborough NH 03458

Check payment method: My check is enclosed

Bill my MC No.

Bill my BAC No.

Exp. dateExp. date

Total for all books checkedPostage, 50 cents per book

for books

Grand Total

$$

Name

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact. In unusual cases, processing may exceed 30 days

144

The Thinking Computer: Mind Inside

Matter by Bertram Raphael. Artificial intel-ligence, or Al, is the branch of computerscience concerned with making computers"smarter." It is a growing, vital field that is,unfortunately, the subject of much popularmisunderstanding. The Thinking Computer:Mind Inside Matter is a lucid introduction toAl that does much to overcome this mis-understanding. With a minimum of technicaljargon, this book discusses the capabilitiesof modern digital computers and how theyare being used in contemporary Al research.It discusses the progress of Al, the goals,and the variety of current approaches tomaking the computer more intelligent.S6.95.

Projects in Sight, Sound, & Sensation

by Mitchell Waite. Dedicated "to all spacecowboys." Detailed theory and practice ofseven fascinating amateur electronics proj-ects, along with a complete and detailed ap-pendix on how to make PC boards. Theprojects included in this book are: TheSyntheshape, an art generator that can beused to generate innumerable complex andbeautiful patterns on the screen of an oscil-loscope. An electronic music box that willplay over 3000 possible melodies when thelid is lifted. A way to control muscle tensionexplained in chapter 4. A muscle-wave bio-feedback monitor can be used to achievedeep relaxation. The laser-light show trans-fers light into fascinating patterns in a dark-ened room. Other projects include a Kirliancamera, a digital ESP machine, and neon-light randomizer. $5.25.

MindMassagersfrom BITS

The Great International Math On Keys

Book, from Texas Instruments. Do youneed a numerical algorithm for calculatingexchange rates in a hotel on a foreign trip?Or figuring those mysterious "points" whenfacing the sanctimonious charisma of abanker at mortgage time? This book is acompendium of simple explanations andstep by step procedures for accomplishingnumerical solutions to numerous com-monly encountered situations in daily life.Each entry is characterized by a statementof the problem, including the elements oftheory required, and the keystrokes neededto solve the problem on an algebraic entrycalculator. This is an invaluable sourcebookof information for the person who is in-clined to manipulate numbers. $4.95.

How to Solve Problems by Wayne A

Wickelgren. When confronted by a problem,many of us spend more time puzzling overhow to solve it than in actually doing so. Thisbook analyzes and systematizes the basicmethods of solving mathematical problems.The methods are described in terms of amodern theory derived from research incomputer simulation of thinking. Examplesillustrating these methods include chessproblems, logical puzzles, and railroadswitching problems frequently encounteredin science and engineering. Whether your in-terest in solving problems is professional,recreational, or both, you will find this ahelpful book. S6.50 softcover.

CKESS SKILL

mmm

QdtMby PcturW.Frey

; *

it

k', | i

IB

Chess Skill in Man and Machine edited

by Peter W Frey. This is a most fascinatingbook, concerning itself with the when, how,and why of computer chess. The when de-scribes past ACM computer chess tourna-ments, with the details of more than a doz-en games. The how consists of the basics ofboth human chess skill and computer chesstheory. It includes a detailed description ofthe best computer chess program to date(Northwestern University's CHESS 4.5), anend game program called PEASANT, and ofvarious search strategies and heuristic com-puter chess theory which should enable oneto write his own chess program. The bookends with the why concerning the contribu-tions, now and in the future, of computerchess to understanding artificial intelligence,human intelligence, and learning. The onlydifficulty for the hobbyist's computer chessprogram is the need for a large computer forthe fast processing of search strategies andlarge core storage for the program and itsresults. $14.80 hardcover.

Send to:

BITS, Inc70 Main StPeterborough NH 03458

Total for all books checkedPostage, 50 cents per book

for books

Grand Total

Check payment method:

My check is enclosed

Bill my MC No.

_Bill my BAC No.

Exp. dateExp. date

Name

$

$

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact. In unusual cases* processing may exceed 30 days

145

Circle 51 on inquiry card.

Continued from page 11

sets a very high goal for us. When yourlatest program crashes, a poster like thison the wall could give you the inspira-tion to hit the restart button and tryagain.

I find that I can justify my activitiesin small computing a lot easier when Ican point to an illustration like this thanthrough the idea of the "ultimate toy."One picture is indeed worth a thousandBYTES.

Robert J Retelle2005 Whittaker RdYpsilanti Ml 49197

WHY NOT 8 TRACKS?

I am curious to know why 8 tracktapes are not used for memories insteadof cassettes. I would think that by usingone channel for a clock track you couldhave memory locations via a clock trackcounter. Also by moving from track totrack, access time would be saved, wouldit not? Please elaborate.

Kurt Kramer8634 Lake Isle DrTampa FL 33617

Sounds like a good idea. I once saw

a surplus automated cartridge turretmechanism which had been used by aradio station. This mechanism, whichits owner intended to refurbish, wouldbe used for an on line storage system ofrather large capacity based on the widetape cartridges similar to an 8 trackstereo cartridge. Maybe a reader willpick up on this and try it out, reportingthe results as an article.

RETROSPECTIVE: BYTE'SPORNOGRAPHICPHOTOS MARCH ON

Never thought that BYTE would goin for pornography. But without thebenefit of a G-slring, you show onpage 54 of the March 1977 issue a baresoldering iron. Soldering irons without Gcan certainly corrupt innocent com-puters. Since your local Sears or RadioShack do not generally bother to stockproperly grounded ones, beginners shouldbe warned.

Sholom Kass

567 Baden Av

San Francisco CA 94080

The G-string mentioned in SholomKass's letter is the ground wire ofa 3 wire 110 V interface for power.It is standard industrial practice touse such grounding, especially where

delicate parts such as microprocessors,and other LSI or CMOS gates are beingused. The static charge which a normalhuman being can build up in a dryroom with rug and rubber soled shoescan drive a spark across a considerablegap, and is measured in many tens ofthousands of volts.

SOME NEWS FROM DEUTSCHLAND

My involvement with micros beganwhen one of your associates, Dan Fylstra,gave a talk at IFIP/IFAC in Paris lastsummer, in which he managed to men-tion the Motorola 6800, the MOS Tech6502, and also gave an example of a pro-gram in PL/M. On coming back to Darm-stadt, I found two groups of people atour facility who were interested, nearlyall professional computer engineers. Oneof them, Asbj0rn Smitt, had alreadyworked on a 6800-based system whichwe use for simulating satellite telemetrydata; another, Heimuth Werthmann, hadhis own business and had already built a6800-based system. So our choice as aclub was somewhat inevitable. Asbjflrnhad bought the EVK 100 and theSWTPC AC-30 cassette controller, andwe very nearly went EMI, but then theprices sort of doubled, so we went withOSI instead after our chairman, Graham

NEW 8080 and 8085 REFERENCE GUIDE

A TOTALLY NEW CONCEPT!

SAVES TIME AND MONEY!

MAKES YOUR JOB EASIER!

A powerful new tool for every serious 8080 user — professional and novice alike.Priceless timesaver for engineers, technicians, and programmers. Saves time andmoney in the lab, on the production line, or in the field.

Convenient pocket size — 3% by 7% inches — gives quick and easy access to all vitalreference data. No more searching here and there for codes, instructions, or definitions.It's all there — at your finger tips — everything you need to successfully use the 8080Aand — Intel's new 8085 microprocessor.

Features cross listing, for rapid assembly and disassembly, of MACHINE CODES and

MNEMONICS • Concise description of 8080 and 8085 OPERATIONS, SIGNALS,

PINOUTS, and INSTRUCTIONS • Convenient cross conversion of OCTAL,

HEXIDECIMAL, DECIMAL, ASCII, and EBCDIC codes • Easy-to-read tables of powers

of two, eight, and sixteen ... and much more...

Sturdy • Handsome • Easy-to-use • Data Packed

Your timesaver will give many years of professional service.

$12.95 each (plus postage & California sales tax) — 25% discount for 4 or more.MoneyBack Guarantee: You must be fully satisfied or simply return the guide within 15 days for full and prompt refund.

URBAN INSTRUMENTS

4014 CODY ROAD • DEPARTMENT C1 •SHERMAN OAKS • CALIFORNIA 91403

master charge

BANKAMERICARD

PLEASE SEND.

NAME

STREET

.8080 ti mesa vers to:

CHECK/M.O. ENCLOSED D BANKAMERICARD □ MASTER CHARGEDCARD NUMBER

C|TY GOOD THRU 4 DIGITS ABOVE NAME

(MASTER CHARGE)

STATE

.ZIP SIGNATURE

Circle 52 on inquiry card.

146

Else (whose main interest is biologicalmonitoring), had convinced everyone weneeded something which could bestarted off cheaply. (In the end Grahamis at the Rolls-Royce end of the market,with a Digital Group Z-80.) I had boughta SCAMP, which to my astonishmentworked first time despite some startuptrouble which we attributed to therather bulky socket for the CPU, andwhich eventually I hope to work up intoa controller for the Selectric I'm typingthis on. Our club is now about 40 strong,with considerable purchasing leveragesince there are believed to be about 30people actively buying components (25OSI superboards, 16 Selectrics, whichwas all I could get in my Volvo the lasttime I went to England, and if you knowanything about the quaint European cus-toms, avoid Belgium), and of course ourown BYTE archive. We are also in contactwith John Barnes, a founder and mem-ber of the British Amateur ComputerConstructors' Association, and havingheard of the success he has had in usingstandard 8 track cassettes with shortendless loops and saturation recording,I have ordered a few for experiment.Graham and Helmuth in the meantimeare working on Philips cassettes.

Things would probably have startedmore slowly had it not been for theimpact of BYTE and the fact that JackDavies, the guy running PACS, lives inDarmstadt with a perpetual fount ofgoodies which are available for inspectionand (usually) instant purchase. The onlycomplaint we have about OSI is thatthey have never dished out the listing ofthe Superbug monitor; so this has nowbeen decompiled using the ThomsonLister (running on the first of our clubmachines, built by Bob Dees of ICL),and another program running on our4/72. (ICL, not Amdahl!) I guess ournext move is to find out if Tom Pittmanhas an OSI version of Tiny BASIC yet.

I suppose the next move would befor us to get some sort of European con-vention going. It would be nice if I couldappeal through your pages for anyhobbyist clubs in Europe who would beinterested in attending such a thing, orindeed if anyone is prepared to offer asite which is fairly central. There havebeen two attempts to get Europe-widehobby clubs formed, but in both casesthe impulse has come from the hobbyindustry rather than the hobbyists, whotend to view (other people's) commercialbias with suspicion. If we forget thelaunches which are scheduled for thisyear ESA can probably be persuaded tohost it if we hear from enough people,but obviously we are equally curious ifanyone has a 72 character graphics cumVDU interface for 625 line TV receivers,or a meta-assembler capable of compilingcode for more than one micro, and soforth. Incidentally, why use OMEGAwhen there are satellite systems, likeLORAN-c? [Ralph Burhans is busy atwork on a LORAN-c interface . . . CH/

Good luck to BYTE, may it growever heavier, and perhaps sprout a Euro-

$699 buildsEquinox 100™

ki*A^L*ir

THE :

FRONTRUNNER*

Equinox 100™is the 8080 CPU/S-100 Bus computer kit that'syears in front of Altair* and IMSAI in design, function and front-panel programming capability. EquinoxlOO is easier to build,easier to program, easier to expand in the future and complete-ly debugged right now. After all, it's from Parasitic Engineering,the leading supplier of debugging kits for the Altair* 8800. Be-fore you invest in any micro-processor kit, discover the newEquinox 100™ At $699, it's clearly The Frontrunner. Write forfree specs to Parasitic Engineering, P.O. Box 6314, Albany,CA 94706.

liTJ 37t1 ii rid II ITiTUfl IflTi I ■ **.\r. Li HTiril 3iTU

"A trademark of MITS Inc.

Circle 53 on inquiry card.

147

SUPER DENSEGRAPHICS

320 Horizontal by 200 Vertical

V-»"**C0S<2tX/b)

•■.•I, b-42.86

IF YOUR COMPUTER w 'O'

CAN'T SHILE (ORPLOT) IT PROBABLY "

NAB NERLIH DEFICIENCY VANEHIA. \ ^j—^y

<E0UATI0H PLOTTED HITH BASIC)

The MERLIN Super Dense add-on kitprovides maximum resolution at aminimum cost. In fact, MERLIN withSuper Dense has more capabilities thanany other S-100 bus video interface atany price!

Once you've seen 'Super Dense'graphic resolution you'll know there isnothing to compare it to . . . short ofspending over $600 . . . and even thenyou'll not have all of the capabilities ofMERLIN with 'Super Dense'.

Super Dense provides true bit-mapping. Each and every point on thescreen is controlled directly by a bit inmemory. (Requires 8K of systemmemory.)

ROM character-graphics looked goodfor a while; then came MERLIN'S 160 by100 bit mapping graphics; and now . . .

320 by 200 bit-mapping graphics!!!If you're looking for a graphic display,MERLIN with Super Dense is the bestthere is. And if you hadn't consideredgraphics or thought it was out of yourprice range, consider what you coulddo with 320 H by 200V graphics and foronly $39 extra.

The Super Dense add-on kit to thepopular MERLIN video interface Is nowavailable with off-the-shelf delivery.

M320-K, Super Dense Kit $39

M320-A, Super Dense Assm. . .$54See MERLIN ad on previous page.

For information fast, write direct, orsee 'Super Dense' at your nearestcomputer store.

MC and BAC accepted.

MiniTerm Associates, inc.

01730 1617) 0m l.'lll)

Circle 38 on inquiry card.

pean edition with the addresses ofoutfits here.

Ian McNicol

Waldstrasse 18

6101 Lichtenberg GERMANY

IMPRESSED, BUT

I was impressed with "The Built-inLogic Tester," Kurt Christner's article inthe January issue, page 82. He had anidea for a super logic probe, consideringthe cost.

But what about those amateursamong us who have need of a CMOSprobe rather than TTL? I would like tochallenge Kurt to come up with anequally fine project for us nontechnicallyinclined who could really use a goodquality, low cost CMOS probe.

By the way, I'm brand new with theJanuary issue and I like what I see. It'sa great magazine.

Tom Kryst

212 Princeton

Alpena Ml 49707

COMPUTER POSSIBILITIES INSECONDARY SCHOOLS

Attached is something that appearedrecently in Science News (see page 168,March 12 1977 issue) which is a semi-popular weekly publication. What Ifound particularly interesting was thesection concerning this year's winnersof the national Science Talent Search.Of the ten winners, notice that fourof them used computers in some capac-ity. Thinking back on my science fairentries of 20 years ago, such a thingborders on the inconceivable. Untilvery recently computers and computertime were so expensive that the eco-nomics of the situation precluded anybut the work which had a very high pro-bability of research or financial return.Therefore such investigations as theseby high school students were impossibleto justify on the basis of what theymight produce.

Perhaps one of the things that thoseof us involved with the microcomputerand personal computing revolution tendto forget is that to most of the academicand scientific world at large, computersare simply tools to an end in whateverdiscipline is being pursued. Just thinkof what the possible benefits are shouldvirtually limitless, although perhapsslow,computing time become available to anyinterested individual, such as these highschool students. A local school couldput together quite a respectable systemof moderate capability for, say, 10 Kbucks, and then allow appropriate stu-dents to pursue their interests generallyunhampered by the restraints of financialreturn. The leap ahead in science educa-tion (and possibly science related areasof liberal arts) is truly mind boggling!

Robert R Wier

POB9209

College Station TX 77840

148

I HATE BASIC, A POISONKEY LETTER

I wish to express my appreciation foryour publication. For me, it has helpedopen the door to a new and fascinatingworld.

I wish to pose a general question. Whyis it that, with all too few exceptions,the thrust of what might be called"microcomputer applications for thenonprofessional" seems to be lost inan endless loop called "games writtenin BASIC"? And as a corollary, onemight well ask the question, "Of whatredeeming social value is the latestlisting of Star Trek?".

The Pong-Trek-Toe mentality seemsto be ubiquitous; lift any magazine coverand underneath, in the table of contents,will be found an article dealing withgames written in BASIC.

This is most assuredly not an attackupon BYTE magazine. It most assuredlyis an attack upon the paucity of imagina-tion manifested by microcomputerowners.

For every ten serious articles appear-ing in BYTE which are devoted to theembarrassment of riches in hardwarebeing placed within reach, there is per-haps one serious and informative articledevoted to software concepts. The term"concepts" should be emphasized; anassembly language listing for a specificmicroprocessor is not the expression of aconcept.

The lack of interest in software con-cepts coupled with the overweeninginterest in amusing trivia does not speakwell for the present state of the amateurgroup, from which emanates a great talkabout "being in the vanguard of a revolu-tion." Most of this talk is vaingloriousnonsense.

At the present time, the only groupsdoing things worthy of the adjective"revolutionary" are the microprocessormanufacturers and the microcomputersystem designers. For the purchaser ofsuch riches to sit around playing StarTrek in BASIC borders on the perverse;to ascribe to such apathetic behaviorthe word "revolutionary" is a caricature.

It seems that the amateur group hasbeen handed BASIC on a silver platterand is content to view it as the program-ming language. This is unimaginative atbest.

The reason for being of microcom-puter BASIC is simply to provide aworkable language so that people willbuy microcomputers. Insofar as I know,no one has ever claimed that BASICuses the resources of a system organizedin 8 bit words to its maximum benefit;BASIC has appeared on the microcom-puter scene simply by default. It worksand it is easy to learn and use. It sellsmicrocomputers.

If Star Trek is the desired goal of ourcollective amateur ambition, then BASICis sufficient; we need look no further.

However, if we wish to exploit thelimited resources of the microcomputeiin specific ways, looking toward specific

nontrivial goals, then new programminglanguages should be written. Theresurely exists a diversity of ideas as towhat constitutes good microcomputerprogramming languages. Attemptsshouldbe made to implement these ideas. Wecannot sit back and wait for commercialorganizations to do all the development.Most of all, we need software con-cepts. Memory management concepts.Data manipulation concepts. Algorithmsfor mathematical functions.

What is a heap? How does it work?What does its presence imply about thephilosophy of a language which uses it?If, for every page devoted to StarTrek listings and other compatibleendeavors, BYTE published a pagedevoted to software concepts, then wewould all soon be the richer.

However, BYTE magazine cannotprosper by serving up beefsteak if thereadership is clamoring for canned porkand beans.

From time to time, in various maga-zines such as BYTE, there appear wild-eyed letters to the editor accusing theprogramming profession of clannishness,a lack of willingness to share ideas,secretiveness and a general depravity.Such letters always imply that we,the amateurs, are pure of heart and cleanof hand. Is this true, or is it rather thatwe are so numbed by sitting aroundplaying with BASIC (implemented byprofessional programmers) that we reallyjust don't have much of any deep worthto share with each other, and seek tohide the fact by freely sharing what littlewe do have. Perhaps purity of heart andcleanliness of hand grow as the inverse ofthe amount of real knowledge which isavailable for sharing.

Why the great emphasis upon BASIC?One would think that most microcom-puters are hard wired for it. Have we noalternative ideas to explore? Is thefixation upon BASIC a result of itsinherent superiority as a programminglanguage for microcomputers, or isit due to a lack of knowledge concerningpossible alternatives? The set of "pos-sible alternatives" is not the universe ofFORTRAN. We do not need FOR-TRAN. We do not need miniaturizedversions of languages originally designedfor implementation upon much moresophisticated hardware. We need lan-guages based upon the material at hand:8 bit word length microprocessors withrelatively primitive instruction sets.

While the Micro-Soft venture intoAPL represents a noble undertaking, itnevertheless embodies the faulty reason-ing that, "If a language implemented onbig computers is a good thing, then itsimplementation on a microcomputermust be equally good." In a 64 K sys-tem, what percentage of memory isrequired to support APL? What is leftover for the user?

The microcomputer needs softwarewhich is conceived of in terms of themicroprocessor. We, the amateurs, needto get up off our hind legs and do somethinking about language concepts.

In the future, is the personal micro-computer to be regarded as a tool Forlearning, or is it to be a toy in front ofwhich the owner sits, glassy eyed,playing the latest game written (bysomeone else) in BASIC?

JackCluff

34-57 73rd St

Jackson Heights NY 11372

What Are Riches For, If Not toEnjoy and Prosper By?

Regarding the BYTE magazine con-tent, I seem to hear comments from alldirections concerning too much of this,too much of that, not enough of this.Some say too much hardware, some saytoo much software - so the conclusioncan only be that the balance is a goodapproximation of what is needed.

No one ever seriously should thinkof FORTRAN or BASIC as the "be-alland end-all of high level languages."We do have demonstrated interest andfamiliarity on the part of users withthese languages due to their widespreadpast usage. But, if you want to write aninterpreter or compiler, starting withan existing language is a shortcut (quiteindependent of marketing considera-tions) that bypasses the need to generatean unambiguous grammar and precisesemantics of a new language fromscratch.

Of course, the ultimate is to use analready established language for whichyou have an interpreter or compiler.The fact that I can use my BASIC foran occasional recreation or game by nomeans prohibits my use of that lan-guage for such "unnatural" things assystems programming. I know of atleast one 8080 assembler written inBASIC, running on an AI lair 8800floppy disk system at a local college.

Another point worth closing on:Most professionals arc really amateurswho have cleverly arranged things so thatthey get paid for what they like to do.The spirit of involvement with theactivity, doing it "right" by somestandard, is what counts . . . CH

1001 TALES OFARABIAN BYTES?

Thank you lor a very interestingmagazine. I am a recent subscriber havingjust received my first two issues, Januaryand February 1977, forwarded to mefrom Texas. I am unwilling to waitfor boat mail. When subscriptions areavailable by air mail to Saudi Arabia Iwill enter a subscription immediatelyregardless of the mail rates.

I have a small system running and aminterested in all articles about Altair busoriented products and 8080 software.

John R Fogle Jr

Box 403, c/o Aramco

Abqaiq SAUDI ARABIA

See the subscription card for foreignair mail rates. ■

149

Microcomputers

Microprocessors

Made Easy!

MICROCOMPUTERS/MICROPROCESSORS:HARDWARE, SOFTWARE,AND APPLICATIONS

John L. Hilburn and Paul M. Julich —

both of Louisiana State University

Ideal reference for anyone involvedwith the design, use, or maintenanceof systems using microcomputers,including those who have not had aformal course in digital logic.

Contents: Introduction. Digital Logic.Number Systems and Codes. Micro-computer Architecture. Software. In-terfacing and Peripheral Devices.Microprocessors and Microcomput-er Systems. Design Methodology andApplications. Appendices. Index.

1976 368 pp. Cloth $16.50

MICROPROCESSOR

SYSTEMS DESIGN

Edwin E. Klingman — Cybernetic

Micro Systems, Palo Alto, California

This landmark book in microproces-sor systems design covers the spec-trum from gate-level hardware allthe way to language translation andinterpretation.

Contents: Microprocessor SystemsDesign — An Overview. InformationDevices. Information Storage De-vices. Coding and MSI BuildingBlocks. A Central Processor UnitInstruction Set. An LSI Central Pro-cessor Unit. The Memory Subsys-tem. The I/O Subsystem. Languagesand Language Translation. Address-ing Structures. I/O Structures andTechniques. Interrupt Structures. Di-rect Memory Access Structures andTechniques. Microprocessor Archi-tectural Themes. Appendices. Bib-liography. Index.

1977 480 pp. Cloth $17.50

For further information, or to ordera copy of either of these vital texts,please write to: Ben M. Colt, Pren-tice-Hall, Inc., Englewood Cliffs, NewJersey 07632.

Prices subject to change without notice.

Prentice-Hall

TechnicalFcpum

APLCharacter Sets

The letter from Roderick Montgomeryconcerning the availability of a special char-acter set for APL started some thoughts onthe subject.

Lacking the availability of a PROM typecharacter generator, there are other ways todo the job. The methods that come to mindare building up a generator out of standardbipolar ROMs, or using ordinary program-mable memory parts which would be loadedby the computer at APL initialization time.The latter idea is especially appealing to me,since it would allow special characters to becarried into the machine as part of theprogram. Although this would require someprogramming, it would not use up mainmemory space because it would be readdirectly into the character generator.

Charles J Billwiller

2313B Sierra Madre Ct

Rancho Cordova CA 95670

The use of reprogrammable charactergenerators for television displays is startingto occur in products. One of the firstproducts seen in advertising with this featureis the ECD Corporation's computer product,which has just such a user memory definablecharacter generator. This technique has alsobeen used by several video games manufac-turers to achieve high resolution regions forgraphics on a TV raster.'

Is This a Valid Hot BoardPlacement Procedure?

A reader has suggested the followingprocedure to allow one to plug in andremove a circuit board while system power ismaintained. We'd appreciate comments fromsome of the hardware oriented readers in theaudience about the safety of this algorithm:

Removal of board:

0. Halt processor to avoid softwarecarnage.

1. Connect jumpers from main suppliesto board terminals to retain powerduring removal.

2. Remove board with care about align-ment.

3. Remove jumpers to power down theboard.

Insertion of a board:

0. Power up the board with jumpers frommain supplies.

1. Insert board carefully to ensure properalignment of edge connector.

2. Remove jumpers.

3. Restart processor.

The use of a parallel supply connection tothe board during removal and insertionoperations guarantees that the integratedcircuits will be powered up before any lowimpedance driving voltages reach the inputsof onboard gates. A gate can be blown ifvoltages are applied to its inputs prior to thesupply voltages. The common ground of thesupply also eliminates static voltage dif-ferences between the two boards."

SWTP 6800 0WNERS-WE HAVE A CASSETTE I/O FOR YOU!

The CIS-301- allows you to record and playback data using anordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle!Your terminal connects to the CIS-30+ which plugs into either theControl (MP-C) or Serial (MP-S) Interface of your SWTP 6800Computer. The CIS-30+ uses the self clocking 'Kansas City'/BiphaseStandard. The CIS-30+ is the FASTEST, MOST RELIABLE CAS-SETTE I/O you can buy for your SWTP 6800 Computer.

PerCom has a Cassette I/O for your computer!Call or Write for complete specifications

PEFQOM

PerCom Data Co.

P.O. Box 40598 • Garland. Texas 75042 • (214) 276-1968

PerCom — 'peripherals for personal computing'

Kit - $69.95*

Assembled - $89.95*

(manual included)

* plus 5% f/shipping

TEXAS RESIOENTS ADD 5% SALES TAX

150

6ook Reviews

Scelbi's "6800" Software Gourmet Guide &Cook Book, by Robert Fine/ley, Scelbi Com-puter Consulting Inc, Mil ford CT, 1976,514 by 8'A, 226 pages. Softbound, $9,95postpaid.

I suppose everyone who writes assemblylanguage programs which eventually workbecomes convinced he or she is the World'sGreatest Programmer. At least I do. Luckily,there are books like Scelbi's "6800" Soft-ware Gourmet Guide & Cook Book toremind us how big the world really is.Author Robert Findley and associates atScelbi have collected here a number ofprogramming tricks which will interestalmost any 6800 user.

Following a description of the 6800instruction set and some general techniques,the author discusses conversion, floatingpoint and decimal arithmetic, input andoutput operations, search and sort routines.Want an edit program? Many of the piecesare there: memory clearing, transfer of asection of memory, ideas for search routines.Need to process interrupts? The 10 chapterhas a discussion of interrupt processingwhich will be useful to anyone using theMotorola MIKBUG operating system readonly memory. A chapter on conversionroutines contains software for ASCII to

Scelbi

«680©wSoftware

|§ourmet guide |

>CookQook

Circle 55 on inquiry card.

MULLEN COMPUTER RDAPrV;

BOX 6214, HAYWARD, CA 94545

3

I

m

m»

Xm

>CA

CAVE

:>i,iti>

RELAT/OPIO '

s

ISOLATORCONTROL

$H7 *

8 fast reed relays respond to an 8 bit word: Feedthe relay associated with its bit a " 1" and it closes, give ita "0" and it opens. Also, 8 opto-isolators accept an 8 bitword from the outside world and send it to your com-puter for handshaking or further control purposes.

Especially suited for model railroad, burglar alarm,audio switching, ham radio, music synthesizer, and auto-mated display applications, this board goes whereveryou need a general purpose 1/0 switching gizmo.

EXTENDER 2

BOARD 2

W/LOGIC Z

PROBE$35 <

O

38

4L-. Boards are kit form only. Cal res add tax. ^

V*4TIBLE •AVAILABLE BY M*

Whether for troubleshooting or analysis at some pointyou'll need an extender board. Ours offers a built-in logicprobe, special edge connector that allows clip lead probing,jumper links in all supply lines, a non-skid probe. . . plusgood instructions and a realistic price.

enmptek. Boards DO Something

m

It ri.i i 111 i i i i i i

CL2400

Real Time Clock

S98—Kit

$135—Assembled

If your system needs to know what time it is, our CL2400 isthe board for you. The present time in hours, minutes, andseconds is always available for input, and is continuouslyupdated by the highly accurate 60 Hz power line frequency.Need periodic interrupts? The CL2400 can do that, too, at anyof 6 rates. Reference manual with BASIC and assemblylanguage software examples included.

PC3200

Power Control System

=«./

PC3232 $299—Kit $360—Assm.

PC3216 $189—Kit $240—Assm.

PC3202 $39.50— Kit $52—Assm.

If your system needs on/off control of lights, motors,appliances, etc., our PC3200 System components are foryou. Control boards allow one I/O port to control 32 (PC3232)or 16 (PC3216) external Power Control Units, such as thePC3202 which controls 120 VAC loads to 400 Watts. Opticallyisolated, low voltage, current-limited control lines arestandard in this growing product line.

'Real World Electronics'

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

151

Circle 56 on inquiry card.

Circle 57 on inquiry card.

SOLD OUT!

That's right, if everybody who read this ad forour BASIC SOFTWARE VOLUME 1 albumwould order one, we'd be sold out! Includeslots 'n' lots of your favorite Basic programssuch as LUNAR LANDER and BLASTOFF!,plus new ones like MAILING LIST, FOURIERFIT and AMPLE ANNIE. Plays through yourTarbell, Kansas City or Altair cassette inter-face (we coded all three ways). Or makecassette copies. Only 6 bucks. Don't be adummy, order today! Satisfaction guaran-teed or money back.

(fcgt0: SOFTWARE RECORDSl

W^S po BOX 8401-B

UNIVERSAL CITY, CA 91508

(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX)

PLEASE SEND ME N.J. RESIDENTS ADD 5% TAX

□ KD11F □ 1MSAI KIT □ POLY 88 KIT

NAME.

STREET.CITY

STATE .

. ZIP_

I ENCLOSE □ CHECK

□ BANKAMERICARD #_

□ MASTER CHARGE #_INTERBANK*.

□ M.O. AMOUNT.

EXP. DATE.EXP. DATE.

SIGNATURE .

BE SURE TO INCLUDE $8.00 FOR SHIPPING & HANDLING

Mini Computer Suppliers Inc.

25 Chatham Road • Summit, N.J. 07901

Dept. B (201)277-6100

Baudot, as well as the more usual BCD toand from binary.

For me, the best was chapter 5, "FloatingPoint Routines." Although (as the authornotes) there are places where the code couldbe shortened, it is not that bad: a completeadd, subtract, multiply and divide package(with conversions to ASCII, and from ASCIIto floating point) in about 1.5 K bytes ofrelocatable code. The entire package isassembled (the only assembly in the book)with a hexadecimal listing in an appendix.

One reason the code is so short is theextensive use made of the index register. Thestack, on the other hand, is not used at all(except for the automatic usage implied byeach subroutine linkage). Since 6800 in-dexed addressing is relatively slow, do notexpect the floating point package to be fast.Yet, it's not bad: Floating point multiplica-tion, for example, takes a little more than800 cycles, not quite 2 ms on a SWTPC6800 system.

One curious feature of the 4 byte floatingpoint word format used here is that thewords are stored upside down, that is, if theleast significant byte of the mantissa isstored at word N, then the rest is stored atN+1 and N+2 (with the sign being the mostsignificant bit of byte N+2). The two'scomplement power of two exponent isstored at N+3. This is the wrong order forthe 6800 for the following reason: One(tricky) way to increment a 2 byte word isto transfer it to the index register andincrement that. The author knows this trick(as shown on pages 3 to 5), but apparentlydoes not know that the index register loadinstruction LDX transfers the 16 bit con-tents at memory location M so that the mostsignificant half of the index register containsthe contents of M, and the least significanthalf contains what's in M+1. Thus, the leastsignificant byte needs to have a greateraddress. The division program on page 5 to19, for instance, might be shortened andspeeded up by using this trick; to do so,however, would require storing the mantissabytes in the opposite order, and rewritingthe program.

The book will be of most use to program-mers who employ an assembler program,since most of the ideas are presented insymbolic source language form. (The majorexception is the floating point package.) Thebook is well written and, considering thediversity of topics, well organized. As asource of ideas, it is inexpensive at $10."

Jack Bryant

Mathematics Dept

Texas A & M University

College Station TX 77843

Circle 58 on inquiry card.

152

Circle 59 on inquiry card.

Note. . . . Scelbi also publishes an "8080"Software Gourmet Guide & Cook Book

dr. dobbs journal of

$1.5©

COMPUTER

>alisthenics

b Or

fhodontia

Running Light Without Overbyte

f. JOURNAL (OR USERS OF HOME

i YOU PIjv

With 1:

H(180 TECO inJ i l-'lojlmf! Pmr.i SpecifiCUbrfl Willum f

"S0< SOFTWARE

FLOATING point ROUTINES FOR THE aio; r

Mentor for the 6502 Jitk Brjdiliiw

Unit Laridn for Ihc 6502 (ASKmblcHcw] Gimt)

Mffl) "APPLICaTIOSS SOFTWARE" ftrawl

Cimn in Pinmin'i MOD tiny RASIC Till KtlliLow-Gtn ftsoo SytKni 5oftw*« S c™« Tedium.Shooting Start (or Uiierwyk't 6800 Mian BASIC \).

BBSS rf /7.V£5

MINOL: Tiny Trek - More DCOJll & A CorrcciiunMINO!. Errata & Priise Erik T Mlielltt . Phillip I-

COMPUTED MUSIC BIBLIOGRAPHY John Sndi, PCC R.

SMRT Will Hun Uroy Finkel

Ijiu Fid.i'i Sttpnnw I" the Editor's Now io ihc SCCS

AND -

Dr Dobb's Journal of ComputerCalisthenics and Orthodontia. Published byPeople's Computer Company, Box 310,Menlo Park CA 94025. Sinq/e issue, $1.50;one year (10 issues), $10.

Published by the people who brought youthe Computer Faire, this toothsome periodi-cal serves up an amalgam of filling softwarelistings and highly spiced commentary to itsmonthly readership. Dr Dobb's Journal(Dr Dobb is disguised as editor Jim Warren )serves as a clearinghouse for new softwareinformation and the publication of suchroyalty-free programs as BASIC interpretersfor use by readers. Because it is a nonprofitjournal, DDJ accepts no advertising but doesprint new product information as a serviceto readers. Editor Warren has attempted tobridge the gap between computer profession-als and amateurs, and does not eschew theoccasional biting remark in doing so. InRobert Benchley's immortal phrase, thetooth, the whole tooth and nothing but thetooth about Dr Dobb's Journal of ComputerCalisthenics and Orthodontia is that it canhelp make your computer an indentured ser-vant. That about caps off this review . . .CM

Fundamentals and Applications of DigitalLogic Circuits by Sol Libes, Hayden BookCo, Roche/le Park NJ, 1975, 184 pages.Paperback, $6.95.

If anyone were to ask me to pick aparticular book from my computer book

IBM SELECTRIC

TYPEWRITER

INPUT OUTPUT

CONVERSION KIT

Easy to install on anyIBM Selectric I and II,providing quality hardcopy output for allmicroprocessor devices.

PRICE .... $395

GDITYPER SYSTEMS CORPORATION

A SUBSIDIARY OF TYCOM CORPORATION26 Just Road, Fairfield, New Jersey 07006 (201)227^1141

M6800 ADVANCEDSYSTEMS SOFTWARE

RT/68®

RT/68II, is mask-programmed on a 6830 ROM thatreplaces the Mikbug* ROM in your SWTPC 6800,Motorola Evaluation Module, etc. It is a powerful realtime, multiprogramming operating system with manyversatile system functions. RT/68® can support up to 16concurrent programs at 8 priority levels.

MICROWARE has improved the Mikbug* functions,added four more (Dump, Exec, Sys, Bkpt) and made tapeload and punch program-usable. RT/68® is designed soprograms that use Mikbug* I/O don't require changes.

• POWERFUL REAL TIME EXECUTIVE

• 100% SOFTWARE AND HARDWARE COMPATIBLE

• IMPROVED CONSOLE MONITOR

• EXPANDED PROGRAM DEBUGGING FEATURES

• SUPPORTS AUDIO CASSETTE I/O

• COMPREHENSIVE MANUAL INCLUDES SOURCELISTING

• IMMEDIATE DELIVERY

ORDER RT68MR $55.00 ppd.

THE MICROWARE CORPORATIONRO. BOX 954 Des Moines,Iowa 50304

Write or use reader service card for free brochure.Phone Orders (515) 279-9856

BankAmericard and Mastercharge give all info on card.Mikbug* is a trademark of Motorola, Inc.

153

Circle 60 on inquiry card.

Circle 61 on inquiry card.

Your Mail Order Computer Shop...

IMSAI8080kitw/rr722s/o?s(limitedquantity) $645.00

TDLZ-80ZPU (the one with full software available now) 242.00

EdgeConnectorsandguidesforlMSAI each 4.25

EdgeConnectorsandguidesforlMSAI 10for 40.00

Vector Graphic 8k RAM kit with 500 ns chips 225.00

Seals 8k RAM kit with 250 ns chips 260.00

NorthStarcompleteMicro-DiskSystemkit 599.00

WETAKE

MASTERCHARGEOBBANKAMERICARD

For phoneand mail orders...

(Add 4% of TOTAL ORDER for service charge)

TERMS: Shipping charges — $10. per CPU or large units, $1.50 per kit,

$2. minimum perorder.Provided stock is available, we will ship immediately for payment bycashiers check or money order.

Allow 3 weeks for personal checks to clear. New York State residentsadd appropriate sales tax.

PRICES SUBJECTTO CHANGE WITHOUT NOTICE.

For the best prices available on:

IMSAI • TDL • NORTH STAR • POLYMORPHICTARBELL • SEALS ELECTRONICS

CALL: (315)637-6208

WRITE: P.O. Box 71 • Fayetteville, N.Y. 13066

Confused AboutPrinters?

MPI HAS YOUR ANSWER!

TTY REPLACEMENT?

The SSP-40 contains its own

....... THESSP-40

;§o;r-...for easy connection

COW COST BUSINESS SYSTEM? THEMP-40

The MP-40 connects to your parallel port for ASC11 data transfer

*575

'425$179

MINIMUM COST FOR HOBBYIST? THE KP-40 KIT " I I 5f

-40 KIT contains mechanism and minimum electronics forconnection to your parallel port.

All of our 40 series printers use the same reliable 5x7 impact dot matrix mechanism withup to 40 columns per line on ordinary paper with a print speed of 75 lines/minute

MASTER CHARGE WELCOME • UTAH RESIOENTS ADD 5% SALES TAX

SEND FOR FREE LITERATURE

Box 22101

Salt Lake City, Utah 84122. (801)566-0201

Fundamentals and Applications of

Sol Llbes

1 T

/ 1

n , Q

3 n

:

|

1

y

1

1 ''

istttm |

,

library and say, "This book gave me mymoney's worth," I would have to say thatthe book would be Fundamentals and Appli-cations of Digital Logic Circuits by SolLibes. Anyone who is just starting to learnabout digital electronics or computersshould make it a point to study this book.Mr Libes has taken a multitude of relatedsubjects and blended them into a text that iseasy to understand and just as easy tofollow. In addition to the text, the bookprovides review questions at the end of eachchapter and problems related to the text forthe reader to solve.

Rather than jumping right into digitallogic, the author starts out with the prin-ciples of semiconductors to show, in detail,how they function. Then, after this shortcourse on semiconductors in the first chap-ter, the second chapter familiarizes thereader with binary numbers and codingsystems. This particular chapter also showshow to convert numbers from one system toanother and touches on the Gray code.These first two chapters establish thefoundation for a great deal of the informa-tion the reader will receive from the re-mainder of the book.

During the next four chapters the readerlearns the basic fundamentals of logic gates,flip flops, counters and registers, and arith-metic logic circuits. Throughout the bookeach fundamental is illustrated and discussedin great detail. Through these same welldone illustrations the reader next learnsabout various pulse sources and clock sys-tems used in computers. Further, the authorgoes on to explain such devices as read onlymemories, as well as input and outputequipment for computers.

Continuing with this stage-by-stage pro-gression, the author then enlightens readersabout the circuitry and theory of digital to

Circle 62 on inquiry card.

154

Circle 63 on inquiry card.

analog conversion. This tenth chapter alsodeals with multiplexing and digitally con-trolled analog devices. Finally, in the lasttwo chapters of his book, Mr Libes showsthe reader more of the applications aspect ofdigital logic circuits. These two chaptersexplain the different types of circuitry usedin digital voltmeters, multimeters, calcu-lators and computers (the latter being aDigital Equipment PDP-8/E).

Throughout the book the reader is takenin step-by-step fashion from the basics oftransistor workings to circuit applications inworking digital machines. As a result, thisbook is one from which the beginner will beable to learn the fundamentals and build onthem afterwards."

Michael P Reardon

17 Earl Ln

RothsvillePA 17573

BYTE's Bits

ACM Pacific 77 Conference

Small computers, from piogram-mable handhelds through mini and micronetworks, are the subject of technicalpapers sought for this year's ACM PAC-IFIC 77 conference of the Associationfor Computing's Pacific Region chapters.The San Francisco Bay Area meeting willbe held at San Jose's LeBaron Hotel July28 to 29 1977.

"Exploring the Small Computer" isthe theme of the conference which is ex-pected to range in coverage from per-sonal computing through small businessapplications and from computer partsand peripherals through bullet proofsoftware. Papers will be presented onnew developments in software and hard-ware in these areas and on minilanguageprocessors, miniperformance predictions,microoperating systems, multimicropro-cessor systems, packaging of software forsale, portable microsoftware and soft-ware engineering "in the small." Paperson trends in software and current appli-cation, on the future of minis, and onrelated small computer topics are also tobe presented.

Peter Szego, Ampex Corporation,is General Chairman of this year's re-gional conference, which is jointly co-sponsored by the Association's PacificRegion, Peninsula and Golden GateChapters. Informal symposia, workshopsand invited papers are expected to bescheduled for the meeting in addition tothe technical paper sessions. Specialconference feature will be an evening"hobby computer" session, to bearranged by Jim Warren, editor of thehome computer users magazine, DrDobb 's Journal of Computer Calisthenics& Orthodontia,'

21 START-AT-HOMECOMPUTER BUSINESSES

in the shoestring, start-at-home

computer business handbook

CONSULTING #PR0GRAMMING •SOFTWARE PACKAGES •COMFREELANCE WR I T I NG • SEM INARS • TAPE/DISC CLEANINGFIELD SERVICE • SYSTEMS HOUSES • LEASING©SUPPL I ESPUBLISHING* TIME BROKERS • HARDWARE DISTRIBUTORSSALES AGENC I ES • HEADHUNTI NG •TEMPORARY SERVICESUSED COMPUTERS • F INDER'S FEES^SCRAP COMPONENTSCOMPUTER PRODUCTS AND SERVICES FOR THE HOME

l*St AT-H8ME.

Plus - - hundreds of ideas onmoonlighting, going full-time,image building, revenue building,bidding, contracts, marketing,professionalism, and much more.No career planning tool like itever published. Order now and ifyou're not completely satisfied,send it back within 30 days fora full and immediate refund.

• 8£ X 11 ringbound «II3 pp. •$12.00

DRTRSERRCH

730 WAUKEGAN ROAD • SUITE 10DEERFIELD. ILLINOIS 60015

Rush copies of "The Shoestring Star At-Home

Computer Business Handbook to me right away -

NAME/COMPANY

ADDRESS

CITY/STATE/ZIP

□ CHECK ENCLOSEDfJJBANKAMER I C ARD [JJMASTE RC H ARG E

155

Circle 64 on inquiry card.

^ START HERE, SCAN DOWN PAGE FRAME IDENTIFICATIONS

0 1 2 3 1 6 (i 7 8 9 10 II 12 13 14 15 16 17 IS 19 20 21 22 23 24 25 26 27 28 29 30 31 32

156

Dr Welles' Economy Floppy Disk Drivers:Machine Readable Object Code

Last month, we published KennethWelles' article on the driver software for hisEconomy Floppy Disk. This issue, we con-tinue that article with the machine readablebar code representation of the object codefor the programs. These programs were pre-sented as complete symbolic assemblies ofthe programs on pages 92-96 as "listing 1"of Dr Welles' article in June 1977 BYTE.The materials presented here are:

Figure 1: Bar code representation of the ob-ject code. This block of machine readablebar codes contains information in the fol-lowing format in each line of bars, which wecall a "frame:"

• Sync character, binary 10010110

• Frame checksum, 8 bit summationof all remaining bytes in the frame,ignoring carry out of the high orderbit.

• Relative frame indentification, 8 bitascending integer enumeratingframes in the block of bars printedhere.

• Length of frame, 8 bit number, "n",giving the number of data bytes tofollow.

• Data of frame, a total of "n" bytesas follows:

• High order byte of 2 byte dataaddress field.

• Low order byte of 2 byte dataaddress field.

The bit level format of the data is as follows:Each bit is defined by a bar and its followingspace. If the bar width is equal to the follow-ing space width, the data is a 0 bit; if the barwidth is three times the following spacewidth, the data is a 1 bit.

And a Bar Code Bug.. .

Thanks to the efforts of Ken Budnick, wefound one fairly serious error in the gener-ation of the texts printed in the March andMay BYTEs. Ken has implemented detailedscanning programs for several micropro-cessors and one antiquated second gener-ation machine and has tested them with abar code reader design by Fred Merkowitz.

The bug, which Walter Banks has sincecorrected in the phototypesetter driver pro-grams he used to create the texts, is asfollows: the checksum field of the bar codeframes printed in those two issues omittedthe frame identification byte and the datalength byte from the calculation. Thus, toverify the checksum actually generatedin the object text of the Tiny Assemblerand the Bar Code Contest string, only thedata field should be used to calculate thissum. The present bar code text generated forDr Welles' floppy disk driver routines calcu-lates the checksum properly, and futureexamples will reflect this fix as well."

Table 1: Confirmation copy. This table,which was created by the same computerdriven typesetter which prepared the barcode copy, contains a complete listing of theobject code in tabular form. This table is nota direct mapping onto the bar code frames;it was set with fixed length lines, precededby an address value for the first byte on theline.

onnn

E3

F5

C5

D5

71

2 3

F5

F5

21

18

00

CD

4 5

1)0

II

( 1)

0010

IF

00

II

Dl

CI

Fl

13

C9

0D

OA

45

52

52

41-

D2

1-5

0020

0E

20

CD

00

00

II

15

ol-

OF

OF

OF

CD

3 3

110

II

CD

1)030

33

00

C9

15

E6

OF

(ft

io

IF

3 A

D\

3F

00

(ft

0 7

41

0040

CD

00

00

Fl

C9

71-

B7

(8

F5

Eft

7E

41-

CD

00

on

II

0050

F8

2 3

C3

4 5

00

in on

F3

Oft

02

C5

CD

15

1-0

CD

ftF

in

CI

C8

05

12

01

10

1:0 10

CD

00

00

01

C9

3A

ft 5

1-2

CD

2B

1:1

2 1

4H

1-2

Mr

Oft

in :n

10

77

2 3

05

C2

21

1-0

3ft

Kl

2 A

6ft

1-2

22

48

1-2

2 1

E030

5B

E2

CD

F3

F0

IB

22

72

1-3

CD

D8

Fl

CD

09

1-2

I |

1-04 n

3ft

01

21

4B

12

■\l

D3

11

iA

4ft

E2

Eft

0A

41

CD

IA

EOS0

E2

79

D3

13

Fft

ID

D3

F3

D3

1-4

71

D3

FO

2 3

IB

7A

1060

B3

C2

58

F0

J A

4ft

E2

l-ft

1-7

D3

E.3

32

4ft

1:2

("9

(D

I 070

■V3

E0

CO

2 1

75

1.3

1 1

5B

1-2

Oft

00

IA

Bl-

CO

1 3

2 3

F080

05

C2

7B

i;o

C9

F3

CD

A3

1-0

C8

CD

A3

II

CD

B2

II

E090

CD

A3

E0

C8

('!>

B2

El

CD

A3

El

CD

A3

1:0

(8

CD

00

E0A0

00

02

C9

3F

02

32

4 5

E2

CD

B4

EO

C8

21

45

1:2

15

E0B0

F8

C3

A 8

K0

IA

4A

1-2

CI)

2B

Fl

CD

D8

El

en

09

1:2

rocn

1 I

1A

01

21

7 5

F3

3E

81

D3

F2

CD

IA

1:2

DB

1-3

DB

eodo

E4

DB

E0

77

2 3

IB

7 A

B3

C2

CF

E0

21

75

1-3

CD

l'3

E0E0

E0

3\

3A

F2

3 2

7F

1-3

2 A

KC

1-4

C3

ED

E0

7C

92

CO

K0F0

7D

93

C9

01

Ift

01

1 1

00

00

7E

E5

C5

AB

47

01-

OF

FI00

OF

OF

4F

A 8

Fft

FO

-VA

ftF

79

07

Eft

IF

AD

6F

78

07

El 10

Eft

01

AS

AD

57

79

Eft

OF

A8

5F

79

A 8

07

Fft

1:0

AB

1-120

5F

CI

El

2 3

0B

78

Bl

C2

F9

F0

C9

IF

08

1-2

8 5

1:1

El 30

21

3A

E2

BF

ca

F5

E5

3E

08

BF

FA

46

El

4E

Oft

00

E140

09

2 3

3A

47

F2

77

D3

Fft

El

El

77

4F

OF

OF

OF

3 2

FI50

4ft

E2

D3

F3

DB

Fl

Eft

04

C2

85

Fl

09

23

71-.

32

47

FI60

E2

FE

4D

F8

DB

Fl

Eft

04

C2

84

El

CD

A3

Fl

CD

A3

inn

El

CD

A3

El

CD

A3

1:1

CD

B2

El

DB

Fl

Fft

01

C2

77

FI80

El

3 2

47

E2

C9

CO

00

00

03

C9

3E

FF

32

3A

E2

3C

FI90

F5

CD

9C

El

Fl

3C

FE

08

C2

90

El

C9

CD

2B

El

CD

F 1A0

fi4

El

C9

21

47

E2

34

3A

4ft

E2

Fft

04

3 2

4ft

E2

C3

FIB0

BF

El

21

47

E2

35

3A

46

F2

Eft

FB

32

4ft

E2

Fft

10

FIC0

D3

F3

Fft

FF

D3

F3

CD

CA

El

O

01

FF

03

AF

OB

B9

Finn

C2

CE

El

B8

C2

CE

Fl

C9

3A

48

E2

FF

4D

FO

21

4ft

E1E0

E2

7E

F6

FE

77

3 A

48

E2

DI-

2C

F2

Fl

El

7E

F6

01

FIFO

77

3A

47

E2

47

3A

48

E2

BS

C8

F2

03

E2

CD

B2

II

F200

C3

Fl

Fl

CD

A3

El

C3

Fl

El

DB

Fl

Eft

20

D3

F5

CO

F.210

CD

CA

El

CD

CA

F.I

CD

CA

El

C9

DB

Fl

Eft

10

("2

IA

E220

E2

3A

49

E2

Eft

IE

47

DB

Fl

Eft

08

C2

27

1-2

0 5

EB

F230

DB

Fl

Eft

08

CA

30

E2

C3

27

F.2

00

6143

00

00

00

00

00

00

00

00

F25B

81

46

49

4C

4E

41

4D

4 5

58

54

00

00

00

00

00

00

E26B

00

E270

00

E375

81

46

49

4C

4E

41

4D

4 5

5 8

54

00

00

00

00

00

00

E385

00

F3 8A

00

157

BYTE's Bits

National Student Programming Contest

The First Annual National ACM/UPRStudent Programming ChampionshipContest took place February 2 1977 inconnection with the Computer ScienceConference in Atlanta GA. The contestwas sponsored jointly by the Committeeon Student Chapters and Membershipsand Upsilon Pi 'Epsilon (National Com-puter Science Honor Society). Teamsparticipated from: Catawba College,Chattanooga State Technical Commu-nity College, Clemson University,Georgia Institute of Technology, GeorgiaState University, Louisiana TechnicalUniversity, Manhattan College, MichiganState University, North Carolina StateUniversity, Purdue University, TaylorUniversity, Texas A & M University,University of Georgia at Athens, Univer-sity of Missouri at Rolla, University ofNew Mexico at Albuquerque, and theUniversity of Wisconsin at Platteville.The contest was conducted over a seven

hour period from 5 PM to midnight onFebruary 2. The facilities were providedby the Computer Center at Georgia Insti-tute of Technology and the departmentof Information and Computer Science.Machine time was provided by ControlData Corporation on the Georgia TechCyber 74 computer. The teams weregiven four problems to solve using ANSIFORTRAN. These problems consisted ofa Conversion from Roman to ArabicNumerals, A Character Manipulation forRearranging of Names and Titles, theDetermination of Amicable Numbers,and the Automatic Scoring of the Gameof Bowling. The winners were deter-mined by penalty points and the elaspedtime taken for each problem. Althoughmany teams were close on several solu-tions, only four teams completed threeof the problems.

The National Champion Team is Mich-igan State University, who also won theirregional competition. Second place went

The OAE ModelOP-80A quality en-gineered paper tape readerwill read punched tape as fast as"you can pull it through (0-5,000 cps)Each unit includes a custom opticalsensor array, high speed data buffers,and all required handshake logic tointerface with any microprocessorparallel I/O port. Check our specs. ATOAE WE MAKE QUALITY AFFORD-ABLE!

Available at quality computer storeseverywhere. (Or, add $2.50 for domes-tic shipping and handling — CA res.add 6%.)

$QC00

^W a&T

OAE

Oliver AudioEngineering, Inc.

7330 Laurel Canyon Blvd.North Hollywood, CA. 91605(213) 765-8080

to Purdue University, third place to theUniversity of Missouri at Rolla, and thefourth place to Georgia Tech. Trophiesand certificates were presented to theparticipants at an Awards Banquet heldFebruary 3 at a luncheon in the MarriotHotel. The participating teams also re-ceived free registration to the ComputerScience Conference and attended twonights of an informal social sponsored bythe Committee on Student Chapters andMemberships.

Plans have been made to make this anannual event in connection with theComputer Science Conference. In 1978it will take place on February 22 at thePlaza Hotel in Detroit Ml. Regional con-tests will be scheduled for the fall of1977 to qualify teams to compete in theNational Contest. Teams and sponsorsfor these qualifying regional contests arebeing solicited from all regions withinACM. If you are interested in partici-pating or holding such a contest, pleasecontact Dr Richard Newman, AcademicComputing Services, Southern IllinoisUniversity, Carbondale IL 62901, (618)536-2323.*

Attention Educators with a Message

The National Association of Compu-ter Applications to Learning (NAUCAL)will hold its 1977 annual convention inDearborn Ml on November 2 thru 5 1 977.The convention will focus on education-al computing, simulations in education,instructional materials and teachingstrategies. Sessions that describe andillustrate computer applications in learn-ing will be given special consideration.

Individuals who would like to presentor who would like to suggest others whocould present may write to John S Campand Lary Smith, Conference Cochairmen,Wayne County Intermediate SchoolDistrict, 33500 Van Born Rd, WayneMl 48185."

Repairing Torn Paper Tapes

Translucent paper tapes are an inex-pensive, efficient way of permanentlystoring information for a computer.However, after pulling the tape througha hand held paper tape reader a dozen orso times the tape tends to get pretty rag-ged. Sooner or later the tape will tearand have to be repaired before it can beused again. I have found that transparentMylar movie film splicing tape is perfectfor the repair job. The splicing tape isclear, strong and will not crack or yellowwith age. It is also quite thin and will notinterfere with the passage of the papertape through the reader. The tape sticksvery well to paper but if necessary canbe removed without causing any damage.Mylar movie film splicing tape is avail-able at any camera store.

Richard E Hetherington

637D Pendleton Av

Chicopee MA 01020"

Circle 65 on inquiry card.

158

^ Boardwalk

Shelburne HotelP.O. Box 1138

Atlantic City, NJ 08401(609) 344-8131

Saturday night Banquet of Filet Mignon $17.50

Over 150 Exhibits and 60 hours of seminars

Conferences being planned on; Clubs; Newsletters; Energy Conservation; Medical Applications;

and more. Seminars being planned on; all aspects of Computing; Music; Basic Programming;

Games; Education; Various Microprocessor Evaluations; Synthesis; S-100 Bus; and more.

Another 1st,

Personal Computing College ™

To be held at the Shelburne Hotel.

Please rushPlease rush

Address

City

•••*•••••••••••••••••••••••••••••••••••••••••••**

%

i

*

**

****************

*

*

***********

*****Jf

****

*

****

*

**)f••••••••••••••••••••••••• •••••••••^

WEDNESDAY-THURSDAY-FRIDAY, AUGUST 24-25-263 Day Micromputer Interfacing Workshop by TYCH0N Inc.

A hands on experience for the participants where they will spendalmost 50% of their time working on well documented Interfac-ing and Software experiments. Students deal with the microcom-puter at the bus level, interfacing the computer using solderlessbreadboarding techniques and assembly language programs.

Presented by Jonathan A. Titus and Dr. Christopher A. Titus,Authors of the famous "BUGB00KS."

For reservation information and complete brochure contact:TYCH0N Inc. c/o Shortess-Rawson, Dept PC77, P.O. Box 2203,South Hackensack, N.J. 07606.

FRIDAY, AUGUST 266 Hour seminar by Dr. Adam Osborne

"Microprocessors - Where they came from and where they aregoing. An analysis of all products on the market today."

Dr. Adam Osborne will present a 6 hour seminar covering topicssuch as: Bringing order out of chaos; All microprocessors are notequal-each serves one market better than the other; Identifyingthose markets best suited to each microprocessor; Real salesvolume anticipated for 1977; Comparisons including: 8085 vs.Z80, 8048 vs. F8, Etc.

For reservation information and complete brochure contact:

Osborne & Associates, Inc., Dept. PC77, P.O. Box 2036,Berkeley, Ca. 94702, 415-

Inc,-548-2805.

PC'77 Weekend admission at the door will be $10.00. Register before August 10th and SAVE 20% and AVOID WAITING IN LINE!Admission includes exhibits and seminars for both days, August 27—28th.

advance registration tickets for August 27—28th @ $8.00 each.Banquet tickets for Saturday, August 28th @ $17.50 each.

Send reduced Hotel rate information .

Make all checks payable to "PERSONAL COMPUTING 77" and mail to:PC'77, Route 1, Box 242, Mays Landing, N. J. 08330.

Name

Amount enclosed

State

Zip

159

Circle 51 on inquiry card.

Microcomputer

Handbook

by

Charles J Sippl

We often hear people say, "I'd like to find out more a-bout microcomputers. I'm not a technical type, but I feel Ican handle a fairly rigorous approach as long as it's wellwritten. What's available?" Charles J Sippl's MicrocomputerHandbook is one answer to this question. The book coversthe present state of computer technology very well, concen-trating on both hardware and software. Lucid and completeglossaries are combined with a variety of illustrations. Topicscovered include: Microcomputers: where they are, what theyare doing, and what is next; kits; distributed intelligence; andwhy the new systems are easier to use. The book was writtenby a computer industry lecturter and consultant and is highlyrecommended for the intelligent layman as well as for profes-sionals and experimenters.The glossaries alone are worth theprice of the book-don't miss this one! This hardcover refer-ence is only $19.95, plus 50 cents postage.

Send now to:

BITS Inc

70 Main Street

Peterborough NH 03458

Please allow six weeks for delivery

Master Charge and

Bank Americard Welcome

BUILD THE CRATE!

THE S-100 CARDFRAME THATYOU CAN BUILD FOR LESS THAN $150

COMPLETE PLANS, INFO ON TOOLS, PARTS, SOURCES, ETC,ORDER THE CRATE BOOK $1 9.95

ENCOUNTER!

FOR GAME LOVERS, REALTIME GAMEBOARD WARFARE ON A VDM.NO TAKING TURNS, JUST ACTION, STRATEGY, AND LOGISTICS.

8080 CODE ON P-TAPE + SOURCE, RULES $1 6.95

USE SYS 8/SOFT PKG 1?

AUTO-LINE ENTRY. STRING EDIT, AUTO TABS. OCTAL NBRS,MULT, SECTION ASSEMBLIES. MORE ADDED BY OUR PROGRAM.

source $14.95

add $5 for p-tape, $10 for tarbell tape

OBJECTIVE DESIGN, INC.

P.O. BOX 20325, TALLAHASSEE, FL. 32304

Qlubs andNewsletters

Conducted byPeter Travisano

Arizona Computer Society

The Arizona Computer Society meetsregularly on the second Tuesday of eachmonth at De Vry Institute, 4702 N 24th St,Phoenix AZ 85063.

A New Club in Boston

With all the computer activity in theBoston area this should be welcome news.A new group called the Boston ComputerClub is forming for people with bothhobbyist and industrial interests. As of nowthe club provides access to a timesharingPDP-8 and an Altaic 8800a. For furtherinformation contact Jonathan Rotanberg, 17Chestnut St, Boston MA 02108.

DUMPS in Delaware

A group of hobbyists at the University ofDelaware recently formed the DelawareUsers of Microcomputer Systems or DUMPS.The club is informal and the membershiphas a wide range of interests. Meetings areheld on the third Monday of the month at7:30 at New Central School, Academy St,Newark DE 19711.

Long Island NY—Licus

The Long Island computer group is agrowing concern made up primarily of highschool and college students. Meetings areusually held on second Tuesdays atCommach High School South. To find outmore write LICUS, POB 322, East North-port NY 11731.

State College PA

The Nittany Amateur Radio Club ofState College PA sponsored a one day micro-computer seminar, an introduction to inter-facing, programming and applications withan emphasis on real world situations. The

Circle 66 on inquiry card.

160

New kidon the

block!

But watch out

he means

business

PERSONAL

COMPUTING EXPO

COMES TO NEW YORK FOR BIG BUSINESS

It's a brand new show in the world's biggest economic centerspecifically for manufacturers and buyers who are into personalcomputing. For the first time, this booming field will have a NewYork Coliseum showcase in the major population center in theeast. It is planned as the largest public show of its type in the worldthat will attract enthusiastic buyers from a multi-state area.

WHY NEW YORK?

New York is the economic nerve center of the world. It also isthe world's communications focal point, the one place that will putpersonal computing in a significant spotlight. New York is sur-rounded in depth by people who work in the computer field, bycomputer learning centers, universities, personal computingclubs, and thousands of others whose lives are affected bycomputers.

From this vast potential, Personal Computing Expo will drawthe hard-core hobbyist, the interested student, and, because of ahighly-publicized program of introductory seminars, those whoare attracted and fascinated by computing but have not had expo-sure to the ways and means of becoming personally involved.

SHOW MANAGEMENT

Personal Computing Expo is being produced by H.A. Bruno &Associates, Inc., a firm in the exposition and promotion fieldssince 1923. Highly skilled in the production and promotion ofconsumer and trade shows, the company currently promotes theAmerican Energy Expo, the National Boat Show, Auto Expo/New York. Promotion assistance also is currently rendered to theNational Computer Conference and the Triennial IFIPS Congressin Toronto.

The show producer has promoted successful shows in the NewYork Coliseum every year since the building opened in 1957.Staff personnel are thoroughly familiar with the building, itsservices, management and labor.

EXCITING SEMINARS FROM "BYTE"MAGAZINE

Personal Computing Expo is endorsed by "Byte" magazine,whose staff is developing an exciting series of seminars andlectures for the exposition.

Visitors to the show will be able to attend these meetings free ofcharge. They will hear from lecturers such as Louis E. Frenzeland Carl L. Holder. More importantly, visitors will be able toattend meetings aimed at their proficiency levels, from beginnerthrough intermediate and advanced personal computing.

FOR DETAILED INFORMATION CONTACT:

RALPH IANUZZI, Show ManagerH.A. BRUNO & ASSOCIATES, INC.78 E. 56th StreetNew York, N.Y 10022(212) 753-4920

PCE

Endorsed by BYTE Magazine

OCTOBER 28, 29, 30, 1977PERSONAL COMPUTING EXPO • NEW YORK COLISEUM

Circle 67 on inquiry card.

Why Wait?

Ufa-*

m-

an

HMH HmM* PWI1' :-PWv- ■.^^^3P^^^^',-/W^ 1

^WiSSr

The Tarbell Cassette Interface

Plugs directly into your IMSAI or ALTAIR*

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

Extremely Reliable — Phase encoded (self-clocking)

4 Extra Status Lines, 4 Extra Control Lines

37-page manual included

Device Code Selectable by DIP-switch

Capable of Generating Kansas City tapesalso

No modification required on audio cassetterecorder

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

TARBELL ELECTRONICS

20620 S. Leapwood Ave., Suite P, Carson, Ca. 90746(213) 538-4251

California residents please add 6% sales tax•ALTAIR is a trademark/tradename of MITS, INC.

Mail Order Computer Store

IMSAI 8080 kit with 22 slots (limited quantity) $ 599.00

IMSAI 4k RAM 129.00

IMSAI 16k RAM 419.00

IMSAI 32k RAM 699.00

IMSAI 64k RAM 2,459.00

When Ordered With Kit

TERMS: Shipping charges — $10. per CPU or large units. $1.50 per kit, $2

minimum per orderProvided stock is available, we ship immediately (or payment by cashiers check ormoney order.

Allow 3 weeks for personal checks to clear.Nevada residents, please add appropriate tax.

PRICES SUBJECT TO CHANGE WITHOUT NOTICE

PLEASE, NO PHONE ORDERS ACCEPTED

Phone: (702)734-1104Write: Metatec Corporation

3453 Industrial RoadLas Vegas, NV 89109

guest instructor was David G Larsen,WB4HYJ, from the Department ofChemistry, Virginia Polytechnic Instituteand State University. Larsen is a member ofa team that has toured the nation presentingsimilar seminars and has been publishedwidely on the subject.

One significant by-product of the seminarwas the formation of the Center CountyComputer Club. Membership can beobtained from Carl Vesper, 131 Sowes St,Apt E-10, State College PA 16801.

SR-52 Users Club

TheSR-52 Users Club is a nonprofit loose-ly organized group of SR-52 and SR-56 userswho wish to expand their knowledgethrough information exchange. Activitycenters around a monthly newsletter, 52NOTES, published by Richard C Vanderburg,9459 Taylorsville Rd, Dayton OH 45424. Amembership fee of $6 includes a 6 issuesubscription. Back issues are available for$1 apiece.

Permian Basin Computer Group — Midlandand Odessa Colleges TX

The Permian Basin Computer Group hasfactions on both the Midland and OdessaCollege campuses. The Midland group meetson the second Monday of the month at 7:30in the Student Union Building. The Odessagroup meets on the second Saturday at 1:30in the Electronic Technology Building,Room 203. For additional information writeJohn Raenaldt, POB 3912, Odessa TX orphone (915) 332-9151 Mondays throughFridays between 9:00 and 5:00 or (915)697-4607 after 6 PM.

Goodyear Computer Club

The Goodyear Computer Club in AkronOH is off to an auspicious start: just a fewmonths old and able to boast a member-ship of more than 150. Generally themembers are associated with the GoodyearAerospace Corporation or the Goodyear Tireand Rubber Company. Contact the Good-year Computer Club c/o J F Derry, D-109Pit 1, The Goodyear Tire and Rubber Co,Akron OH 44316.

Aloha Computer Club

Don Henson, president of the AlohaComputer Club of Millani Town HI, hasmade an interesting offer. He's willing togive monthly seminars limited to six begin-ners. Sounds like the best possible way toshare computer information and get more of

Circle 68 on inquiry card.

162

SERIAL SYSTEMS MODEL 301(The Black Box)

Max performance at Minimum price-Serial data to FSK of FSK to SerialCommunicate between uProcessorand cassette tape, or radio transceiverand RTTY, also easily adapted tophone-50 to 600 BAUD-Crystalcontrolled—Programmable for allstandard freq's (Kansas City, Altair,Amature RTTY)

Assy and Tested $49.95Mew 90 Key keyboard Encoder ChipHook Row and Column to yourkeyboard and select ASCII, BAU-DOT, ANSI TTY, or ASR-33 out-puts.

$24.50TMS9900 16 bit uP Chip $99.50

Serial Systems (Div. of ASC)P.O. Box 20330Minneapolis, MN 55420

Circle 09 on inquiry card.

SAW Mo«ev,&

for 12. /s.su*s <fi an

entries ^/*t"fe3.6? Ui(U* Si. (&

/Slew Haven CT 0(>SH

Heathkit is a registered trademark

of Heath Company.

re^s

NOW HEAR THIS!!

ALPHA DIGITAL SYSTEMS

SELLS IMSA1 KITS AND TOTAL IN-TEGRATED SYSTEMS ASSEMBLED.CHECKED-OUT. AND WARRANTED AT KITPRICES.

ALPHA ISPECIAL DOS SYSTEM DEAL (includes)» IMSAI 8080 Computer

• 22 Slot Mother Bd. with Conn.

• 16 K RAM

• 90 K Disk (with Controller)

• Selectric typewriter (with Controller)» DOS-BASIC Software

Assembled System Total $3995.(Less Selectric )S2»5

Select any kit or system of kits from the IMSAIprice list, order from us and receive theassembled unit for the same price. If you don'thave a price list, drop us a line and we will sendyou one. Terms: Cash with Order • Prices in-clude freight. ( N.C Residents Add 4°0 Sales Tax )

How can ALPHA DIGITAL SYSTEMS do allthis? Its simple. ALPHA DIGITAL WANTS TOBE YOUR COMPUTER COMPANY.

ArtC ALPHA DIGITAL SYSTEMS•*■** RT. 4 BOX 171A

BOONE, N.C. 28607

(704) 264-7946

Circle 70 on inquiry card.

(301) 779-79987338 Bdli.more Ave.. Suite 700 ColleCJS Park. Maryland 70740

IMSAI made kits & assembled units .

. 17% OFF LIST

TEC-9900-SS-UF, 16 hit TI9900 mictoP. 32 hit 1/0 liatdwai8. div, buffered bus. 20 ma or RS232, 8 interrupts & sockets

S279.00

TEC-9900-32KB 32K bytes memory S649.00

TEC-990D-PP power supply S129.00

CR0MEMC0kitsSZ-l,Z-2 10% OFF LIST

SANYO TV monitors 10% OFF LIST

TDL ZPU & Z16K 12% OFF LIST

SEALS 8K bat. backup Mem

PERSCI Dual floppy & intelligent controller(#270 8,1070)

.10% OFF LIST

SHUGART MINI-FLOPPY

2U02 50Dns S1.90

21 L02 450 ns S1.50

21 L02 400 ns S1.99

Z-80 microP S45.00

Z-80 CTC S9.50

8080A 2.5 MH S17.00

8080 PPI SI 0.00

5% OFF LIST

S375.00

$1.85

SI.95

S9.50

1702A EPR0M S8.00

21112 ',1111 n,2102 400 nsZ-80 PI 0

80BOA30MH

80BOSCI

8224 Clock Gen. .B216/26 0river_

8251 PCI

2102 050 ns

2708 EPR0M S29.00

ADM-3A tCRT 8. addressable cursor S925.00 list

IMat. Multiplex Digital Tape recorders & kits_

MSI floppy 8. kits

Pennywhistla modem _

8212 I/O port

8228 Clock Driver-8255 PPI .

. S2.50-S5.50_S9.50

-S20.00-S10.00_S4.75_S2.50-S9.50_S1.75

S799.00

10% OFF LIST10% OFF LIST. 5% OFF LIST.5% OFF LIST

Tl "silent 700" model 743, printer $1335 list

Send S2.00 for newsleuer and list. 4%, with minimumS4.00 for shipping and handling. See flyer for policiesand delivery times on group OEM buys and otherproducts.

Circle 72 on inquiry card.

Circle 73 on inquiry card.

PHOENIX

Bits & Bytes

COMPUTER SHOP

• Lear Siegler ADM-3 Kit $849.

• Vector-1 8080 16 K $968.

• 9" Sanyo Monitor $159.

North Star - EPA - TarbellAct 1 Terminals - CybercomIASIS Computer-in-a-bookVector Graphics - Per Com

6819-CN. 21st Ave.

Phoenix, Az. 85015

(602) 242-2507

Circle 71 on inquiry card.

But You Only Need

4i-THE COMPUTER CORNER:

~**~ •SOL - A New Dawn Is Here!

"**"" •IMSAI 8080

"•*"" •POLY - 88

"►*- • TDL Z-80

"+*"" •Memories & I/O Boards-W-

-H— •Computer Book Service _

frj... •Magnetic Tapes & Disks _

+\— • Full Line of Magazines _

,-^j- • Brain Games & Puzzles _

■H •Workshops & Club Information _

~^~ Visit THE COMPUTER CORNER for ~fc, all your computer needs. Stop in and

browse — you'll like our personal service.*t -

y THE COMPUTER CORNER

White Plains Mall - Upper Level"W~ 200 Hamilton Avenue ™

-H- White Plains. New York 1 0601

Tel: (914) WHY-DATA

Ample Parking10-6 Daily & Saturday

V/ 10-9 Thursday \ ^

Circle 74 on inquiry card.

computer

d- T.M.

epOt inc.

Parts galore in the Midwest for

PROCESSOR TECHNOLOGY, IMSAI,POLYMORPHIC SYSTEMS, DIGITALGROUP, WAVE MATE, CROMEMCO,VECTOR GRAPHICS, TDL, SEALS,TARBELL, MICRO DESIGNS,NORTH STAR, PERIPHERALVISION; INTEL, NATIONAL SEMI-CONDUCTOR, FAIRCHILD SEMI-CONDUCTOR, MOSTEK, E&LINSTRUMENTS, SAMS, TAB,HAYDEN, WILEY, MC-GRAW HILL

Catalog Free

Computer Depot Inc.351 5 W. 70th StreetMinneapolis MN 55435 c40

IN

SOUTH FLORIDA

IT'S

COMPUTER HUT

FEATURING POLY 88

5905 NW 151 St.

Miami Lakes, FL 33017

(305) 558-8080

COMPUTER MARTOF

DEALERS FOR

TDL ICOM IMSAI

DIGITAL GROUP

SOFTWARE INCLUDES:

8K BASIC EXT. BASIC

TEXT EDITOR DISK BASIC

WORD PROCESSOR

MACRO-ASSEMBLER

170 MAIN STREET NASHUA(603) 883-2386

Circle 75 on inquiry card.

Circle 76 on inquiry card.

Circle 77 on inquiry card.

the many, many interested people involvedin personal computing. Aloha meets on thefirst Wednesday of the month at 7:30 atthe Waikiki-Kapahulu Library, 400Kapahulu Av. Seminars are held at varioustimes throughout the month. New membersare more than welcome. To learn more write94-360 Hokuala St, Apt 187, Millani TownHI 96789 or call (808) 623-1781.

Central Florida Computer Club

A new hobbyist group has been formedin Orlando, jim Walton is the contact personfor the Central Florida Computer Club. Hecan be reached c/o Data Entry Engineering,1810 N Orange Av, Orlando FL 32804,(305) 896-4322.

Electronotes - Newsletter of the MusicalEngineering Group

Those people interested in both electronicmusic and instrument construction will findElectronotes most valuable. An in-depth pre-sentation focusing on the ENS-76 is plannedfor the next several issues. Electronotes ispublished by B A Hutchins, 203 Snyder HillRd, Ithaca NY 14850. Routine ordersshould be sent c/o Electronotes, 213 DrydenRd, Ithaca NY 14850.

Pittsburgh Area Computer Club

The place to share computer lore inWestern Pennsylvania is the Pittsburgh AreaComputer Club. Contact PACC at 400Smithfield St, Pittsburgh PA 15222.

-DRAWPICTURES-COMPOSE MUSIC-INPUT TO GAMES

Attaches to any 8080 system withTTL input port and memory mappedvideo driver (PTC, Cromemco, Poly-morphic, etc.). Allows computer tointerrogate the pen at any time anddetermine its location.

$29.95

assembled & testedwith software

+ $1.50 postage & handling

Educ. Data System of Va., Inc.

P.O. Box 2115

Newport News, Va. 23602

!mAg!n!

What you can do with a 4K RAM thatcan be positioned anywhere in memoryby program commands.

We have some ideas you may not have

thought of Write and ask about our new

4K PL (program localable) RAM card torIheSIOObus

The 4K PLRAM comes fully assembled,tested and burned in lor only

$179.

IN CANADA

$199.

Sorry - Blame PierreOffl ResidentsAdd 7% PST.

EiflA

industries ltd.

P.O. Box 421 Simcoe, OntarioCanada. N3V 4L5

South Florida

Sunny ComputerStores, Inc.

South Florida's First Computer Store

WE CARRY:

•IMSAI, COMPUCOLOR, PROCESSO.TECH., SOUTHWEST, CSC,CROMEMCO, SEALS, VECTOGRAPHIC,MULLENS, MORROWS, VECTOR

•BOOKS, MAGAZINES, NEWSPAPERSSOCKETS, CONNECTORS, IC'S,

PRINTERS

•DEBUGGING EQUIPMENT

•SOFTWARE

•TOTAL MAINTENANCE & REPAIR

•WRITE OR PHONE US FOR PRICES

UNIVERSITY SHOPPING CENTER1238ASOUTH DIXIE HIGHWAYCORAL GABLES, FLA. 33146(305)661-6042

Circle 78 on inquiry card.

Circle 79 on inquiry card.

Circle 80 on inquiry card.

k

LOGIC

DESIGN

INC

QUALITY Support for those whowish to dig deeply into digital design.

Breadboarding System, textbook onlogic design, and complete schemat-ics tor an elegant CPU that will runthe PDP8 instruction set ... $1095

132 IC's $ 87

TTY Interface $ 20

Memory $26/k

BOX 3991, UNIV. STATION

LARAMIE, WY 82071

(307) 742-7977

Circle 94 on inquiry card.

£x

aeco

THE ULTIMATE IN

imsu tam bsasse:

Precision machined tape guideInterface directly to a M«, or yflJUTTri-state buffer outputall handshake logic TtL compatablePull thru tape- Reads 5to555-9 cpsInterface thru a 14 pin IC plug „»,„»,

TPfj'5 ASSEMBLED 1 JESTED $38.00'

M5A'1 pl-UG-IN HANDSHAKE ADAPTER ♦ 5.50'

TO OHjJER^SE^O^^HECHClRM^O. TO:

MICROCOMP PO BOX '"T

"" «*«*■* " "• FOND DU LAC, Wl 54935

WE SPECIALIZE IN MICROCOMPUTER SYSTEMS FORHOBBY- BUSSINESS- EDUCATIONWE ARE EXCLUSIVE OSI DEALERS...

WE

KITS-FULL SYSTSEND

00 A BETTER JOB.

STEMS- PERIPHERALS-FLOPPY DISKS- ACCESSORIESIOOKS' MAGAZINES-

CATALOG TODAY I

CANADIANS!

Eliminate the Customs Hassles.Save Money and get CanadianWarranties on IMSAI and S-100compatible products.

IMSAI 8080 KIT $ 838.00ASS. $1163.00(Can. Duty & Fed. Tax Included).AUTHORIZED DEALERSend $1.00 for complete IMSAICatalog.

We will develop complete applica-tion systems.Contact us for further information.

RotundraCybernetics

/A

Box 1448, Calgary, Alta. T2P 2H9Phone (403) 283-8076

Circle 95 on inquiry card.

Circle 96 on inquiry card.

A New Orleans Computerfest

The Jefferson Amateur Radio Club andthe Crescent City Computer Club wouldlike to announce the New Orleans Hamfest/Computerfest which will be held at the HiltonInn in Kcnner LA (directly across from theNew Orleans International Airport) Septem-ber 24 and 25. This is the ARRL DeltaDivision Convention for 1977 and is thelargest "ham" outing in the deep south.

This year's event will feature a banquetSaturday night with entertainment, twodays of commercial exhibits, flea marketsand forums. There will also be a hospitalityroom, ladies'events, FCC examinations andmore.

This year's grand prize is a completeDrake "C-Line" ham station, and many doorprizes will be awarded each day.

Information on tickets, room reserva-tions, etc, will be furnished upon requestby contacting the New Orleans Hamfest/Computerfest, POB 10111, Jefferson LA70181.

Important Notice to Clubs

Hazeltine Corporation, Greenlawn NY11740, has recently circulated a letter fromFrank J Cirillo of their Industrial Products

Division, announcing a special packageprice of $1400 for refurbished H-2000model terminals with Hazeltine tape cas-sette drive. The letter is directed to com-puter clubs, so if your local club did notreceive a copy, write or call Mr Cirillo at(516) 261-7000 and inquire about thisexcellent deal. This terminal is one of theworld's largest selling video display terminalsand has had application in universities,hopitals, business, finance and government.At a $1400 price you get a used commercialgrade piece of equipment which will provequite applicable to many home computersituations."

Would your club benefit from a write-upin BYTE's Clubs and Newsletters section?It's easy enough to arrange, just drop a lineto BYTE, 70 Main St, Peterborough NH03458, c/o Clubs and Newsletters, with theinformation you 'd like published. Naturallywe can't cover every club every month butwe do make a special effort to mention newclubs and those that correspond regularly.

Those people looking for a more com-plete listing of computer clubs should referto January 1977 BYTE*

The Speakeasy

Interface all your I/Os withone low-cost board!

Talk about easy interfac-ing for your Altair, IMSAIor Equinox 100! Plug inThe Speakeasy'1''" interfaceboard and you've got 3cassette I/O channels withindividual motion control... a bi-directional parallelport for keyboard, papertape reader or printer . . .a serial port for teletype/

RS232 ... and RAM/ROMsoftware to drive it all.$120 kit by Morrow'sMicro-Stuff ($4 handling;Cal. Res. add tax. Writefor specs.

Thinker

505 Arlington

Berkeley, CA94707

Tbys

See it at your local computer shop, orplace BAC/MC orders toll-free to 800-648-5311

TheWunderBuss

End noise andcross-talk withour exclusiveNoiseguardsystem

Build your S-100 systemon the WiinderBuss™ 20-slot bus-board with Noise-guard™ and you'll get"textbook clean "signals.

The Noiseguard™ sys-tem's interlaced groundsystem shields all bus linesfrom cross-talk... and low-power active terminationabsorbs noise and signalreflections.

The printed circuitboard is double-sided and(of course) has a soldermask. And there's 3 un-

committed positions forperipheral power.

The incomparable Wiin-derBuss™, by Morrow'sMicro-Stuff, is now avail-able for $76 alone. With 10edge connectors, $120.With 20 edge connectors'$154. Add $4 handling.

ThinkerTbys

505 ArlingtonBerkeley, Ca.94707See it at your local computer shop

Place credit card orders toll-free to 800-648-5311

165

Circle 81 on inquiry card.

Programming Quickies

Gregory A Worth115 Campbell, Apt 6Rochester Ml 48063

BASIC Timing Delay

When writing game programs it is oftenconvenient to have a time delay to add someexciting real life feeling to the game. Thissubroutine, submitted by Gregory A Worthand written for a Motorola 6800, willcause delays between 7 and 255 seconds.Register B is loaded with the number ofseconds you wish to delay before jumping

to the subroutine. LOOP! is the basic timedelay loop. This loop takes 20 clock cyclesand is executed 50000 times giving a basictiming unit of 7 second, assuming a 7 MHzprocessor clock is used. If your system isusing a different clock speed, appropriateadjustment of either the number of repeti-tions of the loop or the amount of timeconsumed in one pass through the loopwill have to be made. The outer loop,LOOP2, allows the varying time delays byrepeating the 1 second loop the numberof times specified in register B. AII of thenumbers In this listing are in hexadecimalunless otherwise specified.

Address Hex

0000000300060009000C000 D000 F00100012001500160018

FFCE767909265A26FE39

Code

00 16C3 5000 0300 03

F7

F100 16

Labels

DELAYLOOP2LOOP1

SAVE

Op

STX

LDX

ROR

ROL

DEX

BNE

DECB

BNE

LDX

RTS

RMB

END"

Operand

SAVEC350LOOP2LOOP2

LOOP1

LOOP2SAVE

Commentary

save the number of seconds to be delayed;load X register with decimal 50000;

basic 1 second timing loopconsidering 1 MHz clock;

decrement number of seconds delayed;

if delay not over continue LOOP2;

restore value of delay time;

return to calling program;

storage for number of seconds delayed;

[g cybercom boards

MB-1 MK8 Computer System Ram 4Kx8. Not lor S-100

Buss. PC Bd $22

MB-4Altair88004Kx8or8Kx8with Piggy Back. PC Bd. $30

MB-3 4K 1702A EPRAM kit w/o PROM $65

MB-6 PC Bd. 8Kx8 $35

IO-2 10 for 8800 8 Bit Parallel I/O. 2/3 Kludge Area.

PC Bd.... $25 Kit... $55

64 x 16 VIDEO BOARD Altair plug compatible display 32 x

16 or 64 x 16 switch selectable. Composite and parallel

video ports, upper and lower case with software. PC Bd....

$35 Kit.. . $189.95

SP-1 Synthesizer Board Computer controlled wave forms

9 octaves 1vrms V2% distortion includes high level music

language. Kit $250

Altair Compatible mother board. Room for 15 connectors

11" x 11 Va" (w/o connectors) $45

With 15 connectors $105

Altair Extender Board (w/o connectors) $9.00

With w/w connector $13.50

100 Pin spec WW or Soldertail both lit Imsai or SSM MotherBoard $5.00 each 10/$44,

WALNECO8Kx8Ram2102typefully buffered. PC Bd. $30WALNECO Mother Bd. terminated 12 slot '/a" thick . .$40

419 Portofino DriveSan Carlos, California 94070

Pleas* sand lor xlntor, IC and kit list

* 2102AL-4 FULL SPEED MEMORY (500ns) *

* Nearly Vi less power consumption of even a *

* 21L02A PRIME FROM NEC

• $2.00 EACH64-$1.70

32 FOR $1.80 EACH128 FOR $1.60 EACH

1702AEROM

programming send hex listAY5-1013 UART

2513 Prime spec, upper or lower case8080A Prime CPU8212 Prime latch buffer8224 Prime clock gen8228 Prime sys controller

82S06

82S07

82S12

82S17

82S23

82S123

MM5309

MM5312

MM5313

MM5320

MM5554

MM5556

MM5055

DM8836

DM8837

91L02APC

32 ea.

64 ea.

2.002.002.002.002.503.008.004.004.005.951.902.501.90.601.502.101.951.80

82S126

82S129

82S130

82S131

74S206

MM5262

7489

74200

74S89

74C89

74L89

8T80

8T97

INTEL8216821482518255

3.503.503.953.952.101.002.004.953.503.503.502.502.00

4.958.3014.5014.50

74C200

8573

8574

8575

8576

8577

8578

1101

1103

2101

2112

2602

4002-1

4002-2

8131

M04044

1488

1489

2111-1

$ 8.005.006.9511.0025.004.005.008.905.504.505.504.504.503.504.001.251.254.504.501.607.507.502.502.251.501.503.75

For large orders please send money order or cashier'scheck to avoid delays in waiting for check to clear.Check or money order only. California residents add 6%tax. All orders postpaid in U.S. All devices tested prior tosale. Money back 30 day guarantee. Sorry we cannotaccept returned ICs that have been soldered to. $10minimum order. Prices subject to change without notice.

The Proko Paper Tape Reader

A fully TTL buffered optical tape reader for reading 8-levelpaper tape. It's compatible with nearly all parallel inputports and has bolh positive and negative strobe outputs.The power (+5V @ 20ma) is derived from your I/Oboard...just supply a light source (study lamp), grab thetape and pull!PTR-II Kit $54.00 Assembled $68.00

Now, add mass storage to your micro with the North Starfloppy disk system. Comes with cables, S-100 controllerwith bootstrap rom, and powerful extended basic. (Basicsupports sequential and random access disk files.)

North Star Disk Kit $699

IMSAI 8060 Kit with 22 slots $650

IMSAI with disk $1325

I The S.D. Sales Co.Z-80 CPU Kit

For S-100 Buss

i $14900

proko

tronics

439 marsh street

san /ills oblspo, California 93401

805/544/5441

Delivery: Slock to 45 days Irom receipt of order. We pay all U.P.S.shipping on U.S. orders. Check or money order accepted. No P.O.sexcept oy above terms. California residents add 6% tax. Pricessubject to change without notice.

Circle 82 on inquiry card.

166

COMPUTER-WAREHOUSESTORE

DEPT B • P.O. BOX 69• KENMORE STATION • BOSTON, MA. 02215 • 617 -261 - 2700

SPECIAL DISCOUNTS/

ON KITS & ASSEMBLED UNITS

SAVE UP TO 20% OFF KIT PRICE WHEN A PERIPHERAL ISPURCHASED AT THE SAME TIME (S200 MAXIMUM DISCOUNT;

PERIPHERAL(S) OVER $900^ 20%'OFF KIT PRICEPERIPHERAL^) OVER $250^ 10% OFF KIT PRICEPERIPHERAL(S) OVER $95^ 5% OFF KIT PRICE

KITS

SCAMP KIT

FROM NATIONALSEMICONDUCTOR $99KEYBOARD KIT...$95

LEAR SIEGLER ADM-3A

WITH CURSOR CONTROL

• 12" CRT «RS232

• 2« LN x 80 CHAR•20 mA LOOP

KIT $875

+ $25 SHIPPING

IMSAI 8080 MICROKITS

IMM ROM CONTROL KIT LOW POWER DYNAMIC MEMORYEXPANSION TO I MEG. BOARDS

KIT S299 32K RAM BOARD KIT S T<3

ASSEMBLED 399 ASSEMBLED 1099

16K RAM BOARD KIT 499

ASSEMBLED 679

8O8OA KIT 5 SLOT...8080A KIT 22 SLOT..

4K MEMORY KIT

PIC-8 PRIORITY INT.SERIAL I/O KIT

..699..751

.. 139 PROM 4-512 KIT 165

.. 125 UCRI-1 KIT 59

..125 CABLE A KIT 18

VIKING 100 PIN CONNECTORS, HEAVY DUTY S3.00

SWTPC 6800

• 512 BYTES OF ROM

• RS232 OR 20 mA

MPA 145 MPB S 40

MPC 40 MPD 35

MPE 14.95 MPF 37.50

MPM 65 MPMx 35

MPP 42.50 MPL 35

MPS' 35 MPAb...l4.50

KPMb 14.50

4K memory— sioo

CT 64 TERMINAL KIT.. 325

. • • $J7J

•SERIAL INTERFACE• 4K RAM

MPCb.MPSb.MPLb, EACH 9.504KBA 5.00

GT61 99

AC30 AUDIO INTERFCE 79-50

CTP 15.50

CTS 39.95

CONNECTOR SETS

-MPU/MEMORY 2.50

-INTERFACE 2-00

PP40 PRINTER 250

SMOKE SIGNAL BROADCASTING I6K RAM $595

THOUSANDS OF KITS & PERIPHERALS

HAZELTINE 1000$795

35 lb SHIPPING12

VIDEO DISPLAY TERMINALLINES X 80 CHAR. 5x7MATRIX, 525 LINE RASTER. BUILT & TESTED;PLUG 8 GO!

GREEN PHOSPHOR

VIDEO MONITOR

$150 + $25 SHIPPING

16 MHz BANDWIDTH, STANDARD RASTERSCAN, 24 LINES X 80 CHARACTERS, ONE

ALL an ASR33 isand MORE $875

+ 165 lb SHIPPINGOLIVETTI TE318 - RS232 INTERFACE, 10 CPS,BUILT-IN PAPER TAPE, ELECTRIC TYPEWRITERKEYBOARD W/ ADDITIONAL 10 KEY NUMERIC PAD,YOUR CHOICE SPROCKER OR FRICTION FEED.

COPE 1030

BUILT UNITS

ICOMlMICROFLOPPIES.. $1095

649

PLUG COMPATIBLE FOR SIOO BUS...F024I1..

SINGLE Dr. IVE FD2402. .

ICOM FLOPPIES:

FF36-I FRUGAL 1 1 95

FF36-2 DUAL FRUGAL 1895

360-58 BUILT; INTERFACE 8080 300

S171 POWER SUPPLY 250

FD360-2-5 DUAL SYSTEM 3000

FD37H DESK TOP SINGLE FLOPPY SYSTEM 2350

FD37I2 DESK TOP DUAL 2650

KIM-1 6502 $245 INTERCEPT JR;«p8°n

KIM-2 4K 179 FROM INTERSIL, INC

CHIP!

KIM-3 8k 289

MANUALS PACKAGE 15

TARBELL AUDIO CASSETTEKIT 120

12K RAM 145

ROM/PROM BOARD 74.65

(YOU AOD MEMORY CHIPS)

SERIAL I/O 81.50

AUDIO VISUAL BOARD.. 125

IBM 2741 COMPATIBLE - "SELECTRIC BASED" PORTABLECONVERSATIONAL DATA TERMINAL, PRINTS UP TO 15 CPS.

SEND $1 FOR OURMICROCOMPUTING CATALOG

THE ONLY ONE OF ITS KIND!! FULL DETAILS ON OURCOMPLETE LINE OF KITS AND UNITS, REVIEWS OF OVER150 BOOKS, LISTS OF NEW AND SURPLUS PARTS AND"ALL ABOUT HOBBY MICROCOMPUTERS"-- AN INTRODUC-TION TO PERSONAL COMPUTING.

TO ORDER EQUIPMENT

1.ENCLOSE CHECK FOR FULL PRICE PLUS SHIPPING CIWRGES(KITS - ADD $5 IF UNDER $100;' $10 IF OVER)VISA (BANKAMERICARD) & MASTER CHARGE ACCEPTED -SEND CARD #, EXPIRATION DATE, INTERBANK #

2.CLEARLY IDENTIFY SHIPPING ADDRESS

.3.DESCRIBE ITEM BY MODEL NUMBER

4or 6 Digit Alarm Clock Kit

Features:

A. Fairchild 0.5" FND500 Series Display

B. Display Board may be remote

C. P.C Boards, Transformer, Speaker and all theparts needed (less case).

D. Detailed Instructions

12 Hr.-6-Digit $16.50, with 10 min. timer $25.50

with timer and crystal time base $29.504-Digit $14.95 6-Digit-24 Hr. $14.95 (no alarm)

0.8" 4 Digit Jumbo Display Alarm Clock Kit

Features:

A. Fairchild 0.8" FSC8000 Display Array

B. Fairchild Super-Chip - F-3817PC

C. P.C. Board, Transformer, Speaker and all

parts included (less case)

D. Detailed Instructions $19.50

BOWMAR SLIDE RULE CALCULATOR

Features:

A. 8-Digit Display C. Comes with Batt. Charger

B. Build-in Nl-Cad Batt. D. One full year warr.

ONLY $32.00 (Limited Quantity)

POWER SUPPLY KITS

5V 10A with OVP (Less Case, X'former, $7.95

Rect.&Capl-with X'former, Rect.&Cap $16.50

2-20V 1,3A continuously adjustable with current

limiting. Includes Transformer, P.C. Board,2N3055, Heat sink, and everything but the

case. $10.95

BOURNS MINIATURE TRIMMERS

3292X 2K 55«ea.or 10 for $5.00330PP 2K 75. ea. or 10 for $6.75

4" MUFFIN FAN-Slightly Used-$5.00

All in perfect Condition. Satisfaction Guaranteed

MINIATURE SLIDE SWITCH

DPDT .20 each

10 for $1.75

100 for $15.00

INTER-COM BOARD

Fully assembled.

Works on 9-15V D.C.

2 speakers make it work.

With Schematic

ONLY $3.00

ZENER DIODES

5V

14V

15V

IN2979 15V

IN3029 24V

IM3002 75V

'/2W

y»wy.w

10W

1W

10W

.12

.12

.10

2.50

1.25

2.50

COMPUTER GRADECAPACITORS

18,500/jF 80 V $4.5091,000/uF 20V $4.00100,000/iF 5 V $2.501.000/J+200 50V $1.00

TANTALUMCAPACITORS

1/J35V

1/U10V

3.3/J35V

10/J50V

22/L/35V

.15.15.20.35.25

MINIATURE TOGGLESWITCH

SPDT $1.00

DPDT $1.25

DPDT Center off $1.25

PUSH BUTTON SWITCH

Red, White, green andyellow 30s ea. 4/$1.00

TRANSFORMERS

All inputs 110 V AC

40 V CT. 10A30V CT. 20A20V CT. 10A24V 1.3A2.4-6.3-9-12V28V CT. 0.6A

1A4 in 1

$14.50$13.50$8.00$3.50$3.50$2.00

WIRE-WRAP TOOLS from OK

Hobby Wrap - 30 $5.45

Hobby Wrap-Model BW-630 Bat-tery Op. (less batt.) $32.95

OPEN FRAME POWER SUPP.

12V @ 1.8A with OVP 115V ACinput $7.50

5V@3A with OVP 115V ACinput $17.50

MODULAR POWER SUPPLY

5V @> 32A 115V AC Input withOVP (New) $69.50

24V @ 12A 115V AC input

(used) $37.95

28V 3A (used) $19.95

RECTIFIERS

IN 4001 .06IN4002 .07IN4003 .08IN4004 .09IN4005 .10IN4006 .12IN4007 .14

RCA House Mark.

1000V 3A .40600V 5A .75MOTOROLAIN1202A .65IN1612 .75

MDA962-2 1.80Bridge100V12A

THIS MONTH'S SPECIALS!

SN7400 $.12

LM741CH-TO-5 30

MH0026C

(5 MHZ Clock Driver) 2.95AY-5-3600I Keyboard Encoder by

G.I.)with Spec. Sheet 10.50LM340T-12 .80

LM340T-5 .80

AN214-4.5W Power I.C. with

Spec. 2.95

PANEL METERS

2%" X 2'A"

50L1A $3.50 150/JA $3.00

IOOjUA $3.00 300jUA $3.00

154" X 1K"-50/iA $4.00

L.E.D.

0.25" Red 25t 10 for $2.000.25" Green 30« 10 for $2.500.125" Red 20« 10 for $1.750.5" FND503CC $1.00

0.5" FND507CA. $1.00

0.8" FSC8000 C.C. $7.50

14 Pin14 Pin14 Pin16 Pin16 Pin22 Pin24 Pin24 Pin40 Pin

I.C. SOCKETS

Lo ProStandard-GoldWire Wrap-Gold

Lo pro

Wire Wrap-Gold

Lo pro

Lo pro Open Frame

Standard-GoldLo pro Open Frame

$.30.35.45.35.50.45.451.00.55

Zs

TERMS: Money Back Guarantee

CALIF. RESIDENTS ADD G^i SALES TAX

Please add $1.00 for postage inside Calif., $2.00 for

Out of State, Overseas add 10% of order. W^y!^

Minimum Order $5.00 CO.D. $20.00 {$1.00 handling)STORE HOURS: Mon.-Sai., 10-7. Sun. 10-3

PHONE 714/8210234

ELECTRONIC SUPPLIES

2669 W. LINCOLN AVE., ANAHEIM, CA. 92601

SPECIAL OFFER

100 STEPS

PROGRAMMABLE

SCIENTIST

#4525

• RPN logic with "built-in" hierarchy for increasedaccuracy and speed in calculating sequences involv-ing arithmetic, trigonometric, logarithmic, power orexponential functions. • A rollable 4-level stack letsyou review or use intermediate solutions. • Eight-digit plus 2-digit exponent LED display with full-floating decimal system. • Scientific notation forincreased mathematical capacity. • Sine, cosine,tangent and inverse trigonometric functions. •Common and natural logarithms and antilogarithms.

• Instant automatic calculation of powers and roots.

• Single-key square root calculations. • Single-key Pientry. • Separate storage memory. Square, squareroot and reciprocal calculations. Change sign andregister exchange keys. • MOS/LSI solid-state cir-cuitry. • Includes 3 AA rechargable NiCad batteries.

MANUFACTURED IN USA BY

BY NATIONAL SEMICONDUCTOR

ONE YEAR UNLIMITED WARRANTY

10 DAYS MONEY BACK GUARANTEE

JVIodel #4525@ 38.95 __Model #4520 @ 28.88 _

AC Charger®4.95

Case(s)@2.95

Calc. Stand®2.50

Cal. Res. add 6% taxTotal _

ALSO AVAILABLE

MODEL #4520 With the same features as above butwithout programming capability @ $28.88. Acces-sories same price as above. CirC|e 157 on inquiry card

SAME DAY SERVICE IF PAID BY CASHIERSCHECK, MONEY ORDER OR CHARGE CARD.

ASC II KEYBOARDNEW LOOK IMPROVED DESIGN

$58.00

This 63 key ASC II Encoded Keyboard kit wasdesigned and manufactured by Electronics Ware-house Inc. Features: Single 5 volt D.C. supply,utilizing onlyTTL Logic elements (no MOS devicesto blow). TTL drive capability (each of the eight bitsof ASC II output will drive the equivalent of tenstandard TTL inputs without external buffer drivers),de-bouncing, upper and lower case fully ASC II, 8bit parallel. In addition to the alpha-numeric andsymbol keys available on a regular keyboard, thefollowing keys are utilized: Escape, back-space,tab, line-feed, delete, control, shift-lock, shift (2keys), return. All 128 ASC II characters are generat-ed.

Kit includes: 63 key keyboard, P.C. board, allrequired components and assembly manual withASC II code list.

Optional: Parity bit -add 50$ • Enclosure-$25.00• Serial output - add $2.00 • 18 Pin edge connector- $2.00 • Sockets - $4.00

Note: If you already have this teletype keyboardyou can have the kit without it for $39.00. Dealerinquiries invited.

FROM CONCORD

THE FIRST FULL FEATURELSI DMM KIT

INTRODUCTORY PRICE

77

Reg. Suggested Retail: $149.00

AUTO RANGING

AUTO POLARITY

AUTO ZERO

3 Large Digits (1/2")Rechargable

77

MEASUREMENT RANGES:

Voltage: (AC& DC) 1 MV- 1000VCurrent (AC & DC) 10JUA- 1A

RESISTANCE 1Q-10MQBasic D C Accuracy, better than0 1% * 1 Digit

Power 4 AA batteries (Rechargable batteries optional)

NICAD BATTERIES: $6.00 • AC CHARGER: $4.95 • ENCLO-SURE: $12.95 • TEST LEADS: $1.95 • SHUNT KIT FOR 3CURRENT RANGES: $4.75 • SOCKETS $2.50

ORDERING INFORMATION

SHIPPING AND HANDLING - $3.00 + 50? InsuranceCalifornia residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. Dept. BREDONDO BEACH, CA. 90278

TEL. (213)376-8005WRITE FOR FREE CATALOG

You are invited to visit our store at the above address

Circle 85 on inquiry card.

COMPUTERS: circle desired kits,men show this ad to your owner.

r

1 Active Terminator Board $25

•Plugs into your S-lOO bus to actively terminate lines

•Minimize the crosstalk, noise, overshoot, and ringing you can find on improperlyterminated busses

"*

2 MOTHERBOARD(S)

• Prices include edge connectors

10 Slots: $8518 Slots: $118

Includes active terminations for unambiguous data transferUses glass epoxy, plate-through, double sided board

3 8K EconoRAM II $163.84

• Low current drain, zero wait states (1 wait with Z-80)

• Tri-state outputs mate with any type of bus

• Configured as two separate 4K blocks (with fully independent protect and addressdecoding to increase flexibility)

• Includes low power Schottky support ICs and full buffering

4 4KEconoR0M

$265

• NEW AND IMPROVED better listings; SP and PSW now implemented for more flexi-bility. Find out why Jay Bell, editor of Print-Out, said:

"Without a doubt, this board is the best buy I have made for my Altair 8800out of the $5000+ I've spent." (Print-Out, September 1976 issue)

Now you can have editor, assembler, and monitor routines that make the 8080 amuch nicer chip to work with.

5 CPU Power Supply

$45

• 5 Volts @ 4 Amps with crowbar overvoltage protection

• +12 Volts @ % Amp and -12 Volts @ % Amp

• Adjustable bias supply, 5 to 10 Volts at 10 mA

• Intended for use with small computer systems or as digital bench supply

CAVE

: irar*

J

BILL GODBOUT ELECTRONICSBOX 2355, OAKLAND AIRPORT, CA 94614

TERMS: Please allow up to 5% for shipping; excess refunded. Californiansadd sales tax. Street address must be included for COD orders. PlaceBankAmericard'B and Mastercharge® orders ($15 minimum) by calling our 24hour order desk at (415) 562-0636.

FREE FLYER: Just give us the word and we'll send out a copy of our flyer,which describes our complete line of products in greater detail.

Circle 86 on inquiry card.

' H'rnrmi /400NTTL

SN7400N

SN74Q1NSN7402NSN7403NSN74Q4NSN740SNSN7406NSN7407NSN7408NSN7409NSN7410NSN7411NSN7412NSN7413N. SN7414NSN7416NSN7417NSN7420NSN7421NSN7422NSN7423NSN7425NSN7426NSN7427NSN7429NSN7430NSN7432NSN7437N5N743BNSN7439NSN744QNSN7441NSN7442NSN7443NSM7444NSN7445NSN7446NSN7447NSN7448NSH7450NSN7451NSN7453NSN7454N

SN7459A

SN7460N

SN7470N

SN7472N

SN7473N

SN7474N

SN7475N*

SN7476N

SN7479N

SN7480N

SN74B2N

SN7483N

SN7485N

SN74B6N

SN74B8N

SN7489N

SN7490N

SN7491N

SN7492N

SN7493N

SN7494N

SN7495N

SN7496N

SN7497N

SN741D0N

SN74107N

SN74121N'

5N74122N

SN74123N

SN74125N

SN74126N

SN74132N

SN74136N

SN74I41N

SN74142N

SN74143N

SN74144N

SN74145N

SN74147N

SN74148N

SN74150N

5N74151N

SN74153N

SN741MNSN74155NSN74156NSN74157NSN74160NSN74161NSN74163NSN74164NSN74165NSN74166NSN74167NSN74170NSfJ74172NSN74173NSN74174NSN74175NSN74176NSN74177NSN74160NSN74181NSN741B2NSN74184NSN74185NSN74186NSN74187NSN74188NSN74190NSN7419INSN74192NSN74193NSN74194NSN74195NSN74I96NSN74197NSN74198NSN74199NSN74200NSN74279NSN74251NSN74284NSN74285NSN74367N

MANY OTHERS AVAILABLE ON REQUEST20% Discount for 100 Combined 74O0's

2.49

4.00

15.006.003.95

CD4000C04001CD4Q02CD4006CO4O07C04009CD4010CD401IC04012CD4013CD40I6(94017C04019CO4O20CD-5022CD4023C04Q24CO-1025CD-1027CD4028CD4029- CO4O30

25

CMOS

.65

CO4035

CD4040

CD4042

C040J4

CD40-16

CD4047

CO4049

CD4050

CD-1051

CD4053

CD4060

CD4066

CD-IQ69

CO4071

CD4081

CD4511

CD45I8

MC14566

74C0ON

nam

74C04N

74C10H

74C2DN

74C30N

7JC42N

74C73N

74C74

74C90N

74C95H

74C107N

74C15I

74CI54

74C157

74C160

74CI6I

74C163

74C164

74C173

74CI93

74C195

MC4044

MCUQ16

L.M3UDH BO

LM301H 35

LM301CN .35

LM302H 75

LM304H 1.00

LM305H .95

LM307CN 35

LM308H 100

LM30BCN 100

LM309H 1.10

LM309K 99

LM310CN 1 15

LM3I1H .90

LM311N .90

LM318CN 1.50

LM319N 1.30

LM320K-5 1.35

LM32QK-5.2 1.35

LM320K-12 1.35

LM320K-15 1.35

LM320T-5 1.75

LM320T-5.2 1.75

LM320T-8 1.75

LM320T-12 1.75

LM320M5 1.75

LM320M8 1.75

LM320T-24 1,75

LM323K-5 9,95

LM324N 1.B0

LM339N 1.70

LM34DK-5 1.95

LM340K-6 1.95

LM340K-8 1 95

LM34QK-12 1.95

LM340K-15 1.95

LM340K-18 1.95

LM340K-24 1.95

LM340T-5 1 75

LM340T-6 1.75

LM340T-8 1.75

LM340T-12 1 75

LM340T-15 1.75

LM340M8 1.75

LM340I-24 1.75

LM350N 1.00

LM351CN .65

LINEAR

78MG

LM370N

LM373N

LM377N

LM380N

LM380CN

LM38JN

LM382N

NE501K

NE510A

NE531H

NE536T

NE540L

NE550N

NE555V

NE560B

NE561B

NE562B

NE565H

NE565N

NE566CN

NE567H

NE567V

LM703CN

LM709H

LM709N

LM710N

LM711N

LM723H

LM723H

LM733N

LM739N

LM741CH

LM741CN

LM741-14N

LM747H

LM747N

LM748H

LM748N

LM1303N

LM1304N

LM1305N

LM1307N

LM1310N

LM1351N 1.6

LM1414N 1.7

LM1458C 6

LM1496N 9

LM1556V 18

LM2111N 1.9

LM29GIN 2.9

LM3D65N 6

LM3900N .5

LM3905N .6

LM3909 12

LM5556N 1 B

MC5558V 1.0

LM7525N 9

LM7535N 1.2

803BB 4.9

LM 75450 .4

75451CN .3

75452CN .3

75453CN 3

75454CN .3

75491CN .7

75492CN .8

75494CN .8

RCA LINEAR

CA3013 2.1

CA3023 2.5

CA3035 2.4

CA3039 1.3

CA3046 1.3

CA3059 3.2

CA3060 3.2

CA3D80 E

CA3081 2.C

CA3082 2C

CA3083 IE

CA3086 ,(

CA3089 3(

CA3091 to.;

CA3102 2'.

CA3123 2.1

CA3130 1.3

CA3140 1.2

CA3600 1.7

RC419RC4195

74LS0O74LS0274LS0374LS0474LS0574LSD8?4LS1074LS1374LS1474LS2074LS2674LS2774LS28741S3074LS3274LS4074LS5174LS5574LS73

29

74LS00

74LS74

74LS75

74LS7B

74LSB3

74LS85

74LS86

74LS90

74LS92

74LS93

74LS95

74LS96

74LS107

74LS109

74LS11?

74L513?

74LS13G

74LS138

74LS15374LS157741S16274LS16374LS1B474 LSI 7574LS1B174LS190741S19174LS19?MIS 19374LS19474LS19574LS25774LS26074LS2797415670

MM5309MM5311MM5312MM5314MM53I6MM5318CT7001

CLOCK CHIPS

6 Digit. BCD Outputs. Reset PIN.

6 Digit, BCD Outputs. 12 or 24 Hour

4 Digit. BCD Oulpuls, 1 PPS Output

6 Digit. 12 or 24 Hour. 50 or 60 Hz

4 Digit. Alarm. 1 PPS Output

Video Clock Chip, For Use Wtlh {MM5B41

6 Digil. Calendar. Alarm, 12 or 24 Hour

1*1

DATA HANDBOOKS

7400 Pin-out & Description of G400/740O ICSCMOS Pin-oul & Description ol 4000 Surics ICS- Linear Pin out & Functional Description^ ALL THREE HANDBOOKS S6.95

S2.95S2.95S2.95

I

T201 Slack Bracelel S19.95

3,

T237 wnim w/bratelel S29.95TZ36 Vellnw w/bracelet S34.95

Tlmeband bymmm/w— Watches —

Men's & Ladies

• Solid State

• Displays hour, minute,second, month & day

• Snap-out batteryreplacement

• Free set ol replacementbatteries

• Choose LED or LCDstyles

• One year factorywarranty

TC441 While w/slrap S29.S5TC440 Yellow w.sliau S34.9S

T311 While w/slrap $34.95T310 Velio* w slrap $39.95

CHANNEL F^"$159.95

mt/KMMo nofoeffTFurff/tnuemsrsm*

• Freeze Action • Speed Option

• Automatic time and scorekeepingBattery-tree AC operationDual controls with 8-way actionBuilt-in Pro Hockey and Tennis gamesEasy hook-up on any B/W or Color TVFactory warranty

Channel F — additional cartridges — $19.95 ea.

#8112 - Desert Fox/Shooting Gallery #8113 - Blackjack (1 or 2 players)

#8114 - Spitfire (1 or 2 players) #8115 - Space War

#8111 - Tic-Tac-Toe/Shooting Gallery/Doodle/Quadra-Doodle

XC209XC2Q9XC709XC209

XC22XC22XC22XC22SSL -22

125" ma.

OrangeYellow.200" dia

Red i

GreenYellowOrange

.190" dia.

Red

10 SI

DISCRETE LEDS

4.-S1

XCS26

Red

XC526

Green

XC526

Yellow

XC526

Orangp

XC526

Cleat

XC556

Red

XC556

Green

XC556

Yellow

XC556

Orange

XC556

Clear

Green

Yellow□range

.0B5" dia.MV50 - Red - 6 SI

INFRA-RED LEO'*' x'.«"xt/16"Flat SfSI.OO

SPECIAL * — XC556 Red 100/58.00 1000/S60.00 — SPECIAL *

DISPLAY LEDS

TYPE

MAM 1MAN 2MAN 3MAN 4MAN JMAN ?GMAN 7YMAN 52MAN G4MAN 74MAN 8?MAN 84MAN 3f>20

POLARITYCnminan AnodeS i 1 Doi M,muCommon CathodeCommon CaihodeCofnmon AnotleCemmoti Annde-qieenCommon Annde-yellowCommon Annde-jreenCommon Anode-tedCommon CtlliodeCommon Anode-yellnwCommon Catliodc yellow

n Ann

nrPE

MAN 3640MAN 4r10DL701DL704DL707MAN 4-74GDL741DL WOL 750DL 33BFND70FND503TND507

POLARITY

Common CaUtofle-orangeCommon Anode-RedCommon Anode-fed -Common CaihodeCommon AnodeCommon Anooe-HedCommon AnodeCommon AnodeCu"inon CainodeCommon CathodeCommon CathodeCommon CalrimlR

5U0 1 00

FACIORY

flCJECTS

BOARD A- 8V » 16"

Over GO each reusable IC'sMisc Transislors, Reststois.Diodes. Caps. Ciysiais. Switch, etc

DELUXE BOARD B — 11V* U

Over 100 each reusable 1C sMisc. Tranislors. Resislors.Diodes, Caps, Crystals. Switches, LEDS. etc

ATARI GAME BOARDS

S6.95 ea.

ONLY 500 EAAVAILABLE

S9.95 ea.

ONLY 500 EAAVAILABLE

HP 5082-7300 Multi-Digit Series

Va" Ht. « Common Cathode • Dip Package3 to 5 volts @ 5 mils per segment7 segment Monolithic • Red Display

2 Digll $ .79

3 Digit .89

4 Digit .99

5 Digil 1.19

fC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS

1Bpin22 pinIt pin16 pin

10 pin14 pin16 pin

t;'SOLDERTAIL STANDARD (TIN)

SOLDERTAIL STANDARD (GOLD)

WIRE WRAP SOCKETS (GOLD) LEVEL #3

24 pin

50 PCS. RESISTOR ASSORTMENTS $1.25 PER ASST.

ASST. 1

ASST. 2J^ ASST. 3

o

-ASST. 4C/3ASST. 5

ASST. 7

ASST. 8R

10 OHM 12 OHM 15 OHM IB OHM 22 OHM

27 OHM 33 OHM 39 OHM 47 OHM 56 OHM

6B0HM 32 OHM 100 OHM 120 OHM 150 OHM

1B0 OHM 220 OHM 270 OHM 330 OHM 390 OHM

470 OHM 560 OHM 680 OHM S?0 OHM 1K

I 2K3 3K

1 5K

3 UK

1 BK4 /K

220K560K1 5M3 9M

2 2K5 GK

?7K

1/4 WATT 5% 50 PCS,

GO

1/4 WATT 5% 50 PCS. ~&

I1/4 WATT 5% 5D PCS.]

1/4 WATT 8% 50PCS.

Includes Resistor Assortments 1 -7(350 PCS.) $7.49 ea.

SS.OO Minimum Order — U.S. Fundi OnlyCalifornia Rasldantt — Add 6% Salei Tsx

Spec Sheets - 25c — Send 35c stamp tor 1977A CatalogDealer Dltcounl Available — Reouett Pricing

1021-A HOWARD AVE., SAN CARLOS. CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advertised Prices Good Thru July

WIRE WRAP CENTER

HOBBY-WRAP TOOL-BW-6301

1\

$34.95 *

Iballenes no! mcludeol

Batteiy Operated (Size C)Weighs ONLY 11 OuncesWraps 30 AWG Wire ontoStandard DIP Sockets (.025 inch)Complete with built-in bit and sleeve

WIRE-WRAP KIT — WK-2-WWRAP . STRIP . UNWRAP

• Tool tor 30 AWG Wire

• Roll of 50 Ft. White or Blue 30 AWG Wire

• 50 pes. each 1". 2". 3" S 4" lengthspre-stripped wire.

$11.95

WIRE WRAP TOOL WSU-30

WRAP . STRIP . UNWRAP-15.95

WIRE WRAP WIRE — 30 AWG

25ft. min. $1.25 50tl.S1.95 100ft. S2.95 1000h.S15.00SPECIFY COLOR — White - Yellow - Red - Green - Blue - Black

Plastic Push Button Switch

' IS AWG Solid Wire - 5" Long

' .50 (wide) X .60 Irtish) '■•-21 Thread

' 8 AMP @ 14 Volt - 1 AMP f§ .10 Volt

1-9 10-Up

J-188-1 Push On-Push Off .59 .49

J-188-2 Normally Open 59 .49

J-188-3 Normally Closed .59 .49

DIP SWITCHES

SPST Slide Action

#206-4 ( 8 pin dip) A switch unit $1.75 ea.

#206-7 (14 pin dip) 7 switch unit $1.95 ea.

1 #206-8 (16 pin dip) 8 switch unit $2.25 ea.

TV GAME CHIP SET —$18.50

Includes AY-3-8500-1 chip and 2.010 mhz crystal —if purchased separately would cost S21.90.

TYPE

1\7461N751AIN 7521N7531N7541N9591N965BIN53321N52341N52351N5236IN4561N4SB1N4BSA1N40011N4O031N4003IN40O4

ZENERS -

VOLTS W

3.3 400mm

5 1 400m5.6 400m6.2 400m

6.5 400m8 2 400m15 400m

5.6 500m

6 2 500m6.B 500m7.5 500m25 40m150 7m180 10m

50 PIV 1 AMP

100 PIV 1 AMP

200 PIV 1 AMP

400 PIV 1 AMP

DIODES —

PRICE TYPE

4/1 00 1N4005

4/1 00 1N4O06

4/1.00 1N4007

4/1.00 1N3600

4/1 00 1N414B

8/100 1M4154

4/1.00 1N4305

28 1N4734

2B 1N47351N4736

RECTIFIERS

VOLTS W

600 PIV 1 AMP800 PIV 1 AMP1000 PIV I AMP200m

10m10m

10/1.0010/1 00

6/1.001511.0012/1 0020/1.002828

28

fJ47381N47426/1 00 1N47446/1.00 1N118312/1 00 1N118412/1.00 1N118512/1 00 1N118612/1.00 1N1188

1w

12

15

50 PIV 35 AMP

100 PIV 35 AMP

150 PIV 35 AMP

200 PIV 35 AMP

400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C36DC3BM2N2328MDA9B0-IMDA 9BO-3

35A @ 200V1 6A@20OV

FW BRIDGE RECFW BRIDGE REC

MPS ADSMPS A062NJU19A2M22I

WIWA2N23G3

2N:>:!i.'M

2N24B47N23D6A2N2907A2N2D252N30532N3D55MJl31ft!iMJE2955. 2N3392i 2N3398

5:SI 003,'SI no4/11 00

Mi oc

TRANSISTORS ™«*»

PM4ES03/S1.00 2N44DO

4.11 00 2N4401

■I'SI 00 2N«0?

musa

PN3567PN3568, PNJ5692N37042N37D52N37062N37072N37112N37242N37252N39032N39042N3905?N3M52N40132N4014

5.'5I DO JQ, 2N4J09

5/SI 00 (T 2N50B6

S.-S1 00 i 2U5CB7

BS1 00 [| | ZNaOEIS

2N4123 10 SI 00

CAPACITOR

10 pt22 p(

47 pi100 pi220 pi470 pt

.001ml.0022

0047ml

01ml

1 /35V

.15/35V.22/35V33/35V47/35V6B/35V1 0/35V

50 VOLT CERAMICDISC CAPACITORS1-9 10-49 50-1005 .04 .03 OOVF5 .04 .03 .0047/^F5 .04 .03 .OVF5 .04 .03 022MF5 .04 .03 .047,iF

100 VOLT MYLAR FILM CAPACITORS.12 .10 .07 .022ml 13

.12 .10 .07 ,047ml 21

.12 .10 .07 .1ml .27

.12 10 .07 .22ml 33

+ 20% DIPPED TANTALUMS (SOLID) CAPACITORS.28 .23 .17 1.5/35V

CORNER

t-9 10-49 50-100

.26

.28 .23 .17 2.2/25V .31 .27

.28 .23 17 3.3/25V .31 .27

.28 23 .17 4.7/25V .32 .2828 .23 17 6.8/25V 36 .31

.28 .23 17 10/25V .40 .35

.2B .23 .17 15/25V .63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

t 0/50V

3 3/50V

4.7/25V

10/25V

10/50V

22/25V

22/50V

47/25V

47/50V

100/25V

100/50V

220/25V

220/50V

470/25V

1000/16V

2200/ 16V

.13

.10

.47/25V.47/50V1.0/16V1.0/25V1.0/50V4.7/16V4.7/25V4.7/50V10/16V10/25V10/50V47/50VIO0/16V10O/25V100/50V220/16V470/25V

Radial Lead15

/-^(CRYSTALS

(as

pm#"

CV1A

CV2ACV3ACV7ACY1ZACY14ACY19ACY2ZACY30B

[THESE FREQUENCIES ONLY

Frequency1.000 MHz2.000 MHz4.000 MHz5.000 MHz10.000 MHz14.31818 MHz18.000 MHz20.000 MHz32.000 MHz

Casa/Style

HC33/UHC33/UHC18/UHC18/UHC18/UHC18UHC18/UHC18/UHC18/U

S5.9515.95S4.95S4.95S4.95S4.95S4.95S4.95S4.95

XR-2206KB Kit $29.95 Special XR-2206KA Kit $19.95

EXAR

WAVEFORM

GENERATORS

XR.-205 S3 40

XR-2206CP A 49

XP.-2207CP 3 85

STEREO DECODERSXR-1310CP S320

XR-131CEP 3 20

TIMERS

S 39

XH-555CP

XR-320P

XR-556CP

XR-2556CP

XR-224GCP

PHASE LOCKED LOOPS

XR-21Q

XR-215

XR-567CP

XR-567CT

3 20

r'7<)

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

.156 Spacing-Tin-Double Read-OutBifurcated Contacts — Fits .054 to .070 P.C. Cards

15/30 PINS (Solder Eyelet) S1.95

18/36 PINS (Solder Eyelet) $2.49

22/44 PINS (Solder Eyelet) $2.95

50/100 (.100 Spacing) PINS (Solder Eyelet) $6.95

25 PIN-D SUBMINATURE

DB25P PLUG $3.25

DB25S SOCKET $4.95

3V2 DIGIT DVM KIT

This 0-2 VDC .05 per cent digital voltmeter features the Motorola 3% digitDVM chip set. II lias a .4" LED display and operates from a single + 5Vpower supply The unit is provided complete with an injection molded black ■plastic case complete with Bezel. An optional power supply is availablewhich tits into the same case as the 0-2V DVM allowing 117 VAC operation.

A. 0-2V DVM with Case $49.95

B. 5V Power Supply $14.95

Etching Kits

32 X A:1"

27 X A-1

Plugboards

3662

8800V

© Peelot

P C. Etch Materials Kitenough lor 5 circuit boardsEtched Circuit KitComplete kit — only arJO water6.5X4.5 X 1/16 Epoxy glassP-Pattem-44 P.C. Tabs-spaced .156"Universal Microcomputer/Processorplugboard — Epoxy Glass — completewith heatsink and mounting hardware5.313 X 10 X 1/16 copper clad

$29.95 ea.S 9.95 ea.S 6.95 ea.$19.95 ea.

1/16 VECTOR BOARD

B4P44 062XXXPHS9P4-I 02XXXP64P44 0621I4P44 062I6QP4-1 0621G9P8J 0621E9P4.1062C1

2-Up

3 32

205-CB BwyBtui291-.36H Alummu680-.75A .Black A;

HEAT SINKS

y

Copper Meat Sink witfl Gl.ick Finish for TO-5 $ .25) Heal Sink lor TO-220 Transistors & Regulators S .25irwed Aluminum $1.60

HEXADECIMAL ENCODER 19-KEY PAD

.^>. .1-0

^.tJOtfct . ABCDEF

ME ,.;'-:,->; |jfc • Return Key

^H • Optional Key (Period)

■ Key

$10.95 each

63 KEY KEYBOARD

Tins keyboard leaTut

r;<!!lfd SPS1 if.'S (jtt,iti,i

any kind of P.C.B A ve

molded phsnc 13" t ~■M;h; irio:;i apfjhcr.iinri;,

63 ur

$19.95

MO0165 t6 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER

JOYSTICK

These joysticks feature four *potentiometers, that vary re-sistance proportional to theangle of the stick. Sturdy metalconstruction with plasticscomponents only at the mova-ble joint. Perfect for electronicgames and instrumentation.

*5K Pots $4.9500K Pots $7.95

MICROPROCESSOR COMPONENTS

8212821482168224CDP1802

2519252425252527252925322533334174LS67G

-1013

CPU

8 Bit Input/OutputPriority Interrupt ControlBi-Direclional Bus DriverClock Generator/Driverwith user manual

CPU'S

Super 8O0BSuper BO06

1024 DynamicHex 32 BITHe. 40 BIT512 Dynamic1024 DynamicDual 255 BITDual 512 BITQuad 80 BIT1024 SialicFita16* 4 Reg

30K Banc

S19.954.9515.956.9510.9539.95

8228 System Controller - Bus Driver $10.95

MC6800L 8 Bit MPU 35.00

MC6B20L Periph. Interlace Adapter 15.00

MC6810AP1 128 x 8 Static RAM 6.00

MC6830L7 1024 x 8 Bit ROM 18.00

Z80 CPU 49.95

Sialic 5.95

Static 1.78

Dynamic 4.95

Static 6.95

Static 2 49

Sialic 6.95

Static 6.95

B599

16 x 4

Static

3 49

91L02

102-1- '

St.ttic

2.25

74200

256 x l

Static

6.95

93421

256 x 1

Sialic

2.95

IMM52&

2Kx 1

Dynamic

2 for 1.00,

I70?A5203B2S23B2S123

OpenCTnstale

BOM'S

2513(2140) Char. Gea -upper c2513(3021) Char. Gen.-lower c;2516 Char. Gen

S 9.9599510.95

|27036301-16330-16331-1

Tri-Slate BipolarOpen Collector BipTri-Slate Bipolar

3.95

3.4"!2,952.95

AY-3-8500-1 !

MC3061P

MC4016P (744161

MCI 4583

MCI 4 562

CD4059

CD4070

SPECIAL REQUESTED ITEMS

CD4508

C04515

CD4520

MCM6571

MCM6574

MCM6575

82S1155841MK50?40

17.50

17.5019953,7510.50

33419368

MC1408L7LD1T0/L01T1

AY-5-910095H90

395

9.95

25 OO/set

PARATRONICS

ALLOW 1 TO 3WEEKS DEUVERY

Featured on February's Front Cover of Popular Electronics

LogicAnalyzer Kit

■ Analyzes any type of digital systemi Checks data rates in excess of 8 million

words per secondi Trouble shootTTL, CMOS, DTL. RTL,

Schottky and MOS families

Displays 16 logic slates up to 8 digits wide

See ones and zeros displayed on your

CRT, octal or hexadecimal format

Tests circuits under actual operating

conditions

Easy to assemble — comes with step-by-step construction manual

which includes 80 pages on logic analyzer operation.

MODEL

100A

$189.00/Kit

Some applications are:

— Troubleshooting microprocessoraddress, instruction, and data flow

— Examine contents of ROMS

— Tracing operation of control logic—• Checking counter and shift

register operation

— Monitoring I/O sequences

— Verifying proper system operationsduring testing

®

BUGBOOK

Continuing Education Series

BUGBOOK I & II

BUGBOOK lla -

BUGBOOK III -

Basic concepts of TTL Logic—over 90experiments $17.00/set

Introduces UART — recommendedtor RTTY enthusiast S5.00/book

Explores 8080 chip — introducesMark 80 Microcomputer S15.00/book555 TIMER APPLICATIONS SOURCEBOOK WITHEXPERIMENTS — over 100 design techniques $6.95/bookCMOS-M-DESIGNERS PRIMER AND HANDBOOKa complete CMOS instruction manual $6.00

Introductory Offer — all 6 books (worth $49 95)SPECIAL - S42.95

1

CONTINENTAL SPECIAL

PR0T0 BOARD 6

S15.95

(6" long X 4' wide)

Other CS Prolo Boards

PB10O -4.5" x6" $ 19.95

PB101 -5.8" x 4.5" 29.95

PB102 - 7" x4.5" 39.95

PB103 - 9 ' x 6" 59.95

PB104 - 9.5" x 8" 79.95

PB203-9.75 x6V! x 2% 75.00PB203A -9.75x6'/2x2% 120.00

(includes power supply)

Logic Monitor

lor DTL, HTL, TTL o

CMOS Devices

*M-95 ' QM3

IES

PROTO CLIPS

14 PIN $4.50

16 PIN 4.75

24 PIN 8.50

DESIGN MATES

DM1 - Circuit Designer

54.95Function Generator

69.95RC Bridge

59.95

CD Timebcind T\Digital Alarm Clocks

C-500 - ivory CaseC-500B - Ebony Case

$16.95

i 24-hour alarm» Doze Button. 100% Solid State> Large Red Led Display

l.B" hirjh). AM/PM indicatori Seconds display at touch

ot button. Power failure indicatori One year factory warranty

DIGITAL AUTO INSTRUMENT

SEVEN DIFFERENT INSTRUMENTS!

MEETS OH EXCEEDS ORIGINAL AUTOMOTIVE SPECS.

Please specify which one of the seven models you want

when ordering - these do not a!! come in one unit.

Each model must be bought separately.

TACHOMETER1 O-99O0 RPM

6 or 8 Cyclinders

FUEL LEVEL3 PercentageLow Fuel Indicator

OIL PRESSURE0-80 PSI

BATTERY MONITOR±1 Volts From 11-15 VDC

BRIGHT YELLOW ORANGE.3" t FD DISPLAY!

includes case, bracket and all components — complete.Nothing else to buy! 12 Volt NEG GFID.DIMENSIONS: 4Vj x4x2 KIT: $49.95

Add $10.00 lor required speed transducer. ASSEMBLED: $59.95

DIGITAL STOPWATCH

• Bright 6 Digit LED Display

• Times to 59 minutes 59.59 seconds

• Crystal Controlled Time 8ase

• Three Stopwatches in One

Times Single Event — Split & Taylor

• Size 4.5" x 2.15" x .90- [AVt ounces)

• Uses 3 Penlite Cells.

Kit — $39.95

Assembled — $49.95Heavy Duty Carry Case $5.95

Stop Watch Chip Only (7205) S19.95

ELECTRONIC 'PENDULUM' CLOCK

ft

• Swing Pendulum

• .7" Hours and Minutes Display

• 12 or 24 Hour Mode

• Time Set Push Buttons

• Alarm FeatureKit-unfinished $59.95

{case unassembled)Assembled-stained $69.95 (case assembled)

QUARTZ DIGITAL AUTO CLOCKOR ELAPSED TIMER!

Elapsed Timer: Hre, Mint anil Sect

12 or 24 Hr Capacity

Simple Reset - Start Pushbutton

Control

Complete kit includes mounting bracket,case and all components, nothing else tobuy. Features MM5314chip: Large .4" LED s.Accuracy better than ± min. per mo. in:ernalbattery backup. 12 volt non-polar operation.x2'

Kit: $29.95Assembled: $39.95

CASE ONLY (includes hardware, mounting bracket and bezel) $6.50

JE700 CLOCK

The JE700 is a low cosl digital clock, butis a very high quality unit The unit fea-tures a simulated walnnl case with di-mensions of 6" x f/t" X 1' It utilizes aMAN72 high brightness readout, and theMM531-I clock chip.

$17.95

DM2 -

QT PROTO STRIPS

QT lyps

OT-59SQT-59BQT-47SQT-47B0T-35SOT-35BQT-18SOT-12SQT-BSOT-7S

bus strip350

bus strip

12.50

2.(104.753.75

Experimentor 300Experimenter 600

S 9.95S10.95

S5.D0 Minimum Order — U.S. Funds OnlyCalifornia Residents — Add 6% Sales Tax

Spec Sheett - 25c — Sand 35c Stamp (or 1977A CatalogDealer Discount Available — Requett Pricing

1021-A HOWARD AVE., SAN CARLOS, CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advertised Prices Good Thru July

DIGITAL CLOCK KIT — 3% INCH DIGITS

4 DIGIT KIT $49.95 4 DIGIT ASSEMBLED $59.95

6 DIGIT KIT $69.95 6 DIGIT ASSEMBLED $79.95

This dock features big 3V?" high digits for viewing in offices, auditoriums,etc. Each digit is formed by 31 bright 0.2" LEO's The dock operates from117 VAC, has either 12 or 24 hr. operation. The 6 digit version is 27" xZW x 1 V»" and the 4 digit is 1B" x 3W x 114", Kits come complete wtthall components, case and transformer.

Specify 12 or 24 Hour When Ordering

JE803 PROBE

The Logic Probe is a unit which is lor Ihe mosl panindespensinle m trouble shooting logic familiesTTL. OTL. RTL. CMOS It derives the power ils to operate directly oil ot ihe circuit undeidrawing a scant 10 mA mat II use; a MAN3readoul 10 indicate any ot the following States bythese symbols (H) ■ t (LOW) ■ o (PULSE) ■ P TheProbe can deled high treguency pulses to 45 MHz

;an I be used at MOS levels or cuciiit damage

. result

$9.95 Per Kit

printed circuit board

PL 5V 1A Supply

This is a slardard TTL power supply using Ihe well knownLM309K regulator IC to provide a solid 1 AMP ot current at 5volts. We try to make Ihings easy tor you by providingeverything you need in one package, including ihe

ior on $9.95 per Kit

Circle 87 on inquiry card.

computer display terminal

This display terminal has an integral controller, B/W cathode ray tube and keyboard. The system has a serial I/O interfacefor communication and an I/O interface for a printer

DISPLAY (P/N 4802-1095-501) FEATURES:

• 17" B/W CRT

• 41 lines of data

• 52 characters per line

• Characters are generated by a diode matrix "graphic"technique

• 21 special push-buttons wired for a program call up

• Brightness Control

• Self-contained power supply

KEYBOARD (P/N 4802-1115-501) FEATURES:

• Reed switch technology

• 54 data keys

• 28 special keys detachable with cable

LOGIC UNIT (P/N 4802-1157-502) FEATURES:

• 1024 by 6 bit core memory

• Printer I/O interface

• Communication I/O interface

POWER: 115V, 50/60 Hz, 500 Watts

WEIGHT: 210 lbs. (including logic unit, keyboard,display and cables.)

FOB LYNN MASS (you pay shipping)Check with order please.

$180.00

External logic & power pack not shown.

u

AS IS

J?

4 way cursor control, graphics display.

The story: These are unused terminals made for airportticketing & seat assignment. After several years ofstorage they require tinkering to make operable. We havesome hints printed such as cleaning PC fingers. One ofour customers has this tied into his KIM-1, another hashis running with his IMSAI. We have data on this.Should be useable on most common computers. A hellof a deal and all for a paltry $180.00- Don't be left outas many were on our past VIATRON deal. Sold "as is"all sales final.

WITH COMPLETE DOCUMENTATION

SPECTRA FLAT TWIST

50 conductor, 28 gauge, 7 strands/conductor made by Spectra. Two con-ductors are paired & twisted and the flatribbon made up of 25 pairs to give totalof 50 conductor. May be peeled off inpairs if desired. Made twisted to cut downon "cross talk." Ideal for sandwiching PCboards allowing flexibility and workingon both sides of the boards. Cost orig-inally $13.00/ftSP-324-A $1.00/ft. 10 ft/$9.00

SP-234-A $1.00ft50cond. 10ft/$9.00SP-234-B .90ft32cond. 10ft/$8.00

In tall TO-5 can TINY

DPDT, 24 volts. Brand new. SWITCH

cost $16.00 each TELEDYNE

SP-134 $3.00 each 2/$5.00

WIRE WRAP WIRE

TEFZEL blue #30 Reg. price$13.28/100 ft. Our price 100 ft $2.00;500 ft $7.50.

MULTI COLORED SPECTRA WIRE

Footage

8 Cond

12 "

14 " 22

29 " 22

10'

#24 $2.5022 3.00

50' 100'

9.00 15.00

11.00 18.00

3.50 13.00 21.00

7.50 28.00 45.00

Great savings as these are about 1/4book prices. All fresh & new.

sTie&wuz

Precision 16 pin DIP network as shown.Each resistor IK. For pull-up/pull downinterface networks. Value over $1.00each; New, CTS or Beckman

J^AfiJ^U^LR,

sp-320 pack of 6 $1 .oo 1^4^^^

Please add shipping cost on above. Minimum order $10

FREE CATALOG SP-9 NOW READYP.O. Box 62, E. Lynn, Massachusetts 01904

Circle 18 on inquiry card.

I

ITM

IIU I CrilWLE

MICROCOMPUTING FOR HOME AND THE SMALL RUSINESSMAN

The professional publication bringing microcomputing technology to the hobbyist, small businessman, educator,engineer and student. Every issue edited to bring technology and people together in the simplest manner.

INTERFACE AGE is packed with

HARDWARE ARTICLES — Product profiles, comparisons,applications, modifications and construction pro-jects.

SOFTWARE ARTICLES — Microcomputer developmentsoftware, short software routines, applicationsoftware, off-line software storage formats, softwarecommunication standards and access to themicrocomputer software depository for all INTER-FACE AGE readers.

TUTORIALS — Fundamentals of micro processors, basics formicrocomputing, professional to technical transitioninformation, understanding software, elementarymath for computing.

• NEW PRODUCTS — Manufacturer profiles and latestproduct releases.

USER COMMUNICATION - UPDATE - devoted toclub and organization announcementsand activities. — LETTERS TO THE

EDITOR — Reader forum for expressionof opinions and feedback on articles andfeatures.

MICRO-MARKET/FIFO FLEA MARKET - Low cost/nocost advertising for the newmarketeer/garage sale enthusiast.

If you need to know how to get started in microcomputing or need the valuable software onceyour system is completed then INTERFACE AGE is a must for you.

Don't Delay — Subscribe Today!

r

INTERFACE AGE MAGAZINE

1

P.O. Box 1234Cerritos, CA. 90701

12 Monthly Issues:

$10 U.S., $12 Can./Mex.,

$18 International

□ CHECK

□ MONEY ORDER

Name.

Address.City

Country .

State-

Zip.

L

MAKE CHECK PAYABLE TO: INTERFACE AGE MAGAZINECircle 89 on inquiry card.

J

NEW COMPUTER INTERFACE BOARD KIT

Our new computer kit allows you to interfaceserial TTL to RS 232 and RS 232 to TTL Thereare four of these supplied with the kit, so youcan run up to four devices on one TTL or fourseparate TTL to RS 232 devices.

Typical use: You can use your computerports to run an RS 232 printer, video terminaland two other RS 232 devices at once, without

constantly connecting and disconnecting yourterminals.

Example: Out store to printer — VoltageQ Q requirement + 5V and ± 5V or ± 12 V depend-ing on your RS 232 device.

We supply — board, connectors, documen-tation and components. Sorry, we do not supplycase or power supply.

GENERAL PURPOSE COMPUTER POWER SUPPLY KIT

This power supply kit features a high frequency torroid transformer with switchingtransistors in order to save space and weight. 115V 60 cycle primary. The outputswith local regulators are 5V to 10A, in one amp increments, - 5V at 1A, ± 12V at 1Aregulators supplied 6 340T-5 supplied.

$79

00

UNIVERSAL 4KMEMORY BOARD KIT

$74

50

This memory board may be used with the

F8 and with minor modifications may be used

with KIM-1jup.

32-2102-1 static RAM's, 16 address lines,8 data lines in, 8 data lines out, all buffered. On-board decoding for any 4 of 64 pages, standard44 pin, .156" buss.

F8 EVALUATIONWITH EXPANSION

A fantastic bargain for onlywith the following features:

• 20 ma or RS 232 interface

• 64K addressing range

• Program control timers •

• 1K of on-board static •memory •

• Built in clock generator •

BOARD KITCAPABILITIES

$99

00

64 Byte register

Built-in priority interrupts

Documentation

Uses Fairbug PSU

FOR FAIRBUG 4K F8 BASIC ON PAPER TAPE $2500

2"?08 8K EPROM S24.95

2522STATICSHIFTRE6 S 1 95

2b13 CHARACTER GEN S 9 95

2518 HEX 32BITSR $3.50

2102 1 1024 BT RAM $ i.3g

S2804K DYNAMIC RAM . S 6-95

MM5202A UV PROM S 6 95

MM5203 UV PROM S 6 9b

1702A UVPROM S 5.95

5204-4K PROM S10 95

AY 5 1013 UART. ; «. ,y.-,y ;, j 695

MINIATURE MULTI-TURN TRIM POTS1G0, 500, 2K,5K,10K,25K.50K.tOOK,200K

1 Meg, S.75i;ach 3/S2.00

MULT I TURN TRIM POT S Similar to Bourns3010siylc3/16"x5/8"x1 1/4". 50. 100.IK, I0K. 50K Ohms SI .50 mi. . 3/54,001.1(11 If ACTIVATED SCHsTO 18, 200V 1 A S 1.76

TRANSISTOR SPECIALS

2N3585 NPN Si TO 66 S .95

2N3772 NPN Si TO 3 S I 60

2N456A PNP GE S .75

2N4908 PNP Si 10 3 . . S 1.00

2N6056 NPN Si TO 3 Darlington S 1.70

2N5086 PMP Si TO-92 4/S 1.00

2N4898 PNP TO 66 S .60

2N404 PNPGE TO 5 5/S 1.00

2N3919 NPNS. TO 3 RF S 1.50

MI'SA 1 3 NPN Si TO 92 3/S 1.00

2N3767 NPN Si TO 66 . . S .70

2N2222 NPN Si TO 18 . . . . 5/S 1.00

2N3055 NPN S. TO-3 S .80

2N3904 NPN S. TO 92 . . . 5/S 1.00

2N3906 PNPSr T0 92 5/S 1.00

2N5296 NPN Si TO-220 S .50

2N6109 PNP Si TO-220 S .55

2N3G38 PNP Si TO-5 5/S 1 .00

2NG5I / NPN TO 92 Si 3/S 1.00

C/MOS (DIODE CLAMPED)

74C10 22 4016 40 4029 1 10

MCI93 '50 4017 1.05 4030 .22

4001 .22 4018 1.00 4033 1 50

4002 .22 4019 25 4035 1 10

4006 1 20 4020 1 05 4042 ?B

4007 22 4022 95 4046 2.25

4009 .42 4023 22 4049 40

4010 ,42 4024 , 75 4050 40

4011 .22 4025 22 4055 1 50

4012 22 402G 1 25 4066 SO

4013 40 4027 40 4071 .274015 95 4028 HE 4076 1.05

IN 4148 UN914) 15 SI 0U

MCA 81 OP] ICAI ! [Ml i SWITCH SI -■>"

LED READOUTS

FND359C.C..4" S .55 HP 7740 .3" C.C. SI.

FND 70 C.C. A" S .60 MAN-7-.3" C.A. S .

END 503 C.C. .5" Si.05 NS 33-3 dig. array S .

END 510 C.A 5" SI 05 Dl 747 C A 6" SI

Terms: FOB Cambridge, Mass.Send Check or Money Order.Include PosOrder $5.00, COD'S $20.00

PRINTED CIRCUIT BOARD

7 WATTLD-65LASER DIODE IR $a95

2N 3820P FET S 45

2N 5457 N FET $ .45

2N2646. ... ... S .45

ER 9O0 TRIGGER DIODES 4' SI 00

2N 6028 PROG UJT S 66

8 PIN DIP SOCKETS . . . S .24

14PIN DIPSOCKETS . . S .25

16 PIN DIP SOCKETS $ .28

18 PIN DIP SOCKETS S 30

24 PIN DIP SOCKETS S ,40

28 PIN DIPSOCKETS $ .50

40 PIN DIP SOCKETS $ .60

VERIPAX PC BOARDThis board is a 1/16" single si tied papei apoxyboard, W'xBW DHILLED and ETCHEDwhich will hold up io 21 single 14 pin iC'sor 8. 16. ot LSI DIP IC's wiih busses lot

power supply i:npnec'or S4 00

MV5G91 YELLOW-GREEN

BIPOLAR LED SI.25

FP 100 PIIOl O THANS S .50

RED, YELLOW, GREEN or AMBER

LARGE LED's 6/S1.00

1L-5 (MCT-2) S .75

MOLEX PINS 100/$I 00

1000/$8 0010 WATT 2ENERS 3.9, 4.7, 5.6, 8.2,

12,15.18.22.100,150 or 200V e.i. S .601 WATT ZENERS4.7, 5.6,10, 12, 15

18 or 22V ea. S .25

MC6860 MODEM CHIP $9.95

Silicon Power Rectifiers

TANTULUM CAPACITORS

Full Wave Bridges

22UF 35V 5/S 1.0047UF 35V 5'$1.0068UF 35V 5S1 001UF 35V 5.S1.002.20UF 20V5/S1 003 3UF 35V 4S1 004.7UF 15V 5/S1.00

3A 12A 50A 125A

100 0G

.14 30 .80 3 /0

200 .07

.20 .35 1.15 4.25

400 .09

.25 .50 1.40 6.50

COO .11

.30 .70 1.80 8.50

800 .15

.35 .90 2.30 10.50

1000 .20

.45 1 10 2.75 12.50

SILICON SOLAR CELLS

2V diameter.4V at 500 ma. $4.00 /. 2 V at 200 mils $2.00

309K S .95 340K-5.12.15

723 S .50 or 24V. ... SI.25

LM 376 .... S .GO 340T-5, 6, 8, 12

320K 5 or 15V S1.40 15.18 or 24VS1 10

320T-5,12,15 78 MG 51.35

ot 24V . . $1.25 79 MG SI.35

RS232 DB 25P male $3.25

CONNECTORS DB 25S female . . S3.95

7400740174027403740474057406740774087409741074117412741374147416741774207425742674277430743274377438744074417442

CTS

MIN1A1 URE DIP206 4 Fori- SPST s

SW

VUll

TCHESlies

"

one

nmidip p.ick

lie

SI 75

CTS

2068

Eight SPST

wit

rfws

in .i 16

I

ii DIP

package.

SI 95

ALCU MINIATURE TOGGLE SWITCHES

MTA 106 SPDT SI.20

Ml A 206 DPDT SI. 70

SOLID STATE SALES

P.O. BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-4005

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Circle 90 on inquiry card.

High quality sockets for IC's and PC interconnections. Checkour price and quality and you will see why TRI-TEK Is fastbecoming the leader in IC sockets.

Low Profile DIP Solder Toil (Tin)

1-9

10-24

25-100

SKT-0802 8pin

.15

.15

.14

1402 I4pin

.18

.17

.16

1602 16pm

.20

.19

.18

1802 I8pin

.27

.26

.25

2002 20pin

.29

.28

.27

2202 22pin

.35

.34

.33

2402 24pin

.36

.35

.34

2802 28pin

.42

.41

.40

4002 40pin

.60

.57

.53

3 Level Wire Wrap Gold

5KT-I400160018002400

4000

■ 1-9

.38.42.731.001.69

10-24.37.41.65.911.51

25-100.36.40.59.831.37

PRESTRIPPED WIRE WRAP WIRE

Highest quality 30 ga. Kynar insulated silver plated wire Forwrapping. Stripped 1" on both ends. Indicated lengths arelengths of insulated portion. Packed 100 per sturdy plasticvial or 1000 per poly bag. Compare our prices III. Availablein Slack, Red, Yellow and Green. State color desired.

Length1"2"4"6"

Price per tube of 100SI.48 (WW30VC-1)SI.60 (WW30VC-2)$1.85 (WW30VC-4)S2.20 (WW30VC-6)

Price per bag of 1000S11.84 (*WW30BK-1)S12.80 ('WW30BK-2)$14.80 ('WW30BK-41SI 7.60 (*WW30BK-6)

ROLLS OF WIRE SAME AS ABOVE'30 ga. KYNAR)100 Ft. ..$2.95 500Ft $8.95 ioOOft. ..$14.95

ICINTERCONNECTASSEMBLIES

SINGLE END

No OF Pins

GOPOBffiJ

Says

78HGKC 5A VARIABLE REGULATOR

NOW- at last, a high current adjustable regulator.Same simple circuitry as the popular 78GKC. Needsonly two external resistors to program to any volt-age between +5 and 30V (? 5A output.

78HGKC $13.95

Spec 30

NEW BOOK

NEW 1977 VERSION OF NATIONAL'S CMOSGreatly expanded now contains 530 pages of data on the 7ACseries as well as the popular 4000 series. Also has data andapplications on the more complex CMOS products far whichNational has become famous.CMOS DATA BOOK- 77 Edition by National $3.95

PROFESSIONAL TEMPLATES-LOGIC SYMBOLK-Stand MIL806-1

3/4 Size $3.50

1/2 Size (Handy shirt pocket size) $3.25

Conmijte^FlowChart^ynibols^^^^^^^^^^^$3^50

100 PIN MINICOMPUTER PC CONNECTORS2X50 with . 125" spacing. Solder tall or wrap terminals. By Tl.PCC-100ST (solder)....$4.99 PCC-100WW.... $4.99 4/S17.75

HCH6571A is an 8192-Bit Horizontal-Scan (Row select)character generator with shifted characters. Itcontains 128 characters In a 7X9 matrix, and has thecapability of shifting certain characters that normally extend below the baseline, such as j,y,g,p andq. A 7-bit address code is used to select one ofthe characters.Features:

.Static operation

.TTL compatability

.CMOS compatability (5V)

.Shifted character compatability

.Includes Greek alphabet

.Maximum access time =500nS(See article in March '77 issue of 73 Magazine forapplications including TV-Computer interface)

MCM657IA $9.95

Specs $1.00

I

MM5320 TV SYNC GENERATOR I.C.Generate all the sync pulses necessary for camera or videoterminals. Use with MCM657IA in the TV-Computer inter-face. MM5320N SI 8. 80

Specs 60c;

C30-1 400V, 25A Stud SCR 52.25

SC45E 500V, lOAStudTrioc SI .59

Insulated Stud 400V, 10A TRIAC assembly with built-indiac. TRI-133 SI .85

TIP-30 40V, 1 amp PNP Plastic 50?

TIP-33 40V, lOAmp NPN Plastic $1.00

LM1815 ADAPTIVE SENSE AMP CHIP.Used with motor control to adopt to variable input and noiselevels. Applications include zero crossing switch, motorcontrol, tachometers, motor testing.

LM1815N $5.72

Specs 30?

1N5393 200V, 1.5A Diode. Sturdy replacem1 N4003 at a good savi ngs

:nt for.. 15/S1

2N2369 High Speed NPN switching transistor. Markedfor a giant computer company with house number. TO-18metal case. PRIME PARTS!! 11*2501 -12 (2N2369 House Numbered) 8/$l

LM7812KC/LM340-12. Brand new, industrial excess in-ventory brings you a real bargain in this +12V, 1A regula-tor. Made by Silicon General for one of those big 'putercompanies.LM7812KC/340-12 SI.49! I

2N3902. High voltage NPN. VCEX=700V, VCEO=400V,

IC=3.5A, PD=100W.

2N3902... SUPER SURPLUS BARGAIN!! I S3.00

1N2071. 600V, 750mA diodes 15/$].00

NUMBER CRUNCHER. MM57109N I.C.A scientific calculator chip programmed to work with BCDcoded data and hard wired I/O instead of keyboard anddisplay as usually found. .This allows an easy connect todata sources such as instruments and micro computer databusses. Provides you with full range of scientific comput-ation without the drudgery of having to program the detail-ed algorithm.

MM57109N...with 22 pages of specs $21.92

Specs only $ 2.00

SIGNETICS 8000 SERIES TTL LOGICThese quality units are faster and have great)out capability than standard TTL. From a giaitory change-over you get real bargain prices,are house numbered, but we provide a referencipin-out sheet.

N8880A.N8822A.N8885A.N8890A.N8202A.

.Quad-2 input NAND gate

.Dual J-K master/slave F/F.

.Quad 2-input NOR gate

.Hex Inverter

.10 bit "D" type register..

.8/$A/$.8/$.6/$.. $

All: and

1.001.001.001.001.25

The following items are available in large quantitiesDealer or manufacturer inquiry is invited.

2N3414.. NPN switch on reels 10/$1

1N753A.. 6.2V, 5%, ^W Zener 5/$l

C106F2.. 50V, 4A SCR w/socket 3/$l

1N967B.. 18V, 57., %W Zener 5/$l

42501-1 Quad Hi speed NPN transistor in 14 pin DIPpackage. Similar to Motorola HPQ3303 5/$l

MC14411 BIT RATE GENERATOR.Single chip for generating selectable frequencies for equipment in doto communications such as TTY, printers, CRT sor microprocessors. Generates 14 different standard bitrates which are multiplied under external control to IX,8X, 16X or 64X initial value. Operates from single +5

volt supply. MC14411 $11.98

4 pages of data 40

Crystal for the above $4.95

• Accuracy: 10.05% of Reading it Count

• Two Voltage Ranges: 1.999 V and 199.9 mV

• Up to 25 Converiions/t

• Zjn> 1000 M ohm

• Auto-Polarity and Auto-Zero

• Single Positive Voltage Reference

• Standard R-Senes CMOS Outputs-Drives One Low Power

Schottky Load

• Uies On-Cliip System Clock, or External Clock

• Low Power Consumption: 8.0 mW typical @ ±5.0 V

• Wide Supply Range: e.g.. ±4.5 V to ±B.O V

MC14433 SINGLE CHIP 3JDIGITA/D

Single chip combines linear and CMOS digital to bring you

the simplest yet DVM approach. Requiring only 4 external

passive parts, this subsystem gives you: Auto polarity, auto

zero, single voltage reference, 8 mW operation, overrange,

underrange signals, 25 conversions per second and .05% i

1 count accuracy! 100 uV resolution. 24 Pin DIP.

MCI4433P with specs $19.55

tm-tek, inc.

6522 noetri 43P0 Avenue.

GlenoALe, ARizona swoi

phone 602 - 931-6949

We pay surface shipping on all orders over $10 US, $15 foreign in US funds.Please add extra for first class or air mail. Excess will be refunded. Ordersunder $10, add $1 handling. Pleose add 50^ insurance. Master charge andBank America cards welcome, ($20 minimum). Telephone orders may be placed10AM to 5:30PM daily, Mon thru Fri. Call 602-931-4528. Check readerservice card or send stamp for our latest flyers packed with new and surpluselectronic components.

Circle 91 on inquiry card.

Header Service

Inquiry No. Page No.

70 Alpha Digital Systems 16314 Anderson Jacobson 50

7 Apple 22, 23, 24

11 Backer-Lorinq 32

51 Bits Inc 129,135,142-145,160

71 Bits and Bytes 16341 BPI 131

72 Charles Floto 163

73 Cheap Inc 16356 Comptek 151

4 Compucolor 6, 7

24 Computalker 87

74 Computer Corner 163

75 Computer Depot 163

61 Computer Enterprises 154

76 Computer Hut 163

77 Computer Mart of NH 16347 Computer Room 137

31 Computer Land 107

68 Computer Store 162

83 Computer Warehouse 167

22 Continental Specialties 83

2 Cromemco 1, 2

39 DAJEN Electronics 128

63 Data Search 155

34 DataSync113

21 Digital Group 77

33 Digital Research 111

92 ECDCIII

78 Educational Data 16459 Edityper153

85 Electronic Warehouse 168

79 EMA Industries 16427 Extensis 99

To get further information on the products advertised in BYTE, fill out the readerservice card with your name and address. Then circle the appropriate numbers for theadvertisers you select from this list. Add a 9 cent stamp to the card, then drop it in themail.

*Correspond directly with company.

Inquiry Nc

i. Page No.

86

Godbout 169

#

HAL Communications 134

18

Heath Company 60, 61, 62, 63

28

Heuristics 101

80

HybirdTech 164

8

iCOM 26, 27

3

IMSAI5

89

Interface Age 1 73

50

International Data Systems 141

87

James 170, 171

40

Kent Moore 130

94

Logic Design Inc 164

88

Meshna 172

97

Microcom 129

95

Microcomp 164

58

Mini Computer Suppliers 152

35

Micromation 115, 117

60

Microware 1 53

44

MSI 133

82

Mikos 166

38

MiniTerm 125, 148

93

MITSCIV

81

Morrow 165

6

Motorola 91

62

mpi 154

55

Mullen 151

29

National Multiplex 103

16

North Star Computers 57

66

Objective Design 160

12

OSI 40

20

OK Tool 76, 139

65

Oliver Audio Engineering 158

43

Omni 132

49

PAIA 140

53

Parasitic Engineering 47, 147

Inquiry No

23

544851737962619

156932571390

1802567104246849152

9366430

Page No.

PC 77 51,159

PerCom Data 11, 150

Peripheral Vision 85

Personal Computing Expo 161

Polymorphic Systems 33

Prentice Hall 149

Prime Radix 138

Processor Technology 8, 9, 10

Quay 59

RHS Marketing 120, 121

Rotundra Cybernetics 164

Howard W Sams 97

Scelbi 69

Scientific Research 35

Seals 55

Serial Systems 163

Smoke Signal Broadcasting 109

Software Records 1 52

Solid State Music 41

Solid State Sales 174

Southwest Tech CI I

Sunny Computer Stores 164

Synchro-Sound Enterprises 88, 89

Tarbell Electronics 162

Technical Design Labs 31, 117

Technical Systems Consultants 132

Telpar 136

Trico 167

Tri Tek 175

Urban Instruments 146

Vector Graphic 28, 29, 95

Worldwide Electronics 116

Xybek 155

Ximedia 105

G0MG

[ YIIV (Jnf,ci(if> Mtiniftip Etx

The April BOMB, Exploded. . .

There are risks associated with everyaction one can take, and occasionally theresults fulfill the worst expectations. TheApril 1977 issue of BYTE bombed on con-tent with respect to the inclusion of several(ie: lour articles) on a fiction theme, andone intentionally outdated (as April Fool)microprocessor update on the 8008 (whichbecame obsolete for new design with the

On BOMB Card,Article No.

ARTICLE

1 Brown: How to Computerize Your Model Railroad

2 Hall: This Circuit Multiplies

3 Borrmann: Condensed Reference Chart for the 6800

4 Hart-Badger: A Train Control Display Using the LSI-11

5 Barbier: The TV Oscilloscope

6 Boddie: Speech Recognition for a Personal Computer System

7 Maurer: How to Pick up a Dropped Bit

8 Grappel Give Your Micro a Megabyte

9 Simmons: An Introduction to Numbers

10 Zolman: A Machine Code Relocator for the 8080

11 Baker: BASICally BASIC

12 Pittet: How Far-Which Way?

13 McGahee: Add Cursor Control to Your TVT II

14 Grater: Giving KIM Some Fancy Jewels

PAGE

12

36

42

44

52

64

72

78

82

92

96

118

122

126

introduction of the Intel 8080). The winner,by a large margin, was the article by JackEmmerichs on the Tiny Assembler 6800,which came in the +2 a point relative to themean for 1 3 articles. Second place went to asemifiction story by Steve Garcia (count-ering the trend just cited) entitled "Havinga Private Affair With Your Computer."Steve's article came in at the +1 a point, justslightly ahead of a group of articles whichclustered above the mean at approximatelythe same displacement. The remaining fic-tion articles (and numerous comments onthe BOMB cards) clustered around the 1.5a point of the observed distribution. Thesestatistics were calculated with a program-mable calculator. The results should betaken with a grain of salt, since the standarddeviation was 24% of the mean. Why did Iput so many of a similar type of article inthe April issue? It was, after all, the AprilFool issue; and it provided a form of con-trolled experiment by tweaking the contenta little far in one direction while observingthe results in the tally of BOMB cards. Theexperiment has been concluded for the timebeing . . .C Helmets"

176

JD >in-i3 nteroiind Onlay praetmr aiaaiava fraafhcr mi

Chiraefr Foriit — III tfiffarant I I 12* la/tairi

dafmatla dat aatrti charactan, diaalavtd ■■ 21 arI mas of IS to 121 charactara t*r imt, all ettaifflalla

in raal tfaai

flii EfiCAil — • bit aattirn mth a 121 m III tavir-idiapiav. «aeh nvara indiviiuaiiv atttahia.

t af tavt* ana i

touch it.

Key IntoMaxi-Power <g> Micro-!

Micromind is an incredibly flexible,complete and expandable, hardware/software, general purpose computersystem. You won't outgrow it.

Hardware includes an 80 key, software-definable keyboard, I/O interface board,6500A-series microprocessor (powerfulenough for advanced computing), a high-detail graphics and character displayprocessor, power supply, rf modulator,and connections for up to 4 tape recordersplus TV or monitor. An interconnect bus

permits 15 additional microprocessors,parallel processing and vastly increasedcomputing power.

System software—including ECD's ownnotsoBASIC high level language, onadvanced error-correcting tape cassettes—provides a word processing editor, a

Name.

powerful assembler, a debugger, a filesystem, graphic routines, and peripheralhandlers. We also include dynamic graphicgames: Animated Spacewar and Life.ECD's standard Micromind /uM-65supplies 8K bytes of memory. Additional

32K byte expansion boards and a mappingoption give Micromind expandable accessto 64 Megabytes. Utilizing software-controlled I/O channels, Micromind'sadvanced encoding techniques load datafrom ordinary tape recorders at 3200bits per second.

Micromind comes to you ready-to-use,factory assembled and fully tested. Amongmicrocomputers, it has the largest memorycapacity and the fastest storage. You'relooking at the work of the finest displayprocessor on the market. You won't find amicrocomputer with a more powerful CPU.You won't find a computer with amore flexible keyboard. You won'tfind anything to

touch it at$987.54.

So, quit the kluge scene and key intoMicromind. You'll be a main frame per-former, with all the comforts of home.We're not fooling... this is the cat's /x!

ECD CORP.196 Broadway, Cambridge, Mass. 02139(617) 661-4400

€C1>

Address.

City/State.

Zip.

□ Fantastic! Check enclosed: $987.54. shipping paid by ecd

D BankAmericard □ Master Charge Mass. Resident add 5% Sales Tax

# Expiration Date. .

Signature

□ Send me your brochure.

Actual unretouched photographs.

Circle 92 on inquiry card.

•

It Comes Naturally WithThe Altair™ 8800b

The Altair 8800b from MITS: the second gen-eration design of the microcomputer thatstarted it all. The mainframe that has the abil-ities everyone is demanding from microcom-puters today

Expand-ability:

The Altair 8800b power supply and one-piece, 18-slot motherboard allow efficientand easy expandability for memory and I/Ooptions All Altair PC boards are designed tolive youn'tqxlmum capability/lowest power- possible per bqiard. This means thatfor each MOI used you get more features andrequire less power, than with any of the "off-brand" Altair bus-compatible boards.

Whether you buy an enliie system up front orchoose toMjfijhd gradually, it's easy to getthe corcJtflj^qlWt you -.need with the com-plete fdJitW'Of Altair peripheral equipment,Includingfloppy disk, lineprinter, audiocassette recordinterfaoe, A/Dconverter,PROM program-mer, serial andparallel I/O boards,

choice of foui different memory boards andmany others.

Reli-ability:

The unique design features of the Altair8800b, which have set the standard for themicrocomputer industry, make it the mostreliable unit of its kind. The Altair 100-pin bus,the now-standard design used by many imi-tators, has been "standard" all along at MITS.The unique Front Panel Interface Board onthe Altair 8800b isolates and filters front panelnoise before it can be transmitted to the bus.The all-new CPU board utilizes the 8080Amicroprocessor, Intel 8224 clock generatorand 8216 bus drivers.

Flex-ability:

Meeting the diversified demands of an ever-increasing microprocessor markoi squiresflexibility: not just hardware flev.r ■; ty but

software flexibility as well. MITS software,including the innovative Altair BASIC lan-guage, allows the full potential of the Altair8800b computer to be realized.8K ALTAIR BASIC has facilities tor variablelength strings with LEFT$, RIGHT$. and MID$functions, a concatenation operator, andVAL AND STR$ functions to convert betweenstrings and numbers.

Extended ALTAIR BASIC allows integer, singleand double precision variables, automaticline numbering and renumbering, user-defined string functions, PRINT USING for for-matted output and a powerful EDIT com-mand for editing program files during or afterentry. Extended statements and commandsinclude IF. . . THEN . . . ELSE, LIST and DELETEprogram lines, SWAP variables and Trace Onand Off for debugging.

Disk ALTAIR BASIC has all the features ofExtended BASIC with the additional capa-bility to maintain sequential and random;s disk files. Utilities are provided forformatting disks and printing directories.

In all versions of ALTAIR BASIC you get theease and efficiency of BASIC for the solutionot real world problems.Package II. an assembly language develop-ment system for the Altair 8800b. includessystem monitor, text editor, assembler anddebug.

Afford-ability:

Prices for the Altair 8800b start at$840.00 for a kit and $1100.00 for anI assembled unit (all documentationincluded).

For a complete listing of prices onall Altair products and a free bro-chure, contact:

MITS, Inc.2450 Alamo S.E.| Albuquerque, N.M. 87106(505) 243-7821

NOTE: Altair is a trademark of MITS. Inc.

Circle 93 on inquiry card.

X