Byte Magazine Volume 00 Number 15 - More Fun than Crayons

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)

_TT

^6800-SOFTWARE

WARNING — It has been determined that reading this ad may be hazardous to your health, if you ownanother type computer system. We will not be responsible for ulcers, heartburn, or othercomplications if you persist in reading this material.

4 K BASIC0 - 8 K BASIC*

Full floating point math1.0E-99to 9.99999999E+99 number rangeUser programs may be saved and loadedDirect mode provided for most statementsWill run most programs in 8K bytes of memory (4K Version)or 1 2K bytes of memory (8K Version)USER function provided to call machine language programsString variables and trig functions—8K BASIC only

COMMANDS

LIST

RUN

NEW

SAVE

LOAD

PATCH

* Direct mode statementsf 8K Version only

MATH OPERATORS

- (unary) Negate* Multiplication/ Division

+ Addition

- Subtractiont ♦ Exponent

REM

DIM

DATA

READ

RESTORE

LET*

FOR

STATEMENTS

END

GOTO*

ON. . .GOTO"

ON. . .GOSUB*

IF. . THEN*

INPUT

PRINT*

NEXT

STOPGOSUB*PATCH*RETURN

t DESt PEEKt POKE

RELATIONAL OPERATORS

Equal

< > Not Equal

< Less Than

> Greater Than

< = Less Than or Equal

ABS

INT

RND

SGN

CHR

USER

TAB

FUNCTIONS

t VALt EXTSt LENSt LEFTSt MIDSt RIGHTS

t SINt COSt TANt EXPt LOGT SQR

BankAmericard

master charge

>= Greater Than or Equal

© Copyright 1976 by Southwest Technical Products Corp. 4K and 8K BASIC Version 1.0 program materia/and manual may be copied for personal use only. No duplication or modification for commercial use of any

kind is authorized.

You guys are out of your minds, but who am I to complain. Send

D 4K BASIC CASSETTE $4.95□ 8K BASIC CASSETTE $9.95

D MP-68 ComputerKit $395.00

NAME

ADDRESS

_„ COMPUTE"

gSHi 6800 —

CITY STATE

Southwest Technical Products Corp.Box 32040, San Antonio, Texas 78284

ZIP

Ifgifi.W"'"

PUSH BUTTON FOURflf flNV tIme TOCANCEL GAME.

You get more games,

more fun, more computer uses

with this new joystick

•T5 15?

■— -'

8800 |OR ,

8080I COMPUTER I

IE

CROMEMCO

TV

DAZZLER

COLORTVSET

Plugs

into

computer

CROMEMCOD+7A I/O

Plugs

into

computer

CROMEMCOJOYSTICK

CROMEMCOJOYSTICK

AND THERE'S AN

EASY WAY TO INPUT IT

TO YOUR COMPUTER

You'll get a lot more fun out ofyour computer with this new joy-stick.

But note that it is not just anordinary joystick—• it is a console. Ithas a 2-axis joystick and contains aspeaker and speaker amplifier. Youcan have sound with your games or,

Givesyou say, warning sounds in

sound, too

Fourpushbuttons

other applications. Orhave your computertalk to you.

A third feature youget is four pushbuttonswitches. These giveyou even more pos-sible uses such as se-lecting various colorson a color graphicsterminal.

EASY TO COUPLE

To couple the new joystick toyour computer, just use our D + 7A™I/O board. It will couple not onlyone but two consoles to your Altair™

m

LHQD

a

8800 or IMSAI 8080. And you'll stillhave several analog channels leftover (and one 8-bit output port).

The D + 7A plugs into the Stand-ard 100 (S-100) bus of your Altair orIMSAI computer.

EASY TO DISPLAY

Displaying the joystick outputswith the software below is also easy.Just use our TV DAZZLER™ board.It also plugs into the S-100 bus.

NEW SOFTWARE

Here's some new Cromemco soft-ware for the joystick (to display, useDAZZLER interface):

CHASE! (2 persons, 2 joysticks):the cross chases the circle. The ver-tical bars move downward to addmore fun to the chase. Score andremaining time kept automatically.

TRACK (1 person, 1 joystick):move the dot to the center of thespiral without touching the spiral'sarms.

DAZZLE DOODLE (1 person, 1joystick): lets you draw pictures in4 colors on your color TV terminalusing the joystick.

STORE/MAIL

Cromemco wishes you more fun,more use from your computer. Getthis new joystick console and otherCromemco peripherals at your com-puter store or order from the factory.

Joystick console kit

(Model JS-1K) $ 65

Joystick console assembled

(Model JS-1VV) $ 95

D + 7A I/O kit (Model D + 7A-K) . .$145D4-7A I/O assembled

(Model D + 7A-W) $245

TV DAZZLER kit (Model CCI-K) . . .$215TV DAZZLER assembled

(Model CGI-W) $350

SOFTWARE

(Punched paper tape

with documentation)

CHASE! $15

TRACK $15

DAZZLE DOODLE $15

PROMPT SHIPMENT

Mastercharge and BankAmericard accepted with

signed order. Please show complete card number

and expiration date.

Mail orders shipped prepaid if fully paid with

order. Purchase orders accepted subject to credit

approval.

California users add 6% sales tax.

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

InThis

page 26

It's More Fun Than Crayons! Readhow Mike and Alex Rosner, ages 7 and5, discovered the joys of computer artand incidentally proved the need fortimesharing computers in the home.On the cover are super stars Mike andAlex at work.

If Isaac Newton were alive today,he'd be immersed in long and com-plicated physics manipulations, whichare ultimately tested using calculationsinvolving multidimensional matricesand matrix operations of linear alge-bra. Chances are he might be inter-acting with a computer, with an inter-preter from the APL tree of languages.Read Mark Arnold's What Is APL? tofind out a bit about APL, a language

page 106

page 78

with a mathematical orientation bututility for general purpose program-ming as well.

How do you do graphics in aweekend, without spending a fortune?In Beer Budget Graphics, Peter Nelsontells all: how the synergistic combina-tion of a couple of digital to analogconverters and an output latch or twobrings the world of point plotting toan oscilloscope for about $20 in parts.

In the July 1976 BYTE, we ran afunctional specification for a graphicsinterface in answer to reader PaulHyde Jr's letter. Practically before theink had dried on the July press run(figure of speech) reader Thomas RBuschbach sent in this article on howhe made just such a graphics interfacefor his Digital Group system usingexisting timing logic of the televisiondisplay unit. Given an existing 8 Kmemory, processor and television dis-play generator, this high resolutiondisplay can be added to a system for aslittle as $25 in additional semicon-ductors.

page 32

Star Trek freaks should turn to JoeDeres' article to find An EnterprisingDisplay. In the article you'll findinformation on a design for a tele-vision graphics output which can bebuilt from a kit (or your own parts)for less than $100.

Ira Rampil provides Some GraphicsBackground Information, including acomparison of several display devicesavailable to individuals.

Don't be satisfied with simple visualreadouts. Make Your Next Peripheral aReal Eye Opener by implementing atrue vector display using an XY oscil-loscope, circuits and software similarto Steve Ciarcia's design. In his articleyou'll see how to draw a picture of amoderately high resolution Star ShipEnterprise.

Build This Video Display Terminal,

advises Alfred Anderson, who tookCW Gantt Jr's TV interface circuitdescribed in the June 1976 BYTE,made a few changes, added a fewgoodies, and wrote a few lines ofsoftware. Now he tells you how youcan do it.

What's NOT In This BYTE

. .. Software Bug of the Month, BookReviews, Ask BYTE, a slew of What'sNew and BYTE's Bits items we weredying to print, lots of good letters, andsome dynamite articles. Even usingsmaller type in places didn't enable usto include much that we urgentlywished to. If you missed it this month,watch for it next.

In the Queue

4 BITE #15

NOVEMBER 1976

staff

26324278106

6204056

2

10

16

16

54

60, 67

99, 140

62

66

68

90

92104127132144144

Foreground

BUILD THE BEER BUDGET GRAPHICS INTERFACE

Graphics System—NelsonADD THIS GRAPHICS DISPLAY TO YOUR SYSTEM

Hardware—BuschbachAN ENTERPRISING DISPLAY DEVICE

Hardware—DeresMAKE YOUR NEXT PERIPHERAL A REAL EYE OPENER

Graphics Systems—CiarciaBUILD THIS VIDEO DISPLAY TERMINAL

Systems—Anderson

Background

IT'S MORE FUN THAN CRAYONS

Graphics—RosnerWHAT IS APL?

Languages—ArnoldATIP FOR USINGWIRING PENCILS

Construction Techniques—BurhansSOME GRAPHICS BACKGROUND INFORMATION

Graphics Systems—Rampil

Nucleus

In This BYTE

A Proposed Standard for PublishingBinary Data in Machine Readable FormThe Address Space Saturation ProblemOutstanding Computer HobbyistKil O'Byte

What's New?

Description: MERLIN Video Interface

Something for Everyone

Letters

BYTE's Bugs

Clubs, Newsletters

Classified Ads

BYTE's Bits

Description: Astral 2000

BOMB

Reader's Service

BYTE magazine is publishedmonthly by BYTE Publica-tions Inc, 70 Main St, Peter-borough New Hampshire03458. Subscription rates are$12 for one year, $22 for twoyears, $30 for three years inNorth America. Elsewhere:$15 one year, $25 two years,$33 three years. Second classpostage paid at PeterboroughNH 03458 and at additionalmailing offices. Phone603—924-7217. Entire eon-tents copyright 19 76 BYTEPublications Inc, PeterboroughNH 03458. Address editorialcorrespondence to Editor,BYTE, 70 Main St, Peter-borough NH 03458.

PUBLISHERS

Virginia Peschke

Manfred Peschke

EDITOR

Carl T Helmers, Jr

GENERAL MANAGER

Manfred Peschke

PRODUCTION MANAGER

Judith Havey

CIRCULATION

Deborah R Luhrs

DEALER CIRCULATION

Deena Zealy

PUBLISHERS ASSISTANTS

Kimberly Barbour

Debra L Boudrieau

Cheryl Hurd

Anne Jackson

Carol Nyland

Laurie Stuart

ADVERTISING

Elizabeth Alpaugh

Virginia Peschke

TYPOGRAPHY

Custom Marketing Resources, Inc

Goodway Graphics

Mary Lavoie

Taimi Woodward

PHOTOGRAPHY

Ed Crabtree

Custom Marketing Resources, Inc

ART

Matthew Arnold

Mary Jane Frohlich

Lynn Malo

Bill Morello

PRINTING

The George Banta Company

Custom Marketing Resources, Inc

Lennie Cashion

Larry Davis

Jeff Pratt

ASSOCIATES

Bob Baker

Dan Fylstra

Harold A Mauch

Chris Ryland

SPECIAL PRODUCTS

Susan Pearne

Floyd W Rehling

TECHNICIAN

Melvin G Weir

CONSTRUCTION

Walter Pence

Peter Travisano

Imagine a microcomputer

Imagine a microcomputer with all the designsavvy, ruggedness, and sophistication of the bestminicomputers.

Imagine a microcomputer supported by dozensof interface, memory, and processor option boards.One that can be interfaced to an indefinite numberof peripheral devices including dual floppy discs,CRT's, line printers, cassette recorders, video dis-plays, paper tape readers, teleprinters, plotters,and custom devices.

Imagine a microcomputer supported by exten-sive software including Extended BASIC, DiskBASIC, DOS and a complete library of business,developmental, and industrial programs.

Imagine a microcomputer that will do everythinga mini will do, only at a fraction of the cost.

You are imagining the Altair™ 8800b. The Altair8800b is here today, and it may very well be themainframe of the 70's.

The Altair 8800b is a second generation designof the most popular microcomputer in the field,the Altair 8800. Built around the 8080A micro-processor, the Altair 8800b is an open endedmachine that is compatible with all Altair 8800hardware and software. It can be configured tomatch most any system need.

NOTE: Altair is a trademark of MITS, Inc.

ffr f/'J

Redesigned front panel. Totally synchro-nous logic design. Same switch and LEDarrangement as original Altair 8800.New back-lit Duralith (laminated plasticand mylar, bonded to aluminum) dresspanel with multi-color graphics. Newlonger, flat toggle switches. Five newfunctions stored on front panel PROMincluding: DISPLAY ACCUMULATOR (dis-plays contents of accumulator), LOADACCUMULATOR (loads contents of the8 data switches (A7-A0) into accumulator!OUTPUT ACCUMULATOR (Outputs con-tents of accumulator to I/O deviceaddressed by the upper 8 addressswitches), INPUT ACCUMULATOR (in-puts to the accumulator from the I/Odevice), and SLOW (causes programexecution at a rate of about S cycles persecond-for program debugging).

Full 18 slot motherboard.

Rugged, commercial grade Optimacabinet.

New front panel interface board buffersall lines to and from 8800b bus,

-Two, 34 conductor ribbon cable assem-blies. Connects front panel board to frontpanel interface board. Eliminates needfor complicated front panel/bus wiring.

New, heavy duty power supply I 8 voltsat 18 amps, + 18 volts at 2 amps, 18 voltsat 2 amps. 110 volt or 220 volt operation(50/60 Hz). Primary tapped for eitherhigh or low line operation.

•New CPU board with 8080A micro-processor and Intel 8224 clock generatorand 8216 bus drivers. Clock pulse widthsand phasing as well as frequency arecrystal controlled. Compatible with allcurrent Altair 8800 software andhardware.

altair 8800-b

MITS, Inc. 1976/2450 Alamo S.E./Albuquerque, New Mexico 87106

Photo 1: Alex Rosner, age5, shown preparing thegraph paper coding sheetfor his picture from a pen-cil sketch. Once the cor-relation between picturelocations and commandswas learned, both childrenstopped planning layoutsin advance on the codingsheets. The "snow withhouse and mailbox" isshown in photo 5.

It's More Fun

Richard RosnerPocono RdBrookfield CT 06804

Now that the home computer is emergingfrom its crystal radio stage and now that weare becoming more applications orientedrather than hardware oriented, we are goingto find that we have competition for com-puter time right in our homes. While I havebeen putting microcomputers using micro-processors together for almost two years, itwasn't until I hooked up the TV to mypresent system that my family took interest.

Now, when I walk in the door after work,the kids corner me asking which one can usethe computer first.

The microcomputer system uses a MOSTechnology 6502 CPU, a TIM (TeletypeInterface Monitor), and 1 kilobyte of pro-grammable memory. The graphics modulecontains a 2 K by 8 programmable memoryallowing a 128 by 128 point display. Inthese pictures the display is configured

Photo 3: "Cage," by AlexRosner, freehand.

Photo 4: Rocket Ship

With Moon, by MikeRosner.

Photo 5: Snow WithHouse and Mailbox, byA lex Rosner.

Photo 2: Michael Rosner,age 7, sitting at the Tele-type entering data for theimage of a rocket shipwith moon (see also photo4).

Than Crayons

(under software control) as a 32 by 32 array.The data for the display is entered seri-ally. The software commands are

R, reset to top line,

N, go to beginning of next line,

W, enter a white square,

K, enter a black square, and

H, halt (return to monitor).The procedure is to take apiece of graphpaper with a 32 by 32 grid blocked off and

to then draw a picture by filling in some ofthe squares. After the drawing is completethe paper tape with the program is loadedinto the processor and the data is enteredwith the above five commands using thedrawing as a coding sheet.

This, of course, is not an ideal hardwareor software approach for a video interface.The interface was built for another applica-tion and the processor was used as a test

Danais

Photo 6: Rocket Ship, byMike Rosner.

Photo 7: Fun Play (SwingSet, Man, Sun and MailBox), by A lex Rosner.

Photo 8: Flower Puzzle,by Mike Rosner, freehand.

If you thought a rugged,professional yet affordablecomputer didn't exist,

think

IMSAI

8080.

Sure there are other commercial,high-quality computers that canperform like the 8080. But theirprices are 5 times as high. There isa rugged, reliable, industrial com-puter, with high commercial-typeperformance. The IMSAI 8080.Fully assembled, it's $931.Unassembled, it's $599. And oursis available now.

In our case, you can tella computer by its cabinet. TheIMSAI 8080 is made for commer-cial users. And it looks it. Insideand out! The cabinet is attractive,heavy-gauge aluminum. Theheavy-duty lucite front panel hasan extra 8 program controlledLED's. It plugs directly into theMother Board without a wireharness. And rugged commercialgrade paddle switches that arebacked up by reliable debouncingcircuits. But higher aesthetics onthe outside is only the beginning.The guts of the IMSAI 8080 iswhere its true beauty lies.

The 8080 is optionallyexpandable to a substantial systemwith 22 card slots in a singleprinted circuit board. And thedurable card cage is made ofcommercial-grade anodizedaluminum.

The IMSAI 8080 power

supply produces a true 28 ampcurrent, enough to power a fullsystem.

You can expand to apowerful system with 64K ofmemory, plus a floppy disk con-troller, with its own on-board8080-and a DOS. A floppy diskdrive, an audio tape cassette inputdevice, a printer, plus a videoterminal and a teleprinter. Theseperipherals will function with an8-level priority interrupt system.IMSAI BASIC software is avail-able in 4K, that you can get inPROM. And a new $139 4KRAM board with software

IMSAI 8080

»».... i-«-— - ~—

memory protect. For the ultimatein flexibility, you can design thesystem for low-cost multiprocessor,shared memory capability.

Find out more about thecomputer you thought didn'texist. Get a complete illustratedbrochure describing the IMSAI8080, options, peripherals, soft-ware, prices and specifications.Send one dollar to cover handling.

Call us for the name of theIMSAI dealer nearest you.

Dealer inquiries invited.

B-11

KA

IMS Associates, Inc. Dept.

14860 Wicks BoulevardSan Leandro, CA 94577(415) 483-2093

Photo 9: House, by AlexRosner.

Photo 10: Illusion Num-ber 4, by Mike Rosner,freehand.

Photo II: Tree Record, byAlex Rosner, freehand.

fixture. After testing the display unit, I put alittle "HELLO MOM" and a starship on thescreen and showed it to my wife and twokids. The children immediately wanted to dothe same thing and we now have a new toy.

The older child, Michael, is seven andlearned to generate a picture and use theprogram after about' two hours of instruc-tion. He is shown in photo 2 as he puts histhird creation on the screen, a rocket withthe moon. Above his right hand can be seenthe drawing he is working from. (The pat-tern in the lower portion of the TV screen isthe random data in the programmablememory chips when the power is turned on.)All his efforts at keypunching have beensaved on paper tape for delayed replay whenGrandma comes to visit.

The younger child, Alex, five, is shown inphoto 1 as he prepares the coding sheet froma sketch for his third picture — a house withmailbox and snow. Alex required a consider-able amount of help with his first twopictures, but he quickly learned to use thegraph paper correctly.

The cover photo shows the entire setup.Alex is putting a picture on the TV whileMike is using BRUIN (a language similar toBASIC). It seems that second graders arenow being taught the rudiments of algebra.When my calculator batteries went dead Icalled up my company's computer to dosome simple calculations. Mike saw me usingthe CRT terminal and wanted to try it.While we can't call this programming, he ishaving fun.

The collection of photos from the TVscreen shows some of the work the kids havebeen doing along with the titles. The incep-tion, generation and titling of all the picturesare the kids' own without help from adults.Mike's first three pictures were made usingwork sheets as were Alex's first three. Therest were made without first makingdrawings.

The microcomputer is set up in the familyplayroom. I consider myself quite fortunatein that I have never had to fight with mywife for space. From the beginning of thisventure I have had my wife's full support.Perhaps this is because (as she has recentlyinformed me) she plans on using the com-puter to help her in the various businesscourses in which she is enrolling, as well asfor household functions such as diet menuplanning.

If you are as lucky as I am, you may findyourself putting up a signup sheet as thefamily competes for computer time."

Photo 12: Mike's firstwork, no title.

Photo 13: "Black Cat" byAlex Rosner, freehand.

Photo 14: "Illusion Num-ber 1" by Mike Rosner,freehand.

Editor's Note: Readerswill detect a carefulbalance between theamount of photographicexposure given to Alexand Mike. Author RichardRosner reports that therealpolitik of family liferequires equal treatmentfor both children in hisarticle. . . CH

Walter Banks and Roger Sanderson of the University of Waterloo,Waterloo, Ontario CANADA, have proposed a method of publishing machinereadable programs in magazines such as BYTE. This proposal was the subectof some discussion in a technical session at the Personal Computing 76show in Atlantic City. I wrote the present report, based upon preliminarywritten information provided by Walter and Roger, and telephone discussionswith Walter on August 15 1976. The technical content of this report, withthe exception of the proposal of format 3 and addition of a frameidentification field to the block format, is supplied by Walter andRoger. . . . CH

A Proposed Standard for PublishingBinary Data in Machine Readable Form

by

Walter Banks

Computer Communications Network Group

Roger Sanderson

Dept of Electrical Engineering

University of Waterloo

Waterloo, Ontario CANADA

and

Carl Helmers

Editor, BYTE magazine

Purpose

The purpose of this technology is toprovide a method of encoding binary data inthe form of printed marks on a magazine,book or other published page. These printedmarks are to be in a predefined formatwhich can be read by a simple and inexpen-sive optical scanning head which drives asingle bit input port of a personal computer;decoding will be done by means of softwarein the computer. The goal is to provide ameans of disseminating program informationin a machine readable form.

Physical Formats

Figure 1 details three possible physicalformats. These are proposals at the presenttime. Other formats are possible and shouldnot be excluded from contention; readersare invited to make proposals. The formatsare described in the captions of figure 1. Thefollowing comments can be made.

• Format 1, bar width modulation withalternate light and dark, is the mostcompact method of encoding. Its den-sity varies with the detailed content,but for a given minimum light (ordark) interval measurable by the inputroutine and a given binary string ofdata, this method will be higher den-sity than either format 2 or format 3below. A disadvantage is that emer-

gency manual reading of the data witha magnifier is probably more difficultdue to the need to interpret fourstates: wide space, wide mark, narrowspace, narrow mark. This method hadbeen proposed for use in the retailtrade by Research Inc, Box 24064,Minneapolis MN 55424, some timeago, before the UPC (Universal Pro-duct Code) scheme was adopted forgrocery product checkout use.Format 2, ratio recording, has anadvantage in certain points of view inits fixed width. Being fixed width, theamount of data per page is fixed, as isthe amount of data per line of ma-chine readable type. However, it is alower density form than either format1 or format 3 below. It can probablybe read by eye with greater ease thanformat 1 since every bit is present as ashort or long bar which is actuallyprinted, and only two states need beinterpreted.

Format 3, fixed gap bar width modula-tion, is basically a higher density ver-sion of ratio recording. Take the lay-out of format 2, and compress thegaps between black marks to a fixedlength, and you will get format 3.Since this format is higher density, itmay be preferable to format 2, whileretaining the advantages of having ahuman readable black mark for everybit.

Frame Layout and Page Layout

Figure 2 shows the layout of a singleframe of information, interpreted within the

10

Pick a card. Any card.

From the Digital Group.

■

If you've been considering the purchase of a microcompu-ter and looking at the myriad of products on the market,chances are you're just a bit confused about which systemmakes sense for you.

As you've no doubt discovered by getting further into thisfascinating hobby, if there is one constant it is constantchange. So how do you go about protecting the considerableinvestment you are about to make in a microprocessor?

The Digital Group offers a safe way to hedge your bets.Here's how we do it:

CPU-Independent Bus Structure

Digital Group systems are based on an extensive bus struc-ture (the equivalent of 200 lines) that allows you to com-pletely change your system's architecture by merely ex-changing CPU cards and reading in a new operating systemtape. It's that simple. One card and a tape to get from 6500to 6800 to 8080A to the remarkable new Z-80. Or some-thing even newer.

The Digital Group system design is quite complex but theresult is simple. All CPU dependencies are handled on theCPU card — nothing else in the system changes. Not mem-ory, readouts, I/O interfaces or even cabinets. And that re-presents a significant savings for you.

When many Digital Group system owners wanted to upgradeto the revolutionary new Z-80 CPU, it cost them a total of$185. Nothing more.

Stand-Alone Design

Each component in a Digital Group system is designed tobe as independent from the other components as possible.

Most of our designs are parallel port driven with their ownbuffers. If you can get eight bits to a Digital Group inter-face, it'll take over and get the job done.

Coordinated Cabinets

Right down to our new line of cabinets, Digital Group sys-tems are designed to protect your investment and keep youat state of the art. Every one of our unique, custom cabi-nets is part of a coordinated line, and you can rest assuredthat each new product will maintain the same unmistakableup-to-the-minute Digital Group image.

As much as is possible in this fast-growing, ever-changingfield, the Digital Group offers protection from obsolescence.So go ahead and pick a card. Any card from the DigitalGroup is a safe bet.

fi

ID D

olio

v'cTrtolU o

J

P.O. Box 6528 / Denver, Colorado 80206 / (303) 777-7133

OK, I'm ready for details on your systems and all the extras.Deal me in.

Name

Address

City/State/Zip

Figure 1: Three possible formats. These are proposals at this time, with the appropriate parameters indicated.

FORMAT I

Figure la: Format I: Barwidth modulation, with al-ternate dark and light. Theparameters to be specifiedin printing are widths TOand Tl. A trailing bit com-plementary to the last databit in a string is required.The leading bit of a stringwill be assumed to be inthe dark state. In readingthis code, time betweentransitions falls into twocategories, long for a 1 bit,and short for a 0 bit.

Figure lb: Format 2: Ratio recording. Theparameters to be specified in printing are thebit length, TB and the TO and Tl widths forstates of the data. This format has a fixedlength per bit which is independent of thestate of the data. In reading this code, thetime from one light to dark transition to thenext light to dark transition is the durationof the bit cell, which is compared to theduration of the dark period to find outwhether a 1 bit (long) or 0 bit (short) wasread.

Figure 1c: Format 3: Fixed gap bar widthmodulation. The parameters to be specifiedin printing are the interbar gap width TG,and the bit length parameters TO and Tl. Inreading this code, the length of the interbitgap gives a calibration for judging the nextdark period as a 0 bit (short) or 1 bit (long).The data density (as in format I) varies withthe statistics of the number of Os and Is in agiven region of the printed data.

string as a synchronization pattern followedby 8 bit bytes of information.

The SYNCH pattern is an 8 bit characterwhich must occur as the first byte of everyframe, and may be preceded by severaltiming bits to initialize adaptive software.Once the input string equals the SYNCH

character, the decoding algorithm can pro-ceed bit by bit with the rest of the frame.

The CHECKSUM field contains an 8 bitcheck sum of the data in the current frame.This is the primary error detection techniqueemployed. In manual scanning, when anerror occurs, the sensor head can be drawn

1

TIMING BITS

Figure 2: Frame Format. The timing bits may not be required, but provide a preliminary leaderbefore the ASCII SYN character (hexadecimal 16) which leads off the frame. All data istransmitted most significant bit first. Following the synchronization character is an 8 bit checksum representing 2's complement modulo 256 summation of all the remaining data on therecord. The FRAMEID field is an 8 bit integer used for relative positioning within an extendedfile. Its purpose is to allow manual rescan In the event of errors, so that the software willrecognize the input as the same record. The length field contains a direct integer value for thenumber of bytes in the data field. From 1 to 255 bytes can be in the data field; a length of 0 isreserved for a special case "end of file" frame. Finally, the remainder of the frame contains 8bit bytes of data.

12

We've got it!80 power forthe Altair bus.

Here it is.TDL's ZPU™ the high-est point of technology for anAltair/IMSAI system. Now,youcan multiply your present cap-abilities without creating cost-ly obsolescence. Take advan-tage of the wide range of exist-ing hardware backup for yourcurrent system. The ZPU iscompatible and dependablewith many plus features you'llwant to know about.

To further round out yoursystem we also have availablethe fastest and lowest powerstatic ram boards going (from4 to 16K with expansion) anda system monitor board witha Z-80 monitor, powerful I/Oand audio casette features.

As for software, TDL's usersupport program is unmatchedin the micro-processor indus-try, currently available are theZ-80 monitor, basic, and themost sophisticated MACRO-ASSEMBLER yet developed.

Join the Z-80 revolution —it's more than just hardware!

ZPU Kit $269.00Z16K Kit $574.00

HOW TO ORDER Just send check ormoney order, or use your BankAmericardor Mastercharge, and your orders will beshipped to you postpaid. COD orders mustbe accompanied by a 25% deposit. Yourcredit card order must include the serial# of the card, expiration date, and yourorder must be signed. New Jersey resi-dents add 5% state sales tax. For moreinformation, send for our free catalog.

Dealer Inquiries Invited.

TDL

(609) 392-7070

TECHNICAL DESIGN LABS, INC.342 COLUMBUS AVENUETRENTON, NEW JERSEY 08629

CENTER MARGIN OF MAGAZINE PAGE

Figure 3: Page Layout, Apage of data in printedform [as we would run inB YTE] would be laid outwith the data running par-allel to the center marginof the magazine. This al-lows the maximumamount of data in a frame,thus minimizing the over-head bits of the frameformat.

FRAME N START SCAN.

FRAME N+ I

FRAME N + 2

FRAME N + 3

FRAME N + 4

FRAME N+5

v..

Illllllllllllllll

IIIIIIHIIImTIT

IIIIIIIIIIIHII

llllllllllllllr

fV._|_

rv._|_

r

v.

V.,

IllliJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII

TiiTniiiiirrrnrrrniiiiiiiiiiiiiiiiiii >

iiiiiiiiiiiiiiiiiiiiiiiiinii .

illllllllllllllllllllllllllll

lllllll 111111 J-Ll 11111111111111111111111111111111

...lllllllllllllllllllllrTlllllllllllllllllllllllllllllllll "*

11 t-n 11111111111111111111111111111111

:. rl 111111111111111 "^

llllllllllllllllll

111 mi m mill 11 it

iimiiiiiiiiiiiiniiIIPtIIIIIIIIIIIIIIIIT

llllllllllllllllll111111J111* 1111t-U 11111111111

IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIPtIIIIIIIIIIIT

trTTl *v

/

past the data again without moving thestraightedge used as a guide.

The FRAMEID field contains an 8 bitidentification of the current frame within anextended block of data. This identification isrequired in order to allow the user an optionto reload data if a check sum error isdetected.

The length of the data is specified by theLENGTH field as a byte count from 1 to255 (actual counts will depend upon datadensity, but will most likely be less than 50per frame).

Figure 3 shows the page layout to be usedin a typical magazine page size of 7 incheswide by 10 inches high (18 cm by 25 cm).From his experimental work, Walter Banksreports that a bit density of 50 bits per inch(20 bits per cm) in the ratio recordingmethod looks quite reasonable. Based onthis linear density, and putting 1/5 inch (0.5cm) spacing between frames in the horizon-tal direction, the page capacity of the layoutin figure 3 can be calculated:

Bits per frame = 50 BPI * 10" = 500Bits per page = 5 frames per inch * 7" *500 bits per frame = 17,500

Overhead of the frame format in figure 2,excluding timing bits, is 32 bits per frame, sothe total data capacity is 17,500 - 35 * 32 =16,380 bits. In bytes, this is 16,380/8 =2047.5 bytes. The actual frame parameterswould be adjusted to an even number ofbytes, whatever the format employed. Usingthe fixed format, each page can hold 2 K(2048) bytes with the density figures re-ported. Shrinking the interbit gaps to theformat 3 fixed size would probably give animprovement of 5 to 1 5 percent dependingupon the width parameters chosen and thestatistics of the data being presented in thisform.

How Is the Data Generated?

The secret of this whole method at themagazine production end is using modernphototypesetting equipment to create theimages of the data which are used in themagazine master layouts. When (for exam-ple) an article describing an advanced highlevel language interpreter written by a uni-versity or basement lab hacker is to beprinted, the paper tape or magnetic tape textof the program and its relocatable loaderwould be converted into phototypesettingcommands for the typesetting equipment,on 9 track tape or paper tape compatiblewith the typesetter. Once the copy is re-ceived from the typesetter, the rest of thelayout is standard operating procedure forany magazine — keep track of the order ofthe program pages and add any auxiliarycopy needed to identify pages or segmentswithin the program. With 2 K bytes perpage, dissemination of an 8K to 10 Kpackage would only require four or fivepages in the magazine, and would be easilyaccomplished. We expect to perform experi-ments with this sort of disseminationtechnique in future editions of BYTE.

Will It Work?

The experiment looks quite reasonable,but there are numerous possible hitcheswhich can be considered. For example, willthe data density projected (50 bits per inch,20 bits per centimeter) be practical? Whatwill be the incidence of errors due to inksplotches and other glitches? Will the simpleconception of a reading head (photo tran-sistor, TTL level converter and straightedgeas a guide) provide the signal needed? Thisreport is written on the basis of preliminaryexperiments; further information on thissubject will appear in future BYTEs."

14

SCEIMfOFTW

Introducing SCELBAL,the new microcomputerlanguage that's simplerthan machine language.

A complete language for"80u8"/"8080" systemsincluding source listings,routines, flow charts andmore!

SCELBAL. scientific ELementaryBAsic Language for "8008"/"8080"systems. A complete, illustrated program book. Routines.Techniques. Source Listings. Flow Charts. And more.Took several years to develop. Now yours for many yearsto come. First time that intimate details of higher levellanguage has been offered for such a low price. Only $49!You get 5 Commands: SCR, LIST, RUN, SAVE, LOAD.14 Statements: REM, LET, IF.. .THEN, GOTO, FOR withSTEP, END, INPUT, PRINT, NEXT, GOSUB, RETURN andoptional DIM. 7 Functions: INT, SGN, ABS, SQ"R, RND,CHR, TAB. And, it runs in 8K and more. Here's all thedata needed to customize a high level language for yoursystem ... at a fraction of the cost!

Order your copy today! Get $^ Qk

started advancing your system!

ppd.

SCELB1'5

S88«"

Sniffles •

KSBntMH

MfS»J««"

Here's SCELBI's First Book ofComputer Games for the 8008/8080.Action-packed. And fun.

Try to beat the computer at its own game.Here's the first complete machine languagei computer manual for computer games to| include source listings, flow charts,i routines and more. Space Capture — You\ against the computer using "search andI destroy" strategy to shoot down roaming\ alien spaceships in outerspace. HexpawnI —a mini-chess game that lets ther; computer make mistakes ... but only\ once. Hangman — an updated version\ of the great kid game. Computer selectsj words at random from long, expandable| list. Try to beat it in 8 moves or less.Illustrated. Fun extras to put yourcomputer to challenging, competitive,

fun use.

Order yours today!

149p5pd.

"8080"SOFTWARE MANUALS

SCELBI's new microcomputerGame Book of Outer Space...

Captain your own crusading starshlpagainst the logic of your "8008" or"8080". You must destroy a randomnumber of alien ships without runningout of stardates, out of fuel, outof ammunition or out of the galaxy.Plan your mission. How much fuel isused for your warp factor? Don't runinto roaming stars that can damage yourship. Suddenly! Condition Red! Alien Insight! How big is he? Fire a phasor ortorpedo! He's damaged or destroyed.But, you've used valuable fuel. That'sjust the beginning. A new game everytime. Complete program book in machinelanguage for 4K memory, includingsource listings, flow charts, routines, etc.Great intergalactic adventure and fun.

Order "GALAXY" today! 1495 PPd-

G4MXY

Three new basic, com-plete "MUST" manuals!"8080" Assembler Pro-gram operates easily in4K bytes of RAM {Includ-ing symbol table). Uniquefeature: How to acceptmnemonics related to"8008" based machineson "8080". Includes allmajor routines, pertinentflow charts, highly com-

mented assembled listingand more. $17.95."8080" Editor Programidentical to "8008"Editor, with machinecodes for "8080". $14.95."8080" Monitor Routinessame functions as "8008"specifically developedto utilize expandedcapabilities of "8080".$11.95.

""Dim,

TObi

T"V6b

'"Oot

ppd.

11

ppd.

95

SAVE $5.35! BUY ALL 3 FOR ONLY $39.50!

Now you can cook-up hot programsfor your own "8080"

Prices shown for North American customers.Master Charge, Postal and Bank Money Orderspreferred, Personal checks delay shippingup to 4 weeks. Pricing, specifications,availability subject to change without notice.

ICELBI COIHPUYERCONIULIING INC.

Gobble up practical "how to"facts, including the descriptionof "8080" instruction set.How to manipulate the "8080"stack. Flow charts and sourcelistings. General purposeroutines for multiple precisionoperation. Programming timedelays for real time applica-tions. Random number gener-ators. And many other basicprogramming functioncomestibles.

The "Cook Book" even in-cludes a completely assem-bled floating point arithmeticprogram . . . plus input/outputprocessing for your basic I/Oprogramming through inter-rupt processing. Code andnumeric conversion routines.Real time programming.Search and sort routines. Andmany, many more finger-lickin'goodies. Order your copy ofScelbi's "8080" SoftwareGourmet Guide & Cook Booktoday. Only $9.95 ppd.

Bon appetite!

1322 Rear Boston Post Rd..Telephone: 203/874-1573

Milford, CT 06460

Editorial

by Carl Helmers

The Address Space Saturation Problem

(or, What HappensAfter You Use 3216 K DynamicMemory Chips?)

According to an article by Marvin Gold inthe September 6 1976 edition of ElectronicNews, the 16 K dynamic memory chips arealmost ready for volume production, andprice estimates are quoted. According to MrGold's article, the 1976 average selling priceof 16 K memory chips will be an estimated$16 each, and when volume productionlevels are reached in 1977, the average priceat the factory will be $12. Assuming apersonal computing company which hasmoderate volume production purchases the16 K memories at $12, its component costfor a 16 K memory segment is $96, and for a32 K memory segment is $192 in mid to late1977. Multiply this by a factor of 3 to 5 totake into account packaging, manufacturerprofit margins, and merchant markup; and itcan be expected that in mid to late 1977 thepersonal computer with 32 K memory willhave a memory subsystem cost of perhaps$600 to $1 000 at the retail store.

The designers of the early micro-processors never conceived of the large scaleintegration computer as anything more thana controller in dedicated applications (so thegrapevine says). The rumor which wasrunning around some time ago was that oneLSI firm's reaction to the idea of aFORTRAN (or other high level language) fortheir microcomputer was "who'd ever wantto do such a silly thing." The history ofsmall general purpose computers imple-mented with LSI processors since thendemonstrates that a lot of people want to doexactly that, and more: APL, SNOBOL,LISP, PASCAL, ALGOL, TRAC™ etc, etc.Similarly, the reaction currently might be"who'd ever want to put more than 64 Kbytes of memory in a personal computingsystem?" My claim is that there are plentyof people who would want to (in order to

Continued on page 65

Personal Computing 76:

Outstanding Computer Hobbyist of the Year Award

by

John Dilks

Cochairman of PC 76

At the Personal Computing 76 show, themembers of the committee organizing theshow felt it would be most appropriate tocreate an award for a person who has madesome outstanding contributions to the prog-ress of computing by individuals. We se-lected the person, then dreamed up theaward. The person is Sol Libes, president ofthe Amateur Computer Group of NewJersey. The award consists of a plaque forSol to keep, and a second plaque with spacesfor future entries to be engraved. This is howtraditions are started.

We had numerous reasons for wanting topresent this award to Sol. Sol is employed asan educator, and is a true amateur interestedin using the computer. He is one of theprincipal organizers of the Amateur Com-

puter Group of New Jersey, seeing it growfrom a near handful of people last year toover 400 members with typically 200attending the many meetings. He is a leaderin computer education, where at the UnionCounty Technical Institute he has created ahands-on training program in microcomputertechnology and has set up courses whichcould easily serve as prototypes for similarcourses throughout the country. He set upand ran the Trenton Computer Festival ofthe ACGNJ, one of the first such happeningsever. And, during the past summer, he andhis family travelled throughout the USA,meeting with amateur computer clubs andclub leaders and manufacturers both to findout what's happening and to further thedevelopment of the field. We think thesereasons more than justify the recognition,which was a complete surprise to Sol and hisfamily at the banquet August 28. We hopeto continue this award and tradition atfuture Personal Computing shows."

16

Meet the Challenger.

The ChallengerSelf Portrait

The new price and performance champ from OSI.

He's got his act together!

Even our lowest-cost Challengercomes fully assembled, completewith a 500 ns 6502A, serial interface,1,024 words of memory and aUL-approved power supply, all for$439. Every Challenger comes readyfor easy expansion with an 8-slotmother board, backplane expansioncapability, and a power supplyheavy enough to handle a fullcomplement of system boards. Our4K Challenger comes ready to runBASIC minutes after you unpack it.And there's more.

He packs some heavy hardware.

You've never seen memory andinterface options like these—not atour prices, fully assembled! 4KRAM memory boards $139! (seebelow). Single drive OSI ChallengerFloppy Disk $990! Dual driveFloppy $1490! Plus 8K PROMboards! A Video Graphics board,including alphabetics, graphics,and color! An audio cassette,A/D, D/A and parallel I/O board!A backplane extender board!A prototyping board! And our extra-ordinary CPU Expander Board—it letsyou run a Z-80, and 6100 (PDP-8equivalent) concurrently with TheChallenger's 6502, or under its control.

There's nothing soft abouthis software!

OSI has full software support for ourChallengers. Including extendedBASIC, extended Video Monitor, aDisk Operating System, somevery Hollywood real time programsfor Video Graphics, Animation,Sound Processing and so forth, plusPROM firmware, with more to come.

He's fast!

You can order The Challenger witha 6502C for a 250 ns cycle time,with a standard 6502A for 500 nscycle time, or with a 6800 for 1microsecond cycle time. And with

our CPU Expander Board, you

can always update to any new CPU

to be as fast as fast can be.

And he isn't just good!

He's better! By design. The OSIChallenger is the only completely-assembled, ultra-high-performance,fully-expandable mainframe computerthat does this much for this little.Get your hands on one now.Send for your Challenger today.

You can't beat The Challenger!

The OSI Challenger 65-1K. Fullyassembled. Features 6502A CPU,serial interface, 1,024 words ofmemory. $439.

The OSI Challenger 65-4K. Same as65-1K but with 4,096 words ofmemory. Will run Tiny BASIC with-out expansion. $529.The OSI Challenger 65V-4K. NONEED for an expensive terminal.Connects to your ASCII keyboardand video monitor through includedOSI 440 Video Board. Featuressoftware utility that simulates adeluxe CRT terminal. $675.The OSI Challenger 68-1K. Basedon 6800 CPU. For the casualhobbyist, smaller systems. TheChallenger 68 series comes only inserial interface forms and iscompatible with MIKBug softwarethrough an included OSI softwareutilities package. $459.The OSI Challenger 68-4K. WithOSI 4K BASIC on paper tape. $529SPECIAL! ADDITIONAL 4K MEMORYBOARDS. Ordered with your Chal-lenger, limit 3 more at this specialLow Price, (total 16K, including 4Kalready on-board in mainframe). $139Buy 12K or larger Challenger 65system and we include ExtendedBASIC FREE!

I

OSI Challenger Floppy Disk System.Fully assembled, for use with OSIComputers only. $990 Single drive$1490 Dual drive.OSI Audio Cassette Interface.Comes assembled, but with roomfor you to populate with A/D andD/A chips later. (OSI 430 based) $89And all the baseboards and kits ofthe powerful OSI 400 System.

OK, OSI, I'm ready to buy!

To order your Challenger System,send the total amount of yourpurchase plus $4.00 for shipping andinsurance (plus sales tax for Ohioorders) by personal money order orcheck. Or indicate all numberson your BankAmericard or MasterCharge to charge your order.Or send a 20% (non-refundable)deposit to receive your order C.O.D.Delivery is typically 60 days (exceptwhen payment is by check, whichmust clear before shipment can bemade). Deliveries are scheduled ona first ordered, first shipped basis.

Name

Address_City

_State_

-Zip-

Telephone

Bank card info Inter Bank #.

Expiration Date

Account #

OHIO SCIENTIFIC INSTRUMENT

Dept. B 11679 HAYDEN STREET, HIRAM, OH 44234

Check □ M. O. □ BAC □ MC Q20%, bal. C.O.D. Q

□ Order attached.

□ Send additional informa-tion on The OSI Challenger.

n Send additional informa-tion on OSI 400 Kits.

□ $1-00 enclosed

for completeOSI Catalog.

(216) 569-7945

l****** HAVE A MERLIN

t;

I

3

m

The Intelligent Video Interface

If your favorite computerist has an 8080 bus system, what better way to say MerryChristmas than with a MERLIN Video Interface? MERLIN is not just a superbcharacter display . . . MERLIN is a whole system . . .MERLIN is a text display,a high density graphics display,a keyboard interface,a serial I/O port,a regulated power source,a RAM/ROM memory andan integrated and expandable software package.MERLIN is a gift that keeps giving. MERLIN'S keyboard and I/O connector allows theMERLIN owner to add a variety of MiniTerm hardware expansion products.MERLIN'S software has been written as an expandable ROM system with manygeneral purpose subroutines available for use. Give your favorite computerist(yourself, perhaps?) a MERLIN Christmas!

Order early to insure delivery for Christmas.

FIRMWARE SPECS

MERLIN'S BASIC INTELLIGENCE (MBI) ROM has

Monitor Functions

* Memory Fill with HEX value

* HEX Memory Dump

* ASCII Text Input

* HEX Memory Input or Modify" Set Display Format

* Examine/Modify CPU registers

* Copy Memory Blocks

* Define Display Memory Area

* Four User Defined Functions

* Execute User Program

* Three Auto-Clear Breakpoints

Editing Functions

* Winking Keyboard Cursor

* Cursor up, down, rt, It, & Home

* Insert and Replace Mode

* Delete Character and Line

* Delete to end of 'Display Memory'

* Four Slave Cursor Functions

* Auto or Manual Scroll

* Home/Clear

* Six User Defined Functions

* Page Up and Page Down

ease is co ce 33 C3 u zmwarn

SF333I

NK36 F3 33|

\E58i

1234 5678 12341

vE59 €1|

1234 5678 I

b 0 @ s!■

\SH ft C B E 0 L H SL SH PL P*82 28 28 80 78 55 34 12 88 24 61 08 I\fl£8 191s£58i

1234 3678 68AC1\JM

UAIT UNTIL YOU SEE ALL THEl

FUNCTIONS (ALL 21 OF THEM!*

Monitor/Debugger Example

CHRISTMAS ! ! !

HARDWARE SPECS

Altair/IMSAI Plug-in Compatible

(Other Computers Soon)40 Character by 20 line ASCII Display Format5 by 7 font, 64 Character Generator ROMDual Resolution Graphics:

100 V by 80 H or 160 HMixed ASCII/Graphics ModeProgram Control of:

Cursor: On/Off

Control Character: Inverted/Blanked

Carriage Returns: Displayed/Blanked

FIXED or FREE (Memory Saver) Format

Video: Black on White or Reversed

ASCII, Graphics or Mixed ModePlug-in Keyboard PortDMA makes MERLIN the fastest display available

—over 48 K characters per secondSockets and Decoding for on-board Memory:

Two 2708 1 K X 8 EPROMs, or

Two 2 K X 8 Mask ROMs, and

One 256 X 8 Scratch Pad RAM

160H X 100V Graphics

MERLIN is just the beginning . . . coming soon are . . .

* Game control boards that interface via MERLIN'S

Serial I/O Port

* Joystick input board for graphics drawing, also via

MERLIN'S Serial I/O Port

* 1500 Baud Cassette Interface via MERLIN Serial I/O

with software for less than $30!

* Color Graphics and Super Dense Graphics option board

for MERLIN.

* Modem board so you can play computer/computer

games with your friends." High Speed Multiple Cassette Interface Board with

on-board ROM intelligence" Keyboard and Enclosure to plug into MERLIN'S

Keyboard and I/O connector.

rJ MERLIN: assembled and tested including manual

(Does not include Memory) $349.00

[ i MERLIN: kit containing PC boards, IC sockets, UserManual and all parts except memory $249.00

□ MBI MERLIN'S Basic Intelligence: 256 X 8 RAM

and 2K X 8 mask ROM containing Monitor/Editor .$ 39.95

□ MEI MERLIN'S Expanded Intelligence: 2K X 8 maskROM with more Monitor/Editor functions andGraphics subroutines $ 34.95

n MERLIN User Manual: over 100 pages of detailed

hardware and software documentation $ 8.00

Name.

Address.City

_State_

-Zip-

SignatureTotal $

MC/BA#_

. Exp.

All prices subject to change without notice. Mass. residentsplease add 5% sales tax. Master Charge and BankAmericardaccepted.

•i

MiniTerm Associates

Box 268, Bedford, Mass. 01730

Readers Beware!

APL is often thought of as heavy mathe-matical stuff. Terminology used in thisarticle reflects this background and is sum-marized in the glossary; table I should bereferenced when reading the text to identifyoperations coded by the special symbols ofAPL. The symbols used in this article aresometimes approximations of a true "APL"ball for a Selectric typewriter. Many of thesymbols are printed on the typical APLterminal using multiple overstrikes (ie: thesequence: character I, backspace, character2...).

<$>

*<

What Is APL?

Mark Arnold1400 Grand AvLaramie WY 82070

About the Author:

Mark Arnold is a stu-dent at the University ofWyoming, Laramie WY.His experiences to date in-clude co-authoring theSCELBAL interpreter pro-gram with Nat Wadsworth.He is currently at work onthe definition and imple-mentation of an APL sub-set interpreter for micro-processor systems.

APL is the modest name of A Program-ming Language, created by Kenneth Iverson.APL is simple to learn, yet in many ways itis the most powerful language in use today.While to the untrained eye APL looks likethe strangest computer language around,with the possible exception of LISP, thestructure of APL is fairly close to that ofmore common languages such as FORTRANor BASIC. This article will look at some ofthe features of a large system APL. Also, Iwill explore what features I think a smallAPL system for a microcomputer couldhave.

Writing in FORTRAN is like writing howto go downtown: You don't have to think alot about what parts of the language youuse; you just tell exactly what to do. Writingin APL is like writing poetry: You want touse the exact part of the language that willexpress what you want without any excess.APL haters criticize APL because there areso many operators for the user to remember,and the code doesn't always flow out with-out some thought, but APL enthusiasts likeAPL because the large number of operatorsgreatly reduces the size of programs.

APL is extremely time-efficient (at leaston large computers) for parallel operations,such as adding two sets of numbers together.Suppose your program was to figure out thebowling average of each of the four playerson your team. In most languages you would

have to use a loop which would go aroundfor each time there was a new score. In APL,all you would need (provided the programwas set up right) would be a +.

APL operates as an interpreter; that is, itlooks at the APL language program and doesthe operation (perhaps after some inter-mediate translation). This is different from acompiler which translates to machine lan-guage before the program is run. Because ofthis, there are two states in which youoperate APL. The first is called evaluatedinput and the second is called functiondefinition. "Function" is the APL name forwhat would be called a "program" in otherlanguages. A workspace is all the functionsand variables that you have created. Therecan be more than one function in a work-space, and often you can save the workspaceon an auxiliary storage device.

The evaluated input mode is as simple as1+1. When evaluated input is in control,APL prints six spaces and requests input. Ifyou type 1+1, APL will print out the sum of

1 and 1. It would look like this (where theindented part is what you type and theanswer is printed out starting at the lefthand margin)

1+1 USER—*■

2 -« APL

Notice that no "Print Statement" is neces-

20

sary as it would be in BASIC. Some commonoperators are +, —, x, -f. These are thenormal math symbols for the basic opera-tions, but not the normal BASIC andFORTRAN symbols. The original APL usedthese and many more strange characters forits operators, and since the first APL systemswere implemented on IBM/360s, this was nomajor problem. Changing a character setsimply meant changing balls on a Selectricterminal. Most of the operators have twomeanings (as summarized in table 1 for allAPL operators). The example above ofadding 1 to 1 is known as dyadic; that is, theaddition operator has two operands: the oneon the left and the one on the right. The — isan example of a monadic operator that hasonly one operand on the right:

USER

"3

•APL

The ^3 calculates the minus of 3. APLresponds with ~3, which is its way of saying"negative three." Note: The ~ is used onlywith numbers, while the — can be used inany expression.

APL scans an expression from the right tothe left which is opposite the way mosthigh level languages do. This means 2—3—4yields 3 instead of —5. [In APL, a raisedhyphen indicates an algebraic negative signand an ordinary hyphen is used for subtrac-tion.] Also unlike most high level languages,there is no algebraic hierarchy in APL. So2x3+4x5 is 56 and not 26. However, as inother high level languages, parentheses canbe used to override the right to left conven-tion: (2x3) +4x5 is 26.

All the expressions shown up to now havebeen of scalar values, that is, single numbers.APL also allows vectors as constants. Avector is an ordered set of scalar values,something like an array in FORTRAN orBASIC. So to figure the average of the twoscores of the four members of your bowlingteam:

USER—*■USER »•

.5 x 160 109 300 240+ 203 157 254 165

181.5 133 277 202.5

APL

where player one bowled 160 and 203,player two 1 09 and 157, and so on. The firstthing APL does is to add the two vectors(scores) in parallel to get 363 266 554 405.Then each one of the four sums is multipliedby .5 to produce: 181.5 133 277 202.5, theaverage of those two games. All of this wasdone without an explicit loop or any pro-gram in the evaluated input mode. (Note: Todo an operation, either the size of the two

Table I: APL Operators. This is a complete listing, abstracted from thesources in the bibliography of this article, of the APL operators implementedin a typical large scale system such as an IBM/360 or IBM/370. The IBM 5100machine is reported to run the full set of APL functions by emulating a360/370 architecture in microcode and using close to 200 K bytes ofinterpreter ROM. A practical small system APL would necessarily be a subsetif the interpreter is to be kept to a small size.

Monadic Scalar Operators

+ Identity: Returns the right operand as though the operator had not been there.

Minus: Returns the negative value of the right operand. (Appears above normalposition of minus sign as in —3.)

X Signum: Returns 1 if the right operand is greater than zero, 0 if it is equal to

zero, and — 1 if it is less than zero.

Reciprocal: Returns the reciprocal of the right operand.

Exponential: Returns e raised to the right operand.

Natural Logarithm: Returns the LOG base e of the right operand.

Floor: Returns the greatest integer less than or equal to the right operand.

Ceiling: Returns the least integer greater than or equal to the right operand.

Absolute value: Returns the absolute value of the right operand.

Factorial: Returns the factorial of the right operand.

Pi times: Returns Pi times the right operand.

L

r

0

<\j

Not: Returns a 1 if the right operand is 0, 0 if the right operand is 1; an errorcondition results if the operand is not logical (1 or 0).

Roll: Returns a random number between 1 and the operand.

Monadic Mixed Operators

Ravel: Converts a higher dimensioned array into a vector.

Index generator: Returns a vector of consecutive integers between 1 and theright operand.

Shape: Returns the length of a vector or the dimensions of a higher dimensionedarray.

Grade up: Returns a vector that when used to index the right operand will sortit into ascending order.

Grade down: Returns a vector that when used to index the right operand willsort it into descending order.

Execute: Returns the value of an expression represented by character data asthough the characters value of the right operand had been entered duringevaluated input.

Matrix inverse: Returns the inverse of the matrix specified in the right operand.

Monadic transpose: Returns a matrix such that the rows of the right operandare the columns of the new matrix.

Reversal: Returns a vector (if the right operand is a vector) where the elementsof the vector are in the reverse order of the right operand.

Dyadic Scalar Operands

Addition: Returns the sum of the right and left operands.Subtraction: Returns the difference of the right and left operands.Multiplication: Returns the product of the right and left operands.

21

Table 7, continued:

operands must be the same or one must be ascalar and the other an array. An operationsuch as + or x is called a scalar operatorbecause it obeys this rule.)

L

AV

Function of XJl-X2

Function of —Xsame

Sin X

Arcsin X

CosX

Arccos X

Tan XJ1+X2

Arctan XJX2-1

Sinh X

Arcsinh X

Cosh X

Arccosh X

Tanh X

Arctan h X

Division: Returns the quotient of the right and left operands.

Exponentiate: Returns the left operand raised to the right operand.

Logarithm: Returns the logarithm whose base is the left operand, of the rightoperand.

Minimum: Returns the minimum of the two operands.

Maximum: Returns the maximum of the two operands.

Residue: Returns the remainder resulting from the division of the left operandby the right operand.

Combinations: Returns the binomial coefficient of the left and right operands.

Circular functions: Returns the function of the right operand where the leftoperand specifies which function:

Left operand

0

1

2

3

4

5

6

7

Less than: Returns 1 if the left operand is less than the right operand, and 0otherwise.

Less than or equal to: Returns 1 if the left operand is less than or equal to theright operand, 0 otherwise.

Greater than: Returns 1 if the left operand is greater than the right operand, 0otherwise.

Greater than or equal to: Returns 1 if the left operand is greater than or equalto the right operand, 0 otherwise.

Equal to: Returns 1 if the left and right operands are equal, 0 otherwise.

Not equal to: Returns 1 if the right and left operands are not equal, 0 if theyare.

And: Returns 1 if both left and right operands are 1, 0 if either or both are 0. Ifone of the operands is not 1 or 0 then an error results.

Or: Returns 1 if either one or both of the operands is 1, 0 if both are 0. Ifoperands are not logical (1 or 0) an error will result.

Nand: Returns 0 if both right and left operands are 1, 1 if either one or both are

0. If operands are not logical an error will result.

Nor: Returns 1 if both right and left operands are 0, 0 if either one or both are

1. If operands are not logical an error will result.

Dyadic Mixed Operators

Deal: Generates the number of random numbers specified by the left operand,between 1 and the right operand, such that there is no repetition of thenumbers.

Index of: Returns the subscript to the left operand where the first occurrence ofthe right operand can be found. If the right operand is not found in the leftoperand then one plus the length of the left operand is returned instead.

Catenation: Returns the two operands joined together as one vector (or array).

Another type of constant is the charactertype. 'A' is a character scalar constant and'ABCD' is a character vector. A charactervector in APL is roughly equivalent to thecharacter string as implemented in languageslike Extended BASIC, PL/1 or XPL.

Any legal left operand can be subscriptedby using the brackets.

33 443 34 [1 3]

gives a two element array

33 34

USER

APL

In this case a three element array is reducedto two by choosing elements 1 and 3.

A variable, whose name can be up to 31characters long, is assigned a value by theassignment arrow.

For example:

D<- 0 0 9

USER

A+- 1 2 3 4

USER

B<- 5 6 7 "4

USER

O A+B

USER

D [1 21+ C[3

4]

USER

C

USER

10 0

APL

USER

10 0 9

-APL

Notice that an assignment suppresses theprinting of a value. In this example D isgiven the vector value 0 0 9. A is given thevector value 12 3 4, and B is given the value5 6 7 — 4; C is the sum of these two vectors.The first two elements of D are assigned thelast two of C. Character data can also beassigned to a variable, such as

MESS-f-'This is a message'USER ►•

MESS USER *•

This is a message

-APL

Some of the operators listed in table 1 arevery important to APL programs. One ofthese is the monadic iota, known as theindex generator, which creates a vector ofconsecutive integers from 1 to the value ofthe operand. This operator can be used toeliminate many loops from programs. For

22

example, if you wanted to calculate thecosine of a number using the Taylor series:

x2 x41-—+—+2! 4!

-1)

n—1x2n—2

(2n-2) !

(instead of using the 2°X function) thisexpression would do it, where N is thenumber of terms to be calculated.

+/ (~l*~l +IN) x (x* USER—»■

2x"1 + iN)t ! 2x~l+iN USER *■

The subexpression 2x~i+xn will generateN even integers, while this same expressionis used to calculate factorials. Thr- powersand the factorials are divided in parallel andmultiplied by the l "l l "l ... generatedby (~l*~l+tH) The +/, called a plus reduc-tion, sums up each one of the elements ofthe vector which contained the quotients ofthe powers and factorials. Another exampleof plus reduction would be to average thevector 2 3 4 5:

(+/2 3 4 5)

USER

3.5

Any other dyadic scaler operator could havebeen used; for example, instead of thebuilt-in factorial operator, the factorial of ascalar J could be calculated by:

x/ J USER +

Two other operators that eliminate loopsare the grade up and grade down operators,which function similarly. They are monadiconly. The grade up gives a vector of thesubscripts to the given vector so that if thevector is subscripted by its grade up it willbe sorted in ascending order. For example:

A*- 6 4 7 3 5| A

4 2 5 13

A [^A]3 4 5 6 7

USER-USER-

USER-

APL

APL

Suppose the scores of the players on yourbowling team were in a vector subscriptedby player number (as in previous examples);then if you wanted to display the ranking ofplayers, best to worst, simply do a gradedown: fA-

One of the most interesting operators ofAPL is the execute operator, sometimesrepresented as 1 or e which takes a charactervector and performs operations as if thecharacters had been input during evaluatedinput.

Table I, continued:

p Reshape: Returns a vector (or array) created from the elements of the right

operand, such that the shape of this new vector equals the left operand.

Decode: Returns the base value, where the left operand is a vector of baseweights, and the right operand is a vector of base representation. For example:10 10 1012 3 4 is 234 and 2 2 2 11 01 is 5.

Encode: Returns base representation as a vector, where the left operand is avector of base weights, and the right operand is the base value. For example:10 10 10T234 is 2 3 4 and 2 2 2T5is 1 0 1.

+ Take: If the left operand is positive, NtA returns the first N elements of

A. If the left operand is negative, (—N)t A returns the last N elements of A.

t Drop: If the left operand is positive, NJ.A returns a vector with the first N

elements of the right operand removed. If the left operand is negative (—NUAreturns the last N elements dropped.

£ Membership: For each element of the left operand, membership returns a 1 if

the element is contained in the right operand, 0 otherwise.

I v I Matrix divide: Returns the solution of simultaneous linear equations, where the

left operand is the vector of the constants, and the right operand is the matrixof the coefficients.

6) Dyadic transpose: Often used to find the diagonal of a matrix.

q> Rotation: Returns the right operand rotated the number of elements specified

by the left operand (to the right if the right operand is negative, to the left if theright operand is positive).

/ Compression: Returns a vector (or array) where the elements of this vector were

selected from the right operand when the corresponding element of the leftoperand was 1. If the left operand is not logical an error results. The length ofthe left operand must be equal to the length of the right operand; but it doesnot entirely obey the rule for scalar operators, since the result will have a lengthwhich is equal to the number of 1 s in the left operand.

\ Expansion: Returns a vector (or array) with zeros inserted in the corresponding

positions of the right operand wherever there is a zero in the left operand.

Composite Operators(where f and g are any dyadic scalar operator)

f / Reduction: Performs the operation on the elements of a vector (or array), rightto left.

f \ Scan: Performs the operation on the elements of the right operand, left to right,and saves the results in a vector, which is what it returns.

f . g Generalized matrix product: A+.xB is normal matrix multiplication.

0 . f Outer product: Can be used to generate multiplication tables, etc.

Special Operators and Characters

-<- Assignment: Stores the expression on the right in the variable on the left.

1 I Quad: Requests an expression for input and returns the value of the expression.

Also used for output.

I ' I Quote-quad: Requests a character value to be input.

T-bar: For information about variable type, and character generation.

I-beam: Returns system dependent information.

Pi Comment: APL ignores all characters to the right.

V Del: Used to open and close functions.

->• Branch: Continues execution of a function at the line whose number is equal to

the value of the expression on the right. Branch to empty value branches to nextline, branch to 0 stops the function.

23

For example:e'1+1'

ft*-' l'

B<- ' 1 'EA,'+',b

USER

USER

USER-

USER

-APL

-APL

The comma is the catenation operator,which takes the vectors and forms a newvector of the old two joined together, so'+',B forms '+1' and A,'+l' forms '1+1'. Thisis then evaluated by the execute operatorwhich gives the numerical result of 2.Catenation can also be used on numericvectors:

This function starts at line 1 by initial-izing the counter N to 0, then it proceeds toline 2 where the counter is incremented. Atline 4, N is compared to 10, and since theyare not equal a result of 1 is produced,which allows the 2 to pass through the com-pression operator (see table 1). The -* isthe symbol for branching, so branch to 2in the above example takes control back toline 2, where N is incremented again. Theloop continues until N=10, in which caseNtMO returns a value of 0. This causes thecompression operator to return a null value.Branching to a null value is the same asbranching to the next line in the function,which in this example prints out FINISHED.Since there are no more lines to execute,execution of the function stops, and APLprints out six spaces like normal. The outputof this function would look like this:

A<-1 2 3B«-5.5 4.7 3A,B1 2 3 5.5 4.7 3

USERUSERUSER

NEW

USER

-APL

To create an APL program (function) youmust leave the executive or evaluated inputmode, and enter the function definitionmode. To do this, type the del (v) and thename of the function you wish to create.For example, to create a function calledNEW type:

vnew USER—*■

to which APL would respond:

[l]

-APL

You would then type the first line of thefunction, and continue until all the functionis entered, or until you want to leave thefunction definition mode, which you can doby typing another del. Here is a samplefunction:

m

[2]

[3][4][5]

VNEW

N-K3

N-HM+1

N

+ (N^10)/2'FINISHED'

USER

-APL

USER

-APL

USER

APL

USER

-APL

USER

-APL

-APL

1

2

3

4

5

6

7

8

9

10

FINISHED

This program is not a very useful one,since the iota could be used to get essentiallythe same result, but suppose you wanted tochange this function to output a table ofnumbers and their squares. First you wouldreenter the function definition mode, andtype [3] to say that you wanted to changeline three. You would type in:

[3]N;

N*2

USER

The semicolon separates things to be printedon the same line. You decide you want aheader on the output, so you type [1.5] toinsert a line between 1 and 2. Then you listthe function by typing Q (the box is calleda quad, and is also used for input and outputwithin an expression).

USER

[1] N<-0

[1.5] 'TABLE OF SQUARES'

[2] N<-N+l

[3] N;N*2

[4] -((#10)/2

APL-APL

APL-APL-APL

To run this function, simply type itsname: NEW.

Everything looks OK, so you close the

Continued on page 123

24

HOW TO SAVE HUNDREDSOF DOLLARS ON PARTS.

PAINLESSLY

At CSC, we've developed a family of ingenious Design Mate™ testequipment that gives you professional quality and precisionat very unprofessional prices. Each unit can save you

money—and time—in a number of interesting ways.For more information on these, or any other

CSC products, see your dealer or writefor our catalog and distributor list.

SAVE MONEY AND TIMEWITH DESIGN MATE 1

This precision all-in-one unitcombines \a solderless plug-inbreadboarding system with abuilt-in better-than-1%-regulatedvariable 5-15V supply and0-15V voltmeter. Gives youeverything you need to designand test circuits faster thanyou ever could before.Saves money by eliminatinglead damage and heatdamage to components.Lets you re-use parts overand over again, to saveeven more. All for just$54.95*

STRETCH YOUR BUDGET FURTHERWITH DESIGN MATE 2

Precision function generator lets you

test all kinds of equipment, with 1Hz-

100kHz signals. Low-distortion sine

waves, high-linearity triangle waves,

fast-rise-time square waves. Five

decade ranges, accurate to 5% of dial

setting, with variable 100mV-10V P-P

output and constant 600-ohm

impedance. At $69.95? it's a lot of

signal for very little money.

SAVE MORE MONEY AND TIMEWITH DESIGN MATE 3

Accurate R/C bridge helps you use

"bargain" components. Quickly and

easily measures resistance 10 ohms—10

meg; capacitance 10pF-1^F—both in

decade ranges to within 5% of dial

setting. Simple, 2-control operation and

positive LED indication make

measurements in seconds. At $59.95*

it pays for itself in no time.

CONTINENTAL SPECIALTIES CORPORATION

EASY DOES IT

44 Kendall Street. Box 1942

New Haven. CT 06509* 203-624-3103 TWX: 710-465-1227

West Coast office: Box 7809, San Francisco. CA

94119 • 415-421-8872 TWX: 910-372-7992

Canada: Len Finkler Ltd.. Ontario

(&) 1976. Continental Specialties Corp.

•Manufacturer's suggested list. Prices and specifications subject tochange without notice.

Build the Beer Budget

Peter Nelson68 Seaver StWellesley MA 02181

Photo I: This image wasinspired by the article'stitle (or was it the otherway around?). The pro-gram of listing 7 was usedto draw this picture as wellas the others accom-panying this article.

In the past, graphics systems available tothe experimenter have been expensive andcomplicated or have forced him to settle forlimited resolution. The simple circuit de-scribed in this article will provide resolutionof 128 by 128 dots for under $20 and fourtimes that resolution for just over $20. Itrequires the use of an oscilloscope as thedisplay device, but it need not use anexpensive scope.

We can create images on the screen of anoscilloscope by using dots. By placing manydots close together, we can form lines andshapes or even letters and numbers. Thelocation of a dot on the screen is specified tothe oscilloscope by a pair of voltages, onevoltage being applied to the scope's verticalinput and the other to its horizontal input.The computer provides the voltage values byoutputting two binary words to a pair ofdigital to analog converters (known asDACs). The converters produce output volt-ages that are proportional to the numericvalue of the words. Because an 8 bit wordwill allow the DAC to produce any one of256 voltage values, it should be possible,using high precision 8 bit DACs, to positiona dot anywhere in a 256 by 256 field.

By providing a rapid sequence of many

binary word pairs, we can generate a largenumber of dots that all appear to exist onthe screen at the same time. By repeating thesequence many times a second, we candisplay a steady, nonflickering pattern ofdots. Each time we repeat the sequence we"refresh" the display.

Because the time required for the com-puter to perform a refresh operation willdepend, at least in part, on the number ofdots being displayed, there will certainly bean upper limit to the total number of dotsthat we can display without a noticeableflickering of the screen. That limit is deter-mined by such factors as the speed of thecomputer, what the computer is doing be-sides refreshing the display, how the numbersare obtained (ie: whether they are computedor read from a buffer in memory), thepersistence of the oscilloscope's phosphor,and what flicker frequency the user con-siders noticeable. For example, using theroutine described later in this article on an8080 system with a 1 MHz clock (about halfthe speed of an Altair 8800) and using amedium persistence phosphor in the display,I find that I can display about 512 dotsbefore flicker begins to appear.

The Circuit

The circuit of figure 1 uses componentsthat are all readily available. Most can bebought through the suppliers who advertisein the back pages of BYTE magazine. TheMC1408 digital to analog converters can besupplied by any Motorola distributor and aremanufactured in several different levels ofprecision. The precision determines theexactness with which the output voltage willcorrespond to the binary input. The -L8

Table I: Integrated Circuit Power List. Thislist contains the pin connections for thepower voltages used by figure I.

IntegratedCircuit

Type

+5 VPower

Ground

-V

(-7.1)

IC1

74100

24

7

-

IC2

74100

24

7

-

IC3

MC1408L7

orMC1408L8

13

2

3

IC4

74100

24

7

-

IC5

MC1408L7

orMC1408L8

13

2

3

IC6

7404

14

26

Graphics Interface

+ 5V

OUTPUTPORT

LSBDO

_D4_

»R41470

XTO-

IC67404

>R5

.470

V

O-

ICI74100

IDI102ID3ID42DI2D22D32D4CI

1011021031042012Q2203204C2

IC474100

IDI

IQI

ID2

102

ID3

103

ID4

104

2DI

201

2D2

202

2D3

203

2D4

204

a

41920

89

1817

12

IC67404

IC6

|-7404

5

4

19208

_9

1817

2

3

22

21I I101516

IC274100

IDI

IQI

ID2

102

ID3

IQ3

ID4

104

2DI

2QI

2D2

202

2D3

203

2D4

204

CI

C2

22_

• 1500

lC5 +VREFMCI408A8 10

A7A6A5A4

A3 -V REFA2AlCOMP

16

C2!6pF

/77

;ri

.1500

IC3 +V REF

MCI408A8 10

A7A6A5A4

A3 -V REFA2

AlCOMP

/77

TO SCOPEHOR. INPUT

R3

3300

•CI'l6pF

/77

R26800

V OUTAPPROX0 T0-4V

• R6£6800

TO SCOPEVERT. INPUT

R73300

RESISTORS-I/4WVALUES IN OHMS

/77

I

OI/iF

IC7LM309K

T

BYPASS CAPACITORS (TYPICAL AT SEVERALPLACES ON POWER BUS)

-a +7V<+ <+35V

C3

30^F

VOLTAGE DETERMINEDBY VIN.

C4

10V

R83301/2 W■JWV—

-a -8V<-V<-I8V

Dl

7.1V

500mW

Figure J: Schematic for the Beer Budget Graphics System. This graphics system uses the computer's main memory as a refreshsource, with a continuously executing program to put the position information out to the X and Y inputs of the oscilloscope.Both the X and Y outputs change "simultaneously, " limited only by the amplifier slew rates of the oscilloscope and the MCI 408settling times. The driver program enables interrupts once per scan in order to allow a keyboard controlled drawing modecommanded by user inputs.

27

Photo 2: An illustration ofhow different dot bright-nesses are achieved by re-peating points. The cursoris a winking point. Foruser controlled brightness,extra time on a point isentered by pushing the"deposit key" (ASCII'*')multiple times using theprogram of listing I.

version should be used if a 256 by 256resolution is desired. The -L7 version may beused for a 128 by 128 resolution, butattempts to use it for higher resolutions willresult in unevenly spaced dots. For lowresolution applications (64 by 64 or less),the -L6 version provides an economicalchoice.

This circuit is simple enough to bread-board using a socketboard array such as Idid. Later, I made a permanent board as adouble layer printed circuit with fake"plated through" holes of wire jumpers. Itmay also be constructed using wirewraptechniques. Leads, especially those associ-ated with the digital to analog converters,should be kept short; and I recommend thatthe lines going to the oscilloscope beshielded. A good ground connection to theoscilloscope is essential.

The data bus is assumed to come from an8 bit parallel output port that can sink 6.4mA per bit line. I do not recommend drivingthis circuit without additional current buf-fering directly from the system data busunless there are relatively few other deviceson the bus. A dotted line in the drawingshows where a 17 line interface to anexisting latched IO port might be made,further simplifying the circuit.

The strobe lines are active low and theentire logic 0 transition should take placewhile the data inputs to the latches arestable. The inverters provide current buffer-ing for the 74100 clock inputs as well as theappropriate logic 1 load signal.

The digital to analog converters in theconfiguration shown in the schematic pro-duce a negative output voltage. As thenumeric value of the binary word becomesgreater, the output voltage becomes morenegative. Note that with the MC1408 DACthe A8 input is the least significant bit andA1 is the most significant bit.

Choice of an oscilloscope is not verycritical. I have been using a battle-scarredHeathkit 10-102, which, until they stoppedproducing it, was the bottom of their line.The oscilloscope must have both X and Yinputs. If you have direct-coupled inputs,you may find them preferable at times,

though for most applications AC or DCcoupled inputs can be used. Unless it isseverely limited, bandwidth should not be aproblem: 1 MHz or greater in both channelsshould be more than adequate.

In normal operation, the horizontal co-ordinate is outputted first. The XSTROBEline is used to load that coordinate into thefirst latch of the horizontal channel. Notethat it does not yet appear at the input ofthe horizontal digital to analog converter.The vertical coordinate is then outputtedand loaded into the vertical latch by theYSTROBE line. This strobe signal also loadsthe horizontal coordinate into the secondhorizontal latch. Thus, the vertical andhorizontal coordinates are both applied totheir respective converters at the same time.

If you find that the dots seem to vibrateor move about on the screen, you areprobably picking up 60 Hz hum. Doublecheck the ground connection to the oscillo-scope and use shielded cable if you are notalready doing so. Streaked or smeared dotssuggest excessive reactance on the linesgoing to the oscilloscope or severely limitedbandwidth of the oscilloscope itself. Thedirection of the smearing gives you a clue asto which channel is being affected. Reducingthe refresh rate may help to control thisproblem if all else fails.

Some Software Considerations

In many graphics applications such asgame programs or interactive graphics, thecomputer is not merely being used to refresha display but is also called on to performother functions, in effect, at the same time.To allow maximum freedom for the com-puter to execute these other functions, thedisplay refresh routine should be designed tooperate quickly rather than, say, to savememory. Rewriting a dot output routine soas to save a few microseconds may not be apetty exercise if there are 512 dots to berefreshed 20 times a second. Such a savingsmight be obtained by using JUMP instruc-tions instead of CALLs or, if you areoutputting from a buffer in memory, de-fining the limits of that buffer only in termsof the most significant address byte so youdon't have to perform a time-consuming 16bit comparison to find out if you've reachedthe end of the buffer.

It is also important to distribute thedisplay refreshes evenly to avoid annoyingflicker of the screen. If you decide, forexample, to refresh the display 30 times asecond, it will do no good to perform all 30refresh operations in the first half of thatsecond. This would probably be a goodapplication for a programmable interval

28

timer which would generate an interruptwhen it is time to refresh the display.

Note that it is possible to use the soft-ware to control dot brightness. By causing aparticular point on the screen to berefreshed more often than other points, wecan generate a brighter dot at that point.This may be done as simply as storing thatdot in several locations in the buffer.

The routine detailed in listing 1 was thefirst program that I wrote for the graphicscircuit. It is written for use with an 8080instruction set and is basically a picturedrawing routine. It has a 512 dot buffer, awinking cursor, and it recognizes six com-mands: move cursor right; move cursor left;move cursor down; move cursor up; deposita dot (at the cursor location); and, cleardisplay. Because this routine uses a fixedbuffer size, the clear is performed by sweep-ing all 512 dots into a pile in the lower lefthand corner of the display (coordinate:FF,FF). Each command is indicated with asingle ASCII character inputted from aninterrupt driven keyboard. The interruptservice routine merely loads the accumulatorfrom the input port and returns to where itwas called from. Because I use "memorymapped" IO (ie: my 10 ports are treated asmemory locations), I use STA as an outputinstruction. Those using 8080 10 instruc-tions will want to substitute OUT instruc-tions.

Consider what the routine has to keeptrack of. When refreshing the display, wehave a pointer (HL) that tells us which dotin the buffer we are refreshing, but whendepositing a dot we have to know where inthe buffer we have space for a "new dot"(HL on stack). We also have a screenlocation pointer (DE) for the cursor and acounter (C) to determine the cursor'swinking rate. If a routine like this is used asa subroutine, care should be taken to saveeverything on the stack before returning tothe main program.

Other Ideas

Can a pair of digital to analog convertersconnected to a computer be used for appli-cations other than graphics? Absolutely! Anobvious idea would be waveform generation,but how about musical instrument syn-thesis? One converter could be connected toa wide range voltage to frequency convertersuch as the Raytheon 4151 and the otherconverter could provide envelope informa-tion. Passive components could tailor theoutput of the 4151 to suit the instrumentbeing synthesized. Just about any con-tinuous range phenomenon can be put underthe control of the computer using a digital

Listing 1: An Intel 8080 program to drive the Beer Budget Graphics system.This program uses inputs from an ASCII encoded keyboard to commandvarious cursor movements and perform the utility functions of clearing thescreen and entering data. The cursor is an extremely bright point whosecoordinates are maintained in the D and E registers. Data is kept in locations300 to 6FF.

Addr

Hex Cot

Is

Label

Op

Operands

Commentary

0200

31

FO

OF

START

LXI

SP,FOOF

Initialize stack pointer;

0203

21

00

03

LXI

H.300

Initialize next new dot pointer

0206

ES

PUSH

H

and push onto stack;

0207

21

00

03

REFRESH

LXI

H.300

Set refresh pointer to start of buffer;

020A

7E

MORE

MOV

A,M

A := @HL [get horizontal coordinate] ;

020 B

32

05

80

STA

OUTPUTX

X coordinate :■ A [memory location is output 1 ;

020E

23

INX

H

HL := HL + 1 (point to the vertical coordinate] ;

020 F

7E

MOV

A,M

A ;= (<?HL [get vertical coordinate] ;

0210

32

06

80

STA

OUTPUTY

Y coordinate := A [memory location is outputl ;

0213

23

INX

H

HL := HL + 1 [point to horizontal coordinate) ;

0214

3E

07

MVI

A.7

A := buffer page address limit;

0216

BC

CMP

H

Is HL pair at end of buffer?

■0217

C2

OA

03

JNZ

MORE

If not then repeat the display loop;

021 A

OD

DCR

C

C ;= C — 1 (decrement cursor counter] ;

•021 B

CA

77

02

JZ

CURSOR

If zero then output the cursor pattern;

021 E

AF

INPUT

XOR

A

A := 0;

021 F

FB

El

Enable interrupts from keyboard;

0220

00

NOP

Interrupt window to service keystroke;

0221

F3

Dl

Disable interrupts from keyboard;

0222

FE

00

CPI

0

Was there any input?

•0224

CA

07

02

JZ

REFRESH

If not then go refresh display again;

0227

E6

7F

ANI

7F

A : = A & 7F (remove most significant bit with mas

,k

0229

FE

4C

CPI

V

Was it move cursor left?

•022B

CA

4A

02

JZ

LEFT

If so then go move the cursor left;

022 E

FE

52

CPI

'R'

Was it move cursor right?

"0230

CA

4F

02

JZ

RIGHT

If so then go move the cursor right;

0233

FE

55

CPI

'U'

Was it move cursor up?

•0235

CA

54

02

JZ

UP

If so then go move the cursor up;

0238

FE

44

CPI

'D'

Was it move cursor down?

•023A

CA

59

02

JZ

DOWN

If so then go move the cursor down;

023D

FE

2F

CPI

■/■

Was it a clear command?

•023F

CA

5E

02

JZ

CLEAR

If so then go clear the display;

0242

FE

2A

CPI

Was it a deposit dot command?

•0244

CA

6E

02

JZ

DEPOSIT

If so then go deposit a dot;

■0247

C3

07

02

JMP

REFRESH

Bad command, so back to refreshments;

024 A

14

LEFT

INR

D

Move cursor left one space;

024 B

14

INR

D

[Second move, NOP if 8 bit DAC used] ;

"024C

C3

07

02

JMP

REFRESH

Refresh the display;

024 F

15

RIGHT

DCR

D

Move cursor right one space;

0250

15

DCR

D

[Second move, NOP if 8 bit DAC used] ;

■0251

C3

07

02

JMP

REFRESH

Refresh the display;

0254

in

UP

DCR

E

Move cursor up one space;

0255

ID

DCR

E

[Second move, NOP if 8 bit DAC is usedl ;

'0256

C3

07

02

JMP

REFRESH

Refresh the display;

0259

1C

DOWN

INR

E

Move cursor down one space;

025A

1C

INR

E

[Second move, NOP il 8 bit DAC] ;

•025B

C3

07

02

JMP

REFRESH

Refresh the display;

025 E

21

no

03

CLEAR

LXI

H.300

HL := starting address, refresh buffer;

0261

3E

FF

AGAIN

MVI

A,FF

A ;= null coordinate value, lower left;

0263

77

MOV

M,A

@HL := A [zap a buffer location) ;

0264

23

INX

H

HL := HL + 1 [point to next location];

0265

3E

07

MVI

A,07

A ;= page address of buffer limit;

0267

BC

CMP

H

IsHLat the limit?

•0268

C2

61

02

JNZ

AGAIN

If not then continue zapping memory;

•026B

C3

00

02

JMP

START

When done, restart the program;

026E

El

DEPOSIT

POP

H

Pull old buffer location pointer;

026 F

72

MOV

M,D

@HL := horizontal cursor position;

0270

23

INX

H

HL := HL + 1 [point to next coordinate in bufferl

0271

73

MOV

M,E

@HL := vertical cursor position;

0272

23

INX

H

HL := HL + 1 [point to next coordinate] ;

0273

E5

PUSH

H

Push current buffer location pointer;

■0274

C3

07

02

JMP

REFRESH

Refresh the display;

0277

7A

CURSOR

MOV

A.D

A := horizontal position;

0278

32

05

80

STA

OUTPUTX

X coordinate : = A;

027 B

7B

MOV

A.E

A ;= vertical position

027C

32

06

80

STA

OUTPUTY

Y coordinate :- A;

027 F

OE

08

MVI

C,8

Set cursor counter to 8;

'0281

C3

IE

02

JMP

INPUT

Go get more inputs;

Notes:

All constants are hexadecimal;

@HL in commentary indicates the contents of memory location pointed to by HL pair;

*next to address indicates the instruction contains an address which must be recomputed

if the program is relocated;'X' indicates ASCII character X;Note that 16 bit data format for the 8080 stores the low order byte in the lowest

address, thus the hexadecimal value 8006 (for example) is seen in the listing as

06 80.For 8 bit converters, the increment or decrement instructions at locations 024B, 0250,

0255, and 025A must be replaced by NOP instructions.

to analog converter. The Motorola applica-tion sheet for the MC1408 includes ideassuch as programmable gain amplifiers, aprogrammable power supply, a program-mable constant current source, and others."

29

There'sanother sideof IMSAIyou should know

IMSAI VIDEO DISPLAY

Assembled $1199.00/Unassembled $699.00

IMSAI MULTIPLE I/O BOARDAssembled $350.00/Unassembled $195.00

.«*

JIM

i i

Sure you know our IMSAI 8080computer. Its size, quality,performance and price set theindustry standard for value.There's another, equally importantside of IMSAI —our broad andever growing I/O product line.Right now IMSAI offers an arrayof sensibly priced, versatile, high-quality interfaces and peripheralsthat live up to the IMSAI 8080 forquality technical leadership,and value.

IMSAI VIDEO DISPLAY. We

call it the most powerful, flexiblevideo display interface available.With up to 3 boards that fit intoyour IMSAI you can display colorcharacters and color graphics,simultaneously. • Unlimitedimage control. • Large capacitydisplay. • Eight colors; 7 halftones.• All cables included. • FullASCII character set. • Characterblink, reverse video, multiplecursor and double-widthcharacters.

IMSAI KEYBOARD. 53 key

ASCII encoded keyboard withgood touch quality and uppercase alphanumeric keys thatduplicate functions of the ASR-33.Supplied with commercial gradecabinet and cable. Interfaces toany 8-bit parallel port.

IMSAI 44 COLUMN PRINTER.

44 column dot matrix printeroffering hard copy output at anaffordable price. Interfaces tomany computers using an 8-bitparallel output port. Simpleprogramming and installation.Self-contained with case, cable,power supply timing, control andcharacter generation included.Produces 75/lines/min.; doublesize characters software selectable.

IMSAI MULTIPLE l£> BOARD.

Simultaneous control of key-board, printer, tape cassette (Byteor Tarbell) and teletype (or CRT)by a single MIO board. Our 5-port,multiple I/O board combines themost commonly used I/O inter-faces including a cassette interface,faces including a cassette interface,two parallel I/O ports, one serialchannel and one control port—all on one board!

And many other IMSAI I/Ointerfaces to expand your system.Examples:

IMSAI ProgrammableParallel I/O board offering 6-portsfor the ultimate in I/O flexibilityand control.

IMSAI PRINTERAssembled $549.00/Unassembled $399.00

IMSAI KEYBOARDAssembled $199.00

IMSAI 2-Channel serialI/O board with 3 modes for totalversatility in communications.

IMSAI 4-Port ParallelI/O board with LEDs for visualobservation of data flow.

IMSAI Intelligent Bread-board for easier, more accuratecircuit design and classroominstruction.

IMSAI 4K RAM-thebest price performance 4K RAMboard on the market.

Socket sets for all boards.Use for easier board maintenance.

For commercial applica-tion—Our IMSAI floppy disc withdisc operating system andextended BASIC.

ALL these IMSAI prod-ucts available NOW at your IMSAIdealer or from the factory.

Yes, the other side ofIMSAI has much to offer. It's acomplete I/O line with productsthat match the IMSAI 8080. Weoffer a detailed, illustrated catalogdescribing the IMSAI 8080, itsoptions, peripherals, software,prices and specifications. Sendone dollar to cover handling.Write or call for name of thenearest dealer.

Dealer inquiries invited.

IMS Associates, Inc.

14680 Wicks BoulevardSan Leandro, CA. 94577(415) 483-2093TWX: 910-366-7287

Photo I: With a high resolution display of 256 by 208 points, the author'sdisplay system becomes a programmable blackboard for numerous games andvisual outputs. A relatively trivial game is the simulated tennis often seen inbars, restaurants and airport waiting lounges (to say nothing of massproduced special purpose home video game sets). The software required isrelatively simple and the display has only three moving objects — the twopaddles and the ball. As in all interactive games, some form of player input isrequired. This can typically be supplied by a variable resistance (as in apotentiometer, slide pot or joystick) and an analog to digital converter.

Add This

Graphics

Display

to Your System

Thomas R Buschbach12310 Purcell RdManassas VA 22110

Since one of the reasons I built a personalmicroprocessor was to play video games, Ineeded some type of high resolution graph-ics display capability. After examining thecurrent unavailability of a low cost commer-cial product to perform this task, I decidedto build my own unit. The main reason,besides cost, was that I wanted a 256 by 256dot matrix (as you'll see below, I actuallygot 256 by 208). Since my system alreadycontained a television display generatorboard for character information, I decidedto build a graphics display unit which wouldutilize existing synchronization, blanking,and timing pulses. For storage of the data tobe displayed, I started with a standardprogrammable memory board populatedwith 8 K eight bit bytes of 500 ns accesstime 2102 integrated circuits.

My design goals for this project were to:

• Utilize all possible circuitry existing onthe television display interface board.

• Have the graphics display work inparallel with the existing alphanumericcharacter display.

• Have the ability to use the graphicsdisplay region of memory for ordinaryprogramming purposes if the display issuppressed.

• Use direct memory access techniques(DMA) so that the graphics displaydata appears as ordinary program-mable random access memory as far asthe computer is concerned.

I was able to meet all these goals for atotal cost of $25 in integrated circuits, abovethe cost of the existing display generator andmemory boards of my system. If yoursystem does not have an 8 K programmablememory board available, you will need topurchase one. Remember, when the graphicsdisplay is not in use, the memory can beutilized as if it were an ordinary program-mable memory region; so the investment willalso pay for itself in terms of raw memorypower for your non graphics applications.

If your system does not have a televisiondisplay generator board, the synchroniza-tion, blanking, and timing pulses can easilybe generated using counters. I would suggestreading Don Lancaster's new book, TVTypewriter Cookbook. Chapter 4 contains

32

an explanation and schematics of the circuitsto generate the required pulses.

The graphics display unit functions as aninterface between the processor, the 8 Kmemory board, and the television displaygenerator, to provide the graphics capability.A block diagram of this interface is shown infigure 1. The graphics display unit has twomodes of operation, display mode and up-date mode. In display mode, the unitcyclically accesses all addresses of the pro-grammable memory board using directmemory access, then converts the outputfrom parallel to serial, sending it to thetelevision display generator to be combinedwith any alphanumeric information and dis-played on the monitor or TV set. Since thisoperation must occur in parallel with normalprocessor functions, the address bus of thememory must be isolated from the pro-cessor's address bus. The output data fromthe memory must also be isolated from thesystem's data buses. In the update mode, the

Photo 2: With a high resolution display, games need not be kept simple. Hereis an example of a much more complex game display on the author's system,again modeled after the commercial games often found in entertainmentcenters. To set up such a display typically requires software to create thebackground maze, keep track of all the movable pieces, and of courseprogram the logic of the game simulation.

PARALLEL DATA

SERIAL DATATRI-STATE BUFFERS

PROCESSOR

TV DISPLAYGENERATOR

COUNT

PROCESSOR DATA OUTPUT BUS

PROCESSOR DATA INPUT BUS

WRITE

STROBE

*j \ GATED

WRITE STROBE

VERTICAL BLANK r

.VIDEO PULSES

Figure I: System Diagram. The graphics display unit interfaces to three elements of an existingsystem: The processor and its buses, the television display generator, and the 8 K programmablerandom access memory. The graphics display unit is normally in the display mode, where itcontinually displays data contained in the programmable memory module. If the processorreferences a location within the programmable memory's address space, the graphics displayunit enters the update mode either immediately or during the next vertical blanking pulsedepending upon the setting of a switch. In the update mode, the processor commands thememory and the display looks at random output bits, which are of course ignored during theblanking period.

33

processor is given control of the memory'saddress bus and allowed to read or writedata. The update mode should only beentered while the television display gener-ator is sending a vertical blanking pulse. Thisprevents the update from causing a spuriousblip on the screen. However the penalty forobserving this requirement is that the pro-cessor may have to wait for nearly a com-plete television frame time, about 13.5 msmaximum in the author's system. A memorywait this long is impossible for processorssuch as the 6800 which do not have amemory ready mechanism, in which case analternate mechanism such as an input portbit line could be used.

A more detailed block diagram of thefunctions of the graphics display unit is

shown in figure 2. This design is composedof three functionally distinct areas: the threestate buffers and their control logic, thecounters, and the shift registers. The blockdiagram and details of this article assumealso that the processor has a split "in" and"out" memory data bus as is utilized in theAltair 8800 or Digital Group designs.

The state of the buffers is determined bythe mode in which the graphics display unitis operating. In the display mode, the buffer,block (2) in the figure, allows signals to passwhile buffers of blocks (1) and (3) must bein a high impedance state. This gives thegraphics display unit's counters control overthe programmable memory's address bus andblocks the output data from entering theprocessor's data input bus. In the update

VERTICAL BLANKING FROMTV DISPLAY GENERATOR

WRITE STROBE

FROM PROCESSOR

WAIT REQUESTTOPROCESSOR

PROCESSOR ADDRESS BUS

r

AI5

BUFFER

STATE

CONTROL

MODE

CONTROL

LOGIC

GATEDWRITESTROBE

AO

BUFFER(I)

->o-^

ADDRESS

PROGRAMMABLE RAM

BUFFER(2)

FROM■PROCESSOR/DATA OUTPUT

BUS

CHARCOUNTERS

LINECOUNTERS

CHAR COUNT

"FROM TVDISPLAY GEN.

. CHAR CLEARFROM TVDISPLAY GEN.

-LINE COUNTFROM TVDISPLAY GEN.

-LINE CLEARFROM TVDISPLAY GEN.

BUFFER(3)

SHIFTREGISTER

TO

PROCESSORDATA INPUT BUS

SHIFTREGISTER

Xh

FROM TVDISPLAYGEN.

LOAD/SHIFT

DATASELECTOR

VIDEO

OUTPUT

TO TV DISPLAY GEN.

Figure 2: Detail Block Diagram. As in all "top down" system designs, the design progresses by filling in more and more detail.Here is a block diagram of the actual graphics display unit. This figure shows a detailed functional arrangement of the interfaceas constructed by the author. In the display mode, the graphics display unit continually cycles through all addresses in theprogrammable memory, outputting serial video levels to the television display generator, for mixing with existing charactergraphics information. In the update mode, the graphics display unit allows the microprocessor to control the programmablememory unit's address and data lines for normal access. The mode switching is automatic based upon whether or not the addresssent by the processor is within the display's address space.

34

mode, the buffers (1) and (3) allow signalsto pass while the buffer (2) is in a highimpedance state. This gives the processorcontrol of the programmable memory's ad-dress bus and allows memory to be con-nected to the processor's data input andaddress buses. The gated write strobe pulse isalso enabled in this mode. Note that theprocessor is the only source of data writtento the memory, so there is no switching ofthe processor data output bus which drivesthe inputs of the memory banks.

The mode control logic determines theproper mode of operation at any given time.It does this by monitoring the three mostsignificant bits of the processor's address busto determine if it is referencing a location inthe programmable memory region assignedto the graphics display. If it is not refer-encing graphics memory, then the graphicsdisplay unit will remain in the display mode.If the processor does reference a location inthe graphics display region of address space,then the television display generator ischecked to see if it is generating a verticalblanking pulse. If it is, and if the graphicsdisplay is set (using SI) to prevent visualnoise ("sparkle") caused by updates, thenthe display is changed into the update modeand the memory access takes place as if theprocessor were addressing an ordinary loca-tion. However if the television display gener-ator is not in the vertical blanking period,and the graphics display is set via S1 to avoidarbitrary data during updates, then theprocessor is placed in a wait state until thenext vertical blanking pulse is initiated, atwhich time the update mode is againentered. Note that this feature will onlywork with processors incorporating a mem-ory ready line for slow response memories;an alternate mode of operation in whichupdating has priority over display must beused for processors which cannot wait.

The counters control the memory addressbus during display operations, continuallycycling through all locations with a full cycletaking 1 /60th of a second (16.67 ms). Thesecounters must be in synchronization withthe existing counters in the television displaygenerator. Most such television displaygenerators contain two sets of counters. Oneset counts the character's position on theline. Each character is typically 8 bits wide,and there are typically 32 characters per linefor a total of 256 dots per horizontal line.The other set of counters counts the numberof horizontal lines which have been generated(TV scan lines, not character lines). In atypical television display without interlacethere would be a maximum of 256 horizon-tal lines. On the television display generator

Photo 3: Not all outputs need be game oriented of course. Here is an exampleof a graphic output which could easily be used for engineering purposes:plotting the two dimensional behavior for some function. Here the author hascalculated a sine wave using a BASIC package and appended various charactergraphics captions. The basic X-Y axes and the character graphics can begenerated typically by a table lookup with some calculation; the actual pointsof the curve can be generated directly from the function calculation bycalculating integer positions. In either case, to conveniently program thedisplay, a set of bit manipulation subroutines is required to read and writeindividual bits, given the coordinates within the matrix.

board, there are pulses which clear thesecounters. These pulses should be used toclear the corresponding set of counters inthe graphics display unit. The pulse whichclears the line counters has an added signifi-cance: It also determines how many of thepossible 256 horizontal lines will actually bevisible on the screen. Due to overscan on aconventional television screen, the actualnumber of lines visible is never 256. Atypical number of visible lines for a tele-vision display generator such as my DigitalGroup product is 208. This means that thevisible display is actually a 256 by 208 dotmatrix. Note that this leaves 1536 bytes ofthe 8192 bytes in the 8K byte memorymodule free for normal programming pur-poses (see figure 4). To determine how manylines your particular television display gener-ator displays, examine the logic which con-trols the clearing of the line counters anddetermine the value of the counters justprior to the clearing pulse.

The shift registers convert the paralleldata from the programmable memory into atime varying string of video levels in

35

Figure 3: Schematic Diagram. Taking this "top down" hardware system design one level further for a specific case yields thisschematic diagram of the interface as implemented for a Digital Group system and Digital Group television display generator.

w

6 0

\

H

mm

w

ro m r- ffi

'£ -^

^°

Mfflw

Cwb

36

Each element of the block diagram in figure 2 is shown here in the form of actual circuitry and wiring. The memory matrix isshown as a generalized box with 8 bank selection inputs for each I K bank within the module.

0

r$

O - cm ki » in— r\j tn yj- m & t-

< m

g

1-

o

—%

sly

mo \J

*r ki 5 to w

IB « * fl »

hi HI u.

D I O Q I

M m f~ 51 — 52

000000

00'

8°

37

synchronization with the video level infor-mation generated by the existing televisiondisplay generator. Two shift registers arerequired so that one may be loading datawhile the other is shifting data out. Toinsure that the graphics display unit videoinformation is in synchronization with thevideo of the television display generator, theclock pulse for the television display gener-ator's shift register should be used for thegraphics display generator's shift registers.The load or shift input to the graphicsdisplay unit shift registers is controlled bythe least significant address bit generated bythe graphics display's counters. This bitchanges state each time that a new byte isaccessed in memory. The timing here iscritical. The shift register which was loadingdata must disable its parallel inputs beforethe change in the address lines affects thedata output from the memory. For the2102-1 integrated circuits this time is aminimum of 50 ns. This shift register mustalso change from the loading state to theshifting state prior to the next clock pulsefrom the television display generator. Thismay require slightly delaying the clock pulsefrom the TV display generator. In mysystem, it required approximately 20 ns de-lay in the clock line, provided by using a pairof inverters in series. A data selector is used

to pick the output from the shift registerwhich is currently shifting data.

Figure 3 shows the implementation ofthis system for a Digital Group 8080Asystem, using the block diagram of figure 2to guide the detailed design. In my descrip-tion which follows, no attempt is made toexplain the schematic in detail. Instead, thevarious components are related to the func-tional blocks of figure 2.

IC1, IC3 and part of IC5 make up thebuffer, block (1) in figure 2, which isolatesthe processor's address bus from the mem-ory in the display mode. IC2, IC4, and partof IC5 form the buffer, block (2) of figure 2,which isolates the graphics display unitcounters from the memory in the updatemode. IC6 and IC7 form the buffer, block(3) of figure 2, which isolates the processor'sdata input bus from the memory in thedisplay mode. (The processor's data outputbus is always connected to the input side ofthe memory, since it is the only source ofdata written in the memory.) IC13 and IC14buffer the output from the memory circuitsto provide the required output drive current.

IC8 and IC9 are the character counters.Note that the three least significant outputbits of IC8 are left unconnected. This ineffect divides the output by 8. Since eachbyte from the memory contains 8 bits of

Split Octal Hex

040/000 201 F

040/040 203F

071/340 39FF

072/000 N

I/

/ — — —'

I

v 3FFF

Split Octal040/037040/077

071/377

077/377

Table I: Integrated Circuit Power List.

No Device +5 V GND

IC1

8T97

16

8

IC2

8T97

16

8

IC3

8T97

16

8

IC4

8T97

16

8

IC5

8T97

16

8

IC6

8T97

16

8

IC7

8T97

16

8

IC8

74193

16

8

IC9

74193

16

8

IC10

74193

16

8

IC11

74193

16

8

IC12

7442

16

8

IC13

74125

14

7

IC14

74125

14

7

IC15

74165

16

8

IC16

74165

16

8

IC17

74157

16

8

IC18

7404

14

7

IC19

7437

14

7

IC20

7404

14

7

IC21

7410

14

7

Programming Note: Addresses evenly divisible by hexadecimal 20 (decimal 32) in thisaddress space allocation are the beginnings of a 256 bit (32 byte) raster scan line.

Using SHL(I.J) and SHR(I,J) to indicate the 16 bit left and right shift operations on I,by J positions, then given 16 bit integer coordinates X (horizontal coordinate fromupper left) and Y (vertical coordinate from upper left down), the byte address offset ofthe required bit within the displayed memory region is:

AB :=SHL(Y, 5) + SHR(X,3) ;Similarly, the rotation factor required to place a mask bit opposite the desired bit of apicture byte is given by:

ROTFAC := X & 7;(It is assumed that an 8 bit right rotate is used and the mask starts out with ahexadecimal 80 value.)

Figure 4: Memory address space allocations for the graphics display. Thisfigure charts the specific hexadecimal and split octal address locations for the208 lines and free area in the author's system. Each line is represented by 32eight bit bytes. Each byte specifies 8 consecutive dots on the screen, one foreach bit. The zone at the end of the map contains the invisible section of the8 K region devoted to this memory and display subsystem.

38

information, a new byte is required onlyafter 8 bits are displayed. This assumes thata count pulse is received for each bitdisplayed. IC10 and IC11 are the line coun-ters. They count the number of scan lineswhich have been displayed.

IC15 and IC16 are the two shift registers.Note that the clock input to these integratedcircuits passes through two inverters inseries. This provides the 20 ns delay requiredto allow the shift registers to change statefrom the load mode to the shift enabledmode. The output of the shift register whichis shifting out data is selected by IC17 to besent through a NAND gate to the televisiondisplay generator where it is combined withthe existing video display signal. Switch S2,also connected to the NAND gate IC21b,provides the capability to blank the videodisplay from the screen. If this switch isomitted and the wire from IC21 pins 3 and 4connected to one bit of an output port,programmable blanking of the graphics canbe achieved.

IC1 2 is a BCD to decimal converter whichis used to select one of the eight program-mable random access memory banks on the8 K memory card. This integrated circuitconverts the contents of address bits A10 toA12 into a bank enable signal which drivesthe eight 2102s of each 1 K bank within thememory card.

IC18, IC19, IC20 and 1C21 provide themode control logic. The board address selec-tion jumpers are connected to locate thememory at the desired position in addressspace. The jumpers as shown locate thevisible portion of memory in addresses 8192to 16,383 (hexadecimal 2000 to 3FFF, splitoctal 040/000 to 077/377). Note that in thecase of a television display generator withless than 256 lines visible, the upper portionof the memory range is available for programstorage. In the 208 line case of my system,the 1536 invisible bytes are located athexadecimal addresses 3A00 to 3FFF, splitoctal addresses 072/000 to 077/377. Figure4 shows the layout of memory and itsrelationship to the displayed data. The lowaddresses in memory define the top of theimage; the high addresses in memory definethe lower portion of the image.

Since the processor is granted access tothe memory only during the vertical blank-ing pulses in the scheme just described,programs which have critical timing may notwork properly. For example, software for acassette interface has timing requirementsasynchronous to the video display andwould not work properly if referencing datain the display region of memory. Switch S1in figure 3 is provided to allow the processoraccess to memory at any time, without

waiting. Thus when loading the displaymemory from a cassette tape, the conflictbetween the graphics display wait time andthe needs of time critical software is resolved(at the expense of "sparkle" in the displayduring the loading). For processors whichcannot wait for slow memory, S1 should beeliminated and the enable input, IC19 pin 5,should be grounded.

In making the connections from thegraphics display to the television displaygenerator and memory board, make all wiresas short as possible, certainly not longer than10 to 11 inches (25 to 28 cm). Dependingupon the existing loads on the signals youare tapping, buffers may be required to drivethe lines. The power bus should be heavilybypassed with .01/iF capacitors from +5 Vto ground.

In Conclusion

This graphics display generator can bebuilt very inexpensively, taking advantage ofexisting circuitry in the form of memorymodules and a television display generator.When you've got it up and running, theworld of visual imagery will be available toyou on your television output, as is demon-strated by the examples seen in photos Ithrough 3."

ANY WAY YOU WANT IT!

5X7 IMPACT DOT MATRIX • 75 LINES PER MINUTE

40 COLUMNS • 12 CHARACTERS PER INCH

6 LINES PER INCH • ORDINARY ROLL PAPER

CHOOSE FROM THESE THREE ASSEMBLED AND

TESTED MODELS COMPLETE WITH CASEWORK

AND POWER SUPPLY

• LCP-40 • Parallel l/F without character generatorforspecial software fonts $329

• MP-40 • Parallel l/F with 64 character

ASCI I set $425

• SSP-40 • Serial RS232 or current

loop . TTYcompatible $499

OR SELECT THE "NO FRILLS" KP-40

• Mechanism, LCP l/F, PC and components .... *n'3

SEND FOR FREE LITERATURE

Master Charge Welcome • Utah Residents Add 5% Sales Tax

mpi/P.O. BOX 22101 / SALT LAKE CITY / UT / 84122

801-566-0201

39

Photo 1.

A Tip for Using Wiring Pencils

R W Burhans

Avionics Engineering Center

Ohio University

Athens OH 45701

One of the problems in using the Vec-tor or other brands of "wiring pencils "is the poor visibility of the fine #36 wireviewed against the typical background ofVector Blue circuit board material. Oldertypes of light green epoxy fiberglass boardsgive somewhat better contrast and the lowerquality epoxy paper board is very easy onthe eyes due to its light color. Of the variouscolors available, the red wire has the bestcontrast with respect to the newer blueboard materials, but even this is sometimesnot good enough. The assembly of proto-type hardware with this technique can begreatly improved by laying down a layer ofyellow insulating tape where the pencil wrapwires are to run. We have used 3M brandyellow coil insulating tape. This is almostexactly like 0.25 inch (0.635 cm) wide taperecorder splicing tape. The yellow tape is

placed on the circuit board after the com-mon grounds and positive power buses arehard wired to the socket pins using bus stripsor heavy gauge wire. Then the task of tryingto see the fine wrap wires becomes mucheasier for the remainder of the assembly. Anexample showing the underside wiring of anOmega-VLF receiver interface for use with aJOLT microprocessor is shown in photo 1.[More about the Omega microprocessor in-terfaces will appear in a future issue ofBYTE.] Small strips of the yellow insulatingtape are cut and pasted to help hold thewires in place for semipermanent prototypecircuits. In general we like to use hardsoldered connections for prototype workwhere the microprocessor interface hardwareis used in mobile, marine, or airborne equip-ment. In such applications, the effects ofvibration are a major reliability considera-tion, hence the need of solder as a "glue" forthe wiring. A combination of top of boardjumper wiring and the Vector wire wrap andsolder technique results in less eye strainduring assembly when the yellow insulatingtape is used to improve the wire visibility."

40

SYNCHRO-SOUND ENTERPRISES

PRESENTS

ADM-3 KIT

LSI-11

24 line X 80 columnVIDEO TERMINAL KIT

16 BIT MICROPROCESSOR

400 MACHINE INSTRUCTIONS

with 4K X 16 RAM

WINTER SPECIALS

ADM-3K $849.95

LSI-11 $840.00

IMSAI 8080 $559.95

FEATURING THE FOLLOWING PRODUCTSLEAR SIEGLER DIGITAL EQUIPMENT CORPORATION

IMS ASSOCIATES, INC. DEC WRITERS

CROMEMCO PROCESSOR TECHNOLOGY

SOUTHWEST TECHNICAL PRODUCTS "SEALS" RAM BOARDS

TECHNICAL DESIGN LABS (Z-80) OLIVER AUDIO ENGINEERING

WORKING MODELS ON DISPLAY AT OUR NEW SHOWROOMCALL OR WRITE FOR STORE HOURS SAT (9AM-4PM)

DISCOUNT PRICE LIST WEEKDAYS CALL

PHONE ORDERS SYNCHRO-SOUND ENTERPRISES

(212)468-7067 193-25 JAMAICA AV

HOLLIS NY 11423

41

Photo 1: Using the data of listing 2 with the program of listing 1, this picture of a famous space craft can be placed on a TVscreen using the Southwest Technical Products GT-6144 display. The actual picture is created from three data table segmentswhich define the Enterprise, the Earth and the background of "stars. "

An Enterprising Display Device

Joe Deres

Southwest Technical Products Corp

219 W Rhapsody

San Antonio TX 78216

Many people find games one of the mostinteresting applications of a computer sys-tem. These range from simple games such asTic Tac Toe, Blackjack and Ping Pong tovery complicated games such as Space War.All of these have one thing in common; theyare much more fun when played using avideo graphics display. With such terminalsyou can provide instant response and pro-vide a pictorial playing area that cannot beduplicated on any type printing terminal.Can you imagine attempting to play anelaborate game on a Teletype machine?

Unfortunately, the typical high resolutiongraphics display normally costs thousands ofdollars and is completely beyond the budgetof the average person.

The GT-6144 is our answer to thisdilemma. By settling for a bit less resolutionthan is available in expensive graphics termi-nals we can generate graphic displays on anymonitor (or a standard TV set to which avideo input has been added).

In this design, the display screen isdivided into an array of cells 64 positionswide by 96 positions high. Each cell isindividually addressable and may be selec-tively turned on or off by programmedcommands from the parallel interface toyour computer. With a little imaginativeprogramming (and lots of memory) fixed or

42

moving images may be displayed on thescreen for added enhancement to gameprograms. Photo 1 shows Star Trek's starship, the "USS Enterprise," generated withthe GT-6144 by running the program oflisting 1 using data of listing 2 in an SWTPC6800 Computer System. It takes only 2 /listo load a single cell of the display memory;much faster than most contemporary per-sonal computers can generate the infor-mation. The system features a power upscreen blanking circuit which in additionmay be enabled, or disabled at any timethrough program commands from the com-puter system or hardwired switches. Inaddition, an image reversing feature allowsyou to select between white on black orblack on white images by a simple one wordcommand generated by your computer'sprogram. The system will operate on either50 Hz or 60 Hz power lines with Americanstandard 525 line or European standard 625line television sets or video monitors.

The GT-6144 design incorporates a 6,144bit static programmable memory whicheliminates the requirement that it be usedwith a specific computer system. The termi-nal will operate with any computer systemwhose parallel TTL level interface outputsan 8 bit data word and data ready strobe.The hookup problem then reduces tomaking sure that each bit line at the inter-face runs to the corresponding bit at theinput to the GT-6144.

The unit is available as a kit which iscomplete less the chassis and does notinclude the required video monitor or modi-fied television set. Instructions for theaddition of a video input jack to a typicaltelevision are included with the kit, and aswitch installed on the back of the TV setwill allow one to select between terminaland normal television operation. You mayuse the same television set or video monitorused by the CT-1024 terminal system. Infact, control commands from your computerallow you to display graphic, CT-1024 alpha-numeric, or even a combination of the two,all on the same display device. The mixing ofgraphic and alphanumeric video is engi-neered to work with an SWTPC CT-1024terminal. The video from other alpha-

Listing I: A GT-6144 Demonstration Program. This Motorola 6800 program,written to illustrate the operation of the GT-6144, contains routines to erasethe screen, to write a pattern using a table of commands, and to select variousoptions under control of a simple interpreter driven by the terminalkeyboard. The routine is shown in assembly language format, with an originat location 0000. This program must be run in programmable memorywithout write protection since several data items are located within theprogram text. Relocation of the program at arbitrary addresses other than itspresent page 0 origin will in general require modifications of symbolic codeand reassembly to eliminate direct addressing at several points. There areseveral gaps in the addressing sequence used, reflecting the fact that theprogram was hand assembled. The data used to generate the picture seen inphoto I is summarized in listing 2.

Address Hex Code

Label

Op

Operand

Commentary

0000

00

00

0002

00

00

0004

80

oc

00

05

0006

FE

00 04

0009

A7

00

000 B

C6

37

000 D

E7

01

000 F

E6

00

0011

C6

3F

0013

E7

01

0015

39

* This program, by Joe Deres, is designed to transfer

* a data table of GT-6144 commands to the display.

* The main entry point is at location ENTER, address 0016START RMB 2 Pointer to data;

RMB 2

PIA3 RMB 2 Pointer to PIA address of GT-6144;

PIA3L EQU PIA3+1

* The following subroutine sends the contents of accumulator A

* to the GT-6144 and generates the active low "data ready"

* strobe at the peripheral control pin of the PIA.

PIA3|data] := A [send data to GT-6144];

PIA3[control] := code for low strobe;

B : = PIA3[dataj [dummy op for timing] ;

LDX

PIA3

STAA

0,X

LDAB

*$37

STAB

1,X

LDAB

0,X

LDAB

*$3F

STAB

1,X

RTS

PIA3icontrol] :* code for high strobe;

1 The following is the initialization sequence for the program,1 and the subroutine calls which invoke the picture generation;The program is entered by calling ENTER with a JSR;

0016

86

3C

ENTER

LDAA

J.-S3C

0018

B7

80

07

STAA

S8007

Disable control interface echo option;

001 B

FE

00

04

LDX

PIA3

X := PIA3 address pointer;

001 E

C6

FF

LDAB

*$FF

0020

E7

00

STAB

o,x

PIA3[direction] := code for output all bits;

0022

C6

3F

LDAB

<-'$3F

0024

E7

01

.

STAB

i.x

PIA3[controlI := code for high strobe,and point to data register;

0026

BD

00

A2

JSR

ERASE

clear the screen with subroutine;

0029

7E

00

DO

•

JMP

SHOW

fill screen with USS Enterprise or othersuitable data table;

* The follow

ng subroutine, with entry at

PUTGRPHX, is used to run

* through

a data table s

tored beginning

at the address in START;

0030

FE

00

00

NXTDATA

LDX

START

0033

08

1NX

START := START + 1 [16 bits precision);

0034

FF

00

00

STX

START

0037

FE

00

00

PUTGRPHX

LDX

START

003A

A6

00

LDAA

o,x

if ©START - FF [leaue when data = FF] ;

003C

81

FF

CMPA

.7$FF

003 E

27

16

BEQ

ENDPUT

then go to ENDPUT;

0040

8B

00

DISP1

ADDA

30

caution: program modifies immediate bytel

0042

BD

00

06

NEWXSPOT

JSR

OUTGR

0045

FE

00

00

LDX

START

0048

08

INX

START : = START + 1;

0049

FF

00

00

STX

START

004 C

A6

00

LDAA

0,X

004 E

81

FE

CMPA

JfSFE

if ©START " FE then go to NXTDATA

0050

27

DE

BEQ

NXTDATA

[treat as horizontal position if FE] ;

0052

8B

00

DISP2

ADDA

#0

caution: program modifies immediate byte!

0054

20

EC

BRA

NEWXSPOT

0056

39

ENDPUT

RTS

return to caller;

" The follow^

ng DISPLAY routine is used

to set up the PUTGRPHX

* routine.

by modifying two bytes of code and setting up the

* initial pointer value in START at loc;

ilion 0000;

0057

8B

40

DISPLAY

ADDA

--$40

[A is defined prior to entry] ;

0059

B7

00

41

STAA

DISP1+1

(DISP1 + 1I := #$40+ A;

005C

17

TBA

[B is defined prior to entry] ;

005 D

8B

80

ADDA

#$80

005 F

B7

00

53

STAA

DISP2+1

IDISP2+1I := =$80 + B;

0062

FF

00

00

STX

START

START := X [X is defined prior to entry] ;

0065

BD

00

37

JSR

PUTGRPHX

call graphics put routine;

0068

39

RTS

return to caller;

• DELAY is;

3 routine to generate a delay

in processing.

" the parameter (appro

ximately calibrated in seconds) is passed

* in the 8

accumulator

routine uses A

and X;

0070

86

00

DELAY

LDAA

-'0

A := 0 [outer loop count] ;

0072

CE

00

00

NEWINNER

LDX

«)

X := 0 [inner loop count (time calibration)] ;

0075

08

DELLOOP

INX

X := X+ 1;

0076

8C

FF

FF

CPX

*$FFFF

if X = FFFF

0079

27

02

BEQ

OUTER

then go to OUTER loop check;

007B

20

F8

8RA

DELLOOP

else reiterate inner loop;

007D

4C

OUTER

INCA

A := A + 1;

007 E

1 1

CBA

if A - B

007 F

27

02

BEQ

DELAYDON

then go to DELAYDON;

0081

20

EF

BRA

NEWINNER

else go to NEWINNER [to start new inner loop]

0083

39

DELAYDON

RTS

return to caller;

* The ERASE subroutine in locations 00A0 to 00CC is

used to clear the GT-6144 screen prior to establishing" a new picture; it does this by addressing each

* display location in turn and setting a null state;

43

Listing 1, continued:

Address Hex Code

00A0

OOA1

00A2

00A4

00A6

00 A8

OOAA

OOAD

OOAF

00B1

00B3

0085

00 B8

OOBB

OOBD

OOBF

00C1

00C4

00C6

00C8

OOCA

OOCC

012501270129012B012D012F01310133013501370139013B013D013F014101430146

00000004000600160030003700400042005200560057007000720075007D0083OOAO

00

00

96 AO

812701

40

1E

01

BD 00 0696 A181 6027 OA8B 80BD 00 067C 00 A120 FO86 00

A1

97

7C 00

20 DC

86 00

97 AO

97 A139

2086

2086

AO

00 DO

86

05

00 D2

C6

OD

00 D4

CE

02

00

00D7

8D

00

57

OODA

86

1B

00 DC

C6

40

OODE

CE

04

00

00E1

BD

00

57

00E4

C6

OA

00 E6

BD

00

70

O0E9

86

00

OOEB

C6

00

OOED

CE

05

00

00 FO

BD

00

57

00F3

7E

01

00

0100

BD

E1 AC

0103

81

31

0105

27

1E

0107

81

32

0109

27

1E

010B

81

33

010D

27

1E

010F

81

34

0111

27

1E

0113

81

35

0115

27

1E

0117

81

36

0119

27

IE

011B

81

37

011D

27

1E

011F

81

38

0121

27

1E

0123

20

DB

1A

E1

20 1686 E2

20 OE

86 E4

20 OA

86 E5

20 06

86 E6

20 02

86 E7

BD 00 06

20 B8

START

PIA3

OUTGR

ENTER

NXTDATA

PUTGRPHX

DISP1

NEWXSPOT

DISP2

ENDPUT

DISPLAY

DELAY

NEWINNER

DELLOOP

OUTER

DELAYDON

HPOS

HPOSVPOSERASE

Op

RMB

RMB

LDAA

CMPA

BEQ

NOP

JSR

LDAA

CMPA

BEQ

ADDA

JSR

INC

BRA

LDAA

STAA

INC

BRA

LDAA

STAA

STAA

RTS

Operand

HPOS#$40OUT

OUTGR

VPOS

#$60

SPEC

#$80

OUTGR

VPOS

ERASEV

#$00

$A1

HPOS

ERASE

#$00

HPOS

VPOS

Commentary

horizontal position data byte;

vertical position data byte;

[entry point, outer loop for horizontal position] ;

if HPOS = $40 [is it end of outer loopl ?

then go to OUT [erasure is done);

[two do nothing NOPs] ;

define horizontal coordinate;

[inner loop for vertical position];

if VPOS = $60 [is it end of inner loop) ?

then go to SPEC [and restart inner loop) ;

convert coordinate to vertical command;

define vertical coordinate and value;

VPOS := VPOS + 1;

reiterate inner loop;

VPOS :=0;

HPOS r- HPOS+ 1;

reiterate outer loop;

HPOS :=0;VPOS :=0;return to caller;

LDAA

#$05

LDAB

#$0D

LDX

#$200

JSR

DISPLAY

LDAA

#$1B

LDAB

#$40

LDX

#$400

JSR

DISPLAY

LDAB

#$0A

JSR

DELAY

LDAA

#$00

LDAB

#$00

LDX

#$500

JSR

DISPLAY

JMP

OPTFUNC

1 The SHOW routine is used to define the parameters of DISPLAY,1 pointing to the Enterprise screen location and its data table,' then to call DISPLAY; since the vertical and horizontal1 positions are parameters, the picture can be located at arbitrary1 places within the display area of the GT-6144;

locate Enterprise 5 cells across,and 1 3 cells down;

point to Enterprise pattern data;

call DISPLAY to draw the Enterprise;

locate planet Earth 27 cells across,and 64 cells down;

point to Earth pattern data;

call DISPLAY to flash the Earth;

set approximately 10 second delay parameter;

locate random "star" data 0 cells across,

and 0 cells down;point to star pattern data;call DISPLAY to draw in the stars;go to OPTFUNC [to perform optional functions] ;

• The OPTFUNC routine is reached after the display is set up

■ on the screen and is used to interpret several commands

■ from the terminal keyboard in order to toggle some of the" options of the display unit;

OPTFUNC JSR INEEE call INEEE (MIKBUG subroutine) to get

" a single character of input in A;

' What follows is a simple series of tests to identify one of

• eight commands selected by ASCII characters '1' through '7';

CMPA '1' IfA-T

BEQ ONE then go to ONE;

CMPA '2' if A - '2'

BEQ TWO then go to TWO;

CMPA '3' if A = '3'

BEQ THREE then go to THREE;

CMPA '4' if A = '4'

BEQ FOUR then go to FOUR;

CMPA '5' if A = '5'

BEQ FIVE then go to FIVE;

CMPA '6' if A = '6'

BEQ SIX thengotoSIX;

CMPA '7' if A = '7'

BEQ SEVEN then go to SEVEN;

CMPA '8' if A = '8'

BEQ EIGHT then go to El GHT;

BRA OPTFUNC try again, over and over forever;

* Each ind" in the A

• OUTGRONE

TWO

THREE

FOUR

FIVE

SIX

SEVEN

EIGHTEXECUTE

idual command is implemented by defining a constantaccumulator, then jumping to EXECUTE i n order to calland modify the state of the GT-6144;

LDAA

BRA

LDAA

BRA

LDAA

BRA

LDAA

BRA

LDAA

BRA

LDAA

BRA

LDAA

BRA

LDAA

JSR

BRA

#$E0

EXECUTE

#$E1

EXECUTE

s$E2

EXECUTE

ff$E3

EXECUTE

ir$E4

EXECUTE

#$E5

EXECUTE

#$E6

EXECUTE

#$E7

OUTGR

OPTFUNC

ONE; Set normal screen mode;

TWO: Enable CT-1024; display;

THREE: Disable graphics display;

FOUR: Unused bit pattern;

FIVE: Set inverted screen mode;

SIX: Disable CT-1024; display;

SEVEN: Enable graphics;

EIGHT: Unused bit pattern;

call OUTGR to select option;reiterate forever;

Graphics table pointer;

8 bit output PI A port;

Graphics output routine;

Main en try of graphics demo program;

Graphics put routine;

Graphics put routine setup;

Delay routine (gross calibration in seconds);

numeric terminals will not necessarily workwith the GT-6144 since the unit wasspecifically designed to work with the syncsignals of the CT-1024. Power requirementsfor the terminal are 5.0 VDC @ 1 A,-12 VDC @ 20 mA and 6 VAC @ 20 mA.

Programming

The display of the GT-6144 graphicsdisplay generator produces a matrix of 6144small rectangular cells formatted 64 acrossand 96 down. Each of these cells can beturned on or off at will. In order for theGT-6144 to do a particular function the datafed to it must be formatted correctly. Figure1 summarizes the formatting conventions.The coordinate of a particular location isreferenced from the top left corner of thescreen with the first square residing atlocation (0,0). When sending data to theGT-6144, the first parallel byte sent to theterminal must be the horizontal positioncoordinate. The actual position is deter-mined by the binary number in low orderbits B5 to BO. When bit B6 is 0, a rectanglewill be removed at the desired coordinates;when B6 is 1, a white rectangle will begenerated. Bit 7 must always be 0 for thedisplay to know that a horizontal position isbeing loaded. A 0 in bit B7 causes the dataholding flip flops in the terminal to store thepresent data.

The second byte from the computercontains the vertical coordinate. The loca-tion is contained in binary in bits B6 to BOof this second byte while bit 7 must equala1.

When programming an image to appearon the screen there are two ways thecharacters can be loaded. The method useddepends on how your software is organized.One method is to just send out successivecoordinates (H-|, V-j), (H2, V2) etc, until allH, V locations are specified. With thismethod two bytes must be sent out for eachcharacter.

Another method can be used that willresult in saving time and memory space. Inthis method the horizontal position of aparticular column is loaded only once into

ERASE vertical position;Subroutine to clear the screen;

Routine to sequence display of photo 1;Options selection interpreter (keyboard driven);

ERASE horizontal position;

00A1

VPOS

0OA2

ERASE

OOAD

ERASEV

OOBD

SPEC

00C6

OUT

00D0

SHOW

0100

OPTFUNC

0125

ONE

0129

TWO

012D

THREE

0131

FOUR

0135

FIVE

0139

SIX

013D

SEVEN

0141

EIGHT

0143

EXECUTE

44

the terminal. The vertical coordinate of allother characters that have this same hori-zontal coordinate can then be loaded bythemselves since the horizontal position islatched in the terminal's holding flip flops.This second method is used by the programsaccompanying this article.

Since there are 96 characters to beaccessed in the vertical direction at leastseven address lines must be used. Seven linesgive the possibility of addressing 2' (128

decimal) locations giving us 32 extra unde-fined locations. These extras can be used ascontrol commands for controlling blankingon and off, reverse screen, etc. The formatfor control commands for the GT-6144display generator is found in figure 2.

When writing programs care should betaken to optimize them for speed andmemory conservation. All of the abovefunctions can also be under hardwarecontrol by using SPST push button switches.

USS Enterprise date 0200 -• 0364

0200

00

022D

OB

025A

13

0287

08

02B4

FE

02E1

24

030 D

08

0339 01

0201

0A

022E

04

025 B

08

0288

OC

02B5

1E

02E2

02

030 E

15

033A 02

0202

0B

022F

05

025C

OC

0289

13

02 B6

02

02E3

08

030F

1A

033B 08

0203

oc

0230

OF

025D

OF

028A

19

02 B7

08

02E4

09

0310

FE

033C FE

0204

FE

0231

10

025E

17

028B

1F

0288

14

02E5

OA

0311

2A

033D 33

0205

01

0232

FE

025F

18

028C

FE

02B9

1E

02E6

OB

0312

02

033E 01

0206

0A

0233

OC

0260

19

028 D

19

02BA

FE

02E7

OC

0313

08

033F 02

0207

oc

0234

04

0261

1A

028E

09

02BB

1F

02E8

OD

0314

16

0340 08

0208

FE

0235

05

0262

1B

028F

OA

02 BC

02

02E9

OE

0315

17

0341 FE

0209

02

0236

OF

0263

FE

0290

OB

02BD

08

02EA

OF

0316

18

0342 34

020A

0A

0237

10

0264

14

0291

OD

02BE

14

02EB

10

0317

19

0343 01

020B

OC

0238

FE

0265

08

0292

13

02BF

IE

02EC

11

0318

1A

0344 02

020C

FE

0239

OD

0266

OC

0293

19

02CO

FE

02ED

12

0319

FE

0345 08

020 D

03

023A

05

0267

10

0294

1F

02C1

20

02EE

13

031 A

2B

0346 FE

020 E

09

023B

OF

0268

16

0295

FE

02C2

02

02EF

14

031 B

02

0347 35

020F

OC

023C

FE

0269

17

0296

1A

02C3

08

02F0

15

031C

08

0348 01

0210

FE

023D

OE

026A

18

0297

05

02C4

14

02F1

ID

031 D

FE

0349 02

0211

01

023E

05

026B

19

0298

OF

02C5

1E

02F2

FE

031 E

2C

034A 08

0212

09

023F

OE

026C

1A

0299

13

02C6

FE

02F3

25

031 F

02-

034 B 08

0213

OC

0240

FE

026D

IB

029A

1F

02C7

21

02F4

02

0320

08

034C FE

0214

FE

0241

OF

026E

1C

029B

FE

02C8

02

02F5

08

0321

FE

034D 36

0215

05

0242

06

026F

FE

029C

IB

02 C9

08

02F6

16

0322

2D

034E 01

0216

09

0243

OD

0270

15

029D

03

02CA

09

02F7

1D

0323

02

034F 02

0217

OC

0244

FE

0271

08

029E

04

02CB

OA

02F8

FE

0324

08

0350 08

0218

FE

0245

10

0272

OC

029F

06

02CC

OB

02F9

26

0325

FE

0351 FE

0219

06

0246

07

0273

11

02 AO

07

02CD

OC

02FA

02

0326

2E

0352 37

021 A

08

0247

OC

0274

15

02A1

11

02CE

OD

02FB

08

0327

02

0353 02

021 B

OC

0248

FE

0275

1D

02A2

14

02CF

OE

02FC

15

0328

08

0354 08

021C

FE

0249

11

0276

FE

02A3

19

02D0

OF

02FD

IB

0329

FE

0355 FE

021 D

07

024A

07

0277

16

02 A4

1F

02D1

10

02FE

FE

032A

2F

0356 38

021 E

08

024B

OC

0278

08

02A5

FE

02 D2

11

02FF

27

032B

02

0357 02

021F

OC

024C

19

0279

OC

02A6

1C

02 D3

12

0300

02

032C

08

0358 04

0220

FE

024D

FE

027A

12

02A7

02

02 D4

13

0301

08

032 D

FE

0359 05

0221

08

024 E

12

027B

14

02A8

08

02D5

14

0302

15

032 E

30

035A 06

0222

08

024F

08

027C

19

02A9

13

02 D6

15

0303

1A

032 F

01

035B 07

0223

OD

0250

OC

027 D

IE

02AA

14

02 D7

1E

0304

FE

0330

02

035C FE

0224

FE

0251

OD

027 E

FE

02AB

19

02D8

FE

0305

28

0331

08

035 D 39

0225

09

0252

16

027 F

17

02AC

IF

02 D9

22

0306

02

0332

FE

035E 02

0226

07

0253

17

0280

08

02AD

FE

02DA 02

0307

08

0333

31

035F 03

0227

OE

0254

18

0281

OC

02AE

10

02DB

1D

0308

15

0334

01

0360 FE

0228

FE

0255

19

0282

13

02AF

02

02DC

FE

0309

1A

0335

02

0361 2A

0229

OA

0256

1A

0283

19

02B0

08

02DD

23

030A

FE

0336

08

0362 15

022A

05

0257

IB

0284

1E

02B1

14

02DE

02

030B

29

0337

FE

0363 FE

022B

OF

0258

1C

0285

FE

02B2

19

02DF

1D

030C

02

0338

32

0364 FF

022C

FE

0259

FE

0286

18

02B3

IE

02E0

FE

Planet data 0400

^04EF

0400

00

041E

06

043C

09

045A

OB

0478

13

0496

17

04B4

1C

04D2 1F

0401

1A

041 F

FE

043D

FE

045B

OC

0479

04

0497

FE

04 B5

1D

04D3 FE

0402

1D

0420

OA

043E

OF

045C

OD

047A

05

0498

15

04B6

1E

04D4 IB

0403

IF

0421

OS

043F

02

045D

OE

047B

06

0499

07

04B7

1F

04D5 08

0404

FE

0422

06

0440

08

045E

OF

047C

08

049 A

OB

04 B8

IF

04D6 1E

0405

01

0423

07

0441

09

045F

10

047D

OC

049 B

OC

04 B9

FE

04D7 FE

0406

17

0424

FE

0442

OA

0460

11

047E

OD

049C

OD

04 B A

18

04D8 1C

0407

FE

0425

OB

0443

OB

0461

12

047F

OE

049 D

OE

04BB

05

04D9 OA

0408

02

0426

04

0444

OC

0462

13

0480

OF

049 E

16

04BC

19

04DA FE

0409

13

0427

05

0445

OD

0463

14

0481

10

049 F

18

04BD

1A

04DB 1D

040A

FE

0428

06

0446

OF

0464

15

0482

11

04A0

1C

04BE

1B

04DC OB

040 B

03

0429

07

0447

10

0465

FE

0483

12

04 A1

FE

04BF

1C

04DD FE

040C

10

042A

OB

0448

FE

0466

12

0484

13

04A2

16

04CO

1D

04DE 1E

040 D

FE

042B

FE

0449

10

0467

02

0485

17

04A3

03

04C1

IE

04DF OD

040 E

04

042C

OC

044A

09

0468

05

0486

FE

04A4

18

04C2

1F

04E0 FE

040 F

OD

042D

04

044 B

OA

0469

07

0487

14

04A6

19

04C3

IF

04E1 1F

0410

FE

042E

05

044C

OB

046A

OB

0488

02

04A6

1 A

04C4

FE

04E2 10

0411

05

042F

06

044 D

OC

046B

OC

0489

06

04A7

1B

04C5

19

04E3 FE

0412

OB

0430

07

044 E

OD

046C

OD

048A

07

04A8

1C

04C6

06

04E4 20

0413

FE

0431

OA

044 F

OE

046D

OE

048B

OA

04A9

1D

04C7

1C

04E5 13

0414

06

0432

FE

0450

OF

046E

OF

048C

OB

04AA

1E

04C8

1D

04E6 FE

0415

OA

0433

OD

0451

10

046F

10

048D

OC

04AB

1F

04C9

1E

04E7 21

0416

FE

0434

03

0452

11

0470

11

048E

OD

04AC

1F

04CA

IF

04E8 17

0417

07

0435

06

0453

12

0471

12

048 F

OE

04AD

FE

04CB

IF

04E9 FE

0418

08

0436

09

0454

13

0472

13

0490

OF

04AE

17

04CC

FE

04EA 22

0419

FE

0437

OA

0465

FE

0473

14

0491

10

04 A F

04

04CD

1A

04EB 1A

041 A

08

0438

FE

0456

11

0474

16

0492

11

04 BO

16

04CE

07

04EC 1D

041 B

07

0439

OE

0457

02

0475

16

0493

12

04B1

19

04CF

1D

04ED 1F

041C

FE

04 3 A

07

0458

09

0476

17

0494

13

0482

1A

04D0

IE

04EE FE

04 ID

09

043B

08

0459

OA

0477

FE

0495

14

04B3

IB

04D1

1F

04EF FF

Star data 0500 -

0534

0500

01

0507

04

050E

FE

0515

14

051C

3A

0523

FE

0529

FE

025F 2A

0501

2C

0508

FE

050F

OD

0516

58

051 D

FE

0524

31

052A

35

0530 FE

0502

FE

0509

OA

0510

30

0517

FE

051 E

20

0525

OA

052B

1C

0531 3E

0503

02

050A

1E

0511

FE

0518

19

051 F

06

0526

FE

052C

FE

0532 42

0504

58

050B

FE

0512

OF

0519

4C

0520

FE

0527

34

052D

3B

0533 FE

0505

FE

050C

OC

0513

44

051A

FE

0521

26

0528

34

052E

02

0534 FF

0506

05

050D

40

0514

F6

051B

1E

0522

30

Listing 2: It takes data toproduce a picture. Here isa listing of the data whichis used by the demonstra-tion program of listing 7to produce the picture ofthe USS Enterprise.

Notes on Constructionof a GT-6144

This article contains thecomplete schematic andenough details for an indi-vidual to wire up a version ofthe display using parts ob-tained from surplus suppliersand hand wiring techniquessuch as wirewrap or point topoint soldering.

The GT-6144 graphics dis-play generator is also availablefrom Southwest TechnicalProducts Corp, 219 W Rhap-sody, San Antonio TX 78216,as a complete kit of partsincluding the circuit board.The price of this kit is $98.50postpaid in the United States.

45

Photo 2: Here is a pictureof the GT-6144 as con-structed using the printedcircuit board and partssupplied with the South-west Technical Productskit. The logic diagrams offigures I to 3 are completeand based upon the origi-nal blueprint supplied bythe author. Home brewerscan use the design infor-mation of this article towire up the circuit de-scribed here, or as a startingpoint in designing a cus-tomized version.

INTERFACE BIT

HORIZONTAL COMMAND FORMAT:

7 6 5 4 3 2

0

D

HORIZONTAL POSITION H

I— 0 < H

< 63

DATA BIT:

1 = BRIGHTEN ACELL0 = ERASE ACELL

■ FORMAT INDICATOR, VALUE 0

INTERFACE BITh>

VERTICAL COMMAND FORMAT:7 6 5 4 3

1

VERTICAL POSITION V

0 « V « 95

-FORMAT INDICATOR, VALUE 1

Figure I: Data Formats for the Parallel Interface to the GT-6144. TheGT-6144 has two data formats. The horizontal command format is used toset the sense of the data to be written and load a 6 bit integer horizontalcoordinate. Once the horizontal coordinate has been set up, the verticalcommand format is used to pick a vertical line with a 7 bit integer less thandecimal 95 in value, and write the data value ("on" or "off") selected withthe horizontal command.

How It Works

The entire screen of this video displayhas been arranged for 96 lines of 64 charac-ters per line. In addition to the 96 lines ofvideo data the television or monitor alsorequires the terminal to generate vertical andhorizontal sync pulses. The GT-6144 con-sists of two major sections. The timingsections (figure 3) generate the necessarysync pulses, while the memory section (fig-ures 4 and 5) takes care of storing thenecessary information and recalling it whilea frame is being generated.

The timebase oscillator as indicated inthe schematic is responsible for initiating thehorizontal sync pulse and for starting thechain of events that will generate one line ofvideo data to be displayed. The circuit itselfis a phase locked loop employed as afrequency multiplier. A 555, IC1, is used asan astable voltage controlled oscillator. The2N5139 transistor Q3 and TIS58 field effecttransistor Q1 along with capacitor C5 form asample and hold circuit which feeds Id'svoltage control input through the TIS58field effect transistor Q2. The sample andhold in this case is being used as a phasecomparator providing an output voltage pro-portional to the phase difference of the60 Hz power line and the multiplied outputfrequency of the 555 oscillator IC1. The

46

actual amount of frequency multiplication isequal to the amount of frequency divisionbetween the output of the oscillator IC1 andthe 60 Hz input reference frequency. As youwill see later the value of the frequencydivider is 264 and since our reference is60 Hz so that:

fo= (60 Hz)*(264) = 15,840 Hzwhich is very close to the horizontal oscilla-tor frequency of a standard television set.

The output of IC1 is fed via inverterIC23c across a jumper to IC17 sections band c, where among other things a 4 jushorizontal sync pulse is generated. Fromhere the pulse is routed to IC15b where it isORed with the vertical sync pulse which willbe described in detail later.

The falling edge of this sync pulse at theoutput of IC17c triggers 1C16a, a one shotwhich puts out a positive pulse on pin 4adjustable by potentiometer R20from 10 to30 /is in length. The delay pulse creates a lagbetween the start of a line and the beginningof data, thus giving an adjustable left margin.Pin 4 of IC16a inhibits dot oscillator IC16bthrough AND-OR-INVERT gate of ICIOa.Pin 13 of IC16a resets 7493 counters IC19and IC 1 3, the 16 bit counters which addressone of the horizontal positions on a line.Since we are just starting a new line we mustfirst clear the counter to prepare it forincoming data. At the end of a high to lowtransition of pin 4 of IC16, the 7493 verticalposition counter IC6 is incremented; and ifthere is a ripple carry, IC7 is incremented aswell. IC6 and IC7 together keep track of thehorizontal scan line presently in use. To-gether these two counters provide a uniquebinary code for each of the 96*2=192video scan lines generated by the GT-6144.

Now for those of you who are familarwith television circuits, you probably knowthat we need more like 264 lines and not192 for a complete frame. When a count of192 (the 193rd line) is reached, IC15a sendsout a clock pulse to IC4a and to IC9c whichresets the line counters. When IC4a isclocked pin 6 goes low, giving a blankingpulse to prevent any video data from beingtransmitted from the GT-6144. When pin 6of IC4 is low, pin 5 is high and enablesdecoders IC11a and ICTlb. When the linecounters reach a count of 32, IC11a triggersand remains so for 8 lines until count 40 isreached. The low output on pin 6 during thistime is the vertical sync pulse, which goes toIC 15b as mentioned earlier. At count 72IC 11 b triggers clearing flip flop IC4a whichunblanks the video and resets line countersIC6 and IC7 for the generation of anotherline of displayed data. The above circuitrygives us a total of 192 + 72 = 264 scan lines.

INTERFACE BIT-

CONTROL COMMAND FORMAT:7 6 5 4 3

1 1 1

0 0

CONTROLCODE

L

SEE LISTBELOW

Control

Hexadecimal

Code

Code

0

EO

1

E1

2

E2

3

E3

E4

E5

E6

E7

"DON'T CARE" STATES,SHOWN AS ZEROS

HIGH ORDER BITS 5, 6 AND 7 ARE SETTO ONES TO IDENTIFY COMMANDFORMAT.

Meaning

Inverted Screen. After this command is received, the displaywill show black cells or characters on a white background.

Normal Screen. After this command is received, the displaywill show white cells or characters on a black background.

Disable Characters. Remove information generated by theCT-1024 inputs (if any) from the display.

Enable Characters. Allow information generated by the CT-1024 inputs (if any) to be merged in the display output.

Enable Graphics. Allow information generated by the GT-6144 display circuitry to be merged into the video displayoutput.

Disable Graphics. Remove information generated by the GT-6144 from the video display output.

Unused.

Unused.

Figure 2: Data Formats for the Control Commands. The unused states of thevertical command format described in figure I are used to perform controloperations. The control format and operations are shown here. Note that inthe program of listing I, the contents of bits 3 and 4 are assigned zero valuearbitrarily since they are "don't care " inputs in control commands.

Now let's get back to the horizontalportion of the circuit again. We left offearlier by saying that one shot oscillatorIC16a provided an adjustable delay betweenthe horizontal sync pulse and the generationof data to provide a left margin. We also saidthat an astable oscillator IC16b which isinhibited during this delay phase via ICIOa isthe dot oscillator which actually clocks offthe dots for each line of video which formthe rectangle. To continue the accountwhere we left off, potentiometer R19 setsthe cycle time for this oscillator from 0.5 toI /us which in turn sets the horizontal widthof the rectangles displayed. The "dot clock"output, however, is not the output of IC16bbut rather the output of the AND-OR-INVERT gate IC10a. Its output is normallyhigh, but goes low for about 30 ns each timeIC16b resets. The 30 ns pulse time is set bythe propagation of IC'16b and IC10a and is

47

Figure 3: Timing Logic, This figure shows the design of the video timing chain which governs the operation of the GT-6J44. Theoriginal diagram of the circuit has been partitioned into three figures for this article, with connections between figures indicatedby symbolic names and references to the connecting figure. Power connections for the integrated circuits in figures 3, 4 and 5are listed in table I, and the three jacks used for interconnection are summarized in table 2.

wh 6 oAAA

48

very hard if not impossible to see with mostoscilloscopes. This dot clock is used totoggle flip flop IC4b which regulates thetransmission data from memory to the videooutput. When IC4b is clocked by the dotclock, the data input on pin 12 from thememory is latched until another clock pulseappears.

The second major portion of theGT-6144 (figures 4 and 5) consists of thememory and its associated components.When no data is being loaded into theterminal by a computer, appropriate outputsfrom both the horizontal and vertical coun-ters are used as address lines for the memo-ries. IC18 and IC37 along with the necessaryinverters form the decoders that select theappropriate memory integrated circuit (ICs27, 28, 29, 31, 32 or 33) depending on thelocation being addressed. Note that IC31 toIC33 can be enabled when CBO = 0 whileIC27 to IC29 can be enabled when CBO = 1,therefore adjacent rectangles alternate backand forth between the two halves ofmemory. The data outputs of IC27 to IC29are "wired OR" as are the outputs of IC31to IC33. AND-OR-INVERT gate ICIObselects which data will be transmitted to thevideo output depending on the state of CBO.

The desired display for our graphicsterminal is 64 cell positions across and 96cell positions down. This gives a total of6144 possible character positions whichmeans that at least 13 address lines areneeded since 212 = 4096 and 213 = 8192.Since some computers are not capable ofsending out a 16 bit word, the most logicalthing is to use two 8 bit words with sometype of temporary storage in the terminal.The input control logic of figures 4 and 5serves this purpose. The temporary storagein the GT-6144 is done in flip flops IC34band IC41. Since the GT-6144 can acceptdata faster than most small computers cansend it, only a DATA READY output fromthe computer is needed. This DATAREADY line should be normally high and golow only after the data output from thecomputer is valid. During the time that theDATA READY line is low one of two thingscan happen. If the bit pattern from thecomputer is such that it is a horizontalposition (bit 7 is 0) IC30b will trigger,causing the data present to be latched intothe flip flops. During this time the memoryis unchanged. If the data present is a verticalposition (bit 7 is 1) IC30b will not changestate but IC39a or IC39c will, depending onthe state of the latched low order bit 0 onpin 5 of IC41b. If IC41b pin 5 is 0, lC39cwill go low. When the counters come aroundsuch that CBO is 1 (the opposite side of the

No.

Device

+5V

GND

-12V

IC1

555

8

1

IC2

74279

16

8

IC3

7451

14

7

IC4

7474

14

7

IC5

7404

14

7

IC6

7493

5

10

IC7

7493

5

10

IC8

7408

14

7

IC9

7432

14

7

IC10

7451

14

7

IC11

7420

14

7

IC12

7486

14

7

IC13

7493

5

10

IC14

7442

16

8

IC15

7409

14

7

IC16

74123

16

8

IC17

7400

14

7

IC18

7410

14

7

IC19

7493

5

10

IC20

74157

16

8

IC21

74157

16

8

IC22

74157

16

8

IC23

7404

14

7

IC24

74157

16

8

IC25

74157

16

8

IC26

74157

16

8

IC27

2102-1

10

9

IC28

2102-1

10

9

IC29

2102-1

10

9

IC30

7402

14

7

IC31

2102-1

10

9

IC32

2102-1

10

9

IC33

2102-1

10

9

IC34

7474

14

7

IC35

7400

14

7

IC36

7404

14

7

IC37

7410

14

7

IC38

7432

14

7

IC39

7410

14

7

IC40

7404

14

7

IC41

74174

16

8

IC42

7410

14

7

IC43

7408

14

7

memory currently accessed by the videotiming chain), IC40c will change statecausing the data selectors IC24 to IC26 toselect the address lines formed by the datafrom the computer rather than from thecounters. IC18 will select and enable thecorrect memory integrated circuit and aftera small time delay caused by CI 3, R31 andIC15c, a low write pulse will be routed tothe enabled memory. When the DATAREADY goes back to its high state the writepulse will immediately disappear and after asmall delay caused by R36, CI7 and IC38b,the memory circuit will be disabled and thedata selectors will return to addresses takenfrom the terminal's video timing chain. Notethat the data is written in one half of thememory while the terminal reads and out-puts data from the other half. The other halfof memory works exactly as above but hasB0 equal to 1.

Text continued on page 54

Table I: Power Connec-tions for Integrated Cir-cuits. This table contains acomplete listing of thepower connection pins foreach integrated circuit infigures 3, 4 and 5.

Table 2: Connector PinDesignations. There arethree connectors, labelledJ J, J 2 and J3 in the fig-ures. The following are pinassignments for theseconnectors.

J1: Power JackPin Assignment

-12 V

+5 VGND

6 VAC 60 Hz referenceGND

J2: CT-1024 ConnectionsPin Assignment

GND

CT-1024 Data

Reset

GND

GND

Sync

J3: Parallel InterfacePin Assignment

1

Bit 1

2

Bit 0

3

Bit 2

4

Bit 3

5

Bit 7

6

Data Ready

7

Bit 6

8

—

9

—

10

Bit 5

11

Bit 4

12

GND

49

E>

BITO

E>

E>

BIT2

E>

BIT 3

J3 <

E>

BIT4

[io>

BIT5

[I>

A5

E>

D

IC4lb

CLK CLR

74174

Q

(FIG5)

<D

ii

D

IC4ld

CLK CLR

74174

Q

(FIG5)

10

12

D

IC34b

CLK CLR

74174

0

9

D

IC4I0

CLK CLR

74174

Q

13

D

IC4le

CLK CLR

74174

0

12

D

IC4IC

CLK CLR

74174

0

D

IC4lf

CLK CLR

74174

0

4|

39bJ 7410

BO

(FIG5)

<3

<H

(FIGS)IN CLK

<D

AO

(FIG5)

A7

<J

(FIG5)

<3

. R37I 1000

H_<3

(FIG5)

<J

DRDY

(FIG5)

<n

^N^ IC40

>R38J1000

(FIG5)

<3

(FIG5)

<D

(FIG5)

<d

(FIG5)

<D

(FIG 5)

<3

(FIG5)

<o

DATA INP

<3

(FIG5)

<n

E>i

ICI40CBA7442

8b

7408

Sa7408

8c \8101 7408

R33

100

-WV-

rft

50

Figure 4: Input Logic. This figure containsthe input control logic used to store thehorizontal command information and de-code the vertical command or control com-mand information.

(FIG3)

ffi

NOTE:

UNLESS SPECIFIED OTHERWISE-RESISTOR VALUES ARE IN OHMSCAPACITOR VALUES ARE IN ^F.DIODES ARE IN9I4 / IN4I48.

51

Figure 5: Memory Logic. This figure contains the logic associated with the memory of the GT-6144. The 6144 bits ofinformation used for the graphic output are contained in six 2102 memory integrated circuits.

Td3 Y D4

DATA RDY^DROY

c*

(FIG. 4)

1h

1 (FIG. 4

14 46

740410

|^74(

IC407404

TO 7410

1^7404 U°^<

1 (FIG.4)

,7402

. K5* 100 . 5l38fa*——ws» m

(FIG. 4)

(FIG.3)

(FIG.4)

(FIG.3)

(FIG.4)

(FIG.3)

52

(FIG.3)

H_^g)5—•

X02(FIG.3)

<D

53

Text continued from page 49

When the computer sends out data wherethe high order bits B5, Be and B7 =1(thecontrol command mode), IC42 pin 8 goeshigh so that no changes will be made inmemory. Appropriate data lines from thecomputer are fed to the 7442 decoder IC14.IC39b disables the decoder in all but thecontrol command mode. Depending on thedata in low order bits 0, 1 and 2 of the inputto the GT-6144, the proper output of IC14is brought low to control the appropriatecontrol function. The outputs of IC14 arelatched in the 74279 circuit IC2. Pin 4 ofIC2 controls the screen reversing function.IC34 prevents the screen from being reversedexcept immediately after a vertical syncpulse. While in the reversed mode the blank-ing pulse is removed, giving a totally whitescreen (except for characters). This switch-ing is done in IC3b. IC2 pin 7 controls theCT-1024 video data. When IC3 pin 4 is highCT-1024 data is enabled and disabled whenpin 4 is low. Pin 9 of IC2 performs a similarenabling or disabling function for thegraphics video data. Video data from IC3 pin6 is routed to IC15d where it is mixed withthe appropriate blanking pulse. The outputsof IC15b and d are then mixed in 2N5129

transistor Q4 to give the required compositevideo output.

As shown in figures 3 to 5 the GT-6144unit should work on a video monitor ormodified televison set. Because of rigid FCCrequirements, the circuit has been designedto be connected directly to the video inputcircuit of a television. This typically requiresthe addition of a jack and if normal tele-vision reception is desired as well, a switchto select the operating mode.

The data outputs from your computermust be at TTL low state for a logical 0 andTTL high state for a logical 1. The DATAREADY line must stay at logical 1 normallyand go to 0 only after the data from thecomputer to be loaded into the terminal isguaranteed valid. The DATA READY strobeshould stay low for at least two micro-seconds and the data must stay valid duringthis time. Cable lengths from the computerto the terminal should be as short aspossible.

If desired the video from a SWTPCCT-1024 can be mixed with the video fromthe GT-6144 to give an alphanumeric orgraphic display (or both) on the same TV orvideo monitor. No extensive modificationsneed be made to the CT-1024 but four wiresdo need to be added through J 2."

Ill

H>■

O1

corner mm awe.,FLOCK MUST PIE.'/ti wmitsHWtf.. usr

TIME, OUR HERO, Kill OWE-WAS SHAHGHAIEP A80ARP MW>. EMPIYEYES AND ORDEREDTO WALK THE 5RM5-N0W,

WE may m W WHY IN-FLOCK MUST DIE!.'

FLEET COMMAS HAS Jl/JTORDEBSO tAfTAlM JIRK. TOSUPPLY" IT WW 200 TDBBStf THE ^...KtoWWESCE

FOWL

54

No Matter

How You Stack Them

Ours Comes Out On Topi

OUR FD-8 FLOPPY DISK SYSTEM Interfaces to anybody'smicrocomputer system via a single PIA chip!

If you don't use PIA's, then one 8 bit bidirectional data portand one output only control port is all that's required — thatsimple! If you don't have a bidirectional port then separate inputand output ports will do.

Full sector buffering in 3K of RAM contained on thecontroller card itself eliminates any dependence uponprocessor speed.

Each drive is contained in its own cabinet with powersupply. Up to 4 drives may be daisy chained together andselected under software control from a single controller card.

Both single and double density, single or multiple driveunits are available.

Complete F DOS software for both 8080 and 6800 systemsis provided at no additional charge, Including: disk driversubroutines, variable length file management system, diskassembler/editor, and integration with basic.

=^h

_.-. l.. Ill i i i i ■: I i i ;

MSI introduces the PR-1 PROMProgrammer and verification modulefor use with microprocessor systems.

The PR-1 interfaces to any microcomputer system viaa single PIA chip. The unit is designed to program1702A PROMS. Complete software for PROMprogramming is provided with the system at noadditional charge.

MSI software products including our miniassembler, disassembler, and basic are nowavailable on KC standard cassettes. Pleasespecify either paper tape or cassette whenordering.

For the past 6 years MSI has been a leading manufacturer of microcomputer data handling systemsfor medical laboratories, so we're not new to the business. Four years ago we introduced the firstfloppy disk system for programmable calculators, which is still in production today, we manufactureCRT terminals. PROM programmers, and a large selection of instrumentation interfaces.For more comprehensive product information, write MSI at the address below. Incidentally, ourproducts are ready for immediate delivery.

Master Charge & BankAmericard orders welcome.

Here are two MSI Dealers, who can show you our products in action.

Microcomputer Systems, Inc.144 S.Dale Mabry Ave.Tampa, Florida 33609(813) 879-4301

American Microprocessors,Equipment & Supply Corp.Chicagoland Airport, P.O. Box 515Prairie View, Illinois 60069

(312)634-0076

THictcveAt Scientific r)K4t>w*HeHt6

220 WEST CEDAR. OLATHE. KANSAS 66061 • PHONE 913 764-3273 • TWX 910 749 6403 (MSI OLAT)

Some Graphics Background

Ira Jay Rampil

University of Wisconsin — Madison

Department of Electrical and Computer Engineering

1425 Johnson Dr

Madison Wl 53706

Information

Computer graphics has come a long waysince its inception as a laboratory curiosity.It is now a widely used tool for humaninformation digesters. There is the old say-ing: "One picture is worth one thousandwords" and thus information packed intocomputer generated pictures is now used bysuch diverse people as engineers, doctors,business people, and choreographers. We arenow at the point where TV compatiblegraphics displays are affordable by hobby-ists, experimenters, and other randomly as-sorted computer freaks.

Graphics hardware has also evolved farfrom the early dedicated processors andpoint by point plotting oscilloscopes totoday's high resolution plasma displays (theso-called flat TV screens), computer gene-rated holograms, and intelligent multicolorvector displays. The vast majority of com-mercially available graphics, however, is stillbased on some kind of single color cathoderay tube. Even among the monochromedisplays there are two different families ofdesign, the storage tube design, and thecontinuously refreshed design. The purposeof this article is to present some backgroundinformation on the philosophies representedby these two types of CRT systems, sincethey are important differences and have alarge effect on the type of graphics each iscapable of producing.

Storage Tube Graphics

Storage tube techniques can well bedescribed as drawing on a paper pad withindelible ink. A line, once drawn, cannot beerased, except by tearing off and throwingaway the entire sheet of paper. In otherwords, once completed, individual sectionsof a picture (also called subpictures, orglyphs) cannot be electronically deleted ormoved without destroying and then re-drawing the entire picture. The need toredraw the entire screen might not be sobad, if it were not for the "erase flash," andthe usually slow speed with which thegraphics terminal communicates with thecomputer. The erase flash is a bright winkthat always occurs when you wipe off the

screen of a storage tube. The slow speed is amixed blessing, actually. These terminals arealmost always used remote from the com-puter, and use simple asynchronous serialdata lines, usually around 300 baud, to talkto the computer, just like a raster scan videodisplay terminal. Using an ordinary tele-phone line for cheap communication, it cantake several minutes to draw a reasonablycomplex image at 300 baud. At the veryleast, animation graphics, like Space War orLIFE, would prove cumbersome, and disap-pointing due to communications line limita-tions. These terminals are best suited forhigh resolution still lifes such as charts andschematics. Accessories to produce hardcopy from the screen are usually available.Storage tube terminals have the advantage ofbeing quite useful at great distance from theprocessor. They are also comparatively sim-ple in design and cheap to build. Theexception is the price of the storage CRT,which can run over $1000 in "onesies" for alarge high resolution tube, probably explain-ing why they are not often seen in amateurcomputing circles.

Continuous Refresh Graphics

The continuously refreshed or graphicsprocessor type of display is like the storagetube display only in the way in which itdraws a line or vector. There the similarityends. In this system, vectors disappear al-most as fast as they are created. An imageappears of constant intensity because it isredrawn or refreshed many times a second.This illusion, called flicker fusion, is thesame principle by which the TV and movieindustry simulate continuous motion. If animage flickers fast enough, the brain per-ceives it as continuous. Obviously, if thereare many lines in the image, there has to be avery fast link between the display and thememory where the image data resides, inorder to refresh the screen in the usual 1/30second (or 1/60 second for TV withoutinterlace). Since drawing a previouslycreated image is just a matter of shipping thepicture information off to the display, andtherefore requires no great amount of com-

56

Perhaps the most dramatic example of the need for high resolution graphics is demonstrated by these pictures of the famous"original" lunar lander program written for the Digital Equipment Corporation GT-40 and supplied with that unit as ademonstrator. These pictures were made by the author using University of Wisconsin facilities, and illustrate a couple of typicalframes from the interactive graphics version of lunar lander.

Photo I: The lunar mod-ule is controlled by a lightpen, and is seen initiallyhigh above a lunar plane.

Photo 2: Eventually, if all goes well, the pilot (with his orher magic wand control stick) lands the lunar module nearthe golden arches of a famous fast food chain, orders somefood, takes off and leaves.

Photo 3: Of course, If mistakes occur, there is a crash. Thispicture shows the flying lunar lander above a lunarmountainside with "rocks" and the remains of previouscrashes of the module by inept pilots.

With the 256 by 256 graphics capabilities of the newer display output devices for televisions, the personal computer is gettingclose to the resolution needed to do the lunar lander simulations shown here, at a far lower price than was previously possible.

57

Table 1: Some graphics display devices listed for comparison.

Professional

Systems of interest to individuals

Feature

Design TypeInterfacePoint PlottingVector Graphics

Resolution

Drawing SpeedLimitations

CharacterGeneration

Blinking

VariableBrightness

RemoteOperation

Altair BusPlug in?

Multicolor?

Is AnimationPossible?

Hard Copy(Not Photos)

Built-in Display?

ROM Softwarein System

Price

(Kit price if

available that

way)

Kit or Assembled

Design Class

Tektronix4006-1

Storage tubeBit serialHardwareHardware

High

1024x 780

DECGT-40

Refresh vectorDMAHardwareHardware

High1024x 768

Communications 200 us perinterface limited vector (fixed)

Hardware

Not possibleNo

Yes

No

NoNo

Yes(extra cost)

Yes

Not applicable(used withlarge systems)

Medium-$3000

Assembled

Hardware

Hardware8 levels

Yes—contains itsown PDP-11/05

No

NoYes

Yes

Yes

Only abootstrap

High-$14,000

Assembled

High price High price

High resolution High resolutionCommercial Commercial

ISCIntecolor

Raster scan

DMA

Hardware

Softwaresimulation

Low

160x100

Byte transferspeed

Hardware

HardwareNo

Intelligentterminal use

No

YesYes

No

Kit

Complete systemwith colorgraphics

SWTPCGT-6144

Raster scan

Byte parallel

Hardware

Softwaresimulation

Low96 x64

Programmed IOfor each point

Software

SoftwareNo

Yes

No

NoYes

No

Yes

No

Yes

No

System monitor

Medium

Low

$1,395 (includes

$98.50

computer, dis-

play keyboard)

Kit

Low priceLow resolutionStand alonedisplay generator

MiniTerm

Cromemco

Assoc

TV Dazzler

MERLIN

Matrox

Raster scan

Raster scan

Raster scan

DMA

DMA

DMA

Hardware

Hardware

Hardware

Software

Software

Software

simulation

simulation

simulation

Low

Low

Medium

128 x 128 (BW)

80 x 100

256 x 256

64 x 64 (color)

160 x 100

Byte transfer

Byte transfer

Byte transfer

speed

speed

speed

Software

Hardware

Software

Software

Software

Software

No

No

No

No

Yes

YesYes

No

NoNo

Low$215

Kit

Integralplug in forcolor graphics

No

Yes

NoYes

No

No

No

NoYes

No

No

No

Yes

No

MERLIN

monitor

Low

Low-Medium

$249 +

$630

$34.95/ROM

Kit

Assembled

(requires bus

interface)

Integral Medium

plug in with resolution

systems black boxsoftware

EDITOR'S NOTES

This table is by no means complete. It isintended to cover a spectrum of differentsystems with different prices and differentuser orientations. If each column is con-sidered to be a class of product, then thedevice shown is a typical member of thatclass. The rationalizations for selection areroughly as follows:

• The DEC GT-40 and the Tektronix4006-1 are included for comparisonpurposes only to contrast prices ofcommercial equipment intended foruse with large scale installations. TheGT-40 virtually requires a minicom-

puter, and is a very flexible (if nowslightly outdated) system widely usedby graphics hackers at university andresearch institutions. The Tektronixproduct and related products arewithin the range of a moderatelywealthy private computer hacker, butare hardly products for mass con-sumption. The 4006-1 is also widelyused in the university and researchcommunities.

The ISC system is an example of acomplete system — computer, videodisplay (color) keyboard, and sys-tems software in ROM — which is

available in kit form at a price withinthe range of an individual.The Southwest Teehnical ProductsGT-6144 is a low resolution, lowprice stand alone product, intendedto be absolutely the least expensiveapproach to the graphics outputproblem. The intention is quite wellfulfilled. It does require a televisionor monitor, however, as do all theamateurs' products except the ISCsystem.

The Cromemco TV Dazzler is thefirst Altair bus compatible productavailable to amateurs at a reasonable

58

puting, we needn't bother the main proces-sor. Instead, we offer the display directaccess to the memory where the image iskept. There are two ways to do this; the firstis to allow the display to cycle steal, or have"direct memory access." This is the waymany high performance commercial systems,like the DEC GT-40, work. This methoddoes not allow the display to be far removedfrom the computer and its memory. In theGT-40, for example, the input to the displayis about six inches from the memory board.

The other approach is to give the displayits own memory for the image, and its veryown simple processor to keep track of whatis going on with the display. The centralprocessor then is allowed access to thedisplay memory, and need only concernitself with the display when it wants tochange the image. Thus the display can cyclethrough its own memory as it pleases, andthe CPU can modify the image at a ratedetermined by economy and necessity. Thisis the method used by the typical homebrewor commercial video display used by BYTEreaders. The local memories which have beenused in these devices range from delay lines,shift registers, and programmable randomaccess core or semiconductor memories foralphanumerics, up to dedicated disks formulticolored high resolution applicationswhich require vast amounts of storage.

The primary advantage of continuouslyrefreshed graphics is high speed. This is themode in which animation work is most oftendone. Since the images are stored in memorythey are very easily manipulated at highspeed. The resolution can be made equal toor better than storage displays.

The currently popular personal systemsdisplays use the refresh graphics method incombination with a video raster scheme.Instead of directly drawing vectors on ascreen, they can only mark points that liealong the closely spaced parallel horizontallines that make up a normal TV raster. Theeffect is to limit the maximum resolution to

ALTAIR 8800 OWNERS

We recently received the following letter:

APRIL 26,1976

I JUST WANTED TO TELL YOU THAT I THINK YOUR CLOCK FIX-IT KIT ISREALLY GREAT! I WAS HAVING TROUBLE RUNNING BASIC AND AFTERINSTALLING YOUR KIT FOUR OF MY WITS ECARDS THAT WEREN'T RUSfclNBCAME BACK TO LIFE AND NOW ARE. HELPING ME TO WRITE THIS LETTERON THE COMPUTER. ENCL05ED IS ANOTHER ORDER FOR A CLOCK KIT.THIS IS FOR THE SECOND ALTAIR THAT I'AM NOW IN THE PROCESSCF BUILDING.AGAIN MANY THANKS FOR SUCH A

PRODUCT.

SIIVCERELYLi-CYC L. St.ITK

How well does your Altair run?

A Clock Fix Kit is only $15 postpaid.

PARASITIC ENGINEERING

PO BOX 6314

ALBANY CA 94706

about one third that of commercial vectordisplays. There is also an additional softwareburden on the processor whenever it isdesired to simulate vector and characterhardware.

The chart accompanying this article astable 1 summarizes the characteristics ofseveral representative graphics displaydevices. Take this table with a grain of salt,though, because today's specs are tomor-row's history. I expect that the features ofamateur raster scan devices will eventuallycome close to the commercial continuous-refresh display, except, of course, for price."

price which could produce colorgraphics in limited 64 by 64 resolu-tion. Installation is a simple matter ofplugging it into an unused Altair (orequivalent) computer slot.The MiniTerm MERLIN system is anexample of a unique combination ofcharacter generator hardware, dualresolution black and white graphics,direct memory access to mainmemory, and systems software inROM form. It uses existing memoryof an Altair compatible computer asits graphics refresh source.The Matrox display was not origi-

nally intended for the personal sys-tems markets. It is not directly plugcompatible with any particular com-puter, although interfacing to abidirectional microcomputer bus is astraightforward matter. It has beenpromoted in engineering trade maga-zines as an "OEM" product. CircaAugust 1 1976 it is the oniy com-mercially available option for suchhigh resolution at such a low price(Space War hackers take note). Forfurther information, see "What'sNew?" in this issue.

59

What's

New?

Graphics Display Memory

Matrox Electronic Systems, POB 56,Ahuntsic Stn, Montreal, Quebec H3L 3N5CANADA, (514) 481-6838, has introducedthis exciting new peripheral module for usein generation of graphics outputs. Themodule is the MTX-256**2 graphics displaymemory, shown here along with the model1632 video display memory.

The MTX-256**2 graphic display is amodular low cost graphic system designedfor microcomputer applications. It displays a

iini'itfi

itlllill

I Ml II I?.

III III IIlilt lit

II Hill

p

• J» M * .

total of 65,536 dots arranged in a 256 by256 dot raster with each dot individuallyaddressed under program control in less than3.4 us.

The system consists of two modules. Acentral timing unit module (CTU) providesall television synchronization signals andinterface timing signals for any microproces-sor and for image memory (IM) module. Theimage memory is a 65,536 bit programmablememory, and it stores one television frame(256 by 256) with one level of intensity. Noexternal refresh is required. The image mem-ory is continuously scanned to produce avideo signal that drives any standard mono-chrome or color television monitor directly.

Expandability

Using one CTU and one or more IMmodules, various graphic systems can bedesigned by simple interconnections. Grayscale, color, image motion, light pen, cursorplot, vector plot, point plot, bar graph plot,alphanumerics and ROM screen patterns areeasily implemented.

The MTX-256**2 provides separate hori-zontal and vertical sync outputs which canbe used to drive a slave MTX-1632 SL videoprogrammable memory to obtain fully al-phanumeric graphic capability, as shown inthe photo.

The simplest graphic system(MTX-256**2-1) consists of one CTU mod-ule and one IM module. The system is alsoavailable as a single 6.5 by 6 inch (16.6 by15.2 cm) printed circuit board, +5 V (400mA); +12 V (120 mA). This unit willprovide a 256 by 256 dot raster with one

level of intensity (0 .. black, 1 .. white). Itdirectly connects to a microprocessor dataand address bus and no additional hardwareis necessary.

To a microprocessor an MTX-256**2looks like a write only memory with four 8bit locations. The locations with addresses 1and 2 are X and Y coordinates of a givendot. Cursor (dot address) is loaded bywriting into X and Y address (8 bit each).

The intensity (color) is loaded by writinginto location 0. Existing cursor address isfirst advanced (moved to the next of 8possible directions, specified by 4 MSB bits).The remaining bits specify the intensity ofthe addressed dot. Location 4 is used foradded intensity or color resolution (up to 24bits for each dot). Clear and present screeninputs are also available (minimum screenpulse width is 1 2 ms).

Output is a standard composite videosignal (75 ohm, crystal controlled). BothAmerican (60 Hz rate) and European (50Hz) versions are available. Price is $598 inunit quantities for the basic MTX-256**2-1.Delivery is 2-8 weeks.

Editor's Note:

In conversation with Lome Trottier ofMatrox, at the Personal Computing 76showin Atlantic City, I learned of Matfox'sintention to create a variation of the displaydescribed here which will plug directly intothe A/tair/IMSAI/etc bus /nested note: un-officially grapevined as the "SIO0" bus toeliminate the kluge of listing all the names ofall the processors using it. . . CHj . . . CHj

IntroducingThe First Professional Quality Modem In Kit Form...

The Penny whistle 103

The Penny-whistle 103 Acoustic Coupler is the first professional quality modem available in kit form. The Pennywhistlemay be used either as an acoustic coupler (with the telephone handset) or it may be wired directly into the telephone. Ineither case, the Pennywhistle will operate in both the half-duplex (unidirectional) or the full-duplex (bidirectional) modes.

The Pennywhistle 103 is capable of recording data to and from audio tapewithout critical speed requirements for the recorder and it isable to communicate directly with another modemand terminal for telephone "hamming" and com-munications for the deaf. In addition, it is free ofcritical adjustments and is built with non-precision,readily available parts.

One of the most significant problems associatedwith modems is that there is often difficulty in deter-mining the difference between a signal of the properfrequency and one of its harmonics. The Pennywhistle103, however, employs a three-stage active filter whichprevents noise and harmonics from getting through.

The Pennywhistle kit includes everything needed forthe entire unit. All electronic components mount on a 5"by 9" printed circuit board. The kit also includes all chassisparts, speakers, speaker grilles, muffs and line cord.

But just as important, the Pennywhistle is backed up with acomplete documentation manual. This manual describes — in de-tail — what a modem is and how it works. All theory of operationdiscussions are keyed to a block diagram and schematic. This manual also contains a thorough set of assembly, test and adjustmentinstructions as well as directions for hooking the Pennywhistle up

fordirect wireconnection, modem-to-modem communication, tape re-corder connection and long distance use.

The Pennywhistle 103 modem kit is $109.95 (plus$2.50 for postage and handling) and is available fromM&R Enterprises, P.O. Box 61011, Sunnyvale, Ca.94088. California residents add 6% sales tax. Allowapproximately four weeks for delivery.

60

Introducing A Remarkable New Microcomputer:

The Astral 2000

You're reading this ad, so you're obviously interested in getting a microcomputer. You're probably also a bit confused by thenumber of different microcomputer kits around today. So, think about the things you want in a microcomputer. Ease of assembly,quality power supply, well designed cabinet and interconnect scheme, peripheral and memory options for an expanding system.

Some Kit!

Although we have called the Astral a "kit", it actually arrivesover 70% assembled. The power supply, processor board and RAMboard are fully assembled, burned in and tested before shipment.

There is no complicated wiring harness. In fact, there is no frontpanel wiring harness at all. The front panel plugs directly into thebackplane. Additional circuit boards are inserted through the rearof the chassis directly into the backplane.

Complete System

The Astral 2000 is shipped with power supply, cabinet, frontpanel components, mother board, processor board and one 8K RAMboard. The processor is 6800-based and operates in serial and inparallel. Both RS-232 and 20mA current loop are provided by a ser-ial I/O socket on the processor. This processor is shipped with ourown 16K monitor ROM and has provisions for "cycle-stealing"DMA. The memory board contains 8K of low power, 500ns staticRAM and uses less than 1.5A at 5V.

Lots Of Options

A computer isn't much fun if you can't talk to it. But you cantalk to the Astral with the VID-80 video terminal board for only$189.95 unassembled ($245 assembled).The VID-80 has a selectableline length of 64, 72 or 80 characters per line. It displays 16 linesof upper case characters but gives you the option of installing alower case character ROM as well.

We also have someplace for you to put your programs. Our 8KEPROM board ($59.95) is designed for the 5204 and will allow in-system program storage even during power-down. This board isassembled with all components except the EPROMs, howeversockets are provided for the memory chips.

We've solved program loading, too. The I/O tape interface unit($49.95) plugs into the I/O socket on the processor board and allowsprograms to be loaded from any inexpensive, non-digital tape deck.But if tape cassette isn't fast or big enough, a floppy disk with anAstral bus-compatible controller will be available for under $1,000in the last quarter of 1976.

A New And Powerful BASIC

A unique and powerful version of BASIC with features neverseen before in an 8K version has been designed especially for theAstral system. Astral BASIC contains all the features of competingBASICs and then some; Astral BASIC is also very fast.

With the User Selectable Floating Point package, the userchooses the degree of precision from the four choices of 6, 9, 13 or16 digits. Fewer digits use less memory and is faster, however higherprecisions are useful for scientific and mathematic applications.

The Astral BASIC'S DO statement is unique; it has neverappeared in any other version of BASIC. The DO statement is asimple and flexible way to subroutine without the restrictions offormal subroutines. DOs can be nested, too and —of course — AstralBASIC has all the other standard subroutine procedures as well.

The Trace Mode is another feature rarely found in otherBASICS. The Trace Mode is used in program debug to list statementline numbers as executed. This feature may be programmed toTrace On only for routines still needing check-out. Pressing theescape key halts the trace and returns control to the terminal.

The Astral BASIC string facility permits variable length stringsof unlimited length and includes the ability to search for a substringwithin another larger string, a particlularly useful feature for wordprocessing applications.

Powerful program editing capabilities allow loading, listing andsaving of programs. Blocks of statements may be deleted or renum-bered. The RENUMBER statement may be used to increment allspecified line numbers and it automatically adjusts the numberingof any GO TOs, etc.

Another feature never seen before in an 8K version is the pop-ular PRINT USING statement. PRINT USING permits floating "$","+" and "-" signs as well as floating commas, so numbers such as$1,000,000+ can be printed in the standard accounting format.

m&r enterprises

P.O.box 61011.sunnj/rale. California 94088

I

5S;r.'Jjyj/i: %sW

The Astral 2000 is $995 partially assembled ($1250 fully assembled) plus $14 for shipping and handling ($18 for Canadianorders). Additional 8K RAM boards are $245 each. California residents add 6% sales tax. The Software Package includes AstralBasic on magnetic tape cassette or paper tape, the game of Startrek, complete documentation and a free one year subscription tothe Astral Newsletter, all for $35. For more details, send a self-addressed, 8V2 by 11 stamped envelope to M&R Enterprises, P.O.Box 61011, Sunnyvale, Ca. 94088. Allow approximately 8 to 12 weeks for delivery.

Product Description:

The MERLIN Video InterfaceAdds a Visual Dimension

to Your Altair or IMSAI

What is missing when you purchase a main frame computer from thecatalogues of MITS Inc or IMS Associates? Asking that question has recentlystarted several companies purveying products to the small systems market.The identification of gaps in a product line, then independently filling thesegaps is a highly respected tradition in the computer field, a tradition whichhas hardly changed as the market widens through microcomputer technology.An example of a creative and innovative product idea which augments andenhances an existing computer product line is provided by the new MERLINboard manufactured by MiniTerm Associates, Bedford MA. The followingarticle is edited from materials supplied by MiniTerm.

MERLIN (trademark of MiniTerm Asso-ciates) is a new concept in peripheralsmodules for mainframe microcomputersystems. It is a combined hardware andsoftware package which provides a keyboardvideo interface with 20 lines of 40 ASCIIencoded characters, graphics with a resolu-tion of 100 by 160 points, and read onlymemory software for Monitor and Editorprograms. The entire price of this unit, $249plus $34.95 for the ROM software, is wellwithin the budget of many small systemsusers. In fact it is hard to find a combinationof the features MERLIN has which evenapproaches the cost effectiveness of this twocard Altair and IMSAI compatible plug-insystem. Output is an EIA standard videosignal to drive a TV monitor or modifiedtelevision set.

MERLIN'S two boards provide far morethan just an ASCII and graphics interface. Asophisticated DMA controller allows MER-LIN to display information from any part ofthe computer memory. Also, since the dis-play starting address is software controlled,the memory segment displayed can bechanged with every screen refresh.

The number of ways in which the mem-ory selected can be displayed boggles themind. And since the display mode is soft-ware controlled, it too can be changed withevery refresh. One useful mode option savesmemory by beginning a new line whenever acarriage return is detected — eliminating theneed for spaces to the end of a line. Thisenables typical text or program source codelistings to be stored in 30 to 50% savings ofmemory space depending on the actual textdata involved. Another mode selects whiteor black characters. Control characters canbe inverted or blanked — great for storing"invisible" information on screen for somegames. Carriage returns are displayed asboxes or blanks and the cursor winks orremains steady. The dense graphics modeenables 2 K words of memory to be dis-played as 160 dots horizontally by 100 dotsvertically, or if memory is in short supply,1 K bytes can be used to display as 80 dotshorizontally by 100 dots vertically untilyour next birthday.

The POLY 88Microcomputer System

The POLY 88 Microcomputer System brings to theuser, in one compact package, the capability ofdeveloping programs and hardware as well asenjoying the interaction with computers. The POLY88 System uses a videomonitor for display, akeyboard for input, andcassette tape for storage.The system will connect to ahard-copy terminal. POLY88 hardware consists ofCPU circuit card with on-board memory and I/O,video display circuit cardwith keyboard input portand graphics capability, andmini-cards that connect tothe CPU board via ribboncable for cassette or serialinterface.Central Processor Cardfeatures 512 bytes of RAM(random access memory),plus sockets for up to 3 K of2708-type PROM or ROM(read only memory),vectored interrrupt, and realtime clock, as well as anoptional serial input-outputport featuring software-controlled baud rate.The Video Terminal Interface circuit card willgenerate 16 lines of 32 or 64 characters or 48 x 128graphics grid on a standard video monitor or slightlymodified TV set. It also includes an 8 bit parallelkeyboard input port, allowing the board to functionas the complete computer interface.The POLY 88 Chassis and backplane/motherboardis Altair compatible,and will provide 6 amps ofpower to five cards. Only two switches are mountedon the front panel — a lighted on/off switch, and apush-button, which, in addition to resetting thesystem, indicates a halt condition in the processor.The firmware Monitor is integral to the POLY 88System. This 1024 byte program in ROM allows theuser to display data on a TV screen, enter data intomemory using a keyboard, read and dump data tothe cassette interface in a standard format, andsingle step through a program while displaying thecontents of each of the 8080's internal registers.

The monitor provides many of the standard drivingroutines to greatly simplify the job of programming.The monitor forms the basis of an ever-increasingsoftware library available to POLY 88 owners.

Options from PolyMorphicSystems include a boardwith 8K of additional RAM, aversatile prototyping board("The Ideaboard"), and anAnalog Interface. Also,many "Altair-compatible"products on the market arecompatible with this system.Prices: Basic kit includingchassis, CPU and videocards —$595, $795assembled. Cassette option— $90 kit and $125assembled. 8K of RAM —$300 in kit form or $385assembled. We also sell thevideo and other "Altair-compatible" circuit cardsseparately.

Dealers: This system sellsitself.

All prices and specificationssubject to change withoutnotice. Prices are USA only.California residents add 6%sales tax.

Prepaid orders shipped postpaid. BankAmericardand Master Charge accepted.

□ Please send more information

□ Order and check enclosed

Name

Address

City/State.Zip

BankAmericard.Master Charge_Signature

Expires .. Expires.

PolyMorphic Systems (805) 967-2351

737 South Kellogg Avenue Goleta, CA 93017

PolyMorphicSystems

J^Tn

If you are worried about loading all thosegreat bytes into your machine with toggleswitches, don't. MERLIN provides a parallelinput port to which most keyboards may bedirectly tied and sufficient regulated powerto run them. MERLIN also has a serial inputport which may be used for binary datafrom tape signal conditioners, switches,thermocouples or other arcane hobbit para-phernalia. The serial output port is alsouncommitted, and the pair can be used toimplement a cassette 10 interface.

Best of all, you need not be a softwaregenius to use MERLIN. Monitor and Editorfunctions as well as general purpose sub-routines, selectable 10 drivers and keyboardand display drivers are also stored in MER-LIN'S optional on board MBI ROM. (If youare a software genius and have a programmeryou can substitute up to 2 K of your own2708 EROM or 1 K of 2704 EROM.) Pro-vided with the MBI ROM are also 128 wordsof scratchpad programmable memory tohold MERLIN'S vital statistics and Monitorstack. Linkage through this scratchpad touser defined routines creates a system whichcan be expanded virtually without bound.(As though the ten user defined keystrokeexecuted functions built into the monitorweren't enough!)

Monitor functions provided by the MBIROM include the ability to fill any portionof memory with a given hexadecimal value,the ability to sequentially modify memorycontents, and hexadecimal dumps to thedisplay. Processor registers may also beexamined or modified. ASCII text may beinput to memory, blocks of memory may becopied, the beginning and end of the displayarea and display format may be set, and user

programs may be executed with up to threebreakpoints. The breakpoints enable the userto return control to the Monitor afterexecuting only part of his code. Once in theMonitor the user may examine or modifymemory or registers before executing moreof his program.

The Editor functions can be invoked bykeystrokes or called from user programs.The functions include:

Control of cursor movement (up,down, right, left, home, two tab sets, andtab).

Either characters or lines may beinserted, deleted, or replaced.

Scrolling can be automatic at any linenumber or under manual or programcontrol. Scrolling may be page up or pagedown or absolute.

Automatic scrolling can provide wrap-around at the end of the defined displayarea (up to 64 K), so that using the "cleardisplay after cursor position" and "copyblock" functions provides an easily imple-mented "infinite" display area.

Finally, this ROM contains directlinkage to a second optional 2 K ROMand forthcoming cassette-modem inter-face ROM. MERLIN'S second ROM con-tains extended Monitor/Editor functionsplus general purpose graphics controlsubroutines.

A soon to be announced optional boardfor MERLIN will increase capabilities toinclude color graphics, and with 320 hori-zontal by 200 vertical resolution for blackand white graphics.MiniTerm Associates islocated at Box 268, Bedford MA 01730."

64

IF YOU CAN'T FIND IT OFF THE SHELFTRY THE DATA DOMAIN

We are proud to announce we are now dealers for the Digital Group.Processor Tech IMS Cromemco CSC Vector OSI

The

D°ATA D'OMA/N

111 S. College AvBloomington, Ind. 47401Phone (812) 334-3607

Continued from page 16

run APL, SNOBOL, LISP, PASCAL,ALGOL, TRACTM etc), and with the fallingprices of memory, will do exactly that. Iknow several personal computer hackerswho have pretty nearly filled up a 64 Kmemory address space. If a person has achoice between a system that costs $1000with 16 K of memory and the same systemwith 32 K at an incremental cost consistentwith the new 16 K chips' estimated costs,the extra $300 to $500 at the store may bewell worth it; and as the technologiesimprove, more and more memory will bepotentially possible for the same dollars.

And there lies the problem. With memorygetting cheaper and cheaper, we are runningout of address space in the 8 bit LSIprocessor! The typical 8 bit or 16 bit LSIprocessor addresses 65,536 bytes and that'sall. For many purposes, such as creating database structures with large buffered data areasinternally, it would be extremely convenientto have much larger main memory areas. Forinstance, in a super text editing systemallowing 50 K bytes for buffer areas limitsone to about 18 standard manuscript pagesin memory at any given time (assuming nopaging to expensive electromechanical mag-netic media). With memory becoming a verycheap commodity, one would like to have asmuch of it as possible on line for suchapplications. Similarly, in setting up infor-mation management systems for the homeuser, the more memory the better, since theresource can be used both to speed upcomputation by using table concepts, and tominimize IO.

Given this desire for lots of memory, and

the limitations of 16 bits, the search foralternatives is bound to occur. One placethat this can come out is in newer LSIprocessor designs. For example, consider theMotorola 6800 as it is presently imple-mented. It resides in a 40 pin package, butthe simplicity of its interfacing requirementsleaves two pins unused at present. In ahypothetical "improved" version, the designcould be modified to support 18 bits ofaddressing, or a maximum of 256 K bytes(262,144 bytes) with some changes in theinternal architecture. The simplest internalchange would be to use the uncommittedbits of the status register (bits 7 and 6) as"bank selection" bits to implement ex-tended external memory by the traditional"bank switching" trick. Of course, it'shardly likely that this design change willhappen, so the extension to memory sizesabove the address range of the machines willhave to be accomplished by the individualsdesigning the computer products whichemploy LSI central processors.

Bank switching kluges can be done exter-nally to a processor as well. In a personalcomputing system with ROM software ofcompilers or interpreters, one way would beto partition a 32 K segment of address spaceinto two 16 K regions along the boundariesof the 16 K chips, with bank switching usedto alternate such extended regions of mem-ory. Again, in a hypothetical case, consider a4 bit mapping vector for each 16 K half ofthis region of addressing. The 4 bit bankselection could point to 16 banks of 16 Kbytes or 256 K bytes, with the core of 32 Kbytes retained for system monitor and IOfunctions. But these are just conjectures ofways to accomplish the extension of mem-

Articles Policy

BYTE is continually seek-ing quality manuscripts writ-ten by individuals who areapplying personal systems, orwho have knowledge whichwill 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."

65

Authors take note: Atutorial on the architec-ture of stack machines, thereasons for using suchmachines, and what it islike to program such amachine would be excel-lent article material forB YTE magazine. ■

ory, given the need for utilizing existingmachine architecture.

Enter the Stack Machine

The real reason we need to use morememory than 64 K is our need to use highlevel language to program sophisticatedinformation constructs. Traditional LSIprocessor designs to date have merely beenadapted versions of widely used designs tothe constraints of LSI technologies. A 6800is simply an 8 bit approximation of whatminicomputers have always been, andminicomputers are just miniature versions ofthe earlier, larger machines. Sure, improve-ments in architecture have been made, suchas use of subroutine linkage stacks withbuilt-in pointers, but all the present LSIprocessors are cut of the same mold. If weare running out of room in address spacewith the present designs because of a need torun high level programming languages andintricate information systems written inthese languages, why not use the need forlarger address space as a superficial spur for ahigh level language oriented general purposeprocessor itself?

There is a whole technology of machinesoriented towards high level languages, atechnology principally seen in the com-

mercial products of the Burroughs Corpora-tion and experimentally in computer scienceand software engineering contexts. This isthe technology of the high level languagemachine, or stack machine. This is a proc-essor designed to have a machine languagewhich is very close to a high level languageconsistent with structured programming con-cepts. This is the world of the computerwhose instruction set includes control struc-tures like the IF instruction, the THEN DOinstruction, the ENDELSEDO instruction,the ENDIF instruction, and data constructsappropriate for a high level language. Thegrapevine currently jingles with rumors thatsuch a machine will soon be on the market,possibly labelled "Z90", and I know of atleast one university laboratory version in-tended for reduction into LSI masks. Highlevel languages are what make general pur-pose computers useful to the largest numberof people, so eventually 1 expect to see stackmachines in LSI form, intended for generalpurpose computers.

Use of stack machines sure won't cure theaddress space saturation problem, but if onehas to add some extra bits to the memoryaddress bus, why not include a real improve-ment in the processor architecture at thesame time as the new design is created?"

Publisher's Notes

Personal Computing 76 in Atlantic City:

Something for Everyone

by Virginia Peschke

Personal computing enthusiasts weretreated to a huge, successful convention inAtlantic City on August 28 and 29. BYTEwill have a complete pictorial report nextmonth, but briefly: More than 80 manu-facturers and suppliers had booths to displaytheir latest products and exchange ideas withusers; dozens of technical talks and severalseminars provided information on everyphase of personal computing; and a hugesupply of valuable door prizes was dis-tributed to many lucky attendees.

The speakers at the Saturday nightbanquet were all greatly entertaining. As agrand finale, John Whitney showed his tech-nically amazing and esthetically beautifulmovies of animated computer graphics withmusical accompaniment. Though everyonehad had a full and exhausting day, John'smovies held us all spellbound until almostone in the morning, and various persons

inspired by the show were engaged in con-versation until much later.

For those of us who aren't true computerhackers (I'm a jade carving nut myself) thechoice of Atlantic City as a site was indeedfortuitous. Though it's somewhat difficult toget to from some parts of the country, oncethere the computer hacker is relieved of theusual domestic problem; that is, how to keepthe family entertained. Atlantic City offeredso much for the people who didn't wish tospend much time at the show that thecomputer buff was unlikely to hear "We'vebeen here an hour, when can we go?" First,there was the superb sand beach with awarm, gently rolling ocean, the amusementpark, the boardwalk train, and the greatselection of restaurants and shops. Whereelse could one find, within several blocks ofeach other, dealers in crystal paperweights,archaic Chinese jade, oriental rugs, Britishtweeds, Spanish lace, magic tricks, healthfoods, and many other things too numerousto list? No, families were not bored andhackers were free to spend all the time theywanted exchanging information."

66

What's

New?

Miscellaneous

Based on fliers picked up at the PersonalComputing 76 show in Atlantic City,August 28 and 29:

Edityper Systems Corp, subsidiary ofTycom Inc, 26 Just Rd, Fairfield NJ07006, is manufacturing a do it your-self Selectric typewriter conversionkit. This "easy to install" kit for anyIBM Selectric I or Selectric II type-writer "provides quality hard copyoutput for all microprocessor devices."The kit contains four modules: aselection assembly, function groupassembly, shift assembly and tabassembly. It is driven by a 50 pinconnector and requires user suppliedpower of 27 V at 1 A peak, and 5 V at0.2 A. The price is $395 plus shipping.We'd be most interested in publishinga photo article by a reader who installsthis item in a typewriter and integratesit as hard copy output for his or hersystem.

STM Systems, POB 248, Mont VernonNH 03057, showed off the new Baby!Floppy Diskette Storage System, Thisnew "mini floppy" drive with powersupply and controller will be availablein the near future for $750. It uses aminiature floppy disk of about 5inches (13 cm) diameter and stores 90K bytes (formatted) on 35 tracks withaverage latency of 100 ms, 350 msaverage access time. The drive wasshown in prototype form at the con-vention."

&aao SOFTWARE™

SPACE VOYAGE

The most complete space simulation game ever offered to micro users. Yourmission is to rid the galaxy of the enemy using your warp engines, phasers,photon torpedoes, short and long range scanners, telcporter, shield controland damage control. Beware of enemy attacks, supernovas, space storms, andother distrubances. To duplicate this game using BASIC would require about20K but your 6800 needs only *4K to run this exciting program. S10.00

FLOATING

this program you can do t

POINT PACKAGE

thmetic operations with 9

5S its and an exponent range of -99 to +99. Add,sub tract,multiply,and divide5BS are Implemented in 512 bytes. We include free 1/0 driver program. S5.00

M SCIENTIFIC PACKAGE

All the scientific functions you need - SIN, COS, TAN, ARCSIN, ARCC0S, ARC-

^^ TAN, exponentials, L0GX, LNX, hyperbolics, and more. Must be used with theBBS Floating Point Package above (not included). $10 00

1 MICRO BASIC PLUS

■SS PRINT, INPUT, READ, DATA, RES, G0SUB, GOTO, ON G0SU8, ON GOTO, RET, LET,

= IF, FOR, NEXT, REM, END, 1 and 2 DIM arrays, RUN, LIST, SCR, EXT, HON, RND,

B5 TAB, SPC, ABS, SGN, EXP, multiple statements per line, simple load and

BB dump. A <iK system leaves approx IK for programs (50 lines). S15.95 —

I PROGRAM OF THE MONTH CLUB I

gj For S2 you get a one year membership and receive monthly bulletins describ- ——

For S2 you

ing our newest programs. Up to 15% discount un t ogram.

ligations. You get our Random Number Generator free if you join now. S2.00

on the featured program. No ob- ~

CASSETTES

Severa1matted

chased1i sti ngCT-it MAS

programs are now available on "Kansas City" standard, MIKBUG for-udio cassettes. No instructions or listing included, must be pur-eparately. CT-1 SPACE VOYAGE S8.95, CT-2 KLING0N CAPTURE $6.95.3*4.75, CT-3 HANGMAN and ACEY-DUCEY $6.95, listings $3.25 each,TERMIND and SWITCH $6.95, listings $3.00 and $2.00 respectively.

INFORMATION

Our source listings contain comments throughout, label table, hex code dumpcomplete instructions, and sample output. External references (to MIKBUGroutines) are easily modified. When ordering add $1 postage and handlingunder $10, 5% for first class mail, k% sales tax (Ind. residents). Person-al checks will clear bank. Many other programs, for information send SASE.

I TSC

Tec haBox 25

Consultantsette IN 47906

TSC I

TERMINAL SYSTEMS DIVISION-DAYTON

We have a number of new and challengingopportunities involved with the hardware/soft-ware design and development of real-time finan-cial terminals. Immediate needs are at all levelsin the following areas:

PROGRAMMER/SYSTEMS ANALYSTS

These positions require knowledge in the areas ofmicroprocessors and minicomputers based on real-timeoperating systems. Responsibilities will be to participatein the design of software development and write testsoftware for mini and micro based real-time operatingsystems in a distributive network.

An opportunity also exists for participation in thearchitectural design of an Automated Health CareSystem.

Candidates should have a BS/MS degree in ComputerScience or Math and at least 3 years programmingexperience. Experience with assembly and COBOLlanguages is necessary.

SOFTWARE SYSTEM DESIGN

These positions require the ability to provide technicalexpertise and leadership in the area of real-time terminalcontrol and batch operating systems. Responsibilitieswill be to translate and interpret the state-of-the-art inoperating systems to an assigned terminal control projectand to select, influence and affect broad technicaldirections in software. Will be responsible for coordi-nating complex distributed processing operating systemsoftware development which will support applicationscoded in high level languages and run in both microcom-puter and minicomputer mode environments.

Candidates should have an MS degree in ComputerScience, Systems Engineering, or Math, and 7 to 10years programming experience with at least 5 years inoperating system design and development.

These positions are at NCR's Terminal Systems Divisionin Dayton, Ohio. If you qualify and are interested inthese opportunities, submit your resume and salaryrequirements to: Robert L. Opalek, Manager

Employment Department

Terminal Systems Division-Dayton

NCR Corporation

Dayton, Ohio 45479

NCR

An Equal Opportunity Employer

67

Letters

ZEROING IN

I think the point has again been missed inthe great 8080/6800 controversy.

Reader Cochran (August 1976) comparesthe 10 structure for what seems to me themillionth time. Really now, what would ittake to convert one bus to the other? Acouple of AND gates maybe. And who caresif the 6800 has a few less memory locationsout of 65536?

The major difference is the purpose be-hind the two instruction sets. While the8080 is superior at handling structured data,the 6800 is better at arithmetic. The formerhas an overloaded accumulator while thelatter has an overloaded index register.

The single accumulator of the 8080 re-quires many transfers to temporary storage.This is most frustrating when doing calcula-tions that involve intermediate results. Un-fortunately, the arbitrary nature of theinstruction set makes improvement difficult.Zilog's Z-80 is a slight improvement, butonly compounds the inconsistencies alreadypresent.

The 6800's major fault is its lack of indexregister capability. However, improvementby adding instructions is easy. There shouldbe an instruction to push the index registeronto the stack and one to pop it off. Aninstruction to compute a 16 bit address byadding the accumulators to the index reg-ister is essential for reentrant programming.

Both the 6800 and the 8080 need im-provement. Because the 6800 has a cleanerarchitecture, it has greater potential. Sowhen Motorola comes out with a replace-ment chip, I'll be first in line. [Not if I getthere first. . .CH]

Stephen Ma

Glenn Fawcett

5170 James Walk

Vancouver BC CANADA V5W 2K4

Grapevine, Austin TX, has it that the newMC6809 product (the Motorola answer toZ-80) will have: Two 16 bit true indexregisters, block move, block search, andperhaps even some 16 bit arithmetic toenhance pointer manipulations and addresscalculations at run time.

A CASE OF DUPLICITY?

Finally ariving home from work afteranother hard day, seeing my August issue ofBYTE in the mailbox immediately calmedmy nerves. I settled into my semi-automaticreading chair, placed my copy in the scan-ner, punched up a beer and sausage comboon the console and prepared to bettermyself. Greedily I began. Not wanting toflounder about, I immediately flipped to "InThis BYTE." The highlights leaped at me.Another fantastic array of information! (Upto this point, I had read every issue of BYTEcover to cover and this one promised tomaintain the trend.)

I read to the blurb about the Zilog Z80and no farther. Expecting to find informa-tion to delight and astound me, I startedflipping toward the article. One page fartherand the ad for the "super chip" whet myappetite and set me flipping furiously. Myexpectations only rose as I skimmed for page34 and the "Microprocessor Update: ZilogZ80". Page 25. ()ust nine more.) Flip. Flip.Page 32. Flip. Page 50!!! Flip back. Page 32.Flip. Page 50???

I tore my BYTE from the scanner, andmanually searched for page 34, but nowherecould I find it. It seems my copy jumps frompage 32 to 49, and again from page 80 to 97.The fact that there were doubles of pages17-32 and 97-112 didn't seem to make upfor my loss.

I fell back, dejected, just as my chairserved me my beer. But the force of mecollapsing backward thrust my beer into thevibrating unit which promptly shorted out,flinging me headlong across the room.

I am now in traction in the countyhospital. I am also very dejected becausenow I have all this time and still can't readabout the Z80. Could you find it somewherein your heart to fill this emptiness.

Deplorably yours

W R MacLeod

GTE Automatic Electric Labs

4501 W North Av

Melrose Park IL 60160

Mr MacLeod received the following reply:

Dear Mr MacLeod

Enclosed you will find a complete Augustissue of B YTE. We hope you enjoy readingthe article "Microprocessor Update: ZilogZ80," during your stay in the county hospi-tal. If it appears to be an extended stay,please let us know if we may forward theSeptember and October issues to you.

The staff at BYTE wishes you a quickrecovery.

I Any reader who received a similar glitchshould send his/her BYTE back for re-placement.)

COMPUTER PHREAQUENCY

BYTE No. 13 (September 76), page 12,letter from Melvon G Hart, W0IBZ, "Atten-tion Hams! . . ." Try 3.865 MHz (LSB) onThursdays at 2300 GMT. You will findseveral computer-phreaque/amateurs there.

Carl K Zettner, W5HFG

108 Moss Dr

San Antonio TX 78213

HUMANE COMPUTING?

I am working on a survey of the human-istic use of computers and would like to getin touch with other people who are inter-ested in this field. I want to learn aboutwhat can, and is, being done to make the useof computers as humanized as possible. Morespecifically, I want to know:

• What are the potentially humaneapplications of computers?

• What are the important ingredients inhumanized computer systems?

• What is currently being done in thefield of humane computing, both interms of theory and practice?

• Which individuals and groups areactively doing this work?

• What are their particular goals andobjectives?

• What are the results so far?

• What are the major factors deter-mining their successes and failures?

I would like to hear from anyone whocan contribute to answering such questions.They should write to me describing theirthoughts, fantasies, plans and experiencesrelated to the humane use of computers.Besides corresponding with people, I hope toactually visit and talk to as many contacts aspossible. All the material I collect in thisway will go towards the publication of asurvey of humane computing.

Andrew Clement

789 W 18th Av

Vancouver BC Canada V5Z IWI

Humanistic needs some precision indefinition, but it will be interesting to seewhat you find. Readers interested inworking with Andrew are urged tocorrespond.

MORE COMMENTS ONCOMPUTER TYRANTS

I am a student at San Bernardino ValleyCollege and am majoring in computer en-gineering. Recently, I was leafing throughsome back issues of BYTE that had beengiven to me by a friend. I came across anarticle in the February 1976 issue by EdRush entitled "Could a Computer TakeOver?" I page 76/.

In his article, Mr Rush points out all thespeculation that various science fictionwriters of today had written into theirstories about the probabilities of a computertaking over some or all of future society. Hesuggested that all those who have anyknowledge of the operation of an informa-tion processing system would be the first toconfess this point. Not true.

I have only been working with computersfor two years, but I have also been an avidscience fiction fan. The idea of the computeras a world dictator makes me think of thenaiveity of modern society. Those who donot want society to progress to an easiermore controlled future have set thecomputer up on a pedestal as the ultimateenemy. Science fiction writers have takenthis concern and have written upon it.

The true enemy is not the computer. Thesame people who tend to put down thecomputer are precisely the same people who

68

Only $59.95

Assembled

Tested

FINALLY - A CASSETTE INTERFACE THAT WORKS!The PerCom CI-810

• Easily connected to any computer • An 8-bit parallel interface

• 'Kansas City' Standard • Load a 1k byte program in 40 seconds

• Little or no software required • Easily upgraded to 218 byte/sec

• Operate 2 tape units simultaneously • 18 page Instruction Manual

PerCom Data Co.

4021 Windsor, Garland, Texas 75042(214) 276-1968

'peripherals for personal computing'

can appreciate its power. They are not afraidof the computer itself, but are afraid ofthose who control the computer.

The computer operators and program-mers of the future will control the world, IFworld power goes to the computer.

Richard G Castle

21951 Vivienda Av

Colton CA 92324

The neat thing, though, is so manydifferent makes and models of computersdoing most of the computing for individuals!Try to make that situation into a tyranny.

SUPER STAR TREK: TREK76

BYTE is fantastic and I'm now in theprocess of scrounging up enough money fora subscription. In your January 1976 issuethere was a letter from Richard Wexler andhe wanted info on STAR TREK programs. Ihave almost all the bugs out of an advancedgame called TREK76 which should be justwhat he wants.

TREK76 is written in standard FORT-RAN so it should run anywhere. Commandsare entered in English sentences and thegame is semi-real time; the Klingons attackand have the same armaments as the Federa-tion. Once all the bugs are out of it(hopefully over the next few months)

TREK76 will be one of the best STARTREK games around. Anyone interestedshould contact me (school address is: Box5739, University of Rochester, RochesterNY 14627 from September to May).

I'm a game freak so anyone with games toexchange just lei me know. Also, I'm look-ing for a listing of a BASIC game calledTREK73.

Dave Warker

SOME THOUGHTS ON"IGNORANCE IS BLISS"

The "Ignorance Is Bliss" television drivecircuit (July 1976 BYTE, page 38) looks likea simple answer to a common need.

However, be sure to check whether thetelevision circuitry is isolated from the pow-er line. If not, use an isolation transformerfor the television at any time that it isconnected to the terminal. Otherwise, plug-ging in the television the wrong way will put115 volts AC across the electrolytics if thelogic supply is properly grounded, and willput 115 volts AC on the logic ground if itisn't connected to an external ground.

Also be sure that your television antennahas a good lightning arrester to take care ofthe voltage surges caused by nearby lightningstrikes. This is especially important becausethe electrolytics cannot withstand as muchvoltage as the small, high voltage capacitorsyou could use with an RF modulator.

After you make certain that you areready to use the terminal safely, you mightconsider that electrolytics aren't known forespecially good high frequency character-istics. If you get a horizontal smear in thedisplay, put a small (0.01 fiV or so) bypasscapacitor in parallel with each electrolytic.

Robert F Miles242 Abingdon RdLenoir NC 28645

Thanks for chipping away at "ignorance. "

NEEDED: BENCHMARK COMPARISONS

One question which I have had for a longtime concerning microcomputers is through-put I have been using a PDP-8/E now forquite a while. Many of my programs (such asLIFE) were limited by speed. It seems to methat the 8 is considerably faster than manymicros; but there are other things which Icannot adequately compare. For instance,there seems to be a lot more ways to addressmemory in a 8080 (or Z-80). How do thesechips compare, in "benchmark" programs,to the minis?

How fast can the BASIC software for the8080 count in a loop, such as 1=1 to 20000?The PDP8/E, under the TSS timesharingsystem, managed it in about 20 to 40seconds. Another computer I have used, theHARRIS Slash Four, did 1=1 to 100000 in

4Kx8 Static MemoriesMB-1 Mk-8 board, 1 usee 2102 or eq.PC Board. . $22 Kit $100

MB-2 Altair 8800 or IMSAI compatibleswitched address and wait cycles.PC Board. . $25 Kit (1 usee) . . $112Kit (91L02Aor21L02-1) $132

MB-4 Improved MB-2 designed for 8K"piggy-back" without cutting traces.

PC Board $ 30

Kit4K 0.5 usee $137

Kit 8K 0.5 usee $209

MB-3 1702A's EROMs, Altair 8800 &Imsai 8080 compatible switched address& wait cycles. 2K may be expanded to4K. Kit less Proms . $ 652K kit . . $145 4K kit $225

I/O Boards1/0-1 8 bit parallel input & output ports,common address decoding jumperselected, Altair 8800 plug compatible.Kit $42 PC Board only. .$25

I/0-2 I/O tor 8800, 2 ports committed,

pads of 3 more, other pads for EROMs

UART, etc.

Kit . . . $47.50 PC Board only. . $25

Misc.

Altair compatible mother board

15 sockets I1"x1154" $115

Altair extender board $ 8

100 pin WW sockets .125"

centers $5.50

2102's 1usec 0.65usec 0.5usec

ea.32

$ 1.95$59.00

$ 2.25$68.00

$ 1.65$50.00

1702A* $8.50 8223 $3.00

2101 $4.50 MM5320 $5.95

2111-1 $4.50 8212 $4.00

2111-1 $4.50 8131 $2.80

91L02A $ 2.55 MM5262 $2.00

32 ea. $2.40 1103 $1.25

Programming send Hex List $5.00

AY5-1013Uart $6.95All kits by Solid State MusicPlease send for complete list of productsand ICs.

MIKOS

419 Portofino Dr.San Carlos, Calif. 94070

Check or money order only. Calif, residents 6% tax. Allorders postpaid ir> US. All devices tested prior to sale.Money back 30 day Guarantee. $10 min. order. Pricessubject to change without notice.

69

about 15 seconds. At the same time it wassupporting other users.

Simply counting makes for lousy bench-mark programs, though. I would appreciatean article on the subject.

James Wiebe

208 N Jefferson

Hillsboro KS 67063

The benchmark slot has not beenadequately filled with articles in BYTE, asJames' letter points out. Authors take note:A general background article on the theoryand validity of benchmarking, applied tomicroprocessor technologies, would be mostuseful to readers in evaluating processors.

DOCUMENTATION NEEDED

I am searching for a company that was atone time located in Derry, New Hampshire.The name of the company was/is Data InputDevices Inc.

They built a TV typewriter terminal unitthat my friend (8800 Altair owner) boughtat a hamfest.

We are hoping to get schematics fromeither the company (if it still exists) or froma prime consumer of the unit if we can findthat out.

Any leads will be much appreciated.

Tom McMurtrey

WA4FYN

244 Roosevelt Av

Florence AL 35630

Can any readers help here?

A QUESTION OF COMPATIBILITY

Is it possible to successfully use the Altair16 K static RAM (215 ns) in the IMSAI8080 in lieu of the IMSAI 4 K RAM and stillobtain the a) low power, b) memory (1 Kblocks) write protect, c) power fail memorysave benefits?

How about the MIKRA-D 16 K RAM inthe IMSAI 8080?

I am seeking workable solutions to con-figuring a 64 K processing without using up(16 of 22) all the available slots while stillgetting the advantages offered by the proces-sor manufactures on their smaller memoryboards.

A B Clark

1 5425 SW 88th Av

Miami FL 33157

Has anyone in the BYTE readership triedthis particular combination of modules? Wehave no data with which to give an answer tothis question.

NEED AN ACCURATE HP-45 TIMER?

I have long been interested in the timingcapabilities of the HP-45 and have watchedfor information on it. Last month EDNpublished how to add the crystal to make anaccurate timebase, and said that HP wasselling crystals for $14 plus $1 for shipping.Upon contacting HP I found they havethem, but you have to know somebody.After some research and a few long distancephone calls I was able to make somearrangements to obtain a supply of crystals

from the manufacturer. I would like to makethese available to interested BYTE readersfor $1 2 plus $1 shipping.

Enclosed is the article from EDN and alsoan explanation I received that differs slightlyon how to install the crystal. This may bebecause of the two different versions ofHP-45s. I have hooked one up for someoneusing the HP sheet and it works fine. Theother way may work as well. I shall try itsoon.

Mark S Egbert

1514S320E

Orem UT 84057

PHOBIA

One of my pet phobias is people whoshort out capacitors. In BYTE #12, page 96,figure 1, the keyboard switches directlyshort out the 1 uF capacitor and this is, nodoubt, the cause for the "oil film" referredto in the last paragraph on page 97. Justimagine the surge current that flows when aswitch is closed. This is not good for thecapacitor and is positively damaging to theswitch.

Webb Simmons

1559 AlcalaPI

San Diego CA 92111

Well, maybe. A capacitor of I p.F,charged to 5 volts, holds Q - C *V = 5 * 10 **' -6 coulombs of charge. If thecontact closure produces a spark, which canbe detected on an AM radio, then it is a safebet to say that the contact event takes placein from 10 to 100 microseconds (in orderfor significant harmonics to be detected inthe 500 KC to 1500 KC AM radio band).Thus 5 microcoulombs are being dischargedat an average rale of 0.5 ampere in the 10microsecond case, 50 milliamperes in the100 microsecond case. Peak values might beconsiderably higher, possibly pitting thecontacts. This off the cuff analysis does nottake into account the effect of the resistancein wires and capacitors, and is conditional onthese contact conditions being able togenerate measurable RF from a sparkingcontact.

KUDOS, GRAPHICS, STATE OF THE ART

This letter of mine is in response toseveral items in your July letters column(pages 90-94/:

1. I would also recommend James Elec-tronics (ICs). Delivery is usually less than aweek.

2. With regard to the graphics displaycircuits:

a. For the circuit you asked for I wouldrecommend that consideration begiven to making it 256 X 512, allowingii to simulate a standard 16 X 64character terminal or display module.

b. Any such circuit would not be inex-pensive. It is not clear to me whetheryou are asking for a plug-in module, ora stand alone device to communicatethrough an IO port. Mr Hyde defi-nitely wants a stand alone device. Idoubt that a module would be notice-ably cheaper than buying a CromemcoDazzler (TM). The savings due togiving up color would be easily offset

by the additional addressing, and theycan get quantity discounts that theindividual hobbyist cannot.A stand alone device would cost moreyet: The electronics would be morecomplex, possibly justifying a dedi-cated microprocessor, and even worse,you then need a power supply, cables,a box and all the other things which sorapidly run up the cost of a goodlooking (and reliable) homebrew pro-ject.3. I am afraid that the hobbyist is nevergoing to get noticeable quantities of truestate of the art items. Announcements inmagazines such as Electronics are at least sixmonths (if everything goes well, which itusually doesn't) ahead of volume deliveries.After that, there is at least another six-month wait to design an item into a hob-byist kit, and get that into production. Theprobability approches 1 that one of thesesteps will meet an unforeseen delay of atleast 90 days, such as the capacitor shortageof a few years ago.

Finally, the cost of truly new items (4 KRAMs, not cheaper floppies) is far morethan the hobbyist can afford. 1 K RAMscost a darn sight more in thousand quantityfive years ago than we are currently payingfor one. I worked with 93410s (256 bits,50 nsec) when they were $20 apiece inhundreds, and they're now $1.95 in onesies.As this happens to 4 Ks we'll start seeingthem.

Anyway, congratulations on a worthwhileand continually improving magazine.

Frank Richards

414 Bradford Way

Norristown PA 19401

AUTHORS, TAKE NOTE

Ever since BYTE #1, I've been waitingfor more conceptual articles like "WriteYour Own Assembler." How about somemore articles on . . .

• Random number generators, and thetesting and demonstration of random-ness in various random number genera-tion schemes.

• Executive software structures, whatkinds exist, advantages and disadvan-tages of various methods, etc.

• Human engineering factors andpointers concerning computer peri-pheral placement, panel and consoledesign, etc.

James F Gentry

NEEDED: USED COMPUTER INFO

I am a charter subscriber to BYTE. I haveenjoyed every issue from #1 to date. Yourpublication has expanded greatly my knowl-edge of software. Mostly I have learned thatI have much to learn.

Like everyone who has been bitten by thecomputer bug, I wanted very much to have asystem to play with. I had almost decided toembark on the purchase and assembly ofeither a 6800, or an 8080 system kit (withfaint echos and moans from the wife), whenI chanced upon the purchase of a full blown16 bit computer through a local governmentsurplus outlet. The only problem with thiswas that some of the interconnect cables

70

were missing and there was NOINFORMATION.

The unit I have is a DATA 620 system,housed in two 19 inch wide, 6 foot tallracks. It consists of a CPU, two powersupplies, a bootstrap loader panel, tape IOand reader (used to load the program, Ibelieve), a general purpose IO (purposeunknown), and two core memory units(organized as 2048 words of 16 bits eachunit, 4 K total CORE).

This unit was in use at the MannedSpacecraft Center in Houston (use un-known). I believe it was in use circa 1961. Itwas probably built around that time becauseit uses all discrete logic, no integratedcircuits. It uses -10 volt load source, +6 voltlogic bias. The machine was made by acompany called Data Machines Inc, NewportBeach CA. This company is/was a subsidiaryof a company called Decision Controls Inc(address unknown). As you can see I havemore questions than data. Although achance investment, I thought it a good buy.

It is my deep hope that you or one ofyour readers might be able to supply mewith some information. I have written toNewport Beach c/o the postmaster, but nosuch company is in existence out there, andno forwarding address. Any help you cangive me in this matter would be greatlyappreciated.

Godfrey C Leggett

185 Marceline

Beaumont TX 77707

We publish this letter in the hope thatsome reader will provide information helpful

to Mr Leggett in his pursuit ot a personalsystem.

VA COMPUTERS NEEDED

I have recently become aware of theworld of personal computing and am an-xious to become pari of it. Like manyothers, however, I am not prepared to layout the money for a microprocessor, IOdevice, memory, permanent storage capa-bility, etc. If there were microcomputer kits,as there are television kits, which were partof a Veterans Administration approved cor-respondence course, the door would be openfor thousands more. Could you put me intouch with anyone having such a course orspread the word to the microcomputer kitindustry about this seemingly untapped,eager pool of potential customers? Thanx.

Steve Packard

44 S Greenfield Av

Hampton, VA 23666

IBMSELECTRICIO

The letter from Dr James Lang in theAugust BYTE on the desirability of usingthe IBM typewriter for a console device hitclose to home — after I design the interfacefor this Selectric 735 I'm typing on, that'swhat I will have. Please note - this isn't justany old Selectric, but the one with all thesolenoids and switches already under it.These machines are now available on the

Continued on page 75

THE BEST IS NOWT

MFE's 250B Digital Tape TransportOffers a 32000BPS Data Transfer Rate

ANSI/ECMACOMPATIBLE

OPTIONAL

8 BIT PARALLEL

I/O INTERFACE

• 15,000 Hr. MTBF • 1 Year warranty • Two moving parts

• Reel to reel • Constant tape tension and constant tapespeed — servo controlled • +5VDC operation • Guaranteedcassette interchangeability • Up to 800 BPI • Read afterwrite heads • Bi-directional read/write operation • Size:4.39" X 5.46" X 2.42" • A few $525, a hundred $325 •Call or write Jim Saret

• Recent survey among leading buyers named MFE number 1.Source on request. Over 15,000 in the field.

i^iaE^

Keewaydin DriveSalem, N.H. 03079Tel. 603 893 1921TWX 710 366 1887

XwffI^E CORPORATION TELEX 94-7477

Computer

Peripherals

available from

PolyMorphic

Systems

71

The Video Terminal Interface circuitcard generates 16 lines of 32 or 64characters (depending on option) on astandard video monitor or slightlymodified TV set. Characters are storedin a 1/2 or IK RAM on the video board.Display capability includes graphics andtext. Text includes all keyboardcharacters including upper and lowercase, in a clear, highly readable 7x9 dotmatrix font. Graphics characters aremade up of 2 x 3 grid in each characterposition, allowing for display of a 48 byup to 128 contiguous grid on a TVscreen. The entire screen may beupdated in 20 msec. The Video TerminalInterface circuit card also includes an 8bit parallel keyboard input port, allowingthe board to function as the completecomputer interface.

The Video Terminal Interface includesstandard software, allowing scroll andpage modes, insert/delete, and fullcursor control. Literature covers kit-building, testing, trouble-shooting, andsoftware.

The PolyMorphic POLY VT1 is the only"Altair-compatible" video terminalinterface with keyboard input port andfull graphics.

Prices:

32 character line kit -64 character line kit -Assembled $280

-$185-$210

Other peripherals available fromPolyMorphic Systems includes an 8KRAM board, a versitile prototypingboard ("The Ideaboard"), and an AnalogInterface.

All prices and specifications subject to change withoutnotice. Prices are USA only. California residents add6% sales tax. Prepaid orders shipped postpaid.BankAmericard and Master Charge accepted.

PolyMorphicSystems

737 S. Kellogg Avenue, Goleta, Ca. 93017(805) 967-2351

The firstcomplete smallcomputer.

As you thumb through this maga-zine, you'll see a lot of ads for smallcomputers. For $600 you can find a prettygood box with a power supply, four slotmother board, CPU module, and all theexpected lights and switches.

But you know what? It won't work.

That's because in order to make thecomputer go you have to buy memory —normally both read-write (RAM) and read-only (PROM), interfaces to the outsideworld (parallel, serial, and cassette),keyboard, video display module, andsoftware.

Add this all up and it's going to costyou at least $1,400 for a complete system.

Got the picture?

Now listen to this. The remarkablenew Sol-20 Terminal Computer will giveyou all of the above... plus more!.. .asstandard equipment for just $995, in kitform. This is because the Sol-20 — like noother small computer—was designedfrom the ground up to be complete.

Here's what the Sol-20 includes asstandard equipment:

• 8080 microprocessor.

• Video display circuitry.

• 1024 words of static, low-power RAM.

• 512 words of preprogrammed PROM.

• Custom 85-key solid-state keyboard.

• Audio cassette tape interface.

• Both parallel and serial interfaces andconnectors.

• Power supply.

• A beautiful case with solid walnut sides.

• Software that includes a preprogrammedPROM personality module and a cas-sette with BASIC-5 language plus twosophisticated computer video games.

• Full expansion capability with all S-100bus (Altair/IMSAI/PTC bus) products.

It's a handsome terminal orcomputer that will even look good in yourliving room or office. Small systems startat just $475.

Full expansion capability

The Sol-20 system can be tailoredto your applications using the completeline of peripheral products from ProcessorTechnology. These include the video mon-itor, audio cassette and digital tape sys-tems, dual floppy disc system, memories,and interfaces... plus all other peripheralscompatible with the S-100 bus.

The Sol-20 greatly simplifies thecomputer-buying process. It's a splendidpackage that will excite both present andprospective computer owners.

Our brochure tells all. Write forit today.

Processor Technology, 6200 Hoi I isStreet, Emeryville, CA 94608.(415) 652-8080.

The

Sol-20 expandable

system.

IS&R^

Processor Technology

HARDWARE AND SOFTWARE

Now available from the following dealers

California

Applied ComputerTechnology2465 Fourth StreetBerkeley, CA 94610

The Byte Shop1514 University Ave.Berkeley, CA 94703

The Byte Shop

2559 South Bascom Ave.

Campbell, CA 95008

The Byte Shop2227 El Camino RealPalo Alto, CA 94306

The Byte Shop509 Francisco Blvd.San Rafael, CA 94901

The Byte Shop2989 North Main St.Walnut Creek, CA 94596

The Computer Storeof San Francisco1093 Mission StreetSan Francisco, CA

Florida

MicrocomputerSystems Inc.144 So. Dale Mabry Hy.Tampa, FL 33609

Illinois

The ChicagoComputer Store517Talcott RoadPark Ridge, IL 60068

itty bitty

machine co., inc.1 316 Chicago Ave.Evanston, IL 60201

Indiana

The Data Domain

1 11 South College Ave.

Bloomington, IN 47401

New Jersey

Hoboken Computer

Works

56 Second St.

Hoboken, NJ 07030

New York

Audio Design

Electronics

487 Broadway, Ste. 512

New York, NY 10013

The Computer Corner200 Hamilton Ave.White Plains, NY 10601

The Computer Martof Long Island, Inc.2072 Front StreetEast Meadow, L.I.,NY 11554

The Computer Martof New York, Inc.314 Fifth Ave.New York, NY 10001

Synchro SoundEnterprises193-25 Jamaica Ave.Hollis, NY 11423

Oregon

The Real OregonComputer Co.205 West 10th Ave.Eugene, OR 97401

Rhode Island

Computer Power, Inc.M24 Airport Mall1800 Post RoadWarwick, Rl 02886

Washington

The RetailComputer Store410 N.E. 72ndSeattle, WA 98115

Wisconsin

The MilwaukeeComputer Store6916 West North Ave.Milwaukee, Wl 53213

Processor Technology Corp. dealerships are availableonly to qualified retail computer firms.

sor

Continued from page 71

used market for prices ranging from $500 to$1000, depending on model and condition.This machine cost $1 K, as it was a newmachine bought from one of the used minihouses. I am working on an interface toconnect this gadget to my IMSAI 8080.

This interface will be compatible withmost 8080 software; that is, the code will beASCI 1-7, with port selection and flag bitsjumper-selectable. I also intend to make theinterface compatible with most, if not all, ofthe available options for the 735 and 731.(The 731 is the narrow version of the 735,with an 11 inch writing line instead of 15inches.) I have heard that the 735 has beenreplaced in the IBM lineup by something else— this may be the reason they are showingup in the used computer shops. Whatever thereason, it's nice to be able to get goodmachines at reasonable prices.

Philip M Spray

3006 N E 26th

AmarilloTX 79107

A void mechanical klugesthe actuators built in.

buy one with

ARTICLES NEEDED: GETTING SENSORDATA INTO COMPUTERS

I have really enjoyed BYTE, especiallyarticles such as the Suding and Lersethcontributions in the July issue. I wonder ifyou will be doing some articles on connec-tion to the analog world. This seems to be animportant region that has been shortchangedin your publication.

I would like to see transducer data suchas thermocouples, thermisters, and RTDs fortemperature measurements; strain gauge datafor stress, pressure, etc; optical and/ormagnetic transducers for velocity, etc. Iwould also be interested in explanationsabout signal conditioning (bridges, channelamplifiers, zero set and scaling amplifiers), Ato D and D to A techniques and methods(such as ramp DAC, successive approxima-tion, and tracking A to Ds). For a micro, orany other computer, to "feel" what is goingon in the physical world, these sensors thatcollect ignition pulses, temperatures, loadpressure data, etc, are very important.

C Southard

2519MeadowbrookDr SE

Cedar Rapids IA 52403

TIMMMBBERRR!

Enclosed you will find my check andsubscription to BYTE. I've only been able tofind a few copies in this area and I foundeach of them very interesting and infor-mative. Having just gotten our Altair 8800up n running I thought you and your readersmight be interested in hearing about itsunique application. Presently, we are usingan 8800 at this Lumber Mill to monitor ourdaily production. We have a lumber sortingmachine that incorporates CMOS technologyin its control system. Through the use oflimit switches the machine measures everyboard as it sorts it coming out of thesawmill. It displays the measurement data ona set of seven segment LEDs built into thecontrol panel. That is where we tapped inour interface, designed for us by Warren

All-new Phi-Deck*

precision remote controlled

cassette transports starting at

under $100!

I

IIII

Featuring:

4^V-

• Re-engineered precision parts

m

• New cast frames

• 4 motor reliability

• Remotely controlled

• Precise, fast headengage/disengage

• Quick braking

■ Various speed ranges

Electronic

packages for control or read/write

For

application In:

6. Data duplicating

1.

Micro

processing

7. Security/automatic warning

2.

Data

systems

recorc

ing/logging/storage

8. Test applications

3.

Programming

9. Audio visual/education

4.

Instrumentation

10. Hi-Fi

5.

Industrial Control

11. Others

ailJ^llGX A Division of The Economy Co.1901 North Walnut P.O. Box 25308 UUOklahoma City, Oklahoma 73125 (405) 521-9000

□ I am interested in application no

□ Have Representative call □ Send application notes

Name

Company NameAddress .City

Title

State

Phone Number

Zip

C

oKENTUCKY FRIED[COMPUTERS °TT=o

&

A new retail computer store in Berkeley, California.We sell and service small computers for personal,educational, and business use, both in kit andassembled form. Many items are at substantialdiscounts from manufacturer's list prices. Specialprices on complete systems. We can help you "putit all together"

*IMSAI-Computers, memory, interfaces & peripheralsProcessor Technology-Memory, interfaces & softwareLear Seigler-ADM3 Terminal kit.'Polymorphic Systems-Computers, memory & interfaces*Cromemco-TV Dazzler, Bytesaverand A/D-D/A*Apple-Apple-1 computer"Morrow's Micro Stuff-Cassette interface'Oliver Audio Engineering-Paper tape reader

"Starred items available by mail order at 10%discount from manufacturer's current list prices.For prompt delivery, send money order or cashierscheck plus 2% shipping & handling. Personalchecks require 3 weeks processing. Calif, res. addsales tax. Minimum order $80.00.

KENTUCKY FRIED COMPUTERS2465 FOURTH STREETBERKELEY, CA 94710

TELEPHONE: (415)549-0858

A COMPUTER IN EVERY POT

75

Stardup, a partner-technician with Micro-Computer Systems Inc, which is based inTampa FL.

The interface converts the TTL at thedisplay to serial and relays the data via20 mA loop back to the office where thecomputer is located. Currently, we are usinga video display with data in memory beingdumped on cassette every hour, in case ofpower failure and loss of memory. A hardcopy printer is on order. In the future I planto scan the logs just before they are cut,compute that versus what comes out at thesorter, thereby giving me a readout of therecovery I get out of each log. Thought thismight be of interest to you. Keep up thegood work. Your magazine is refreshing!

Tommy StatenHC Hodges Lumber CoPanama City FL 32401

THE EMULATION BLUES

I read with interest Don Keek's letter inthe August issue of BYTE concerning theemulation of a PDP-8 instruction set on oneof the popular microcomputers. As theauthor of several emulation programs forvarious computers, I feel obliged to com-ment on my experiences. I have written twoemulators for the PDP-8, one implementedon the Control Data 6400, a 60 bit scientificcomputer, the other on the PDP-8 itself. Theself emulation has value in a trace-typedebugger for programs and peripheral inter-faces. The CDC 6400 implemented emulatorwas used to teach minicomputer program-ming techniques to a large number of stu-dents in a batch environment.

As Don mentioned in his letter, memoryand execution time are definite bottlenecksin emulating one machine on another, parti-cularly when the characteristics of the twomachines are different. I would suggest thata PDP-8 emulator program written on an 8bit micro would be hard put to achieveaverage execution times of less than 20 timesthe execution time on the PDP-8 itself.Memory requirements would be about 10 Kbytes for emulation of a 4 K PDP-8.

The higher level languages supported on4 K PDP-8s are almost all interpreters(FOCAL, BASIC, and 4 K FORTRAN forsure). The further degradation of an inter-pretive language by at least a factor of 20would be quite noticeable, if not annoying./Total degradation: 400 times slower. J

Quite a few PDP-8 programmers havemade use of "programmed delays"; that is,looping a specified number of times toachieve a specific time delay, or to deter-mine whether a peripheral has stoppedsending data. Such loops will obviously notemulate faithfully.

I recommend that anyone interested inwriting an emulator acquire the CPUdiagnostic programs for the machine beingemulated. This will be an invaluable aid todebugging and benchmarking.

R A Schottland

7040 N Sheridan Rd

Chicago IL 60626

DIVIDE AND CONQUER (INSTABILITY)

"Why Wait?" by Suding [July 1976BYTE, page 46] is very interesting. Theratio of his two frequencies is 1 to 1.4. Many

of us do not have access to counters oroscillators. Crystals and common chips arecheap.

If a 1 MHz crystal oscillator is divided by32, the result is 31250 Hz. If this is sent to adivide by 14, and a divide by 10 chain, thenthe results are 3125 and 2232 Hz. Switchbetween the two with an inverter driven bythe data, gate it into an integrator, and onegets the triangular wave to drive the tapehead. This should eliminate stability prob-lems in the two frequencies and should stillbe within the telephone line frequencies foracoustic couplers for phone transmission.Many of us would like to be able to usecheap cassette recorders if possible. Sudingimplies that his filters can be tuned over atleast one octave, and maybe two. If this istrue, R25 and R26 should be reduced invalue and padded with resistors.

However, if considerable variation is pos-sible in frequency, and a long period of eachtone is put on the tape before the program,say 30 seconds each, and a voltmeter wereconnected to IC37 pin 7, then the filterscould be tuned (max volts out) to thefrequencies actually present, and the onlyrequirement on the cassette is that the speedbe within plus or minus five percent for thetime the program is running.

I regret that I do not have the equipmentto try this system, but I am willing to discussit with anyone.

Cecil H Royce

255 S Marion

Oak Park IL 60302

The point about 3125 Hz being com-patible with the phone network may bedebatable; would any telephone engineerscare to elaborate? There is a standard set ofmodem frequencies available, in integratedcircuits yet.

A point about standards which should berepeated: The way to approach the subject isto document what is being done by manu-facturers, with discussions about the virtues(or faults) of the systems. This way, the user(and other manufacturers) are kepi aware ofthe state of the art as practiced in manufac-turable systems. So far, there are two tapeinterface definitions documented in BYTEfor audio use; more will come.

SOME THOUGHTS ON MISCELLANYAND TAPE MODULATIONS

I just finished reading the August issue ofBYTE pretty much cover to cover and asusual found it interesting. I wanted to writelast month but didn't get around to it and Ihave a few tid Bits (BYTES) of informationand complaints to throw out.

One minor bug in BYTE is I wish youguys would put the issue date at the bottomof each page. It makes it rather hard toreference some of the older articles that IXeroxed from a friend's earlier issues.

I thoroughly enjoyed "Jack and theMachine )ive" by Bob Grappel. It's been awhile and I honestly forgot how hashingworks. It was a very interesting and infor-mative refresher course. I am presentlygiving some thought to a "general purposeassembler," one that can be used to assemblecode for more than one micro-widget simplyby changing the lookup tables.

Martin Buchanan's Video Disk article andBurt Hashizume's writeup on the Zilog Z80were also very interesting. The Z80 will mostcertainly become the most popular micro assoon as the price drops to the same magni-tude of power as the 8080 and 6800. I reallylike the maskable and unmaskable interruptsand arithmetic shifts features of the 6800and Z80. Does anyone know an easy way todo an arithmetic shift right using the 8080?But Zilog has outdone themselves with thebit addressing, block transfer (flush instruc-tion) and search instructions. The mode 2interrupt is also the way I prefer to dovectored interrupts, but there are also twoother ways (modes) if you are fussy.

John Baird's comments on the informa-tion revolution are beautiful. We all knowthat BYTE can do what no technical tradejournal can do: Convey practical, down toearth, State of the Art, easy to understandideas. The technical journals have mostlybecome a place for doctorate fellows toshelter a highly technical snow job just tomeet their degree requirements. Decipherand remove the high level math and the guyusually has little information to pass on.BYTE is the source of innovative designideas (hardware and most certainlysoftware).

I was a little upset at Dr Suding's "WhyWait? Build a Fast Cassette Interface" articlein the July issue. His article would lead youto believe that frequency shift keying (FSK)is the only way to fly. Of course any articlewritten by an author writing about a pro-duct he is trying to sell is usually a littlebiased. Dr Suding is obviously an analog manwith his filters and tune up notes. Tweekthis . . . Tweek that. Sure Manchester em-ploys "harmonically related frequencies,"and frequency discrimination techniques justwon't hack it. He has one good point:"Imagine reading 300 baud for 15 minutesto discover a noise pulse had destroyed data,requiring re-recording." This problem existsno matter what recording technique is used.The best solution is to use short datarecords; say 64 bytes (also a good format forlisting). Then if your cassette has backspacecapability you simply back up one recordand try again instead of a complete rewind.Using character, record and file gaps is aworth while consideration for a well man-aged file system. Try to keep the record sizefixed to whatever corresponds to your singleline list device, at least the source state-ments. A file is a collection of records, eithera program or subroutine.

Back to FSK versus PSK: First of allManchester is really phase shift keying (PSK)using square waves instead of sinusoids. BothFSK and PSK require an extra start bit orsync bit equal to a one. Even using theSuding FSK there is no'physical way to gofrom DC (no flux changes at the start of acassette record) to a 2975 Hz signal, a 0without first going through 2125 Hz, a I. DrSuding needs to review his Fourier trans-forms if he believes that only 2125 and 2975Hz frequencies exist in the FSK waveforms.The PSK (Manchester or similar) methodrequires the first bit sent to be definedarbitrarily as a I. From thereafter onedefinition of Manchester may be a zerophase shift meaning no change in the state ofthe data (ie: all) and a 180 degree phasechange in the signal means complement the

76

data state (ie: 10). Another definition is alow to high transition in the center of a bitcell is a 1 and a high to low transition at thecenter of a bit cell is a 0. In any case theManchester code consists of two pulsewidths: full bit cell and half a bit cell width.A digital demodulator needs then to decrimi-nate a 1/2 bit cell pulse from a 1 bit cellwide pulse. This is usually done with one ormore delay elements (one shot or delay line)set at a 3/4 bit cell reference point. TheManchester or similar codes potentially havea faster data rate than FSK.

For example, say the upper recordinglimit on a cassette was 2 kHz. The Man-chester data would be recorded at a1000 bits per second rate. The two pulsewidths of 1 msec (half bit cell) and 2 msec(full bit cell) would be involved. One bit cellonly requires 1/2-1 kHz cycle or 1-2 kHzcycle per bit cell. The FSK technique usingfilters I doubt seriously would be able torespond to a 1-2 kHz cycle pulse. It wouldcertainly require a bunch of 2 kHz cycles(the modulating frequency is obviously gotto be less than the carrier). Even if it coulddetect a 2 kHz signal in 4 cycles, say, thenManchester beats the FSK 4 to 1 in re-cording density (speed).

Also since there is always at least one fluxchange per bit cell using Manchester orsimilar self clocking code, the demodulatorcan correct for variations in tape speed byadjusting its 3/4 cell reference either using aphase locked loop (PPL) (see "ImprovedCassette Interface Circuit" by Hal Mauch,page 8, April 1976 BYTE) or a program-mable counter or even a software trackingroutine.

A software routine could count the num-ber of elapsed clocks since the last fluxchange (phase detector) and decide if it wasa 1/2 cell or full cell change. It could takethis number, subtract it from what it wasexpecting for a 1/2 or full cell clock count,then average the error over previous samples(low pass filter) and make a correction(prediction actually) to what the next 3/4cell reference should be. The routine wouldbe realizing what is called a sampled phaselocked loop. The only readback hardwareneed only be a limiter similar to Dr Suding's.The rest could be software. If a datatransmission is going on, the micro is prob-ably not doing anything but waiting aroundfor the character to shift out anyway.

Frank BennettHughes Aircraft CoDisplays LabFullerton CA 92634One way around the tape interfaceproblem is the obvious one, a point raised inyour letter which we emphasize here: Withthe proper general purpose signal condi-tioning hardware to convert AC coupledsignals into TTL digital levels and vice versa,nearly any modulation method can be gener-ated and decoded using simple algorithms.Several computers currently being marketeduse such generalized hardware backed up bysoftware in PROM monitors. These includethe new Apple computer, BABY by STMSystems, etc.

SOFTWARE

People want software. There are about1,000 computer programs in the public

domain. They are available to anyone —including hobbyists - at cost. These pro-grams include all of the common computerlanguages. They obey the instructions ofmost terminals.

There is no need to reinvent the wheel —again, and again, and again.

The above programs may be readily trans-lated into 8080, 6800, F-8 6502 micropro-cessor instructions. There are no restrictionson revising these programs. There are norestrictions on distributing them. They are inthe public domain.

Why don't you do yourself, yourcustomers, your subscribers, and thousandsof others a grand favor, and write forinformation from

Documents Office

Kiewit Computation Center

Dartmouth College

Hanover NH 03755

Edward L Tottle

2993 Yorkway

Baltimore MD 21222

HOW TO WIN AN ELECTION

As a professional software engineer (afancy term for a programmer), I receive agreat many computer related publicationseach month. I am six months behind inreading Communications of the ACM, twoissues behind of Computing Surveys, fourback of Computer Design; and I don't evenwant to think of how far of ScientificAmerican. But every month, as soon as itappears in the mailbox, BYTE gets readfrom cover to cover.

In the free market, there is one sure wayto show one's appreciation for a product.Enclosed is my renewal for three more yearsof BYTE. Keep up the good work.

Howard L Turetzky

HYDRA

1575 IvanhoeSt

Denver CO 80220

PS - This letter was typed on an IBMSelectric IO writer driven by an Altair 8800,so blame all the typos on the computer.

OLDE ENGLISHE

I have been on a crusade over the pastfew years, trying to discover the true originof the word "byte," but my efforts havebeen unsuccessful. I have begun to thinkthat the origin is lost, but I have decided onone last attempt.

Since the name of your magazine happensto be the very same word that has been thesource of my frustration, I am hoping thatyou can shine some light on the origin ofthis small word. I have looked in just aboutevery textbook that I can get my hands on.

If you can provide some relief to myplight, it would be most appreciated. Thankyou for your trouble.

Thomas P Bishop

PL/C Project Manager

Department of Computer Science

Cornell University

Ithaca NY 14853

/ first ran across an etymology of theword BYTE in a book I read on the IBM"Stretch" computer borrowed from an asso-ciate of mine at Intermetrics Inc, where Iworked prior to founding BYTE. In thatbook, which was published in the early 60s,a research precursor of the IBM/360 serieswas being described. The "Stretch" com-puter (if I remember correctly) had a largebit addressable memory, in which the termbyte was an arbitrarily coined word used toreference an arbitrary bit string field oflength "n". The term at that time was meantas a generalized concept of a bit stringsubfield. When the 360 came out, all thatchanged, since after System/360, almost allpublished literature references 8 bit bytes.Perhaps a reader can supply a more defin-itive answer to the question of the termBYTE's origin, and some of the history ofthe early "supercomputer" work followingthe "second generation" transistorized com-puters of the late 1950s and early1960s. . . .CH

FLEXOWRITER FLEXIBILITY

H89l SonGBiRd Dr.

Coluitibus, Ohio U322931 July 1976

DtaR Sirs,

I see a numBER of compLainTS asouT the iaoK or REasonaBiE

pRiCEd 10 dEviCEs avaii.aBLE which will pROducE naRd copy.

This letter is beitig TYpEd on a FRidEn Flexwriter I puRCHasEd

for $200 uSEd. There aRE many avaiLaBLE for less. As you

can see it Has an aTTRacTiVE typ FaCE an both uppER and

lower cast,, IT Has a papER TapE puncH and REadER., but a very

door typist. It Runs asouT 10 cps. Although it is nOT connECTER

to a compuTER aT the pRESEnT it Has connECTions for daTa inpuT.

l( RaTHER mY sec ) uses it for a lot of rep letter WRiTinG.

I am sure somEOnE couLd work out the pROBLEms Of canncdinG it up.

The papER Tar>E is a SEVEn TRacx Taor.

SmcE rely, _

Sounds like an excellent hard copy deal.

Lawson F. Pierce

77

Make YourNext Peripherala Real Eye Opener

Steve Ciarcia124 Hebron AvGlastonbury CT 06033

Photos by Ed Russo

Have you ever gone to a party and beenentertained with some party game which thehost introduced to impress his guests andsalvage an otherwise boring evening? Ameri-can life is built upon a succession of gim-micks. We feel we have to be entertained toexist and cannot just have a good, dull time.An example is the success of television as theuniversal babysitter and now all these overlyexpensive television games.

Excuse my "Holier Than Thou" attitude,but I'm no different than the rest of thepopulation, including having one of thosestupid TV games. What I'm trying to lead upto is to introduce a microprocessor drivenvector graphics display controller which canbe built for $60 or less.

Some history is in order. About eightyears ago, I was at MIT for a conference andspent some time touring the campus. In thecorner of one room in an otherwise desertedcomputer center was a large, intensely in-volved and vociferous crowd. Above theusual crowd noise were heard shouts of"Shoot your phasers now!", "Watch out forthat meteorite!", and "He's in the spacewarp!". Because I usually avoid crowdsbecause of something my grandmother oncesaid about the correlation between crowds,fleas, and bubonic plague, I fought off theurge to investigate further. But, after hear-ing, "His antimatter engines are done — blasthim out of the sky!", and tumultuousapplause, my curiosity could take no more.It took about five minutes of pushing andshoving to make it through the 15 deepcrowd to get close enough to see what wasgoing on. There were two people sitting inaircraft type chairs holding what appeared tobe small control consoles. They and theentire crowd were intently watching a 21

78

Figure I: Raster Scan versus Analog Vector Graphics. For a given grid size and a figure covering a particular area (such as 4 by 4or 8 by 8), the analog vector graphics method will give a better picture, where better is defined as a closer approximation of thefigure desired.

T+■

= IDEAL FIGURE

7\

/

a. Drawing a circle with a slant line through it isunrecognizable on a 4 by 4 grid of raster dots, but quitebelievable when drawn on a 4 by 4 vector graphics grid. Aline drawing of the "ideal" circle with slash overlays theapproximations for reference.

•

•

•

.*.-

*

•

t

•

•

•

X

/•

\

/

1

•

•

//

•

\

1

\

•

•

/

•

•

>

.\

V

•

•

•

•

•

•

•

/

*

•

/

•

,-v.

•

•

•

•

-

.—

~*t

•

/

•

/

•

•

X

1

*

•

•

/

\

i

•

•

•

/

•

\

|

\

\

•

•

•

•

/

\

• \

•

/

•

'

•

/r

•

X

•

•

//

•

/

■*-

—'

s

•

•

b. Drawing a circle witha slant line through it is acloser approximation onan 8 by 8 grid of rastersplotches, but the 8 by 8equivalent vector linedrawing has a still closerapproximation to thedesired circle and line. Aline drawing of the "ideal"circle with slash overlaysthe approximations forreference.

— = IDEAL FIGURE

c. When it comes to detailed graphics, thevector method is a real winner. Here is acartoon figure rendered on a 16 by 16 gridin both vector and raster scan dot matrixform. The contrast in effective resolution ofthe two methods is enhanced by the juxta-position of the two versions in this overlay.Note that within the same coordinate grid,the vector graphic version is able to representsome limited alphanumerics, impossible toeven attempt in the raster graphics version.

A ' A

%A~

J . J

. V . _

« . JJJ * Hjj-

V1 \/\/\

/ V \/ ^i '

i K-f\f\/.

\ AA / '

v • <

\ %

"i-- •£-•

■f-1*

^ S

* Tk. *

jr • • » •

• • • • •

» • \f

^A

AA— 4-

• •

L- • —_S

_^ . T

N .

. . .

*tt—

VECTOR GRAPHICS FIGURE

79

inch black and white TV screen upon whichthere was a scene depicting a star-studdedspace and two rocket ships. It becameobvious very soon that they were playing"Space War," and the only rules were toshoot the other guy out of the sky (Do UntoOthers. . .), while not getting wiped outyourself. There were certain limitations onfuel and armaments which made the game allthe more interesting.

I stood and watched this for three hoursuntil I jockeyed myself into position to graba control console from an exiting player. Allright, you guys, let's play Space War! Iplayed for what seemed to be an instant onthe time continuum; but it was obviouslytoo long in the crowd's opinion because,when some little kid started pulling one ofmy socks down and I let go of the controlconsole to retaliate, I was six deep in thecrowd again before I regained control. I dideventually get another try, but I was already

RASTER SCAN GRAPHICS - SUMMARY OFADVANTAGES AND DISADVANTAGES

Advantages

1. No software refresh — computer can load adisplay once and continue other duties.

2. Fully digital — does not require any analogconversion or associated "tweeking" ofcomponents.

3. Requires no special display tube — uses tele-vision monitor.

4. Can be color — by using added storage,color or gray tones can be assigned to eachelement or group of elements.

5. No limit to total display quantity — sincestorage is provided for all points it isirrelevant whether they are shaded or notand does not affect display refresh time.

6. Inexpensive — in limited forms, raster scanuses inexpensive televisions or monitors.

Disadvantages

1. Not a pure line display — display is a con-nection of shaded squares and not linesegments.

2. Must provide memory for total dis-play - for a 256 by 256 point display, 8 Kbytes of memory must be provided even ifonly one element is being displayed.

3. Must use either an external memory ordirect memory access — the composite videosignal necessary for raster scan requires adata output rate beyond the capability ofthe processor itself. Special controllers mustbe provided to either access standard pro-gram memory directly by DMA or scan anexternal display buffer which can be peri-odically changed by the processor to cor-respond to changing displays.

4. May require fast memory access — in DMAusing cycle stealing, memories having accessspeeds of 250 ns or better may be required.(With a dedicated buffer memory or multi-port memories, 2 us access is typicallyrequired.)

a confirmed "Space War" freak. I wasdetermined to have one of my very own thatI could play until my heart was content.

The realization of this dream was, ofcourse, to be postponed until just recently.It is now possible for the computer experi-menter to put together a system with capa-bilities rivaling computers costing manytimes more. The LSI microprocessors whichhave become increasingly available at modestprices have started a boom in the homecomputer field with price wars inevitable.The major reason that these small computershave realized so much computer power isthat designers have tailored their designs toutilize existing hardware which is availablereadily. Consider mass storage, for example.Talk to IBM or any "traditional" computercompany about mass storage and your dis-cussion will lead to a $30 K tape drive andcontroller with reams of wonderful toler-ances and grandiose specifications. This willprovide an unparalleled mass storage capabil-ity, but most people would be upset justconsidering the electric bill. The alternativewas, and is, to incorporate the principlesthat make the "biggies" so good, but make itcheap enough so the average person wouldnot go into cardiac arrest over the price.American ingenuity had the answer. Developa sophisticated, yet simple modem on acheap printed circuit board which allows theowner to use his kid's cassette tape recorderto store data. Thus came the invention ofthe $100 mass storage system.

There is a moral to all this. The initialsuccess of the home computer system can, inlarge part, be directly attributed to inexpen-sive peripherals which utilize readily avail-able surplus equipment or home entertain-ment devices such as tape recorders andtelevisions. The television typewriter, other-wise called an alphanumeric CRT display, isonly $150 because it uses an already existingtelevision.

Raster Scan Graphics

There is an unfortunate lack of sophisti-cated peripheral devices beyond these few,and applications using these are limited. TheSpace War game previously mentioned re-quires a graphics CRT terminal upon whichthe players and playing field may be dis-played. The home raster scan television, suchas that borrowed for an alphanumeric CRT,can be used; but the display is overlycomplicated and will appear as a connectionof blocks rather than pure line segments.There are many raster scan graphics systemsnow on the market but all exhibit this"block" phenomenon, which in the simplestterms is a function of the resolution. A low

80

resolution display will have a limited numberof large blocks and a high resolution displaywill have a great quantity of small blocks.Making various blocks light or dark is whatconstitutes a picture. Figure 1 illustrates acircle drawn on a screen with 16 elements(4 by 4) versus one which has 64 (8 by 8)elements. The lower the resolution of thedisplay medium, the less recognizable thedisplay. For true graphics detail necessary inapplications such as game boards and pla-yers, high resolution on the order of256 by 256 is required. This leads to anotherinteresting problem: display storage andaddressing.

Raster scan graphics is nothing more thana sequential video display of mass memory.The "mass" in mass memory is a function ofthe resolution. If the display has a total of64 elements, 8 bytes (8 bits each) ofmemory are required for storage. If thedisplay were 64 by 64, there would be 4096picture elements requiring 512 bytes ofmemory. It is important to remember thatthe entire 512 bytes is necessary regardlessof the picture being displayed. Within thisdisplay storage, each bit has to have a uniqueX and Y address: For a 64 bit display X andY could each be defined with 3 bits; for a4096 bit display 6 bit X and Y addressesare necessary.

Most home computers are 8 bit machinesand obviously work most efficiently with8 bit manipulations. Taking full advantage ofthis and defining 8 bit X and Y displayaddresses results in a very respectable 256 Xby 256 Y display grid containing 65,536elements. This corresponds to 8 K 8 bitbytes of memory. [See the article byThomas R Buschbach on page 32 of thisissue for an example of such a design.]

Going from the memory to the screen isanother problem and requires a special con-troller to translate the memory into videoinformation. Horizontal scanning rate of atelevision is 15.75 kHz which is 63 jus. If ahorizontal line is to be divided up into 256elements, each must be scanned and outputto the TV one every 250 ns. Even if address-ing and output were handled 8 bits at a time,the rate will still be one byte every 2 pis.Very few microprocessors are capable ofdoing this. There are two methods ofacquiring this data. First is to have adedicated 8 K memory in the graphics con-troller which is synchronously scanned bythe video output generator and asynchro-nously updated via the output ports of thecomputer. This method, though easiest froma design perspective, is the most costly dueto the extensive memory used only for thegraphics controller.

ANALOG GRAPHICS - ADVANTAGESAND DISADVANTAGES

Advantages

1. Does not require extensive memory — totalmemory required is whatever is necessary tostore all the beginning and end points of theline segments to be displayed. Blank areasdo not require storage.

2. High resolution and low cost — a simplecontroller is designed around low cost DACsand an analog display does not exhibit"staircase effect" on diagonal lines.

3. Uses available test instrument as display —an inexpensive oscilloscope or other X,Ydisplay may be used as a display medium.

4. Does not require fast memory — any storagemedium having a byte access time of approx-imately 100 jus is adequate. Can use shiftregisters, delay lines, etc.

5. Resource conservation — gives the authorsome reason to use his 8008 system since hebought an 8080A.

Disadvantages

1. Software refresh — the processor mustperiodically rewrite data on the screen tokeep it from fading. Refresh rate is afunction of processor speed and the totalnumber of line segments in the display.

2. Uses analog circuitry — all analog circuitry issubject to drift and to temperature andother external influences. These variationscan be minimized through proper design andconstruction.

The second method which is used mostoften in the graphics industry is called directmemory access. 8 K of memory is stillrequired for the 64 K element display, but itis attached to the computer. It is directlyaddressable at all times and not externallylocated in the graphics controller, so thatwhen the graphics option is not in use, this8 K is utilized as any other portion ofmemory. When using the graphics operationthis 8 K will contain the bit pattern displayof the screen and be shared between theprocessor and the graphics controller. Directmemory access means just what it says. TheDMA controller directly addresses and readsmemory when the processor is not doing so.In most microprocessors this sharing can bedone either by suspending the processoroperation with hardware DMA request andhold logic or by accessing memory on clockcycles when the processor is doing some-thing else. Suspending processor operation iseasiest from both a design and componentstandpoint but least effective when simul-taneously running large programs. In a rasterscan display, the processor would be shutdown and memory read out 30 times asecond to correspond to the non-interlacedupdate of standard television. The only timethe processor would be allowed to run

81

would be during vertical retrace which isapproximately 4 ms out of every 33 ms.Therefore about 400 instructions (in an8080A) could be run every frame. This isquite acceptable for most non-iterative pro-grams, but it would kill response in inter-active Space War type games which do a fairamount of number crunching. Modificationsto this method can extend processor timesomewhat but they become involved. DMAutilizing "stolen" clock cycles or added waitcycles is the most effective technique since itdoes not significantly reduce processorcalculation speed. Not all microprocessorsare capable of doing this, though; and manymore design constraints are involved. An-other method which avoids waiting by theprocessor is to use amultiport memory withpriority allotted to the processor. This leadsto some picture breakup during updates butallows the processor to run at full speed.

Some such form of direct memory accessis the much preferred system for highresolution raster scan graphics but can bevery expensive when considering the quan-tity of memory necessary for displaystorage.

Analog Graphics

For those of you that haven't ordered araster scan graphics controller after readingthe previous dissertation, I would like topresent the other side of the story: analoggraphics. Usually the thought of anythinganalog associated with a digital computer isabhorrent to the purist. Remember, beforethere was digital there was analog; and eventhough it's hidden, analog's still there. Thesuccess of digital systems is based upon theirability to evaluate an action or output avalue repeatably with no deviation fromprevious occasions, given constant inputdata. This is inherent in the machine struc-ture, since it can only exist in either of twodiscrete states: 1 or 0, on or off, etc. Analogon the other hand can be influenced byexternal conditions such as temperature andpower supply levels, etc, and is repeatableonly within a more or less closely definedtolerance band. Industry has been tighteningthis tolerance band in recent years to such apoint that analog circuitry becomes tooexpensive and digital methods are imple-mented. Too often, though, the "bandwagon syndrome" prevails. Many applica-tions which can be adequately accomplishedusing analog techniques have been convertedto digital. In most cases this unnecessaryconversion to digital can be very costly andrequires expensive support equipment. Thetolerance tightening which makes an in-dustrial manufacturer use only digital does

not exist for the home computer enthusiast.Many applications can be more cheaply donewith analog. A prime example of this isgraphics.

Analog graphics is a method which con-verts digital data stored in memory tovoltage levels proportional to that value.Two of these digital to analog converterswould be incorporated to provide two simul-taneous outputs which represent physical Xand Y coordinate locations on a displayscreen. The display's X and Y full scaledeflection would be directly proportional tosome analog constant times the digital valuein the memory location being accessed. Thedisplay medium is an oscilloscope or similartwo dimensional proportionally deflecteddisplay.

As was the case with raster scan graphics,analog graphics has both its advantages anddisadvantages. The most pronounced advan-tage is the display method itself. Two bytesof memory converted to analog X and Ypositions define the starting point of a linesegment and two more set the analog valuesof the end point of that segment. Whentriggered by the controller a line will bedrawn between these points. Four bytesdefine the entire line regardless of the length(within the limits of the screen dimensionsof course). There is no need to define andstore points along the line, only the begin-ning and end point. When using an 8 bit Xand Y addressing system there are 64 K totallocations between which line segments maybe drawn. The path between any two pointsis direct line and need not coincide with anaddressable point location. This results in anextremely high resolution display eventhough it is only 256 by 256. This meansthat in a diagonal line there is absolutely no"staircase effect" inherent in a raster scandisplay. This and relative low cost are thechief advantages.

The major disadvantage of this system isthat it requires software refresh. When begin-ning and end points are sent to the con-troller a line is drawn — once! It will be seenbriefly on the screen and quickly fade unlessit is refreshed. The computer must dowhatever it has to do and get back to thegraphics driver program and write the sameline segment again before it fades. This timebetween refreshes is a function of phosphorpersistence, a characteristic of the CRTbeing used. 25 to 40 ms is usually themaximum and if exceeded will result indisplay flicker. (Storage tubes exist withlonger time constants, but at much higherexpense.) The number of lines which can bewritten and refreshed is a function of proces-sor speed. The faster the processor, the

82

sooner it will be able to write a screen, do itsown thing somewhere else, and return tostart writing the screen again. All the dis-plays in this article were driven by a slow8008 processor (not an 8008-1) system andabout 120 lines could be drawn before anyflicker was perceptible. This was using aworst case programming technique (the oneI'm best at) which I'll explain later. Fasterprocessors would of course increase thenumber of lines capable of being displayed,but would have to have some delay loops inthe software so as not to overdrive thegraphics controller. The digital to analogconversion does take a little time.

An Analog Graphics Controller

The circuit for such an analog graphicscontroller is illustrated in figure 2. Thiscircuit is based upon a design originallyproposed by Hal Chamberlin in the firstthree issues of The Computer Hobbyist.Modifications and additions have been incor-porated to allow more ease in calibration.The circuit consists of three major sections:digital input latches, digital to analog con-verters, and vector generators.

Since the graphics controller is softwaredriven, possibly the software side is theeasiest starting point. Positioning and draw-ing a line on the display is accomplishedthrough four output commands from theprocessor. These commands are not somenew processor instructions but rather de-coded output strobes which transfer 8 bitposition data from the accumulator to thecontroller's input latches IC1 to IC3. Thesefour strobe commands are appropriatelyreferred to as X-MOVE, Y-MOVE, X-STORE, Y-DRAW. In actuality, X-MOVEand Y-MOVE are the two bytes of datawhich define the starting location of a linesegment while X-STORE and Y-DRAW isthe end point of that line segment. There arefour separate outputs necessary because weassume an 8 bit machine and 16 bits of XYpositional data is needed to define a pointon the screen. Obviously, in a 16 bitmachine, this process could be reduced totwo output instructions. Extra decoding isoften not necessary. Many microprocessorsystems like the Scelbi series provide extradecoding logic on the back plane wiringwhile not mentioning it. The usual clue is tocheck the IO decoder board in your systemand look for an appropriate decoder chipsuch as a 7442 or 74154. Often only acouple of output strobes are utilized on thechip. In the case with the 7442 used in theScelbi, the extra strobes allow quick unag-gravated hookup to the four necessary forgraphics.

IC4 and IC5 are 8 bit digital to analogconverters. Their function is to convert the 8bit position data into a current which isproportional to that value. IC6 and IC12 arecurrent to voltage converters. The MotorolaMC 1408-L8 consists of a reference currentamplifier, an R-2R ladder, and eight highspeed current switches. A resistor between areference voltage and pin 14 is set toproduce a reference current of approxi-mately 2 mA. The R-2R ladder divides thereference amplifier current into binaryweighted components which are fed to theswitches. The output current from pin 4 willbe proportional to the binary input to theconverter. For example, if the binary inputwere equivalent to 128 decimal, then theoutput current would be (128/256) *2.0 mA which equals 1.0 mA. The currentto voltage converter is set to produce —2.5 Vfor a 00 000 000 binary input and +2.5 Vfor 11 111 111. Exact calibration procedurewill be given later.

The heart of an analog graphics con-troller is the vector generator. This circuitdoes the actual drawing of the line on thedisplay. Merely setting a starting locationand jumping to an end point will not work.The beam's transition between the pointswould be so fast as to leave only a very weaktrace if any at all. A vector generatorprovides a consistent drawing time of approx-imately 100 us, allowing for a very brighttrace.

Actually drawing a line segment is asimple series of events. First, the processoroutputs sequentially the X and Y startingposition coordinates with the X-MOVE andY-MOVE commands. These values are storedin IC3 and IC1, respectively, and cause thedigital to analog converters IC5 and IC4to follow suit. Within 3 /is, IC6 and IC12 havesettled out to a voltage representative ofthese coordinates. IC10 and IC11 are analogswitches which route the raw X and Yvoltages through the vector generator. TheseCMOS switches, equivalent to SPST, are inthe off state when their control terminals areat a potential equal to Vqq (—7.5 V) and onwhen it is at Vs$ (+7.5 V). IC19 is a voltagetranslator which converts TTL switchinglevels to those necessary for this CMOSdevice. An alternate circuit to replace theDM8800 is also provided.

In the quiescent stale switches SW1 andSW3 are on and switch SW2 is off, as con-trolled by signals T1 and T2. This allowsthe output of the vector generator to beequal to the coordinate position of thebeginning of the line segment. The trace isblanked at this lime so the dot does notappear on the screen. Next, X-STORE then

83

COORDINATELATCH

8 BIT

OUTPUT BUSFROMPROCESSOR

*£5_

_D3

O^f

NOTE;BUFFERING WILL BEREQUIRED WHEN USINGA TYPICAL PROCESSORDATA BUS.

ICI74100

IDIID22DI2D2ID3ID42D32D4G

1011022012021031042032042G

INPUT

LATCH

IC2

74100

IDI

101

ID2

102

2DI

201

2D2

202

ID3

103

ID4

104

2D3

2Q3

2D4

204

IC4MCI408L8

PROCESSOR

OUTPUT

STROBES

NOTE:DATA MUST BE STABLEDURING HIGH STATE OFSTROBES.

R28680ft1/2 W

VOLTAGE

REFERENCE

GENERATOR

CMOSSWITCHPOWERSUPPLY

+ I5VD-

AT

R29

330ft

1/2 W

-WV

"T IN75IX 5.1VI 400mW

1J

CI8I00M FI5VDC

VREF■♦ +5.IV

POWER BUS

POWER SUPPLY REQUIREMENTS

+ 5V

@

250 mA

+ I5V

@

100mA

-I5V

@

100mA

'D2IN755

1

■ +7.5V POWER BUS

CI9

100/iF

fc

'D3IN755

^-rs 100/I 15V

* T C2C

-I5V O-

-1

20

100/iF5V

R30

330ft

I/2W

-7.5V POWER BUS

ALTERNATE CIRCUITFOR EACH DM8800SECTION

Figure 2: Schematic Diagram of a Vector Graphics Controller. This circuit will produce signals with a range of-2.5 V to +2.5 Vfor use in driving a standard XY oscilloscope with bandwidth greater than 100 kHz. The power supply wiring of digital

84

NOTES:

1. Resistors are 1/4 W, ± 5% unless notedotherwise.

2. All variable resistors are trimpots.

3. Capacitors are ceramic, 100 V minimumunless noted otherwise.

•Polystyrene or polycarbonate.

•R22.1000

2C 2RC

EXT EXT

2CLR

ICI674123

,. I0MSEC

ICI774 121

100/iSEC

Y OUT TOIS PLAY

R271000

*—v*/v—♦

•CI7'390pF

integrated circuits used in this circuit is summarized in table I. (Analog integrated circuits have their power wiring indicated inthe diagram. These circuits are listed in table 1 but have no power connections indicated.)

85

Table I: Integrated Circuit List. This tablegives each integrated circuit required infigure 2, along with its device type and, inthe case of the CMOS and TTL digitalcircuits, power wiring pins.

TTL power CMOS power+5 V GND -7.5 V +7.5 V

IC1

74100

24

7

IC2

74100

24

7

IC3

74100

24

7

IC4*

MC1408-L8

13

2

IC5*

MC1408-L8

13

2

IC6*

LM301A

—

IC7*

LM301A

—

IC8*

LM301A

—

IC9*

LM301A

—

IC10

CD4016

—

IC11

CD4016

—

-

IC12*

LM301A

—

IC13*

LM301A

—

-

IC14*

LM301A

_

IC15*

LM301A

—

IC16

74123

16

8

IC17

74121

14

7

IC18

7410

14

7

IC19

DM8800

10

3

IC20

7404

14

7

IC21

7437

14

7

14

14

*Analog circuit connections are indicated infigure 2.

Y-DRAW are executed. X-STORE loads theX coordinate of the endpoint into IC12where it stays for the moment and doesnothing. When a Y-DRAW is executed, thewhole unit comes to life. Y-DRAW loads theY endpoint coordinate into IC1 and trans-fers the contents of IC2, the X coordinate,into IC3, and both X and Y converters startto settle toward the endpoint value. Simul-taneously with this action, switches SW1 andSW3 are turned off by T1, keeping the beamposition where it was. After about 10 /us,switch SW2 is turned on by T2, the beam isunblanked and the output of the vector-generator starts moving toward the endpointvalues. This transition or drawing time isapproximately 100/is and is a function ofthe endpoint adjustment on IC17. It shouldbe noted that the movement from the oldvalue to the new value is an exponentialfunction adjusted through the slope con-trols, but the lines between points will bestraight since both X and Y are charging in asimilar manner, though the velocity (hencebrightness) of the beam does vary a bit frombeginning to end. At the conclusion of thedraw cycle, the beam is again blanked andthe controller is ready to draw the next line.(The beam will be positioned wherever it

NOTES ON CALIBRATING THISGRAPHICS CONTROLLER

Static Calibration

1. With all components except integrated cir-cuits inserted and mounted, and presumingthat you have no direct shorts, attach thecontroller to + and —15 V and +5 V andturn it on.

2. Using a meter, check to see that the rightsupply voltages are on the appropriate inte-grated circuit pins. Check to see that Vpjefis approximately 5 to 5.1 V and that the +and —7.5 V Vprj and Vss supplies arecorrect. If substituting parts, don't use azener any higher than 7.5 V since it coulddamage the CD4016s.

3. Insert only IC1 through IC3. Using eitherhard wire jumpers, switches or a computerprogram to drive the data bus lines B0through B7, take note that when the businputs are all high, pins 5 through 12 ofIC14 and IC15 are also high. Grounding alldata bus inputs should result in low levelson these pins. It is a good idea to go downthe bus one pin at a time to make very surethat all input lines end at the correct DACpins, otherwise the digital to analog conver-sion will be incorrect.

4. Turn power off. Insert the DAC IC4 and opamp IC6. Attach a meter to read the voltageat pin 6 on IC6. Set the bus input switchesor programmed data value to provide abinary code of 10 000 000 (200 octal).Turn power on and adjust the zero pot (R3)on IC6 until the output at pin 6 reads zero

volts. Change the input code to 11 111 111(377 octal) and adjust the span pot (R6)until the output is +2.50 V. Setting an inputof 00 000 000 (0 octal) should result in—2.50 V out. The same procedure is used tocalibrate IC5 and IC12. (Zero with R14,span adjust is R17.)

5. Turn off power. Insert IC16 through IC21.Temporarily, ground pins 1, 3 and 5 ofIC20. Turn power on. Using either a push-button or cliplead intermittently groundIC20 pin 7 simulating a Y-DRAW strobe. Ascope should be used to determine thatIC16 pulses for about 10 its and thentriggers I CI 7 which lasts for about 100/us.Control lines T1 and T2 should cyclebetween +7.5 V and —7.5 V correspondingto their TTL inputs.

6. Turn off power. Insert all the rest of theintegrated circuits (be careful of the CMOS)and temporarily remove IC21. Reapplypower and use the method in step 4, buttake note that pins 6 on IC9 and IC15 areequivalent to IC6 and IC12 respectively.Turn off power, reinsert IC21. This con-cludes static checkout.

Dynamic Calibration

1. Unless you have super fast fingers onmechanical switches, a computer is neces-sary for dynamic checkout (while it isoptional in static checkout). It is necessaryto write a short program which outputs tothe controller the full scale coordinates of asquare with two diagonals (see figure 3).

86

was left from the last line segment, so it ispossible to reduce software overhead con-siderably on continuous line graphs by justissuing a series of new endpoints.)

Maximum drawing rate can easily bedetermined for those who wish to use afaster processor. Each voltage converter re-quires about 3 to 5 jus to settle out and adraw cycle takes 110/its. This means that5 /us at least must be allowed between inputof the beginning and endpoints and 110/USmust lapse before starting the next linesegment. With an 8008 such as I used, thereis little possibility of driving the controllertoo fast, but with an 8080A system a delayloop may be necessary between segments.The next step is to do some cartooning withsoftware.

Obviously before we can get too carriedaway discussing graphics software you mustget your controller calibrated and working.The procedure outlined in "Notes onCalibrating This Graphics Controller" shouldresult in the best chance for success.

Now How Do I Use It?

Now that the hardware of vector graphicshas been conquered, you should be ready

This square is all that is necessary to checkout the remainder of the controller inter-face. (The X, Y and blanking outputs of thegraphics controller have to be connected toan appropriate display. Any XY oscilloscopewith a 100 kHz frequency response and anexternal horizontal input capability willsuffice. The controller has to be connectedto the output data bus and four decodedstrobe lines.) The software which draws thecalibration square is quite simple and con-sists entirely of outputting a list of co-ordinates stored in memory. The program oflisting 1 was written for an 8008 system butis easily adapted to others.

2. If upon first turning on the display youobtain a perfect square with the diagonalmeeting in the corners, go have a martiniand relax, you're done (see figure 1c). It ismore likely that the displays will onlyvaguely look like a square. If the linesegments are too long or are too short anddon't meet in the corners, adjust the endmatch adjustment, R24, on IC17, untilperimeter segments (disregard the diagonalsat this point) meet in the corners.

3. Next, fiddle with the slope adjustment pots(R10 and R21) until the diagonals meet inthe corners. Any problems in accomplishingany of this is probably a result of thefollowing: Frequency response of the opamps is too low (don't use anything slowerthan a 301 A); the RC time constant of theslope adjustment is inadequate; yourCD4016 crapped out; or your program isoutputting incorrect coordinates.

to write some simple display routines. Any-one owning a home computer system isalways at a loss to justify it to friends andfamily who continually ask what purpose itserves. By using a little psychology andrealizing that these people identify mostoften with Mom's apple pie, McDonald'sand Star Trek, a little ingenuity can go along way. Graphics goes a long way inimpressing nonbelievers, especially when thecomputer is generating a picture of the USSEnterprise, shown in photo 1.

Drawing the Enterprise entails a program(see listing 2) which is very similar to thatused for calibration (listing 1) except thatthe point list is longer so the program iswritten to accept variable length lists. Thereare many methods to program graphics. Theeasiest from the software point of view, butthe worst for drawing speed and totalnumber of lines, is to treat each line as anentity in itself. Four bytes would define theline segment as in listing 1 's data table. Thisis required wherever it was placed on thescreen, disregarding those displays whichappear continuous as would be the case of asquare or a triangle. As a specific example,12 bytes are required to store the coordi-nates of a triangle when the three sides aretreated as three line segments. Only 8 arerequired if a continuous drawing techniqueis incorporated. The problems arise when adisplay is made up of both disjointed andcontinuous lines. The program can bewritten to output one list of continuous

Figure 3: Vector GraphicsTest Pattern. The vectorgraphics generator iscalibrated dynamicallyusing a program like theone in listing I, to producea 6 segment square withdiagonals at the extremesof the display grid of 256by 256 points. In this fig-ure, the vectors are identi-fied, and octal coordinatesof the endpoints areshown in parentheses.

(000,3

77)

VECTOR NO. 3

(37"

f\

\VECTOR NO.6

VECTORNO. 4

/VECTOR N0.5

I

/

w

VECTORNO. 2

(OOO.OOO)

VECTOR NO. I

(377,000)

87

Photo 1: The author's Sanders 708, a surplus vector graphics display, shownportraying the Star Ship Enterprise using data of table 2 and figure 4. Thelettering is not included in table 2.

Listing 1: An 8008 Program to Generate the Calibration Pattern. The listinguses original Intel 8008 mnemonics; the data table at the end of the listingcontains two bytes of starting coordinate followed by two bytes of endingcoordinate for each point in the pattern.

lines and then jump to a list of separate linesegments. This is the obvious method toaccomplish graphics using a slow computerand lengthy display lists. Some problemsarise when trying to translate such a picturefrom one point to another. A way of dealingwith the problem of translation of pictureelements from one location to another wassuggested by Richard Lerseth in his article,"A Plot Is Incomplete Without Characters"on page 64 of July's BYTE. His technique isto use picture elements specified as a seriesof relative coordinates, to which the X andY position coordinates are added at the timethe image is displayed. (His method alsoinvolves economizing storage by using linkedchains, but that is a slightly different issue.)When using a fast processor such as an8080A or Z-80, the time required for aroutine to do simple 8 bit additions for Xand Y coordinates should be about the same(order of magnitude, 100/js) as the vectordrawing time of the circuit in figure 2. Forthose of us who have slower first generationprocessors, use of separate line segment listswith absolute coordinates calculated in ad-vance may be a requirement if the screen isto show a complicated picture without

Split

Octal

Addr

Octa

Code

Label

Op

Operand

Commentary

001/000

056

001

START

LHI

H(TABLE)

Page address, data table;

001/002

066

040

LLI

L(TABLE)

Byte address,

data table;

001/004

307

XFERLOOP

LAM

A := XMOVE

value;

001/005

143

OUT

XMOVE

Perform XMOVE output;

001/006

060

INL

Point to YMOVE value;

001/007

307

LAM

A := YMOVE

value;

001/010

147

OUT

YMOVE

Perform YMOVE output;

001/011

060

INL

Point to XTORE value;

001/012

307

LAM

A := XSTORE

value;

001/013

145

OUT

XSTORE

Perform XSTORE output;

001/014

060

INL

Point to YDRAW value;

001/015

307

LAM

A := YDRAW

value;

001/016

151

OUT

YDRAW

Perform YDRAW output;

001/017

060

INL

Point to next YMOVE value

001/020

306

LAL

A := L [checklow order] ;

end address

001/021

074

070

CPI

L(TABLEND)

Is end of table

reached?

001/023

110

004 001

JFZ

XFERLOOP

If not then continue loop;

001/026

104

000 001

JMP

START

Restart pattern when done;

octal

1 ^

Split

C~

t

jnd v

Octal

Address

Label

XMOVE

YMOVE XSTORE

YDRAW

Commentary

001 040

TABLE

000

000

377

000

Vector #1 ;

001 044

377

000

377

377

Vector #2

001 050

377

377

000

377

Vector #3

001 054

000

377

000

000

Vector #4

001 060

000

000

377

377

Vector #5

001 064

377

000

000

377

Vector #6

001 070

TABLEND

XXX

Notes:

XMOVE, YMOVE, XSTORE and YDRAW are output port assignments of the author's system,corresponding to the strobe lines of figure 2.

All constants in this listing are octal.

H(TABLE) is high order 8 bit field of address of TABLE; L(TABLE) is low order 8 bit field ofaddress of TABLE. The two high order bits of H(TABLE) are ignored.

88

flicker. However, a surprising number oflines can be displayed before flickeringoccurs when using the separate line tech-nique.

To write a stationary display routine, it isnecessary to determine the coordinate pointsof the picture's vectors. Graph paper whichhas been ruled for 377 by 377 octal squares(or hexadecimal if that's your preference) isnot easily obtained, so be ready to countsquares and label ordinary graph paper.Figure 4 illustrates the technique of creatinga display table using graph paper. Theillustration is drawn first, using a ruler orother straight edge to provide the lines. Apencil is a must at this stage, since erasure isa very real requirement when working outany sketch. Once the drawing has beenfinalized, octal coordinates are added to thebasic graph paper pattern. In the case of theEnterprise, I wanted to fill the screen, so Iscaled the coordinates to use most of thedisplay area in the horizontal (X) direction,and used the same scaling in the vertical (Y)direction. Then, the vector list is created bygoing over the drawing line by line anddetermining the four coordinates required.The small numbers near the line segments infigure 4 identify the octal addresses of theseline segments in the vector table, table 2.When the data for a picture is all encodedfrom the graph paper, it can be loaded intoyour computer's memory. If your processoris an 8008, then the program of listing 2 canbe loaded and executed; otherwise, you'llhave to create an equivalent program for

Photo 2: A scope trace of the X coordinate output of the circuit in figure 2during the display of a typical picture. The trace is 3 V full scale and isapproximately 15 ms long. The transition time from one voltage to the nextis fixed by the hardware at 100 lis (approximately 1/150th of the horizontalwidth of this picture).

your own processor. (The data of table 2remains the same regardless of the processorused.)

What's Next?

There is a fundamental problem with the

home computer system or should I say the

home computer experimenter. The systems

keep getting bigger and more expensive.

Continued on page 120

Listing 2: An 8008 Program for Drawing Lengthy Pictures. This program issimilar to the program in listing 1 with the addition of a generalized end ofdata test. In operation, it will be the sole program active in the 8008,continuously cycling through the vector table which starts at location001/050.

Split

Octal

Addr

Octal l

2ode

Label

Op

Operand

001/000

056

001

START

LHI

H(TABLE)

001/002

066

050

LLI

L(TABLE)

001/004

307

LAM

001/005

143

RFSHLOOP

OUT

XMOVE

001/006

060

INL

001/007

307

LAM

001/010

147

OUT

YMOVE

001/011

060

INL

001/012

307

LAM

001/013

145

OUT

XSTORE

001/014

060

INL

001/015

307

LAM

001/016

151

OUT

YDRAW

001/017

060

INL

001/020

110

024

001

JNZ

NOINCH

001/023

050

INH

001/024

307

NOINCH

LAM

001/025

074

377

CPI

377

001/027

110

005

001

JNZ

RFSHLOOP

001/032

104

000

001

JMP

START

Commentary

Set up the memory pointer

to the beginning of table;A := XMOVE value;Perform XMOVE output;Point to YMOVE value;A := YMOVE value;Perform YMOVE output;Point to XSTORE value;A := XSTORE value;Perform XSTORE output;Point to YDRAW value;A := YDRAW value;Perform YDRAW output;Point to next value;If no overflow then test end of table;Else increment high order address;A := next value [may be XMOVE or

END] ;Is it END of data value?If not then continue inner loop;Else restart the program;

89

Here lies documenta-tion of known bugs de-tected in previous editionsof BYTE.. .

Conversion Patch

Regarding the September 1976 issue, thefollowing points were phoned in by Bob VanValzah, 1140 Hickory Trail, Downer's GroveIL

On page 58, in listing 4b of JamesBrown's article "How To Do A Number ofConversions," a typographical error occurredat address 0021. The correct code andcomment is:

0021 6F

MOV L,A

Bob also points out that zero suppressionworks "too well" with the decimal routineas designed by author Brown: It suppresses azero value completely. Bob suggests thefollowing patch replacing line 44 (and push-ing TENSTABL down in relative addressspace):

MOV

A,C

get NONZERO flag;

ORA

A

test and set flags;

RZ

original return if some digitsprinted;

MVI

A,'0'

output of an ASCII zero

JMP

PUT

character and return if allblank so far;

To use

thi

s

patch, the reference to

TENSTABL

wi

II have to be modified at

location

0001

■

Patch of a Patch

The suggested biorhythm program patchgiven on page 100 of your July issuecontains an error. This patch will, in fact,initiate all cycles in phase beginning at one'sbirthdate; but, if used as specified, errorsoccur in the incrementing of dates on thechart. By deleting lines I 30 to 470, the loopwhich reads data into the vector T(l) isdeleted. Data must be read into this vectorin order for the chart dates to incrementproperly. I therefore suggest that the fol-lowing patch be added to the previous patch.

122 FOR I = 1 TO 12124 READ TO)126 NEXT (I)

This may save problems for some of your

readers.

Gary Sleater302 E El Caminito DrPhoenix AZ 85020 ■

The Price Is Wrong

According to IMS Associates, the price ofthe IMSAI floppy disk drive and interfacecontroller mentioned on page 83-84 ofBYTE's September 1976 issue is $1919assembled, $1719 unassembled; additionaldrives without a cabinet are $1095. Theprices quoted in "What's New?" are incor-rect."

Here Are Design Equations

In Bruce Filgate's article, "A Morse CodeStation Data Handler," October 1976, weomitted the design equations for the NE567tone decoder which should have beenprinted in figure 6, page 70. To remedy thesituation, here they are:

Center Frequency: F = 1 / (R1 * C1 )Band Width: BW = 1070 * SORT

(VI /(F *C2))where:

R1, C1 and C2 are as defined in figure 6,

page 70 of October BYTEVI is the input voltage to the circuitF is the center frequency.*

Refining the Plot

Author Richard Lerseth reports that hereceived a letter from J C Rucklidge, associ-ate professor of geology at the University ofToronto, Ontario CANADA. Prof Rucklidgeused Richard's article ("A Plot is IncompleteWithout Characters" in July 1976 BYTE) toprogram character outputs from his system.In so doing, he verified the accuracy of theprinted tables, but found one minor error inequations 16 and 17 on page 70. Theseequations should read:

X = XO+ H * DHX+ (V - 5.0)* DVX (16)Y = YO + H * DHY + (V - 5.0)* DVY (17)"

Caveat Programme

Past history has shown that occasionaltypesetting or logic bugs occur in programsprinted in BYTE. Readers who find suchbugs are urged to claim a bit of fame in thiscolumn by sending us the evidence, andsuggested patches. Two examples have beendocumented here this month."

A Bug Way Back

Boyd S Miner, K4KEP, editor of Bits andDits, the newsletter of the Carolina Com-puter and Radio Amateur Association,points out an error in the statement ofamateur radio Teletype mark and spacefrequencies in the September 1975 issue ofBYTE, page 32:

Don Lancaster puts out some real goodarticles but in "Serial Interface" in BYTESeptember 1975, page 32, he states thatHam radioteletype audio frequency shiftkeying (AFSK) 2125 is mark and 2925 is thespace frequency. This "tain't so." The markand space tones are multiples of 425 Hz. Infact they are the 5th and 7th harmonics.Therefore the mark is 2125 as stated but thespace is 2975, not 2925. At the time thesestandards came into being the FCC required850 Hz shift, m

90

A Note about BorrowingRoutines from EDUCATOR

The EDUCATOR program from the Digi-tal Group is an extremely effective way tolearn what takes place within the processorwhen you are learning machine level pro-gramming.

The EDUCATOR-8080 article in the July1976 BYTE [page 22] appears to contain atleast two errors. I discovered these whenattempting to use some of its text displayroutines.

The article neglects to mention that theuser defined subroutine CHRPR (characterprint) has to add 200 (octal) to the code inthe accumulator to get a valid ASCII charac-ter.

The subroutine CHEDT loops indefinitelyon the first string of blanks. The HL registerneeds to be incremented after a string ofblanks is output. I inserted an INX H (043octal) between the present lines 000/310and 000/313 appearing on page 26 of theJuly issue.

Since the listings published are obviouslynot exactly those used in the Digital Groupsoftware, the readers should be advised thatfurther debugging may be necessary.

Dr Charles F Douds

281 Poplar St

Winnetka IL 60093 ■

BABY!

/-

%

%

Complete Systemin a case!

KEYBOARD: 62 key upper & lower case + Greek;

TAPE INTERFACE: High speed, 1200 Baud! Cas-sette, programs included;

VIDEO INTERFACE: E.I.A. Compatible;

MICROPROCESSOR: 6502 based system!

MEMORY: 2K or 4K byte RAM minimum systemmonitor + 3K ROM sockets;

$

S.T.M. SYSTEMS INC.

P.O. Box 248/lont Vernon, N.H. 03057

S

°0

Or

IN WIRE- WRAPPING Qpfe HAS THE LINE

HOBBY-WRAP-30

STRIP

WRAP

UNWRAP

OK MACHINE & TOOL CORPORATION

3456 CONNER STREET, BRONX, NEW YORK, N.Y. 10478 U.S.A. • PHONE (3)3) 994-BflOOTELEX: 125091 TELEX: 232395

Clubs

and Newsletters

KIM-1 USER NOTES

At the Midwest Regional Computer Con-vention held in Cleveland, a group of KIM-1users had the opportunity to meet with RickSimpson of MOS. The group agreed thatthere was a need for KIM-1 owners every-where to be able to exchange ideas muchlike other user groups, and that a newsletterwould act as a vehicle for that purpose.

KIM-1 USER NOTES will be publishedevery 5-8 weeks. Cost for subscriptions willbe $5 for the next six issues (including firstclass postage). This rate is for US subscribersonly. Make checks and money orders pay-able to: KIM-1 c/o Eric Rehnke. No cashplease. Write: KIM-1 USER NOTES, c/o EricRehnke, Apt No. 207, 7656 Broadview Rd,Parma OH 44134.

South Florida Computer Group — I/O

In the August issue 1-4 it was announcedthat Dr Bruce Cameron will be the neweditor of I/O. Bruce is a research biochemistwith Papanicolaou Cancer Research Insti-tute (PCRI or PAP). All inquiries, newsitems, articles, etc, should be sent to him at1155 NW 14th St, Miami FL 33136; orphone (305) 324-5572.

The group has in the past sent com-plimentary issues to interested individuals,other clubs, and firms; but the club's mailinglist has grown to such a point that now it'snecessary to charge a fee of $2 per year for12 issues. This will not affect the exchangeof newsletters with other clubs.

Space Coast Microcomputer Club — Florida

This club at present (August) consists ofabout a dozen individuals who are interestedin microprocessor-based computer systems.A few are employed at the John F KennedySpace Center, while others are affiliated withFlorida Institute of Technology and FloridaTechnological University. Many membersalso belong to the larger computer clubssuch as the Southern California ComputerSociety and the Chesapeake MicrocomputerClub. The purpose of this club is to furtherthe usage of small computer systems throughthe mutual sharing of ideas and resources.

Ray O Lockwood would be interested inhearing from you. His address is: 1825Canal Ct, Merritt Island FL 32952, (305)452-2159.

The New Orleans Hamfest andComputer Fest

On October 30-31, the New OrleansHamfest and Computer Fest will be held atArchbishop Rummel High School, 1901Severn Av, Metairie LA (a New Orleanssuburb). This event is sponsored by theJefferson Amateur Radio Club.

The Louisiana Council of Amateur RadioClubs, the Louisiana ARRL Convention,MAR and other amateur radio groups arescheduled to meet. Banquets, noncom-mercial and other exhibits are beingarranged. Call-in frequencies will be146.34-.94 and 3.95 MHz.

Reservations and latest details may beobtained by writing to Dominick "Nick"Tusa, WA5RMC, chairman, New OrleansHamfest, POB 10111, Jefferson LA 70181.

Byte Back - Ohio

Compute, Evaluate, Trade is the name ofa new club in Ohio. Meetings are held inmembers' homes on the first Saturday of themonth. There are no dues, other than talentand a desire to exchange information.Business applications are their specialinterest. Charles E Tyzzer Jr is the contactperson, and he may be reached at(513)268-6551 x587. The mailing addressis: POB 104, Tipp City OH 45371.

Southern New England Computer Society

SNECS was formed at a meeting held inNew Haven CT in July. Those present camefrom parts of Connecticut bordering onRhode Island as well as Fairfield and theHartford and New Haven areas. They repre-sented a broad range of hardware, software,business, educational, and hobby interest incomputers. A newsletter is in the works, andit will be called YANKEE BITS. Anyonewishing more information on this groupshould write: SNECS, 267 Willow St, NewHaven CT 06511.

Ride the Data Bus — Michigan

Data Bus is the official newsletter of theSoutheastern Michigan Computer Organiza-tion. Subscription is only available topersons living more than 50 miles fromDetroit, at $6 per year (unless you're amember). Data Bus is also available on anewsletter exchange basis to other clubs.The editor is Jon Tara (313) 833-2847. Theaddress is SMCO, Data Bus, 665 W HancockNo. 304, Detroit Ml 48201.

92

Purdue Has PUNCH

Michael A Troutman, PUNCH president,informed us of the official existence of thePurdue University Computer Hobbyist Club.Mike says they have a constitution and arefully recognized as a student organization.The club meets weekly in the digital lab ofthe Electrical Engineering Building. Thegroup is also planning lectures by keyspeakers for every other month. Theirresources (those of EE) include two 6800systems (Motorola and SWTPC), an 8080system, a KIM-1 system, several CRT ter-minals, Teletype, high speed paper tapereader and access to the EE Dept PDP-11/70timeshare system.

Membership is limited to students, staffand faculty; however, for a small activitiesfee, anyone is welcome to attend meetings.All interested persons may write to PUNCH,Room 67, Electrical Engineering Building,Purdue University, West Lafayette IN47907.

Charlotte, North Carolina

A new club has been formed in theCharlotte NC area. Anyone interested inmaking contact with the Charlotte Micro-computer Society may call Dr Michael Allen

INTRODUCING THE

COMPUTER

WAREHOUSE

STORE

THE BIGGEST COMPUTER STORE

in the WORLD!SPECIALS

• ALL PURPOSE 12 inch

VIDEO DISPLAY $150

Long Persistence Green Phosphor

• 100 PIN ALTAIR/IMSAI HEAVY-DUTY

board CONNECTORS $5

• ONE DAY SHIPMENT ON IMSAI 8080,

ADM-3/SwTPC 6800 & terminal kits

• used TERMINALS, PRINTERS

• USED DEC PDP8 & 8S

• USED DISK - TAPE DRIVES

• WRITE FOR OUR CATALOG

THOUSANDS OF CABINETS, CASTERS, ELECTRONICPARTS, MOTORS, POWER SUPPLIES, CONNECTORS, etc.

DEPT. B, 584 COMMONWEALTH AVE.BOSTON, MASS. 02215

MODEL CC-7 SPECIFICATIONS:

A. Recording Mode: Tape saturation binary.This is not an FSK or Home type recorder.No voice capability. No Modem. (NRZ)

B. Two channels (1) Clock, (2) Data. OR, Twodata channels providing four (4) tracks onthe cassette. Can also be used for Bi-Phase,Manchester codes etc.

C. Inputs: Two (2). Will accept TTY, TTL orRS 232 digital.

D. Outputs: Two (2). Board changeable fromRS 232 to TTY or TTL digital.

E. Runs at 2400 baud or less. Synchronous orAsynchronous. Runs at 4800 baud or less.Synchronous or Asynchronous. Runs at3.1"/sec. Speed regulation + .5%

F. Compatability: Will interface any computeror terminal with a serial I/O. (Altair, Sphere,M6800, PDP8, LSI 11, IMSAI, etc.

G. Other Data: (110-220 V), (50-60 Hz); 3Watts total; UL listed 955D; three wire linecord; on/off switch; audio, meter and lightoperation monitors. Remote control of mo-tor optional. Four foot, seven conductorremoting cable provided. Uses high gradeaudio cassettes.

H. Warrantee: 90 days. AM units tested at 300and 2400 baud before shipment. Test cas-sette with 8080 software program included.This cassette was recorded and played backduring quality control.

ALSO AVAILABLE: MODEL CC-7A with vari-able speed motor. Uses electronic speed controlat 4"/sec. or less. Regulation i .2%Runs at 4800 baud Synchronous or Asynchro-nous without external circuitry.Recommended for quantity users who ex-change tapes. Comes with speed adjusting tapeto set exact speed.

DIGITAL DATA RECORDER $149.95FOR COMPUTER or TELETYPE USE

Any baud rate up to 4800

Uses the industry standard tape satura-tion method to beat all FSK systems ten toone. No modems or FSK decoders required.Loads 8K of memory in 17 seconds. Thisrecorder, using high grade audio cassettes,enables you to back up your computer byloading and dumping programs and data fastas you go, thus enabling you to get by withless memory. Can be software controlled.

Model CC7.Model CC7A.

.$149.95..$169.95

NATIONAL multiplex

CORPORATION

NEW - 8080 I/O BOARD with ROM.Permanent Relief from "Bootstrap Chafing"

This is our new "turnkey" board. Turn onyour Altair or Imsai and go (No Bootstrap-ping). Controls one terminal (CRT or TTY)and one or two cassettes with all programsin ROM. Enables you to turn on and justtype in what you want done. Loads, Dumps,Examines, Modifies from the keyboard inHex. Loads Octal. For the cassettes, it is afully software controlled Load and Dump atthe touch of a key. Even loads MITS Basic.Ends "Bootstrap Chafe" forever. Uses 512bytes of ROM, one UART for the terminaland one USART for the Cassettes. Ourorders are backing up on this one. No. 2SIO(R)

Kit form $140. — Fully assembled andtested $170.00

Send Two Dollars for Cassette Operating

and Maintenance Manual with Schematics

and Software control data for 8080 and

6800. Includes Manual on

I/O board above. Postpaid

Master Charge & BankAmericard accepted.

On orders for Recorders and Kits please add$2.00 for Shipping & Handling.(N.J. Residents add 5% Sales Tax)

3474 Rand Avenue, Box 288South Plainfield, New Jersey 07080(201) 561-3600

93

at (704) 597-2303 days; and Allen Graysonat (704) 366-7879 nights. Allen Grayson isinterested in down to earth applications forcomputers. An example is the one he cited:A friend wrote a program creating a robotlawn mower. Now his friend sits back withhis favorite beverage under a nice shade treeand watches his "robot" do the work.

Northern New Jersey

The Northern New Jersey Amateur Com-puter Group opens its membership to anyinterested person for an annual fee of $5.Meetings will be held from 6:30 to 11:00PM the second Friday of each month atBecton Hall, Fairleigh Dickinson University,Rutherford Campus, Rutherford NJ. Forfurther information, contact Murry PDwight, Dwight Instruments Company, 593New York Av, Lyndhurst NJ 07071. Phone:(201)438-3334.

TRACE — Ontario, Canada

Toronto Region Association of ComputerEnthusiasts has over 50 members in thegreater Toronto, Hamilton, and Kitchener,Ontario areas. They meet once a month,usually on the first or second Fridays. Fordetails concerning the club and newsletter,write: TRACE, Box 545, Streetsville,Ontario CANADA L5M 2C1.

Waterloo — Ontario, Canada

The Amateur Microprocessor Club ofKitchner-Waterloo, Ontario, has formed,with Charles Sooley acting as interim co-ordinator. The group has made some quan-tity purchases. For further informationwrite: Amateur Microprocessor Club ofKitchener-Waterloo, Ontario, Canada, c/oReading Room, Electrical Engineering,University of Waterloo, Waterloo, OntarioCANADA N2L3G1.

Auckland, New Zealand

Info File of Mt Roskill has formed agroup of N2 users and is asking help ingetting off the ground. They need schema-tics, PC board layouts, and software. News-letters would be appreciated. Write: InfoFile, POB 27-206-B, Mt Roskill, AucklandNEW ZEALAND.

Teen Hobbyist

Jeffrey Rice, 16, of 303 Wilson St, ElkinsWV 26241, would like to join or form acomputer club in his area, if there is anyinterest.

Enterprising Jeff, a would-be computerhacker, is working two paper routes and

holding a part time job assembling boardsfor a local microcomputer distributor. He issaving up to buy a 8800 or 6800 basedsystem while attempting to educate himselfin computer science. He writes that betweenthe BASIC he's learning on the PDP 8/Esystem, the minimal configuration COSMACcomputer he is building, and as much litera-ture as he can obtain, along with his "hands-on" hardware experience with his job, he'sdoing OK. You can contact him at the aboveaddress.

Ottawa — Ontario, Canada

We have received word that a groupcalling itself the Ottawa Computer Club hasformed. At the present time the only in-formation we have is that the meetingschedule is posted at Pettazzoli CollegeResidence, located at Rideau and Chapel Av,Ottawa, monthly. They are looking for newmembers, and if you would like to playSherlock Ohms, we suggest you investigate.

Curriculum Developer Needs Inputs

Robert F Tinker has founded TechnicalEducation Research Center, located at 575Technology Sq, Cambridge MA, phone(617) 547-3890. He is interested in creatingcurricula in the emerging technologies of lowcost electronics for student use. A news-letter, Hands On!, is proposed as a quarterlytransmission line for practical laboratoryoriented educational ideas with a biastoward the uses of electronics andcomputers.

Denver Amateur Computer Society

DACS Newsletter, Volume 2/1, has mush-roomed. The July issue was expanded to 44pages. Some of the changes include longerfeatures, new products, users' reports, tips,and "Dear Nina," letters from wearied and/or wearisome wives to the editor. The club isalso holding a contest to come up with aname for the publication; the prize is ayear'sfree membership. Entries, along with sub-scription orders ($9) should be sent to JimClark, DACS Newsletter, POB 6338, DenverCO 80206.

RPI ACM Chapter (Capital District NY)

Jerry Irving of RPI writes: The RensselaerPolytechnic Institute student chapter of theACM is forming a special interest group forpeople who are interested in minis andmicros. We have had one meeting to see howmuch interest there would be and found agreat deal of it. The group will be open toanyone, not just students. Those in the

94

capital district area of New York should bejust a short drive from RPI. There are manyminicomputers on the RPI campus and anumber of people at the first meeting workwith these, rebuilding, programming orwriting software for them. There are peoplein the area who were at the first meetingwho are starting to build their own systems.This group is forming in order to supply aplace for people to meet to compare theirsystems, exchange ideas, and give them theadvantages of being in a nationally recog-nized organization. Once under way we willhave regular meetings and try to havespeakers and demonstrations as often aspossible.

We plan on having our organizationalmeeting to set up the foundation of thegroup in either August or September.

Anyone interested in coming or joiningshould write to the RPI-ACM, Amos EatonHall, RPI, Troy NY 12180, or call eitherJerry Irving (518) 756-6827 or Will Strang(518) 274-8361 for information and direc-tions.

The Computerist — NECS

777e Computerist is an extension of theNew England Computer Society. The club'snewsletter is prepared on a text editor, andis printed by reduced photo offset. In

1702A MANUAL EPROM PROGRAMMER

I fin; 11 11

-.i.hf.-:,' K '--■'•."■v;!l l!)'

•iiii I*.

Features hex keypad, twodigit hex address and twodigit hex data display. Con-trols include load, clear, go!(step), key/copy, data in/data out, and counter up/down. Profile card includeshigh voltage pulse regulator,timing, 8 bit address and 8

bit data drivers/receivers. Two 61/2" x 9" stacked cards withspacers. Allows programming in 20 minutes — copying in5 minutes. Requires +5, —9, and +80 volts.

ASSEMBLED $299.95

KIT $189.95

WOW

The best of two worlds ... use our 1702 EPROM programmeras a manual data/address entry programmer ... or connect itto your processor.IMSAI/ALTAIR computer interface (requires 3 output ports,

+ 1 input port) and software $49.95

Briefcase unit with power supplies and interface connectors(assembled and tested only) $599.95

ANNOUNCING

Our NEW 16K Byte Pseudo-Static, IMSAI/ALTAIR compat-ible RAM. Single card slot. Uses less power than equivalentlow power RAM. All memory chips socketed. Uses all prime,factory fresh ICs. High quality, two-sided, through-hole-plated circuit board. Crystal controlled, totally invisiblerefresh system requires NO software management. Just plugit in and use like STATIC memory.

Complete kit $349.95

Assembled, tested, and burned in $549.95

ASSOCIATED ELECTRONICS

12444 Lambert Circle . Garden Grove, CA 92641

(714) 539-0735

THE COMPUTER ROOM

SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT

1455-ASo. 1100E. Salt Lake City, Utah 84105 Phone:801-466-7911

"WE TAKE THEmm\ OUT OF THE BUCHD

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 RQLTK1 easy to understand

CATALOG COVERING

IMSAI

THE DIGITAL GROUP

POLYMORPHIC SYSTEMS

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

TECHNICAL DESIGN LABS

PROCESSOR TECHNOLOGY

ETC.

3. the COMPUTER ROHM -easy guide- to help you

PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS,AND SOFTWARE FOR

THE BEGINNERTHE ADVANCEDTHE EXPERTTHE SMALL BUSINESS

4. ACURRENTLISTINGOFPRESENTLYAVAILABLE

SOFTWARE

PUBLICATIONS

PERIPHERALS

5. INFORMATION ON REPAIR SERVICE, LOW COSTCUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES.

AT THE COMPUTER RQQIHl YOUR WRITTEN QUESTIONSARE HAPPILY RECEIVED AND PROMPTLY ANSWERED

WE ALSO STOCK A COMPLETELINE OF AMATEUR RADIO EQUIPMENT

BANKAMERICARD MASTERCHARGE

95

Volume 1/1 the goals are set forth: To serveall computerist and computer clubs in theNew England region, report on club meet-ings, print a monthly calendar of regionalevents. It will also provide up to date reportson new products, publications, local sup-pliers, mail order dealers, and the like. It willalso include a classified section, and bothcommercial and individual advertisements.The Computerist is an independently pro-duced publication, which is the officialnewsletter of the New England ComputerSociety, and is supported in part by duesand subscription. Subscription rate is $6 peryear. Robert Tripp is the contact man; hisaddress is POB 3, South Chelmsford MA01824.

Communication Co-operative for the Deafand Hearing Impaired

The Communication Co-operative is anonprofit organization establishing a timesharing computer system in the Northwest.Its purpose is to provide data processingservices in order to help support a communi-cations system for the deaf. This enables it

to offer flexible computer services at reason-able rates and tailored to the needs of anybusiness. Some of the services offered tobusinesses are inventory control, mailinglists, billing, and purchase orders. They alsooffer a 24 hour emergency service for thedeaf, using Teletypewriter, and make avail-able national and local news stored in a fileand accessed by the Teletypewriter. If youwould like to learn more, write: Communi-cation Co-operative, POB 182, W Linn OR97068.

Byte Out of Maple Address

"Someone took a byte (or two) out ofthe address for MAPLE, and I don't knowwhether all mail is arriving here," writesJohn Sikorski, president of "MicroprocessorAPL Enthusiasts," of the Clubs and Newslet-ters item on page 100 of September 1976BYTE. The full address is:

MAPLE

Box 574NUMS

303 E Chicago Av

Chicago IL 60611 ■

Stamp Out Cybercrud

COMPUTER

Have you every been victimized byone of a myriad computer based inter-personal putdowns? In Ted Nelson'sbook, Computer Lib/Dream Machines,you'll find an excellent essay on thenature of this "cybercrud."

Have you ever wondered where to gofor a basic starting point in your questfor information about computer applica-tions and uses? Ted Nelson's book.Computer Lib/Dream Machines, is theplace for you to begin.

Computer Lib/Dream Machines is forthe layman — the person who is intelli-gent and inquisitive about computers. Itis written and self published by aphilosopher who is also a self confessedcomputer fan and an excellent teacher ofbasic concepts. (For those who have notyet heard, ivory towers are constructedout of real and substantial white bricks.)The most important aspect of this book

is its inspirational data content. Themachines we're all busy working on aredeep personal expressions, and not thecold and inhuman monsters of the tradi-tional stereotype. The book definesmany of the terms and explains many ofthe techniques which can be used in thepersonal computer systems we're allbusy constructing and programming. Itperforms this service in a way whichadds color and excitement to this newestof art forms, the computer application.

Computer Lib/Dream Machines ismust reading for the beginner, and is alsoa refreshing self examination for the oldhand at programming and systems work.

You can order your copy of Com-puter Lib/Dream Machines from BYTE'sBooks for $7. Send your order today toBYTE's Books, 70 Main St, Peter-borough NH 03458. Help stamp outcybercrud.

EITI

PETERBOROUGH, NH 03458

Please add 50 cents for postage and handling. Please allow six weeks for delivery.Send copies of Computer Lib/Dream Machines to:

Name

Address

City

State

Zip

wm

11 Check enclosedii Rill MC #ii Rill RA *

Signature

Fxp Datp

BMKAMfnOBO.

Exp Date

96

POLYPHONIC

ALTAIR 88O0SYNTHESIZER

BOARDS

& IMSAl

BUS COMPATIBLE

TWO 30ARD SET

Bd. I SRS-320

Generates ony A notesin o 4 octave rangethat can be shifted up

or down for o total

ronge of 9 OCtOVeS!I

(more boords-more

notes)

Bd.2 SRS-321

Modifies tones from

SRS-320 and controls

all porometers of the

sound ot the conmand

of the computer.

PRICES

SRS-320 s 175.c

>assembled

SRS-321 s I75°c

send for free info pac

S9§ g£ Stillman Research Sqstemsli 9 RO. Box 14036

Phoenix AZ 85063Dealer Inquiries Welcomedprices subject to change w/o notice

WANTED

Microprocessors Kit or Assembled

ALTAIR • SPHERE • MOTOROLA

INTEL & OTHERS

Altairs, immediate delivery.

Memories, I/O boards, chassis, powersupplies, modems, peripherals, spe-cials, prom programmers, ADCS,DACS, GPIOS, RS232 faces, and anyassociated software. Ask aboutour complete Altair system.Available now.

FORWARD INFORMATION AND/ORINQUIRIES TO:

AMERICAN USED MICROPROCESSORS,

EQUIPMENT & SUPPLY CORP.

AT THE CHICAGOLAND AIRPORT

BOX 515

PRAIRIEVIEW, ILLINOIS 60069

TELEPHONE (312) 634-0076

For complete monthly catalog ofitems available and in stock Enclose$10. for six issues. Many new un-used items. Amazing values foreveryone.Tested and guaranteed.

£

omputer

1DL

an

r few Ujom ^ruc.

NOW ONLONG ISLAND

IMSAI, SWTPCo, Digital Group

Processor Tech, Apple, OSI

TDL-Z-80, Seals, Cromemco,

Sphere, Tarbell, Oliver

Magazines, books, chips,sockets, connectors, terminals.

IT'S ALL HERE WAITING FOR YOUFRIENDLY ADVICE TOO

New York City

314 5th Ave(32nd St)

212-279-1048

Long Island2072 Front StEast Meadow NY

516-794 0510

COMPUTALKER

MODEL

CT-1

SYNTHESIZER

High Quality Voice Output

Altair/IMSAI/Polymorphic plug-in

Nine Acoustic Control Parameters

Includes 8080 Interface Software

$395.00 plus shipping

Order a demonstration cassette

$2.50 postage paid

Write for informative literature

Calif, residents add 6% sales tax

COMPUTALKER CONSULTANTSP.O. Box 1951, Santa Monica, CA 90406

Pictured above is the new OP-80AHigh Speed Paper Tape Reader fromOAE. This unit has no moving parts,will read punched tape as fast as youcan pull it through (0-5,000 c.p.s.),and costs only $74.50 KIT, $95.00ASSEMBLED & TESTED. It in-cludes a precision optical sensor ar-ray, high speed data buffers, and allrequired handshake logic to interfacewith any uP parallel I/O port.

To order, send check or money order(include $2.50 shipping/handling) toOliver Audio Engineering, 7330Laurel Canyon Blvd., No. Holly-wood, CA 91605, or call our 24 hr.M/C-B/A order line: (213) 874-6463.

NOW!

A Computer Store inBurlington, MA

Offering the complete lineof *Altair mainframes andperipherals as well as boards& boxes, tools & instru-ments, books & manuals,supplies & media.

The Computer Store Inc.

120 Cambridge St.

Burlington, MA 01803

617-272-8770

♦Altair is a registered tradename ofMITS, Inc.

For more information circle

A 76

101 BasicComputer Games

David H. AM. An anthology of gamesand simulations—from Acey-Deucey toYahtzee, all in the BASIC language.Contains a complete listing, sample run,plus a descriptive write-up of each game.Our most popular book! Large format,248 pp. $7.50 [6C]

What to Do AfterYou Hit Return

Another collection of games andsimulations—all in BASIC—includingnumber guessing games, word games,hide-and-seek games, pattern games,board games, business and social sciencesimulations and science fiction games.Large format. 158 pp. $6.95 [8A]

Fun & Gameswith the Computer

Ted Sage. 'This book is designed as atext for a one-semester course in com-puter programming using the BASIClanguage. The programs used as il-lustrations and exercises are gamesrather than mathematical algorithms, inorder to make the book appealing andaccessible to more students. The text iswell written, with many excellent sampleprograms. Highly recommended." — TheMathematics Teacher 351 pp. $5.95 [8B]

Game PlayingWith the Computer,2nd Ed.

Donald Spencer. Over 70 games, puzzles,and mathematical recreations for thecomputer. Over 25 games in BASIC andFORTRAN are included complete withdescriptions, flowcharts, and output.Also includes a fascinating account of thehistory of game-playing machines, rightup to today's computer war games. Lotsof "how-to" information for applyingmathematical concepts to writing yourown games. 320 pp. 1976 $14.95 [8S]

So you 've got apersonal computer.

Now what?

The Best of CreativeComputing — Voi. 1

David Ahl, ed. Staggering diversity ofarticles and fiction (Isaac Asimov, etc.),computer games (18 new ones withcomplete listings), vivid graphics, 15pages of "foolishness," and comprehen-sive reviews of over 100 books. The bookconsists of material which originallyappeared in the first 6 issues of CreativeComputing (1975), all of which are nowout of print. 324 pp. $8.95 [6A]

Creative Computing Magazine

So you've got your own computer. Now what? Creative Computing is chock fullof answers — new computer games with complete listings every issue, TV colorgraphics, simulations, educational programs, how to catalog your LPs oncomputer, etc. Also computer stories by Asimov, Pohl, and others; loads ofchallenging problems and puzzles; in-depth equipment reports on kits, terminals,and calculators; reviews of programming and hobbyist books; outrageouscartoons and much more. Creative Computing is the software and applicationsmagazine of personal and educational computing. Bi-monthly.I -year sub'n $8.00 [ I A], 3- years $21.00 [ IB], sample copy $ 1.50 [ 1C]

Problems ForComputer Solution

Gruenherger & /affray. A collection of92 problems in engineering, business,social science and mathematics. Theproblems are presented in depth andcover a wide range of difficulty. Orientedto Fortran but good for any language. Aclassic. 401 pp. $8.95 [7A]

A Guided Tour ofComputer ProgrammingIn Basic

Tom Dwyer una Michael Kaufman."This is a fine book, mainly for youngpeople, but of value for everyone, full ofdetail. many examples (includingprograms for hotel and airline reser-vations systems, and payroll), with muchthought having been given to the use ofgraphics in teaching. This is the best ofthe introductory texts on BASIC."—Creative Computing Large format. 156pp. $4.40 [8L]

Problem Solving WithThe Computer

Ted Sage. This text is designed to be usedin a one-semester course in computerprogramming. It teaches BASIC in thecontext of the traditional high schoolmathematics curriculum. There are 40carefully graded problems dealing withmany of the more familiar topics ofalgebra and geometry. Probably themost widely adopted computer text. 244pp. $5.95 [8J]

A Simplified Guide toFortran Programming

Daniel McCracken. A thorough first textin Fortran. Covers all basic statementsand quickly gets into case studies rangingfrom simple (printing columns) tochallenging (craps games simulation).278 pp. $8.75 [7F]

Understanding SolidState Electronics

An excellent tutorial introduction totransistor and diode circuitry. Used atthe Ti Learning Center, this book waswritten for the person who needs tounderstand electronics but can't devoteyears to the study. 242 pp. $2.95 [9A]

BYTE Magazine

If you are considering a personal com-puting system now *or later, BYTEprovides a wealth of information on howto get started at an affordable price.Covers theory of computers, practicalapplications, and of course, lots of how-to build it. Monthly. 1-Year sub'n $12.00[2A], 3-Years $30.00 [2B]

Games & PuzzlesMagazine

The only magazine in the world devotedto games and puzzles of every kind —mathematical, problematical,crosswords, chess, gomoko, checkers,backgammon, wargames, card games,board games, reviews, competitions, andmore. Monthly. l-Yearsub'n$12.00[3A]

Games With ThePocket Calculator

Sivasailam Thiagarajan and HaroldStolovitch. A big step beyond tricks andpuzzles with the hand calculator, the twodozen games of chance and strategy inthis clever new book involve two or moreplayers in conflict and competition". Asingle inexpensive four-banger is all youneed to play. Large format. 50 pp. $2.00[8H]

Games, Tricks andPuzzles For A HandCalculator

Waliy Judd. This book is a necessity foranyone who owns or intends to buy ahand calculator, from the mostsophisticated (the HP65, for example) tothe basic "four banger." 110 pp. $2.95[8D]

Computer Lib/Dream Machine

Ted Nelson. This book is devoted to thepremise that everybody should under-stand computers. In a blithe manner theauthor covers interactive systems, ter-minals, computer languages, data struc-tures, binary patterns, computerarchitecture, mini-computers, big com-puters, microprocessors, simulation,military uses of computers, computercompanies, and much, much more.Whole earth catalog style and size. Adoozy! 127 pp. $7.00 [8P]

Computer Power andHuman Reason

Joseph Weizenhaum. In this major newbook, a distinguished computer scientistsounds the warning against thedangerous tendency to view computersand humans as merely two differentkinds of "thinking machines." Weizen-baum explains exactly how the computerworks and how it is being wronglysubstituted for human choices. 300 pp.$9.95 [8R]

BASIC Programming2nd Ed

Kemenv and Kurtz ["A simple gradual!introduction to computer programmingand time-sharing systems. The best texton BASIC on almost all counts. Rating;:A.+"~Creative Computing. 150 pp. $8.50

Microprocessors

A collection of articles from Electronicsmagazine. The book is in three parts:device technology; designing withmicroprocessors; and applications. 160pp. 1975 $13.50 [9J]

Microprocessors: Tech-nology, Architectureand Applications

Daniel R. McGlynn. This introductionto the microprocessor defines anddescribes the related computer structuresand electronic semi-conductor processes.Treats both hardware and software,giving an overview of commerciallyavailable microprocessors, and helps theuser to determine the best one forhim/her. 240 pp. $12.00 [7C]

Creative ComputingCatalogue

Zany 12-page tabloid newspaper/catalog lists books, magazines, art prints,and T-Shirts. A conversation piece evenif you don't order anything. Free. [5A]

Artist and Computer

Ruth beavitt, ed. Presents personalstatements of 35 internationally-knowncomputer artists coupled with over 160plates in full color and black & white.Covers video art,-optical phenomena,mathematical structures, sculpture,weaving, and more. 132 pp. $4.95 [6D]Cloth cover $10.95 [6E]

Computer Science:

A First Course (2nd Ed.)

Forsythe, Keenan, Organick, andStenherg. A new, improved edition ofthis comprehensive survey of the basiccomponents of computer science. Therehas been an updating of important areassuch as Programming, StructuredProgramming, Problem Solving, andother Computer Science Concepts. Thequantity of exercises and problems hasbeen increased. 876 pp.$16.95 [7D]

Mr. Spock Poster

Dramatic, large (17" x 23") computerimage of Mr. Spock on heavy posterstock. Uses two levels of overprinting.Comes in strong mailing tube. $l.50[5B]

I

CREATIVE COMPUTING, Dept. BP.O. Box 789-M, Morristown, NJ 07960

Please send me the following:Qaan. Cat. Description

Price

Books Shipping charge $1.00 USA, $2.00 Foreign .

NJ Residents add 5% sales tax .

D Cash, check, M.O. enclosed TOTAL .D BankAmericard \ Card No.

□ Master Charge / Expiration date .Name

Address

City

State

. Zip .

What's

New?

A Suggestion is Fulfilled

In last month's new products section, atouch tone frequency generator was sug-gested as a possible portable product to beused as a portable data terminal. Well, acompany called Executive Devices has pro-duced a product which incorporates such afrequency generator and can be easily usedin the portable terminal mode. This batterypowered hand held device generates the full16 combinations of tones possible with thetouch tone encoding technique, and inter-faces with the telephone network through anacoustic coupler. There are two modelsavailable:

Pocket Data Terminal PDT-700 is $49.95,postpaid, and is the simple tone gener-ator version. (Kit version $39.95.)

Pocket Data Terminal PDT-1000 is$89.95 postpaid, and is an extended

STANDARD & CUSTOM ENCLOSURES

F 0 R

COMPLETE KEYBOARD HOUSINGS, CRT'S 8 ETC.

--- CAPABILITIES IN —

Kydex 100 - Plexiglass - Lexan

PVC - ABS

FOR FURTHER INFORMATION WRITE OR CALL:

Thermodyne Plastics, Inc.

11495 Lenexa Drive

Olathe, Kansas 66061

913-492-7352

ALTAIR & IMSAI MOTHERS

DESERVE BEAUTIFUL 8K BABIES

from

iVeCCCH g=japhc

ALTAIR & IMSAI COMPATIBLE 8K RAMSPECIFICATIONS:

Access Time: 500 ns max. current required < 200 mA/1024

words max.Memory Chip: low power static RAM processed to mil. std. 883Voltage supply: +5Vto+10VAddress Select: Dip switch accessable from top of board—no

need to remove board to relocatePower Regulators: 4 ea. 7805

Wait States: NONE! CPU runs at maximum speed

Buffered address and data out linesBuffer disable line for transparent loader

CLIPS ORDER TODAY

Order your 8K RAM kit for only$239.00 +6% Calif, sales tax.03% handling. $335.00 assem-bled, includes sockets.

VECTOR GRAPHIC

P.O. BOX 4784

THOUSAND OAKS, CA 91359

TEL: (213)889-9809

□ SEND.

_8K RAM BOARDS TODAY

D CHARGE TO MY CREDIT CARD.

□ B of A No.

□ M.C. No.

Signature

Name

_exp.dt.__exp.dt._

Address .City

_State_

-Zip

INTRODUCTORY OFFER

THECOMPUTER CO. OF THE FUTURE

P.O. BOX 4784

THOUSAND OAKS, CA 91359

TEL: (213) 889-9809

U03 G3APHC inc.

99

feature model with a nonvolatile userprogrammed memory of seven digitsfor automatic dialing of a frequentlyused number. (Kit version $69.95.)

Of course the auto dial product by itselfwon't do much for people stuck out in acountry telephone exchange with relays andstepper switches for dialing, but any com-puter equipped with an auto answer func-tion to a telephone port can receive anddecode the touch tone frequencies of thisdevice. For the home hacker, this can beaccomplished by tapping into the audio

section speaker outputs of a commercialATT approved phone answering device. Theauto answer logic is built into such a phoneanswering device, so all the computer has todo is to test the cassette motor control lineand listen through a bank of tone sensitivefilters for the frequencies involved. Ac-cording to verbal reports, several individualsare already at work automating such homefunctions as lighting control through remoteports accessed in this manner; there ought tobe a market niche for the commercialanswering equipment needed (to plug intoan Altair or other computer main frame)."

Real Time Programming, Anyone?(or How to Make a Perpetual AudioVisual Date Book)

COMPTEK, a company located at POB516, La Canada CA 91011, has come upwith just the thing needed to implement theapplication in the subtitle of this newproducts story. In order to implement a realtime process such as an appointment book,some means of noting time and date digitallyfor each hour of the day, every day of theyear, is required.

The way to accomplish this time measure-ment is to use this $98 real lime clock board

for the Altair or IMSAI computers. Theboard contains a conventional LSI clockchip, the National SemiconductorMM5318N shown in the photograph (thelargest plastic package integrated circuit).The clock interfaces to the Altair in either aprogrammed IO mode, or an interrupt IOmode of operation. For clock interrupts, theboard can be programmed to interrupt 60times per second, once per second, onceevery 10 seconds, once per minute, onceevery 10 minutes (radio amateurs take note),once per hour, or twice per day. Alsoprogrammable through the board are the fastsetting modes of the clock chip.

The microcomputer system treats theclock as a peripheral, and reads the timedirectly in a 24 hour HH:MM:SS format,BCD encoded. For the user wanting toimplement the date book, some softwareinformation management structures will ofcourse have to be created to use it, but thehardware of this board is a key elementwhich makes such a system possible.Imagine: your computer with its audio andvideo output devices nagging you to get up,go on vacation, keep the appointment withthe dentist, etc."

Is This a Programmable Calculatoror Computer System?

Here is the latest Hewlett-Packard innova-tion, the flexible disk drive for the desk topcalculator. The disk drive plugs into the HP9825 desk top programmable calculator, toprovide mass storage capability far beyondthe built in data cartridge drive. The newproduct comes in two forms. The 9885Mmaster disk drive is priced at $3900, and the9885S slave (up to three of which may beused with one 9885M controller) is priced at$2500. The 9825 can handle eight of the9885M units, making it possible for theextreme case of 32 disk drives run by onecalculator. Since each disk holds 468,480bytes of data, in the extreme, the calculatorcould have 14,991,360 bytes of on linerandom access storage - hardly a mere desktop calculator's worth of mass storage.

The disk option will prove a most usefulfeature for this calculator, which is pro-grammed in a high level language commandsystem. The disk option extends the softwareof the calculator to include a directoryfeature for up to 320 named files on disk.All operations are done in a write-then verifymode to ensure reliability.

Hewlett-Packard is located at 1501 PageMill Rd, Palo Alto CA 94304."

Breadboard Kit IncludingSlit-N-Wrap Tool

Vector Electronic Co, 12460 GladstoneAv, Sylmar CA 91342, has introduced thisnew modular breadboarding kit containing36 different parts. The list includes terminalssockets, perforated circuit boards, wire,tools and many other items designed forcustom wrapped wire circuit construction.The kit is designated 41X by the company,and the total cost of parts for the'kit islower than the catalog prices when orderedseparately.

The kit contains the P180 Slit-N-Wraptool to wrap and strip insulated wire foundon a spool. This tool is a must for wrappingof extended bus structures, since there is notime consuming stripping or measuring to beperformed. [I'm using the Pi 80 to completea bus structure of backplane connectors onmy homebrew system which has been par-tially assembled for months due to theinconvenience of the cutting and strippingwith conventional wire wrap . . . CH/

In addition, the kit contains ten 16 pinDIP sockets, five types of wrap posts, andVectorboard socket cards with and withoutprinted circuit pads and buses. Also includedare extruded aluminum frames to supportthe circuit board as a chassis.

The price of this omnibus kit of Vector'sexcellent products is $56.50, and it isavailable from stock. The 41X Multi-ConnKit can be ordered directly from the factory(write to the attention of "Dept X"). Vectorproducts are frequently found at retail com-puter stores, and retailers of the Vector linemay find this an excellent "gift" product forthe walk-in trade."

E&L Instruments IncreasesMemory and Interface Capabilitiesof Their MMD-1 Microcomputer with anAccessory Board

A new accessory board model MMD-1/MIwith extra RAM memory, Teletype inter-face, and audio cassette interface has beenadded to the E&L Instruments line. TheMMD-1/MI simply plugs into the built incard edge connector on the MMD-1 andmounts on top of the unit as shown in thephoto.

A MMD-1/MI accessory board completelyassembled and tested, sells for $200. In kitform with all parts for assembly, the price is$150. The MMD-1/MI has the followingfeatures:

• 2 K byte programmable memorycapability (1 K supplied).

100

ENIGMAS1

COMPUTER GAMES IN BASIC

PRICE $8.00

EMIGMAS-1 IS A BOOK OF COMPUTER GAMESTAKEN FROM MY CATALOGTHE PROGRAMS IN THIS BOOK ARE:GONE FISHING - GO FISHING TO MAKEMONEY

CONCENTRATION - MATCH THE HIDDENNUMBERS-TWO CAN PLAYSLOT-MACHINE - IT'S EASY TO LOSE YOURMONEY

CRAPS DICE GAME

WITH DICE PRINT-OUT - SHOOT CRAPS ANDSEE THE DICE

TANK ATTACK - TRY TO DEFEND YOURSELFSTAR SHIP

(STAR TREK TYPE GAME) - SHOOT SOMEKLINGONSSHERLOCK HOLMES

LOGIC GAME - CHASE PROFESSOR MORI-ARTY

ALL MY PROGRAMS IN BASIC HAVE BEENWRITTEN TO RUN IN MOST ANY BASICCOMPILER-INTERPRETER WITHOUT ANYCHANGES.

THEY WILL RUN UNDER ALTAIR 4K OR 8KBASIC AND MOST ANY OTHER BASIC COM-PILER-INTERPRETER PROVIDED YOU HAVEENOUGH MEMORY TO RUN THEM.

PRICE $8.00 PPD.

SORRY NO COD'S

B. ERICKSON

P.O. BOX 11099CHICAGO, ILL. 60611

TURN ONWITH C0MPTEK

Now your micro can control ACpower outlets with COMPTER'S NEWPC3200 Power Control System.

• 1 to 32 independently address-able control channels

• Remote power control units —no AC power on logic board

• Optically isolated, current lim-ited, low voltage control lines

• Accessible through most BASIC'S

• ALTAIR and IMSAI compatibleWrite today for more details!

comptek.

"Real World Electronics"

P.O. Box 516La Canada, CA 91011

8,192 X 8 BIT STATIC MEMORY

EXCEPTIONALLY LOW POWER

KIT $295.00

"ALTAIR 8800/IMSAI 8080 BUSCOMPATIBLE"FAST 215 nS-FULL SPEED-FORZ80 ALSO"EXCEPTIONALLY LOW POWER-LESS HEAT"LESS THAN OTHER "LOWPOWER" MEMORY•BATTERY STAND-BYCAPABILITY

"ALL SIGNALS TO MOS DEVICESBUFFERED"SOCKETS FOR ALL IC'S

PROTOTYPING BOARD

LOW PROFILE IC SOCKETS

EDGE CONNECTORS

DB25 CONNECTORS

SHIPPING EXTRA, ADD S2.00NJ RES. ADD 5% SALES TAX

ELECTRONIC CONTROL TECHNOLOGY

P.O. Box 6, Union, New Jersey 07083

JsIH DEVELOPMENT LdB5

P. O. Box 2345W.Lafayette, IN 47906

(317) 463-7167

'4 watt carbon film resistors $0.03

5 percent, 50 per value min.

Vi watt carbon comp resistors...$0.0210 percent, 50 per value min.

No-Nik wire strippers $16.00

10,12,14,16,18,21,23,25,28,3134,37,44 or 54 thousanthswire diameter

Carbide PC board drills

wire size: 55 - 65 $2.88

66 - 70 $2.97

71 - 75 $3.06

76 - 78 $3.60

79 - 80 $3.60

Spec sheets are available.

We would be pleased to send you a'GOODIES' catalog listing all kinds ofhard to find products including: Molex,Bishop Graphics, AMP, CDC manualsand forms, PC drills and mills, electronics tools, PC board manufacturingsupplies, resistors, and semiconductors.

HEY, ALTAIR...GOT THE TIME?

If not, you need COMPTER'S NEW

CL2400 Real-time Clock.

• Self-contained hardware clock

• Can be set and read by BASIC

• Programmable interrupts

• Top quality board, components,and I.C. sockets

• ALTAIR and IMSAI compatible

• Uses: 24 hour clock

Software timerEvent timer

KIT —$98 ASSEMBLED —$135

comptek.

"Real World Electronics"

P.O. Box 516La Canada, CA 91011

NOW!

A Computer Store inWindsor Locks, CT

Offering the complete lineof * Altai r mainframes andperipherals as well as boards& boxes, tools &- instru-ments, books & manuals,supplies & media.

The Computer Store

63 S. Main St.

Windsor Locks, CT 06096

203-871-1783

*Altair is a registered tradename ofMITS, Inc.

For more information circle

A 103

• Teletype interface (20 mA currentloop).

• Paper tape reader control for ASR33Teletypewriters.

• Audio cassette interface.

• Sockets to accept up to 1 K PROM orROM.

The addition of the MMD-l/MI board tothe basic MMD-1 Microcomputer increasesthe system memory capacity to 2.5 K pro-grammable memory and 1.5 K PROM orROM. The Teletype interface and audiocassette interfaces allow easy and inexpen-sive data storage and retrieval. TheMMD-l/MI is now available from E&LInstruments and from all E&L Instrumentsstocking representatives. E&L Instruments islocated at 61 First St, Derby CT 06418."

The Briefcase Computer Concept, Revisited

This neat little package of computingpower, the DE68, made by the DigitalElectronics Corporation, 415 Peterson St,Oakland CA 94601, is intended for use as astand alone computer system in a briefcase.The system is completely self-contained,with the following characteristics:

• 6800 microprocessor.

• alphanumeric keyboard (96 character).

• miniature electronically controlleddigital cassette system with 100Kbyte on line capacity.

• 20 column wide alphanumeric display.

• 20 column alphanumeric printer(optional).

• 5.5 K byte PROM operating systemwith mnemonic translator, tape com-mands, memory manipulation fea-tures, breakpoints, single stepping ofprograms, traces, etc.

• 1 K bytes of user programmablememory standard, optional expansionto 4 K, 8 K or 32 K.

This is a completely self-contained micro-computer system which could be equallywell used as a personal computer, an educa-tional tool oriented to assembly level pro-gramming, or custom applications interfacedthrough its IO expansion connector (to theright of the processor card seen in thephotograph). The DE68 price, completelyready to go as seen in the photograph, is$3500 (including the printer peripheraloption) with delivery 60 days after receiptof order."

Star Trek in BASIC?

Atlantis Consultants, POB 8493, SaltLake City UT 84108, has come up with twoStar Trek programs, written in BASIC,which are available now at $12.50 for theset. Included in the literature accompanyingthe programs, according to a letter from EarlSmith of Atlantis, are memory requirements,operational instructions, and tips andpatches to help tailor the programs to anysize system. These programs are accom-panied by a one year warrantee againstprogramming and typographical errors."

Printed Circuit BoardHackers Take Note

Two new etched circuit board kits fromVector Electronic Co, 12460 Gladstone Av,Sylmar CA 91342, facilitate rapid produc-tion of quality circuit boards without expen-sive and time consuming processing withcameras and darkrooms. The kits, modelnumbers 32X-1 and 32XA-1, contain posi-tive resist coated circuit boards, bare copperclad boards, and all materials necessary forfabricating circuit boards by the direct artthen etch process, and also by the positivephoto resist process.

For direct processing, circuit patterns areapplied directly on bare copper laminatedcircuit boards, using the acid resistant rubtransfer artwork sheets and other art mate-rials contained in the kits. The sheets havepatterns for 40, 24 and 16 pin dual in linepackages, flat packs, lines in 5 widths, padsin 7 diameters, edge contacts in 2 sizes,alphabetic and numeric markings, and manymiscellaneous coupling pad configurations.

The rub transfer patterns also may beused for making one to one size custompositives on the clear Mylar film supplied.This is then used to photo pattern thecopper clad laminated boards coated withphotosensitive etch resist. Vector's positivephoto resist eliminates the need for photo-graphic conversion of master artwork tonegatives. The positive film is placed on theboard, and exposed to a full or partialultraviolet light source.

Exposure time requires approximatelyfour minutes with either a GE "sun lamp," acommercial exposure lamp, or direct sun-light. A six ounce bottle of developer insolution accommodates about 600 squareinches of sensitized surface.

The exposed and developed boards areetched in the ferric chloride solution andchemical tray supplied. The simple devel-oping and etching process takes about 20minutes. Following washing, the board isready for use.

Vector etched circuit kits are useful forboth engineering and experimental circuitboard fabrication. Existing full scale artworkmay be copied directly with the suppliedtracing and artwork materials.

The Vector 32XA-1 kit will make sevenprinted circuit boards, and is priced at $28.The 32X-1 sample kit makes two boards,and is priced at $11.50. ■

Need a Fast Microcontroller?

Signetics Corp, 811 E Arques Av, Sunny-vale CA, has introduced a new high speedmicroprocessor component called the8X300, which is "optimized for controloperations." This is a Schottky bipolar

processor with a simple two operand instruc-tion set and a single instruction executiontime of about 250 ns (operating on 8 bitdata). The processor is available from stockat distributors for a quantity of 100 price of$86.75. No single quantity price was quoted,but based on comparable pricing strategies inthe marketplace, we would expect the singleunit price to a hacker to be below $250.What can a savvy BYTE reader do with achip like this?

Well, look at the vector graphics problem,and consider design of an ROM programmedvector graphics processor. This machine visfast enough to do both the timing operationsof a vector graphics generator, and thestorage housekeeping for refresh. Build acustom machine for the 256 by 256 vector

graphics application, with an intelligent re-fresh command language and a communica-tions discipline for talking (as a peripheral)to your main microprocessor.

Take a look at the vertical micropro-gramming problem: emulating the instruc-tion set of a known "nice" processor withlots of software. The 8 bit data paths of thismachine, plus the high speed and internalscratchpad facilities should allow micropro-gramming hackers a very flexible alternativeto the bit slice approach. According to thepress release, it is "possible for 8 bit paralleldata to be rotated or masked, to undergoarithmetic or logical operations, and then tobe shifted and merged into any set of fromone to eight contiguous bits at the destina-tion - all within one 250 ns cycle." A glance

102

at the block diagram for the processorreproduced here corroborates this statement.We'll be looking forward to some articlesby readers on the use of this sort of chip toimplement high performance homebrew rigsin the near future, to say nothing of thepossibility that such a chip could be used asa key component of a true "high levellanguage" machine implemented at lowcost."

Attention, Commercial and IndustrialGraphics Users

Here is a state of the art graphics productdesigned for OEM customers only, themodel 619 Storage Display Monitor made byTektronix Inc, Beaverton OR. OEM onlymeans that Tektronix is not interested inselling to "unsophisticated" users in thiscase. But as an example of a high resolutionvector graphics display, all us individualusers will be waiting with mouths wateringfor the introduction of smaller scale but highresolution units for personal systems. Here iswhat the state of the art price of $7125(single quantity OEM) gets a systemsengineer with graphics in mind these days:

The model 619 is a 19 inch (48 cm)direct view storage tube display which isdesigned for high density flicker freegraphics. The 619 provides stored displays ofcombined alphanumeric and graphic infor-mation from analog sources and digitalcomputers, with engineering data providedso that the OEM systems builder has fullcontrol in developing analog or computer

interfaces to utilize the capability of the619.

The storage tube of this device is used toachieve high density graphics without theneed for providing expensive memory de-vices. But the bistable storage tube has twomodes of operation: The storage modeallows conventional storage graphics whichgives high density flicker free pictures builtup over considerable periods of time; asecond refresh graphics mode allows a par-tially stored and partially refreshed displayto be generated. Only the fixed portion ofthe display is stored with storage graphicstechnology, and a variable refresh graphics

portion covers the moving stuff. In a SpaceWar game, this terminal would excel since anintricate background map could be con-structed using the storage graphics tech-nology of the instrument, with the variablegraphics of the space ships, torpedos,players, etc, being provided by the refreshportion. The capacities of the machine in therefresh mode are 3200 inches of storedvectors and 630 inches of refreshed vectors.One can expect that those lucky BYTEreaders who have access to a Tektronix 619through a research, commercial or industrialjob situation will have a field day with thismachine for interactive games."

If you want a microcomputerwith all of these standard features...

• 8080 MPU (The one

with growing soft-ware support)

• 1024 Byte ROM(With maximum capacity of 4K Bytes)

• 1024 Byte RAM(With maximumcapacity of 2KBytes)

•TTY Serial I/O•EIA Serial I/O

• 3 parallel l/O's•ASCII/Baudotterminal com-patibility with TTY machines or video units

• Monitor having load, dump, display, insertand go functions

• Complete with cardconnectors• ComprehensiveUser's Manual, plusIntel 8080 User'sManual■ Completelyfactory assembledand tested —nota kit

• Optional ac-cessories: Key-board/videodisplay, audiocassette modeminterface, power supply, ROM programmerand attractive cabinetry... plus more optionsto follow. The HAL MCEM-8080. $375

then let us send you our card.

HAL Communications Corp. hasbeen a leader in digital communi-cations for over half a decade.The MCEM-8080 microcomputershows just how far this leadershiphas taken us...and how far itcan take you in your applications.That's why we'd like to sendyou our card—one PCboard that we feel is thebest-valued, most complete

m

microcomputer you can buy. Fordetails on the MCEM-8080, writetoday. We'll also include compre-hensive information on the HALDS-3000 KSR microprocessor-based terminal, the terminal thatgives you multi-code compati-bility, flexibility for futurechanges, editing, and aconvenient, large videodisplay format.

HAL Communications Corp.

Box 365,807 E. Green Street, Urbana, Illinois 61801

Telephone (217) 367-7373

without OtOlTWARE. At last a BASIC SOFTWARE LIBRARY is available ! ! !Volumes I & II available immediately; III S IV in January. * Vol. I - BUSINESS &RECREATIONAL, source codes, instructions, etc. 300 pg. * * Vol. II - ENGINEERINGSTATISTICS & PLOTTING plus BASIC Reference conversions, 250 pg. Each written inBASIC, immediately executable in ANY computer; micro or mini. SPECIAL CHRISTMASt^^ OFFER Vol I & II - $39-95; else $2*t.95 ea. Add $2 ea. for hndlKmeS $** for air mail, or send SASE for info.TO: SCIENTIFIC RESEARCHPO Box 2096; Ashland, VA 23005. * Volume Discounts available *

Deiler and distribution inquiries welcome

103

Classified Ads for Individuals and Clubs

FOR SALE: Complete VIATRON System 21,includes printing robot, comm adaptor, also manytapes. Unit in perfect operating condition. Willconsider throwing in the IBM Selectric Model 72typewriter. Want $500 for all except Selectric. Willtrade for video display board and memory forIMSAI, or small video terminal. Tom French, c/oPhilips Data Systems, 3320 Holcomb Bridge Rd,Norcross GA 30092.

FOR SALE: Hewlett-Packard HP-185B oscillo-scope with 187C dual trace plug in. Triggeredsweep, DC-1000 MHz sampling. Internal DC level,50 MHz sine wave, pulse calibration signals. Oneknob cracked but scope works good. $300. MikeTurner, Rt 2, Roberts St, Fletcher NC 28732.(704) 684-2112.

WANTED: I am looking for information on aFREIDEN "5610 Comptyper." (1) Pin outs on theaux output plugs of this unit. (2) Necessary data tointerface this unit with a 8080 system. K9BJN P FCollins, 1611 W Madison St, Kokomo IN 46901.(317) 452-0265.

WANTED: New or used LA36 DECwriter II. I havewritten several programs in Altair BASIC. Forinformation send $0.25 to Timothy G Roscoe, 153Dorman Dr, Elizabeth PA 15037.

WANTED: Need schematics and manuals forDURA MACH 10, also tech data for ITEL System3016SQD and/or DURA typewriter models8123124 and 133038. I have considerable data(130 pages) on other models to swap or sell. I wishto communicate with other users and parts sources.Ronald Jenkins, 4490 Sirius Av, Apt 4, LompocCA 93436.

FOR SALE: IBM 2315 disk cartridge (S/N 22721)perfect condition; make offer. Rudy Wrobel,12725 W 55 Terrace, Shawnee KS 66216.

FOR SALE: MITS 88-4MCD 4 K dynamic memorycard. Fully assembled and tested by MITS $190;88PIO parallel IO port with cable and connectors,assembled and tested $60. Complete set of Mark-8boards with one extra memory board all brand newplus highly regulated Precision Systems powersupply +5 V/8.5 A -12V/2.0A adjustable to—9 V, includes Radio Electronics Mark-8 blurb allfor $110. Steve Caldara, 965 E State St, Ithaca NY14850. (607) 273-9234.

FOR SALE: MITS Comter 256 terminal withacoustic telephone coupler, assembled and opera-tional. Also, three 4 K dynamic memory boardsand an 88-ACR cassette interface, all assembled.Steve Fritts, 2920 Bellevue St, Knoxville TN37917, (617) 525-5407.

FOR SALE: I have a supply of new INTEL and Tl8080A microprocessor chips for $25 each. Thesecan be used to update your Altair computer, tocontrol intelligent peripherals, or for experimentalcircuits. Sockets and specs are available if re-quested. G Lorenc, Box 710 LU, Lockport IL60441, (815) 838-4930.

WANTED: Low cost new or used terminal and/oracoustic coupler for private use. Write Rob Lufkin,Lodge 9, RFD 1, Box 52, Charlottesville VA22901.

FOR SALE: Zilog Z-80 third generation micro-processor chips. $95 each including shipping andhandling. We are a club and will purchase thesechips from the manufacturer at quantity discountprices. We need a minimum of 25 orders. For adescription of the Z-80 see the August 1976BYTE, page 34. Send orders to Kristopher Kafka,166 Marshland Rd, Apalachin NY 13732.(607) 625-2972. Sorry, no CODs, no. credit cards.

FOR SALE: SCM computer terminal in perfectworking order. Complete with cables and well-filtered power supply. All in working order. SCMNo. 603601 schematic No. 4391171. Can easily beconverted to IO hard copy printer. You payshipping and $150. Will trade. Call or write WallaceHurley, 2753 Parkside Dr, Fremont CA 94536.(415) 792-8589.

FOR SALE: Limited supply of core memoriesfrom major computer manufacturer with specsheets. 8 X 64 X 64, $15; 16 X 64 X 64, $30; 17 X64 X 64, $35; spec sheets, $0.75. Include shipping,excess refunded. Jim Kuiper, 542 Linden Ln, AnnArbor Ml 48103.

FOR SALE: FRIDEN printing terminal 1970,several available. 12.2 or 14.7 cps - full ASCIIfont - half duplex with breakin - 14% paper; 140print positions. Quiet, mechanically simple, castaluminum housing. Size 21" X 23" X 11". Roomfor 15 3" X 5" PC cards. Parallel data input andoutput. Schematic for electronics to perform shiftdecode, repeating and logic interface with UARTincluded (standard TTL). Mechanically overhauled,excellent operating condition $250 delivered. NewYork-Boston. J Colter, POB 122, Short Beach CT06405.

WANTED: ITT Asciscope repair manual andschematics. George Ahmuty, 60111 Wendy Ln,Westport CT 06880. (203) 227-8534.

FOR SALE: Altair 8080, PTC Motherboard,IMSAI cassette interface, 4 K and 1 K RAM, 4 KEROM presently burned with assembler-monitor-editor, MITS quad parallel interface board, TlASCII keyboard, PTC VDM-1 with expandedsoftware and video monitor. Complete system:$1600. CG Hullquist, (615) 727-7793/8437, BoxH, Mountain City TN 37683.

ENTREPRENEUR seeking creative electronics"wizard" as partner in new moonlighting businessventure to develop computer products for highpotential home and small business markets. Mustbe located in San Francisco area. If interested,please write R Lum, 20661 Marion Rd, SaratogaCA 95070.

FOR SALE OR TRADE: Friden FlexowriterModel SFD. Has 8-level printer, paper tape reader,paper tape punch and keyboard. Excellent con-dition. $300 or will trade for TVTI orTVTII. Callor write Bill Dawson, 316 21st St, Apt No. 4,Virginia Beach VA 23451. (804)425-4411 (days),(804) 422-5921 evenings.

SWAP OR SELL: One (1) tape punch machinewith keyboard, 75 cps punch and Burrough dis-play. $400. Four (4) 75 cps punch mechanisms anddriver cards. $75 each. Three (3) high performancestepper motor systems (2 motors and power supplyand control logic). $300 each. Honeywell 3Ccards - three (3) each: FC320 and BC320; one (1)DK320. Call after 5 PM (617)369-2075. AlbertSpitzak, 113 Everett St, Concord MA 01742.

FOR SALE: I have an HP-65 calculator to sellbefore I buy a computer, since having both wouldtake too large a byte out of my savings. $700 buysit. Joseph R Danek, 3945 E Birchwood Av,Cudahy Wl 53110. Call (414) 769-7489 between 9and 12 AM CST.

FOR SALE: Issues 1-12 of BYTE, good condition.Best offer above cost of magazine. Robert Camp-bell, 4324 Walker St NE, Cedar Rapids IA 52402.(319) 393-4191.

FOR SALE: Altair 8800 computer, fully assem-bled and tested, with 1 K static RAM, $500 plusshipping and handling. R A Stook, Cherry Dr,Souderton PA 18964. Telephone: (215) 723-4766.

FOR SALE: MITS VLCT (Very Low Cost Termi-nal), complete except for case, $75; 4 K memoryboard for Altair 8800, fully assembled and work-ing, $95; tape cartridges for IBM MTST typewriter,$5 each or swap for ? Used Altair 4-slot mother-board in reasonable condition, $10. Jim Einolf,3900 Fox Dr, Loveland CO 80537.

FOR SALE: STELMA Model 2400 data modem.1200 and 2400 bps over HF radio (used onAPOLLO project for long haul data transmission).2 units, spares, manual $250. Frank Gentges, 3512Or me Dr, Temple Hills MD 20031.(301)894-2613.

FOR SALE: MOS Technology KIM-1 micro-computer system. Purchased in March from MOSfor $245; completely checked out. $1 75, including5 V and 12 V power supply. Built to MOS specifi-cations, and complete documentation. KIM-1 hashex keyboard, LED display, 1 K RAM, PROM-resident executive, TTY, audio tape, and BOSinterfaces. Larry Hill, (617)475-4700 or(617)646-6428; 163 Waverly St, Arlington MA02174.

FOR SALE OR SWAP: EIS telewriter-keyboard/printer unit, 8-level code (ASCII), 110 baud, fullduplex, TTL level output. Operating condition,may need some adjustments. W/some data $295.Also some fully ASCII encoded keyboards $50.Money order to: Bill Dumbleton, 1713 Webster St,Omaha NE 68102. (402) 341-1529 days, 551-0577evenings.

FOR SALE: 16 K words by 9 bit core memorymodules (10" X 12" X 4"). Needs only T2Linterface and power supplies (+5, —5, and +30volts). 1 us read/write cycle time capability. Com-plete documentation available. For additionalinformation write to Dave Bowman, 5437 W TierraBuena Ln, Glendale AZ 85306, (602) 978-0332.

TRADE: Will trade by BYTE collection (issues1-12, excellent conditon) for a complete set ofQST magazines from January '75-June '76 inclu-sive. Jeff Stern, 809 Flanders Dr, Valley Sum NY11581. (516),791-7471.

FOR SALE: FABRITEK core stack, model999-6155-00-B 16 K words by 24 bits, no otherdata. Will include 34 type SN7528 sense amps.Best Offer over $200 takes it. Contact: SteveMarum, 116 Western Hills Dr, Apt 136-J, Howe,TX 75059. (312) 532-5292.

PARTNER(S) for microcomputer store wanted inTexas, Okla, Colo, or NM. I will finance up to onehalf interest in store; you must have direct micro-computer experience. Dr M E Reed 1417 North-gate Sq B-12, Reston VA 22090. (703) 437-5992.

FOR SALE: Assembled SWTP 6800 CPU boardwith support information consisting of SWTP 6800User's Manual, Motorola 6800 ProgrammingManual, and 6800 Applications Handbook. Will sellfor $260 or best offer. Mark-8 CPU, Address latch,and Input multiplex boards, includes most TTLand resistors and caps, $30 or best offer. 18 slotcard cage used —great condition, with 18, 22 pinWW and 17, 100 pin WW Amphenol card edgeconnectors, $25. Tim Tibbott, 714 N Nottawa,SturgisMI 49091.

FOR SALE: Populated MIL MOD 8 boards: 8-2TTY board $10. 8-3 Control board $10. 8-6, 8-7IO boards $10 ea. 8-1 CPU board $18. Unpopu-lated 8-4 1702 type PROM board $5. C-MOD 8MOD 8-9 board with 8316 2 K X 8 bit ROMcontaining 8008 operating system $30. Plus muchinformation on the MOD 8 system. All boards builtwith PRIME parts. R DeHoff, Smith Hall, Kent OH44242.

FOR SALE: High speed paper tape punch, Tele-type Corp (BRPE) with maintenance manuals andparts manual. Eight channels at 110 characters persecond. Very good working condition. Best offer.Ronald Howland, 23 Sumner St, Milford MA01757.

AVAILABLE: Copies 1-9 of BYTE (two copies ofissue 2). Any offer will be considered but wouldprefer to sell all in one transaction. Contact: JohnR Kaser, 7500 NW Peavy Arboretum Rd, CorvallisOR 97330. (503) 745-5703.

FOR SALE: 8008 based operating system fea-turing 11 human-engineered commands, allows fullcontrol of loading/examining memory, octal or hexdump, execution initiation, and read/write/controlof cassette tape storage. Included are 47 pages ofsource code, operating instructions, and schematicsfor 256 level hardware pushdown stack, serial-parallel interface, PROM interface. $7.50 postpaid.If 15 orders are not received within 30 days frompublication of this ad, your check will be returneduncashed. William E Severance Jr, Center LovellME 04016. (207) 925-2271.

104

^COMPUTER

PROGRAMMING

COURSE

Free description and outline ofModu-Learn ™ Home StudyCourse in microcomputer pro-gramming. Hundreds of pages oftext with examples, problems,and solutions. Prepared by pro-fessional design engineers usingthe best software design tech-niques from structured program-ming and practical experiencewith microcomputers. Presentedin a modular sequence of 10lessons oriented for the newprogrammer. Extensive referencematerial you will use long afteryou become an accomplishedmicrocomputer software designer.Much of the information in thecourse has been available onlythrough costly seminars. Nowyou can purchase this completehome study course for under$50.00. Send for free descriptivebrochure now.

SERVICES INCORPORATED711 Stierlin Rd, Mountain View,CA 94043 (415)965-8365

Audio Design Electronics

Presents A New Concept inMini/Micro ComputerShops

s=

=oO0<^

*>

The Computer Emporium

Authorized Dealers forI MSA I, S.W.T.P.Co, O.A.E.Processor Technology,D.B.S. and many others.

Come see our showroomand see the Difference.

Support Service Sales

The Computer Emporium

487 Broadway 510-512

New York, N.Y. 10013

212-226-2038

Photocopy or cut oui this solicitation forinformation and send to:

7338 Baltimore Ave., Suite 200College Park, Maryland 207-10

JOINT VENTURE

GROUP OEM BUYS

CHEAP, Inc. was set up to coordinate joint venture OEMGroup Buys? Depending upon the total quantity of commitments received, you can expect to pay from 20% to 70% ofthe retail sales price. Now you too can combine your orderswith others throughout the country to purchase factory newelectronic components at OEM rates. We will accept smallFactory and Club commitments as welt as individualcommitments.

Circle below the products you may be interested in andestimate their quantity. After we receive this survey, we shallsend, to you, more information, prices and delivery dates.

Memories: 91L02 2102 1702

MicroP: Z80 8080A 6800

P.C. Boards: Computer Grade double buffered optional parity

memory boards compatible with the Altaic 8800 on one

edge and the Altair 680 o

Floppy Disk Drives

Mag. Tape Drives ,

TV Monitors ,

Sockets: 14 Pin ,

24 pin 40 pin

Software: Fortran ,

the opposite edge; 4:f

Disk Controller

Modems

Oscilloscope—

16p.n

_, Other

Other:

Other:,

EXTRA: We will consider purchasing general purpose P.C.Boards and Kits, etc. Write us about what you may have tooffer and its OEM prices.

microcomputers

— Computers lor People —

IMSAI 8080

At Special Introductory Prices(Prices EHectiveUntil December 31. 1976 Only)

I-8080 Kit $506

I-8080 Kit with 22 Slot Mother $550

• Add $9 each for shipping and handling

• New York residents add Sales Tax

• Send check or money order for full amount(Allow 3 weeks for personal checks.)

WE TAKE MASTERCHARGE HJKOR BANKAMERICARD —^r—

FOR MAIL AND PHONEORDERS

For orders, information or special priceson all IMSAI products

Call: (315) 637-6208

A/rile:

computerentefprises

P.O. Box 71 • Fayetteville, N.Y. 13066

Ask lor Our Special Price Sheet

Attention: KIM-1 owners.

For Sale: Assembler program com-patible with MOS Technology assem-bler. Uses KIM-I cassette interfacefor storage of source and objectprograms. Also includes a text-editorprogram, and both run in 4K ofmemory. They are distributed oncassette in both source and objectform, in case you wish to improve ormodify them to suit your needs.Assembler/text-editor .. $19.50 ppd.Write for details on sale of yourprograms on a commission basis.

Micro Software Specialists, Inc.2024 Washington StCommerce TX 75428.

NOW!

A Computer Store inNew York, NY

Offering the complete lineof *Altair mainframes andperipherals as well as boards& boxes, tools & instru-ments, books & manuals,supplies & media.

The Computer Store Inc.

55 West 39th St

New York, NY 10018

212-221-1404

* Altair is a registered tradename ofMITS.Inc.

For more information circle

Build ThisVideo Display Terminal

Alfred I Anderson721 15th AvSWRochester MN 55901

I PROCESSOR ADDRESS BUS ~^>

c

PROCESSOR DATA BUS

o

I PROCESSOR CONTROL BUS ~^>

I first became interested in micro-processors about a year ago. After muchthought, I decided to investigate this rapidlygrowing field. I did not have any particulargoal in mind but I did want to learn howthey work and what they can do. Therefore,I decided not to buy a kit but to build myown from scratch. I happened to select theMotorola processor for a number of reasonswhich I won't consider here. After a fewweeks, I had a small system up and running.I even managed to interface an old "Tele-Term" that I borrowed from the MayoClinic where I work. Now (I thought) I hadthe cat by the tail (or the byte by the bit?).

READ/WRITE

S IY NS TT E

E R

M FAC

E

c

RAM ADDRESS BUS

O

RAM DATA

^

IK X 8PROGRAMMABLEMEMORY

<3

VIDEO ADDRESS

VIDEO DATA

^

VIDEOGENERATOR

TELEVISION

72-3 00ftTRANSFORMER

<h

RFMODULATOR

Figure I: Video Terminal Systems Configuration. This block diagram showshow the terminal subsystem is organized as a display generator for thecomputer system.

It wasn't long until I became impatient withthe slowness of the Tele-Term, its loudclacking, and the reams of paper I was goingthrough. What did I need? A video terminal,of course. There are a number of good kitson the marketplace. My impression was thatthey are either too expensive for my home-brew budget or they are Altair compatible.Now I needed Altair compatibility for myhomebrew system like a write only memory.It would not have been a trivial task tointerface any of the affordable videomodules designed for the Altair to myhomebuilt 6800 system. What could I do?

The answer was in the June 1976 issue ofBYTE. Mr Gantt's article "Build a TelevisionDisplay" /page 16] provided the basic infor-mation I needed on television interfacing. Ichanged the circuit around a bit, added afew goodies, incorporated some memory,and wrote a few lines of software. I am nowusing a video terminal that you would like.The following paragraphs should outlineeverything you need to know to completeone of your own.

Design Specifications

For my purposes a video terminal had tohave a number of features I deemed to bedesirable. First, I wanted immediate accessto any character on the screen withouthaving to mess around moving little whiteboxes. This feature allows me, for example,to keep a real time clock display in the upperright hand corner of the screen. This videoterminal uses a simple minded directmemory access technique enabling a com-plete screen update in the twinkling of aneye. I chose a screen configuration of 16lines by 32 characters per line. This limitedamount of data didn't really concern mesince I would also be using scrolling. This

106

/W

o\

VAB |

VA7

VA6

FROMSYS-TEMINTERSFACE

,VPi 22

L>*CS-NC

NOTE: ALL RESISTOR VALUES ARE OHMS

Figure 2: Detail Schematic of the Video Generation Circuitry. This section of the design includes all timing logic and charactergeneration logic. See table I for a complete parts list for figures 2 and 3, and see table 2 for the power wiring list.

107

BIDIRECTIONAL

DATA BUS

FROM PROCESSOR

, ADDRESS

> SELECT

HEXADECIMALOCOO TO OFFF

(BITS 0 TO 9 ADDRESS2102^)

ADDRESS BUSFROM PROCESSOR

0±2-

[=>A8_(=>AJ_

0*s-

A4_

"^IL

&

o*o*

AO

D3 04D6 36D7

1C 17

8T97,

-h-

OAOBOCODOE

ENI EN2

IC13

8T97

^

24.11 25.M26JI 34.1135.11 37.1127.11 36.11

DATA IN

MEMORY ARRAY8 2IL02-I INTEGRATED CIRCUITSIC24 IC34

IC25 IC35

IC26 IC36

IC27 IC37

N0TE:X.7=ALL IC'S.PIN 7(TYR)26.12= PIN 12, IC26(TYP.)

DATAOUT

24.1225.1226.1227.1234.1235.1236.1237.12

X.I3CS

A9 A8 A7 A6X.I4X 15X16 X.I

l-PROCESSOR0-VIDEO

_L5

A5 A4A3A2X2 X7X.6X.5

IY 2Y 3Y4YICI474157

IA2A3A

4A

ADDRESS

1

SELECTION

A I AOX.4 X.8

IY 2Y3Y4YIC 1574157IB IA

2B

3B

4B

s

2A3A

4A

T

Y£0_

_VDOr

VDI

_VJH

VD2

o

iia_

VD4

K>€>

joao

I TO VIDEO/GENERATOR

VD6

VD6

mz_

R

O

/77

VA9VA8VA7VA6

<J

VA3 -

\FROM VIDEO/GENERATOR

IY 2Y

IC 1674157

B

2B

r

VAO

Figure 3: Detail schematic of the system interface and memory for this video terminal design. In this diagram, the processorinterface is at the top and left edge, and the video generator interface to figure 2 is at the right of the drawing.

108

allows the display of any 16 consecutivelines of the 32 lines kept in memory. To befancy, I thought it desirable to have bothwhite on black characters and the reverse(black on white) for highlighting. The termi-nal should use the standard power supplies Ihad available in my system (+5, +15,—15 V). Since I didn't want to fool aroundmodifying my television I included an RFmodulator to feed the signal to the TVantenna inputs. My entire system was builton Vector #3677 and 3682 DIP plugboards.Therefore, this video terminal should also fiton the same type of board.

Finally, and most important, it had to becompatible with MY system. I should prob-ably add that this terminal can of course beadapted for any computer system. It is a loteasier to interface Motorola systems to Intelsystems than vice versa.

Functional Implementation

Figure 1 shows the relationship betweenvarious modules comprising this video termi-nal. The system incorporates a 1 K X 8programmable memory to refresh the screen.The contents of the first 512 bytes isconstantly being accessed by the video

display generator. The video output isrouted through coax to an RF modulatoradjusted, in my case, to channel 5. This iscoupled to a nine inch (22.86 cm) GE blackand white portable TV through a six footlength of coax and an impedance matchingtransformer. The interface section of theterminal is quite simple. Its sole purpose isto allow the processor to access the videomemory whenever it desires.. I felt that anoccasional high priority interruption to thedisplay was preferable to slowing down theprocessor. After the system was built, Idiscovered that no interference could beseen on the terminal when the processor wasupdating the display.

This display interface was built on astandard 41/2" by 9Vi" (11.4 cm by 24.1 cm)Vector #3677 plugboard which I highlyrecommend. The board has two power busesetched on the reverse side. I have neverexperienced any problems with the powerdistribution while using these boards. Theboard was wire wrapped with all integratedcircuits in sockets. Isolated discrete com-ponents were mounted with wire wrappableterminals. Analog subsystems were mountedon dual in line header plugs which, in turn,were mounted in wire wrapped integrated

Listing I: A Memory Test Program for the 6800. This program tests the user memory of thetelevision interface. If an error Is found, the program stores the parameters of the erroneouslocation in locations VALUE (the test pattern to be stored), RSLT (the garbled test patternread from the bad location) and A DDR (the address of the bad location). The limits of the testare arbitrary, being set by the constants at STRTADR and EN DA DR. An error condition isconcluded by entry into an endless loop of one instruction in length, thus locking up themachine until reset by the programmer making the test.

Addr Hex Code Label

000000020004000600070008000A000 B

000 D000E000F00110012001400160018

001 A001C

DE 2286 00

A70101E611264C4D26089C2697D7

00

00

09

F3

24

EC1E1FDF 2020 FE

MTST

LOOP1

LOOP2

ERROROOPSLOOP

Op Operand Commentary

LDX STRTADR X := STRTADR [define starting address] ;

LDAA #0 A := 0 [define first test pattern] ;

STAA 0,X @X= A [write test pattern] ;

NOP Let the memory circuits settle

NOP down a bit between accesses;

LDAB 0,X B := @X [read test pattern back] ;

CBA Does test pattern read match original?

BNE ERROR If not then quit with error;

INCA A := A + 1 [define next test pattern] ;

TSTA Is A = 0? [have all patterns been used?];

BNE LOOP2 If not then continue cycle at current address;

I NX X := X + 1 [define next test address] ;

CPX ENDADR Is X = last address?

BNE LOOP1 If not then restart test loops;

STAA VALUE VALUE := A [indicate source value] ;

STAB RSLT RSLT := B [indicate resulting value] ;

STX ADDR ADDR := X [indicate address of problem] ;

BRA OOPSLOOP Hang up in endless loop until restart;

Data Required By MTST: These locations are at absolute addresses in the firstpage of memory, and are referenced by direct addressing. If the program is re-located, the variables should remain in page zero.

001 E

00

VALUE

FCB

0

001 F

00

RSLT

FCB

0

0020

00

00

ADDR

FDB

0

0022

00

00

STRTADR

FDB

0

0024

00

00

ENDADR

FDB

0

Error value;Error result;Error address;Starting address of test;Ending address of test;

109

Table 1: Video Terminal Parts List. This listing summarizes the partsidentifications, sources of supply and approximate cost of this design as builtby the author. The costs for most parts are typical. The only part for which itmay be difficult to find alternate sources of supply is the Pixe-Verter, a brandname product. The names and addresses of the vendors used by the authorare listed at the end of the table.

circuit sockets. The radio frequency modula-tor was located off the board in a shieldedmetal box underneath the computer chassis.All video and radio frequency signals arerouted through 72 ohm RG 59/U coaxcable. Needless to say, only good qualitycomponents were used in the constructionof this system. Out of spec chips, in myopinion, are useful only for making tie tacs[and for stapling notes to bulletin boards].

Approximate

Quart

Type IC numberIntegrated Circuits, TTL

Source

Cost*

1

7400 IC53

James

.18

2

7404 IC32, IC64

James

.32

2

7410 IC33, IC42

James

.40

2

7485 IC11.IC23

James

1.78

2

7486 IC76, IC77

James

.78

2

7490 IC31.IC44

James

1.38

1

7492 IC52

James

.82

2

74123 IC43, IC45

James

2.10

3

74157 IC14, IC15, IC16

James

3.90

1

74165 IC65

James

1.10

1

74192 IC46

James

1.50

3

74193 IC47, IC54, IC55Integrated Circuits, MOS

James

4.30

3

8T97B IC12, IC13, IC17

SD

4.47

8

21L02-1 IC24, IC25, IC26, IC27,

IC34, IC35, IC36, IC37

SD

12.95

1

2513N IC57

James

11.00

1

MM5320 IC51Hardware

Nexus

4.95

27

16 pin Wire Wrap Sockets

James

11.34

9

14 pin Wire Wrap Sockets

James

3.51

1

24 pin Wire Wrap Socket

James

1.05

1

14 pin DIP Plug

James

.64

1

16 pin DIP Plug

James

.70

21

Wire Wrap Terminals, type T-49

James

1.25

300'

#30 ga Wire Wrap Wire (9.95/1000')Capacitors

Ace

3.50

1

22 pF

James

.05

2

47 pF

James

.10

1

100 pF

James

.05

1

.0047 mF, Mylar

James

.12

1

.01 mF, Mylar

James

.12

31

.1 mF, ceramic bypass (3.75/50)

James

2.33

1

1 mF, Tant

James

.28

2

100 mF, 16 volt, electrolyticResistors

James

.38

1

47 ohm, % watt, 5% carbon

James

.05

1

100 ohm

James

.05

1

150 ohm

James

.05

2

330 ohm

James

.10

1

680 ohm

James

.05

3

1 k

James

.15

1

18 k (particular value unit dependent)

James

.05

3

20 k, 10 Turn, Trimpots #43P203Semiconductors

James

4.05

1

1N4742, 12 V Zener Diode

James

.29

1

1N751A, 5 V Zener Diode

James

.25

1

2N3904, NPN GP TransistorMiscellaneous

James

.25

1

10 MHz Crystal #CY12A

James

4.95

1

Vector #3677 Plugboard

B-A

10.38

1

Vector R644 Plugboard Receptacle

B-A

4.32

1

Pixe-Verter, Model #PXV-2A

ATV Rsh

8.50

10'

RG 59/U Coax

Radio Shk

.60

1

72 ohm to 300 ohm Transformer

Radio Shk

2.95

2

RF Connectors

Radio Shk

.89

Approximate Total Cost $115.28

Hardware Configuration

Figure 2 is the schematic of the videoprocessing subsystem. This circuitry is sub-stantially the same as the circuit designed inthe article by Mr Gantt. Several componentvalues have been altered from his originaldesign. 74123s were used to reduce thepackage count with excellent results. Thedot counter clock is not derived from thecrystal frequency. Instead, a one shot multi-vibrator is used to give variable characterwidth. This allows one to adjust the linewidth to the sweep time of the individualTV being used. This frequency can beincreased to allow 64 characters per line ifdesired. Although they are clear, I prefer notto use a magnifying glass to read the data onthe nine inch TV screen. Exclusive OR gateswere inserted between the 2513 charactergenerator and the 74165 shift register toallow for reverse characters. Note that acursor is nothing more than a reverse space.Only six data lines are required to specify aparticular 6 bit ASCII subset character code.This allows the two remaining data lines tocontain control information. If bit 7 is on(the most significant bit), the exclusive ORgates act as inverters to produce a reversecharacter. If bit 7 is off, they act as buffers,passing logically true data for a standardcharacter. Bit 6 is currently unused. Thiscould be used to enable a blinking gate tomake individual characters flash on and off.Or it could be used to disable the charactergenerator and enable a handblown PROMarray which would allow a certain degree ofgraphic text capability. The video combiner

Vendors' Addresses

SD Sales; POB 28810; Dallas TX 75228.

Burstein-Applebee; 3199 Mercier St.'Kansas City

MO 64111.

Nexus Trading; Box 3357; San Leandro CA 94578.

James Electronics; 1021 Howard St; San Carlos

CA 94070.

ATV Research; 13th and Broadway; Dakota City

NE 68731.

ACE Electronic Parts; 5400 Mitchelldale B-8;

Houston TX 77092.

110

is different from that shown in Mr Gantt'sarticle. The 2N3904 transistor is controlledby the addition of the two inputs (com-posite sync and video). It provides theproper interface to the RF modulator. Notethat nearly every integrated circuit is by-passed with a 0.1 mF ceramic capacitor.This insures a clean power supply line withlittle or no switching transient noise. I feltthis to be especially important in view of thedifferent nonrelated frequencies in the ter-minal. Notice the small circled numbers thatare alongside of the discrete components inthe crystal time base and video combinersystems. These refer to the pin locations onan IC plug which holds the components.

Anyone familiar with interface boardswill recognize the simplicity of the oneshown in figure 3. The address lines on theleft side of the schematic are from theprocessor's buffered address bus. The datalines at the top are to the bidirectional 8 bitdata bus. The 10 address lines and eight datalines to the right side are interconnections tothe video terminal controller. The high orderaddress lines from the processor along withthe 6800's VMA (Valid Memory Address)signal are decoded by the four bit magnitudecomparators IC11 and IC23. The memoryaddress is set by the levels on the B sideinputs of these 7485s. The schematic showsa setting for a memory address of hexa-decimal 0C00 to OFFF, IC23 pin 6 toggles toa positive level whenever the high orderaddress from the processor bus matches thepreset address. Within nanoseconds the dataselectors (74157s, IC14, IC15, IC 16) switchcontrol of the memory address lines fromthe display generator to the processor bus.Half a microsecond later, with the addressfirmly established on the memory chips, thephase 2 clock goes high enabling the writeline (if writing data) or the output buffers (ifreading data). While the memory reference isbeing made by the processor, the terminalhardware may attempt to load a character.The character it gets is not necessarily theone at the address it wants but the characterthat the processor is addressing. This wouldseem to cause an improper character to bedisplayed. However, since this contentionoccurs so infrequently and the refresh is sorapid, no visible interference is seen on theTV screen in a typical situation. The pro-grammable memories are of the 21L02-1variety. Except for the data in and data outconnections, the memory integrated circuitsare all wired in parallel. They are perma-nently enabled by tying their chip selectlines to ground. This hardware is about assimple as can be expected. It should notpresent any problems to anyone with any

experience in assembly of electronics.Photos 1 to 17 show waveforms at selectedtest points identified on the schematics.These photos illustrate typical waveforms ofmy completed display board, taken from aTektronix 455 oscilloscope.

Software Support

The primary disadvantage of this systemas a terminal is the lack of a local mode likea hard copy printer or traditional displayterminal. All data to be written on thescreen must pass through the processor. Thisis not a serious disadvantage unless onedesires a stand alone toy TV typewriter. Youmay choose to develop your own software(you have to if your processor is not a6800!), or, if you are running a 6800system, you might like to give mine a try.

This software is a collection of com-pletely relocatable subroutines (that is, thefollowing package can reside anyplace inmemory without changing any subroutineaddresses). There are five entry points ofinterest. They allow your programs to:

Table 2: Power Wiring List. This table listseach Integrated circuit of this project and itspower supply wiring pins. The rest of thewiring is done according to the schematics offigures 2 and 3.

No Device +5 V -5 V -12 V GND

8888888

89999

1077999978

10

8

8

8

1

1078812 1 10

87877

IC11

7485

16

IC12

8T97

16

IC13

8T97

16

IC14

74157

16

IC15

74157

16

IC16

74157

16

IC17

8T97

16

IC21

A1

IC23

7485

16

IC24

21L02-1

10

IC25

21L02-1

10

IC26

21L02-1

10

IC27

21L02-1

10

IC31

7490

5

IC32

7404

14

IC33

7410

14

IC34

21L02-1

10

IC35

21L02-1

10

IC36

21L02-1

10

IC37

21L02-1

10

IC42

7410

14

IC43

74123

16

IC44

7490

5

IC45

74123

16

IC46

74192

16

IC47

74193

16

IC51

MM5320

8

IC52

7492

5

IC53

7400

14

IC54

74193

16

IC55

74193

16

IC57

2513

24

IC61

A2

11 & 13

IC64

7404

14

IC65

74165

16

IC76

7486

14

IC77

7486

14

111

h h n n

Photo 1: Test point 1, pin1 of IC31, 50 ns perdivision.

Waveform Photographs

777e oscilloscope photos, 1 to 17, are included fortrouble shooting purposes. These were taken on aTektronix 455 oscilloscope using a I OX probe.Unless otherwise noted, the vertical sensitivity is Ivolt per division. The horizontal sweep speed andtest point location are shown in the caption ofeach photograph. The ground reference line is onedivision below the center line in each photograph.

Photo 2: Test point 2, pin 1 of IC43,200 ns per division.

Photo 7: Test point 7, pin 5 of IC43,2 ms per division.

Photo 3: Test point 3, pin 4 of IC43,200 ns per division.

Photo 8: Test point 8, pin 12 of IC45,50 ns per division.

! ! | ! | | 1 [

_Am '.^^t^j. ^^^^^ j^^^^^^ '^^^^^^ j^u^^^ ^^^^^^

^| [^^^^^* ^^^^^P ^^^^^B ^^^^^1 ^^^^^p ^^^^^H

. ... |

liit HH

Photo 4: Test point 4, pin 13 of IC45,20 /is per division.

Photo 9: Test point 9, pin 6 of IC42,100 ns per division.

Photo 5: Test point 5, pin 12 of IC44,5 ms per division.

Photo 10: Test pointIC53, 10 lis per division.

10, pin 3 of

Photo 6: Test point 6, pin 1 of IC44,2 ms per division.

BBHBS

Photo 11: Test point 11, pin 2 ofIC55, 200 jus per division.

Photo 12: Test point 12,pin 4 of IC64, 200 /js perdivision.

'I-

mint iiiutt .iiiii.

i t .

b»MUHM' mm mm

Photo 13: Test point 13, pin 12 ofIC42, 500 /jls per division.

Photo 14: Test point 14, video output,0.5 V per division vertically, 2 ms perdivision horizontally.

HttHtf -in-

rni^'Tv irtrlrrr

Photo 15: Test point 15, video output,0.5 V per division vertically, 100 ysper division horizontally.

Photo 16: Test point 16, pin 6 ofIC23, 1 ps per division.

Photo 17: Test point 17, pin 6 ofIC33, 500 ns per division.

112

Photo 18: Video Terminal Board, Component Side. This photograph shows the physical layoutof the board as constructed by the author. The processor connections to and from the terminalare made by the plug on the left hand side of the photograph. Eight 21L02-1 memoryintegrated circuits are used for the screen's local memory. The three pots at the bottom centerare used (L to R) to control left hand margin, character width, and top of page margin. Thevideo amplifier is contained in the DIP plug with components, in the lower right hand corner.Bypass capacitors are sprinkled quite liberally throughout the board.

1. Display a new line of ASCI I text.

2. Scroll all lines up by one.

3. Erase one character line.

4. Add one new character to the display.

5. Erase the entire screen.

The preambles for each subroutine shouldadequately explain the calling sequence andconventions used. These subroutines assumethat six words are available in the first page(256) of memory (hexadecimal address 0 toFF). These words are used to take advantageof Motorola's direct addressing feature. Todisplay a character in a preset location onthe screen, initialize the words CHAR andLINE to the desired location, load the 6 bitASCII character into the A accumulator andbranch to the VCHAR subroutine.

The complete relocatable software is in-cluded as listing 2 with this article. Asymbolic example is given here to show theuse of these routines. Suppose that youdesire to erase the screen, display a title, aprompting message, and place a cursor at thenext character location. This can be accom-plished by the following code:

JSR

LDX

JSR

LDX

JSR

LDAA

JSR

TITLE FCC

FCB

PROMPT FCCFCB

ESCRN Erase the entire screen;

•:TITLE X := address of title string;

VLINE Write title at top of screen;

"PROMPT X := address of prompting message;

VLINE Write prompting message on next line;

.;$A0 A := ' ' + 80 [add hex 80 to blank giving inverted blank);

VCHAR Write cursor at location of next input;

'GENIE OPERATING SYSTEM'4

WHAT IS YOUR DESIRE, MASTER?'4

Title string;Prompting string;

Or if you really have to have a routinewhich will allow you to type data on yourkeyboard and look at it on the screen:

LOCAL JSR ESCRN Start by clearing the screen;

LOOP JSR INCH Use normalinput routine to define character in A;

JSR VCHAR Transfer input character to screen buffer;

CMPA =$04 Is it end of text?

BNE LOOP If not then continue local LOOP;

Return to monitor

Note that scrolling is done automaticallyfor you after you write the 32nd characteron the 16th line.

Construction

Before you can begin building this termi-nal, you first must obtain the necessarycomponents. Refer to the component list intable I. I have listed the vendors from which

113

Photo 19: Video Terminal Board, Wiring Side. This photograph shows thewire wrapped construction of the circuit's prototype. All integrated circuitlocations were labelled with masking tape containing device location anddevice type. All integrated circuit power connections were soldered to theetched power supply buses which are part of the Vector plugboard used forthe circuit. The orientation of pin I is uniformly the upper left corner of theintegrated circuit, as documented by the typical pinout map shown pasted tothe upper right side of the board.

I purchased the parts. I selected these peoplebecause I knew I would get quality com-ponents at reasonable prices in a short time.The prices listed are included as a guide.Check the advertisements in this issue to seeif they have changed.

The first step in building this (or any)board is to determine exactly where thevarious components will be located. Seephoto 18, photo 19 and figure 4 for thelayout I used. Then install all of your bypasscapacitors. This is easy to do at this stage.Solder them directly to the etched lands onthe reverse of the Vector board between theknown locations of the wire wrap sockets.Next (and this is a trick that will reallyreduce the wire wrap errors) cut maskingtape into sections a little smaller thanthe size of the integrated circuit top. Writeon the masking tape the integrated circuitnumber and the TTL suffix. For example,

Photo 20: A Detail of the Computer System.This 6800 microcomputer currently consistsof four cards: an IO card, a processor card, a4 K byte programmable memory card, andthe video terminal card described in thisarticle. One spare location at the left isawaiting a 16 K dynamic programmablememory card which is under development.The ribbon connectors in the lower righthand corner are used to interface a controlpanel. Each board is supplied from a sepa-rate 5 V regulator which is mounted on thechassis for superior heat sinking capability.

114

>

IC 17

>

IC 16

>

IC 15

>

IC 14

>

IC 1 3

>

IC 12

>

IC II

lY IC27 \r\d IC37 Ia

>

IC27

>

IC26

>

IC25

>

IC24

>

IC23

IC2I

I

z

IC 36

IC35

IC34

I

IC32

I

C47

I

.0047

47pF

I

I8K

A|j '"' lAr1 'c"l A

s

43

i^Fl tl

£

IC42

™~

—

UJ

tr

<

UJ

I

<

_)

u

a.

TJ

TJ

TJ

m,C57

w a r

0°L

100 |IK |

^ J IC55 ^

()

U

r>. J IC54 ^

0k

u

A J IC53

U

u

A r^ IC5Z

U

(J

J IC5I

J IC77

J IC76

>

IC65 ,

>

IC64 ,

00

0

+ +

o o

o o

I

IC6I

oo

COAX TORF MODTHEN TO TV SET j

"IC45-123" identifies the fifth integratedcircuit in the fourth column as a 74123. Pin1 is always in the upper left hand cornerlooking from the wrap side of the board.Place the label on the wrap side of the boardwhere the socket will go. Next, put a dab ofcement on the bottom of the integratedcircuit socket and insert it on the board. (Iused "DUCO" cement. Epoxy or hot meltglue can be used, but are nearly impossibleto remove once set.) Remember that 16 pinsockets are a little longer than the 14 pinvariety and you'll be OK. Refer to figure 4for the configuration I used. After the gluehas set, wire the power supply lines to thewire wrap sockets. To do this, wrap half adozen turns around a power pin and solderthe other end to the nearest power bus.Don't "daisy chain" a bunch of circuitstogether with one attachment to the powerbus. The 30 gauge wire can't adequatelyhandle the required switching current formore than a few chips. Insert the wire wrapterminals where the discrete componentswill be placed. Many of these can besoldered directly to the power planes. Other-wise, they have enough friction to preventthem from falling out before they arewrapped. It's time for one more trick toreduce the number of wire wrap errors. Geta Xerox copy of the schematics (figures 2and 3). [BYTE encourages this and gives fullpermission for such private use duplication.]Each time you complete a connection, use afelt tipped pen to draw over the line on the

Figure 4: Video Terminal Component Layout. This reduced scale drawingshows the relative position of the parts of the video terminal design asconstructed by the author. See photo 18 for a pictorial version of this layout,and see photo 19 for the reverse side of the author's card as wired for hissystem.

Listing 2: Complete Video Support Software for a Motorola 6800 Processor.This package consists of self relocating routines to perform display utilityfunctions. Self relocation is accomplished by exclusively employing branchinstructions (relative addressing) for program control within the package, andusing the stack as a temporary where necessary. Control variables are assumedto be in low memory.

The following a/local ions are located in page 0 of memory, so that the video supportsoftware can lake advantage of the Motorola 6800 direct addressing mode. Relocationof these variables should be confined to page 0, in which case the address constants usedfor the direct addressing references would be altered to reflect new locations. The maintext of the subroutines themselves is completely position independent, which means re-location can be accomplished simply by loading the program code at a different point inmemory address space and calculating new addresses for the "external references"sum-marized in a table at the end of this listing.

Abs

Addr Hex Co

0020 00

0021 00

0022 00 000023

0024 00 00

Op

Operand

CHAR RMB

LINE RMB

CHPSN RDB

CHPSNL EOU CHPSNH

SAVEX RDB

Commentary

Character position, 0 (left! to 31 (right);Line number, 0 (top) 10 1 5 (bottom),Memory address pointer to character;Low order byte of memory address pointer;Index register save area,

The following equate assigns a value to the address of the video display memory forthe purposes of symbolic reference within this listing. The addresses of the displayedportion of memory in the prototype ot this design are 0C00 to 0FTT in hexadecimal.

VIDEO

EOU

=--S0C00

Listing 2 is continued on the next three pages.

115

Listing 2, continued:

VLINE — This subroutine displays a new line of text on the screen. On entryto VLINE, the index register X has the address of the start of the ASCII textstring to be.displayed. The string is terminated using an ASCII EOT character,hexadecimal 04, as the last character.

Rel

Addr

Hex Co

rie

Label

Op

Operand

Commentary

0000

VLINE

EQU

•

Entry point, line display routine;

0000

36

PSHA

Save A on stack;

0001

7F 00

20

CLR

CHAR

CHAR := 0 [perform carriage return] ;

0004

7C 00

21

INC

LINE

LINE := LINE + 1 (perform line feed]

0007

A6 00

VLP

LDAA

o,x

A := @X [move next character to A) ;

0009

81 04

CMPA

4

Is it end of text?

000 B

27 05

BEQ

VLDNE

If so then return to caller;

000 D

8D 15

BSR

VCHAR

CALL VCHAR [display the character!

000 F

08

INX

X := X + 1 [point to next character] ;

0010

20 F5

BRA

VLP

Reiterate until done;

0012

32

VLDNE

PULA

Restore A from stack;

0013

39

RTS

Return to caller;

ESCRN — This subroutine is used to erase the entire screen. It has no inputparameters.

Rel

Addr

Hex Code

0014

0014

36

0015

86 OF

0017

8D 6B

0019

4A

001 A

2C FB

001 C

7F 00 21

001 F

7F 00 20

0022

32

0023

39

Op Operand Commentary

EQU " Entry point, erase screen routine;

PSHA Save A on stack;

LDAA =15 A ;= 15 [set number of lines to erase) ;

BSR ELINE CALL ELINE [erase one line];

DECA A := A - 1 [decrement line count in A] ;

BGE ESLOP if A >= 0 then continue the loop;

CLR LINE LINE :» 0 [move cursor to top of screen] ;

CLR CHAR CHAR ;« 0 [move cursor to left of line] ;

PULA Restore A from stack;

RTS Return to caller;

VCHAR — This subroutine displays one character on the screen. On entry,the A accumulator should contain the ASCII character code to be displayed.VCHAR updates the control variables LINE and CHAR which determinescreen location; VCHAR ignores all ASCII control codes except a carriagereturn or line feed.

RelAddr

0024

0024

0026

0028

002A

002C

002 b

0030

0031

0034

0035

0038

0039

003A

003B

003D

003F

0041

0044

0047

0049

004 B

004D

004F

0050

0052

0054

0056

0058

005A

005C

005E

0060

0062

0063

0065

0068

006A

006 B

Hex Code Label

81 0D

27 09

81 0A

27 09

81 20

2C 09

39

7F 00 20

39

7C 00 21

39

37

36

D6 20

CI 1F

2F 06

7F 00 20

7C 00 21'

96 2180 OF2F 0B8D 1D4A

26 FB86 OF

97 218D 2C96 21D6 208D 3EDF 24DE 2232

A7 007C 00 20DE 243339

Op Operand Commentary

EQU * Entry point of character display routine;

CMPA -SOD Is character a carriage return?

BEQ VCR If so then go juggle CHAR poinler;

CMPA #$0A Is character a line feed?

BEQ VLF If so then go juggle LINE pointers;

CMPA ='' Check for ASCII control character;

BGE VOK If so then go transfer valid ASCII;

RTS Else return with no action;

CLR CHAR CHAR := 0 [perform carriage return] ;

RTS Return to caller;

INC LINE LINE := LINE + 1 [perform line feedl;

RTS Return to caller;

PSHB Save B on stack;

PSHA Save A on stack;

LDAB CHAR B := CHAR;

CMPB #31 Is it still on the same line?

BLE VCOK If so then go test line [do not pass CRLF) ;

CLR CHAR CHAR := 6 [perform carriage return] ;

INC LINE LINE := LINE + 1 [perform line feed] ;

LDAA LINE Is LINE on

SUBA #15 the screen?

BLE VLOK 11 so then go to display [do not pass home] ;

BSR VSCROL CALL VSCROL [move all lines up one];

DECA A := A - 1 [decrement scrolling count] ;

BNE VLNOK if A >= 0 then loop [until line on screen] ;

LDAA ^1 5 A := 15 [position cursor at bottom line] ;

STAA LINE

BSR ELINE CALL ELINE [erase the bottom linel ;

LDAA LINE Set up LINE parameter for GCHAR call;

LDAB CHAR Set up CHAR parameter for GCHAR call;

BSR GCHAR CALL GCHAR [to calculate CHPSN pointer] ;

STX SAVEX Save index register value;

LDX CHPSN X := CHPSN [point to current character address] ;

PULA A :" current character;

STAA 0,X @X :*= A [store current character in memory @ X]

INC CHAR CHAR ;■ CHAR + 1 [set pointer for next write] ;

LDX SAVEX restore old index register value;

PULB restore B from stack;

RTS return to caller;

copy. You are done when all of the lines aremarked over. Remember to mark the powersupply lines too. I should probably insistthat you recheck all of your connectionsafter you're done ... however, I don't and Idon't expect that you will either. It is easierto verify your connections as you makethem and fix the ones you missed duringcheckout.

Now that your board is wrapped it's timeto stuff all the circuits in and turn the poweron, right? WRONG. Go slowly and test yourwork. You may end up saving some expen-sive circuits. First, measure your +5 V powersupply. If it is not within 0.25 V of 5 V, findout why. Too low a voltage impedes per-formance. Too high and your chip life isreduced. Next, install the interface chips(IC11, IC12, IC13, IC14, IC15, IC16, IC17,IC23 and IC33). Put a scope on pin I ofIC16 and verify a positive pulse each timeyou address this memory space. The addressof the memory space is determined by the Bside inputs to the 7485s. This test can bedone by a front panel or a software loader.This select pulse should be about 1.0/us induration if you are running with a 1 MHzclock. Verify the address inputs at theprogrammable memory socket locations tomake sure the 74157s are switching cor-rectly. Look at IC33 pin 3 and see a 500 nsnegative pulse (normally high, goes low forabout 500 ns, then high again) when you arewriting to the programmable memory.Verify that there is no pulse when reading.Check for the reverse at IC33 pin 6. Expecta negative pulse when reading and just a highlevel when writing. Turn the power off andinsert the eight 21L02-1 memory circuits.Each time a circuit is inserted, look to makesure all the pins are in the socket and notbent over. Power up again and run yourmemory test program. This verifies that yoursystem can access this memory and that theintegrated circuits are all good. An exampleof a simple memory test program calledMTST is included in this article as listing 1.

When you are sure that the processor isinterfaced to memory correctly, insert IC32,IC31, and IC43. Mount the DIP plug withthe oscillator components in the IC21socket. Look at IC31 pin 1 on your scopeand check for a 10 MHz "square" wave. Seephoto 1 for an example. Photo 2 shows the2 MHz wave at IC43 pin 1. If all is well sofar, put your probe on IC43 pin 4. Thisshould be pretty close to a 2 MHz squarewave. Adjust the timing resistor, if neces-sary, to obtain a 50% duty cycle. Thisdoesn't have to be exact but the 5320 ishappier with a square wave. Measure pin I ofIC51 and verify a -12 V (±5%) DC voltage.With power off, insert this magical inte-

116

grated circuit into its socket. This 5320generates all sorts of good signals and saves alot of board space. With power on (and pin 1still at a clean -12 V), scope pins 11, 12, 14,15, and 16. They will be switching between+4.5 and -11 V. Don't be alarmed by thenegative output voltage. They will pop up toground when a TTL load is hung on them.With power off again, insert IC45, IC46,IC47, IC64, IC44, and IC42. Adjust the LineDelay pot for a 20 jus positive pulse at IC55pin 14. This adjusts the left hand margin onthe TV display. It will be trimmed to a finalvalue at a later time. Adjust the Top of Pagepot for a 3 ms positive pulse at IC44 pin 14(this will also be trimmed later). Verifypulses at IC57 pins 14, 15, and 16. Set theCharacter Width pot to midrange (about6.25 MHz at IC32 pin 12). Refer to thewaveform photographs if problems are en-countered. Insert everything else except forthe character generator (IC57). Check thatthe address lines are toggling and that data isbeing presented to the character generatoron pins 17 through 22. IC65 pin 9 should beswitching erratically. Verify the powersupply connections to IC57. The +5, —5,and —12 V connections should be within 5%and should be clean, that is, without morethan 100 mV of noise.

Turn the power off and remove the 2513from its protective packing. This is the lastdevice to be added to the board. It is alsothe most expensive circuit so don't blow itWith power on, recheck the supplies and theoutputs from this circuit.

Connect the video output from this ter-minal module to the video input of an RFmodulator. I obtained excellent results usinga Pixe-Verter. The RF output is transmittedby coax to a 72 to 300 ohm transformer.Disconnect the antenna from the back ofyour TV and attach the leads from thistransformer. Tune to the channel youselected when building the Pixe-Verter withthe TV's fine tuning set to midrange. Withpower on adjust the tuning capacitor on thePixe-Verter for some sort of display on theTV. It will look ridiculous at first. You'llhave to readjust the horizontal and verticalhold controls on your TV for a stabledisplay. Trim the three pots for a pleasingdisplay on the TV screen. Then you can goto town using the display.

The results of my project are shown inphotos 20 and 21.

Trouble Shooting

Fortunately, this version of a video termi-nal worked the first time it was tried. Thismeans I don't have any suggestions forlocating failures based on experience. If yourun into trouble, compare your waveforms

Listing 2, continued:

VSCROL — This subroutine moves all lines on the display up by one position.No input parameters are necessary.

Rel

Addr Hex Code Label Op Operand

006C VSCROL EQU

006C 36 PS HA

006D DF 24 STX SAVEX

006F CE OC 00 LDX #VIDEO

0072 A6 20 VSCRL LDAA 32,X

0074 A7 00 STAA 0,X

0076 08 INX

0077 8C OF E1 CPX #(VIDEO

007A 26 F6 BNE VSCRL

007C 86 OF LDAA =15

007E DE 24 LDX SAVEX

0080 8D 02 BSR ELINE

0082 32 PULA

0083 39 RTS

Commentary

Entry point of scrolling subroutine;Save A on stack;Save index register value;Load pointer for start of move;Fetch corresponding character, next line;Then store it in the current line;X :■ X + 1 [point to the next character] ;+32-132-11+1) [calculated start of the last line ina 1024 byte buffer] ;if not at end of buffer, then repeat loop;line parameter of erase function;restore index registerCALL ELINE [to erase bottom line] ;Restore A from stack;Return to caller;

ELINE — This subroutine is used to erase one line from the display. The linenumber is specified by the value in accumulator A upon entry.

Rel

Addr

Hex Code

0084

0084

37

0085

36

0086

5F

0087

8D 13

0089

DF 24

008B

DE 22

008 D

C6 20

008F

86 20

0091

A7 00

0093

08

0094

5A

0095

26 FA

0097

DE 24

0099

32

009A

33

009B

39

Label

Op

Operand

EQU

*

PSHB

PSHA

CLRB

BSR

GCHAR

STX

SAVEX

LDX

CHPSN

LDAB

#32

LDAA

#' '

STAA

0,X

INX

DECB

BNE

ELLOP

LDX

SAVEX

PULA

PULB

RTS

Commentary

Entry point of line erase routine;

Save B on stack;

Save A on stack;

B := 0 [set local character position to zero] ;

CALL GCHAR [calculate character address] ;

Save index register;

X := CHPSN [get calculated character address];

B := 32 [the number of characters in a line] ;

A := ' ' [erase means put a blank in each pos.] ;

@X : = A [move the blank to current location] ;

X := X + 1 [point to next location] ;

B := B — 1 [decrement loop counter] ;

If count remains then reiterate;

Restore index register;

Restore A from stack;

Restore B from stack;

Return to caller;

GCHAR — This subroutine calculates the memory address of a characterspecified by the current line number, LINE, and the current characterposition, CHAR. The formula is:

CHPSN := 32* A + B + BASE A DDR ;Where A is the line number, passed in accumulator A, B is the characterposition value, passed in accumulator B, and BASEADDR is a constant givingthe first address in the character display area of memory. The value ofBASEADDR in the author's system is hexadecimal OCOO. Since the low orderoffset is zero, this constant is only added into the high order at location00C0 of this listing.

Commentary

Entry point of the address calculator;Save A on stack;Save B on stack;Clear the character

address variable

prior to calculation;A := A — 1 [decrement line count] ;If A = 0 then multiplication is done;A := A + 32 [multiply is repeated addition]If no carry then continue inner loop;Else increment most significant byte,

clear the carry flag,

and then return to inner loop;CHPSN+1 : = A [save the low order byte] ;Restore the displacement in line from B;A := B [put it in A for calculation] jA := A + CHPSNL [add low order bytes] ;CHPSN L : = A [and save result in pointer] ;If no carry, then calculation is completed;Else propagate carry to high order byte,

and clear carry;A := CHPSN [fetch high order byte) ;A := A + high order of VIDEO address;CHPSN : = A [save final high order byte] ;Restore A;Return to caller;

Rel

Addr

Hex Code

Label

Op

Operand

009C

GCHAR

EQU

009C

36

PSHA

009 D

37

PSHB

009 E

5F

CLRB

009 F

D7

22

STAB

CHPSN

00A1

D7

23

STAB

CHPSNL

00A3

4A

GLOP

DECA

0OA4

2D

0A

BLT

GCDS

00A6

CB

20

ADDB

=3 2

00A8

24

F9

BCC

GLOP

00AA

7C

00 22

INC

CHPSN

00AD

0C

CLC

00 A E

20

F3

BRA

GLOP

OOB0

D7

23

GCDS

STAB

CHPSNL

00B2

33

PULB

00B3

17

TBA

00B4

9B

23

ADDA

CHPSNL

00B6

97

23

STAA

CHPSNL

00B8

24

04

BCC

GDONE

00BA

7C

00 24

INC

CHPSN

00BD

OC

CLC

00BE

96

22

GDONE

LDAA

CHPSN

OOCO

8B

OC

ADDA

BH(VIDEO)

00C2

97

22

STAA

CHPSN

00C4

32

PULA

00C5

39

RTS

117

Listing 2, continued:

Notation conventions:

RMB = "reserve memory byte" with or without label, uninitialized.

RDB - "reserve double byte" with or without label, uninitialized.

EQU = "equate". Assign an address value to a label.

- =' indicator for immediate addressing on Motorola 6800.

Snnn = hexadecimal value nnn.

nnn = decimal value nnn.

* = the current location counter as in an assembly.

'X' ■ notation for ASCII character X.

H(VIDEO) = notation for high order byte of address VIDEO.

@X = data at location X (used in commentary).

External Symbol Table:

The following symbols and their relative addresses are the entry points to the video displaysupport software. To calculate the absolute addresses needed to reference these entries, add thestarting address at which you load the package 10 each of these offsets, giving the absoluteaddress to reference in a jump to subroutine instruction.

Relative Address

000000140024006C0084009C

Label Operation

VLINE Line display

ESCRN Erase screen

VCHAR Display one character

VSCROL Scroll up one line

ELINE Erase one line

GCHAR Calculate address given line, position

with those shown in the photos 1 to 17. Themost likely cause of problems are defectiveintegrated circuits and incorrect wiring.

Future Additions

If you want to display more characters onthe TV screen, try disconnecting the wirefrom IC55 pin 2 to IC64 pin 11. Replacewith a wire from IC55 pin 6 to IC64 pin 11).Wire IC55 pin 2 to the 9th address bit atIC14 pin 2. Readjust the Character Widthpot to squeeze all those characters on asingle line. The software will have to beadjusted to handle the new memory con-figuration of 16 by 64.

Like to try graphic text? Functionallyreplace the 2513 with your own PROM. Bit6 could be used to perform this selectionelectronically. This PROM could be used todefine various line segments within a charac-ter field depending upon the 6 (or 7) bitcode supplied.

The very nicest thing about a homebuiltproject is that after it is working, you're notafraid to modify it! Happy Wrapping."

Photo 21: A Microcomputer Development Workshop? The processor is off in the left hand corner of the table, with a cassettetape recorder to its right. A keyboard with ASCII encoding is connected to the 10 card for control of the processor. The videodisplay's television set output is to the left of the oscilloscope at the right side of the picture. The parts cabinets, wire wrap gun,soda pop and ash tray were essential to the development of this system.

118

We took everything we learned from selling 'tK x 8 RAH boards forthe pasi year, added some of this year's circuit tricks, and

came up with ECONORAM a memory board that is even more re-markable due to its low price. We've engineered this with theuser in mi nd, gi ving you several benefi ts:

* 3 regulators to share power load, plus optimized thermal de-sign, means a cooler running microcomputer

* Typical current consumption of under 750 ma gives your powersupply a break

* Fast Zero wa i t states

* All TTL support ICs are latest Low Power Schottky types

* For ret i able and unambi guous data transfer, all addresses,data lines, and outputs are buffered for minimum loading and

maximum output capabPower-on clear i ncluded

ty

All these features are packed on to an Altair-sized, industrialquality double-sided PC board, with sockets for all ICs, 7 tan-talum capacitors for power supply decoupling, and plenty of by-pass capacitors 39 of them, in Fact, as well as a logic print

and instructions. ASSEMBLED/TESTED UNITS ALSO AVAILABLE FOR ASURCHARGE; write for quotations and specify quantity.

Our popular ECONORAM 4Rx8 RAM board is now availableassembled, tested, and warranteed for one year. Plugit in to your Altair or IMSAI and enjoy the same per-formance that has made the kit such a success guar-anteed zero wait states and current drain of 750 mAor less; on board regulation, easy address selection,and lots more.

$99.95

1^ +2 LBS POST

il@@©[ffi»&

im

iiiiiiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiini

GOLD-PLATED 3 LEVEL DIRE yRAPPINGPOSTS. IDEAL FOR HATING WITHALTAIR/lnSAI PERIPHERALS^^^—GIVES A SNUG FIT ^s^0Slm " f](cF)(o)

POM

m

FOR YOUR PCBOARD-

TO-220HEAT SINKS

$129-95

llllllllllllllllllllllllllllllillliillllllllliillllllllllllllllllll

IMSAI/ALTAIR EX-TENDER BOARD KIT

—BUILT IN LOGIC PROBE jJC QQ

--ALTAIR/IMSAI COMPATIBLE 9JJ.UU

--ALLOWS YOU TO TROUBLESHOOT AND WORK ONBOARDS OUTSIDE OF THE SYSTEM. IDEAL FORTAKING MEASUREMENTS; MAKES PROBING THEBOARD EASY.

llllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllllll

HIT POLETHROW

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiniiii

This 4K by & memory board liasno frills, just storage. De-signed for compatibility withJOLT systems, this board isalso ideal for other micro-computers using bi-direction-al buss systems. Same sizeas JOLT memory card, plus lo-power operation (750 ma) tokeep you on good terms withyour jiower supply.

If you don't need the onboardregulation or address / databuffers of our "Bigger Bro-ther" 4K board, then this isthe way to go.

Sockets included for all ICs.

• ^*\

E363S 1

t;:.;: teJ^qu-3 *i

m._c:::<:;~:

e^r&z;|

i£ES3l

c:;:::»±±::::::: i

c;::;cri^r

c:::.L.::zv;:z

*fcs»y ■—r*",-'^'V"~'*^i*u«'-

. Tlfcyfe- .

ACTION

iiiiiiiiiiiiiiiiiiiiiiiiiuiiiiiiiiiii

^VECTOR!

±&^* Th's is one of the neatest Altair^^, accessories we've seen. It accepts

virtually any size IC package, has apower and ground plane on oppositesides of the board for extra capacitance.Room for^ regulators, 1 heat sink provid-ed with board. By the way, the socketsare shown only For illustration, but theyget the point across that you can stuff a

lot of ICs on here implement your own

memory boards, I/O boards, etc.

("L'L'Li

ii .1 n.l .ni.i i! il'"

,;»:Hi!Hll-l

B

UNIVERSAL PROTOTYPEBOARD » * * $19.95

"ECOnoROffl" $179.95

ALTAIR 8800/IMSAI PLUG-IN COMPATIBLE. This is a AKby 8 EROM board...the ideal place for putting soft-ware, be it assembler, editor, or any custom set ofroutines. Additionally, this board may expand to

8Kx8 by simply adding more sockets and EROMs; alsoavailable is a 2K x8 version if you don't need afull 4K. LOW POWER: 8K board requires %A @ 5V, &150 ma @ -12V. Buffered addresses for lightestloading, buffered outputs for maximum drive. Kitincludes sockets, double - sided quality PC board,on board regulators, logic print, and instructions.Program it yourself, or have us do the programing.

8KX8 BOARD $269.95 2KX8 BOARD $135.00

8080 Software Board S189.95

We took our EC0N0R0M board kit, but instead of includingblank EROMs, these are programmed with assembler, editor, £monitor routines for the 808O. This is a valuable first stepif you're trying to get away frorr machine language programing.There's not really enough room here to fully describe allfunctions of the software...but if you send us 52.95 (refuable with order), we'll send you our software packet thateludes instructions listing, schematic, and assembly data.

Hi. i 1 1 ii 1 1 'i..:i I I I I I I HI Lll Nil I

74LS TTL

thend-

00

$0.36

30

$0.36

132

$1.50

175

$1.35

01

0.36

32

0.38

138

1.38

221

1.38

02

0.36

37

0.53

139

1.38

240

1.88

04

0.42

38

0.53

155

1.38

257

1.25

oa

0.38

42

1.25

157

1.25

258

1.38

10

0.36

74

0.56

160,

161,

273

2.25

11

0.38

75

0.85

162,

163-

283

1.20

20

0.36

109

0.60

$1.85 ea.

367

1.00

21

0.38

124

2.50

168

1.87

368

1.00

22

0.38

125

0.75

169

1.87

377

1.88

2/

0.38

126

0.75

174

1.38

378

1.38

■III11IIW

9601 Precision one-shot 3/$1.00

74H40 High speed 7440 7/51.00

MM5262 2K dynamic RAM. Many bits per buckl..$1.25

FPQ3725 Quad PNP transistor array, type 2N3725, in

a DIP package. Get 4 FPQ3725s for...$1.95

More ICs

74S471 8x256 fast ROM in DIP package $9.50

81LS95/96/97/98 Tri-state LS octal buffers..$1.13

2102L1 Low power, 450 ns guaranteed for full tenp

range . Just in $1.95

TERMS: Orders under $10 add 50c handling. No CODorders. Place Mastercharge® and BankAmericard'"' or-ders by calling 415-562-0636, 24 hours. California

residents add appropriate sales tax.

A

BILL GODBOUT ELECTRONICSBOX 2355. OAKLAND AIRPORT, CA 94614

While you're here... circle the reader service cardOur flyer will make it worth your while!

YYYYYYYYTYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY

GROUP DISCOUNTS: Computer club members may wish to pool

THEIR ORDERS, BUY 10 KITS, TAKE 10%; BUY 100, TAKE 20%,

PACE PACKET $2.50

Learn about PACE, the 16 bitmicroprocessor chip, with this80 page booklet. Contains de-tailed and specific informa-tion on the chip itself, soft-ware, system organization, andmore. Also includes 11" X 17"fold-out logic print of PACEimplementation.

iMicro MONITOR $29.95

!We've taken the 5204, a 4K EROM,i and programmed it with some soft-ware for your 8080. With thisisoftware, you may:i**Examine and fill memoryi**Punch and read paper tapei*"Branch to, and recover from,i programs.

[Our package consists of the pro-jgrtUBmed 5204 as well as a com-jplete software listing.

Continued from page 89 Many people have done as I have, which is to

put aside their 8008 and replace it with an8080A or newer generation equipment. This8008 unit which is kicking around can solvethe chief disadvantage of vector graphics —software refresh. The 8008 is more thanadequate to drive the controller with fixeddata tables: Why not take advantage of it? Avery reasonable solution is to dedicate yourScelbi, Mark 8, or what-have-you-kluge torun and refresh the display. The graphics

Table 2: Refresh Vector Table for Drawing the Star Ship Enterprise. Thistable contains the information needed (in octal) to generate the Enterprise ona vector display. The addresses are relative to page 001, starting at location50, for use with the program of listing 2. The end of the display string isindicated by the octal code 377 found stored at location 330. If you were toput some extra imaging information in the picture, the additional vectorswould begin at location 330 instead of the end code. The fine print numbersin figure 4 near each line segment are the addresses of the appropriate vectorspecification in this table.

Vector

/ start \

, end -,

Address

' X

Y '

1 X

Y ■

commentary

050

004

104

014

070

Begin Enterprise's bridge

054

014

070

110

070

060

030

070

054

060

064

054

060

074

070

070

110

070

120

104

074

120

104

004

104

100

014

104

040

110

104

040

110

120

104

110

040

110

042

114

114

042

114

064

114

120

064

114

070

116

124

046

114

050

120

130

050

120

060

120

134

060

120

062

114

140

074

070

104

034

Bridge connecting strut line

144

104

034

064

030

Main body outline

150

064

030

064

010

154

064

010

104

004

160

104

004

140

004

164

140

004

210

014

170

210

014

204

024

174

204

024

170

027

200

154

032

140

034

204

140

034

104

034

210

140

034

114

076

Bridge connecting strut line

214

074

032

074

006

Phaser weapons bank

220

064

020

054

030

224

054

030

054

010

230

054

010

064

020

234

054

020

050

020

240

134

104

134

130

Engine pod outline

244

134

130

320

130

250

320

130

304

104

254

304

104

304

130

260

304

104

134

104

264

170

104

170

024 )

270

170

024

154

024

> Engine pod support strut

274

154

024

154

104 j

300

140

104

140

130

304

134

130

130

124

310

130

124

126

120

314

126

120

126

114

320

126

114

130

110

324

130

110

134

104

330

377

End of picture code

program and refresh vector table would becontained within the 8008 as well as a verysimple communications driver which allowsit to talk with your new 8080, Z-80, 6800 orwhat have you. Communication would bebetween a couple of parallel input and outputports. The 8080 system could contain all thenumber crunching routines and large pro-grams such as Space War while the 8008drew and refreshed the playing field orhyper space. Vector table updates would besent from the main game processor to the8008 display processor periodically as thegame progressed. This system would befantastic.

Bigger Displays

While 5 inch scopes are quite adequate,full appreciation of vector graphics is re-alized only on large screen displays. Com-mercially sold large screen XY displays startat about $600. Hal Chamberlin, in hisComputer Hobbyist articles mentionedearlier, describes how such a display can bebuilt (with some difficulty) using televisionstyle display mechanisms. His work was aninvaluable help to me in getting my displaygoing; the circuits you see in this article aremy adaptations of some of the circuits Halpublished in his excellent publication inconnection with his vector display design.7776 Computer Hobbyist is located at Box295, Cary NC 27511. At last report, backissues were available.

Another possible source of big screendisplays is auctions of electronic equipment(often attended by dealers in surplus). Forexample, Electronic News often publishes

REFERENCES

Worth noting are two articles which contain in-formation on vector graphics experimentation be-yond that contained in this issue of BYTE:

Concerning the conversion of the Sanders 708 see:

Ciarcia, Steve and Robertson, Carl L:"Simple Graphics Terminal Using Inexpen-sive Surplus Equipment," 73 Magazine,September 1976, pages 116-123. (The cir-cuits shown in figure 2 of the present articleare revised versions of some of the circuitsin author Ciarcia's earlier published workcited here.)

Concerning the generation of character graphics fora vector display see:

Lerseth, Richard J: "A Plot Is IncompleteWithout Characters," BYTE, July 1976,pages 64-72.

Concerning experimentation with a magnetic de-flection CRT display built from scratch, see:

A series of graphics articles by Hal Cham-berlin in Volume 1, issues 1, 2 and 3 of TheComputer Hobbyist.

120

I

{

r

1

(

i

i

«

1

■

i

■

< C

;_j

'

c

1

_] e

j .

(

i

H

i-j

■

t

'

'

I

I

1

(

!

■

<

.

i

<

(

i

(

1 -

1

1 1

i <

(1 <■

c

•

c

4

n

i

c

.

I

t

1 <

(i <

(

<

f

^

i '

<i <

c

i

t

i c

*

1 '

■■'.»-

.

ill

504/

;

;.:'

J

i

or

j:

/

r

I

IS

/

,1

1!

4

31-

f

>

it

o

/

10

III

f

i,

BO

5i

\

/

/

0

/

1

\

1

3

1

/

\

\

05

0

0

>

J

\

JB

\

/

kv

'

.'r

1

/

^

\

0

&

■^

64

\

\

\

1

\

V'

0

,.

2 £4

\

/

\

14

0

\

-■<

/

I

V

\

\i

1

\

\

/

V

'.•

\

nn

\

M

I

_«

—

■—-

-i

/

J

1

\«

!

71

i^-

/

(

1

\

IS

\

•'■>

/

)

r

/

61

/

/

(

•

I

\

\

/

Figure 4: The Star Ship Enterprise, drawn on a graphing grid. One way to prepare data for a display such as this is to plot it outahead of time on a coordinate grid, such as graph paper. This figure was constructed using the data of table 2; but in the normalprocedure the figure would be drawn first, and then one would prepare the table of vector specifications.

auction announcements when they are held;and for those of us in the New England area,the Boston Globe auctions section has adver-tisements of electronic companies' publicauctions from time to time.

In my own case, I purchased a surplusSanders Associates 708 CRT terminal from alocal surplus house. This terminal, soldthrough the 1960s and early 70s, is an allsolid state video terminal which was used foralphanumeric display, typically in medicalinformation systems. The terminal used astarburst generator for alphanumerics. Thisfact alone is enough for one to realize that itis in fact an analog vector scope. The 708CRT has a 12 inch screen and a P31 highpersistence phosphor which makes for sometremendous graphics. I got mine for less than$200, and I found that it was readilyconverted to a 12 inch XY vector scope forthis purpose.

Whatever you choose as a display me-dium, whether it is a 5 inch oscilloscope or a12 inch XY display tube, you will findvector graphics both challenging andfascinating. Printing out a message describinga battleship on an alphanumeric CRT isinteresting, but it cannot hold a candle to asystem which can draw a battleship com-

plete with guns and flag on the screen.Graphics opens a new dimension for thehome computer experimenter and it neednot be prohibitively expensive. Using highperformance peripherals such as this serves tocomplement a well designed computer sys-tem, and provide uses for oscilloscopes wheneverything is working right with yourhardware."

Photo 3: Using the graph-ics display for engineeringoutputs. This is a con-cocted display to illustrateXY plotting situations.Whatever "output" is, itvaries with "time" in aragged sawtooth definedby several vectors.

121

CONTINENTAL SPECIALTY CORPNEW PRODUCT ANNOUNCEMENT

PC-40

only $13.75 lowest priced 40-pm IC Test clip made today.

MC14412 UNIVERSAL MODEM CHIPMC14412 contains a complete FSK modulator and de-mod-ulator compatible with foreign and USA communications.(0-600 BPS)FEATURES:

.On chip crystal oscillator.Echo suppressor disable tone generator.Originate and answer modes

.Simplex, half-duplex, and full duplex operation.On chip sine wave.Modem self test mode.Selectable data rates: 0-2000-3000-600.Single supply

VDD=4.75 to 15VDC - FL suffixVDD^.75 to 6 VDC - VL suffixTYPICAL APPLICATIONS:

.Stand alone - low speed modems.Built - in low speed modems.Remote terminals, accoustic couplers

MCI441 2FL , S28.99

MC14412VL S21.74

6 pages of data .60

Crystal for the above $4.95

MC14411 BIT RATE GENERATOR.Single chip for generating selectable frequencies for equip-ment in data 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

HHHHIHHHiHi^HIHHi

COS/MAC Single chip CPU COP1802 from RCA is a C/MOS8-bit register-oriented central-processing unit designed forgeneral-purpose computing or control

Flexible IO - Program Interupt mode

On Chip DMA - 91 InstructionsCDP1802CD $29.95

PRECISION REFERENCE AMP

LH0070-1H provides a precise 10.0 volts for use in BCD A

to D converters or meter calibrators. Typical initial accuracy

is .3% C- .03V). Comes in TO-5 con.

LH0070-1H with specs $5.35

TELEPHONE PULSE CONVERTERMC14409P is a device designed to convert a four bitbinary input code to a number of serial output pulses foruse in telephone dialing applications. When used with theMC14419P (Key board to binary encoder) you can make atouch type telephone dialer to control your rotatingdial phone. Can be used with a static RAM for reportoiredialing or use your computer to dial up numbers by namel

MCI4409P $10.98

MC14419P $4.25

MPS-L0I (2 required) 2/$l .32

Specs for both chips $1 .00

TELETYPE CODE CONVERSION CHIP

MM5220BL converts 5 level Baudot into 8 level ASCII. Use

this chip to make your old TTY talk to your new computer.

MM5220BL ta. $18.00

Specs for the above .30

MOS TIME BASE KIT.

Only 1" X 1.5". Input 5 to 15 VDC, output is 60H2square wave for portable or mobile clocks. PC board isdri Med ! MTB K-60HZ $5.88

Says

Don't let your next project turn intoa turkey - refute the tyranny of bad

parts and poor service. Join thethousands who have found freedomof selection - make the crossing toTRI-TEK, Pilgrim.

GOLD CHIP

Linear Integrated Circuits

Brond new process by RCA in which the aluminum merolizationhas been replaced by gold. The chip is then hermetically seal-ed. What this means to you is unprecedented reliability anduniformity. Plastic ports that meet mil specs I !Tri-Tek is proud to be the first to bring this new level ofperformance to you at SURPLUS PRICES. Why buy regrades??

CA30I A. .Improved,general purpose op-amp,8 pin dip. .59c

CA307.. .Super 741 op-amp. 8 pin dip 52c

CA324.. .Compensated quod op-amp, 14 pin dip $1.80

CA339A.. Low offset quad comparator. 14 pin dip... $1.59CA741 C.. Famous general purpose op-amp, 8 pin dip.. 45cCA747C. .General purpose dual op-amp, 14 pin dip... 82c

CA748C. .Externally compensated 741, 8 pin dip 49<

CA1458. .General purpose dual op-amp. 8 pin dip 69c

CA3401..Quad single supply (5-18V) op amp. 14 pin.. 89c

Another super buy from RCA. CA555 timer. 8 pin dip. 59c

NEWf

'/"'

ALPHA-NUMERIC KEYBOARDMade by Licon for Motorola Data Systems. Includes full upper case alpha and numeric with separatenumeric and cursor control pods. Self scanning with ROM encoder. These beautiful keyboards aremodern design and recent manufacture.Outputs are TTL compatible and have open collector buffers with resistive pull-ups. Encoding is inA5CII with some special control codes. Code table is supplied.There are only a few of these high quality KB's and at our price they wont last long.... $39.95

DATA BOOKS BY NATIONAL SEMICONDUCTOR

DIGITAL. Covers TTL, DTL, Tri-Srate, etc $3.95

LINEAR. Covers amplifiers, pre-amps, op-amps, .. $3.95LINEAR APPLICATIONS. Dozens of application notes andtechnical briefs covering the use of op-amps, regulators,

phase locked loops and audio amps Vol 1 $3.25

CMOS Gates, Flip Flops, registers, funcfional blocks S3.VOLTAGE REGULATORS. A must for anyone making apower supply. Complete theory including transformers,

Filters, heat sinks, regulators, etc $3.00

MEMORY. Information on MOS and Bipolar memories':

RAMS, ROMS, PROMS and decoders/encoders $3.95

INTERFACE. Covers peripheral drivers, level Translators,line driver/receivers, memory and clock drivers, sense amps

display driver and oplo-couplers $3,95

(Outside U.S., add postage for 1 ,5lbs)

SPECIAL FUNCTIONS DATA BOOK contains detailedinformation for specifying and applying special amplifiers,buffers, clock drivers, analog switches and D/A-A/D

converter products $3.25

AUDIO HANDBOOK contains detailed discussions,including complete design particulars, covering manyareas of audio with real world design examples... $3.25

NEW NATIONAL BOOK LINEAR APPLICATIONS VOL II

Takes up where Vol I left you—All the latest linear devices.Along with Vol I you have a grear source of applicationdata on the most widely used devices as well as new typesjust appearing $3.25

INTRODUCTION TO MICRO COMPUTERS

New book from OSBORNE.

The first edition of this classic was a huge success. Now,

due to the growth of information on the subject Osborne hos

expanded the work into 2 volumes. Vol I covers basic

concepts, Vol II discusses real world micro computers.

IMC-002 Vol I $8.00

IMC-002 Vol II $8.00

'NOTHER NEW BOOK FROM OSBORNE."8080 PROGRAMMING FOR LOGIC DESIGN" explainshow an assembly language program within a microcomputersystem can replace combinatorial logic for logic de-signers, programmers or anyone who is interested in real andpowerful applications of the ubiquitous 8080.PLD-4001 $8.00

tRi tek, inc.

6522 noRth 43BO avenue,

QLenoaLe. ARizona 85301

phone 602 - 931-0949

We pay shipping on all orders over $10 US, $15 foreign in US funds. Ordersunder $10, please add $1 handling. Please add insurance. Master Chargeand Bank America cards welcome, ($20 minimum) Telephone orders may beplaced 11AM to 5PM daily, Mon thru Fri. Call 602-931-4528. Check readerservice card or send stamp for our latest flyers packed with new and surpluselectronic components.

Continued from page 24

function with a del and attempt to executeit:

NEWTABLE OF SQUARES

1 1

TABLE OF SQUARES

2 4

APLAPL-APLAPLAPL

Something is wrong, so you reenter thefunction definition mode and list yourfunction:

USER

APL

USER

APL

VNEW[6]

[Dl

VNEW[1] N*-0

[2] 'TABLE OF SQUARES'[3] N+-N+1[4] N;N*2[5] +(l#10)/2

The line which used to be 2 is now 3, sinceAPL renumbers all lines to integers whenyou close the function. You could changethe 2 to a 3 in the fifth line; however, thereis a better way. If you have to insert ordelete lines from your function again, allplaces where there is a branch arrow mayalso have to be changed. If APL did notprovide a way around this problem, thelanguage would not be as popular as it is. Ina function you can specify a variable tobecome a label by putting it at the beginningof a line and following it by a colon.Whenever you execute that function thelabels in it are automatically assigned thevalue of the lines where they are located.The function when corrected using a labelwould look like this:

VNEW

[1] N<-0

[2] 'TABLE OF SQUARES'

[3] LOOP LABEL: N*-N+l

[4] N;N*2

[5] ->-(N^10) /LOOPLABEL

APL

it has no arguments. Here is an example of aniladic function which returns a result:

VRESULT^THISFUN

[1] X-f-A+B

[2] RESULT-i-pX

APL

The function could be called inside anexpression and used wherever a variablecould be used. For example:

A+-1

B<-1 2 3 4

3+THISFUN

USER

USER

USER

- APL

THISFUN calculates the sum of A and Bthen finds the length of the sum and returnsit as the value of THISFUN. In the function

The function NEW above is a niladic func-tion, which returns no result. Niladic means

Proposed Micro APL Specifications

Operators:

All monadic and dyadic scalar operators will beimplemented (except for the exponential, logarith-mic and circular if space does not permit).

The following monadic mixed operators will beimplemented: ravel, index generator, shape. Thefollowing will probably be implemented: grade up,grade down, execute, and reversal. Catenation,index of, reshape, and compression will be thedyadic mixed operators implemented, probablyalong with: take, drop, element of, rotate, andperhaps encode and decode if space permits.

The only composite operator implemented willbe reduction.

Data Structures:

Numeric and character data will be allowed, butall numbers will be stored in IBM 360/370 singleprecision floating point format. Character data willbe stored one character every four bytes toconform with floating point format. The spaceallocated for character and numeric data will be 1to 2 K, so the maximum number of elements in allvariables and internal variables created by evalua-tion of an expression must be less than 256 to 512.Vector will be the only type of array allowed.

Functions:

Up to eight functions may be defined inworkspace. The total memory for function storagewill be around 1 to 2 K. Although the functionsare stored in essentially the same format in whichthey are defined, a number of pointers also have tobe stored in this area. Recursive functions and localvariables may or may not be allowed depending onthe amount of memory available.

Total Memory Requirement:

12 K 8008 system. An 8080 or 6800 versioncould probably run in 8 K by reducing the amountof memory allocated to the workspace.

123

the value that will be returned is assigned tothe dummy variable specified in the functionheader (in this case, RESULT).

A function could also be monadic, as thisfunction which finds the cosine of a num-ber:

A dyadic or monadic function need notreturn a result such as this function:

VC+-COS X

[1] O20X

V

APL

A monadic function which returns a result,such as COS, could be used anywhere amonadic operator is legal. (See table 1 forthe meaning of symbols used.) Thus APLallows the programmer to effectively createnew APL operators, which sometimes addsthe readability of a program. An example ofthe use of this particular function is:

(COS 02) + (COS o3)

This is certainly more readable than

2oo2 + 3oo3

which would calculate cos (2ir) + cos (3tt). Adyadic function which returns a result couldbe used anywhere a dyadic operator is legal,so the function ADD could replace +:

VAB^A ADD B[1] AB+-A+B

V

34 2 ADD 4 638 4

APL

USER

-APL

Table 2: Typical APL System Commands.These are the global instructions used tocontrol the interpreter program. A smallsystem APL would use versions of thesecommands.

(CLEAR Clears all functions, variables, etc.

)LOAD Loads a new workspace from an

auxiliary storage device.

1SAVE Saves a workspace on an auxiliary

storage device.

)FNS Lists all functions in the current

workspace.

)VARS Lists all variables in the current

workspace.

)SI Displays the state indicator (internal

information about where executionstopped, and where errors haveoccurred).

)SI CLEAR Clears the state indicator.

VAA SUM BB[1] 'THE SUM IS';AA+BB

V

3 SUM 4THE SUM IS 7

APLAPLAPL

USER

APL

However, it is illegal to use a function whichdoes not return a result inside an expression.

The previous discussion has shown whatthe typical APL functions are like. In addi-tion, there are usually several system com-mands associated with an APL interpreter.Table 2 gives a short listing of several typicalsystem commands. These refer to the meansof loading, clearing and saving the APLworkspace, catalogs of what is in the work-space, etc.

This should give you a good idea of thepower of APL on a large system, but howuseful would APL be on your small systembyte banger? Obviously many of the opera-tors would take a good deal of the memoryof an average small system to implement(matrix divide, for example). Another prob-lem is that since APL is so generalized in itsoperations, it is somewhat memory ineffi-cient. For example, to add two vectors, Aand B, together, all you have to type is:

a+b USER —*■

but, in order to calculate the sum, APL hasto make a copy of each of the vectors first;so if the length of A and B is 64 (256 bytesat 4 bytes per floating point number), then1 K would be in use during this operation.Using a comparable program in BASICwould require 516 bytes, since the sumcould be calculated one element at a time,printing each sum out as it was calculated.There is also an 10 problem, since mostpeople have ASCII encoded terminals (or theequivalent), terminals which do not have theentire APL character set on them.

The only way I see that APL could bepractical for a memory and 10 limitedpersonal processor is if the features werelimited (only vectors, for instance, instead ofup to 63 dimensions for arrays), and if thenumber of operators were kept to a work-able minimum. All the scalar operators areperformed in a similar manner, so they couldbe easily implemented. But only the mostpowerful of the mixed operators should beimplemented, for example:

i p / A + +

124

Of the composite operations, reduction isthe most used, and easiest to implement.Whether or not character data would beallowed depends on what size system wasavailable. An easy way to handle characterdata would be to store one character everyfour bytes, so the routines used for numberswould not have to take care of the specialcase of character data. Although this method

would waste memory in the workspaceproper, it would greatly reduce the size ofthe interpreter, and in a small system this iswhere most of the memory is used. On largesystems, logical (1 and 0) data is stored asbit level data for memory efficiency, but ona small system the major programming prob-lem of unpacking bits would probably notbe worth the small savings it would provide.

GLOSSARY

Array: An array is a group of numbers (orcharacters) which in APL can be subscripted ortreated as a single object. Vectors are the only typeof arrays discussed in this article; however, a fullimplementation of APL allows matrices and up to63 dimensions for arrays.

Character: As an APL data type, character is thekind of operand which is allowed for most mixedoperators, but not for scalar operators otherthan = and #.

Command: An APL system command causes someoperation to occur, such as destroying the currentworkspace, or loading a new workspace from anexternal device. A command begins with a rightparenthesis and has an English keyword, such as) CLEAR or ) SAVE. A command is normally legalin either execute or function definition mode.

Compiler: A program which translates a high levelsource program into machine language object codeis called a compiler.

Composite operator: A generalized operator whichtakes a built-in operator(s) and performs it (them)in a special way. An example is reduction, whichtakes a scalar operator and performs it upon all theelements of the operand, right to left.

Dyadic: A mathematical term meaning having twooperands. An APL function or operator which isdyadic must have an operand on both sides of it.

Execute mode: This is the APL system modewhere an expression such as 1+1 will print theresult. The del is used to leave the execute modefor the function definition mode.

Function: This is the name of an APL program.Since a workspace may have more than onefunction and a function can be niladic, monadic, ordyadic, and may or may not return a result,functions can be used as main programs, sub-routines, or functions.

Function definition mode: This is the mode inwhich APL functions are created. The del is usedto go back and forth between the execute andfunction definition modes.

Function header: This is the first line of afunction, before the actual program starts. It givesinformation to the interpreter about the function:Does the function return a result? What, if any,local variables are used in the function?

Interpreter: APL is implemented as an interpreter,a program which takes a source listing of the high

level program and performs operations as themeaning of the program is being translated.

Mixed operator: In APL a mixed operator is onethat allows or requires the operand(s) not to obeythe rule for the size and shape that scalar operatorsdo require.

Monadic: A function or operator which has onlyone operand to the right of the operator.

Niladic: A function which has no operands.

Operator: An operator is a built-in function whichperforms some common task such as addition, andis represented by a single, reserved, character.

Quad: The quad is used in expressions to performinput and output, and in the function definitionmode to list the function. To the right of anassignment arrow quad will request an expression,which will be evaluated, and the result used inplace of the quad in the expression. To the left ofan assignment arrow, quad prints out the valueassigned to it. Quote-Quad is for input of characterstring data only.

Rank: This is the shape of the shape of an array; inother words the number of dimensions of thearray.

Scalar: A single value, such as 8 or —23.4. Scalarscan be used with dyadic scalar operators to operateon all the elements of the other operand.

Scalar operator: An operator which obeys thisrule: If the size of the two operands (for thedyadic operation) is the same, do the operation onthe values in parallel. If one or the other is scalar,do the operation between the scalar and all theelements of the other operand.

Shape: In a full implementation of APL, this is avector which represents the dimension of an array.

Subscript: This points to which elements of anarray are to be used. APL allows subscripts to bevectors, a feature most other languages do notallow.

Variable: A symbolic name given to a value, suchas 3, or — 4. A local variable (dummy) is one whichwill be destroyed after the function in which it isin finishes executing.

Vector: A one dimensional array, the only type ofarray which can be represented as a constant inAPL.

Workspace: The APL name for all the functions,variables, and internal state indication data whichthe user has created.

125

Figure 1: Two examples ofalternate dot matrices forAPL characters. The char-acter at the left is theGreek character rho,shown in an approxima-tion which distinguishes itfrom a Roman P. Thecharacter at the right is aGreek iota.

The storage problem of A+B could easilybe avoided by writing a program similar tothe one in BASIC:

VNOPROBLEM[1] N+-0

[2] LOOP: NH-N+1[3] A[N]+B[N][4] ->(b#pN)/LOOP

V

APL

BIBLIOGRAPHY

John Coake and J T Schwartz, ProgrammingLanguages and Their Compilers, Courand Instituteof Mathematical Science, New York, 1970, pages601-642. This book describes the methods ofwriting a compiler for various languages, includingan involved chapter on APL.

Leonard Gillman and Allen J Rose, APL 360: AnInteractive Approach, Wiley and Sons, New York,1974.

Kenneth Iverson, A Programming Language,Queens University, Kingston, Ontario, 1968. Thisis a fairly mathematical type book, and does notrepresent APL as it was implemented, althoughIverson is the creator of APL.

Harry Katzan, APL Programming and ComputerTechniques, Van Nostrand Reinhold, New York,1970.

Harry Katzan, APL User Guide, Van NostrandReinhold, New York, 1971.

Sandra Pakin, APL/360, Science Research Asso-ciates, Chicago, 1972. This is a manual for the IBM360 implementation of APL.

Sandra Pakin, APL: A Short Course, Prentice Hall,Englewood Cliffs NJ, 1973.

William Prager, Introduction to APL, Allyn andBacon, Boston, 1971.

Xerox APL Reference Manual, Xerox Corp, ElSegundo CA 1973. This is where I got the idea ofmnemonic representation of APL characters usingthe $.

In APL the programmer has the advan-tage of being able to choose whether or nothe or she wants to use the built-in vectoroperator or program it, which is somethingthat the programmer of most small systemBASICs does not have.

As far as the character set problem isconcerned, a translation table could be builtto translate ASCII input like $R (control R)into the internal code for p, or $l into theinternal code for \. Once translated, thecomputer would not care if the \ came froman APL terminal or even a Baudot Teletype.Or, an ASCII keyboard could be used whenthe internal codes for the APL character setwere chosen so that the positions of thecharacters on the ASCII keyboard simulatedwhere the same key was on the APL key-board. An upper case I would be i while iwould be translated into I. The same transla-tion would occur with R and p; r and R.On such a system a TV display could beconverted to show a 5 by 7 representation ofthe character, as shown in figure 1.

Of course, software would have to handlethe translation from the internal codes tothe graphics codes, and software would haveto take care of the cursor; so that if the APLprogrammer backspaced to create a legaloverstrike, such as ' over . to form :, or oover | to form <|>, the rotate operator, itwould appear as if the overstrike actuallyoccurred. (On most CRTs, it would nothave; but rather it would have been replacedby a new code, created by the software assoon as the backspace and correspondingoverstrike were entered.)

Some people love APL and some peoplehate it. I think it is one of the bestinterpreters around, next to BASIC. I hopeto be able to implement a subset of APL onmy computer in my spare time so that it willspeak more than one language. I'm not surehow powerful a small system APL would be,but I will report my success or failure in alater article. In the meantime, I'd like tohear from anybody who is interested in orknowledgeable about small systems APL."

126

Hot Off the Grapevine

Texas Instruments has announced (inmarketing literature of somewhat limitedcirculation) a new single chip video con-troller integrated circuit which is envisionedas part of the 9900 family line. This is asingle chip generator for all the timing andcontrol information needed to run a rasterscan display interfaced to an LSI processor'sbus. The grapevine says that it is beingsampled at the present time, and will be ondistributor shelves next spring. The samegrapevine identifies a second, similar con-troller chip announced by another companyas well. Either item would make excellentmaterial for a tutorial review article in BYTEsince these chips have obvious uses in per-sonal computing systems."

Editor's Pet Peeve: All you wonderful usersof the English language, engineering subset,take note: A "baud rate" is a redundantabomination. The concept is data rate, some-times measured in units of baud which wetake to signify bits per second. (The originaldefinition of a rate measured in baud is alittle more complex.)■

BROWN-OUT PROOFyour ALTAI R 8800

With the unique Parasitic Engineering constant voltagepower supply kit. A custom engineered power supply foryour Altair. It has the performance features that no simplereplacement transformer can offer:

•BROWN-OUT PROOF: Full output with the line voltage

as low as 90 volts.•OVER-VOLTAGE PROTECTION: Less than 2% increase

for 130 volt input.•HIGH OUTPUT: 12 amps @ 8 volts; 2 amps total®

± 16 volts. Enough power for an 8800 full of boards."STABLE: Output varies less than 10% for any load.

Regulators don't overheat, even with just a few

boards installed.•CURRENT LIMITED: Overloads can't damage it.•EASYTO INSTALL: All necessary parts included.

r><®

*"

Only $75 postpaid in the USA.calif, residents add $4.50 sales tax.

Don't let power supply problems sabatoge your Altair 8800

PARASITIC ENGINEERING

PO BOX 6314

ALBANY CA 94706

pretty

Morrow's presents a front panel with brains— $249.95

Combination front panel andCPU board speeds programdevelopment and debugging

Replaces and upgrades ALTAIR/IMSAI front panel and CPUboards, or forms the nucleusof a custom system.

This isn't a toy...or a con-versation piece...but a toolfor serious program develop-ment, rivalling the sophisti-cation of many minicomputersystems. Granted no systemcan make bugs go away: butthis one, finally, makes themmanageable.

Two exclusive operating modesgive you control over realtime, allowing you to work ona program while it's running.

The "Control Halt" mode ref-uses to let the 8080A CPU godormant upon executing a HALTinstruction; instead, specialpurpose hardware forces a NOOP instruction then passescontrol to the front panelprogram, where you can exam-ine and alter processor regis-ters. ..memory locations...andI/O ports directly from thefront panel.

The "Slow Step" mode allowsyou to run through a programat a variable rate from 1 to65,000 steps per minute. Thedisplay indicates the programcounter and a processor regis-ter of your choice.

Unambiguous readouts replaceblinking LEDs; a 12 pad key-board replaces time-consumingtoggle switches. And becausethe front panel/CPU is Altairbuss compatible, you can builda custom system around thisboard using Altair compatibleperipherals. Also compatiblewith any software written foran Altair type buss.

We've made some strong claims

in this ad and given the

way some companies advertise,you have a right to be skep-tical. In order to dispel anydoubts, we've put together acomplete documentation packet(schematic, layout, software,assembly instructions), avail-able for $5.00 postpaid. Youmay be surprised to find outwe've understated our case.

I

I I

BOX 6194

ALBANY,

JCA 94706

127

WHO DARED TO CHALLENGE THE 8080 & 6800 SYSTEMS?

WE DID!

VERAS SYSTEMS"F-8"

I f ? W^^^^^^

COMPARE STANDARDYOU'LL SEE WHY THE

A COMPLETE SYSTEMFOR ONLY S^CQOO

$7fiQ 00

7"x 16" x 14-3/4" f V/J/b

FEATURES ON BASIC SYSTEMS

VERAS F-8 SYSTEM WINS HANDS DOWN! "Registered Trademarks of Fairchild and Motorol

KIT FORMASSEMBLED and TESTED

STANDARD FEATURES

VERAS F8

8080 & 8080ASYSTEMS

6800SYSTEM

Parallel I/O Ports

(3) 8 Bit Bidirectional Brought Out To Rear Panel Conn's.

None

None

Serial I/O Port

RS-232 or TTY Brought Out To Rear Panel Term. Strip.

None

RS-232 or TTY

Interval Timers

(2) Programmable Interval Timers

None

None

Interrupts

a) Vectored Interrupt To Location 0090 Hex.

b) Vectored Interrupt Programmable Location

c) Two Vectored Interrupts Associated With IntervalTimers

d) Total of (4) Interrupts In A User Defined PriorityInterrupt Structure

None

a) 2 Non VectoredInterrupt;; on P ! A

b) 2 Vectored SWI(N M I

c) Total of 4 Non Pnoritized Interrupts

Built In Mini Operating Systemin ROM For Terminal AndMemory Debug

FAIRBUG*

None

1IKBUG*

Loader Program

Automatic Internal ROM

Manual ConsoleSwitches

Automatic InternalROM

Static RAr<

lemory

1024 BYTES

None

2048 BYTES

Card Rack

Rugged Alum. Self Contained Card Rack/Plastic SelfAligning Card Guides

Card Supports

None

Auxiliary DC Power ToPower Peripherals

+5V, -5V, +12V, -12V @ 1 Amp. Ea. Regulated AtRear Panel Terminal Strip

None

None

Basic Kit Price

$459.00

$539.00, $599.00 orS840.00 Depending

On System

S395.00

OUR 4K STATIC RAM BOARD FEATURES: (optional)

• On board decoding for any four of 64 pages. • Address and data lines are fully buffered.

• No onboard regulators to cause heat problems. (Chassis mounted)

• 4K memory boards with connector, buffers, static RAM's & sockets are available in kit form

$149

00

The VERAS System can be made into17K processor by merely adding four of ou

J THE VERAS SYSTEM

optional memory boards. The kit includeseverything you need to build the VERAS F-8 Computer as described. All boards, connectors,switches, discrete components, power supply and cabinet are supplied. Programming manual,data book and simplified support documentation supplied, 8K Assembler and Editor (papertape or K.C. std. cassette) available on request with minimum order of 8K RAM.

THE CPU

BOARD

FEATURES:

• Two I/O ports each on the CPU and ROM chip make 32 bidirectional TTI lines.

• The Fairbug" ptogrammed storage unit provides the programmer with allI/O subroutines, allows the programmer to alter or display memory, andregister its contents via teletype.

• Programmable internal timer is huili into the ROM chip.

• Built in clock generator and power on leset are built into the CPU chip.

• There is a local interrupt with automatic address vector.

• It is expandable lo 65K byles of memory.

• 20 mil loop and/or RS232 interface included.

• IK of on board 2102 RAM.

• Serial interface built into PSU chip' Fairbug is a registered trademark of Fairchild Corp.

TINY 2 K BASIC (available) OCT. 15,1976 $25.00FULL BASIC (available) DEC. 15,1976 $50.00

flomnutpr Healers and hnhhvist Huh immune are invited FxripneH rtolivprv time 3D davs nr Ipic

Computer dealers and hobbyist club inquiries are invited.

Expected delivery time 30 days or less.

I The More Flexible and ExpandableComputer at a Comparative Price.

VERAS SYSTEMS

I Warranty: 90 days on parts and labor forassembled units. 90 days on parts for kits.Prices, specifications, and delivery subjectto change without notice.

r"vERAS SYSTEMS

A Div. of Solid State Sales, Inc.Box 74B, Somerville, MA 02143(617) 547-1461

□ Enclosed is check for S

or □ Master Charge §

>

D VERAS F-8 Computer Kit D AssembledQ4K RAM Board Quantity

Name

Address

City, State Zip

'•'

n

SOLID STATE SALES

PO BOX 74BSOMERVILLE, MASS. 02143

WE ARE LEADING THE WAY IN CUS-TOMER SERVICE AND DELIVERYTIME FOR THE COST CONSCIOUSSEMI-CONDUCTOR USER, LARGE ORSMALL.

DIODES

TRIACS

TRANSISTORS

INTEGRATED CIRCUITS

INTEL 8080 CPU S24.50

2618-HEX 32 BIT SR S6.00

2102-1 1024 BT RAM S 1.80

5280-4K DYNAMIC RAM $12.50

5202A UV PROM SI 2.50

MM5203UVPROM S12.50

1702A UV PROM S12.50

5204-4KPROM 524,95

MINIATURE MULTITURN TRIM POTS

100. 500, 2K. 5K, 10K. 100K. 200K

S.75 each 3 $2 QO

Multi-turn trim POTSStmitar to Bourns

30to uyte3/16"xS/8"x1 -1/4"; 50. 100,IK, 10K.50K oltrm

SJJjQea ■■■■■■ 3/S4.00

LIGHT ACTIVATED SCR's

TO-18, 20OV 1A S 1.75

TRANSISTOR SPECIALS

2N3585 NPN Si TO-66 S .95

2N3772 NPN Si TO 3 S 1.60

2N4908 PNP S. TO-3 S 1.00

2N6055 NPN Si TO 3 Dai lmi)ton . S 1.30

2N5086 PNP S. TO-92 4/S 1.00

2N4898 PNP TO-66 S .60

2N404 PNP GE TO-5 5/S 1.00

2N3919 NPN Si TO-3 RF S 1.50

MPS A 13 NPN Si TO-92 3/S 1.00

2N3767NPNSi TO-66 S .70

2N2222 NPN Si TO-18 5/S 1.00

2N3055 NPN Si TO-3 S .80

2N3904 NPN Si TO-92 5/S 1 .00

2N3906 PNP Si TO-92 5/S 1.00

2N529G NPN Si TO 220 S .50

'2N6109 PNP Si TO-220 S .55

2N3638 PNP Si TO-5 5/S 1.00

2N651 7 NPN TO-92 Si 3/S 1.00

C/MOS (DIODE CLAMPED)

74C02- ,25 4016 .50 4035.-1.75

74C10- ,25 401 / 1,30 4042- 1.60

4001 .25 4018- 1,40 4047-2.60

4002 .25 4019 .GO 4049- .70

4006 1 GO 4022- 1.20 4050 .70

4007 25 4023 ,25 4055- 1.20

4009- 60 4024 1.25 4066- 1.20

4010- 60 4025 .25 4071- ,30

4011- 25 4027 65 4077- .70

4012- 25 4028 l 50 4081- .354013 50 4029-1/5 4076-1.204015 ! 40 4030- .90

LED READOUTS

FND 500-.5" C.C SI.95

HP 7740-.3" C.C S1.4L

MAN-7-.3" C.A S1.25

NS 33-3 dig. army S1.35

DL 74 7 S2.75

St.-rul 25c lui out catittoy featuring

TrunsisloiSiiiitl Rectifiers

145 Hampshire St., Cambridge, Mass.

Terms: FOB Cambridge, Mass.Send Check or Money Order.Include Postage, MinimumS $20.00

PRINTED CIRCUIT BOARD

4 WATT IR LASER DIODE $7.95

BOARD 1/16" thick, unatched

$.50 ea 5/S2.20

VECTOR BOARD V SPACING

4.5" x 6" SHEET SI.25

2N 3820 P FET S .45

2N 5457 N FET S .45

2N4891 UJT S .45

TIS43 UJT S .35

ER 900 TRIGGER DIODES 4/S1.00

2N6028 PROG. UJT S .65

VERIPAX PC BOARD'This board is a 1/16" sinyln sided papei epoxyboard, 4,^"x6,//' DRILLED and ETCHEDwhich will hold up lo 21 sifiyle 14 pin IC'soi 8. 16, or LSI DIP IC's with bosses forpower supply connecto'. ....... S4 0Q

MV5691 YfcLLOW-GREEN

BIPOLAR LED SI 25

MT 2 PHOTO TRANS S GO

RED, YELLOW. GREEN OR

AMBER LARGE LED's . . . ea. S 20

14 PIN DIP SOCKETS S 25

1G PIN DIP SOCKETS S .28

MOLEX PINS 1D0/S1.00

1000/S7.50

8 PIN MINI DIP SOCKETS S .25

10 WATT ZENEHS 3.9.4.7. 5.6, B.2. 12, 15,

18, 22, 100, 150 oi 200V . . . ea. S .601 WATT 2ENERS 4.7. 5.6. 10. 12. 15.

18 OR 22V ea. S .25

TANTULUM CAPACITORS

SILICON SOLAR CELLS

214" diameter.5V at 500 ma $5.00 ea., 6/S27.50

REGULATED MODULARPOWER SUPPLIES

i-15 VDC AT lOOma

1 15VAC INPUT S2/.95

5VDC AT 1 A. 1 1 5VAC INPUT . . . S24.9512 VDC AT .b AMP S24.95

Silicon Power Rectifiers

PRV

ioo~

200~4D0600800"1000

1A.06 ~.07"09

3A.14.20

.25

12A.30.31..50

50 A' .801.151.40

125A3.70

4.256.50

.11.15

.30.35.45

.70".901.10

1.802~302.75

8,5010.501 2.50

.20

IN 414S 1IN9141

. 15'S1 BO

.22UF 35V 5/S 1.00,47UF 35V 5/S1.006ESUF 35V 5/SI.OO1UF 35V 5'Sl.OO3.3UF 35V 4/S1-004.7UF 35V 4/S1.00

G.8UF 35V 3/S1.0022UP 35V S -4033UF 35V S .4030UFGV 5/S1.00100UF 35V S .50150UF 15V S .40

M/001 ALARM CLOCK CHIP.

S6.00

NATIONAL MOS DEVICES

MM1402- 1./5MM1403 1.75MM1404- 1.75MM5013- 2.50MM5016-2.50MM5017- 2.70MM5055-2.25MM5056- 2.25

MM50!MM5058 2.71MM5060 2.7!MM50G1 2.6iMM5555- 4-7!MM5556 4.7!MM5210- 1.9!

.33

7 4 LOO7400-7401-740274037404-7405-7406-7407

7408 - -25

7409- .25

7410- .16

7411- .25

7412- .40

7413- .45

7414- 1.00

7416- .33

7417- .337420- .IB

7425 .30

7426 .357427- .287430 167432- .307437 .307438- .307440- 18

TTLICS

7441744274457446-74477448-74 72-7473-7474-7475-74 767480748374857486748974907491 -749274937494 -74957496-74107 -741217412374125

- .60-1.00

74157-74161 -74164-74165-741737417474175-

74177-

1.00

74180-

1.00

74181-

2.40

74190-

LIB

74191-

1.10

74192-

80

74193-

90

74194-

1 25

74195-

74

74196

1,10

75324-

1.75

75491

fiO

75492-

- .60

MIN

ATURE DIP

SV

ITCHES

CT5-20G-4

Four SPST

wit

ches

in one

ninidip pack

age

Si.50

CT5-206-8

Eight SPST

swi

ches

n a 16

pin Dll

package.

S2.55

i-1013-A30K s:isal UART.

ALCO MINIATURE TOGGLE SWITCHESMTA 106 SPDT SI .20

SOLID STATE SALES

P.O. BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 5474005

Full Wave Bridges

PRV 2 A 6A 25A

200 .95 " _J~25 2.00

400 1.16 1.50 _3.00600 ^35 K75 ~ 4.00

SANKEN AUDIO POWER AMPS"

Si 1 01 0 G 1 0 WATTS S 6.90

Si 1020 G 20 WATTS S13.95

Si 1050 G 50 WATTS S24.95

CCD 110 LINEAR 256 XI BIT SELFSCANNING CHARGED COUPLEDDEVICE S99.00

CCD 201 100 X 100CHARGE

COUPLED DEVICE S135.00

LINEAR CIRCUITS

LM 309K 5V 1A REGULATOR . . SI.15

723 - 40 + 40VV REGULATOR . . S .50

301/748-Hi Par. Op. Amp S .31

320T 5. 12. 15, OR 24V

NEGATIVE REG SI.50

709C Op. Ami. 3 .31

741Aor 741C OP AMP S.31

710 COMPARATOR S .35

CA 3047 Hi Pel. Op. Amp S .95

340T5, 6, 8, 12.15, 18,24V POS

REG. TO-220 $1.60

101 OPER. AMP. HI PERFORM. . . S 75

LM 308 Opei. Amp.. Low Power . . S .95

747 - DUAL 741 S .65

556 - DUAL TIMER S1.00

537 - PRECISION OP. AMP SI 70

LM 3900 - QUAD OP. AMP .... S .49

LM 324 - QUAD 741 SI.50

560 PHASE LOCK LOOP .... S2.00

561 - PHASE LOCK LOOP .... S2.00

565 - PHASE LOCK LOOP S1.25

566 FUNCTION GEN Sl.65

567 - TONE DECODER SI.50

LM 1310N FM STEREO DElViOD. . S2 75

8033 IC VOLTAGE CONT. OSC. . $3.90

LM370 - AGC SDUELCH AMP. . $1.15

555 - 2ys - 2 HR. TIMER S .45

553 OUAD TIMER S2.50

FCD810 OPTOISOLATOR .... S .80

1458 DUAL OP AMP S .60

LM 380 - 2W AUDIO AMP S .95

LM 377 - 2W Sieieo Audio Amp. . S2.50

LM 381 - STEREO PREAMP. . . . SI.50

LM382 - DUAL AUDIO PREAMP SI.50

LM311 - HI PER. COMPARATOR S.90

LM 319 - Dual Hi Speed Comp. . . SI.25

LM 339 - QUAD COMPARATOR Si.50

PRV 1A

100 .4

200 .70 _ 1.10 1.75

400_ 1.10 1.60 2.60

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

You'll Want to Nybble at theseByte Books

• The TTL Cookbook by Don Lancaster, published byHoward W Sams, Indianapolis, Indiana. Start your quest for datahere with Don's tutorial explanations of what makes a TTL logicdesign tick. 335 pages, $8.95.

• The TTL Data Book for Design Engineers, by TexasInstruments Incorporated. How does an engineer find out aboutthe TTL circuits? He reads the manufacturer's literature. This640 page beauty covers the detailed specs of most of the 7400series TTL logic devices. No experimenter working with TTL hasa complete library without The TTL Data Book for DesignEngineers. Order yours today, only $3.95.

• The Supplement to The TTL Data Book for DesignEngineers, by Texas Instruments Incorporated. What happenswhen you can't find a 7400 series device listed in The Data Bookfor Design Engineers? Before you start screaming and tearingyour hair out in frustration, turn to the Supplement. TheSupplement has 400 pages of additional information including acomprehensive index to both TTL Data Book volumes. To becomplete (and keep your hair in place and vocal cords intact)you'd best order the supplement at $1.95 to accompany themain volume.

• The Linear and Interface Circuits Data Book for DesignEngineers, by Texas Instruments Incorporated. When you runacross one of those weird numbers like 75365 the immediatefrustration problem occurs again. What kind of gate could thatbe? We won't tell in this ad, but you can find out by reading thespecifications in The Linear and Interface Circuits Data Book forDesign Engineers. You can interface your brain to the 72xxx(linear) and 75xxx (interface) series of functions by orderingyour copy of this 688 page manual at only $3.95.

• The Semiconductor Memory Data Book for DesignEngineers, by Texas Instruments Incorporated. Don't forget theimportance of memories to your systems. Refer to this 272 pagemanual to find out about the Tl versions of many of the popularrandom access memories and read only memories. Order yourpersonal copy today, only $2.95.

Where does the editor of a computer magazine turnwhen he must verify some author's hardware design?Information on a 75450 interface gate, or a 74147priority encoder circuit does not spring forth by magic.Checking the information supplied by authors is part ofBYTE's quality control program.

When you build a project, you need this same sort ofinformation. All you find in the advertisements for partsare mysterious numbers identifying the little beasties ...hardly the sort of information which can be used todesign a custom logic circuit. You can find out aboutmany of the numbers by using the information found inthese books. No laboratory bench is complete withoutan accompanying library shelf filled with references -and this set of Texas Instruments engineering manualsplus Don Lancaster's TTL Cookbook will provide anexcellent starting point or addition to your personallibrary.

• The Transistor and Diode Data Book for Design Engi-neers, by Texas Instruments Incorporated. You'd expect a bigfat data book and a wide line of diodes and transistors from acompany which has been around from the start of semicon-ductors. Well, it's available in the form of this 1248 page manualfrom Tl which describes the characteristics of over 800 types oftransistors and over 500 types of silicon diodes. This book coversthe Tl line of low power semiconductors (1 Watt or less). Youwon't find every type of transistor or diode in existence here,but you'll find most of the numbers used in switching andamplifying circuits. Order your copy today, only $4.95.

• The Power Semiconductor Handbook for Design Engi-neers by Texas Instruments Incorporated. To complementthe low power transistor handbook, Tl supplies this 800 pagetome on high power transistors and related switching devices.Here is where you find data on the brute force monsters whichare used to control many Watts electronically. Fill out yourlibrary with this book, available for only $3.95.

• Understanding Solid State Electronics by Texas Intru-ments Incorporated. This is an excellent tutorial introduc-tion to the subject of transistor and diode circuitry. The bookwas created for the reader who wants or needs to understandelectronics, but can't devote years to the study. This 242 pagesoftbound book is a must addition to the beginner's library atonly $2.95.

• The Optoelectronics Data Book for Design Engineers by

Texas Instruments Incorporated. This 366 page book is acompendium of information on Tl phototransistors, LEDs andrelated devices. Order yours at $2.95.

_TTL Cookbook @ $8.95_TTL Data Book @ $3.95.Supplement to TTL Data Book <g> $1.95.Linear and Interface Circuits @ $3.95.Semiconductor Memory Data @ $2.95.Transistor and Diode Data Book (g> $4.95.Power Semiconductor Handbook (s1 $3.95.Understanding Solid State Electronics @ $2.95.Optoelectronics Data Book @ $2.95

Please add 25 cents for each book for postage and handling.

Please allow six weeks for delivery.

Send to:

Name

Address

City

State

Zip

BITE

Check enclosed

Bill MC #

Bill BA #

.Exp. Date..Exp. Date.

PETERBOROUGH, NH 03458

Signature

Itt all right here

I Prompt service

d&

ECTRONICS for INDUSTRY

LOW, LOW PRICES!

BRiGARi-eLecTronics

OHicei & Warehouse: 10 Aliu Street. Binghamtori, New York 13904 ■ Tel.:607-7233111

SAVE SAVE

In-depth inventories

PHONE ORDERS607 723 3111

MINIATURE LAMPS a

mSEMSEBSm e

CHICAGO MINIATURE LAMPS (?387

SAME AS J327 EXCEPT LONGER LIFE

28 volts. .04 amps. Bulb Style T-l-3/4Mid-Flange Base. BRAND NEW BOXED, 100per box. 40,000 pes in stock.

PRICE SCHEDULE1 - 99 .. 40C each 100 - up .. 35« ea

Computer Grade Capacitor

MallorY

W

NIOH INDICATING GLOW LAMPS - ■■__|1LT°

NE-2 neon lamps, with dropping resistor

to operate directly from 115 VAC.

Nominal Watts - 1/17. T-2 Clear Bulb,

wire terminals.

25,000 pes in stock. Mfd by G.E. Co.

lot each up to 1000 pes.

1000 pes & up 7C each.

EEngSEiaPEEiE

RITE GLO INCANOISCENT LAMPS

BRITE-GLO Incandescent LampsUltraminiaturized Series, 100,000 hr.lifeVersatile, low cost indicator lamp. Idealfor Stero Amplifiers, Mobile Equipment,Instrumentation, Computer and DisplayPanels, Etc.

High temperature, T 1-3/4 lamps - MetalBase - Wire Terminals. Metal base in-creases light output and protects lampfrom damage.

41, 685 pes

leads.40,263 dcsleads.

- 6.3 volts, 75 ma, 8" wire

6.3 volts, 200 ma, 13" wire

DISCOUNT SCHEDULE1-99 25C ea.100-499 20C ea. B4TB500-999 15C ea.

1000-UP

12*

BARGAINS [PSl[l(g[!l)Il(eM -OB-

BRAND NEW - FINEST QUALITY

QUAN MPS TOL. OHMS WATTS PRICE

10,6863,00029,00075,00035,00070003000570079007200660018001000

T.I.

Electra

Electra

191

191

243

2.43K

909

10

15.4

16506190267 0

1/81/81/81/81/41/21/21/21/21/81/81/81/8

.07.07.07.04.04.04 -

CG (STANDARD) 85°C Supplied with PVC insulating SleeveOuan. Mfd. vdc size Each

10000 1100 35 1-25/64 X 2-11/64 $.75

25000 100

10000 80

350

400

1-25/64 X 2-11/64 .501-25/64 X 2-11/64 .60

SUB-MINIATURE

GENERAL-PURPOSE

POTTER

a BRUMFIELD

RELAYS

TYPE KH 5505 (Identical to KIIU17D11)

COIL: 24vdc, 650 ohms.

CONTACTS: 4PDT, 3amps at 30vdc or 120 vac

Small rugged DC relay with clear poly-carbonate dust cover. Contacts are qoldflashed silver.

Mounts by solder terminals or 3-48 stud5/16" long. Also mounts as plug-in.6500 pc in stock, BRAND NEW, while theylast at this price. $1>25 each

#

BRAND NEW PHENOLIC SHEETSGrade LE- NaturalType - FBE, Mil Spec: 15035, .062" thickNeeded by all experimenters, amateurs andradio men for insulating parts - terminalstrips - building sets or for research(. development, etc.

Stock # 560 - 6" x 6" x .062" 42* eachI 561 - 6" x 12" x .062 82* each

# 563 - 12" x 12" x .062 51.58 ea

# 564 - Full sheets 38" x 47" x .062"$13.00 each.

BRAND NEW QUALITY SHEETS

High-Speed Reset CounterVeeder-Root

4 FIGURE rniMiR MANUAL RESET

IWVDC/lISVAC

VEEDER ROOT 177601

II5VAC (Rectifier supplied* Basici-ounier is 11SVDC, 6 waits I figure,bliitk on while background. I'usri huttanreset. Dim.: 1-7/8" width 1-18" highx 2-1/2" deep,

^JW

51295

LIGHTED

52.95 Each

PUSHBUTTON SWITCHES

Unit can be used on 6 vi. or in series for 12 volt

<~;SPST, mom, PC board gold^.plated pins for wiring or^- easy installation.10,000 pes in stock

Widely used on computers, machine tools,office machines, guidance control and a

Mfr: Grayhill

Switch Co.

2" x m" x IV w'de variety of applications.

Electrolytic Capacitors

TUBULAR, HIGH RELIABILITY

QUAN.

600

375

298

299

571

375

313

597

4000

26,000

416

350

2500

1161

2600

1000

825

1099

6549

1942

10,500

520

290

476

409

284

255

281

20,000

339

400

MFD

100

250

500

1000

1200

1500

2000

100

50

200

1500

2000

10

2000

10

500

100

150

250

300

60

80

300

40

100

200

5

10

4

VDC

3

3

6

6

6

6

6

12

15

15

15

15

25

25

50

50

50

50

50

50

] 50

150

150

200

250

250

350

350

250

250

250

EACH

.30

.35

51. 00

1.001.021.10

1.11.60.30.30

1.10

1.10.25

1.40.40.80.95.90.98

1.07.70.90

1.00

1.00

QUAN.

1055

246

967

400

529

453

MFD. VDC EACH

30

40

4

10

15

20

350350450450450450

51.00

1.14.981.071.071.14

METALLIZED PAPER FILM

QUAN

899

437

400

1360

820

4200

400

771

417

1100

lioo

1600

565

4000

389

500

600

717

30,000

1000

291

MFD

.1

.33

1.0

.22

.022

.033

.1

1.0

1.5

.001

0022

.022

.047

.022

.05

.1

. 2

.25

.01

.047

.22

VDC100

100100150200200200200200400400400400600600600600600100100400

.35.40.45.40.35.35.40.40.40.35.40.45.50.25.30.30.30. 30.15.20.30

NEW!

HIGH POWER DUMMY LOADMfg. Eastern Microwave. #10-1254...RF Coaxial Load Re

sistor utilizing water flow to cool and provide a loadresistance of 50 ohms for inputs from DC to 4000 MHz.Maximum power input is 1000 watts. Requires a flow of.218 GPM min. per 100 watts of input power; 100 psipressure. Compression fittings on water line inlet andoutlet for copper tubing supply lines. Has a Flangetype coaxial fitting, friction type, 13/16" I.D. with2-1/4" flange. Completely shielded unit of machinedaluminum. Size: 1-5/8" diameter by 5-3/8" long.Shipping weight, 2 lbs.5,000 pes in stock, NEW BOXED $14.95 each

Cherry Electrical Products

Computer Grade Capacitors

PHONE ORDERS607 723 31U

Instant off-the-shelfdelivery.

fCJUt

\

PRICE EA QUAN

350

30000

494

60000

1016

25000

527

40000

353

15000

869

15500

277

40000

316

74000

375

15000

267

14000

600

10000

S29

12500

1-3/8 x 4-3/16

3" x 4-1/2"

2-1/16" x 4-9/16"

2" x 5"

2" x 4-1/8"

2" x 4-7/16"

3" x 4-1/2"

3" x 4-3/4"

2" x 4-1/2"

2" x 4-3/8"

2-1/16" x 4-1/2"

2" x 4-1/0"

SI.501.501.501.501.251.251.702.001.251.251.251.25

252628

1014

10706

4200

792

478

337

200

500

23436

11800

MFD.11500

11000

8200

1100

750

1500

450

400

500

750

100

BO

100100150200350400

SIZE

2" x 4-1/2"

2" x 4-1/2"

1-3/8" x 3-1/8"1-25/64" x 2-11/64"

1" x 3-1/2"

2" x 4-1/2"

1-7/16" x 2-9/16"

1-7/16" x 2-1/2"

2-1/16" x 2-3/8"

1-1/2" x 4"1-25/64" x 2-11/64"1-25/64" x 2-11/64"

SI.251.251.701.00.751.301.001.001.001.00

K- IK

These switches are postage

stamp sized precision swit

ches which feature long op'

erating life & high electrical capacity for their size

5 amp, 1/4 HP, 125-250 vac, SPDT, quick dis-connect

terminals. 2,000 pes in stock without lever..75* each

2,400 pes in stock with extended roller lever. 95* ea

TANTALUM CAPACITORS

EBB

TYPE 109D

TUBULAR SINTER3D-AN0DE TANTALEX CAPACITOR

S109D147X9060T2

1620 pes - 140 uf ±10% - 60vdc $2.00 ea.

GENERAL*® ELECTRIC

it alums + w

3,000 pes CL3lBEl80t-a]E, 18-if - J 5vdc 65* each

300 pes CL31BE550MPE, 55uf - 15vdc 85* each

non-polarized CL32/33900 dcs CL33BL020MJE, 2.0uf - 75vdc $1.00 each

EES5J5]

MTP/MTPH UIT*A.MINIATURE TANTALUM CAPACITORS

10,550 pes MTP685MO20P1D, 6.8uf - 20vdc 55C each2,100 pes MTP106MO30P1A, 10uf - 30vdc 75* each1,028 pes MTP336MO10P1A, 33uf - lOvdc 65C each

CESS"

S SOLID ELECTRO

ANTALUM CAPACITORS

4996 pes, 4.7uf- ±10%, 6vdc, TAS475K0O6P1A 354 ea

394 pes, .47uf ± 10%, 6vdc, TAS474K006P1A 38* ea

1430 pes, 47uf ± 10%, 6vdc, TAS476K006P1C 40C ea326 pes, 220uf ± 20%, 6vdc, TAS227M006P1G $1.20 ea

285 pes, 5.6uf ± 10%, lOvdc, TAS565K010P1C 40C ea

4574 pes, lOuf ±10%, lOvdc, TAS106K010P1C 40* ea

900 dcs, 15uf ±20%, lOvdc, TAS156M010P1C 40* ea

887 pes, .068uf ±10%, 20vdc, TAS633K020P1A 51* ea

152 pes, 2.2uf ± 20%, 20vdc, Sprague 40* ea

1457 pes, .47uf ±10%, 35ydc, TAS474K035P1A 51* ea

GENERAL^ ELECTRIC riA""

365 pes G.E. 40uf,±20%, 50vdc, 125QCType: 2K105AA6M. $1.75 each1168 pes SPRAGUE, 40uf, ±20%, 50vdc, 125°CType: 220D005A3M. $1.75 eacH C

rrj a)4J W

tn to

.Q O 0) U

Production Description:

?£•

i**»i*

.-i "»*•"*.

iilitfjkl****

.***:;-'

/>/?Oto 7.

The Astral 2000

Editor's Note

This descriptive sum-mary is based upon materi-als supplied by M&R En-terprises, as well as firsthand inspection of proto-type hardware during atrip to California in Aprilof this year. The market-ing and development ofthe Astral 2000 is, to saythe least, cautious andpainstaking. It has beenessentially kept underwraps until the BASIC fa-cility was sufficiently de-veloped to allow release.The system has beenshown off in bits andpieces throughout the de-sign process by peoplefrom M&R who attend thesessions of the HomebrewComputer Club in PaloAlto CA. Now that M&REnterprises is finally to thepoint of delivering thesystems in initial produc-tion quantities it leaves therumor stage and becomes afull fledged contender inthe marketplace.. .. CH

The Astral 2000 system is based upon theMotorola 6800 central processor design. Theuse of any one of the many microprocessorsis subject to numerous design choices in thedetails of how the chip will be buffered andinteract with the rest of the computer world.The designer of the Astral 2000 computerchose to take a route which seems inherentin the design simplicity of the second genera-tion microprocessors such as the 6800. TheAstral 2000 bus is a minimum complexity,minimum pinout design which in essencesimply buffers the processor pins of the6800. As a result, it fits into the standard 44contact (dual 22 pin) edge connectors whichare widely available at moderate cost. (Thischoice of a minimum pinout backplaneconfiguration also makes it possible for thiscomputer to use standard Vector ElectronicCo cards as the basis for homebrew peripher-al interfaces.) This simplicity of the back-plane bus and use of standard connectors isone of the most elegant features of theAstral 2000.

Without indulging in a major review, here

in summary is what the 6800 processor

chosen for the Astral 2000 will give the

programmer in machine assembly language:

1 index register (16 bits),

1 stack pointer register (16 bits),

2 accumulators (8 bits),

1 flag register (6 bits active),5 addressing modes for data operations(direct 8 bit, extended 16 bit, immedi-ate, indexed with 8 bit offset, andinherent operands),

4 addressing modes for processor con-trol operations (relative with 8 bit

signed offset for branches, jumps andsubroutine calls, with extended 16 bitaddresses or addresses indexed by 8 bitoffset, and inherent operands for mis-cellaneous processor control instruc-tions).Data control manipulations include theusual and expected operations of a goodgeneral purpose instruction set in the secondgeneration of microprocessors. Also worthnoting are a decimal adjust instruction tohandle packed decimal data and push andpull operations for the accumulators uti-lizing the stack as temporary data storage.The processor has a software interrupt, areset sequence, a maskable interrupt line,and a nonmaskable interrupt line; all ofthese except the reset completely save theprocessor state prior to the beginning of thenew instruction sequence. These interrupt-like operations are vectored to a new pro-gram location via 4 pointers located in thelast 8 bytes of address space (locations FFF8to FFFF.) For more complete description ofthe 6800 architecture see the Motorola 6800literature.

As implemented in an Astral 2000 sys-tem, the first 56 K bytes of a total 64 Kbytes in the 6800 memory address space areleft open for ordinary programmable memo-ry, the single most valuable resource of anygeneral purpose processor's central proces-sing unit. What this means is that the usercan insert cards in increments of 8 K to thepoint where some level less than or equal to56 K has been acquired. (This assumes thatthere are enough card slots in the backplaneto accommodate such an expansion.) M&REnterprises presently has available both an 8K programmable memory board and an 8 KEROM board (using the 5204 UV erasablechips) with which to take advantage ofmemory address space. The standard pack-age of the Astral 2000 includes one of the 8K programmable memory boards. The upper8 K of a Motorola 6800's address space isreserved for the system monitor and periph-erals of the Astral 2000 design.

The Monitor and IO

The basic concept of the Astral 2000 isthat of a "turn key" system, even when theunit is purchased in kit form. An aspect ofthis is the preassembled and tested processorboard and memory board. Another aspect ofthis is in the physical configuration seen inthe photographs. The front panel may seemat first sight to be an unimaginative repeat ofthe traditional front panel seen in computersfrom time immemorial. But it is not essen-tial, and is put in the design apparently for

132

SOLID STATE

ANNOUNCES THE

IRCHI

TECHNOLOGY KIT

• FOR THE EXPERIMENTER WITH TASTE FOR "STATE OF THE ART" PRODUCTS

• COMPLETE SPECIFICATIONS ARE PRINTED ON THE BACK OF EACH TECHNOLOGY KIT

FTK0020

FTK0020

PN FTK002Q

SOLID STATE

TECHNOLOGYKIT

FTK0106

•

TECHNOLOGY KIT

automobile clock

TEN RED Lt-0 LAMPS

TECHNOLOGY BY

FAIRCHILD

4001 MIRANDA AVENUE-PALO ALTO, CA 04304

CARD FRONT

FTK0001FTK0002FTK0003FTK0004FTK0005

FTK0010FTK0011

FTK0020FTK0021FTK0022FTK0023

FTK0030FTK0031FTK0032FTK0033

DIGITS

0.5" High Common Cathode Digit0.5" High Common Anode Digit.357" High Common Cathode Digit0.8" High Common Cathode Digit0.8" High Common Anode Digit

0.8" HIGH DISPLAY ARRAYS

12 Hour,24 Hour,

3V2 Digit Clock Display4 Digit Clock Display

LED LAMPS

10 Red LED Lamps

5 Mixed Colored LED Lamps10 LED Mounting Clips

5 Three Piece LED Mounting Adapters

PHOTO TRANSISTORS

5 Flat Lens Photo Transistors5 Round Lens Photo Transistors3 Flat Lens Photo Darlingtons3 Round Lens Photo Darlingtons

CARD BACK

CARD Fl

PHOTO ARRAYS

$1.00

FTK0040

9-Element Tape Reader Array

1.00

FTK0041

12-Element Card Reader Array

.75

FTK0042

Reflective Opto Coupler

2.002.00

FTK0050

COUPLERS

3 General Purpose Opto Couplers

FTK0051

Darlington Opto Coupler

7.008.00

FTK0400

MOS CLOCK CIRCUITS

Digital Clock/Calendar Circuit(FCM7001)

1.00

FTK0401

Digital Clock/Calendar with BCD

1.00

Outputs (FCM7002)

1.00

FTK0402

Direct Drive Digital Clock Circuit

1.00

with AC Output (FCM3817A)

FTK0403

Direct Drive Digital Clock Circuitwith DC Output (FCM3817D)

1.00

FTK0405

Direct Drive Digital Clock/Calendar

1.00

1.00

Circuit (FCM7015)KITS

1.00

FTK0106

Automobile Clock Kit

16.00

24.00

4.00

1.001.00

7.007.005.005.006.00

40.00

• THESE PRODUCTS ARE PACKAGED FOR OUT-STANDING WALL DISPLAY APPEARANCE

• FULL f^RCmjld PRODUCT LINETO FOLLOW

• DEALER'S AND WHOLESALER'S INQUIRIESINVITED-PRICE LIST AVAILABLE.

• BUY WITH PRIDE THE PRODUCTS BUILT BYTHE INDUSTRY'S LEADER

R/MRCMIl-D

Satisfaction Guaranteed. $5.00 Min. Order. U.S. Funds.

California Residents - Add 6% Sales Tax

Send a 24c Stamp (postage) for a FREE 1977 Catalog.

Wntss

NOW OPEN SATURDAYS

1021 HOWARD STREET

SAN CARLOS, CA 94070

PHONE ORDERS - (415) 592-8097

Photo 2: The Astral 2000 computer is $995 partially assembled or $1250fully assembled and tested. Additional fully assembled 8 K RAM boardsare $245 each and the 8 K EROM board is $59.95. The VID-80 video ter-minal is $189.95 in kit form or $245 fully assembled and tested. IO tapeinterface units are $49.95 each. The software package includes Astral BASICon magnetic tape cassette or paper tape (specify), complete documentationand a free one year subscription to the Astral Newsletter, all for $35. TheAstral 2000 is available from M&R Enterprises, POB 61011, SunnyvaleCA 94088.

purposes of imagery and showing off aclassical "computer." The toggle switchesand lamps don't really control a thingdirectly, since they lead directly to a groupof PIA ports, as do the other "front panel"features such as the system's real time clock.

The "turn key" effect is achieved by twosubsystems of the central processor boarddesign and an optional VID-80 video displayterminal board. The processor board con-tains the key to turn key operation, a 2 Kbyte ROM monitor. This monitor programcan be used in one of two modes: It candrive the VID-80 terminal interface board,or a standard serial line interface with both20 mA current loop (Teletype compatible)and EIA RS-232C compatible drivers fortypical commercial terminals. The serial ter-minal interface also includes control lines forauxiliary functions such as reader and punchcontrol.

The logical features of the Astral 2000'smonitor program will prove quite useful.The input of the monitor is buffered so thatcommands can be repeated simply by enter-ing an ASCII space code from the keyboard.In the context of a command like the onewhich dumps "n" bytes, this can be a saverof keystrokes: once "TYPE 8" has beenentered, additional 8 byte groups of data canbe dumped in sequence by simply entering aspace. The monitor also includes machinelanguage debugging facilities to aid the low

level language hacker. These debugging facili-ties include patching and displaying memorycontents, insertion of break points, steppingthrough break points, etc. The Astral 2000monitor also has larger scale data manipula-tion facilities which include memory checksum calculation, "block insert" for tempora-ry program patches, a command which canbe used to calculate relative branch offsets,and patch points for the software interrupt,nonmaskable interrupt or maskable interruptrequirements of applications systems andprograms.

High Level Language Facilities

A major concern of most users is the needfor high level language facility. In the Astral2000 case, one of the strong points in thedescriptive literature is its 8 K extendedBASIC implementation. This is part of astandard $35 software package which isavailable to the purchaser of the system. Thedescriptive literature of Astral BASIC im-plies that it will prove quite useful, whetherthe application is business processing, gameshacking, or a host of other small computeruses. Here is a summary list of the pointsfound in the Astral BASIC which supple-ment the usual features of any good ex-tended BASIC.

• Floating point arithmetic with userselectable precisions of 6, 9, 13 or 16decimal digits. (Trade execution timeoff against precision of calculation.)•A unique DO statement referencesgroups of statements by number toprovide a simple form of subroutinecall not usually found in BASIC.

• Full statement trace facility.

• Variable length character strings ofunlimited (ie: 2**16) length.•Substring search function for charac-ter strings.

•Complete line oriented editing facili-ty including a renumbering facilitywhich alters all GO TOs.•Formatted output with PRINT US-ING, an essential for practical applica-tions programming.

Miscellaneous

Rounding out the details of the Astral2000, the standard version includes an audiointerface for magnetic tape recording, a realtime clock based upon a standard 24 hourclock chip accessed through PlAs and levelshifters, and a centralized power supply with5 V at 12 A. Prices for several of thecomponent modules are printed in the cap-tion for photo 2."

134

World's LowestIC Prices

SPECIAL PRICES

MEMORIES

74152

.90

HIGH SPEED

4007

.16

Rams

74155

.60

74H00

.20

4008

.70

2102

1.50*

7415774160

.60.75

74H0174H04

.20.20

40114012

.16*.16*

Proms

74161

.75*

74H10

.20

4013

.30*

82S23/S123

1.95*

74H11

.20

4015

.80

74163

.75*

74H40

.20

4016

.35*

TTL

74165

.80

74H51

.20

4019

.70

7400740274037404

.12*.14.14*.16*

74173741747417574177

1.25.75.75*.70

74H5274H7474H10374H106

.20.40.50.50

4020402140234024

.90.95.16*.75

7407

.20

74180

.80

4025

.20*

7410

.12*

74181

1.50

LOW POWER

4027

.40

7420

.12*

SCHOTTKY

4028

.60

7427

.25

74LS00

.29

4030

.35

74192

.70*

74LS02

.29

4040

.95

74193

.70*

74LS08

.29

4042

.60

7438

.20*

74194

.85

74LS10

.29

4043

.75

7440

.12*

74198

1.25

74LS27

.30

4044

.70

7441

.65*

9602

.50*

74LS73

.45

4049

.35*

9300

.75

74LS75

.65

4050

.35*

7445

.45

9312

.70

74LS151

1.10

4066

.65

7447

.75

74LS153

1.10

4068

.35

7450

.14

SCHOTTKY

74LS157

1.10

4069

.16

745174737474

.14*

.22

.23

74S0174S0274S37

.25.25

.40

74LS16174LS16374LS164

1.50*

1.50

1.50

407140734075

.16.16.16

7480

.40*

74S3874S85

.602.00

74LS17474LS175

1.10*1.50

45164528

.85.75

7493749574107

.50.49.29

74S11374S139

.801.50

74LS19374LS221

1.501.50*

4585LINEARS

.85

74S140

.50

74LS251

1.50

NE536T

2.75

74109

.301.50.45*

74S153

2.50

74LS253

1.50

NE555V

.43

7411674123

74S17274S174

4.502.05

74LS25774LS258

1.501.50

NE556A1456V

.90.75

74141

.80*

74S175

2.05*

CMOS

1458V

.52

74145

.75

74S181

4.50

4001

.16*

566V

1.25

74150

.60*

74S197

2.20

4002

.16

567V

1.35

74151

.60

74S257

1.50

4006

.90

540 L

2.00

Order Minimum $10.00. Add $1.00 shipping and handling charge per order. California residents add 6% salestax. All orders shipped First Class within 24 hours.

Order the famous lasis 6 volume Programmed Learning Course "Microcomputer Design is a Snap" for$99.50 and receive a special $10.00 credit on any group of IC's.

Satisfaction 100% guaranteed.

C.O.D. Orders: Phone (day or night) 408/354-1448

CITD^"M0 pO BOX 2542

V.LI r\V^M Sunnyvale, CA 94087

Free monthly catalog—Just send us your name and address

Still More

BYTE's

Books

•DESIGNING WITH TTL INTE-GRATED CIRCUITS by the ComponentsGroup, Texas Instruments Inc. Edited byRobert L Morris and John R Miller.

People often ask questions like "Wheredo I get basic information on hardwaredesign?" One answer is in "Designing WithTTL Integrated Circuits."

This book, published by McGraw Hill in1971, is a fundamental starting point forany person designing peripherals and customlogic employing TTL integrated circuits.While its publication date precludes anyreference to the later additions to the TTL7400 series of components found in theData Books, it is nevertheless the source of awealth of ideas on TTL integrated circuitsand design of logic with this family ofcircuits.

What is fanout? You may have heard thisterm mentioned at computer club meetingsor in advertisements for circuitry, or inarticles in BYTE. You can find outbackground information on the calculationof fanouts by reading the chapter on CircuitAnalysis and Characteristics of Series 54/74.

Worried about noise, shielding, ground-ing, decoupling, cross talk and transmissionline effect? (Or, more properly, did youknow you should worry about these effectsin certain circumstances?) Find out aboutgeneral precautions and background infor-mation by reading the chapter on NoiseConsiderations.

The chapter on Combinatorial Looir.

Design gives 53 pages of backgroundinformation on Boolean algebra and practi-cal representations of logic in the form ofSSI gates. The chapter includes a descriptionof Karnaugh mapping techniques and theminimization of logic. From combinatorialdesign, the book progresses into Flip Flops,including background information on theworkings of these devices, and fairlydetailed descriptions of the uses andapplications of these devices includingsynchronization of asynchronous signals,shift registers, flip flop one shots, etc. Thenthe book returns to static combinatoriallogic with its description of the Decodersavailable in the 7400 line as it stood in1970-1971.

A chapter on Arithmetic Elements givesfundamental descriptions of binary arithme-tic, diagrams of the basic gate configurationsfor combinatorial logic adders, and a sectionon number representations for use incomputers. Much of the material in thissection is dated, due to the fact that thelater 74181 series of multiple functionarithmetic units had not yet appeared whenthe book was written. But for a backgroundon arithmetic operations implemented withthe simpler 7483 circuits, this chapter isideal. A chapter on Counters and a chapteron Shift Registers complete the detail logicsections. The book is closed out by achapter on miscellaneous Other Applica-tions including a simple binary multiplier, a12 hour digital clock and a modulo-360adder.

KITE

PETERBOROUGH, NH 03458

H

Designing With TTL Integrated Circuits $24

Microcomputer Design $25

Send to: Name

Address

City

State

Zip

u

D Check enclosed

□ Bill MC No.

O Bill BA No.

Signature

Exp. DateExp. Date .

Please add 25 cents for each book, forpostage and handling.

Please allow six weeks for delivery.

The most important use of this book is itsvalue as an introduction to TTL logic. Byreading and studying it, you will begin tounderstand the ways in which SSI and MSITTL gates can be utilized in your ownexperimental logic designs. After studyingthis text, you should be able to make muchmore sense out of the technical informationsummaries typically published as specifica-tions sheets and data catalogs.

Order your copy today from BYTE'sBooks, $24.

•MICROCOMPUTER DESIGN by Don-ald P Martin, Martin Research. Edited andPublished by Kerry S Berland, MartinResearch.

Purchase your copy of the definitivesource for circuitry and hardware designinformation on the 8008 and 8080 com-puters today.

Even Intel, the originator of the micro-processor revolution, is hard put to competewith the wealth of information found inMartin Research's new second edition ofMicrocomputer Design. This is the bookwhich was originally published as anexpensive (but quite practical) engineeringreport in loose leaf form, at about the timethe microprocessor technology was firstcatching on in the form of the 8008. This388 page second edition of the manual isloaded with detailed information on how tobuild and use computers based on the 8008and 8080.

But even if you do not intend to use the8008 or 8080, the practical pointers ondigital logic design, peripherals and applica-tions of hardware techniques will more thanjustify the new low price of $25 for thishandbook. Microcomputer Design is a mustfor 8008 owners and 8080 owners whowant to truly understand how theirprocessors process.

Microcomputer Design is complete withnumerous illustrations, tables and diagrams,plus reprints of the specifications sheets forthe Intel processors. There are numerouspractical examples of circuitry and manycomplete computer designs ranging from"minimal microcomputers" to a full blown8080 processor.

Order your copy today, $25 fromBYTE's Books

136

DELTA ELECTRONICS 'CD.

POST OFFICE BOX 2 AMESBURY, MASS. 01913 PHONE (617)388-4705

iinniiimiiiiii

0DD

|i,i,lllll!lil!l'-l!l!l!lll[!!l!!!l!M «^SIDDDDDDDDDDDDDDDDDD®

5140 B

GAINT NIXIE TUBE ASSEMBLY2 burroughs B7971 15 segmentAlpha-Numerical tubes. 2.50 inchcharacters. 2 sockets mounted ondriver board with 33 transistors.Perfect for large clocks and Alpha-Numerical displays. Data supplied

8 inches x 10 3/4 inches x 2 1/2inches. 3 lbs.STOCK NO . 6001 B $6.95 2/12.00

NIXIE TUBE

Left side display low-voltage read-out. Compatible with IC decoderor drivers. Fits low cost 9 pinsockets. 0.8 inch mountingSTOCK NO. 5243 B $1,25 5/1.00

END VIEW NUMITRONS

A 7 segment incandescent read-out

tube. (5/8 characters) Requires a

9 pin Novar socket (supplied).It isa 4.5 volt 24 mA per segment. Canbe filtered to any color. Data sup-plied.

STOCK NO. 5207 B $2.75 4/10.00 8/18.00

TUNG-SOL DIGIVAC READOUTA 7 segment fluorescent read outtube (,36x.57 character) requires a9 pinregularsocket(supplied) 12 to50 volts per segment. Readout.greenSTOCK NO. 5140 B $2.65 2/ 5.00

SPERRY INFORMATION DISPLAY

Direct interfacing with MOS/LS. 9

digits, includes point and comma.

Characters .25 inches intended for

multiplex operation, complete data

supplied

STOCK NO. 5275 B $2.95 2/5.00

BURROUGHS DISPLAYS12 digit panel display contains comma'sand periosd. Characters .25 inchesideal for any device requiring multipuldigits. Compatable with DTL' TTL andC MOS. Neon glow discharge, orangein color. Socket and data suppliedSTOCK NO. 5220 B $2.95 2/5.00

AA ALKALINE BATTERIESAA 1.5y Penlight batteries are great forequipment and alike. Also advantagesfor the hobbiests. All batteries areguaranteed before shipment. Most allAA batteries are sold competitively for

two (2) for $1.59..BUT DELTAS'

STOCK NO. 5443 B 4/$1.00...

CORE MEMORY BOARD

This memory board has 2 non-volatile magnetic corememory planes, each plane consisting of a 26 x 52bit array; Total capacity is 2704 bits (1352x2). Fourcould be used to make a 1352 word memory, 8 bitswide. Because of its ability to retain data when poweris removed, core memory is uniquely suited for boot-strap loaders, program development memore space,and whenever power failure is a major concern, suchas in a security systems. 2 3/4x41/4 inches;STOCK NO. 5446B $2.50 4/9.00

GRIGSBY BARTON

DRY REED RELAY

Type G821 A SPST-14 pin, 24vdc 2150 ohms. Sheildeddiode non-electrostatic sheild. They will fit standard 14-pin receptacles, they are designed for direct printed cir-cuit board mounting where desirable. Internal clamp incircuit Bd mounting where it is desirable. Internal clampdiodes for protection of drivers by suppressing back EMFThere is data available.

6/14.00

CRYSTAL

STOCK NO. . 1003 B

$1.75

2/ 3.00

4.000,000 MHz CR-18A/U. Crystalcan is .75x.75. The pins are .05 thkand the mounting spacing is .50.The crystal pin spacing is standard.STOCK NO. 1001

P.C. ROTARY SWITCHESHalf inch switches designed with only two moving parts.Mount directly on Printed Circuit Boards or panels. Pos-itive detent, Se*' indexing stops. 250 B1A at 28vdc. 4,000switching positions per position-contact resistance 0.05-ohm max. Operation temperature -65° C to - 150° C.

B $3.95 2/7.00 87-22-25 Knob Adjust 0.555 dia x 0.280 high2 pole - 5 position.

CRYSTAL HOLDERSTOCK NO. 9169

561.00

STOCK NO87-12-10

1004 B

$2.00

4/ 7.00

Screw driver

Adjust 0.500 dia x 0.190 high

Single pole 10 position

STOCK NO. 1005 B

$1.75

2/ 3.00

SEND FOR OUR LATEST FREE CATALOG. WE WELCOME MASTER CHARGE & BANK AMERICARD. WE MUST HAVE ALL THENUMBERS ON THE CARD FOR PROCESSING. PLEASE INCLUDE SUFFICIENT POSTAGE (2 lbs m in); excess wiu.be refunded

MINIMUM ORDER (0.

W7400N TTL

400N' 16 SN7459A .25

SN74O0N

SN7401N

SN7402N

SN7403N

SN7404N*

SN7405N

SN7406N

SN7407N

SN7408N

SN7409N

SN7410N*

SN7411N

SN7412N

SN7413N

SN74MN

SN74I6H

SN7417N

SN7420N

SN7421N

SN7422N*

SN7423M

SN7425N

5N742GN

SN7427N

SM7429N

SN7430N

SN7432N

SN7437N

SN7438N

SN7439N

SN7440N

SN7441N

SN7442N

SN7443N

SN7444H

SN7445N

SN7446N

SN7447N*

SH7448N

SN7450N

SN7451N

SN7453N

5N7454N

SN7459A

16 SN7460N 22 SN74154IJ'

.21 SN7470N 45 SN74155N

.15 SN7472N 39 SN74156N

.IB SN7473N* .37 SN74157N

.24 SN7474N* .32 SN74160N

20 SN7475N* 50 SN74161N.29 SN7476N* 32 SN74163N*.25 SN7479N* 5 00 SN74164M.25 SN74BQN 50 SN74165N

18 SN7482N 9B SN74166N

,30 SN7483N .70 SN74167N

.33 SN7485N 89 SN74170N

45 SN7486N 39 SN74172N

.70 SN7488N 3 50 SN74173N

35 SN7489N 2 25 SN74174N

35 SN7490N .45 SN74175M

21 SN7491N .75 SN74176N33 SN7492N 49 SN74177Njg SN7493N* 49 SN741BON37 SN7494N 79 SIJ741B1N29 SN7495N 79 SN741B2N,29 SN7496N 89 SN74134M37 SN7497N* 4.00 SW74185N42 SN74100N* t 00 SW74186N*.26 SN74107N 39 SN74187N31 SN74121N* 39 SIJ741S8N.27 SN74122N .39 SH74190N

27 SN74123N* .70 SN74191N

.25 SN74125N GO SN74192N*

15 SN74126N 50 SN74193N*

.89 SN74132N 1 09 SN74194N

.59 SN74136N 95 SN74195N

75 SN74141N 1.15 SN74196N

.75 SN74142N* 4.00 SN74197N

75 SN74143N* 4.50 SN74198N

.81 SN74144N* 4 50 SN74199N

69 SN74145N 1 15 SfJ742O0N

79 SN74147N 2 35 SN74279N*

26 SN74148N 2.00 SN74251N.27 SW74150N 1.00 SN74284N

27 SN74151N 79 SN74285N20 SN74153N 89 SN74367N

MANY OTHERS AVAILABLE ON REQUEST

20% Discount ior 100 Combined 7400s

CO4O00

CD4001CD4002CD4006CO40O7CO4009CO4O10C04011CD4012CD4013CD4016CD4017CD401DCO4O20CD4022CD4023CO4024CD4025C04027CD402BCD4029CO4030

CMOS

65

CD4035

CD4D40

C04042

CD4044

CO4046

CD4047

CD4049

CD4050

CD4051

CD4053

CD40B0

CD4066

CD4069

CD4071

CD4081

CD4511

CD45I8

CD456I3

74 COON

74C02N

74C04N

74C10N

74C2DN

7-1C30N

74C42N

74C73N

74C74

74C90N

74C95N

74C107W

MC151

74C154

74C157

MCI 60

74C161

74C163

74C164

74CI73

74C193

74C195

MC40441

MC11016"

LM300H 80

LM301H 35

LM301CN 35

LM302H 75

LM304H 1 00

LM305H 95

LM307CN 35

LM308H 1.00

LU308CN 1.00

LM309H 1 10

LM309K 99

LM310CN 1 15

LM311H 90

LM311N 90

LM318CN 1,50

LM319N 1 30

LM320K-5 I 35

LM320K-52 1 35

LM320K-12 1.35

LM320K-15 1.35

LM320T-5* 1 75

LM320T-5.2 1 75

LM320T-8" 175

LM320T-12* 1.75

LM320T-15 1 75

LM320T-18* 1.75

LM320T-24 1 75

LM323K-5* 9 95

LM324N 1.80

LM339N 1.70

LM340K-5 1.95

LM340K-6 1.95

LM340K-8 1.95

LM340K-12 1 95

LM34QK-15 195

LM340K-18 1 95

LM340K-24 1 95

IM340T-5 1.75

LM340T-6 1 75

LM34QI-8* 1 75

LM340T-12 1.75

LM340T-15 1 75

LM340M8* 1 75

LM340T-24 1 75

LM350N 1 00

LM351CN 65

LINEAR

LM370N 115

LM373N 325

LM377N J 00

LM380N 1 39

LU390CN 105

LM381N 1 79

LM382H 1 79

NE501K 8.00

NE510A 6.00

NE531H 3.00

NE536T 6,00

NE54GL 6 00

NE550N 79

HE555V* .45

NE5608* 5.00

NE561B* 5.00

NE562B* 500

NE565H* 1 25

fJE565fJ* 1 75

NE566CN* 1.25

NE5B7H" 195

NE567V* 1.50

LM703CN 45

LM709H 29

LM709N 29

LM710N 79

LM711N ,39

LM723H .55

LM723H .55

LM733N 1.00

LM739N 1 00

LM741CH 35

LM741CN .35

LM74114N .39

LM747H 79

LM747N 79

LM748H .39

LH748N 39

LM1303N .90

LM1304N 1 19

LM1305N 1.40

LM1307N 85

LM1310N 2 9!

LM1351N l.C!

LM1414N 1 7!

LM145BC 6

LM1496N 9

LM1556V 1 8

LM2111N 1 9

LM2901N 29

LM3065N 6

LM390QN 5

Lr.l3905N 6

LM3909" 1 2

LM5556N 1 8

MC5558V 1.0

LM7525N .9

LM7535N 1 2

8038B* 4 9

LM 75-150 4

75451CN 3

75452CN 3

75453CN .3

75454CN 3

75491CN 7

75492CN 8

75494CN .8

RCA LINEAR

CA3013 2 1

CA3032 2 5

CA3035 2 4

CA3039 I 3

CA3046 1 3

DA3059 3.2

CA3G60 3.2

CA3080 .8

CA30B5 2 0

CA3082 2 0

CA3DS3 1 6

CA30B6 8

CA3089 3 7

CA3091 10 2

CA3123 2 1

CA3130 1 3

CA3140 1.2

CA3600 1.7

RC4194 5E

RC4195 3 2

74LS0074L50274LS0374LS0474LS0574LS0B74LS1074LS1374LS1474LS2074LS2674LS2774LS2874LS3074LS3274LS4074LS5174LS5574LS73

S 74LS00

.39

74LS7474LS7574LS7674LS8374LS8574LS8674LS9074LS9274LS9374LS9574LS9674LS107MUSICS74LS1127JLS13?74LSI3674LS13B

1 89

741.515374LS157'41516274LSI63MLS 164/4LS17574LS18174LSI9074LS19174LSI 9274LS19374LS19.J74LS19574LS2577-1LS26074LS37974LS670

CONSUMER ELECTRONICS

PONGSUPER PONG

SINGLE

GAME

4 GAMESIN ONE

$55.00$79.95

PONG

DATA HANDBOOKS

7400 Pin-out Si Description of 5400/7-100 ICS S2.9!

CMOS Pin-oui Ki Description of 4000 Series ICS S2.95

Bar Pin-oui & Functional Description S2.9!

ALL THREE HANDBOOKS S6.95

ioo per strip MLUEX PINS

Intended for use ;\s an inexpensive substitute ior ic

sockets. Also petlecl lor use as board counselors

and In subassemblies.

SPECIAL— 100/1.49— 1000/12.00

GAMES INCLUDED IN SUPER PONG ARE:

• PONG • CATCH

• SUPER PONG • HANDBALL

FEATURES OF PONG AND SUPER PONG

■ Incnmental spcrti an voiipys iitaeases miiemeni

■ Playing lipid n(l|iists to any sue screen

■ Game appears in color or in black & whili1. Qependnuj nn television sel

■ UnmrstakablP PONG sound accomnariies eacb volley

■ Dinnal scaring llaslira on the screen bi'lween each point

■ 2 player challenge or Solitaire

■ Hooks up smply to any model tdcvisiun set. inc screen nclually ut'tomes The playing lifld

■ Engii'ili and oilier techniques can tie used in make any member ol Itielamily a Ponij charnpi

■ Ballerv operated by •! size D" Hashlujhl hallpries intliidri) with Itie Unit

AC Adaptor (Eliminates Batteries) S9.95

125" dia.

XC2Q9Rocl 10/S

XC203Groen 4/5

XC209Yellow 7/5

XC200Orange 4/$

.200" dia.

DISCRETE LEDS

.190" dia.

XC1 11 Rod 10'SI

XC11 IGroen 4/$1

XCHIYuIIow 4/51

XC11 1 Orange 4/51

.185" dia.

XC22Red fOiSl XCt52GRed 10/S1

XC22(..een 4/S1 XC526Groen 4 SI

XC22Yollow 4/$1 XC52GYellow 4/S1

XC220r:iiHje 4/$1 XCS2BOrange 4/S1

SSL-22RT i Si XCS2GCt(?ar .(SI

.200" dia.

XC556Recl 10/S1XCSGGGreen 7/S1XCDQGYollow 7/S1XCBCGOrantie 7/51XCSiSGCtear 7/S1

.085" dia.

MVBQ

.085" dia. Micired LED6/S1

DISPLAY LEDS

FND503 FNO70 ^^m MAN I MAN 4 MAfJ 7

■ lll.lal

TYPEMAN 1

MAM 2MAM 3MAM .1MAN J

man re.

MAN 7YMAN 52

MAM 64MAN 17MAN 74MAM 8?MAN 04

POLAFilTY

Common Anode5 x 7 Dot MatrixCommon CathodeCommon CalhodeCommon AnodeCommon A node-greenCommon Anode-yellowCommon Anode-greenCommon Anode-rodCommon AftotttCommon CathodeCommon Anode-yellowCommon Cain ode-yellow

TYPE

POLAHITY

MAN 3GZ0

Common Anoue-oianqe

MAN Ki.lll

Common Calhodeorange

MAN -17IQ

Common Anoiiu-Red

DL70I

Common Annrle-red

Diror

Common Anode

DL 728

Common Catriode

DL747

Common Anode

DL750

Common Cathode

DL 'JM

Common Cathode

FND70

Common Calhode

FND503FNO50J

Common Calhode

16 pin18 pin22 pin

16 pin

18 pi"

IC SOLDERTAIL— LOW PROFILE (TIN) SOCKETS

?■! pin28 pin

'SOLDERTAIL STANDARD (TIN)

28 pin36 pin40 pin

SOLDERTAIL STANDARD (GOLD)

24 pin28 pin36 pin

WIRE WRAP SOCKETS (GOLD) LEVEL #3

50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST.

ASST. 1ASST.2ASST. 3ASST. 4

ASST. 7ASST. 8R

10 OHM 12 OHM 15 OHM 18 OHM 22 OHM

27 OHM 33 OHM 39 OHM 47 OHM 56 OHM

68 OHM 82 OHM 100 OHM 120 OHM 150 OHM

180OIIM 220 OHM 270 OHM 330 OHM 390 OHM

■170 OHM 560 OHM 680 OHM 820 OHM IK

V2K

1 5K

1 8K

Z.2K

100K270K

680K

All So-

3 DM■j' Assortn

120K330k820K2 2M5.6M

100-195 PCS

1/4 WATT 5% 50 PCS.

1/4 WATT 5% SO PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5% 50 PCS.

1/4 WATT 5*. 50 PCS.

1/4 WATT 8% 60PCS.S10.95ea.

B 500-995 0275 -a

SINGLE TURN %" CERMET POTENTIOMETER

• Resistance Tolerance ± 20%

• High Power 0.5 Watt at 70°C

• Wide Operating Temp. Range -55°C to 1125°C

STANDARD RESISTANCE VALUESBOA 100ft 5000 1K 2K 5K 10K 20K SOK TOOK 200K 500K 1 MEG

$.89

All Advertised Prices Good For This Month Only — NovemberSatisfaction Guaranteed. Si).Oil Min. Order. U.S. Funds.California Residents — Add 6°° Sales Tax — Data Sheets 25c eachSend a 240 Stamp (postage) lor a Free 1977 Catalog

ystwss

1021 HOWARD AVE., SAN CARLOS, CA. 94070PHONE ORDERS WELCOME — (415) 592-8097

DTO!

JMT

'

,4.

1041

»M

l

;:

ON

io*

OM

313

2.95

2.55

1.87

' 58

1 70

1 ■'. 1

295

2.15

ON

™

ON

■71

i as

.*

i«

130

MINIATURETOGGLE

SPOT SEHIESPB.P

PB-123 $1.75 |^:^=: PB-126 $1.75 &

THUMBWHEEL SWITCHES

rHEIL SWITCH ONtl

mm

DIP SWITCH

These switditis iciTurf seven t.t'iil slide switches in .imolded dm They are ideally suileti tor micro processor

!l,|"":""-1 S1.95

CLIPLITEM 4/$1.00

NEW LED T

MOUNTING SYSTEM ' "PLITE mounts (rom the fronthe Panel in o .250 hole on 3/8"tors. Panel thickness from 1/16'- lo 1/8".PLITE equalizes ami increases tries brightnimonly used wide beam LEDS.PLITE is to be used with XC556 LEDS.

:lfv

jKl, grc

TYPE

1K7J6

1N751A

IN 752

1N75I1

1N75-I

1N959

1N9G5U

1N5?33

INS234

UJ52J5

(N5236

1N-J56

1NJ58

IH465A

1N-10OI

1N4D02

1N4003

■■.:. :

7ENERS—DIODES—RECTIFIERS

400m■100m4Q0ni400m400m500m500m500m500m40m

5(1 PIV

10U PIV200 piv

400 PIV

1 AMP1 AMP1 AMP

TYPE VOLTS1MJ005* 600 PIV1N4006* BOO PIVTN-I007* 1000 PIV1N3600 501N414B 75IN41S4 IS1N4305 751NJ734 5 61N4735 6 21N4736 6 81N4738 8 21N4742 121N47J4 151N1183 50 PIV1N1184 100 PIV

IN1185 IOOPIV

INHB6 200 PIV

1 AMP

I AMP1 AMP200m

SCR AND FW BRIDGE RECTIFIERS

C36D 15A@400V

C3BM 35A @ 200V

2N2328 1 6A @ 200V

MDA9B0-1 25A(tf50V

MDA9B0-3 25A@ 200V

FW BRIDGE RECFW BRIDGE REC

MPSAI

:', :■■■:

:v - .■'.•.

fMObi

2N3D55

U.S30S5

MJE29S5211339?

5S1 00

TRANSISTORS

P!j35n-

PN3M92K37UJ2N3/0b2N3706!N37073N37tl7X17212N37252N39032N3ilD42M9CI&2N390*2NJD13

3W123

3 SI 00J SI 00

i St CO

ssi oo J[L

b si oo r

3 SI 003 St 0010 SI 00

2N14Q12NJ402;NJ403JtH«9;'NWB62N5Q37.'H5058'.l :•2N51292N513BZRS1332N52092N5951

CAPACITOR

10 pi

22 p!

47 pi100 pi220 pi470 pi

00 lint.0022,0047ml

Olinl

1 35V15,35V22/35V33/35V47;35V68.35V1.0/35 V

50 VOLT CEBAM1C

DISC CAPACITORS

■9 10-49 50-100 1-9

04 03 OOVF 05

04 03 004 7MF 05

04 .03 01,iF 05

04 03 022f. F 06

04 03 047,. F 06

04 .035 Vf 12100 VOLT MVLAR FILM CAPACITOflS

10 .07 022mt 13

10 .07 047ml .21

28 23 17 6 8 25V 36 31

.28 23 17 1025V 40 35

.28 23 .17 15.'25V 63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

CORNER

47/50V .1 0,50V

3 3 50V .

4 725V10/25V10/50V22/25V22.50V47 25V47/50V

100,25 V

100/50V

220/25V

220.50V

470/25V1000 16V2200/16V

47.-25V4750V1 0 16V1 0.25V1.0/50V4.7/16V4.7/25V4 7.'50V10,16VtO.'25V10,50V47/50V100/16V100.25V100.50V220 16V470.25V

/^Sl CRYSTALS IMF

Part # "

CY1A

CY2A

CY3A

CY7A

CY12A

CY14A

CY19A

CY22A

CY30B

THESE FREQUENCIES ONLY

Case/Style

HC33/U

Frequency

1.000 MHz2 000 MHz4.000 MHz5.000 MHz10.000 MHz14.31818 MHz18.000 MHz20.000 MHz32.000 MHz

HC331IHC18/UHCIS.'UHC18/UHC1BUHC18UHC18/UHC18/U

"TriceS5.95$5.95S4.95S4.95S4.95S4.95S4.95S4.95S4.95

CLOCK CHIPS — CALCULATOR CHIPS

MM5309MM5311MM5312MM53UMM5316WM531BCT7001

.'/M532G

M.M5330

MM5369

MM5B41

MC1403-L7

MK6G07

LDMOLDn

S5H90

6 Digit, BCD Oulputs. Resel PlfJ6 DiQU. BCD Outpuis. 12 oi 24 Horn4 Digit. BCD Outputs. 1 PPS Output6 Dig:) 12 or 24 Hour. 50 or 60 Hz

4 Digit. Alarm 1PPS Output

ulosp Cipck CPip. For Use With MM5S41

5 Digit, Calanoer. Alarm, 12 pr 24 Hour

CALCULATOR CHIPS

6 Digit Foui Functicp Less Decimal8 Digit 5 Function + - x - °=B Digit 4 Function Floating Decimal'2 Digit 4 Function anO ?.

MISC. MDS

TV Camera Sync GeneratortVt Digit DVM Chip60 H: Timebase Circuit From 3.Video Generator for MM5318

7 Bit Digital to Analog Converter4 Decade Counter with Latches3(4 Digit DVM Cfiip Set

100 MHz - 10 Counter For Ptescalers

MHz

31/2 DIGIT DVM KIT

This 0-2 VOC .05 per cent digital voltmeter features the Motorola 31; digitDVM chip set. It has a .4" LED display arid operates (ram a single +5Vpower supply The unit is provided complete with an injection molded blackplastic case complete with Bezel. An optional power suppy is availablewhich fits into Ihesame case as the 0-2V DVM allowing 117 VAC operation.

A. 0-2V DVM with Case $49.95

B. 5V Power Supply $14.95

VECTOR WIRING PENCIL

i it*, x^*-^ ....«—gj

v * A w

Veclor Wiling l'i;iii:il Pi7j consiM;, ni a n.md held le.mierwruili! (under one ounce)tool winch is used 10 guide and wrap insulated wirp 'srj nlf a sett-conaiwd replaceableDobbin onlo componenl leads or terminals instated on prepunched P PatternVectQrtJOfd Connections between tfie wrapped wire and component leads pads orterminals are made Ey soldering Complete with 250 FT at red wi

$7.95

REPLACEMENT WIHE — BOBBINS FOR WIRING PENCIL

W36-3-A-Pkg. 3 250 ft 36 AWG GREEN S1.95

W36-3-B-Pkn 3 250 II. 36 AWG RED SI .95

W36-3-C-Pkrj 3 250 ft 36 AWG CLEAR S1.95

W36-3-P-Pkq 3 250 11 36 AWG BLUE S1.95

1/16 VECTOR BOARD

0 1" Hole Spacing P-Pnttern

ipiA 062B4P44!69Pi5 062

#

HEAT SINKS

st

205-CB291-36H

rnrium Heal Sml!• Annds2Pc) Aim

Sink Willi Black Finish lor 10-5r TO-220 Transistors A iTegulajm Heat Sink for tO-3

NIBBLING TOOL DIAGONAL CUTTER

A

' Semi-Flush Cul Fine Diagonal

Nibbling Tool SB.95 Liqhl Blue Handle

Replacement Punch S3.75 Each A97MS $8.50 e

63 KEY KEYBOARD

This keyboard feature 63 unencoded SPST keys, unattached Itany kind ol PC 3 Avery soliimolded [ilastic 13" K 4' basisuits mtjsl iiDDlicatioiis

$19.95

HQ0165 16 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER

JOYSTICK

These joysticks feature four *potentiometers, that van/ 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 $6.95*100K Pots $7.95

MICROPROCESSOR COMPONENTS

8080A

$34.95

8080 SUPPORT DEVICES'

8212 8 SIT INPUT/OUTPUT PORT FOR 8080 S 5.95

8216 NON INTERRUPT BI-DIRECTIONAL BUS DRIVER 7 95

8224 CLOCK GENERATOR AND DRIVER FOR 8080 12.95

8228 SYSTEM CONTROLLER AND BUS DRIVER FOR 8080 12.95

RAM'S

8080

$24.95

2513

251074S3B"

CPU18 BIT CPU

Super 8D0aSuper SOOS

SR'S1024 DynamicHex 32 BITHex 40 BIT512 Dynamic1024 DynamicDual 256 BITDual 512 BITQuad 80 BIT1024 StaticFifo16 x 4 Reg

HARTS30K Baud

ROMS

1024-Bit Piegrai

34.95

256 x I1024 x 1

255 « 1

520382S23

82S12374S287

Dynamic

Sialic

Static

Dynamic

Static

MNOS

Static

DynamicPROMS

1024

Fast

3.95

BIPOLAR PROM SPECIAL

6300-1 (70 NS) 256 x 4 OPEN COLLECTOR BIPOLAR PROM (EQUIVALENT TO 82S126) $2.956301 -1 (70 NS) 256 X 4 TRI STATE BIPOLAR PROM (EQUIVALENT TO 82S129) S2.95

Continental Specialties

Proto Board 100 (N-j q qc

79.95

^'i* rtf

O I *? ■ *JJ THE MINI-

BREADBOARDg. jj BUDGET KIT

: f J ; ::'{—

i-*~: 'L:ti / / chh» tort it! r. r

mjj |i.

» b|j( n

29.9539.95

■-' »s - f.n - \ \.

i 4fc-| 5 <«§

Prolo Board 6 S15.95

SPECIAL!

LOGIC MONITOR

Simullaneously displdynamic logic slatesHTL or CMOS DIP ICsPocket size

•i,iHn:!V;i,i:

■

□T P

OT-18SQT-12S

oi -as

OT-7S

QT lype

OT-59S

OT-59B

OT-J7S

QT-47B

QT-355

QT-35B

QT-1BS

QT-1ZS

QT-8S

QT-7S

DIGITAL WATCHES

Ladies Watch

• 6 Function

• Bracelet Styling

• 1 Year Guarantee. Model 900

• Specify Goldor Chrome

$69.95

EXELAR Mens Watch

• 5 Function

• Quartz Crystal

• Black Leather Band

• Manufacturer Guarantee

• Specify Goldor Chrome

$29.95

DIGITAL QUARTZ CAR CLOCK

Complete kit tram mounting bracket of the injection molded casedown to Hie three conductor power cord and all components in-cluding MM 5314 clock cliip. Features quart; accuracy ol .01%.six digit, .35" high LED display, and P.C. Boards. Works onany 12 volt system — motorcycles, boats, vans, molorhomes,autos. and trucks.

DIMENSIONS; 4»"

Kit: $29.95

K2" - 12 OR 24 HOUR MODE

Assembled: $39.95

DIGITAL CLOCK KIT — V/z INCH DIGITS

4 DIGIT KIT $49.956 DIGIT KITS69.95

4 DIGIT ASSEMBLED S59.956 DIGIT ASSEMBLED S79.95,

This clock feaiures Dig W High digitsfor viewing in oftices. audiloriums, eicEach digit is lormed by 31 bright 0 2LED s. The clnckoperates from 117 VAChas either 12 or 2-1 hi opeiation The ^digit version is 27" x3''i" x 1V?". and V\-:A digit is 18" x3'/2" %W. Kits ccmccomplete wilh all components, case andIranslormerSpecify 12 Or 24 Hr. When Ordering

Satisfaction Guaranteed. $5.00 Min. Order. U.S. Funds.

California Residents — Add 6% Sales Tax — Data Sheets 25t* each

Send a 24c Stamp (postage) tor a FREE 1977 Catalog

\^"1021 HOWARD AVE., SAN CARLOS, CA. 94070PHONE ORDERS WELCOME — (415) 592-8097

CB RADIO

"\

4|F3jg| $99.95

NEW IDI ICB-630nnel Synthesized CB Transceiver

(W) x 2" (H) x mINPUT: 5 Watts/12-Volt Max.OUTPUT: 4 Watts RMS

MOBILE CB ANTENNA $24.95

BASE LOAD - FIBERGLASS WHIP KA-2401

Mounts on Hood or Trunk Lid

AMTEX 8 TRACK AM/FM STEREO

FEATURES Oo9-95

I 8 hack stereo player

I AM/FM mpx radio

I Advanced ic constru

I Dial on door and slide-bar switch lype.

I Compact — only 1 -25/32" (45mrn) high, 4-13/16" (122(1

(170mm) wide and 5 position adjustable shaft distance.I Complete in-dash type design.I Easily adjustable anlenna trimmer !oi best performance.

KRACO CAR SPEAKERS $14.95

Flush Mount 10 Oz. Mag.18 ohm Model SST-101F

5 FUNCTION ELECTRONIC CALCULATORRADOFIN MODEL 8P

$8.95

. 5 Digit Drsplay

. 5 Functions cons eg ot addition, subtraction, mul-tiplication, division, percentage, with constant anail functions, with lull floating decimal point

. Power source is 1 piece 9V DC Battery OOGP.lack lor AC adapter

i Black superlmp grained finish plastic cabinet

5 FUNCTION ELECTRONIC CALCULATOR WITHWALLET-NOTEBOOK AND POCKET CHECKBOOKRADOFIN MODEL 1710

FEATURES: 51" '*V

its is ts of addnion.sublracnon.miltsion. percentage wilh conslant(

villi full floating decimal point

g6 AAA cells 9 V DC

le texun cahmet e black rjiasnc

DIGITAL ALARMCLOCK

This 4 digit Novus Alarm Clockis a very reliable and smartlystyled unit. It provides suchfeatures as an alarm settableto any minute of Ihe day. a 7minutes snooze alarm, a powerfailure indicator, and even anA.M., P.M. indicator.

Novus

$17.95

NOT A KIT

JE700 CLOCK

The JE700 is a low cost digital clock, buts a very mgh quahly unit The unit lea-'ures a Simulated walnut case with di-mensions ol 6" x 2Vt" x 1 . It utilizes a,v1AM72 high brightness readout, anil theMMS314 clock chip

$17.95

KIT

This large digit clock (.6" hours &minutes. .3" seconds) features theMM5314 clock chip. It operatesfrom 117 VAC. and will operate ineither a 12 or 24 hour mode Theclock is complete with a walnutgrain case, and has fast set. slowset, and hold time stil features.

ALL COMPONENTS & CASE S34.95WIRED & ASSEMBLED S39.95

JE803 PROBE

The Logic Probe is a umi which ;s tor the most canmdespervsitllE in trouble shooting logic familiesTTL, DTL, RTL. CMOS II derives the power itneeds lo operate directly off ol the circuit undetlesi drawing a scam 10 mA max It uses a MAN3readout to indicate any ol Ihe luliowmg -rates Bythese symbols (H) 1 (LOW) - o iPULSEl - P TheProhe can delect nigh irequi ray pulses to 45 MHzII can'l be used at MOS levels or circuit damsgewill result

$9.95 Per Kit

printed circuit board

PL 5V 1A Supply

This is a standard TTL power supply using the well knownLM309K regulator ICto provide .t solid 1 AMP of cunenlat 5volls We try to make tilings easy for you by providingeverything you need n one ij.icx.me. including Itv- hard wan-

'°'0"" $9.95 Per Kit

5 VOLT POWER SUPPLY$39.95

Completely Assembled

• +5 Volls @ 6 AmpsRegulated Output

• -5 Volts @ 6 AmpsRegulated Input

• 6.3Volls @ 5 AmpsUnregulated Output

Length 8%" x Width 6%"x Height 4"

mmS

LimitedSupply

What's

New?

A World's Smallest MicrocomputerSystem?

The manufacturer of this card, the Model71OA, claims that this F8 computer card is"the world's smallest complete 8 bit micro-computer." The card comes fully assembledand tested and measures 4.5 by 6.5 inches

Updates to the 9900 Line

Texas Instruments has announced addi-tions to the TMS9900 microcomputer prod-uct family in a release dated July 20. Ashort summary of the additions, which

(11.4 cm by 15.2 cm) with a standarddouble sided 22 pin edge connector. Theterm "complete" has the following seman-tics according to the Pronetics Corp pressrelease:

• F8 Microprocessor with 2 jus instruc-tion time.

• I K byte programmable memory.

• 1 K bytes programmable memory. ,

• 32 bidirectional latched single bit IOports.

• 2 independent external interruptinputs.

• 2 independent programmable intervaltimers.

• Flexible terminal interface.

• Physical size fits standard card cageproducts.

At $159, completely assembled andtested, the F8 Model 71 OA looks like a fairfulfillment of the adjective "complete."Individuals looking for a dedicated firmwarecontroller, a starting point for an F8 generalpurpose system, or a computer for use ineducational or laboratory programs shouldfind this board to be a useful option. Themanufacturer is Pronetics Corp, 6431Preston Crest, Dallas TX 75230, (214)270-8626."

should show up in personal computing endproducts in the next half year or so, is asfollows:

• TMS9980: This is a new MOS versionof the TMS9900, packaged as a stan-dard 40 pin dual in line package with aphysical description similar to most 8bit microprocessors: 8 bit data bus, 16bit address bus, etc. But there is adifference. If readers will recall RobertBaker's article on the TMS9900 chipin the April 1976 BYTE, the internalarchitecture of a 9900 is that of a 16bit minicomputer with hardwaremultiply and divide, 16 general pur-pose register like work areas, etc. Thesame instruction set is executed by the9980 with a slight drop in speed ofexecution due to the fact that byteaddressing is now done in the externalworld with an 8 bit wide memory andperipherals data path instead of a 16bit data path. This product is to besampled late in 1976, and we expect atleast one manufacturer to put this onan Altair compatible plug in board forthe personal computing market. Thehardware of the 9980 features anonchip oscillator and clock generator,so the breadboarding and productionof hardware with this chip shouldprove convenient.

• TMS9904 is a 4 phase clock generatorand driver for use with the TMS9900computer circuit, using a crystal con-trolled input.

• TMS9901 is a programmable systems

It's Almost Too Late ...

... to snap up bicentennial memorabilia before you haveto hunt through the nostalgia shops and pay 100 timesthe original price—if you're lucky enough to find abargain—for an item as anachronistic and otherwiseremarkable as Robert Tinney's Computing 1776 picture.

A same-size (16 by 20 inches, 41 by 51 cm) reproduc-tion of Tinney's original oil painting, this poster makesan off-beat gift.

Don't wait for the nostalgia shops to get the last of theseposters; get yours now for only $2.95. (Do you knowwhat your old Amazing Science Fiction magazines andSuperman comics that Mom threw out are worth now?)

BYTE Posters

PO Box 274

Jaffrey Center NH 03454

603-924-7217

Name

Allow 6-8 weeks for processing.

Posters $2.95 each

Address .

City.

-State.

-Zip

□Bill BankAmericard□Bill Master ChargeNo

□ Check Enclosed

Exp. Date.

140

S. D. SALES Co.

P.O. BOX 28810-B • DALLAS, TEXAS 75228

4K LOW POWER RAM BOARD KIT

Imsai and Altair 8080 plug in compatible. Uses low power static21L02-1 500 ns. RAM's, which are included. Fully buffered,drastically reduced power consumption, on board regulated, allsockets and parts included. Premium quality plated thru PC Board.

THE WHOLE WORKS

$89.95

8 Digit LED"METRIC MASTER"

$19.95

"RAPID MAN-12"

$29.95

$1,000,000 CALCULATOR PURCHASE!We bought the entire stock of a major manufacturer. New, guaranteed units.

Five functions PLUS complete Metric Conversion functions. Re-chargeable batteries. Small, hand held size. With AC charger.

12 Digit - Desk Top Style. Sturdy design. With memory and fourcomplete functions. Big, bright display.

ALARM CLOCK KIT SIX DIGIT LED

Thousands of hobbyists have bought and built our original clockkit and were completely satisfied. But we have received manyrequests for an alarm clock kit with the same value and qualitythat you have come to expect from S. D. So, here it is!THE KIT INCLUDES:

1 Mostek 50252 Alarm Clock Chip

6 Hewlett Packard .30 in. common cathode readouts15 NPN Driver Transistors

2 Switches for time set

2 Slide Switches for alarm set and enable

1 Filter Cap

4 IN4002 Rectifiers

1 IN914 Diode

1 .01 Disc Cap

15 Resistors

1 Speaker for alarm PCB — $3.00

1 LED lamp for PM indicator XFMR—$1.50

$9.95

MOTOROLA RTL IC'S

Brand new, factory prime. Hard to find, but still used in a varietyof projects. (See the RTL Cookbook by Howard w. Sams.)MC724P —59c MC780P — B9C MC791P— 69c

MC725P —59c MC785P —49c MC792P— 59c

MC764P —49c MC787P —89c MC799P—59c

MC767P —69c MC788P —49c MC970P — 89c

MC771P —49c MC789P—59c MC9709P—69c

MC775P — 89c MC790P—89c MC9760P — 69c

$5.95

60 HZ CRYSTAL TIME BASE -FOR DIGITAL CLOCKSS. D. SALES EXCLUSIVE!KIT FEATURES:

A. 60 hz output with accuracy comparable to a digital watch

B. Directly interfaces with all MOS Clock chips

C. Super low power consumption (1.5 Ma typ.)

D. Uses latest MOS 17 stage divider IC

E. Eliminates forever the problem of AC line glitches

F. Perfect for cars, boats, campers, or even for portable clocksat ham field days. BUY TWO FOR $10.00!

G. Small size, can be used in existing enclosures.

KIT INCLUDES CRYSTAL, DIVIDER IC, PC BOARD PLUS ALLOTHER NECESSARY PARTS AND SPECS.

7400 — 19c7402 — 19c74L04— 29c74S04 —44c7404 — 19c7406 — 29c7408 — 19c7410— 19c7411 — 29c7413 — 50c7420— 19c

TTL

743074327437743874407447744874517453747374747575

INTEG

— 19c

— 34c

— 39c

— 39c

— 19c

— 85c

— 85c

— 19c

— 19c

— 39c

— 35c

— 35c

RATED CIRCUITS

7476 — 35c7480 —49c7483 — 95c7485 — 95c7586 —45c7490 — 65c7492 — 75c

7495 —75c

7496 — 89c74121 - 38c74123 — 65c74141 — 75c

741537415474157741617416474165741747418174191741927419374195

75c1.00

75c

95c1.101.10

95c2.501.251.251.00

69c

"CUBO" -DIGITAL ALARM CLOCK CUBEA PERFECT GIFT - NOT A KIT!

The CUBO Alarm Clock mfg. by Corvus, division ofMOSTEK CORP. Originally sold for $49.95. We boughtout their entire inventory. All new, individually giftboxed. Mini size (2Vz" cube) with maxi performance.FEATURES: ^ _._

4 Digit H.P. Bright Display $14.95

"Second Hand" LED Activity Indicator FAPH

24 Hour Alarm: 12 hour real time format, A . . ^^ no u i10 Minute Snooze (Add 7bc P.&H.)

Auto Display Dimming — Adjusts to Ambient LightAM/PM IndicatorPower Failure IndicatorUses Famous Mostek MK50250 MOS LSI IC

%

1000 MFD FILTER CAPS

Rated 35 WVDC. Upright stylewith P. C. leads. Most popularvalue for hobbyists. Compareat up to $1.19 each from fran-chise type electronic parts stores.S.D. SPECIAL 4 for $1.

MOTOROLA POWER DARLINGTONBack in Stock!

Like MJ3001. NPN 80V. 10A. HFE6000 TYP. TO—3 case. We include a free723 C volt reg. with schematic for powersupply- SPECIAL-$1.99

FAIRCHILD BIG LED READOUTS

A big .50 inch easy to read character. Nowavailable In either common anode or com-mon cathode. Take your pick. Super lowcurrent drain, only 5 MA per segment typ-ical- YOUR CHOICE: 6 for $7.50

FND — 510 Common Anode $1.50 ea.FND-503 Common Cathode $1.50 ea.

WESTERN DIGITAL UART

No. TR1602B. 40 pin DIP.

This is a very powerful and popular part.

NEW-$6.95 with data

LIMITED QUANTITY

MICROPROCESSORS & THINGSBy AMD

8080A Better than Intel $24.00

8008-1 High Speed 8008 12.50

8212 I/O Port 3.50

8224 Clock Generator 4.95

2513 Character Generator 10.00

UP YOUR COMPUTER!21L02-1 1K LOW POWER 500 NS STATIC RAM

TIME IS OF THE ESSENCEAnd so is power. Not only are our RAM's faster than a speeding bullet but theyare now very low power. We are pleased to offer prime new 21L02 — 1 low powerand super fast RAM's, Allows you to STRETCH your power supply farther and atthe same time keep the wait light off. 8 FOR $17.50

SALE ON CUT LEAD SEMICONDUCTORS

Leads were cut for PCB insertion. Still veryuseable. All new, unused. Some House no.

1N914/In4148 100/$2.

1N4002 1 Amp 100 PIV 40/$l.

1N4745A 16V 1W Zener 20/$l.

EN2222 NPN Transistor 25/$l.

EN2907 PNP Transistor 25/$l.

2N3904 NPN Driver Xstr 25/$l.

2N3392 GE Rre-amp Xstr 25/$l.

C103Y SCR. 800MA 60V 10/$1.

C&K MINI TOGGLE SWITCH

7103 SUB MINI SPDT Center OFF.SPECIAL -99c

TERMS:Money Back Guarantee. No COD. TexasResidents add 5% tax. Add 5% of order forpostage and handling. Orders under $10.add 75c. Foreign orders: US Funds ONLY!

SLIDE SWITCH ASSORTMENT

Our best seller. Includes mini-ture and standard sizes, single andmulti-position units. All new,first quality, name brandTry one package and you'll re-order more. SPECIAL - 12/$1.

RESISTOR ASSORTMENT

1/4 W 5% and 10%. PC leadsA good mix of values. 200/$2

74S200

256 Bit High Speed RAMSame as 82S16

$3.95

1K PROM BACK IN STOCK!

82S129. 256X4. Bipolar, 50 NS.FAST. WITH SPECS.

$3.95

8T97B

Hex Tri-State Buffer. Back in stock.

$1.25

CALL YOUR BANK AMERICARD ORMASTER CHARGE ORDER IN ON OURCONTINENTAL UNITED STATES TOLLFREE WATTS: 1_800_527.3460

Texas Residents Call Collect

214/271-0022

S. D. SALESP.O. Box 28810-BDallas, Texas 75228

ORDERS OVER $15. CHOOSE $1. FREE MERCHANDISE

interface for the TMS9900 orTMS9980, which interfaces directly tothe processor's CRU port for interruptpriority, 10 control and intervaltiming. It provides 15 individuallymaskable interrupt request lines or upto 16 programmable 10 ports, and canbe programmed as an interval timerwith resolution from 21 us to 699 ms.TMS9902 is the 9900 family's versionof a UART. This circuit is customizedto the Tl CRU (CommunicationsRegister Unit) 10 addressing scheme,and features data rates from 5 to76,800 bits per second, characterlengths from 5 to 8 bits, and 1, 1.5 or2 stop bits per character with orwithout parity.

• TMS9903 is the synchronous com-munications port for the 9980 and9900 computers. This is similar towhat is sometimes called a "USART"and features a wide variety of options.It will handle most synchronous datatransmission protocols, including theBiSync and IBM's new SynchronousData Link Control discipline, at datarates from DC to 250,000 bits persecond.

Samples have not yet been delivered onthese items, and pricing is to be announcedwhen samples are available. Inquiries fromOEMs should be directed to Texas Instru-ments Inc, POB 5012, MS/84, Dallas TX75222, attention "9900 Family". ■

Would You Like to Find Out AboutHardware for Diagnosing and TestingMicroprocessor Designs?

Hewlett-Packard makes a broad line oftest equipment intended for industrial andcommercial design and maintenance applica-tions. A new applications note, AN 167-13,is now available, written by Bruce G Farly ofHewlett-Packard's Colorado Springs facility,describing some of the uses and applicationsof sophisticated testing equipment such aslogic state analyzers and data generators.This 6 page applications note, entitled "TheRole of Logic State Analyzers in Microproc-essor Based Designs" is available for theasking by writing to: Inquiries Manager,Hewlett-Packard Co, 1501 Page Mill Rd,Palo Alto CA 94304."

A New Graphics Option for OSI

Shown off at the Personal Computing 76show in Atlantic City was the interfacewhich produces these pictures. The manu-facturer of the "Super Video Board" whichgenerates 128 by 1 28 raster graphics is OhioScientific Instruments, 11679 Hayden St,Hiram OH 44234. This board, which plugsinto the OSI Model 400 system, can be used,as in photo 1, to draw pictures with low tomoderate resolution, and to display theoutput of a software "logic state analyzer"program, as in photo 2."

Photo 1.

Photo 2.

|

The Perfect Gift: BYIEIs!!i,ts

If you can't afford to give that special person in your life a newmicrocomputer, consider the BYTE T-shirt. A gift in exquisite taste,that says you really care, that suggests, ever so subtly, that NEXTChristmas, when things are a little better, you might give him or hera new microcomputer.

Or—dare to be selfish! Buy yourself a BYTE T-shirt. Available inblue heather with blue trim and red letters, or in white with bluetrim and red letters. Only $5, including postage and handling.

Send to:The Bytique

In unusual cases, processing may exceed 30 days.

PO Box 274

Jaffrey Center NH 03454

Please send me extra large

large

medium

small

Total enclosed $

Bill MasterCharge No

Bill BankAmericard No..

Name

Address

City

blue heather

white with blue trim and

red letters

T-shirts @ $5 each (includespostage and handling)

Exp. Date

Exp. Date

Signature

Other colors, styles I'd like to see_

_State_

J*p_

142

UNIVERSAL POWER SUPPLY

A unique plug-in supply by Panasonic. Usefulfor calculators, small radios, charging many &various small NiCad batteries. Adjustmentscrew plug on the side changes output voltageto 41/2, 6, 7%, or 9 volts DC at 100 MA. Outputcord with plug, 6 ft long.

No. SP-143C $4.50 3/$12

POWER SUPPLY

LAMBDA5VDC 74 AMP

LV-EE-5-OV $125.00

NJE 5/OUP-D5

5 VDC 32 AMP

$75.00

CLOCK KIT $14.00

Includes all parts with MM5316 chip,etched & drilled PC board, transformer,everything except case.

SP-284 $14.00 each 2/$25.00

atsesa

PARITY DETECTOR

New packaged, made for RCA, detects even or odd parity, baud rate 110, 150 or134.46. Built-in logic supply for the IC's, operates from standard 115 vac. Controlpanel allows manual or automatic reset mode of operation. Aluminum enclosure (notshown), covers the electronics. TTY compatible.

Ship wgt. 10 lbs. $16.50

COMPUTER DISPLAY TUBE

New Sylvania 9 inch CRT, 85 degree deflection, with tinted faceplate. Same as usedin Viatron systems (buy a spare). With complete specs.

Ship wgt. 5 lbs. $15.00

LINEAR by RCA, brand new, gold bond process

301

307

324

339A

741

3 .60

.52

1.80

1.60

.50

74774814583401555 timer

$

.82.50.96.80.60

MM5314MM53167001

$3.003.008.00

MEMORY SYSTEM $125.00

New memory system by Honeywell, small . . .measures only 9x4x1 inches. 1024 core memory,1024 words with 8,9,10 bits/word. Random access,with all logic, register, timing, control, core select andsense functions in one package. New, booklet ofschematics and data. Looks like a good beginning fora mini-computer. Limited supply on hand.Ship wgt 3 lbs. #SP-79 $125.00

*wwM$*

;'|lt''

3 Power supplies, transistorized & regulated.Made by TRANSISTOR DEVICES

1 5 volts DC 5 amps . $25.00

30 volts DC 2 amps 25.00

1 5 volts DC 4.5 amps 25.00

y/fesn^^

COMPUTER GRADE LOGIC SUPPLY CAPS, BRAND NEW

47,000 Uf

32,000

160,000

66,000

1,000

2,000

25V

25

10

10

60

55

$2.001.752.002.00.901.00

STSTSTSTALAL

1,0003,3001,6008,000500

503520166

"ST" screwtop .

.901.25

.601.25

.35. "AL" axial

Please add shipping cost on above.

ALALALALAL

PHONE 617-595-2275

FREE CATALOG SP-8 NOW READY

MESHNA P0 Bx 62 E. Lynn Mass. 01904

BITE

readerservice

A 70

American Microprocessors 97

A142

Associated Electronics 95

A107

Audio Design Electronics 105

A111

Brigar 131

BYTE's Books 96, 130, 136

BYTE's Posters 140

BYTE's T-Shirts 142

A126

Cheap, Inc. 105

A127

Comptek 101

A143

Computer Enterprises 105

A 83

Computer Mart of NY 97

A141

Computer Room 95

A 76

Computer Store 97

A103

Computer Store (CT) 101

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. Not only do you gain information, but our advertisers are encouraged to use themarketplace provided by BYTE. This helps us bring you a bigger BYTE.

A104A140A138A 6

8741977787947

A102A135A 9

A 15A130A139

Computer Store (NY) 105

Computer Talk 97

Computer Warehouse Store 93

Continental Specialties 25

Creative Computing 98

Cromemco 1

Data Domain 65

Delta 137

Digital Group 11

Economy Co. 75

Electronic Control Tech 101

Eltron 135

Erickson 101

Godbout 119

HAL Communications 103

IMS 8. 30, 31

James 133, 138, 139

JGM Development Labs 101

Kentucky Fried Computers 75

Reader Service (?)

Subscribers, please bear with us. If you have not received a response to aBYTE reader service inquiry, the delay rests squarely upon us, not theadvertisers. We have quite frankly been inundated with requests since puttingreader service on reply cards, and recently got a bit behind in processing.Each card must be keypunched and run through a (somewhat traditional)data processing operation currently implemented on an IBM/360 Model 25with 16 K bytes of memory, 2311 disk drives and an archaic tape operatingsystem. As this note is written (September 10) the current reader servicerequests total 24,000 individual cards with multiple requests per card, and arebeing mailed to advertisers as mailing label printouts.*

A 90

Logical Services 105

A 18

Meshna 143

A145

MFE 71

A 71

MPI 39

A133

Micro Software Spec. 105

A119

Midwestern Scientific Inst. 55

A 57

Mikos 69

A112

MiniTerm 18, 19

*

MITS CIV, 4, 5

A 62

Morrow 127

A132

M&R Enterprises 60, 61

A 22

National Multiplex 93

A146

NCR 67

A 40

Ohio Scientific Inst. 17

A147

OK Tool 91

A 64

Oliver Audio Eng. 97

A 63

Parasitic 59, 127

A 85

Per Com Data 69

A 23

Polymorphic Systems 63, 71

A 24

Processor Tech 72, 73, 74

A 26

Scelbi 15

*

Scientific Research 103

A 27

SD Sales 141

A 59

Solid State Sales 128, 129

A 29

Southwest Tech. CI I

A 30

Sphere Clll

A148

SRS97

A 99

STM 91

A 96

Synchro-Sound 41

A 82

Technical Design Labs 13

A136

Technical Systems Con. 67 I

A144

Thermodyne Plastics 99

A 32

Tri Tek 122

A137

Vector Graphics 99

•Reader service inquiries not solicited.Correspond directly with company.

Feedback is what keeps a linear amplifier in line. Like a linear amplifier, BYTE can use a bitof feedback. The BOMB analysis is done once a month to provide encouragement to authorsand some formal feedback on how readers appreciate articles. BYTE pays the winning author a$50 bonus, so you can encourage the authors you like by voting your preferences. Rememberthat with few exceptions BYTE authors are just readers who have sat down at their typewritersto tell a story about what they've done or what they know about some aspect of thistechnology.

BOMB:

BYTE's Ongoing Monitor Box

PAGE ARTICLE

6 Rosner: It's More Fun Than Crayons20 Arnold: What Is APL?26 Nelson: Beer Budget Graphics Interface32 Buschbach: Add This Graphics Display . . .40 Burhans: A Tip for Using Wiring Pencils42 Deres: An Enterprising Display Device56 Rampil: Some Graphics Background . . .78 Ciarcia: A Real Eye Opener

106 Anderson: Video Display Terminal

LIKEDLEAST BEST

01 23456789 100123456789 1001 23456789 1001 23456789 100123456789 100123456789 100123456789 1001 23456789 100123456789 10

BOMB Bonus to Burt

The winner of the August BOMB surveyand a $50 bonus was Burt Hashizume, whowrote "Microprocessor Update: Zilog Z80."The runners-up for August were RobertSuding for his article on the Digital GroupTV readout device, and Terry Steeden whowrote "What's an |2l (I squared L)."

Remember that your preferences countin the BOMB evaluation. It is a way of givingdirect feedback to authors about the contentof their articles, and it gives us a real worldbasis for judgment of which articles to pushinto print the fastest."

144

SPHERE OFFERS:A Programmable Microprocessor

Controller!

*i94:

oo

The Sphere TPU/l micro computer on acard designed for use in control enviroments;whether it be personal,Business, Idustrial,orEngineering.TPU is an expandable CPU on a4.4x4.9 inch edge connector board. Withthe Motorola 6800 microprocessor a 6820parallel interface 256 or 512 bytes of EPROM2048 bits of static RAM, and a crystal con -trolled clock driver. Available on the 72 pinedge connector are all the necessary signalsto interface the TPU/l to almost any device.You can program the read only memory withspecial instructions to meet your needs,orbuy our programmed ROM'S.

Build or design your own computerconfiguration.The static memory is

expandable to 32k and you can control tele-type or other I/O devices. Options includekeyboard and 16 x 32 character CRT displaymodule.

The TPU allows ease of interfacing to vir-tually any device which needs to be intelli-gently monitored or control led. Whetherneed a personal computer to handle yourhousehold budget or to use in your next elec-tronics project, this is the low cost unitwhich will do the job for you.

This is not a toy! It was designed for usein OE M applications. It is a reliable andproductive device controller.The pack-age is complete with assembled andtested TPU/l schematics,manuals;all for the low price of $194 prepaid

Order yours today and use theSphere TPU/l in your next elec-

■ronics project. I want

quanity. Enclose BAC,MCor^heck. Allow up to 30 days fordelivery.

<m^ SPHEFE

CORPORATION

940 North 400 East

North Salt Lake. Utah 84054

(801) 292-8466

w

Measuring just 11" wide x 11" deep x 5" high, and weighing amere 7 pounds, the Altair™ 680b is a'complete, general-purposecomputer.

The secret to this revolutionary: small computer is its CPUboard. This double-sided board fits along the bottom of the Altaircase and plugs directly into the front panel board. It containsthe new 6800 microprocessor, 1,024 bytes of RAM memory, a 256byte PROM monitor, provisions for 768 bytes of additional PROMor ROM, and a single Interface port with a Motorola ACIA serialinterface adapter which can be configured either RS-232 or TTY.A five level Baudot interface option is also available.

The Altair 680b can be programmed from front panel switches,or it can be interfaced to a video display terminal, or teletype-writer. Three additional circuit boards can be plugged inside theAltair 680b for further memory and interface expansion. The firstof these boards is a 16K static RAM memory board.

Software already developed includes Altair 680 BASIC withall the features of the 8K BASIC previously developed lor theAltair 8800. These include Boolean operators, the ability to reador write a byte from any I/O port or memory location, multiplestatements per line, and the ability to interrupt program exec utionand then continue after the examination of variable values. Thissoftware takes only 6.HK bytes of memory space and a copy isincluded free with the purchase of the Altair 680 16K memoryboard.

Other software includes a resident two pass assembler. TheAltair 680b is also compatible with Motorola 6800 software.

The Altair b80b is ideal for hobbyists who want a powerfulcomputer system at an economic price. Altair 680b owners qualify

NOTE: Altair Is a trademark ol MITS, Inc.

for membership in the Altair Users Group, and like other Altairowners, they receive a complimentary subscription to ComputerNotes and complete factory support.

PRICES:

Altair 680b kit with complete, easy-to-understand assembly man-ual, operator's manual, and programming manual $466

Assembled Altair 680b $(,?s

Altair 680b Turnkey model kit 395

Expander Card 680MB (required to expand 680) ... $ 24

Altair 680BSM 16K static RAM board kit with 680 BASIC .."$685

Altair 680 BASIC when purchased separately $200

Baudot option $ 42

MAIL THIS COUPON TODAY

□ tnc losed is ,1 < hei k lor $_

□ BankAmericard n

-or Master Charge i

□ Altair 680b □ Kit □ Assembled □ other (specify)enclose $8 for postage and handling

□ Please send free information package.

STATE & 2IP_

fi§ DDQla^

2450 Alamo SE/Albuquerque, NM 87106, 505-243-7821

specifications subject to change. Please allow up to Ml days tor delivery.