Byte Magazine Volume 02 Number 02 - Usable Systems

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)

NEWS

More Memory-Same Price4K Now Standard In 6800

San Antonio—The SwTPC 6800 computer system, always a best buy is now aneven greater bargain. Price reductions by ths manufacturers of MOS memory cir-cuits have made it possible to now offer the standard $395.00 6800 computer kitwith 4K of memory instead of 2K as previously. Memory circuits are 21L02 typeswhich make possible powering up to 24K of memory in the stock chassis with thestandard power supply.

The Southwest Technical 6800 at $395.00 includes everything needed to workwith your terminal. You get 4K of static MOS memory and a serial interface aspart of the basic package. These are not extra cost options (?) as in many com-puter systems on the market.

8K MEMORY CARDSANNOUNCED -

For those 6800 systems needing themaximum possible amount of memory,Southwest Technical Products announ-ces 8K memory cards. These memoryexpansion cards have 8K Bytes of lowpower MOS memory per board. Thesekits feature the new 4K static RAMSthat are now becoming available. Thesenew RAMS make it possible to put 8Kof memory on a board without crowdingthe parts, or using small hard to solderconnecting lines. These new memoryboards feature DIP switch address selec-tion and a write protect switch on eachboard.

The low power consumption of thisnew memory board makes it possible touse up to 48K of memory in the stand-ard 6800 chassis with the stock powersupply. Priced at $250.00 these mem-ory cards cost no more than less densememories from other sources.

PRICES CUT ON4K MEMORIES

Southwest Technical Products has re-duced the price of its standard 4K mem-ory card by 20%. These cards use lowpower 21L02 static memories. The newprice for the MP-M memory kit isSI00.00 for a full 4K kit.

This kit contains 4K of memory withfull buffering and dual on-board voltageregulators. Six of these memory cardsmay be used in a standard 6800 chassisto provide 24K of memory for thesystem. Memory now becomes evenmore of a bargain-24K for only $600.00.

Who Needs It?

We continue to get reports from custo-mers who are amazed at the ease ofassembly of the 6800 computer. Onereports that he purchased test equip-ment before ordering a computer at theadvice of friends who owned brand "X"machines. His total use of the test equip-ment was zero (0) when he installed

each board in the 6800 and they all pro-ceeded to work perfectly the first time.He later found in comparing notes withother 6800 owners that his was not aunique experience.

People who have built most of the vari-ous types of computers on the marketgenerally agree that our instructions arethe best and most complete. So don'tworry about purchasing the least ex-pensive computer system, there are stillgood honest values being offered in theworld of personal computing.

SUPER SOFTWARE

"Lack of Software" can no longer beused as an excuse by those who have thepoor taste to purchase computers usingolder, less elegant processors than theMC-6800. Southwest Technical Productshas not only editor-assembler and gameprograms available for the 6800, but alsoboth 4K and 8K BASIC.

The ability to run ANSII standardBASIC programs on the 6800 make theenormous number of BASIC programsout there aU usable on the SwTPC 6800.That's right, you can run anyones BASICprograms on the 6800 provided they arewritten in standard BASIC (as most are).4K Basic at $4.95 and 8K BASIC at$9.95 are inexpensive enough for any-one to own. They do not cost hundredsof dollars as in some systems, or onlybecome available when combined withpurchase of huge amounts of memory asin others.

Loading even a relatively long programsuch as 8K BASIC into your SwTPC6800 is not a long procedure when theAC-30 cassette interface is used. Thissuper reliable and inexpensive ($79.95complete with cabinet and power supply)cassette interface uses the "Kansas City"standard format and will load 8K BASICin approximately five minutes.

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. Rhapsody

San Antonio, Texas 78216

4 MHz 2PU card

4K RAM card

Now your best choice

in CPU cards can have

a really- expandable memory

LIKE TO A HALF MEGABYTE

You probably know our Z-80 CPU card. It's thefinest and most powerful card available. Not onlydoes it have a guaranteed speed of 4 MHz and acrystal-controlled 2/4 MHz clock rate, it also hasa power-on memory jump feature that greatlysimplifies starting-up.

Now we've developed an outstanding 4K RAMmemory card for this CPU card (or for any S-100bus CPU card). Our new Model 4KZ is a staticmemory that has:

(1) a guaranteed speed of 4 MHz

(2) a memory-bank-select feature.

As you would expect with a Cromemco product,this new Model 4KZ gives you advanced perform-ance at low cost. It achieves its 4 MHz speedwhile using proven, reliable, low-power memorychips (21L02's). How? By a novel design that usesaddress anticipation.

ENORMOUSLY EXPANDABLE

You get staggering expandability in the new4KZ — to 512 kilobytes if you'd like.

Here's how: with the 4KZ you can organizememory into as many as 8 banks of 64K byteseach.

Then an 8-position switch on the 4KZ selects agiven bank.

With memory expandability like that, Cromem-co's CPU and RAM cards are the basic hardwarefor a broad range of jobs — even jobs that untilnow were only for large computers.

LOW PRICED

The new 4KZ has the high quality Cromemco isknown for. It is available at computer stores —or directly from the factory.

Just a word of caution. The 4KZ is bound to bein demand, so we suggest you act promptly.

4K Static RAM Memory kit (Model 4KZ-K) .. $1954K Static RAM Memory assembled,

burned-in and tested (Model 4KZ-W) $295

ZPU card kit (Model ZPU-K) $295

ZPU card assembled, burned-in

and tested (Model ZPU-W) $395

rjl Cromemco

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

In This BUI

page 34

The computer was created to freemankind from the drudgery of doingtiresome chores best left to an auto-maton. In most computers, there isan extremely helpful monitor programsuch as the SYS 8 program avail-able in versions by IMSAI and Proces-sor Technology. Sometimes, thewriters of such programs leave the userwith a few residual chores to do, likeentering line numbers for each com-mand or operation. Bill Nico wasn'tsatisfied with that, and proceeded topatch in an automatic line numberingfeature for SYS 8, described in hisarticle on Sweet Auto Line.

A key component of a usable sys-tem concept is the mass storage sub-system. In this issue, Jack Breimeir,one of the engineers on the Phi-Deckdesign, and Ira Rampil of the Univer-sity of Wisconsin begin a two partarticle on The Digital Cassette Sub-system. In part 1 you'll find somebackground information on digitalrecording, and details of the problemof head interface electronics for digitalrecording.

Mass storage is the critically impor-tant component of a personal com-puting system which is often passed upon grounds of price or complexity.People tend to have preconceived ideasthat a controller which is a compli-cated technological nightmare willdouble the price of a drive alone.However, demonstrations of accom-plishment arc a way to dispel precon-ceived biases. Dr Kenneth B Wellesshows in his article on the EconomyFloppy Interface that buying just acouple of drives and building a rela-tively inexpensive homebrew control-ler can give anyone the advantages ofover 200 K bytes on line per drive. Hiscircuit takes just 17 common inte-grated circuits (one of which is an LSIcommunications processing device).

Color television interfaces are start-ing to become popular. However, noteveryone has a color television sittingaround idly. Is it possible to have acolor terminal and not have to use acolor television set? Subjective color isa possibility that is explored by SteveBain in his article Color Displays onBlack and White Television Sets. ReadSteve's article and find out how youtoo may be able to add a colormodulation effect to a black and whitetelevision set.

Serial storage media are widely usedin low cost computer systems. Theyrange in performance from paper tapethrough cassette tapes with manualcontrols to high performance program-mably controlled cassettes, tape car-tridge drives and full industry standardmagnetic tape drives. Find out some ofthe background information pertinentto use of most magnetic tape serialmedia in Brian D Murphy's article,Serial Storage Media: An Introductionand Glossary.

Human interactions with computersgo both ways. For computer outputs,most people think in terms of visualdisplays. This completely ignores theuse of other senses like hearing (ortouch or smell for that matter). InAudible Interrupts for Humans,Charles F Douds describes a simplecircuit which can lake advantage ofthe audio channel of the humansystem.

Here you are, a novice or experi-enced flier, cruising along in your an-cient Cub under VFR conditions when... all of a sudden, VFR becomes IFRand you can't see. If you had an inex-pensive Omega navigation system in aportable package in your copilot'sseat, you'd at least know where youare on the map with an accuracy ofabout I mile. In his article Cub 54,Where Are You? (Or How to NavigateUsing Mini-O), Ralph Burhans begins amultiple article discussion on Omeganavigation, design of an Omegareceiver for use with a small computeras a personal navigation system, andsoftware for determination of positioninformation. Aviation enthusiasts andboating enthusiasts who are intomicrocomputers will be able to usethis information to help make anexperimental robot navigator.

Is it an impossible dream? Is itconceivable to make an audio cassette10 port with only a single bit line ineach direction? Well, if you ignore theneed for connecting wires, clippingdiodes and isolation capacitors, thenyou can use a "hardwareless" softwaretechnique such as that described inDaniel Lomax's The Impossible DreamCassette Interface.

Most of today's microprocessorshave all of their functions centralizedwithout a single device. The F8 micro-processor by Fairchild Semiconductoris unique in that it divides the systemfunctions among several basic circuits.In his article, Microprocessor Update:The F8 System, Robert Baker de-scribes this rather unique way of ap-proaching the development of a micro-processor system.

Upon receiving that first micro-processor, the budding computerhobbyist is often confronted with dis-dainful stares and must endure suchcomments as, "Well now, let's see it dosomething." If you have a Moto-rola 6800 based system withMIKBUG, John Rathkey's article, AMIKBUG Roadmap . . . , will aid youin getting your system to "do some-thing" that will satisfy even the mostdoubting of your critics.

In several manufactured productswhich have been appearing lately, ahexadecimal input keyboard is onefeature of the computer processor.Joseph Hoegerl describes how this sortof Calculator Keyboard Input for theMicrocomputer can be wired up andused to replace toggle switches. Hisversion is for an 8008 system, but thesame hardware is applicable to othercomputers as well.

If you are interested in designingyour own TTL circuits you shouldbe aware that there is a definitelimit to the number of gates thatcan be interconnected. In TTLLoading Considerations Greg

Tomalesky explains how theselimits are determined by circuitdesigners and gives advice on whatpitfalls to watch out for whendesigning your own TTL circuits.

Charles Howerton has come upwith an interesting and lightly codedpackage of 8080 routines lo performutility functions for applications soft-ware. The design goals of filling into256 bytes yet providing a wealth ofextensions to the machine's instruc-tion set are well met, as can be seenfrom his article's documentation ofthe package.

In the Queue

FEBRUARY 1977

Volume 2Number 2 KITE

12345482104132

244450628896122

Foreground

SWEET AUTO LINE

Software — NicoBUILD THIS ECONOMY FLOPPY DISK INTERFACE

Mass Storage Systems — WellesAUDIBLE INTERRUPTS FOR HUMANS

Human Interfaces — DoudsTHE IMPOSSIBLE DREAM CASSETTE INTERFACE

Mass Storage — LomaxCALCULATOR KEYBOARD INPUT FOR THE MICROCOMPUTER

Hardware — HoegerlADD SOME BARC TO YOUR 8080

Systems Software — Howerton

Background

THE DIGITAL CASSETTE SUBSYSTEM, Part 1

Hardware — Rampil-BremeirCOLOR DISPLAYS ON BLACK AND WHITE TELEVISION SETS

Visual Perception Tricks — BainSERIAL STORAGE MEDIA: Introduction and Glossary

Systems Software — MurphyCUB 54, WHERE ARE YOU? (Or How to Navigate Using Mini-O)

Applications — BurhansMICROPROCESSOR UPDATE:THE F8 SYSTEM

Processors — BakerA MIKBUG ROADMAP. . .

Software — RathkeyTTL LOADING CONSIDERATIONS

Hardware — Tomalelsky

Nucleus

2

In This BYTE

4

An Idea Whose Time Has Come!

11

Letters

32

Ask BYTE

60,

111,

118,

128

What's New?

86

Baker Street Irregular

100

Classified Ads

102

Description: A Multi Cassette Controller

108

Clubs, Newsletters

112

Book Reviews

119

BYTE's Bugs

121

Further Notes on Bar Codes

124

Kil O'Byte

126

BYTE's Bits

144

The Word "Byte" Comes of Age . . .

146

About the Cover — Venus de Plotto

160

BOMB

160

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. Second classpostage paid at Peterborough,New Hampshire 03458 and atadditional mailing offices.Phone 603—924-7217. Entirecontents © copyright 1977BYTE Publications Inc, Peter-borough NH 03458. All rightsreserved. Address editorial cor-respondence to Editor, BYTE,70 Main St, Peterborough NH03458. Opinions expressed byauthors are not necessarilythose of BYTE magazine.

PUBLISHERS

Virginia Peschke

Manfred Peschke

EDITOR

Carl T Helmers Jr

PRODUCTION MANAGER

Judith Havey

CIRCULATION MANAGER

Manfred Peschke

ASSISTANT PUBLISHER

Debra Boudrieau

CO-OP EDITOR

Raymond G A Cote

PRODUCTION EDITOR

Karen Gregory

DEALER CIRCULATION

Deena Zealy

CIRCULATION

Kimberly Barbour

Cheryl Hurd

Anne Jackson

Deborah R Luhrs

Carol Nyland

ADVERTISING

Elizabeth Alpaugh

Virginia Peschke

ART

Matthew Arnold

Noreen Bardsley

Mary Jane Frohlich

Lynn Malo

Bill Morello

SPECIAL PRODUCTS

Susan Pearne

Floyd Rehling

TYPOGRAPHY

Custom Marketing Resources Inc

Goodway Graphics

Mary Lavoie

Taimi Woodward

PHOTOGRAPHY

Ed Crabtree

Custom Marketing Resources Inc

PRINTING

The George Banta Company

Custom Marketing Resources Inc

Lennie Cashion

Larry Davis

Jeff Pratt

ASSOCIATES

Bob Baker

Walter Banks

Dan Fylstra

Portia Isaacson

Harold A Mauch

TRAFFIC MANAGER

Peter Travisano

Guest Editorial

This month, for the first time, we run a guest editorial. The writer of thisessay is Portia Isaacson, who is chairperson of the 1977 National ComputerConference which will be held in Dallas TX June 13-16 1977. (The conferencethis year for the first time recognizes Ihe existence of our new trend incomputing, personal computing, by creating a special theme for that purposeand taking the unprecedented step of adding a special exhibit hall forpersonal computing displays.) Here is an interesting view of the history andstate of personal computing by an individual who has been enthusiasticallyparticipating right from the start. Portia is a professor of computer science atthe University of Texas at Dallas and a principal in the Micro Store, a retailcomputer outlet located at 634 5 Central Expressway, Richardson TX 750S0,which is run by her husband David Wilson.

Personal Computing:

An Idea Whose Time Has Come!

Portia Isaacson, PhDUniversity of Texas at DallasRichardson TX 75080

It is clear that we are en-tering a dramatic new erain which information pro-cessing power will beabundantly available foruse by the individual con-sumer...

Several years ago wc knew that com-puters were going to become very small andvery inexpensive. However, predictions of theeffect of inexpensive computers did notbegin to cover the strength of today'spersonal computing movement, where wefind enthusiasm at a very high pitch. It isclear that we are entering a dramatic new erain which information processing power willbe abundantly available for use by theindividual consumer.

The only thing one could be sure aboutduring the past year when writing about thepersonal computing movement is that by thetime the article was printed it would cer-tainly be antiquated. Every month there areseveral new computer clubs, several newcomputer stores, hundreds more computersowned by individuals, and a noticeablyhigher level of excitement among insiders tothe movement. To most of us the whole ideaof personal computing is so delightfullyintoxicating that we can't quite believe itstime has really come — but it has!

The personal computing movementstarted quietly enough when MITS an-nounced a computer kit for under $500.Soon afterwards kits were available fromseveral different manufacturers featuring thecomputer, a keyboard, a TV display inter-face, audio cassette interface, and the BASIClanguage; all for little more than $1,000.Wow! A really operational system for aboutthe price of a good TV or stereo — clearly inpersonal range. So the hardware and BASIC

software were available. The other neededingredient was imagination.

There was no shortage of imagination. Infact, almost everyone who has ever workedwith a computer has, at some time oranother, been stricken with computeritis —the infection of the imagination with ideasabout "what neat things could be done witha computer if only I had access." For yearswe've known that students many timessubstitute the computer center for otherforms of recreational activity. Also, thatmany programmers can be found in the weehours with their company computer, doingtheir own thing.

Applications of a personal computer areas far ranging as the individuals who imaginethem. Personal accounting, music genera-tion, library maintenance, language analysis,stock market analysis, game playing, modeltrain control, household control, and tutor-ing are only a few of the known applica-tions. The computer has few inherentlimitations.

A "movement" can be characterized bythe people involved. What kinds of peopleare "into" personal computing? And howmany? Based on the circulation of the majorpersonal computing publications and theattendance at conventions, 100,000 is surelya very conservative estimate of the rapidlygrowing number of involved people. Whatare these people like? True, at first, they

Continued on page 140

Introducing Sol Systems

A complete computer/terminalconcept with all thestandard features, softwareand peripheral gear youwant in yourpersonal computer.

^B

o-*\

m

>?■>

■■M

■M

■■■■

UTinm.ll c.omlmler

*Z*fAA

£&%«mm

^<f^y^

J ■■'■.;/■" '^"^

l^

^iniiiiyji<ii^

jmrnmim™

Sol Systems put it all together.

One source for hardware and software

One source for

engineered compatibility

of computer and peripherals.

That's the Sol plan.

Though the microprocessor made thepowerful small computer possible, a lot offolks found out early efforts in the market-place were selling the sizzle a lot more thanthe steak. After an initial investment of sev-eral hundred dollars, you ended up withsome nice parts, but no memory of any kind,no I/O devices or interfaces, no display, print-out or software.

The Sol plan ends all that. ProcessorTechnology takes the position that it's farbetter to be right than first. So let's get downto the Sol no tricks plan.

For $995 in kit form, the first completesmall computer

Standard is a basic word at ProcessorTechnology. The Sol-20 has more standardfeatures than any other small computer weknow of. Here's what you get.

8080 microprocessor* 1024 charactervideo display circuitry* 1024 words of staticlow-power RAM* 1024 words of prepro-grammed PROM* a custom, almost sensual85-key solid-state keyboard* audio cassetteinterface capable of controlling two record-ers at 1200 baud* both parallel and serialstandardized interface connectors* a com-plete power supply* a beautiful case withsolid walnut sides* software which includesa preprogrammed Prom personality moduleand a cassette with Basic-5 language plustwo sophisticated computer video games*the ability to work with all S-100 bus(Altair 8800/IMSAI/PTC) products.

There are no surprises. Everythingyou need to make it work is here. In kitform, nominal assembly time from our fullydocumented instructions is four to sevenevenings.

Or start with the Sol-PC for just $475

You can begin your Sol system with theall on one board Sol-PC kit. It has all the

memory and interface electronics includingvideo display, keyboard interface, audiocassette interface, all necessary softwareand the ability to accept the full ProcessorTechnology line of memory and interfacemodules. Use the Sol-PC as the basis of amicrocomputer, low cost CRT terminal orediting terminal

And these specs are standard

Display: 16 lines of 64 characters per line.Character set: 96 printable ASCII upperand lower case characters plus 32 select-able control characters.Display position: Continuously adjustablehorizontally and vertically.Cursor: Selectable blinking. Solid videoinversion. Programmable positioning standard.Serial interface: RS-232 and 20-mA currentloop, 75 to 9600 baud, asynchronous.Parallel interface: Eight data bits for inputand output; output bus is tristate for bidirec-tional interfaces; levels are standard TTL.Keyboard interface: Seven-level ASCIIencoded, TTL levels.

Microprocessor: 8080, 8080A, or 9080A.On-card memory: 1024 bytes PROM (ex-pandable to 2048 bytes), 2048 bytes RAM.External Memory: Expandable to 65,536bytes total ROM, PROM, and RAM.Video signal output: 1.0 to 2.5 volts peak-to-peak. Nominal bandwidth is 7 MHz.Power required (±5%): +5 volts at 2.5amperes, +12 volts at 150 mA, and —12volts at 200 mA.

The Sol plan, completely expandable.

By filling the basic main frame withtailor made Processor Technology plug-in PCboards, you can really expand the computingpower and flexibility of your Sol-20 PersonalComputer.

New items are being announced fre-quently, but right now, here are some of the

things you can add to your Sol-20. TheALS-8 Firmware module is an assemblylanguage operating system to give you thepower to develop and run programs. Useit to quickly write, edit, assemble, de-bugand run your own programs. Some say it'sthe most useful software development on themarket today, but modesty prohibits.

And when it comes to add-on memoryboards, you've come to the right place.We've probably got more than anyone else.Choose from 2K ROM or 4, 8 or 16K RAM(read all about the 16KRA board on the lastpage of this ad). The PT 2KRO will acceptup to eight 1702A or 5203Q erasable,reprogrammable memories (EPROM's) withthe ability to store in a non-volatile fashionup to 2048 eight-bit words.

Our read/write memories are theindustry standards for high reliability. Weknow, because we have literally scores ofcustomer letters saying "Your memorymodules work and keep on working."

To help you solve additional interfac-ing problems, add the 3P+S I/O module.Here's a board with two 8-bit parallel I/Oports with full handshaking logic and a serialdata rate that can be set anywhere between35 and 9600 baud. Set up control conditionsfor both parallel and serial ports. Data anderror flags can be polled.

A full line of Sol-20 tailored peripherals

No computer can do the full job with-out the right set of peripheral gear. PT hassought out the best manufacturers of periph-eral equipment and worked with them togive you a choice of quality so you can getthe most out of your Sol-20. Choose fromline and serial printers, perforated tapereaders and punches, floppy disk memories,black and white or color graphics displays,A/D, D/A converters and more.

Software, the ComputerPower Essential

A big part of making the first completesmall computer is providing you with a widerange of easy to use, easy to obtain, low costsoftware. For the Sol-20, we've developed awhole group of offerings. And more are ontheir way.

TREK 80

Based on the NBC television seriesSTARTREK, this 8K assembly language pro-gram uses the VDM graphics capability forreal time war with the Klingons. No holds

barred, they're out to get you from each ofthe 100 quadrants. TREK 80 resides andruns in 8K of memory and requires the PTCSol or VDM-1.

New PT 8K Basic

Processor Technology has the fast newBASIC you've needed for so long. Using oursuperior BCD math, the speed of the newlanguage is double that of our own fastBASIC-5. To multiple program capability,we've added strings, multidimensional arraysand multi-line, multi-variable, user functions.This is the BASIC for full capability systems.Look at the BUSINESS ANALYSIS programexample in the manual to find out how PT 8KBASIC gives you more while using lessmemory for the working program.

Five reasons why it's so good

1. Strings are not limited to a length of 256characters and can extend to the boundsof memory.

2. Renumbering of lines with full gosub, etc.updating. Also EXAM and FILL allow for

d irect memory operations wh i le IN and OUTprovide direct I/O capability.

3. Every statement is fully implemented.RESTORE, for instance, restores the datapointer as usual. BUT, with PT 8K BASIC,RESTORE 100 will set the pointer to thedata located at line 100.

4. Fully implemented string and math func-tions include all of the standards — VAL,STR, ASC .... EXP and LOGI and LOG. Also,the more advanced statements such as ON-GOTO and IF THEN ELSE along with a loopEXIT are provided.

5. PT 8K BASIC has a 'perfect' implemen-tation of PRINT USING which saves programmemory space while still providing morecapability than the usual PRINT USING.

The new PT 8K BASIC is similar to theversion we're developing for ROM. You use ithere before buying the more expensive ROM.

You'll find your PT 8K BASIC alsoincludes both a built-in VDM driver andspecial editor. The cassette version alsoincludes named program SAVE and LOAD forthe CUTS Cassette interface or Sol.

New 8080 FOCAL™DEC

8080 FOCAL has been updated toinclude operator precedence and all otherstandard FOCAL conventions. It also has adriver for VDM-1 display and PT Cassetteprogram SAVE and LOAD This version isavailable only on CUTS Cassette and residesin 8K of memory.

GAMEPAC 1 to entertain family and friends

Show off your VDAA-1 and computerwith this lineup of video games. Eachis included on the cassette or paper tape.

TARGET keeps track of your hits andmisses while you blast away at the movingtarget. You and your family can get togetherfor whole evenings at a time with this one.

ZING. Learn hexidecimal arithmeticfast with this VDAA game as two players keepthe five balls in the air. If both of you get toogood . . . ZING, of course, will make it harder.

LIFE. The Sol or VDAA makes a good dis-play for the game of life and this versionallows two modes of operation. The universecan be flat or wrapped around on itself.The real meaning of life we'll leave to youbut it's fun to watch.

PATTERN. We haven't figured this oneout ourselves but it's sure nice to have yourcomputer doing it. You choose the geometricdesign and how rapidly it changes.

Sol Systems Price List

(prices are net, effective Dec. 1, 1976)

SOFTWARE

ITEM with manual

BASIC 5 software

#28K BASICNew 8080 FocalTREK 80 video

gameGAMEPAC 1

video gamesMATH PACK video

calculatorASSEMBLER

software #1ALS 8

CUTS Paper

Source cassette tape

yes ** $19.50

no $29.00 $37.00

no $14.50 N/A

no $ 9.50 $14.50

no $ 9.50 $14.50

yes $14.50 $19.50

yes $14.50 $19.50

no $35.00 $45.00

"CUTS cassette of BASIC 5 is included FREE with all orders for Solunits or CUTS cassette interfaces. Additional cassettes availablefor $14.50.

Sol system owners be sure to note Solsystem on your order. These special versionsuse less code and provide easier loadingalong with more convenient operation.SOLOS, SOLED and CONSOL all have provi-sion for the special versions.

All Processor Technology software isdistributed on an individual sale basis forpersonal use. No license to copy, duplicateor sell is granted with this sale. Each softwarepackage has been copyrighted by ProcessorTechnology and all rights therein are reserved.

Sol Terminal Computers Kit Price

SOL-PC SINGLE BOARD TERMINAL

COMPUTER™ $475.*

SOL-10 TERMINAL COMPUTER™Sol-PC with case, power supplyand 70 key solid state keyboard. $795.*

SOL-20 TERMINAL COMPUTER™all features of Sol-10 with largerpower supply, 85 key solid statekeyboard, fan, and five slotexpansion backplane. $995.*

*Sol prices include CONSOLPersonality Module. If SOLED IntelligentEditing Terminal Module or SOLOS Stand-alone Operating System Module is desiredinstead, add $100. If ordered separately,personality modules are $150 each.

Memory Modules Kit Asmbid.

ALS-8 PROM Resident Assembly

Language Operating System — $425

SIM-1 Interpretive Simulator

add-on option for ALS-8 — $ 95

TXT-2 Text Editing add-on

option for ALS-8 — $ 95

2KRO Erasable PROM module $ 65 $ 894KRA 4096-word Low Power

Static RAM $159 $195

8KRA 8192-word Low Power

Static RAM $295 $375

16KRA 16384-word Dynamic

RAM — $529

Interface modules3P+S Parallel,Serial I/O

module $149 $199

CUTS Computer Users Tape

System cassette interface $ 87 $119

VDM-1 Video Display Module $199 $295

Mass Storage Systems

Helios II Disk System™includes dual PerSci 270floppy disk drive, cab-inet, fan,S-100 bus compatiblecontroller, power supply, sys-tem diskette with completePTDOS software $1895 $2295

Misc.

EXB Extender Board $ 35 $ 45

WWB Wire Wrap Board $ 40 —

Prices, specifications and deliverysubject to change without notice. Please allowup to two weeks for clearance of personalchecks. Mastercharge accepted. All ordersamounting to less than $30 must include $3for handling.

New

16K RAJ

fully assembled,

$529

More bits per buck than ever before on afully burned in and tested board uncondi-tionally guaranteed for one year.

Processor Technology made the first4K static RAM modules for the home com-puter market. Now in a price performancebreakthrough we offer you a 16,384 bytedynamic memory module assembled, testedand burned in. Not a kit — and at $529who'd want to build it from scratch?

Processor Technology gives you the featuresto make 4K dynamic RAMS work for you.

• Invisible refresh, no waiting whileCPU is running.

• High speed 400 nsec access time worstcase Z-80 and 8080 compatible.

Versatile addressing, each 4096 bytesegment is individually addressed toany of the sixteen available 4Ksegments.

Low power — typically 5 watts whenrunning—the same as most 4Kmemory modules.

BATTERY BACKUP capability built-infor standby operation.

IMPORTANT NOTICE —No 16Kmemory module available is fully,truly static. 4200/4402 type "static"RAM's have high level, high currentclocks with high transient powerlevels. Any RAM with 12 volt 30 mAclock pulses should not be called"STATIC" just because each memorycell is a flip-flop.

Specifications

Access TimeCycle TimeRams Used

CapacityMemory

ProtectAddressing

OperatingPower

400 nsec max

500 nsec max

Intel 2104 or Mostek 4096

types

16384 8-bit bytes

standard on card

each 4096 byte page

addressable

+ 7.5 to 10 VDC at 0.4 A typical

+ 15to+18V at 100mAtypical

- 15 to -18 VDC at 20 mA max

See your nearest dealer listed below orcontact us directly. Address Processor Tech-nology, 6200 Hoi I is Street, Emeryville CA94608, Phone 415/652-8080.

Processor Technology Dealers

CALIFORNIA

The Byte Shop1514 University Ave.Berkeley CA 94703

The Byte Shop2559 South Bascom Ave.Campbell CA 95008The Computer Mart624 West Katella#10Orange CA 92667

The Byte Shop2227 El Camino RealPalo Alto CA 94306

The Computer Center8205 Ronson RoadSan Diego CA 92111

The Computer Storeof San Francisco1093 Mission StreetSan Francisco CA 94103

The Byte Shop509 Francisco Blvd.San Rafael CA 94901

The Byte Shop3400 El Camino RealSanta Clara CA 95051

The Byte Shop2989 North Main St.Walnut Creek CA 94596

FLORIDA

Microcomputer

Systems Inc.

144 So. Dale Mabry Hy.

Tampa FL 33609

GEORGIA

Atlanta Computer Mart5091-B Buford Hwy.Atlanta GA 30340

ILLINOIS

The Numbers Racket518 East Green StreetChampaign IL 61820

itty bitty

machine co., inc.1316 Chicago Ave.Evanston IL 60201

The ChicagoComputer Store517Tolcott RoadPark Ridge IL 60068

INDIANA

The Data Domain

111 South College Ave.

Bloomington IN 47401

MICHIGAN

The Computer Storeof Ann Arbor310 East WashingtonAnn Arbor Ml 48104

NEW JERSEY

The Computer Mart

of New Jersey

151 Kline Boulevard

Colonia NJ 07067

Hoboken Computer Works

56 Second Street

Hoboken NJ 07030

NEW YORK

Audio Design Electronics487 Broadway, Ste. 512New York NY 10013

The Computer Corner

200 Hamilton Ave.

While Plains NY 10601

The Computer Mart

of Long Island

2072 Front Street

East Meadow, L.I. NY 11554

The Computer Martof New York314 Fifth Ave.New York NY 10001

Synchro Sound Enterprises193-25 Jamaica Ave.HollisNY 11423

OREGONThe Real OregonComputer Co.205 West 10th AveEugene OR 97401

RHODE ISLAND

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

TEXAS

The Micro Store634 South CentralExpresswayRichardson TX 75080

WASHINGTON

The Retail Computer Store410 N.E. 72ndSeattle WA 98115

WISCONSIN

The Milwaukee Computer Store6919 W. North Ave.Milwaukee Wl 53213

CANADA

The Computer Place186 Queen St. WestToronto, Ontario M5V 1Z1

Trintronics160 Elgin St.Ottawa, Ontario

SAVE THE COMPUTERSFOUNDATION?

As a regular reader of the articles inBYTE magazine I have noticed the ab-sence of any columns on computernostalgia and antique computers. An-tique computer interest appears to begrowing because it is perceived in per-spective to and in contrast with micro-processors. Nostalgia discussions wouldcompare old computers with micro-computers in the area of first cost,computing power, logical organization,speed, electricity consumption, size,weight, reliability, etc.

Antique computers include the desksize drum and vacuum tube machines ofthe 50s, early magnetic core minis of the60s, and the first Wang and HP desk topcalculators of the late 60s. The oldestantique computers include the Royal-McBce LGP-30, Bendix G-15, BurroughsEIOI, IBM 650, Eicon 125, Alwac,MonrobotVI, Univac I and II, and theIBM 700 and 7000 series.

Since only a few of these machineswere ever built, and many have alreadydisappeared, there is a real danger theymay become extinct. We can help pre-serve our computer heritage by publish-ing interesting articles on computernostalgia and antique computers.

Don Nyre

305 Lajolla Dr

Newport Beach CA 92663

Only problem: You can only look at'em, because the power bills will be skyhigh, and who has used vacuum lubes forspare pans? Interested readers are urgedto contact Don, or write up commentaryon their favorite antiques so we canoccasionally publish some history.Who'll write an account of Babbage'sengine '

ARE WE SCHIZOPHRENICPLUGGED-IN EXPERIMENTALISTS?

I just scanned issue No. 14 and amwell pleased! BYTE seems to give thesame schizophrenic, pluggecl-in, ex-perimentalist joy of ham radio's olddays before commercial (yawn) avail-ability of 2000 watt PEP linear ampli-fiers. This is the impetus, battered andbruised by a nasty electrical engineeringcurriculum, jaded by very large scaleintegration, which has largely failed methese days.

Before I go back to working on my

business and law school applications, letme give you a reason for joy: money!Please note the gill subscription formand the address label upon this sleeve.I'd like to buy a year's subscription formy friend and three years for myself.

Jeffrey S Wilson

POB 30113

Parma Heights OH 44130

The above letter was written on abattered BYTE wrapper.

I DON'T LIKE YOUR PRODUCT

Please do not send me any moreissues of BYTE. I got the first two issuesand did not like it. I got the impressionthe magazine was intended for computerhobbyists. Instead, it seems to me moredreary and boring than any textbook or

trade journal today. I have been acomputer professional for fifteen years,and your publication is by far the dullestI've seen. Let me know ifyour format orcontent changes in the future. Mean-while, no more issues please.

Ray Lawrence

120 Roseland La

East Patchogue NY 11772

Congratulations, Ray. You've justexercised your right to vote your pref-erances in a free market, by what youbuy and what you don't buy. We'llcollect our votes from the remaining73,000 or so people (circa January 1977issue) who don't seem to feel the wayyou do.

TELE SELECTRIC CONVERSIONS?

Recently I have a project in mind tobuild an intelligent teleprinter. Thesystem will consist of a converted electrictypewriter which will be controlled by a8080A microprocessor, 8 K memory and3 programmable IO ports which includesRS232 interface. The advantage of thisteleprinter is that it can be used as astand alone computer or as a computerterminal.

The typewriter I intend to use is the

Continued on page 76

WHY WRITE ONE!

i

YOUR LIBRARY IS WAITINGThe much requested Volumes III and IV are ready.If you already have Volumes I and II you'll wantto add these to your set. With the addition ofVolume IV there is no reason why anyone whoeven THINKS of using a computer can't own theirown SOFTWARE LIBRARY. You can start yoursfor less than $10 plus postage and handling. Theseprograms are IMMEDIATELY executable in ANYcomputer with at least 4k. The entire Library is1000 pages long, chocked Full of program sourcecode, instructions, conversions, memory require-ments, examples and much more. ALL are writtenin compatible BASIC executable in 4k MITS,SPHERE, IMS, SWTPC, PDP, etc. BASIC compilersavailable for 8080 & 6800 under $10 elsewhere.

.... WHILE THEY LAST .«»*

VOLUME I & IIVOLUME IIIVOLUME IV

- $24.95 each• $39.95 each■ $ 9.95 each

i

add $1.50 per volume for postage and handling.

10% discounts on purchases of any three (3)

volumes.

volume discounts are available to qualified users &

dealers

VOLUME THREE

Adv. Bus.

Billing

Inventory

Payroll

Risk

Schedule 2

Shipping

Stocks

Switch

VOLUME FOUR

General Purpose

Bingo

Bonds

Bull

Enterprise

Football

Funds 1

Funds 2

Go-Moku

Jack

Life

Loans

Mazes

Poker

Popul

Profits

Qubic

Rates

Retire

Savings

SBA

Tic-Tac

SCIENTIFIC RESEARCH

1712-B FARMINGTON COURT; CROFTON, MD 21114ALSO AVAILABLE AT MOST COMPUTER STORES •

A

11

How come the master ofthis machine has to berelegated to such a menialtask as remembering toenter line numbers?

Sweet Auto Line

j*-au.'7c

9W

Willard I Nico

DELTAt

11020 Old Katy Rd. Suite 204

Houston TX 77043

I was writing a program the other day,using the editor and assembler provisions ofthe SYS 8 self-contained operating system.For the N to the ith time, I forgot to type ina new line number before entering theinstruction code and got the familiarWHAT? response from the monitor program.If there was a market for WHAT?, I'd berich!

Anyway, the thought hit me like a brick,"How come the master of this machine hasto be relegated to such a menial task asremembering to enter line numbers?" Afterall, my IMSAI is supposed to be the kind ofa servant who doesn't mind that type ofwork. I should be free to think creatively.That's when I decided to put SAL on thepayroll: my Sweet Auto Line automatic linenumbering program.

Origina

ISYS8

Modified SYS8

SAL Patch

READ:NEXT:

LXI H,IBUFSHLD ADDSMVI E,2CALL IN8

READ: LXI H.IBUF

JMP PATCHBACKIN: MVI E,2NEXT: CALL IN8

PATCH: SHLD ADDS

JMP r—,|—|

ONOFF,a switch locationwith address of AUTOLif SAL is on, address ofBACKIN if SAL is off

Listing 1:

Change that

thus if SAL is on the code is

must be made to theSYS 8 monitor input logicin order to determine

PATCH: SHLD ADDSJMP AUTOL

whether or

not the auto

thus if SAL is off the code is

line indexing feature is

PATCH: SHLD ADDS

wanted.

JMP BACKIN

12

Job Description

The first step was to decide exactly whatwas required, and I came up with thefollowing list:

1. Automatically generate a four digitnumber at the beginning of each datafile line.

2. Allow for selection of the incrementof increase between line numbers.

3. Permit manual entry of out of se-quence line numbers to allow programcorrection.

4. Allow the automatic feature to beturned on and off as desired.

5. Provide for selection of the beginningline number.

6. Automatically disable the featurewhen an executive command isentered.

After fiddling with the ideas and writingthe program, I now have Sweet Auto Lineworking for me and I don't forget to enterline numbers any more. In fact, I don'teven think about them; SAL and IMSAI doit for me.

The starting point for writing the SweetAuto Line program was to define exactlyhow SYS 8 handles data input from thekeyboard. Figure 1 is a flowchart detailingthe procedure used in this 8080 monitor andwhere my Sweet Auto Line routines arepatched into it. The flowchart shows thatthe program does not carry out any pro-cessing of the input information until theentire line has been entered. Each charactertyped in is stored in sequential locations ofthe IBUF input buffer until the carriagereturn code (ASCII hexadecimal 0D) isdetected. This code signals the monitor thatinput of data for the current line iscomplete.

The monitor then examines the firstcharacter in IBUF to determine if it is anumeral. Lines beginning with one of thenumbers 0 through 9 are flagged as programlines for the current file. If the first char-acter in IBUF is other than a number, theprogram branches to the executive area.

Sweet Auto Line depends on a SYS 8convention for proper operation: At leastone space character must be entered after a

C BEGIN }

SET

STACK

POINTER

CALLREAD

HL:-

START OFINPUTBUFFER

COMMANDROUTINE

N0 ! ^ 1

) t 1 UNAUTO

I PATCH

ECHO ANDCOLLECTCHARACTERIN I BUFF

SAL PATCH IINSERTED-* HERE

r~ 1

I SET

CHARACTERCOUNTER

I 1

1 DELETECHARACTER

I I

BACKUP

-3-

OUTPUTCARRIAGERETURN aLINE FEED

Figure 1: Flowchart of thesection of SYS 8 monitorthat allows the input of aline of data illustratingwhere the SAL routinewill be patched into it forautomatic line numbergeneration.

Original SYS8

Modified SYS8

SAL Patch

SYS8: LXI SP.AREA+1S

CALL READ

INX H

MOV A,M

CPI '9'+1

JC LINE

SYS8:

EOR:

CALL VALC

CALL COMM

CALL CRLF

JMP SYS8

EOR:

LXI

CALL

INX

MOV

CPI

JC

CALL

JMP

CALL

JMP

SP.AREA + 18

READ

H

A,M

'9'+1

LINE

VALC

UNAUTO

CRLF

SYS8

UNAUTO:

LXISHLDCALLJMP

H.BACKINONOFFCOMMEOR

Listing 2: Change in theoriginal SYS 8 system thatallows the SAL patch tobe turned off again.

13

line number and executive commands do notallow a space as the first character.

After automatically generating the newline number on the console output devicesuch as a CRT, Teletype or other device,SAL waits for the first character to betyped. If that character is a space, the newline number is entered into the SYS 8 IBUFplus the space character that was typed. Ifany other character is detected, four back-

Listing 3: Complete listing of the Sweet Auto Line program for theIMSAI version of SYS 8. Assembly was started at hexadecimal memorylocation E200. The addresses of monitor routines given in the Equate Tableare for the IMSAI version of the SYS 8 program. Addresses of the outputroutine and keyboard input routine should be changed to the addressesappropriate for your system. Be sure to check the code given for BKSPA andchange it if necessary to the proper code to back up your display. Thestandard SYS 8 code for this function with the Processor Technology VideoDisplay Module CR T Driver software is hexadecimal 5F for underline.

TITLE 'SWEET AUTO- LINE By Uillai-d I. Nic-o'

automatic: line NUMBERING program

FDR MTCROTEC 'SYS fl' MONITOR/ASSEMBLEREly UEi I lard I . N:i -n

THE ABOVE INSTRUCTION ESTABLISHESTHE ADDRESS AT WHICH THIS PROGRAMBEGINS.

E200

ES

autoe:

PUSH

H

SAUE H S L REGISTERS

E20I

0E02

MVI

C y 2

LOOP COUNTER

E203

21CAE2

L XI

H.NUMBR

ASCI 1 LINE NUMBER STASH

E206

11C7E3

LXI

Ii. I INF

BINARY 1 INE NUMBER STASH

1209

1 A

CONVTi

I DAX

11

GET BY1F

E20A

OF

RRC

ROTATE MOST SIGNIFICANT BITS

I 2 OB

OF

RRC

INTO POSITION

E20C

OF

RRC

E20II

OF

RRC

E20E

CDAAE2

CALL

UNPACK

CONVERT PACKED BINARY TO ASC1T

E2J 1

1A

1 11 AX

II

GET BYTE BACK

E2I2

CDAAE2

CALL

UNPACK

CONVERT AGAIN

E21S

13

I NX

II

NEXT PACKED DIGIT

E216

on

hcr

C

COUNT LOOPS

E217

C209E2

JNZ

CONVT

GO AGAIN IF NOT HONE

E21A

El

PI IP

H

RESTORE REGISTERS

E21B

CIiOAtiB

CALL

KBD1N

GET INPUT FROM KEYBOARD

E21E

78

mov

A.B

MOVE TO ACCUMULATOR

E21F

32C9E2

SI A

SAVE

SAVE KEYBOARD INPUT

E222

FE20

CPI

WAS INPUT A 'SPACE"'

E224

C24EE2

JNZ

ABORT

NO! A LINE FOR FILE IF NOT

E227

0E04

MVI

C.I

OK 111 GO, DIGITS IN LINE NUMB

E229

11CAE2

LXI

D.NUMBP

SET 10 LINE NUMBER STORAGE

E22C

] A

1 0OP2!

LDAX

It

Gil DIGIT

E22D

77

MOV

MiA

PUT 11 IN INPUT BUFFER

E22E

13

INX

II

SET UP FOR NEXT DIGIT

E22F

23

INX

H

NEXT INPUT BUFFER LOCATION

E230

on

IlCR

C

COUNT THE DIGIT

E231

C22CE2

JNZ

EDGE"1

LOOP IF NOT DONE

E234

ES

PUSH

H

SAVE H i L REGISTERS

E235

0E02

MVI

C . 2

SET III' COUNTER

E237

11C8E2

LXI

II.EINE + 1

SET TO PACKED NUMBER STORAGE

E23A

21CFE2

LXI

H.INCR+1

SET TO INCREMENT VALUE

E23D

AE

XRA

A

CLEAR CARRY

E23E

IA

L00P1!

EH AX

II

GET PACKED NUMBER

E23F

3E

A DC

M

AIIII IN INCREMENT VALUE

E240

27

IiAA

ADJUST FOR DECIMAL

E241

12

STAX

n

STORE NEW VALUE

E242

on

ncR

C

COUNT IT

E243

IB

ncx

n

NEXT PACKED DIGIT

E244

2B

ncx

H

NEXT INCREMENT VALUE

E245

C23EE2

JNZ

LOOPl

DO NEXT IF C NOT AT ZERO

E248

El

POP

H

RESTORE H 8 1. REGISTERS

E24?

1E06

MVI

E.4

TELL MONITOR 5 CHARACTERS

E24B

C35BE2

JMP

DONE

GO FINISH

E24E

0E04

abort:

MVI

C.4

NOT A PROGRAM LINE. ERASE

E250

0608

L00P4I

MVI

BrBKSPA

LOAIc BACKSPACE CODE

E252

CII00E0

CALL

CRTOIJT

BACK UP LINE NUMBER ON CRT

E255

on

iicr

C

COUNT IT

E256

C250E2

JNZ

L00P4

LOOP IF NOT DONE

E259

1E02

MVI

E.2

TELL MONITOR ABOUT INPUT CHAR.

E25B

3AC9E2

done:

LIIA

SAVE

GET THE KEYBOARD INPUT

E25E

C3CC00

JMP

NEXT 1-4

GO TO MONITOR

THIS PORTION OF THE PROGRAM SETS THESTARTING LINE NUMBER AND THE INCREMENTVALUE

E261

210005

setl:

LXI

HrOSOOH

E264

22CEE2

SHLII

I NCR

E267

CD3303

CALL

VCHK

E2AA

21C7E2

LXI

H r LINE

i IIEFINF DEFAULT INCREMENT = 5

i STORE DEFAULT INCREMENT

■ CHECK PARAMETER ENTERED

i SET TO CURRENT LINE NO. STASH

space commands are output to the consoleto wipe out the line number and the typedcharacter is entered as the first one in IBUF.After each line number is entered in IBUF, itis increased by the operator selected incre-ment and saved for use in the next programline.

Turning on SAL

The initial line number is established byusing a SETL executive command withparameter passing. The technique for addingyour own executive commands, such asSETL, was described in the January 1977

(BEGIN ^V

E26I

INCR:-5

OUTPUTERRORMESSAGE

HL:>ADDR(LINE)

E26D

DE-. =ADDR(ABUF)

E270

PACK FOUR I

ASCII

CHARACTERS

INTO TWO

BINARY

BYTES

I 1

ILINE I

(INCREMENT I

^PRESENT I

' I I

I 1

I SWITCH ON || SAL

L I

E27F

V

ONOFF:-

ADDR

(PATCH)

V

(RETLIRNToNMONITOR J

Figure 2: Flowchart of the SETL routinethat will determine at what number the linenumbers should begin and what the incre-ment between line numbers will be. Ad-dresses in this figure refer to listing 3.

14

Computer

InterfacingandOn-LineOperat**1

768/03X

MICROPRO-

GRAMMABLE

COMPUTER

ARCHITECTURES

by A. B.Salisbury

Pub. price, $13.50Club price, $11.40

767/017COMPUTERINTERFACINGAND ON-LINEOPERATION

by J. C. Cluley

Pub. price, $14.50Club price, $12.35

767/009

DIGITAL SIGNALPROCESSING

by A.V.

Oppenheim andR.W. Schafer

Pub. price, $22.95Club price, $18.95

767/262

ENGINEERINGCYBERNETICS

by R.M. Glorioso

Pub. price, $16.95Club price, $12.95

768/307

CONTENTADDRESSABLEPARALLELPROCESSORS

by C. C. Foster

Pub. price, $11.95Club price, $9.95

768/870

GERT MODELINGAND

SIMULATION:Fundamentalsand Applications

by L. J. Moore

and

E. R. Clayton

Pub. price, $15.95Club price, $13.25

introductory otterto new members of the

COMPUTER PROFESSIONALS'BOOK CLUB

anyone

of these greatprofessional books

cJ®**

for 3only

values upto $25.00

Special $1.00 bonus book comes to youwith your first club selection

770/271

BUCHSBAUM'S

COMPLETE

HANDBOOK OF

PRACTICAL

ELECTRONIC

REFERENCE

DATA

by W. H.Buchsbaum

Pub. price $17.95

Club price, $13.50

767/092

f

DATA

-^*^

PROCESSING

DOCUMENTA-

TION: Standards,

Is

Procedures, and

Applications

11

by W. L. Harper

i!

Pub. price, $22.95

Club price, $17.95

I

767/661

INTERACTIVE

COMPUTER

GRAPHICS

by B. S. Walker,G. R. Grund, &E. A. Drawneck

Pub. price, $14.50Club price, $12.30

768/803

DATACOMPRESSION

by L.D. Davisson& R.M. Gray

Pub. price, $25.00Club price, $17.95

766/754

HANDBOOK OFCOMPUTERMAINTENANCE& TROUBLE-SHOOTING

by B.W. Maguire

Pub. price, $18.00Club price, $13.95

767/521

SYSTEMSSIMULATIONThe Art andScience

by R.E. Shannon

Pub. price, $14.95Club price, $12.50

768/714

APPLYING DATASTRUCTURES

by T. G. Lewisand M. Z. Smith

Pub. price, $15.95Club price, $12.25

767/815

GAMES ANDPROGRAMS:Mathematicsfor Modeling

by R. R.Singleton& W. Tyndall

Pub. price, $13.00Club price, $10.75

save time and money

by joining McGraw-Hill's new

COMPUTER PROFESSIONALS'BOOKCLUB

m

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

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

How the Club operates: Every month you receive free of charge The ComputerProfessionals' Book Club Bulletin. This announces and describes the Club'sfeatured book of the month as well as alternate selections available at specialmembers' prices. If you want to examine the Club's feature of the month, you donothing. If you prefer one of the alternate selections—or if you want no book atall—you notify the Club by returning the card enclosed with each Bulletin.

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

r— MAIL THIS COUPON TODAY

COMPUTER PROFESSIONALS/Book Club

P.O. Box 582 Princeton Road, Hightstown, New Jersey 08520

Please enroll me as a member and send me the two books Indicated. I amto receive the bonus book at the introductory price of $1.00 plus my tirst selec-tion, plus tax, postage and handling. If not completely satisfied, I may returnthe books within 10 days and request that my membership be cancelled. IfI keep the books, I agree to take a minimum of three additional books duringthe next two years at special Club prices (guaranteed 15% discount, oftenmore). I will receive the Club Bulletin 12 times a year. If I want to examinethe featured selection, I need take no action. It will be shipped automatically.If, however, I want an alternate selection—or no book at all—I simply notifythe Club by returning the convenient card always enclosed. I will always havea minimum of ten days in which to return the card and you will credit my ac-count fully, including postage, if this is not the case. Membership in the Clubis continuous but cancellable by me at any time after the four-book purchaserequirement has been filled. This order subject to acceptance by McGraw-Hill.Orders from outside the continental U.S. must be prepaid. All prices subject tochange without notice. Otter good tor new members only.

Write Code # of $1.00 bonusbook selection here

Write Code # offirst selection here

NAME.

ADDRESS.

CITY.

STATE.

_ZIP_

EXTRA SAVINGS: Remit in full with your order, plus any local and statetax, and McGraw-Hill will pay all postage and handling charges. 000-104

Listing 3, continued:

E26D

117E10

L..XI

D.ABUF

E270

CD88E2

CALL

PACK

E:273

21CEE2

LXI

H.INCR

E276

1A

LDAX

D

E277

FEOO

CFI

0

E279

CA7FE2

.17.

SWITCH

E27C)

CD88E2

CALL

PACK

; SET 10 ASCII BUFFER

i PACK BCD DIGITS

i SET TO INCREMENT STORAGE

i En FIRST VALUE FROM ABUF

I CHECK IF INCREMENT ENTERED

: USE DEFAULT VALUE IF NOT

t PACK INCRFMENT VALUES

THIS PORTION OF THE PROGRAM CHANGESTHE DESTINATION OF THE JUMP INSTRUCTIONIN THE PATCH TO ACTIVATE THE AUTOMATICLINE NUMBERING FEATURE

E27F 2100E2

SWITCH!

LXI

E282 22B9E2

SHU

E285 C3BAOO

JMP

H.AUTOL J START ADDRESS OF AUTOL ROUT TNTONOFF ! STORE IT AT BRANCH LOCATIONEOR I RETURN TO MONITOR INPUT

THE FOLLOWING SUBROUTINE PACKSFOUR ASCII DIGITS INTO TWOEIGHT-BIT BINARY BYTES

E288 CD8BE2E28B CD9CE2

E291E292

13

CD9CE2BO

E299E29AE29B

RLC

RLE

RLC

MOV

Br A

INX

D

CALL

TES

ADD

B

MOV

MiA

INX

D

INX

H

RET

DD FOLLOWING ROUTINE TWICETEST FOR NUMERICAL DIGITROTATE BITS TO LEF1

FOUR BITS OF PACKED

BINARY

BYTEHOLD

SET I TO NEXT DIGITCHECK LEGAL DIGITPACK 2 DIGITSSTORE RESULTSET TO NEX1 DIGITNEXT STORAGE LOCATION

THIS SUBROUTINE TESTS AN ASCII CHARACTERTO MAKE SURE IT IS ONE OF THE DIGITS"()■ THROUGH "9". IF IT IS NOT,AN EXIT IS MADE TO THE ERROR ROUTINE.THE ASCII NUMBER CODE IS ALSOSTRIPPED FROM THE CHARACTER

E29C

1A

IEHI

LDAX

D

GET DIGIT

E29D

FE30

CPI

'0'

ASCII 0 OR HIGHER

E29F

DAA504

JC

WHAT

ERROR II HOT

E2A2

FE3A

CPI

':'

CAN'T BE MORE THAN 9

E2A4

D2A504

JNC

WHAT

ERROR IF SO

E2A7

EAOF

ANT

OFH

STRIP OFF ASCII CODE

E2A9

09

RET

THIS SUBROUTINE UNPACKS AN EIGHT-BITBINARY BYTE INTO TWO ASCII NUMERICALCHARACTERS

E2AA E40F

unpack:

ANI

OFH

E2AC C630

ADI

'0'

E2AE 77

MOV

Mr A

E2AF 47

MOV

Br A

E2B0 CDOOEO

CALL

CRTOUT

E2B3 23

INX

H

E2B4 C9

RET

MASK ALL BUT FOUR BITS

ADD ASCII NUMBER CODE

STORE AS ASCII

HOLD IN B REGISTER

ECHO TO OUTPUT

SET TO NEXT STORAGE LOCATION

THE FOLLOWING ROUTINE IS THE PATCHTHAT CONTROLS WHETHER OR NOT AUTOMATICLINE NUMBERS ARE GENERATED

E2B5 227410E2BB C3E2B9 C700

patch: shld adds

DB 0C3HONOFF: BW NEXT-1

ORIGINAL SYS S INSTRUIJUMP INSTRUCTIONDEFINE AS OFF INITIALI

THIS ROUTINE TURNS AUTOMATICLINE NUMBERING FEATURE OFF

E2BB

21C700

unaoto:

LXI

HrNEXT-1

E2BE

22B9E2

SHLD

ONOFF

E2C1

CD5E01

CALL

C0MM

E2C4

C3BA00

JMP

EOR

E2C7E2C9E2CAE2CEEOOO0008D806107E0333OOBA00C804A5015E1074

MONITOR IS DESTINATION IF "OFFSTORE DESTINATION IN PATCHORIGINAL SYS B INSTRUCTIONRETURN TO MONITOR

THIS IS THE AREA WHERE THE PROPER ADDRESSESARE STORED FOR THE VARIOUS LOCATIONSREFERENCED IN THE AUTOL PROGRAM

CURRENT LINE NUMBERFOR KEYBOARD INPUT

ASCII LINE NO.

INCREMENT VALUEIVER PROGRAM

CODE OF VIDEO DRIVERKEYBOARD INPUT ROUTINEFFER ADDRESSTINE IN MONITORINITIALIZATIONREENTRY POINT5SAGE

COMMAND SEARCHSTORAGE LOCATION

line:

DS

2

STASH FOR

save:

DS

1

STORAGE F

numbr:

DS

4

STASH FOR

INCRi

DS

2

STASH FOR

CRTOUT

EQU

OEOOOH

VIDEO DRI

BKSPA

EOU

08H

BACKSPACE

KBBIN

EQU

0D806H

ADDRESS K

ABUF

EQU

107EH

ASCII BUF

VCHK

EQU

0333H

VCHK ROUT

EOR

EQU

OOBAH

MONITOR I

NEXT

EQU

00C8H

MONITOR R

WHAT

EQU

04A5H

ERROR MES

COMM

EQU

015EH

MONITOR C

ADDS

EQU

1074H

MONITOR S

i END

OF PROGRAM

issue of BYTE under the title "SYS 8Vi . .. Your Own Executive Commands," page 66.The command format is: SETL 0100 10In this example, the first program linenumber will be 0100, the second 0110, andso on with each line number being 10 higheithan the proceeding one. The SETL sub-routine accepts input of the initial linenumber you wish SAL to generate, plus theincrement by which each succeeding linenumber is to increase. The program checks

(

BEGIN """AUTOL

)

E200

SAVE HL

ON

STACK

E229

NUMBR:-

UNPACK

(LINE)

E2B0

DISPLAYNUMBR

E2IA

RESTOREHL

E2IF

SAVE:-INPUT(KEYBOARD)

E22

<^SPACE J>>9. p

NO

E2!

E24E

DE: =ADDR(NUMBR)

IGNOREINCREMENT-ATION FORONE LINE

E23

1A

INCREMENT

LINE

NUMBER

B

'

E2E

RETRIEVEKEYBOARDINPUT

[simulate state"!of sys8 on re-turn fromread call

1_ J

(

RETURN TOMONITOR

)

ABORT

E24E

ABUF

107E

ADDS

1074

AUTOL

E200

BKSPA

0008

COMM

015E

CONVT

E209

CRTOIJ

EOOO

DONE

E25B

EOR

OOBA

INCR

E2CE

KBDIN

D806

LINE

E2C7

L00P1

E23E

L00P2

E22C

L00P4

E2S0

NEXT

00C8

NUMBR

E2CA

ONOFF

E2B9

PACK

E288

PATCH

E2B5

SAVE

E2C9

SETL

E261

SWITC

E27F

TEST

E29C

TWICE

E28B

UNAUT

E2BB

UNPAC

E2AA

VCHK

0333

WHAT

04A5

Figure 3: Flowchart of the A UTOL routinethat increments the line numbers and deter-mines if an executive command has beenentered. If an executive command is inputthe automatic line numbering will cease.Addresses in this figure refer to listing 3.

16

II

Microcomputers are highlycomplicated devices. When youbuy one you want to make surethe manufacturer has a solid repu-tation for reliability and support. Youwant to make sure he'll be in your cornera year or two down the road.The Altair™8800 from MITS was the firstgeneral-purpose microcomputer. Today, there aremore Altair computers up and running than all theother general-purpose microcomputers combined.Today, Altairs are successfully used for literally hun-dreds of personal, business, scientific, and industrialapplications.

Because we are so popular, many people have triedto copy us. The pages of microcomputer magazinesare full of advertisements for Altair compatible devices

and Altair imitation computers.

Because we are NUMBER ONE,we offer a much broader range ofproducts and services than any ofour competitors. One manufacturermight be able to copy one of ourcomputers. Another might be ableto produce a working memory card.But no one can copy the overallAltair concept.

The Altair concept is a systemconcept aimed at practical, costeffective applications. That's whywe offer three mainframes includ-ing the Altair 680b, Altair 8800a,and Altair 8800b; ten peripheralsincluding a multi-disk system; andover 20 plug compatible modulesincluding our new, low power 16Kstatic memory board. That's why weare the only microcomputer manu-facturer to go to the extra expenseof providing our customers withquality, higher language, software.When you buy an Altair, you'renot just buying a piece of equip-ment. You're buying years of reli-able, low-cost computing. You'rebuying the support of the NUMBERONE manufacturer in the micro-computer field.

■

HI^^H

' I

Note: The SYS 8Monitor/Editor/As-sembler was writtenby Microtec of Sun-nyvale CA, and isincluded free withthe I MSA I 8080Computer, Proces-sor Technology Codistributes a similarversion of the sameprogram for only acopying charge.

to make sure you entered the startingnumber by using the VCHK routine inSYS 8. If you forgot to enter the number,you get another WHAT? for your collection.If an increment value is not entered, thedefault value of 5 is used. Sweet Auto Lineis activated when the SETL command isissued and deactivated by the use of anyother executive command.

Employer Provided Tools

To get SAL working productively, youneed to provide the proper working environ-ment. What your new employee needs aretwo small changes to the SYS 8 programand, of course, the Sweet Auto Line pro-gram itself.

The first change to SYS 8, shown inlisting 1, diverts program flow to a patch inSweet Auto Line that determines if theautomatic feature is on or off. The patchcontains the line of code which was replacedin the monitor plus a J MP instruction. Thesecond and third bytes of the J MP instruc-tion are changed by SETL so that thedestination of the jump is AUTOL, the startof the line numbering program. This turnsSAL on.

The second change to SYS 8, shown infigure 3, is similar except that program flowis diverted to the UNAUTO routine in SAL.UNAUTO changes bytes two and three ofthe J MP instruction in the patch so that theprogram goes right back where it came fromwithout going through the line numberingprocedure. This turns SAL off.

Method to Madness Dept

Here's why the particular locations forchanges to the monitor were chosen.

Each new line of data input begins atREAD call in the monitor. First, we allowthe HL register pair to be set to the start ofthe input buffer by the LXI H, IBUFinstruction. Our J MP to the patch replacesthe SHLD ADDS instruction. If SAL is off,the program flow jumps back to theMVI E, 2 instruction and everything worksas though there had been no changes at all.

However, if SAL is on, the line numberwill be automatically placed in IBUF, thecharacter counter, register E, will be set tothe correct value, and the first keyboardinput character will be in resister A. Thereturn will be to the CPI 24 instruction.

The jump to UNAUTO replaces theCALL to COMM which is duplicated in theUNAUTO routine. If a line of input datadoes not start with a number, the programflows through UNAUTO to turn SAL offbefore checking for a legal executivecommand.

Put SAL to Work

When using SAL, an executive commandis used to set the beginning line number,optionally select the increment of increasefor each succeeding line, and turn SAL on.This command and the address of the SETLroutine should be added to your executivecommand table. The command is:SETL beginning-line [increment]

(square brackets denote options)Examples:

First Line No.

Incre<

SETL 1000 20

1000

20

SETL1 5

0001

5

SETL 20

0020

5

SETL A100 10

WHAT?

To turn SAL off, use any executivecommand, even one that is not in CTAB. Ofcourse, you can't use SETL!

To correct a previous line, simply followthe standard procedure and type in the linenumber you wish to correct. When finished,SAL will repeat the line number she hassaved as next. If you forget to type a spaceafter SAL delivers the line number, use thekey you would normally use to back up,usually the underline. When you havebacked up to the beginning of the line, typea carriage return and SAL will repeat thenext line number.

Note that the maximum line number thatSYS 8 can handle is 9999. SAL makes notest that this number has been exceeded.The next number after 9999 is 0000 and ifyou are not careful you may write over someof your program lines. The line incrementvalue may range from 0 to 9999. If you use0, you will set the same line number overand over. If you use 9999, well, would youbelieve a two line program?

How Does She Dolt?

SAL uses four locations to store variousdata. These are:

LINE 2 bytes for the next line

number in packed binary

formatSAVE 1 byte for the keyboard

input characterNUMBR 4 bytes for the next line

number in ASCII formatINCR 2 bytes for the increase

increment in packed binary

format

The first program activity occurs whenthe beginning line number and increment areset and SAL is turned on. Those functionsare handled by the SETL routine as shownin the flowchart in figure 2. In the event noincrement is specified, the default value of 5

18

AIL WECAN TEL YOU ISTHAT MEN WHODONT SMOKELIVE ABOUT6 YEARS LONGERTHAN MEN WHO

00 SMOKE

If you want someone to help you

stop smoking cigarettes,

contact your American Cancer Society.

*

AMERICAN CANCER SOCIETY

* This fact taken from a research study is based on the smoker who at age 25 smokes about a pack and a half of cigarettes a day.

Listing 4: Equate Table with monitor routine addresses for using the SweetAuto Line program with the Processor Technology version of the SYS 8program. This assembly was started at hexadecimal memory location 5000.

THIS IS THE AREA UHERE I HE PROPER ADDRESSESr ARE STORED FOR THE VARIOUS LOCATIONSS REFERENCED IN THE AUTOL PROGRAM

S0C750C950CA50CEEOOOOOOBD804D05AF2?3FOIFF02DF41AF0C3D050

line:

US

2

save:

[IS

1

numbr:

IIS

4

incr:

[IS

2

CRTOUT

EOU

OEOOOH

BKSPA

EOI.J

OSH

KBDIN

EOU

0D806H

ABUF

ECIU

0DO5AH

VCHK

EQU

0F293H

EOR

EOU

0F01XH

NEXT

EOU

0F02DH

UHAT

EOU

0F41AH

COMM

ERU

0F0C3H

ADDS

EQU

0D050H

i END

OF PROGRAM

STASH FOR CURRENT LINE NUMBERSTORAGE FOR KEYBOARD INPUTSTASH FOR ASCI[ LINT NO.STASH FOR INCREMENT VALUEVIDEO DRIVER PROGRAMBACKSPACE CODE OF VIDEO DRIVERADDRESS KEYBOARD INPUT ROUTINEASCII BUFFER ADDRESSVCHK ROUTINE IN MONI TDK-MONITOR INITIALIZATIONMONITOR REENTRY POINTFRR'OR MESSAGEMONITOR COMMAND SEARCHMUNITOR STORAGE LOCATION

is used. This value is loaded into the HLregister pair and stored at INCR at the startof SETL. If a later test shows that adifferent value is desired, INCR is changedaccordingly.

Next, the monitor's VCHK routine isused to determine if a beginning line numberwas specified. VCHK exits to the WHAT?error routine if it finds no line number waschosen. If a line number is found, the HLresister pair is set to the LINE storage areaand the DE register pair is loaded with theaddress of the monitor's ASCII buffer,ABUF. The first four ASCII digits in ABUFare converted to simple binary values andthen packed two to a byte by the PACKroutine. Each digit is tested to make sure itis a valid number by TEST. The two bytesare then stored at LINE.

SETL then checks the next ABUF entryfor an increment value. If none is present,the 5 initially stored is used. If an entry isfound, the next four ABUF characters arepacked into two bytes as before and storedin INCR.

The SWITCH routine fetches the startingaddress of the AUTOL routine and stores itas the second and third bytes of the jumpinstruction in PATCH, thus turning SAL on.Each time the monitor enters its READroutine, the program is diverted to SAL'sPATCH. If SAL is on, the program goesthrough AUTOL to generate a line number.

As the flowchart of figure 3 shows,AUTOL saves the data in the HL registerpair on the stack so that those registers areavailable for use. They are then set to theaddress of the NUMBR storage area. Registerpair DE is set to the LINE memory addressand the next line number is retrieved from

that area and unpacked into four ASCIIdigits. The UNPACK routine stores theASCII digits in the NUMBR stash and, aseach digit is stored, it is also displayed onthe console device.

After displaying the line number, theprogram waits for an input from the key-board which it stores in the SAVE memorybyte. This input is tested for a space and if itis any other character, a jump to theABORT routine cancels the entry of the linenumber into the monitor's input buffer. If aspace is detected, the ASCII digits in theNUMBR stash are entered into the monitor'sinput buffer, IBUF. The value stored inINCR is then added to the line number inLINE and the new value restored in LINEfor use the next time through.

The E register is used by the monitor topoint to the place in IBUF just after the lastvalid character. Since we have added a fourdigit line number plus a keyboard entrycharacter, we set register E to 6 so that themonitor knows what we have done. Lastly,the keyboard character is retrieved fromSAVE and carried back to the monitor forinput of the rest of the line.

In the ABORT portion of the program,four rubout commands are generated towipe out the line number printed on thecontrol console. Since the number had notbeen entered into IBUF or increased by theincrement value when the nonspace key-board entry was detected, no further proces-sing of the line number is necessary. The Epointer register is set to 2 to indicate thatone character is in IBUF, the SAVEd char-acter retrieved and the monitor reentered.The PACK routine extracts the binary equiv-alents of ASCII numbers and combines twoof them into one byte. This packing facil-itates adding the increment value to the linenumber by allowing use of the DAA, Deci-mal Adjust Accumulator instruction.PATCH, SWITCH and UNAUTO have al-ready been explained in sufficient detail.

A program listing of the Sweet Auto Lineis shown in listing 3. The addresses of themonitor routines given in the Equate Tablearc for the IMSAI version of the SYS 8program. If you are using the ProcessorTechnology version of this program theappropriate addresses can be found in listing4.

Well, there you have it! Sweet Auto Lineis an example of sane, moderately intricatecomputer programming which goes to workand makes life easier for you. You will findit convenient to use, and after a short while,you'll wonder how you ever got alongwithout SAL on the payroll.

Now if she could just type .. .■

20

Turn us on.

And the Digital Group will get you going,

One of the first things you'll discover when you getstarted with microprocessors is that there's a lot moreinvolved than the hardware. That's why you shouldconsider a system's software, too.

With a Digital group system, you can get goingfast...and you don't have to be a programminggenius to make your computer do something foryou. Turn us on, and your system really does whatyou want it to do—easily and quickly. Because the Dig-ital Group firmly believes that a computer withoutusable software is useless.

Every system the Digital Group delivers has severaloperating programs included with it. As soon as youturn it on it's doing something! In addition, we makeavailable an ever-growing number of software pack-ages for Digital Group systems at all levels ofsupport. (They're listed below.)

But first, how do you get started?

With Tiny Basic Extended.

For only $5, you get the "beginning" and for an addi-tional $5 you can get a cassette full of game programsthat work with it. Both are on audio cassette that yourDigital Group system can understand. You can listthe programs on the TV screen of your Digital Groupsystem and see exactly how they work step by step.

Now the real fun begins.

Change the program. See what happens. Make itwork better. Try other variations. The best way tolearn how to program your computer is by studyingan easy-to-understand operating program andchanging it to see what happens. Bit by bit, under-standing will come. (And it's nice to know that in themeantime, your system can be working while you'relearning.)

When you're ready for more, so are we.

Here are a few programs we have for you:

TINY BASIC EXTENDED $5.00

TINY BASIC GAMES:

Volume 1—Chomp, Checkers, Tic-tac-toe,Digiguess and Brain teaser $5.00

Volume 2—Artillery, Dr. Therapy, Reverse,Biorythm and Golf $5.00

Volume 3—Taxman, Snark, Trap, Number,Square-Root and Clock $5.00

Volume 4—Hamurabi, Stars, 23-Matches,20-Questions, Blackjack, Factor and Batum .. $5.00Volume 5—Bomber, Lunar Lander,Spacebattle, Matador and Dice $5.00

Volume 6—Chief, Mr. Quizzer, Addition,Subtraction and Multiplication $5.00

"GALAXY"1976, SCELBI Computer Consulting, Inc. .. . $7.50

ALSO:

Z-80 Educator $10.00

Z-80 Assembler $15.00

Z-80 Dis-Assembler $10.00

Z-80 Text/Editor $7.50

And many more.

Here's how to get going.

First, take a look at our hardware (we've picturedit here in our new line of cabinets). Then just fill in thecoupon below for all the details on our systems—hardware and software—so you can turn us on.

OHO

J

P.O. Box 6528

Denver, Colorado 80206

(303) 777-7133

OK, Get me going. I want all the details.

Name.

Address.

City/State/Zip.

21

$194 for the

kaboodle.

whole kit &

»»-*

the kit $95

the kaboodle $99

The kaboodle is our popular SC/MP Kit micro-computer package: SC/MP microprocessor, ROM,RAM, timing crystal, PC Board, and all necessarydrive logic. All for just $99.

The kit is our new, low-cost terminal kit:keyboard display, and special ROM with debugkeyboard/display scanning program. All forjust $95.

You don't need a $500 development system.

You don't need a $1,000 teletype.

You buy our kit and kaboodle, and you're inbusiness. In microprocessors, video games, homecontrol systems, whatever. For training, forlearning, for development.

If you'd like complete information, we'll send itto you for nothing.

Or, if you'd prefer the actual microcomputer andterminal kit, that'll be just $194 extra.

National Semiconductor

2900 Semiconductor Drive, Santa Clara, CA 95051

Gentlemen:

Please send me more information.

_Please send me a real live SC/MP Kit (ISP-8K/200) $99.

Please send me a real live Keyboard Kit {ISP-8K/400) $95.

Here's my cheek. (California residents add 6% sales tax.)Also available at your local distributor.

Name Title

Company

Add less

City

.State_

Zip-

S3 National Semiconductor

The

Ira Rampil

917 Engineering Research BldgUniversity of WisconsinMadison Wl 53706

Jack Breimeir

The Economy Co

1901 N Walnut

POB 25308

Oklahoma City OK 73125

Digital CassetteSubsystem:

When people first acquire a small com-puter of traditional design, they are usuallycontent for some time with using the con-sole lights and switches for IO. If the proudnew owner has any software aspirations, heor she will soon begin to crave some sort ofdevice to raise the level of intelligence of theman-machine interface. For many, anASR 33 Teletype or its equivalent makes anideal first peripheral for a computer system;it gives one a keyboard, a hard copy printer,and paper tape bulk storage for programlibraries. There comes a time, however, whenthe incessant clatter of a 10 character persecond paper tape reader is no longer musicto one's ears. The fact of the matter seemsto be that as the ambition of a programmergrows, so does that programmer's restless-ness and impatience to see things beingdone. There is something irksome aboutsitting and watching one's IO machine takelonger to read a program than it took tocode it. The obvious answer is a high speedrandom access store, like a disk or drum.However, no matter how elegant it might be,not everyone has $5 K for a cartridge disk.Floppy disks are not yet the answer in termsof cost, reliability and media life. Perhapsthe best answer for today's amateur may liewith the ubiquitous Philips cassette. Thereare many alternatives when dealing withcassettes from which to make design choices.Therefore, this article is meant as a referencefor ideas, rather than as a constructionarticle.

The theme of this article refers to the useof high performance digital cassettes, so let'sdefine terms. High performance is intended

to mean better than the amateur's commonforms of automatic program loading, namelyTeletypes and low speed audio cassettes.One important performance factor that iseasy to improve upon is speed. A Teletypeclatters along at 110 bits per second, and anaudio cassette at up to 2400 depending onwhose system you use, but a digital cassettesystem begins hitting mechanical limits at32,000 bits per second (for NRZ1 = 1600bpi X 20 ips = 32 kbs). A conservatively andtherefore more reliably designed system willloaf along at 7,000 to 8,000 bits per second.That's about one thousand characters persecond, or 100 times the speed of a Teletype.Imagine a 4 kilobyte program being loadedinto main memory in less than 5 seconds. An-other, perhaps more important feature pos-sible in an electronically controlled cassettesystem is a concept known as block replace-ability. This means that a block of data onthe tape can be erased and overwritten withdifferent data, without disturbing any otherpreexisting data on the tape. This techniqueobviously requires very accurate computercontrol and synchronization of tape motion.Block replaceability is not an easy goal toachieve in the design of a cassette system. Infact, most cassette peripheral system manu-facturers do not offer it, and audio cassettedrives never have it. Amateurs, however, cando things that professional designers cannotor will not do because amateurs are not asconcerned with markets, cost and reliabilityoptimization. Block replaceability is aworthy goal of amateur experimenters inspite of additional hardware requirementsbecause, in conjunction with the proper

24

(STRENGTHOF CREATEDMAGNET)

+ B

C

/ A

^A

-H

+ H

/ B

MAGNETIZINGFORCE(APPLIED FIELD)

/b'

-B

Figure I: The magnetization curve of thetypical magnetic tape medium. The appliedmagnetic field, H, results in a residualmagnet of strength B after the tape haspassed the head. The linear regions A to A'and B to B' are used by audio recorders viathe trick of using a bias signal which rapidlyswitches through the A to B region andallows reconstruction of the analog signalintensity based solely on the linear segments.A digital recorder, in contrast, drives thehead to saturation (and beyond) at C and D,giving the maximum magnetization possiblein either direction.

Part 1, Digital Recording Background

and Head Interface Electronics

software device handler, a cassette memorysystem can simulate a random access devicelike a disk or DECtape. Although obviouslymuch slower, such a cassette system wouldenable indigent personal computer users torun the equivalent of a disk operatingsystem, with all of its attendant advantagesand features.

Magnetic tape systems of one form oranother have been a mainstay of commer-cially designed computer systems for severaldecades. As such, there is a fairly large bodyof information in the engineering literatureon the theory and practice of digital magnet-ic recording. Until now, analog magneticrecording with audio cassettes has been usedin the majority of amateur computer appli-cations. A brief look at the physics of analogand digital magnetic recording should con-vince the reader of the vast superiority ofdigital techniques.

The fundamental difference betweenaudio and digital recording is in the methodand degree of magnetizing the tape. Foraudio recording, low distortion is a primaryrequirement. Looking at the B versus Hcurve (magnetic intensity versus magnetizingforce) for tape, figure 1, we see that thecurve is mostly nonlinear. Only the linear-portions of the curve can be utilized if lowdistortion is of importance. There are twolinear regions from A to A' and from B to B'in figure 1. The high frequency bias typicalof audio recording is used to insure opera-tion in the two linear regions for the fullrange of the audio signal level. However, fordigital recording as in almost all digitalsystems, we are interested in only two

states: 0 or 1, on or off, true or false orwhatever names are convenient for distin-guishing two separate states. Two such statesare readily available for digital recording,these being points C and D on the B versus Hcurve of figure 1. Each of these two points isin the saturation region of the curve where afurther variation in the magnetizing forceresults in a negligible variation of magneticintensity in the tape and both points are inregions of opposite polarity. These then arethe two states used for saturated digitalrecording.

There are several advantages to operatingin the saturation regions of the magneticmedia which we shall examine now. Duringreadback of magnetic tape, the signal in themagnetic data transfer head is proportionalto the rate of change of the flux or

d*N 2£

dt

where ec

N

d*dt

instantaneous read head

voltage

number of windings

around head core

change of magnetic fluxper unit time

For a given magnetic head and a giventape speed, the maximum readback voltageis obtained by recording a transition of the

25

signal from point C to D or D to C offigure 1. In other words, use the maximumpossible change of flux in order to takeadvantage of the full amplitude capability ofthe magnetic media. This results in themaximum read back signal which in turngives the highest signal to noise ratio.Secondly, since the tape is being saturatedthere are no critical bias levels or recordcurrent levels to maintain. All that is re-quired is that the current through the recordhead be of sufficient value to operate at orabove the knee of the B versus H curve. Mostdigital systems operate at record head cur-rent levels of 125% tape saturation or above.Because this level is well above saturation,the exact value is not critical and, therefore,no adjustments are required in the recordingelectronics during manufacture or duringmaintenance.

As previously mentioned, the manner inwhich the signal is used to designate onesand zeros for digital systems is differentfrom the techniques used for audio. In audiothe high frequency bias switches betweenthe two linear regions of the tape while theaudio is superimposed on the bias for record-ing the information. When audio recordingtechniques such as frequency shift keying(FSK) are used for storing digital informa-tion, typically 4 to 8 cycles of an audio toneare recorded in combination with the 50 to100 kHz high frequency bias. During read-back, the audio tones are recovered andconverted back to digital information.

Figure 2: Timing and tape positioning in a digital recording. At (a) is shownan example of a square wave applied to some tape head, alternating betweentwo saturation current levels arbitrarily called +1 and — I. The result is apattern of magnetized regions on the tape, with boundaries at each transitionpoint. The passage of the magnets over the head during a read operationinduces a current pulse proportional to the rate of change of the magneticfield's direction. Here we've arbitrarily given NS as the designation for a +1current state, and SN as the designation of the — 7 current state at write time.The trace at (c) shows the voltage integral of currents due to the fieldtransitions of (b) when the tape is read. The key to recording digital data isthe creation of a time format for the transitions of the fields (which don'thave to have the regular pattern shown here).

Saturated digital recording systems requireno such complication. Each excursion fromone saturation polarity to the opposite is ofsignificance. These magnetic polarityreversals are called flux transitions or fluxreversals and, generally, less than one to amaximum of two are required per bit ofdigital information.

Let us now take a closer look at what thesaturated digital signal looks like on tape.The head drive current is switched betweenthe saturation currents as shown by thesquare wave in figure 2a. The result is thatcells of magnetization are recorded on thetape as shown in figure 2b. The magneticcells alternate in polarity corresponding tothe direction of the recording current. Whenthe tape is read back, the read head will havea voltage induced only at the cell boundarieswhere there is a large change of flux. Theresulting input head waveform is shown infigure 2c. Notice that the head has an outputonly at the locations where the flux changesoccur and no output between flux changeswhere the remanence magnetism is constant.The magnetic head output when reading isobviously much different than the recordedcurrent waveform. This situation is quite theopposite of the requirements for audiosystems where the playback voltage must bea faithful reproduction of the record cur-rent.

Another difference between audio anddigital recording worth noting is in themethod of erasing tape. Audio tape must beerased with a high frequency signal toreplace the recorded signal with a com-pletely random jumble of magnetic cells, ordomains, that produce no signal. If this priorerasing is not done, then the new audiosignal is simply added to the previouslyrecorded signal, achieving a "sound onsound" effect. Saturated digital recordingeliminates the need for an erase head, and aseparate erase process. Since saturated re-cording forces the tape to comply com-pletely with the new data, the previous stateof tape is irrelevant. Digital recording erases

(a)

(b)

WRITEHEADDRIVECURRENT

TAPE TRACKMAGNETIZATION(TO SATURATION)

-4-

--TRANSITION REGION

N

N S

S N

N S

S N

N S

S N

N S

S N

N S

S N

N S

S N

N S

(c)

INDUCEDREAD HEADVOLTAGE ONPLAYBACK

+ V

0

-V

TIME'S ARROW-

26

8.2V II. OV

w—fr-

I.5K WRITE

MAGNETICHEAD

/^ -I5V

Figure 3: A typical head drive circuit for saturation recording. The 709 operational amplifierhere is used to drive the magnetic tape head to saturation in either direction by applying alOVsignal with respect to ground. A magnetic recording head winding resistance of typically 100ohms in the digital cassette case results in a current of 10/3400=0.003 A (3 mA).

the old data automatically with every write.Some digital recorders do have an erasehead, usually called a tunnel erase head.These erase heads are only used to insurecompatibility between different decks.Because different decks have different mech-anical head to tape relationships, the tunnelerase heads erase a track much wider thanthe head records on. This wide swath oferasure insures data recorded on a differentmachine can be erased completely, in spiteof a slight head misalignment. The conven-tion when purposefully recording a blankpiece of digital tape is to simply saturate thehead in one direction for the entire blanksection.

In digital systems, the data or informa-tion is determined by these flux transitionsrather than by any continuously varyinganalog signal. There are many differentcombinations in which the transitions can beused to designate a 1 or 0. The polarity,position, or relative spacing of the transi-tions are all possibilities. The process ofassigning information to the flux transitionsand recovering it is termed encoding anddecoding. The more popular methods ofencoding and decoding arc covered later inthis article.

Recording or writing flux transitions ontotape is relatively straightforward. Digitalcassette magnetic heads typically require 4to 10 mA peak to peak current for satura-tion of the tape. This amount of currentdrive is easily available from a generalpurpose operational amplifier. Figure 3 is acircuit diagram of a typical write amplifier

that delivers plus and minus 3 mA currentdrive to the magnetic head. The circuitconsists of a 709 operational amplifier withback to back zener diodes providing bipolarlimiting. TTL logic level inputs are appliedto the write data input, inverted and thensupplied to the inverting input of the opamp. The noninvcrting input of the op ampis referenced at 1.4 V positive, thus theoutput will switch polarities when the inputchanges from one TTL level to the opposite.

Figure 4: Merging of transitions. When twotransitions come close together on the tape,the response curves (see figure 2c) uponreading the data can overlap significantly.This crowding of flux changes tends to causeinterference such that the amplitude of thesignal is reduced, and the time coordinate ofthe peak of the curves will shift slightly.

27

READ

MAGNETIC

HEAD

PREAMP

a

AMPLIFIER

m

PEAKDETECTOR

POSITIVETHRESHOLDDETECTOR

NEGATIVE

THRESHOLD

DETECTOR

,+FLUX TRANSITION

o

FLUX TRANSITION

Figure 5: Block diagram of typical magnetic tape head read electronics for digital recording.The preamplifier and amplifier sections merely turn the very weak signal actually generated inthe head during a read data transfer into a strong enough signal to analyze. The peak detectormarks the time at which the peak negative or positive amplitude is achieved, and the positive ornegative threshold detectors merely gate the direction in which the signal was detected. Theresult is a pair of lines, one having a pulse for each + transition, one having a pulse for each —transition.

Figure 6: Time relation-ships of the voltage wave-form from the head (a),the positive threshold de-tector output (b), and thenegative threshold de-tector output (c). Thethreshold outputs serve asa gate for the peak de-tector. (Refer to figure 5for the system blockdiagram.)

READHEADVOLTAGE

(a) C

The output is clipped at plus and minus10 V by the negative feedback through thezener diodes. Since the inputs to the op ampare offset 1.4 V above ground, the zenerdiodes are 8.2 and I 1.0 V units to provide asymmetrical ±10 V output. The resistance ofa cassette digital magnetic head is typicallyless than 100 ohms, thus, a 3.3 k resistor inseries with the output of the op ampprovides the ±3 mA drive to the magnetichead.

As previously shown in figure 2, when therecorded magnetic pattern is read back, thevoltage induced in the read head is a series ofpositive and negative pulses occurring when

THRESHOLD LEVELS

(b)

+ FLUX

TRANSITION

(c)-FLUXTRANSITION

the flux transitions cross the head gap. Theflux transitions have been shown widelyspaced with no interaction. In order toachieve maximum storage density and high-est data transfer rates, the flux transitionsarc normally written close together. Whenthis is done, the interaction between transi-tions must be taken into account. Because ofthe physics of the magnetic tape to tapehead system, flux transitions recorded ontape are not infinitely narrow. The resultinginduced readback voltage is a pulse shapedsomewhat like half a sine wave. When twoclosely spaced transitions are read, the re-sults are as illustrated in figure 4. I5 is therecorded saturation current; e^ and e2 arethe induced read voltages which would occurif the transitions were widely spaced; and e^is the actual resultant read voltage due to theclose spacing of the transitions. The trailingand leading edges of one pulse overlap intothe areas occupied by adjacent pulses. Theresult is a reduction in amplitude of eachpulse. This phenomenon is called pulsecrowding. A close look also reveals a shift inthe position of the peak of the pulse. This isknown as peak shift.

Another consideration in magnetic tape isthe amount of dropout allowed. Dropout isa momentary decrease or loss of signalamplitude during readback, due to minorimperfections in the tape magnetic material

28

or tape to head interface. Digital gradecassettes are certified to have no more than50% loss of amplitude of a signal recorded at1600 flux reversals per inch (FRPI). Audiograde cassettes generally are not certifiedand it is up to the manufacturer's discretionas to the amount of dropout permitted in hisproduct.

What the preceding two paragraphs meanin terms of digital tape signals is that, insteadof constant amplitude readback signal, therewill always be random amplitude variationsin the signal and shifting of the pulse peaksdepending on the flux transition patternwritten. The pulse crowding peak shift anddropout rate limit the maximum flux den-sity that can be utilized for digital tape iferror free data storage is a requirement. Themaximum flux density for cassette tape isnormally 1600 FRPI. In addition, the designof the read amplifier is a key clement inminimizing the effects of the above tapecharacteristics.

Figure 5 is a block diagram of a typicalread amplifier. The signal from the magnetichead is amplified in two stages by a lownoise preamplifier and amplifier. The analogsignal at the output of this block is about4 V peak to peak. The signal is then appliedto the peak detector and plus and minusthreshold detector. The threshold detectorsaccept analog signals as inputs and have logiclevel outputs. When the input signal is belowa preset reference level, the output of thepositive threshold detector is a logic low.When the analog signal at the input exceedsthe positive reference or threshold value, theoutput is a logic high. The negative thresholddetector operates in the same manner exceptthat it detects negative pulses. These signalrelationships are illustrated in figure 6. Thethreshold detectors effectively isolate thelow level noise and the amplitude variationsfrom the read signal while supplying logiclevel pulses as an output for furtherprocessing.

Even though the threshold detectorsremove amplitude variations from the readsignal, there will be time jitter in the outputsdue to these variations as illustrated infigure 7. This effect can be eliminated bydetecting the peak of the analog read signal,then combining the result with the thresholdinformation. This is the function of the peakdetector block in figure 5. The sequence ofevents and resulting outputs is shown infigure 8. Note that we now have logic levelinformation that accurately locates the cen-ter of the flux transition at a logic signaledge with no timing or amplitude variationsdue to amplitude fluctuations in the readsignal.

(a)

(b)

(c)

Figure 7: A superimposition of a strongsignal and a weak signal (a) shows how therecan be considerable jitter in the thresholddetector outputs. At (b), the strong signalquickly reaches the threshold when it isrising, and remains above the threshold for alonger time, thus resulting in a wider pulsethan at (c) where the lower amplitude signalis read. In the normal operation of the tape,crowding effects such as seen in figure 4 andthe dropout effect together require that theinput circuitry be tolerant of amplitudevariations.

READ VOLTAGE (V)

+ THRESHOLD(I IF V>VTHRESH0LD)

-THRESHOLD

L"F v<vTHRESHOLD>

PEAK DETECTOR( SIGN OF dV/dT)

TRANSITION

-FLUXTRANSITION

J

WIDTHVARIES

u

ACTIVEEDGE

ACTIVEEDGE

/v

J

\J

ACTIVEEDGE

ACTIVEEDGE

Figure 8: Decoding begins using a peak detector, which changes its logic stateat the time the derivative of the voltage with respect to time changes sign.The peak detector output is then gated with the threshold detectors resultingin a pulse which has a negative transition at the peak, and a width dependentupon the amplitude of the signal. The negative edge of the flux transitionlines is the derived clock reference used for input operations.

29

A

A

Figure 9: Details of a dig-ital recording read headsignal processor. This cir-cuit is drawn from theschematic used by theEconomy Company's Phi-Deck product. Parts des-ignations and jack des-ignations refer to the Phi-Deck product.

30

Let's take a look at some of the detailcircuitry of a read amplifier. Figure 9 is aschematic diagram of a read amplifier cor-responding to the block diagram of figure 5.The preamplifier and amplifier consist of aMC1303 dual, low noise audio amplifier.The amplifier circuits are a standard op ampconfiguration with negative feedback con-trolling gain and frequency response. Thefeedback elements for the first stage consistof R45, R46 and C24. Midband gain is setby R45 and R46. The high frequency 3 dbcorner frequency is determined by R45 andC24. R51 is an offset adjustment to providefor zero offset voltage and R39 is a gainadjustment for the signal level. The secondstage is similar to the first with the additionof low frequency rolloff determined by R56and C36. The two stages combined have anoverall gain of approximately 1000 with12 db per octave rolloff above the uppercutoff frequency and 6 db per octave belowthe lower cutoff frequency. Different en-coding and decoding methods have differentread amplifier bandpass requirements. Theread amplifier gain and bandpass require-ments are also dependent upon the tapespeed. The read amplifier bandpass shouldbe tailored to pass only the frequenciesrequired by the system; thus, the highestsignal to noise ratio is obtained.

The threshold detectors consist of LM311comparators, IC4 for positive pulses and IC5for negative pulses. One input of each of thecomparators is connected to an adjustablereference voltage. The reference voltages canbe varied to select the level or thresholdvalue at which a pulse is considered a validflux transition. Resistors R15 and R19supply negative feedback to give a smallamount of hysteresis. This prevents thecomparator outputs from oscillating duringswitching. By grounding pin 1 of the com-parator and returning the output to +5 Vthrough a pullup resistor, the outputs areTTL logic levels.

The peak detector consists of an amplifierstage, IC10; a passive differentiator, CI 6 andR28; and a zero crossing detector, IC11. Theamplifier provides gain to compensate forthe attenuation of the differentiator net-work. The output of the differentiator willbe a positive or negative voltage corres-ponding to whether the analog signal has apositive or negative slope. The differentiatoroutput is supplied to the zero crossingdetector, IC11. The output of IC11 will be ahigh or low logic level changing states onlywhen the differentiator output changespolarity, thus locating the peak of thereadback pulse."

Next month cassette decks, encodingschemes, and applications will be discussed.

COMPLETEFLOPPY DISK SYSTEMFOR YOUR ALTAIR IMSAI$599

That's right, complete.

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

No system is complete without software: we provide thePROM bootstrap, a file-oriented disk operating system, andour powerful extended BASIC with sequential and randomdisk file accessing.

Each 5" diameter diskette has 90k data byte capacity.BASIC loads in less than 2 seconds. The drive itself can bemounted inside your computer (with specified cutout), anduse your existing power supply (.5 amp at 5V and .9 amp at12V typ). Or, if you prefer, we offer a power supply andenclosure.

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

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

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

(ASSEMBLED) $699 check, money order or

ADDITIONAL DRIVES. ..$425ea. BA card # with exp date

T and signature. Uncertified

Ulorst I I bo q>4.0U ea. checks require 6 weeks

FPB-A $359 processing. California resi-

(ASSEMB LED) $499 dents add sales tax.

NORTH STAR COMPUTERS, INC.2465 Fourth StreetBerkeley, CA 94710

31

Some letters to BYTE aretechnical in nature and arebest served by some form ofresponse. We will try toanswer as many such letters aspossible. If you have a puzzleconcerning some aspect of thepersonal computing field,write down a clear statementof your question and send itto:

Ask BYTE

Byte Publications Inc

70 Main St

Peterborough NH 03458.We will publish names andaddresses of individualsmaking inquiries unless youspecifically request us to omitthe reference."

Got my first issue of BYTE yesterday andwas much impressed by content and format.I was especially interested by Dr Suding'sarticle on a TV interface [August 1976, page66} since I'd like a demand terminal to our

SIN(T) + SIN(3*T)/3SIN(T)

SIN(3*T)/3

/Note: This letter wasreceived from a personwho signed it "Steve" withno return address; as some-times happens, the en-velope was discarded be-fore the discovery thatthere was no return ad-dress or other identifica-tion on the letter itself.This problem of identifica-tion is the reason for re-questing our authors torecord their names redun-dantly in packages sent toBYTE.]

NOTE :

SECOND HALF OF CYCLE DUPLICATESFIRST BUT WITH (-1) ALGEBRAICSIGN MULTIPLYING EACH VALUE

U1108 computer. It needs 80 char/line, sohis bandwidth comments grabbed my atten-tion to say the least.

In the hope that I didn't really under-stand what he said, could we review? With 8bits/char (7 in the matrix + 1 space) and 32chars/line it looks like you have 256 bits/line. At standard deflection rates, yielding53.34 u.s trace time, that works out to about4.8 Mb its/second. Since the worst case pat-tern is alternate ones and zeros, it looks likebandwidth for the fundamental frequencymust be at least 2.4 MHz. Did I miscalculateor do you really need to pass the thirdharmonic?

Steve

First, note that with a 256 bit pattern ofalternating light and dark, the worst case forbandwidth purposes, the actual frequency ofthe video data is found by dividing 128 (atwo segment pattern is involved) into53.34 /us, not 256. Thus the frequency ofthe fundamental in the 256 element displayis 2.4 MHz worst case (417 ns per 2 bits). Inorder to make a passable (first) square waveappoximation, Fourier analysis from anelementary mathematics course shows thatthe first two terms are the fundamental andthe third harmonic, in a ratio of I to 1/3 inamplitude. Thus the amplifiers for a firstorder representation of a digital signal on thescan line should be able to pass 2.4 * 3 =7.2 MHz if no distortion of the first orderapproximation is to occur; in fact somewhatless than a flat response will still allow animage to be seen and understood, as isdemonstrated by the fact that TV displayson standard sets work at all. The results oflow bandwidth are a smearing together ofthe picture elements.

The same considerations apply whenthinking about the typical commercial dis-play monitor with its nominal (flat) responsebandwidth extending in the 15 to 25 MHzrange. Take the example of an 80 characterdisplay with 8 picture elements per charac-ter. The number of picture elements per scanline is then 640; and keeping the same scantime, this gives 83.33 ns per picture element.In the worst case alternate state display, twoelements, or 166.7 ns, are required for eachcycle, giving a frequency of 5.99 MHz. Thethird harmonic of this frequency is17.97 MHz. Thus on a monitor with 15 MHznominal bandwidth there might be somesmearing or loss of definition due to lessthan unity gain for the third harmonic, andon monitors with higher bandwidth, asharper picture would be obtained. Forreference, accompanying this note is a pic-ture of the third harmonic approximation toa square wave and the first and thirdharmonic terms in isolation. ■

32

Why pay$49for a complete book

on a newhigher level ^%^languagewhen it's worth more?

SCELBAL. A Higher Level Language for 8008/8080 Systems.An unequalled book of solid documentation with room to grow.

You've heard about it. Now,it's available to everyone.SCELBAL. Scientific ELemen-tary BAsic Language. A new highlevel microcomputer language for8008/8080 systems that's simplerthan machine language. This com-plete 368 page, profusely illustratedbook is so comprehensive you mightnot be able to use all its informationfor years. But as you and yoursystem mature, this book will stayforever young with refreshing ideasand extensions of your ownparameters.

A Total Language, including Source Listings

Here's everything you need. Agold mine of routines,techniques, source listings,flow charts and lots more. It took21/2 years to compile, evolve andwrite. Now it's yours for years tocome. Look at all you get!

5 Commands: SCR, LIST, RUN,SAVE, LOAD. 14 Statements: REM,LET, IF . . . THE, GOTO, FOR withSTEP, END, INPUT, PRINT, NEXT,GOSUB, RETURN and optional DIM.7 Functions: INT, SGN, ABS, SQR,RND, CHR, TAB. And, it runs in 8Kand more.

Contains Overall Logic Description Program

The first eleven chapters, over160 pages, describe thestatement interpretation logicof the program, using flow charts,commented symbolic assemblylanguage code and verbaldescriptions. The book also detailsSCELBAL 8008/8080 assembly,

providing absolute code for theprogram in octal, beginning at origin01/000 for either version. Plus,you'll find painstaking operatinginstructions and even suggestionsfor tinkerers and innovators.

Software is Our ONLY Business

We know there's no oneprogram for every poten-tial user. So, particularcare has been taken to provide agood, sound, fundamental selectionof syntax statements and functionsin this language. You get all theinformation necessary to get started. .. and to grow and expand withease as you and your systemcapability evolve. The language iseasily custom-implemented invirtually any 8008/8080/Z-80 basedcomputer!

Free Bonus "SCELBAL UPDATE" Included!

Every copy of SCELBAL may beregistered with the publisher.Registration assures that you'llreceive the first 6 issues of"SCELBAL UPDATE" absolutelyfree. These exciting supportiveimprovements and suggestions arecombined with user's uniquefindings and ideas. "SCELBALUPDATE" is a LIVING concept. Asyou and your system grow, you canupdate at will. We've only scratchedthe surface. There's more excite-ment to come!

Introducing 2 New SCELBAL Supplements!

SCELBAL has taken off so fast,two special supplements hadto be printed. First, there's

Extended Math Functions: SIN,COS, LOG (BASE E), EXP (BASE E)and ATN ... only $5.00 ppd. Thesecond supplement, String HandlingCapabilities, includes the numericfunctions LEN and ASC. It sells foronly $10 ppd.

Don't delay. Order SCELBAL today!

You can own this invaluablebook for only $49 ppd. You'llhave all the data you need tocustom-tailor a high level languagefor your system. The revealedsecrets of its operation are virtuallypriceless. "SCELBAL — A HigherLevel Language for 8008/8080Systems". Only $49 ppd. And, itincludes six (6) Free "SCELBALUPDATES" too. Order today!

Here are typical comments about SCELBAL...

"SCELBAL looks fantastic! My systemisn't even on-line yet, but I'm eagerlylooking forward to activation day."

"Your section on statement interpretationtaught me to understand how a highlevel language operates. I never thoughtI could do that before!"

"I've tailored SCELBAL software to myown insurance business. Now I offernew, expanded computerized service tomy customers, using my own 8008."

S

»<MII COIHIUIEUCONILIITING INC.

1322 Boston Post Road RearMilford, CT 06460/(203) 874-1573

Prices shown for North American customers.Master Charge, Postal and Bank MoneyOrders preferred. Personal checks delayshipping up to 4 weeks. Pricing, specifica-tions and availability subject to changewithout notice.

33

Build This Economy

Floppy Disk Interface

Dr Kenneth B WellesGeneral Electric, Nela Park2623 Fenwick RdUniversity Heights OH 44118

The floppy disk drive offers the advancedcomputer hobbyist tremendous potential forahigh performance computer system. Withone or more floppy disk drives, an interface,and the proper operating software, thehobbyist can store hundreds of differentprograms on a single disk. Each of theprograms can be given a name such asSTARTREK, BASIC or EDIT, and a pro-gram can be run simply by typing its name,for instance "RUN EDIT". With this inter-face, the program can be brought into thecomputer at speeds of up to 31,250 bytesper second (for programs less than 5000bytes long in the proper format). Each diskwill store over 300,000 bytes of programs,computer music, Dazzler graphics, ASCIItext, synthesized speech thesaurus or data ofany form, and any data on the disk can beaccessed in at most one second, typically inless than one quarter second. In fact, thedraft of this article was written and edited

using mass storage on a disk drive in mypersonal home computer system. The entirearticle takes up less than seven percent ofone floppy disk, and the time saved in theretyping of successive revisions of the articlewas tremendous. [Groan! Do I wish I had afloppy disk, CRT display, HYPERTEXTsoftware and input scanners in my office . . .CH]

Floppy disks also allow the quick assem-bly of large programs, without having tostart, stop and rewind cassette players.Proper software allows a single floppy diskdrive to merge several data files into oneordered file (for the updating of mailing listsor financial records), an operation whichwould take several cassette recorders on acassette based operating system.

All of the features mentioned are thepotentials of a floppy disk computer system.For a personal computing user to realizethese potentials, he or she needs both

Photo J: The author's diskdrive and interface boardshown removed from thesystem. The Innovex driveis at left, with a diskettepartially inserted in thefront door and the elec-tronics board for the driveshown in an "open" posi-tion. The interface boardis at the end of a multicon-ductor twisted pair cable,and a separate cable isused for drive power.

34

About the Author

Dr Welles is an enthusiastic personal computing user, with a fairly welldeveloped system. At the time he wrote the current article, his systemincluded an Altair processor, 14 K programmable memory, 5 K of 2708ROM, and 2 Innovex floppy drives interfaced to the system. Miscellaneousperipherals include homebrew versions of a paper tape reader, televisiondisplay, a modified office Selectric typewriter output, vector graphics,television camera input, and TV dazzler outputs among others. His maininterests are image processing, pattern recognition, computer graphics androbotics. The entire text of his draft was typed and edited on his system, withhard copy output printed on the Selectric as the draft text submitted toBYTE. [At some yet to be determined future date, we'll eliminate the paperstep and have authors such as Dr Welles simply send an appropriate machinereadable representation of their articles ... CH

hardware and software. This article covers ahardware interface for floppy disk driveunits.

Until recently, only the well financedhobbyist could afford a floppy disk drive fora personal system. In addition to the $650to $1000 cost of the drive unit, one was alsoforced to spend from $300 to $1500 for afloppy disk drive controller. The high priceof the controller buys a very intelligentelectronic device, however. A single com-mand from the computer causes the con-troller to seek a particular track on one ofup to four disk drive units, load the head,find the desired sector, format and read orwrite the data, calculate the CRC (CyclicRedundancy Check), determine if the trans-fer had been successful, and retry the trans-fer in the event of a read or write error. Thedesign of such an intelligent controller isbased on the old school, IBM/360 approachthat processor time is too valuable to wastedoing the housekeeping for a peripheraldevice. A personal computing user, on theother hand, has lots of processor time,limited funds, and consequently a differentphilosophy. One of the original reasons forthe development of microprocessors was toperform in software all of those functionsthat would normally (and expensively) haveto be designed in hardware. In this vein, incollaboration with W R Hemsath ofCornell University, I have designed and builta floppy disk drive interface which incor-porates minimal hardware, and yet does notsacrifice the flexibility needed to read andwrite various data formats. This interfaceconsists of only 17 integrated circuits, onlyone of which is a special purpose chip. Thetotal cost of the chips is less than $25. Thedesign shown here will interface up to eightfloppy disk drives to an 8080 processor. In

order to properly describe the design andfunction of the interface, let us first reviewbriefly what steps are required to transferdata to or from a floppy disk.

Disk Drive Operation

In operation, a disk is inserted into thedrive and the access door is closed. The actof closing the door engages the disk onto thespindle, and the disk is then rotated at 360RPM. A stepper motor drives the magneticdata transfer head radially in and out to 77discrete positions, the outermost called track0 and the one nearest the center of the diskcalled track 76. Normally, the head does nottouch the spinning disk, but is positioned asmall distance away from it. When data is tobe read or written, a modified relay isenergized allowing a spring loaded pressurepad to press the flexible disk into contactwith the head. Timing holes punched in thefloppy disk pass by a photo detector andgenerate a series of pulses. These "sectorpulses" are used to determine which one of32 segments or sectors of the disk is cur-rently passing the head. Use of such holes todefine sectors is called "hard sectoring" indisk drive jargon. The pulses are used tosignal the approximate starting point of eachsector. Data is read from and written to thedisk in a manner quite similar to the readingand writing of data on magnetic cassettes. Innormal operation, each of these 32 sectorswill store slightly over 1024 data bits, or 128bytes. To write data onto a particular trackand sector of the disk, the following opera-tions must take place:

1. The head is moved in or out to thedesired track.

2. The pressure pad is loaded, pressingthe disk against the head.

35

USER'S SYSTEM

r

FILE UNSAFE

FILE UNSAFE RESET

DEVICE SELECT

. INDEX

TRACK ZERO

,i WRITE CURRENT SELECT

HEAD LOAD

WRITE GATE

* SEPARATED DATA

SEPARATED CLOCK

^1 WRITE DATA

WRITE PROTECT

SECTOR (MODEL 220)

+ 24VDC

+ 24VDC RET

+ 5VDC

LOGIC GND

P06 IS A USERINSTALLED OPTIONFOR RADIAL POWERDISTRIBUTION

AC INPUT

FRAME GROUND

AC INPUT

INNOVEXSERIES 200DISKETTEDRIVES

L6

R6

LI5

RI5 P02

L9

R9

L4

R4

LI3

RI3

L5

R5

LI2

RI2

L2I

R2I

LI8

RI8

L7

R7

L8

R6

LI7

RI7 (READ DATA)

LI9

RI9

LIO

RIO

LI6RI6LI4RI4

R2.L2

R3.L3

R20.L20

RII.LII

RI,LI,R22,L22-

3,6

5 -4 —2 -

P06

OPTIONAL

AC POWERCONNECTOR P04

lh

DENOTES

FRAME

GROUND

0

DENOTES

SHIELDED

CABLE

. DENOTESTWISTEDPAIR

Figure I: This diagram,redrawn from the InnovexSeries 200-M MaintenanceManual, shows all of theTTL level signal lines thatmust be passed betweenthe disk drive and the con-trolling interface.

The signals sent to the drive from the interfaceare:

Device Select: When this line is high, allcommands from the interface are ignored by thedrive, and all signals from this drive unit are putinto a high impedance state. If several drives areused, all of the input and output signals may betied together on a common bus with the exceptionof the device select lines. By pulling only one ofthe several device select lines low, the interfaceselects that particular disk drive to send commandsto and receive data from.

Step: A low going pulse on this line causes thehead positioning motor to move the data transferhead in or out one track.'

Direction: During a step pulse, if this line ishigh then the head moves out one track (towards

track 0). If this line is low, then the head will movein one track.

Head Load: When this line is low, the pressurepad brings the spinning disk in contact with thedata transfer head.

Write Current Select: Because the surface veloc-ity of the disk relative to the head varies from theoutermost to the innermost track, the density ofthe data on the disk will also vary. To compensatefor this variation, the write current select linevaries the amount of current used to write data as afunction of the track being written. This line mustbe low when writing data onto tracks 0 to 43, andhigh for tracks 44 to 76.

Write Gate: Pulling this line low enables thedata on the write data line to be sent to the headand recorded onto the disk.

Write Data: Data to be written on the disk mustbe serialized and sent out on the write data line asa series of low going clock pulses (one pulse every4 ms) separating the presence (a 1 data bit) orabsence (a 0 data bit) of a low going data pulse.Figure 2 shows the write data signal used to sendthe data bit string 10100.

File Unsafe Reset: This line is pulsed low justbefore a write operation is to take place. The pulseresets the file unsafe status to a safe (writeenabled) condition, thereby allowing the writeoperation to be performed.

The signals sent to the interface by the diskdrive are:

File Unsafe: A low signal on this line indicatesthat an error condition existed when a writeoperation was attempted. When file unsafe goeslow, no writing can be done on the disk, preventingthe loss of previously written data due to someerror condition.

Track Zero: When the data transfer head ispositioned at track 0, this line goes low, enablingthe computer to calibrate the head position. Whenthe head is at tracks 1 to 76, this line is high.

Index: A 500 us low going pulse appears on thisline to signify that the index hole has just comeinto position under the photodetector. This pulseis used by the computer to determine which sectoris sector 0.

Sector: A 500 lis low going pulse appears onthis line each time a sector hole (not an index hole)passes under the photodetector. 32 pulses occurevery revolution, and these pulses are used todetermine the approximate starting positions ofthe various data sectors.

Ready: When AC and logic power are present atthe disk drive and a disk is loaded, the ready linegoes low.

Separated Clock: When previously written datais being read from the disk, the clock is recoveredfrom the data stream, and is presented on this lineas a series of 200 ns low going pulses. Therecovered clock pulses come approximately every4 lis with variations due to the changes in drivemotor speed.

Separated Data: The serial data coming fromthe disk during a read is indicated by the presence(a 1 data bit) or absence (a 0 data bit) of a 200 nslow going pulse on the separated data line, betweenadjacent separated clock pulses.

Write Protect is an optional signal that is notused in this interface. On a disk drive with thisoption added, the user can write protect the dataon a disk by punching out or uncovering a writeprotect hole in the disk jacket. A write protecteddisk cannot be written onto.

36

3. Sufficient settling time is allowed forthe head movement and pressure padloading to fully stabilize.

4. Delay until the start of the sectorpulse which corresponds to the desiredsector.

5. Turn on the WRITE GATE of the diskdrive to allow data to be written.

6. Write 64 0 bits (16 bytes of 0).

7. Write a single synchronizing byte (syncbyte).

8. Write the desired data bytes.

9. Write 64 0 bits.

10. Turn off the WRITE GATE to preventany more data from being written.

11. Unload the pressure pad.

Because the disk drive records data seri-ally, steps 7 and 8 require that each bytebeing written must be sent out as a series of8 bits, with one bit being sent out every4 /us, and with no skipped bits between bytes.

Reading data from the disk requires asimilar series of operations:

1. The head is moved to the desiredtrack.

2. The pressure pad is loaded.

3. Settling time is allowed for movementand loading.

4. Wait for the start of the sector pulsecorresponding to the desired sector.

5. Search for the first occurrence of thesync byte.

6. Read in the desired data.

7. Unload the pressure pad.

Searching for the sync byte entails shift-ing the incoming serial data into a 8 bit byteand comparing the result of each shift withwhat the sync byte should be, every timethat a new bit is read (every 4/is). When amatch is found, then the data bit stream thatfollows is broken into bytes on every eighthbit, using the sync byte boundary to definethe data byte boundaries that come after thesync byte.

From the proceeding lists of read andwrite procedures, two things become appar-ent: First, the speed required for shiftingdata in and out (I bit every 4jus) is too fastfor most microprocessors to handle undersoftware control (and searching for the syncbyte is more time consuming still!). Second,all of the other operations (stepping thehead from track to track, loading the head,searching for the proper sector pulse andturning the write gate on and off) are easilywithin the capabilities of microprocessorsoftware control. Therefore a minimumhardware interface should control all of thefunctions which are not time-critical,through software and a simple input and

DATA

-4/js »,

DATA

2M5 I—DATA

DATA

DATA

I

0

I

0

0

CLOCK

Figure 2: The timing of data cells on the disk. Each bit cell is framed by aclock pulse on either side. If the data is 1, a pulse appears in the middle of the4 ps cell width; if the data is 0, no pulse appears in the middle of the cell. Thewaveform in this example has 5 cells with the pattern of data needed for thestring 10100.

latched output port. The remaining func-tions then determine the major portion ofthe design.

The disk drive we used for this interfaceis an Innovex 220 hard sectored flexible diskdrive, and the signal lines required to operatethe drive are typical of most floppy diskdrives. There are 15 standard TTL levelsignals required to operate the model 220drive, 8 from the interface to the drive, and7 from the drive to the interface. The signalnames and functions for the interface aresummarized in figure 1.

Figures 3 and 4 show the circuitry of thefloppy disk interface. The circuit has 6major sections: processor 10 instructiondecode, instruction latch to disk drive, statusload from disk drive, head load-unload,USRT transmit, and USRT receive.

Table 1: Semantics of the OUT 243 instruction. This table lists eachaccumulator bit, along with its meaning when used to transfer data to thedisk interface in the OUT 243 instruction of an 8080. (In a different wiringof the 10 instruction decoder, or in a different computer, the same formatcould be used for the actual data transfer.)

OUT243 INSTRUCTION

Polarity in Accumulator

1 for tracks 0 to 43, 0 for track 44 to 76

0 to 1 to 0 transition causes reset

1 for step in, 0 for step out1 enables the drive to write0 to 1 to 0 transition steps one track000 selects drive 0, 111 for drive 7

Table 2: Semantics of the IN 241 instruction. This table lists the status bitsread by the IN 241 instruction of an 8080 using this interface.

IN 241 INSTRUCTION

Polarity in Accumulator

0 means the head is at track 0

0 means file unsafe condition exists

0 means disk drive is ready

1 to 0 transition marks start of each sector

0 means that the next sector is sector 0

1 means that the head is still loadedAlways 1

Bit

Signal Name

0

Write Current Select

1

File Unsafe Reset

2

Direction

3

Write Gate

4

Step Track

5,6,7

Drive Select

Bit

Signal Name

0

Track Zero

1

File Unsafe

2

Ready

3

Sector Hole

4

Index Hole

5

Head Loaded

6,7

Unused

37

Figure 3: This diagram shows the major portion of the disk drive interface. IC1 and IC2 form the output command decoder. IC3and IC4 form the input command decoder. I CIO sets up the data from the disk into a format acceptable to the USRT. IC11 andIC12 put the data from the USRT into the proper format for the disk drive. A list of all integrated circuits with powerconnections is found in table 3.

"--iWliiil

Q. LU

O — (\j fo t in id

38

5fc

-.!•• .:.:'M

\ ii^^S!

1 •'»

P-* ^flfc

tt'

1 \ ' '':1

1 ■' \

«i

. w? -

Fwa

!\V!

^flmuaaswr

1«»~

Photo 2:interface

The author's system. The processor is an Altair, and other peripherals include a homebrew Selectric typewriter

Processor IO Instruction Decode

IC1 and IC2 decode output instructionsto the interface. Executing the 8080 instruc-tions OUT 240, OUT 241, ... OUT 247(240 to 247 decimal) cause 500 ns lowpulses on the output lines 0 to 7 of IC2.These pulses can be used to latch data fromthe output data bus lines DO0 to D07 into

Table 3: Integrated circuit power wiring list.This table lists each integrated circuit in thefloppy disk interface, along with its powerwiring pins.

Number

Type

+5V

GND

IC1

74L30

14

7

IC2

74L42

16

8

IC3

74L30

14

7

IC4

74L42

14

7

IC5

74LS175

16

8

IC6

74LS175

16

8

IC7

7442

16

8

IC8

8097

16

8

IC9

74123

16

8

IC10

74123

16

8

IC11

74193

16

8

IC12

7442

16

8

IC13

74123

16

8

IC14

7438

14

7

IC15

7400

14

7

IC16

74L04

14

7

IC17

S2350

2

1

Note: 74LXX and 74LSXX types may be replacedby 74XX; 8097 may be replaced by 8T97.

various registers, or to trigger specific func-tions (as will be shown later).

IC3 and IC4 form the input instructiondecoder for the instructions IN 240 to IN247 in a similar manner to the outputdecoder. The pulses on the output lines ofIC4 are used to gate data onto the input databus lines DI0 to DI7 and into the accumula-tor. Again, the pulses may be used to triggerspecific functions that are not data inputoperations. [In adapting this design to a non8080 based computer, this decoding logicwould have to be modified.... CH]

Instruction Latch to Disk Drive

Execution of an OUT 243 causes thecontents of the 8080's accumulator to beloaded into IC5 and IC6. The 5 leastsignificant bits are used to send the lowspeed control signals to the disk drive. Table1 shows the allocation and the polarity ofthese bits as they appear in the accumulator.The three most significant bits are used byIC7 to select one of up to eight differentdrives which may be attached to eachinterface.

Status Load from Disk Drive

Execution of an IN 241 instruction en-ables IC8 to load the current status of theselected disk drive onto processor input data

39

lines DIO to D15. Table 2 shows the alloca-tion and polarity of these bits as they areloaded in the accumulator. The two mostsignificant bits are unused, and will alwaysshow Is.

Head Load-Unload

IC9 is a retriggerable one shot with a 2

second pulse width. Executing an OUT 245instruction initiates this pulse and loads thedisk drive head, regardless of the contents ofthe accumulator. If another OUT 245 in-struction is executed within 2 seconds of thefirst OUT 245, then the head will remainloaded for a further 2 seconds. The head willunload 2 seconds after the last OUT 245

Figure 4: This diagram shows the circuitry used to perform all of the low speed functions of the disk drive. IC8 is a 6 bit inputport, and IC5 and IC6 are an 8 bit latched output port. IC7 selects one of up to 8 disk drives on the system, and IC9 controls theloading of the disk s data transfer head for a read or write operation.

DIO <55}

DII <§£}

DI2 <JT}

DI3 <S|}

DI4 <^T}

DI5 <|I}

| FIG 3

|<£>

III

1 FIG3_

HEAD LOAD CUE I

+ 5V

IC974123

B 0

CLR

HEAD LOAD CLEAR

IF

I APPROX 2 SECONDS, I|_RETRIGGERABLE

3 Jl HEAD LOAD STATUS

TJ~ HEAD LOAD

DOO[ii>

DOI [||>-

D02 [li>-

D03 [||>

j FIG 3

CD"

74175D 5

D 0

CLK CLR

POC |99>-

D04 H?>-

D05 m>-

PROCESSOR(SIOO BUS)

D06 [33>-

ID07 [5g>-

I

I „,

FOR MULTIPLE DRIVES) WIRE TO CORRESPONDING PINOF EACH DRIVE

-tLJj> HEAD LOADII

I

WRITE CURRENTSELECT

FILE UNSAFE

-{HJ> DIRECTION

CLK CLRD 5

° IC6 °74175

/£"

IC77442

[TT> WRITE GATE

III

DISK I DISK

INTERFACE I DRIVES

I

I

[L6> STEP TRACK

I

DRIVE SELECT

—{UT^> DRIVE 0 SELECT-[TJ£> DRIVE I SELECT-fua> DRIVE 2 SELECT-(u5> DRIVE 3 SELECT-fG§> DRIVE 4 SELECT-|U3> DRIVE 5 SELECT-(U3> DRIVE 6 SELECT-tu5> DRIVE 7 SELECT

I

I

I

ONE SELECT TO PIN LI3OF EACH DRIVE USED

40

(load head) instruction. This 2 secondpause allows the head to stay loaded duringsuccessive reads and writes to the disk, butwill automatically unload the head after 2seconds without any disk activity. Alter-natively, an OUT 246 instruction will causethe head to be unloaded immediately if andwhen that is desired. This automatic headunload feature minimizes wear on the floppydisk. If it were not present in some hardwareor software form, the head would be con-tinuously in contact, wearing out disks quitequickly if your machine ran 24 hours a day.

The USRT

The abbreviation USRT stands for Uni-versal Synchronous Receiver Transmitter;this chip really is quite universal. Although itwas originally developed for data trans-mission over phone link, wire link, and sometypes of tape drive, the S2350 USRT per-forms all of the needed high speed datatransfers to and from the disk with almostno modification. Before discussing theoperation of the USRT transmit and receivesections of the interface as a whole, take alook at the functions of the USRT itself, as

TDS Transmit Data Strobe

An OUT 240 instruction of this interface puts apulse on the TDS line which loads the accumulatorinto the USRT transmitter buffer through proc-essor data output lines TDO to TD7. The USRTthen shifts this data byte out onto TSO (TransmitSerial Out). One bit is shifted onto TSO for eachpulse on TCP (Transmit Clock Pulse).

TBMT Transmit Buffer Empty

Whenever the transmitter buffer is ready toreceive another byte (from an OUT 240 instruc-tion), the TBMT line goes high.

TFS Transmit Fill Strobe

An OUT 241 puts a pulse on the TFS linewhich loads the accumulator into the USRT fillbuffer. If new data is not sent to the transmit databuffer by an OUT 240 soon after a TBMT signal,then the USRT has no data to send out on the TSOline. In this case, data from the transmit fill bufferis sent out in place of the missing data.

RSS Receiver Sync Byte Strobe

An OUT 242 pulses the RSS line which loadsthe accumulator into the USRT sync byte buffer,for use at the beginning of a data read operation.

RR Receiver Reset

An IN 243 causes the receiver section of theUSRT to be reset into the "Search for Sync Byte"mode. The received serial data stream enters onRSI (Receive Serial Input), and is clocked into thereceived data buffer by the RCP (Receive ClockPulse) line. When the data byte in the received databuffer matches the byte in the sync byte buffer,the RDA (Received Data Available) line goes high.After this happens, a new byte is put into thereceived data buffer after every eight clock pulseson RCP.

RDE Received Data Enable

An IN 240 instruction pulses the RDE line.This puts the data in the USRT received databuffer onto data lines RDO to RD7, and it isloaded into the accumulator. In this manner, the8080 brings in the data read from the disk.

SWE Status Word Enable

An IN 242 pulses the SWE line which loads theUSRT status word into the accumulator to ex-amine for data ready, or to find possible errors.

Figure 5: This is a block diagram of the USRT integrated circuit, the AMIS2350. The information here is redrawn from the original contained in A Mi'sdata sheet on the device. The USRT integrated circuit is the heart of thisinexpensive floppy disk interface, performing all of the high speed datamanipulations needed to read and write data from and to the disk drive. TheUSRT was not intended to be used as a floppy disk interface when it wasoriginally designed. But as demonstrated by this article, a little ingenuity canoften come up with surprisingly versatile applications of standard integratedcircuits for use in high speed data communications.

gnd vcc

I. u

D7 D6 05 04 03 D2 01 DO122 121 120 119 118 117 116 115

INPUT DATA BUS

cs 1

NDBINDB2 ■'

POENPB

SCR

RDA

CONTROLREGISTER

RESET-

TIMING

AND

CONTROL

LA

TRANSMITTER

HOLDING

REGISTER

TRANSMITTER

FILL

REGISTER

MULTIPLEXER

<->

TRANSMITTERSHIFT REGISTER

COMPARATOR

RECEIVER

SYNC

REGISTER

RECEIVER SHIFT REGISTER

0

<x>

RECEIVER OUTPUT REGISTEROUTPUT TRI-STATE DRIVERS

I 35

RDE

25 |26 |27 |28 |29 |30 |31 |32 |33

RSI RD7 RD6 RD5 RD4 RD3 RD2 RDI RDOTBMT FCT SCR RPE RCR RDA

41

A printed circuit board isavailable for the advancedhobbyist to construct his orher own interface. The printedcircuit board fits into a singleAltair (or generic equivalent)slot, and supports the circuitdescribed in this article withtwo additions:

1, Eight head load cir-cuits allow multipledrives to load headssimultaneously.

2. Space is provided fora 1702 type PROM,to allow the user toload the operatingsystem from the diskwithout toggling inany data.

The printed circuit anddocumentation only (no ICsor sockets) are available for$35 from K B Welles, 2623Fenwick Rd, UniversityHeights OH 44118.

denoted by the various signal lines. Figure 5shows a block diagram of the S2350, alongwith captions detailing these lines and theirrelation to the interface as a whole.

USRT Transmit

After the disk drive head has been loadedand the desired track and sector found, thewrite gate is turned on and data from theprocessor may be sent to the transmitsection of the USRT through an OUT 240instruction. IC11 divides the Altair 2 MHzclock by 8 to give the 250 kHz clockrequired by the disk drive. This clock is fedinto TCP, and IC12 combines the data fromthe transmitter serial output line and an-other clock phase into the proper write dataformat required by the disk drive as seen infigure 2.

USRT Receive

IC10 is simply used as a pulse stretcherfor the separated data and separated clockfrom the disk drive. The data pulse isexpanded to overlap the falling edge of theclock pulse. This overlap allows the data tobe read properly by the USRT. When a byteof data has been received (as denoted by thereceiver data available line), an IN 240 in-struction will load the received data into theaccumulator.

Software Timing

The article to this point has shown howdata can be transferred between the proc-essor and the disk drive in the correctformat, but nothing has been said about theability of the 8080 to send or receive data atthe proper rate. A 250 kHz bit rate is onebyte of data in or out every 32/us underideal conditions. If the drive motor speedvariations are taken into account, this figurecan be as low as 30;iis per byte on a readoperation. Since 8080 instructions take from2 to 7 ms to execute (assuming a 2 MHzclock and fast memory), this restricts theread loop to very few instructions. If it isdesired to transfer more than 256 bytes in orout at any one time, the read loop mightlook like:

LOOPA:

MOV A,BORACINZ LOOPA

2.5 ms2.0 ms5.0 ms

36.5 ms

Symbolic

Execution

Instruction

Time

IN STATUS

5.0ms

ANI DATAREADY

3.5 ms

JZ LOOPA

5.0 ms

IN DATA

5.0 ms

MOV M,A

3.5 ms

INX H

2.5 ms

OCX B

2.5 ms

In the above example the HL register isused to point to the data buffer, and the BCregister is the number of bytes to be read.The total time of the loop, 36.5 Ms, is 6.5 Mstoo long for the worst case data read.Obviously this program will not read data inproperly.

By eliminating two lines of code the loopis reduced to a total time of 28 ms as shownin the following example. This is quite amplefor the interface and allows additional lee-way for the possibility of dynamic memory'sintroducing a wait state during the loop.

LOOPB:

Symbolic

Execution

Instruction

Time

3: IN DATAWAIT

(IN 244)

5.0ms

IN DATA

(IN 240)

5.0ms

MOV M,A

3.5 ms

INX H

2.5 ms

DCX B

2.5 ms

MOV A,B

2.5ms

ORAC

2.0ms

JNZLOOPB

5.0ms

28.0 ms

Obviously this version of the routine willnot work without some special "trick." Inthis case, the trick is that the first three linesof LOOPA have been replaced with the firstline of LOOPB and some special hardware.The first three lines of LOOPA preventedthe IN DATA statement from reading databefore data was available. In LOOPB, the INDATAWAIT is an IN 244 instruction. Thistriggers IC13b, a one shot, which puts the8080 into a slow memory wait state bypulling the Altair's PRDY line low. Whendata is ready for input, the RDA line of theUSRT resets IC13b and allows the LOOPBroutine to continue. During normal execu-tion of a read operation, the 8080 does a4ms wait between lines 1 and 2 of LOOPB.This wait state serves to synchronize thereading of the disk data with its availability.Any amount of data from a partial segmentto an entire track may be input with thisroutine.

If some hardware failure should occur,and data stops coming into the USRT, thenRDA will never go high. If no data arrivesafter 3 ms, then IC13b completes the oneshot cycle and releases the 8080 wait state.This feature prevents a hardware failure inthe disk drive or interface from hanging the

42

processor up in an endless wait state.Whether a read operation is successful ornot, the end of the loop is reached when theBC register pair's count is decremented tozero and the JNZ condition no longerpertains.

In order to write data, a software outputloop similar to LOOPB is employed:

Symbolic

Execution

Instruction

Time

LOOPC: OUT DAT AWAIT

(OUT 244)

5.0 us

MOV A,M

3.5/is

OUT DATA

(OUT 240)

5.0 us

INX H

2.5 us

DCX B

2.5 us

MOV A,B

2.5 us

ORAC

2.0 us

JNZ LOOPC

5.0 jus

28.0 us

With this output loop, the 8080 canmaintain the data rate required to transmitdata to the disk properly. A similar hardwaresynchronization trick is also used in thiscase.

Conclusion

The small number of ICs in this circuit(17) and their low cost and easy availabilityputs the construction of this circuit withinthe abilities of many intermediate and ad-vanced computer hobbyists and experi-menters. The addition of a disk drive to theaverage home system will increase the overallsystem usefulness many times. By reducingthe time required for software generation toa fraction of that on a cassette or paper tapesystem, software throughput and sophistica-tion of the typical personal computing user(and professional) will typically double ortriple.

I currently have two drives running onan Altair system, and a complete diskoperating system existing in 2 K of PROMthat allows operating with up to 240different named files on each disk. LoadingBASIC takes only 6 seconds, and loadingSTARTREK using CLOAD takes only 3more seconds. The disk drive and operatingsystem has increased software generation atleast fourfold, and made the system muchmore enjoyable to use."

Final Hardware Notes

The circuit shown in figures 3 and 4 wasdeveloped for use with an Innovex 220drive. The 220 has multiple options whichcan be selected by jumpers on the circuitboard. The options required for use with thisinterface are:

1. Radial Interrupt Disabled (Link Einstalled)

2. Radial Rotation Sensing Disabled(Two Link Es installed)

3. Read Data Option Disabled (Link Ainstalled)

4. Write Protect Option Disabled (Link Hinstalled)

5. Stepper Power Option (Link Einstalled)

6. Radial Head Load Disabled (Link Einstalled)

The selected options allow multiple drivesto be used with the interface. While up toeight disk drives can be connected in parallel(with the exception of the device selectlines), the shorting clip on the P07 line mustbe removed from all but the last disk driveon the bus (P07 connects the bus termina-tion resistors to +5 V). In addition, the usermust provide power supplies for the follow-ing voltages and currents:

+5 V, 800 mA for each drive

—5 V, 75 mA for each drive

+24 V +/-2 V, 1.4 A for the first drive,0.1 A more for each additional drive

^ABY! I MICROCOMPUTER^

ARE YOU BUYING A SYSTEM?

BEFORE YOU DOSEND FOR OUR LITERATURE.COMPARE OUR SPECIFICA-TIONS WITH OUR COMPETI-TORS' KITS AND ASSEMBLEDSYSTEMS!

YOU WILL SEE

THE BABY! I SYSTEM IS NOT ABABY WHEN IT COMES TOHARDWARE AND PERFOR-MANCEBUT IT IS WHEN IT COMES TO

PRICE!COMPARE TODAY

THEN BUY ABABY! I MICROCOMPUTER

STM SYSTEMS, INC.

P.O. BOX 248

MONT VERNON, N.H. 03057

603-673-2581

43

Color Displays on

Black and White

Television Sets

Steve BainTechnagraphicPOB 5014Arlington TX 76011

Figure I: The BenhamDisk. When rotated clock-wise at 5 to 10 revolutionsper second, the black arcsnearest the center appearto be red, the middle arcsappear to be green, andthe outer arcs appear to beblue. If the direction ofrotation is reversed, so isthe order in which thecolors appear.

Add Subjective Color to YourVideo Interface

Interest has been growing in the idea ofusing standard color television receivers asmicrocomputer output devices. At least onecolor television interface is already com-mercially available and more are on the way.In addition, many homebrew projects areongoing.

There are, however, problems with usinghome color televisions as output devices formicrocomputers. Most hobbyists' color tcle-visons are dedicated to pastimes such asWalter Cronkite and "The Waltons." Thefamily may not enjoy relinquishing its view-ing rights while that new program is beingdebugged.

More serious are the technical problemsinvolved. National Television System Com-mittee standards were designed to compactthe maximum amount of useful colorinformation into the minimum bandwidth.The standards accomplish this goal well, butthey require that the color information inthe video signal be highly encoded. Hencethe hobbyist must either encode his colordata or extensively modify his set. Alsothere are the traditional color televisionbugaboos of convergence and excessiveX-ray exposure to consider, since the averageviewer to screen distance for most computer10 applications is likely to be less than theviewer to screen distance for conventionalviewing.

One can also brood over the inherentresolution limitations of National Television

System Committee color television. TheNational Television System Committee, asyou may recall, was the engineering groupwhich developed US color television specifi-cations. If high speed memory prices con-tinue their expected decline, the cost ofstoring a high resolution picture will becomeinsignificant when compared with othersystem costs. The personal computingexperimenter may find that the resolution ofhis computer graphics is limited only by theconstruction of his CRT and the bandwidthof its driving circuitry. For standard colortelevisions the chrominance bandwidth ismuch less than the luminance bandwidthand thus the color change resolution israther limited. Even if the color picture tubewere to be driven by high bandwidth cir-cuitry, color change and intensity changeresolution would still be limited to about500 X 500 = 250,000 points by the shadowmask inherent in the tube. Ot course, it ispossible to build a higher resolution shadowmask tube, but one must remember thatcolor picture tubes are affordable onlybecause they are mass produced. There iscurrently little demand for high resolutioncolor tubes.

The preceding discussion is not anattempt to quench the reader's desire tohave his microcomputer spew data in livingcolor. A look at the impressive outputs fromthe Cromemco or Intecolor devices wouldrekindle this desire anyway. The discussionis intended only as an effort to legitimize thesearch for an alternative. Is there a viablealternative to standardized shadow mask

44

SYNCHRO-SOUND ENTERPRISES

*** NEW ***ADM-3A KIT

PRESENTS

IMSAI 8080 MICROPROCESSOR

24 line X 80 columnVIDEO TERMINAL KIT

IMSAI ALSO AVAILABLE WITH Z-80

FEATURING THE FOLLOWING PRODUCTSLEAR SIEGLER DIGITAL EQUIPMENT CORPORATION

IMS ASSOCIATES, INC. DEC WRITERS

CROMEMCO PROCESSOR TECHNOLOGY

SOUTHWEST TECHNICAL PRODUCTS APPLE COMPUTER

TECHNICAL DESIGN LABS (Z-80) OLIVER AUDIO ENGINEERING

WORKING MODELS ON DISPLAY AT OUR NEW SHOWROOMCALL OR WRITE FOR STORE HOURS 9-5

DISCOUNT PRICE LIST TUESDAY - SATURDAY

PHONE ORDERS SYNCHRO-SOUND ENTERPRISES

(212) 468-7067 193-25 JAMAICA AV

All IMSAI products in stock for immediate delivery. HOLLIS NY 11423

45

WALL OR OTHER REFLECTIVE SURFACE

Figure 2: A suggestedgeometry of illuminationfor viewing the Benhamdisk.

color for real time computer output incolor? The surprising answer is yes!

Subjective Color. . .

There is a long known but little discussedmethod of making black and white imageswhich are properly modulated appear incolor. This method employs an optical illu-sion known as the Prevost-Fechner-Benhameffect. The colors which result are calledFechner's colors or subjective colors.

One can modify most video display inter-faces or television typewriters to producesubjective color output on a standard blackand white television. The modifications areentirely electronic and do not involve mov-ing filters, special glasses, or Rube Goldbergmechanical contraptions. Most viewers agreethat the colors which are produced, althoughnot competitive with NTSC colors in satura-tion and brilliance, are impressive.

Subjective color television does have itslimitations, however. It works best in pro-ducing sensations of the primary colors: red,green and blue. Other colors can be pro-duced, but only at some loss in saturation.Subjective color can be made to appear onlyin relatively small areas of the screen whichlie against a white background, but this isnot a significant problem in most computer10 applications. For instance, one cannotcause the entire screen of a black and whiteTV to appear in a subjective red. However,one can cause red, green or blue dots, linesor letters to appear against a white surround.Finally, due to the nature of the modulationwhich produces the illusion of color, subjec-tive color images have a noticeable flicker.

. . . And Its Origin

The Prevost-Fechner-Benham effect isnamed after its discoverers and developers.Benedict Prevost was a French monk who in1826 discovered that a black and white

object which was moved through a beam oflight in a darkened room could produce avariety of colors. G T Fechner, a Germanphysicist, developed a disk in 1838, withblack and white areas which produced sub-jective colors when rotated. Subjective colorwas not heard from again until 1894 and1895 when C E Benham published papers on"The Artificial Spectrum Top" in thejournal, Nature. Benham developed a diskthat is particularly efficient in producingsubjective colors and it is reproduced infigure 1.

Just as there is a small percentage of thepopulation which is colorblind, some peopledo not see subjective color. These twogroups of people do not coincide. Someotherwise colorblind people see the entirespectrum of subjective colors. To find out ifyou can see subjective colors, draw yourown Benham disk or make a photo copy offigure 1 and mount it on a piece ofcardboard. The large black area will likelynot photo copy well, so darken it with ablack felt tip marker. You may also need togo over the black arcs with a ballpoint pen.High contrast between the black and thewhite areas of the disk will produce the bestsubjective color. Stick a straight pin throughthe center of the disk and cement the headof the pin to the topside. Then go into aroom that is lit by incandescent lamps androtate the disk between your thumb andforefinger at approximately five to tenrevolutions per second. Experiment withslightly different speeds until you see thecolors listed in the caption to figure 1. I havefound that the geometry shown in figure 2 isone of the best for viewing the disk if asingle source is used for illumination. Noticethat the light as well as the disk is within thefield of vision.

It must be emphasized that subjectivecolors do not result from any change in thewavelength distribution of the light which isreflected from the disk. If a one second timeexposure were to be made of a spinningBenham disk on color film, the result wouldbe a light grey disk with dark grey circles.The colors result from a temporal opticalillusion. Television makes use of anothertemporal optical illusion: The flicker fusionwhich causes single frames shown in rapidsuccession gives the appearance of con-tinuous movement on the screen. Theexplanation of subjective color is probablypartly psychological, due to the mentalinterpretation of black and white areas ofcontrast, and partly physiological, due to thediffering response and decay times of variouscolor receptors. However, the precise reasonfor the effect remains unknown.

46

How To Make Your ComputerEven More Boring...

Interface it with a Midwest Scientific Instruments FD-8Floppy Disk Memory System.. .with all your disk softwareon our PROM/RAM Board.

With our FD-8 system and FDOS firmware, your com-puter is always ready to go. With the disk operatingroutines on PROMS, all you have to do is load your desiredprogram from disk and start running. Of course you may•Mohave to wait 5 or 10 seconds for your program to

The FD-8 interfaces to any micro-computer system via a single PIA chip.,and all of our available software isincluded at no additional charge.

MSI FDOS operating system softwarehas many outstanding features...

• Automatic program loading and linkag

• Auto error recovery

• Dynamic space allocation and fileextension

• Utilities for file listing, copying,deleting, or renaming

The FD-8 iscomplete, includingcabinet, all powersupplies, and cables.

Prices:

FD-8 Floppy Disk System

Kit $950.00

FD-8 System Wired

and Tested $1,195.00

PROM/RAM Kit (SwTPC

6800 or 8080) $95.00

PROM/RAM Wired & Tested,

with FDOS Firmware (specify

6800 or 8800 System) $345.00

PR-1 Programmer &Verification Module

Designed to program 1702A PROMS,the MSI PR-1 interfaces with anymicrocomputer system via a singlePIA chip.

A complete software package isfurnished with the system at noadditional charge. This gives you theability to transfer any area of memoryto a PROM chip.. .read the contentsof a PROM into memory.. .calculatechecksums for ROMS.. .and duplicateROMS. Following PROM programming,the software reads the PROM backinto memory and compares each stepwith the memory content from whichit was programmed for verification.

The PR-1 is complete, includingcabinet and power supplies.PR-1 $325.00

Send for NewFree Catalog

THtdneUScientific

220 West Cedar

Olathe, Kansas 66061

913/764-3273

TWX 910 749 6403 (MSI OLAT)

Here are two MSI Dealers who can showyou our products in actionMicrocomputer Systems, Inc., 144 S. DaleMabry Ave., Tampa, Florida 33609813/879-4301

American Microprocessors, Equipment &Supply Corp., Chicagoland Airport,P.O. Box 515, Prairie View, Illinois 60069312/634-0076

• Before I forget.. .send me information•about the FD-8 Memory System.. .and

• your new catalog.

•

„ Name

"Address• City

State

Zip

BY177

MSI is a dealer for Southwest Technical Products • Mastercharge & Bank Americard Orders Accepted

The Color Code .. .

Just how does one go about addingsubjective color to a video display? Unfor-tunately, the large number of varying videodisplay interfaces and television typewriterswhich are now available make it impossibleto give a single cookbook approach. Thus, itwill be explained rather precisely what theeffects of the modifications must be andthen some general suggestions will be givenas to how to implement these effects. Therest is up to the reader. Suggestions will onlybe directed toward the goal of implementingthe primary colors. Nonprimary colors canbe produced, but the results are less impres-sive and the price is a considerable increasein the complexity of the necessarymodifications.

American computer hobbyists are fortu-nate in that the 30 frames per second NTSCstandard supports subjective color almostoptimally. The European standard of 25frames per second is much less attractive.

The code which produces subjective colorcan be read from a Benham disk. Think ofthe television display in terms of subjectivecolor cycles. Each such cycle lasts for onefifth of a second and comprises six completevideo frames, each lasting one thirtieth of asecond. One cycle corresponds to onerevolution of a Benham disk. For the firstthree frames of each subjective color cycle,the entire CRT display must be black.During the fourth frame only those portionsof the display that you want to appear as redshould be black. The rest of the display must

0.2 SECONDS, ONE SUBJECTIVE COLOR CYCLE

4 ^

L

r

CCK

GREEN

1_

CSI

CS2

COLOR

0

0

BLACK

1

1

0

1

REDGREEN

0

1

BLUE

be white. During the fifth frame, those areasof the screen that you want to appear asgreen should be black and the surroundingdisplay should be white, including the areasthat were black during the fourth frame.During the sixth frame those areas that youwant to appear as blue should be black. Therest of the display should be white. A newcycle should then begin with the start of thevery next frame.

There is one exception to the code givenabove. Those portions of the display thatyou want to appear as black should be blackduring all three of frames four, five, and sixof each cycle.

.. .And Its Implementation

Now for some suggestions as to how toimplement the subjective color. Commentswill be directed toward some idealizedreader who is familiar with television ter-minology and who has a video interfacewhich produces typical television displayfunctions. That is, it produces dot matrixcharacters on a conventional black and whitetelevision from ASCII coded input. How-ever, many of the suggestions will be usefulin graphics oriented applications as well.

It is possible that some currently availableor soon to be available video interface is soversatile that subjective color can be imple-mented using software alone. Our discussionwill be directed toward its implementationwith hardware.

Most video interfaces are set up to pro-vide white dot matrix characters against ablack surround. Subjective color requiresblack characters against a white surround.This requirement suggests that interfaceswhich support interlacing are to be preferredfor this application over those that do not.Unfortunately, the popular low cost inter-faces such as Southwest Tech's TVT II andProcessor Technology's VDM-1 do not inter-lace since doing so would greatly complicatetheir timing circuits. Luckily, a lack ofinterlacing is not a serious problem in thecreation of subjective color for typicalviewer to screen distances. Use of a smallmonitor minimizes the effect of dark spacesbetween lines.

VDM-1 can provide a black on whiteimage under software control. With otherinterfaces, providing this feature may be assimple as inverting the output of the charac-ter generator's shift register. However, it isconceivable that doing so could affect thegeneration of the vertical and horizontalsync pulses so check the circuit diagram of

Figure 3: Subjective color timing pulses.

Continued on page 116

48

Experience

the excitement of owning the finest

personal computer -

IMSAI8080

Waiting for you — all the incredibleperformance and power of theIMSAI 8080. And at a price youwould normally pay for a homemusic system: $699 in kit; $931assembled.WORLD OF USESThe IMSAI 8080 is a superblyengineered, quality computer. It isversatile, expandable and power-putting literally hundreds of

applications and uses at yourfingertips. Imagine sitting at yourdesk and enjoying interaction withyour IMSAI 8080! Press the onswitch and you're ready for gameplaying, research, education, busi-ness applications, or for laboratoryinstrument control. It has all thepower you need, and more, tomake your application ideas comealive.

GROWS WITH YOUThe IMSAI 8080 is designed formany years of pleasure. With itsopen-chassis engineering you canexpand your system by addingperipherals and interfaces. The 22-slots and 28 amp power supplymean that you can plug-in today's,plus tomorrow's modules.

Right now you can add a modulefor displaying color graphics andcharacters on TV; a ready-to-usekeyboard; small and large printers,and a single interface that letsyou attach multiple devices includ-ing a cassette tape recorder. Ex-pect the latest, exciting equipmentfrom IMSAI. We are committedto leadership in this expandingtechnology.

EASY TO PROGRAMWith our BASIC language youcan operate the IMSAI 8080quickly and easily. Technicallyknowledgeable? Use our assemblylanguage to develop sophisticatedand unique software.

If you're thinking personal computer,treat yourself to the very best —IMSAI 8080

ad for free four-color brochureor $1 for catalog. Call or write forname of nearest dealer.

I

IMSAI

IMSAI Manufacturing Corporation

14860 Wicks Blvd.San Leandro. CA 94577(415)483-2093TWX 910-366 7287

European Distributor

Harper Industry Products, Ltd,6079 Sprendlingen 2West Germany

Prices: USA Domestic

Serial Storage Media:

An Introduction and Glossary

Brian D Murphy72 Circuit DrRiverside Rl 02915

Brian Murphy has beenprofessionally involved inthe computer business formore than eight years, atall levels of programmingand usage. His experiencesrange from scientific andsimulation software onlarge machines to theworld of personal micro-computers. He is currentlyemployed by the US Navy.

This is an introduction to the use of acassette type recorder for mass storage ofinformation. Once the initial novelty of thesmall computer system has worn away, ajunction occurs at which the computer freakeither matures or puts his (or her) system onthe market and moves on to something elselike stamp collecting. If a person has a validinterest in the uses of computer technology,however, he or she soon finds self in abind as regards the permanent or semi-permanent storage of programs or data onsomething more easy to transfer into his/hercomputer than paper. If a hobbyist is limitedby funds (or by spouse), he or she soonlearns that the only media suitable forhis/her storage is magnetic tape utilizing acassette recorder. He/she now has available aprimitive serial access device. The word"serial" has the same root as "series," whichmeans (in a very loose definition) one thingfollowing on the tail of another. If you walkdown a corridor to a particular room you are

—^Technique

Vocal

Digital

Position

Characteristic ^^"--^^

ID

ID

ID

Access Time

Medium

Worst

Best

Amount of Manual

Interaction (Play,

Worst

Best

Medium

Rewind Pushing)

Tape Utilization

(Minimum Wasted

Medium

Worst

Best

Tape)

Table I: Comparisons of Manually Controlled Cassette Information Manage-ment Techniques. A rudimentary file storage system is possible with manuallycontrolled cassettes, essentially variations of what people used to do withpaper tape file systems. A file system is a way of locating logically groupedrecords in the mass storage medium. For manual recorders this can be doneby listening for voice identifications through a loud speaker, by running thetape and matching against a desired block identification recorded with therecords, or by looking at the tape position counter.

applying serial access to the problem oflocating the room you want to enter: Eachdoor is passed in turn. Thus serial access isquite different from random access (such asin your computer's memory), where youarrive immediately at your destination (simi-lar to teleporting yourself directly to theroom you wish to enter). One goal of thisarticle is to familiarize the novice readerwith the computer industry concepts andterminology. To this end, we include aglossary that will hopefully define thoseterms with which you may not be familiar.Also included is a book list for your bedtimereading pleasure.

A cassette type recording medium is themost economically attractive alternative forthe small system at this time. The cassetterecorder as it comes off the dealer's shelf,however, is awkward to use in a computersystem. There are three general methods,appealing because they are inexpensive,available for using such a device. The threegeneral filing system methods for using amanually controlled cassette device for massstorage are detailed below:

• Identify each recording by prefacing itwith a vocal recording (vocal id).Simply record your verbal descriptionof a block before beginning the marktone which precedes data.

• Use software to sense for a recordeddigital code while searching the tape(digital id). This allows automaticsearch at normal data rates, but cantake a long time.

• Buy a more expensive audio recorderwith a mechanical position readoutand maintain a written record of tapeusage (position id). Here the manualcuing controls of the recorder get youto a desired block very quickly.

The cassette used in one of these fashions isessentially a replacement for paper tape andlike paper tape requires manual (or at most,

50

aulomalic motor control) operation. Each ofthese techniques has its own advantages anddisadvantages as shown in table 1.

As the personal computing user becomesmore sophisticated, he or she will soon finda need to have an electronically controlledrecorder available for his/her use along withsoftware of a more sophisticated file system.Such a software controlled recorder canautomatically search the tape for a requestedrecording, going forward or backward asrequired, and loading in the desired data.The file system is a neat software utility thatcan operate separately or, for the moreadvanced, as part of an operating system.The remainder of this article will acquaintthe novice with some of the characteristicsof automatically controlled serial storageand the tradeoffs and physical considera-tions inherent in its nature. No attempt ismade to go into the much larger subject offile systems.

As was mentioned previously, searchingfor a particular item in serial storage requireslooking (humanly or via software) at identi-fying material that accompanies the desiredrecording. For tape media, the looking pro-ceeds in a serial fashion until the desiredrecord is located. A record is a group ofbytes or words representing the data stored.Tine time that it takes to locate the desiredrecord is called access time, and in measuringthe efficiency of the device in general,average access time. A serial device has anaccess time of T*(N—1) to find the Nthrecord, if all records are the same length andthe time to get to the second record isT. Ifthe records are of variable length, the accesstime will be the sum of all the times to passby each preceeding record. The averageaccess time would be the time it takes tosearch half the recorded tape. The softwaremust have a way to tell one record fromanother, or in fact when one record ends andanother begins. In a simple record filesystem, each record is preceeded by a tapemark which signals the start of a record.Tape marks are distinctive in nature and arecomposed, for example, of a number ofspecial characters of predetermined count(the ASCII SYN character is sometimesused). Following the tape mark is identifyingmaterial, and the record itself followed by achecksum (see the glossary). A sample lay-

out of a typical tape (or format) is shown infigure 1. Associated with each recording areinter-record gaps. The gaps are areas on tapethat contain no meaningful data. They existdue to the physical limitations of therecorder and represent the time the motortakes to start or stop. These "gap waste" andmay consume a considerable amount of thetape of an unwary user.

To appreciate the impact of gap waste itis necessary to understand the physicalaspects of the recorder and tape medium.The amount of information that can berecorded or read during a given time isdetermined by the transfer rate of therecorder. Transfer rate is measured in bitsper second (bps) and is a function ofrecording density, tape speed, and therecorder electronics. The recording density isthe number of bits that are stored on oneinch of the tape, measured in bits per inch(bpi). Now we can relate inter-record gap toa physical situation. Suppose we have arecorder with a transfer rate of 2400 bits persecond and a motor start or stop time of 0.5seconds, with a linear speed change duringthat interval. This is a model which demon-strates the problem of gaps; in actual sys-tems the start time might differ from thestop time, and the curve would probably notbe linear. Using this simplified model, sincethe stopped rate is 0 inches per second, andthe "started" rate is the full tape speed, thelinear speed change implies an average speedof the tape during the interval change whichis exactly half of the full speed. Thus, duringthe transition interval, exactly half of thetape which would have gone by at full speed

INTER-RECORDGAP

TAPE !MARK-1

m

RECORD-1 t t ^TAPE

CHECKSUM INTER- MARK

RECORDGAP

Figure I: Format of a Fypical Magnetic Tape Record. This diagram can beviewed as a timing diagram (from left to right), or as its equivalent, a physicalmap of a tape which is moved past a fixed head from left to right. In thisconception, a record is preceded by an inter-record gap, followed by asoftware (or hardware) coordinated tape mark for synchronization, then (if afile system is employed) some software identification information and finallythe data of the record. A trailer of a checksum is often used for errordetection, after which an inter-record gap precedes the next item on the tape.

51

is wasted in the gap. At full speed, with a2400 bps transfer rate, 0.5 seconds wouldhave recorded 1200 bits, so the tape which islost to the gap during speed changes corre-sponds lo 600 bits in this case, or 75 bytes.Since each record is surrounded by a startupleader and a slowdown trailer, the total gapis the sum of these components, or thelength of tape which would have stored75+75=150 bytes in this particular model.This should be a clue as to why smallphysical records are wasters of tape. Con-

INTER

RECORD

GAP

R- t TAPE t)RO MARK-1

tBLOCKID

BLOCKSTRUCTURE

Ml

CHECKSUMI

CHECKSUMN

-TAPEMARK

LOGICALRECORD

LOGICALRECORD

N

INTER-RECORDGAP

Figure 2: A Blocked Magnetic Tape Format. Instead of immediately endingthe recording operation, the physical record can be formatted to containmultiple logical records, so that the number of gaps required is reduced.Blocking is a very common software practice whenever computers get largeenough to allow several thousand bytes to be used for 10 buffers in which theblocked records can be built and decoded by software.

sider a logical print line record of 72characters (fixed length) which is to bestored on tape for later use with a Teletypeor its equivalent. If I were to store 72 bytesper physical record, making the logical andphysical record equivalent, then each recordwould occupy the space on tape which could

^\^^ Type

Characteristic^*.

Blocked

Unblocked

Tape Utilization

Higher*

Lower

Access Time

Faster*

Slower

Software Complexity

Higher

Lower*

Computer MemoryNeeded to Process

More

Less*

Computer TimeNeeded to Process

Longer

Shorter*

Table 2: A Comparison of Blocked versusUnblocked Record Formats. This table iden-tifies general qualitative characteristics ofthe two forms. The asterisks identifyqualities which are often desirable.

GLOSSARY

Access time: The time required to locate a par-ticular record on the storage medium.

Average access time: The amount of time required,on the average, to locate an item on the storagemedium. On tape the average time is the time ittakes to search half the recorded tape.

Blocking: A method for collecting logical recordsinto a single physical record on the storagemedium, thus minimizing inter-record gaps.

Checksum: A value calculated from the data whichis used to help determine if data transferred fromone medium to another is correct. If a record isread from tape and a temporary electronic erroroccurs that alters the data being sent, the check-sum may signal an error. A simple checksum isgenerated by treating each byte or word recordedas a number, adding each such byte or word into atotal as it is recorded. Overflow is ignored, and thefinal total is recorded on the tape with the record.This particular method, while simple, is not fool-proof. Many more elaborate techniques exist whicheven allow for correction of an error. The sameprocedure is followed on subsequent reading of therecord, and the final total is compared against therecorded checksum. If the two values do notmatch, an error has occurred.

surrounding the beginning and end of a recordedsection of tape. The gap exists due to the nonzerostartup and stop time of the recorder's motor.

Logical record: A contiguous recording of a blockof bytes or words that has a separate identity. Anexample of a logical record is the recording of oneprogram.

Physical record: Also a block, this term refers to acontinuous collection of logical records groupedtogether without gaps. The purpose of the physicalrecord is to conserve storage medium. One physicalrecord might conceivably have multiple logicalrecords, or only a portion of a logical record.

Record: A record is a string (or block) of datarecorded on the medium that is separated fromother records by inter-record gaps.

Recording density: The number of bits stored onone inch of tape. The units of measurement arebits per inch (bpi).

SYN: The "synchronization" character. It has theASCII hexadecimal value 16.

Tape mark: A distinctive recording at the begin-ning of a tape record signaling the beginning of arecord. It must be distinguishable from data toavoid confusion.

Format: The manner in which data is grouped toallow organized access and handling of the data.

Gap waste: The amount of storage space wasted byinter-record gaps.

Inter-record gaps: That portion of unused tape

Transfer rate: The number of bits per second (bpi)a given device can transmit. In commercial drives,this rate varies from design to design, even givenidentical recording density and format. For audiorecording of data, it is largely a function of theinterface modulator and demodulator and for themost part is independent of the tape recorder.

52

store 72+150=222 bytes if the gap were notpresent. The utilization of the tape is thus72/222 or about 32%. If, instead of a 72byte physical record, we use some IOsoftware and a blocking factor of (forexample) 25 logical records per physicalrecord, physical space on the tape for eachrecord is 1800+150 or the equivalent of1950 bytes, which has a utilization of1800/1950=92%. Thus the answer to maxi-mizing the use of tape space is to be foundin the practice of blocking and the use of filesystems with moderately large buffer areasin memory.

Blocking is this practice of groupingmultiple logical records into each physicalrecord. Suppose you have a number of smallrecords to save and want to eliminate gapwaste as much as possible. By creating a"block," which is a contiguous group ofrecords, you can treat the block as a largephysical record which is in reality composedof a number of smaller logical records, as infigure 2. Each logical record is one of theindividual records that you originally wishedto store. Now there will be gap waste onlyaround the physical records (blocks), andthus the wasted tape will be greatly reduced.The problem now becomes one of findingthe correct block and locating the properlogical record within it via software. Themechanism which allows you to do this andother neat things like calling records byalphanumeric string names is the file system.However, blocking is not without disadvan-tages, not the least of which is memoryrequirements. In big systems, block sizesoften range into the thousands of bytes, andvarious "multiple buffering" techniquesrequire alternating regions. In a largeIBM/370 program (say 100 K to 200 Kbytes) it is not uncommon to find 30 K to50 K bytes used only for buffers: Some ofthe pros and cons of record blocking areshown in table 2.

Armed with the information in this shorttutorial and glossary, the novice reader, it ishoped, will have a better appreciation of theconcepts of information storage adapted forinexpensive computers. ■

SUGGESTED READING

These books are contemporary texts, whichshould be available at most good technical li-braries and college book stores.

Operating Systems: a pragmatic approach, HarryKatzan Jr, Van Nostrand Reinhold Co.

Systems Programming, John J Dovovan, McGraw-Hill.

Computer Organization and Programming, WilliamC Gear, McGraw-Hill.

Now... unlimitedvideo versatility forS-100 bus systems atan affordable price!

vfcteo system e- '■sit&bk. Yois get has^s-oncontrol without being boxed in by thehardware. Plus, the VB1 offers both Videoreverse and graphics with the convenienceof no internal hardware adjustments.

There's more:

• On board dip switch selection of 32 or 64characters per line with 16 display lines.

• Upper and lower case and greekalphabet—other interchangeable fontsavailable.

• 2x3 matrix graphics.

• Parallel and composite video outputs to videomonitor or TV set.

The VB1 software package is a hobbyist's dream.It's designed for flexibility and expansion plus it givesyou exceptional control over the cursor, characterand graphics selection, home up, end-of-line and alot more.

$179.95 in easy-to-assemble kit form includingcomplete assembly instructions, documentationand software manuals. $249.95 assembled.

The VB1 is available through your local computerstore—or direct—along with our other S-100 buscompatible products including memory, I/O motherand extender boards.

r~H jhf-^rr^r~Yt 1ADivision°fs°|idsta,eMusic

2102A Walsh Avenue, Sanla Clara. CA 95050(408) 246-2707

See us at the First West CoastComputer Faire in San FranciscoApril 16th & 17thBooths 323 & 325

We're the blueboards.

o

0: 0: :0

i

o

Audible Interrupts for Humans

Dr Charles F Douds381 Poplar StWinnetka IL 60093

o -;•;- o

One of the great virtues of computers isthat their flexibility allows them to do allkinds of things to make our lives easier orbetter.

Unfortunately, systems analysts and pro-grammers working on big systems some-times tend to forget this. Microprocessorscan make things easier and more fun for us,too. But we sometimes forget the basicprinciple of human engineering: Peopleshould not be forced to fit the system; thesystem should fit the people.

I almost forgot this when I was develop-ing my hardwired process control system.The design philosophy behind the wholesystem was that it was to take over certainjobs that the human operators were notinterested in doing, while other moreinteresting jobs remained the operators'responsibility. There was no intention tomake it a fully automatic system. This fitsprinciples of good human engineering, butin the details I overlooked something.

An output from the original system pre-sented a visual display to the operator. Onestate indicated that he could proceed as hewished; the other state indicated that hemust come to a stop. A clearly visible dis-play was provided. The display consisted ofa set of three vertical LEDs for go, and threehorizontal ones for stop. The only troublewas that when people began using the sys-tem, they were often going when theyshould be stopping.

What I had overlooked was that theoperator would be, quite properly, watchingthe equipment he was running. Only whenthe LED display happened to be within his

line of sight would he respond to them.

To remedy this situation I could havehollered at the operators until they learnedto watch the display as well as their equip-ment; or I could have used another one oftheir sensory inputs. The first choice doesuse a sensory input other than vision. Whynot just automate my hollering.'' That iswhat I did; only the end result sounds a lotbetter. Not only that, it provides additionalinformation as well. It also indicates whenthe signal has cleared.

What I did was to build an audio annunci-ator that is triggered by the same line thatdrives the display. When the line goes high,the device emits a one second beep. When itgoes low, a boop sounds. Beep for slop;boop for go. It worked out quite well.

The Circuit

The audio burst is generated by two 555sor one 556 timing IC. IC2 is wired as aoneshot to determine the tone duration. Thetime is set by C4 and R11. A negative goingpulse on input pin 2 triggers the oneshot on.If your circuit creates a pulse, rather than alevel change, the input should be connectedhere.

The tone is generated by IC3. Its fre-quency is set by C5, R13 and R14. The ratioof R13 to R14 determines the pulse width.Diode D3 helps to provide more nearly asquare wave. If pin 4 is connected directly toVCC temporarily, you can pick the resistorcombination that gives the most pleasingtone. Connecting R1 5 from the output of theoneshot into pin 4 allows the free runningoscillator to be turned on for the duration

54

INTRODUCING

THE NEW 1977 IC MASTER

THE FORMAT EXPLAINED:

• FIVE MASTER SELECTION GUIDES — 84 companies' IC's organized by type, func-tion, key parameters

• OVER 1,000 PAGES OF TECHNICAL INFORMATION — Provided directly by manu-facturers covering 17,000 IC's

• ALTERNATE SOURCE DIRECTORY — The only industry-wide, pin-for-pin versionavailable

• MILITARY PARTS INDEX AND CROSS REFERENCE CHART — Identifies all IC's withJAN qualification

• MILITARY DEVICE TESTING TABLE — List companies that screen to Mil. Std. 883

• MILITARY PARTS INDEX — The first functional guide to JAN qualified parts

• PART NUMBER INDEX — Parts from 84 manufacturers, in numerical sequence

• APPLICATION NOTE DIRECTORY — Digest of currently active application notematerial

• PRODUCT INDEX — Provides alphanumeric listing of 84 manufacturers' lines

• PART NUMBER GUIDE — Instantly decodes each company's part numbering system ^^^^ J

• MANUFACTURERS AND DISTRIBUTORS DIRECTORY /

o\^

Virtually every IC device manufactured in the United States is listed in the 1977 IC MASTER. S

The format has been improved, simplified and made even more complete. •

The IC MASTER is the easy and sensible means of narrowing down your IC choices /

quickly, accurately and systematically. All information is cross-referenced and indexed / <? ' 0

for rapid problem solving and device selection. And, additionally, the MASTER is / ^ ^

updated three times yearly by accumulative supplements. / 4^JT

The 1977 IC MASTER is unique. It is the only compendium of its kind in exis- / ^ ^

fence at this time. Others may follow, but why wait? Your IC problems won't! / ^ «*

//

'A

Mail Coupon To: / \A '

■2?

PATTI FOLEY / ~ , J*

IC MASTER / j&

645 Stewart Ave. / cS K4

Garden City, NY 11530 // Op ^°

s>

Microcomputer prowith the Iasis

The fact is that right now microcomputer program-ming is a bear. Microprocessors are loaded with subtle-ties which make software development a long, arduousprocess. That's why we developed the ia7301 Computerin a Book* It's a fully operational microcomputer systemand a 250 page programming course all contained in a3-ring binder. This is not a kit or a toy but a powerful,microcomputer system (based on the industry standard,the 8080) and a practical programming course specifi-cally designed to quickly bring you up to a high level ofunderstanding and proficiency in programming 8080based microcomputer systems.

The Computer in a Book comes to you completelyassembled and tested. All you need is an inexpensivedual voltage ( ! 12V & I 5V) power supply. The 5Vis generated internally in the computer. There is nothingelse to buy.

A super programming course

The programming course text is easy to follow andbegins with a one instruction program to determine ifa switch is open or closed. This is built upon and ex-panded, instruction by instruction, until 250 pages later,you become adept at programming complex problemslike multi-byte arithmetic and games of skill like Pong™Only with the Iasis Computer in a Book can you havethe advantages of a handy programming text togetherwith an operational computer to load and test programseach step of the way and thereby learn the intricaciesof microcomputer programming at a comfortable pace.

And since this microcomputer has a special built inmonitor program which allows you to look into theoperational parts of the system you'll never get boggeddown in debugging or editing. The ia7301 Computer ina Book is the fastest way to learn everything aboutmicrocomputer programming.

... RAM "AM

kj keyboard!

"liOPTtONALt I

fry !

[OPTIONAL!]

I/O10

POWLRSUPPLY

47301 CPU IK HAM2K PROMKEYS DISPLAYSTAPEINTERFACE

ia7301 ComputeProgramming P

Some great microcomputer features, too

The microcomputer system features a 24 pad key-board, 8 seven segment LED readouts that displayinformation in hexadecimal code which is far moreversatile and advanced than binary or octal codedsystems, and an onboard cassette tape interface forsaving programs. The hexadecimal keyboard also con-tains 6 special mode keys which allow you to call up andchange any data or instructions in the 8080 registersor in the system's RAM memory. Likewise programscan be executed instantly or they can be steppedthrough one instruction at a time using the appropriatemode key, so that you learn your way around the innerworkings of an entire microcomputer system.

Also the write tape and read tape mode keys havebeen carefully designed for accurate and convenientoperation with any home cassette tape recorder that hasan earphone and remote microphone jack. Two LEDindicator lamps tell how long it takes to dump or reloadprograms from the system's memory onto tape and backagain. But in the reloading cycle, if any errors haveoccurred such as a lost piece of data, or the volume knobis too low, the readout displays will indicate errors. Thislittle feature prevents untold problems in debugging areloaded program.

Upwards expandability from the start

We designed the Computer in a Book to be upwards

anrl nnt hprnmp a U-lii/no in fho r-»r<~,/~occ The

'U.S. Patent Pending

Pong is a trademark of Atari,

inc.

We designed the Lomputer in a Book to be upwardsexpandable and not become a kluge in the process.Themicrocomputer contains IK bytes of RAM memory, IKbytes of PROM memory (containing the monitor pro-gram), and 2 I/O ports. The Computer in a Book isexpandable to virtually any level you want, i.e. up to65K bytes of memory and 256 I/O ports.

Optional expander boards are available and attach tothe ia7301 computer at the top edge connector. A widevariety of standard interface boards can be plugged intothe system to give add on memory, TV and teletypeinterface, and much more. Thus an educational systemis easily upgraded into a full computer system.

gramming is a snapmputer in a Book

Also we are offering

preprogrammed PROMs and

extension cassette tapes so you can use your computer

as a teaching machine for your children, as an inventory

control system for your business or as an accounting

system for your home. The Computer in a Book can

become a computer for all reasons.

A college assistance program

A free bonus

If you orderyour Computerin a Book beforeMarch 15, 1977,lasis will give you an$8.00 MicrocomputerApplications Hand-book as a free bonus.It contains 144 pages oftext, diagrams, and tableson hardware design andmicrocomputer applica-tions. Order today. If theComputer in a Book isn'teverything we say it is, thenreturn it within 15 days fora full refund and keep theApplications Handbook as a gift. We're sure you'll findthat microcomputer programming is a snap with theia7301 Computer in a Book.

How toSet Up aMicrocomputerProgrammingCourse atYour College

Educators interested in ex-posing their students to acomprehensive background inMicrocomputer programmingshould look into the lasisMicrocomputer InstructionalCourses for their college oruniversity. Send for our freepamphlet which describesways of setting up shortmicrocomputer programmingcourses. It offers some adviceon structuring a coordinatedand comprehensive program,so your students can learnprogramming and get valuable hands-on experiencewith operational systems at very reasonable prices.

The price

The complete Computer in a Book which includes anoperational 8080 based system, 250 page programmingcourse, machine code pad, hexadecimal conversioncard all in a 3-ring binder is offered for only $450. TheComputer in a Book has a 90 day parts and servicewarranty, lasis also provides a check out list and startup instructions with each system. Please allow 30 daysfor delivery.

[]

Charge my order to the credit card below:

BankAmericard No

Master Charge Ho

For Master Charge card, put 4 digit number from

above name here

My Signature

Credit card expiration date

Name

Finn

AddressCity_

State

-Zip-

□ Please send me your pamphlet on setting up a Micro-computer Programming Course.

Mail to: lasis Inc., 815 W. Maude, Suite 26,Sunnyvale, CA 94086

(408)732-5700

lasis inc.

Tl : TRANSISTOR OUTPUT TRANS-FORMER, lOOOOHM(AC):8 OHM (AC)

ICI POWER: +9V PIN 146ND PIN 7

Figure I: One way of pro-ducing audible tones oncommand. The input isshown as a switch, SI, atthe left but could just aswell be a signal derivedfrom a single bit computeroutput.

of the desired tone burst. The high fre-quency bypasses, C11 and C12, keep thecircuit from being triggered or modulated byRF noise that is present on VCC and ground.

The up and down trigger is formed fromtwo operational amplifiers: ICI a connectedas an inverting amplifier and IC1 b connectedas a noninverting one. Their outputs aredifferentiated by C2 and R8 or C3 and R9to form a negative going spike when theinput level goes up and again when it goesdown. These spikes are ORed by D1 and D2into the oneshot's trigger input.

This gives us a circuit that emits a tonewhenever the input changes state. The twodifferent tones are achieved by changing theinput voltage to pin 5 of the tone generator.Connecting R12 between one of the opera-tional amplifier's output and this pin causesthe tone to shift.

The circuit worked well on 5 V. However,the volume from the speaker was less than Iwanted. I had a poorly regulated 12 V avail-able, so I filtered it with R1 and C1. Youmay not need them. The small loudspeakercan be connected in many ways. I had asmall, inexpensive Radio Shack audio outputtransformer that I used with a currentlimiting resistor in series connected directlyto pin 3 of the tone generator. Volume canbe increased by putting a 10-1 00 nV electro-lytic capacitor across R24.

Almost any operational amplifier can beused. I used a quad LM3900, so I had twosections left over. On the breadboard versionI wired these together as a mixer, thenfed in an audio signal from a microphoneand an interesting sounding audio frequencysignal from the system controller. These

were eliminated in the final version, but youmight have a use for similar ideas. The totalcost of the complete circuit including thespeaker was under $5.

But what is this system that I built? It isa complicated one compared to the 16toggle switches it now replaces in amodel railroad layout. In its final version,the system will replace approximately 600toggle switches. More importantly, it savesmany months of learning on the part ofeight or ten people as they attempt tocoordinate their actions in running trains ona schedule at a large model railroad club.Toggle switches are ordinarily used to directthe electrical power from each engineer'sthrottle to the section of track in whichhis train is running. The logic system takesover this job. Even after people learn whichtoggle switches to turn on, and when, theystill forget to turn some of them off. Sooneror later this fouls everything up, sometimesin the most mysterious ways. The hardwiredlogic system breadboard has been workingfor about two years, but we are about tochange over to a microprocessor systemfor installation in the G-C Model RailroadClub in Chicago.

Take a look at your system design. Howcould it be better designed for people? Isthere an action required by the operatorat random times? Could you use an audibleinterrupt? Perhaps you have a long programon a cassette and you could use an audiblesignal when the 10 minute loading is com-plete. Or perhaps you have a data linkthat requires attention. There are manypossible uses for an audio signal to providegood human engineering."

58

THE PERFECT MICROCOMPUTER

pVcCCCH

1

*'tI0^«Hcmc.

■ ■

If

It's a two touch affair

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

T.M.

lCR c^aphc inc.

717 LAKEFIELD ROAD, SUITE FWESTLAKE VILLAGE, CA 91361 • (805) 4970733

Cub 54,

Ralph W Burhans

Research Engineer and Lecturer

Ohio University

Electrical Engineering Dept

Athens OH 45701

What is Omega?

The Omega navigation system is a radiobased method which was originally designedas an ocean locating system for shipping, itwas not intended for use over the world landmasses. However, the signals are free to theuser no matter where he/she is located andin a sense represent another worldwideresource particularly for those who have noother radio navigation aid available. In con-tinental USA urban areas, we have manyVHF-UHF and microwave navigation aidsfor aircraft, so there is not much need forOmega except in remote mountain areas

where line of sight propagation is restrictedand the VLF-Omega is not disturbed. Omegain other parts of the world is often the onlyradio navigation aid available for planes andboats. Omega and other VLF systems arcoften used by offshore oil drilling andmarine exploration crews as a means oflocating their rigs or vessels particularlywhile in transit to and from.

The choice of frequencies and the timeslot spacing is a historic matter based in parton the analog and servo mechanisms used 30years ago. Nowadays, we have digital proc-essing methods but some analog semicon-ductor receivers are still in use. Most notable

Figure I: The worldwide Omega transmis-sion network. The Omega system uses a setof eight transmission points scattered aroundthe globe, emitting a pattern of bursts ofradio frequencies on a 10 second cycle asshown in the table. Each possible pair oftransmitters sets up a pattern of "lines ofposition" consisting of a series of hyperbolasone can find on an appropriate map. To finda position, phase differences between thevarious transmitters define a location on theOmega grid. The microprocessor control ofMini-0 enables the experimenter to takeadvantage of Omega for shipboard or aerialnavigation.

Stations

Norway (A)Liberia (B)Hawaii (C)North Dakota (D)La Reunion Island (E)Argentina (F)Australia- (Trinidad) (G)Japan (H)

Start

0 secon1.1

j-

St

art

.2 s0.9*~

ec

~*i.0 1.1 1.2

0.9 1.2 1.0

0.9

10.2

13.6

11.33

10.2

10.2

13.6

11.33

10.2

13.6

11.33

10.2

13.6

11.33

10.2

13.6

11.33

10.2

13.6

11.33

11.33

10.2

13.6

11.33

13.6

11.33

10.2

13.6

frequency

kHz

time's arrow-

62

Are you tired of microcomputer literature beingtoo technical, confusing or vague? Then you shouldfind the lasis Microcomputer Applications Hand-book a welcome relief to both your intelligence andyour wallet.

It was expressly written for the reader whowants to learn everything about the world of micro-computers, especially 8080 based systems. Itexplores the advantages and applications of micro-computers in 144 pages of clear, easy reading textwhich is profusely illustrated with diagrams, sche-matics and charts. You'll be guided through allimportant decisions in designing a system to fityour needs. And you'll be apprised of the trade-falls and common pitfalls along the way.

The lasis Microcomputer Applications Handbooktackles the roles of development and OEM systemsfrom a practical, functional standpoint. Also onewhole chapter is devoted to a comprehensivehardware design casebook for you hardwareapplication buffs.

We're certain you'll like the step-by-step attentionpaid to writing monitor programs, text editors, andassembler programs.

And there's plenty more information on 8080system architecture and instruction sets.

That's a lot of good news for $7.95. We think it'sbeen overdue for some time.

815 W.Maude Ave., Sunnyvale, CA 94086. Tele-phone: (408) 732-5700. TWX: 910-339-9311.

Dealer inquiries invited.

■^•■■■■■■■■■■■■■■■■■■■■■■■■■■■q

□ Here's my check or money order for-

lasis Microcomputer Applications Handbooks at$7.95 ea. Add $.50 for postage and handling if orderedafter March 15, 1977 (Calif, residents please add $ .52state sales tax).

□ Charge my order to the credit card number below:

BankAmericard No

Master Charge Ho

For Master Charge, add 4-digit number from rightabove name. It is:

Here's my Signature:

Credit card expiration date:FIRM

NAME

ADDRESS-CITY

STATE/ZIP_

tasis inc.

Mail To:

IASIS, INC.,

815 West Maude Avenue, Suite 27,

Sunnyvale, California 94086

What's

New?

It's Here at Last

It usually takes some time betweenthe announcement of a new processorchip and the availability of a productwhich uses it. Well, for the first time,there is a product on the market at a low

price which uses the Texas Instruments9900 processor. The product is made byTechnico Inc, Columbia MD, and is asingle board computer measuring 7 by16 inches (18 cm by 41 cm) andcontaining the following logical charac-teristics:

TMS-9900 processor

monitor with 13 commands

implemented

on board programmer for 2708 UV

erasable PROMs

125 page manual on the system plus

wall chart schematicThe product is a processor board only,so the user will have to provide n 8 bitbytes of memory (organized as 16 bitwords) where n is up to the capacity ofthe TMS-9900 address space, 64 K bytes.The price for this processor board, $269unassembled or $369, is probably one ofthe lowest priced ways of starting a 16bit homebrew system.

According to the news release,Technico (which is located at 9130 RedBranch Rd, Columbia MD 21045) is afully franchised Texas Instrumentsdistributor. The engineering and designwork for the TMS-9900 "Super StarterSystem" was done by Rosse Corp,Vienna VA. Information can be obtainedby dialing toll free 1-800-638-2893.Dealer prices and OEM prices areavailable."

What to Do with anOliver Audio Reader . . .

notes by Carl Helmers

Oliver Audio makes the OP-80Apaper tape reader, probably the leastexpensive way short of a homebrewproject to obtain a paper tape readingfacility. BYTE purchased one of thesereaders in order to be able to decodeoccasional strange letters to the editor

that come on long sheets of very narrowpaper with holes. Well, after loading inone program (Tom Pittman's TinyBASIC for the 6800) and thereby debug-ging this form of input, I came to theconclusion that the box by itself lacks acertain degree of "solidness." It proved abit difficult to hold the box, and foryellow paper tape the light levels provedto be critical, due to the translucentnature of the paper. So to provide a solidmounting, and a fixed but adjustablesupport for a lamp, I went to thewoodshop, got out my saber saw, slicedup a random piece of 1 by 4 pine, usedtwo 8 pound nails to attach a randompiece of 2 by 4 vertically, then clampedthe whole assembly to my bench. Thisphoto, taken by Ed Crabtree at hisstudio, shows the result, using a sampleof tape from a program submitted toBYTE. (Observant readers with anOP-80A and a critical eye will note oneflaw in the photograph as shownhere . . .)

The OP-80A was mounted on thepine board by punching two holes in itsback plate with a Roper-Whitney 5Jpunch (a hand tool available fromindustrial supply sources). Two screwswere then used to hold it to the board,tightening to a point where the plate wasstill loose with a clearance to the boardslightly under the thickness of the case'sinterlocking groove edge. Then, whenthe main part of the case is slid onto theplate, the bottom of the case is tightlyheld against the board. The final assem-bly step of securing the front side of thecase with screws can then beperformed."

60

Now.

THE PERFECT MICROCOMPUTER

VEGXH1

DEALERS

EAST COAST

Computer Mart of New York, Inc.

314 Fifth Avenue

New York, New York 10001

212-279-1048

Computer Mart of Long Island

2072 Front Street

East Meadow, New York, New York 11554

516-794-0510

The Computer Mart of New Jersey501 Route 27Iselin, New Jersey201-283-0600

The Computer Mart

1097 Lexington

Waltham, Massachusetts 02154

617-899-4540

WEST COAST

Byte Shop of Westminster14300 Beach Blvd.Westminster, Ca. 92683714-894-9131

Byte Shop18424 Ventura Blvd.Tarzana, Ca. 91356213-343-3919

Byte Shop

Palm Plaza

Thousand Oaks, Ca. 91360

805-497-9595

Byte Shop

2559 S. Bascom Ave.

Campbell, Calif. 95008

Kentucky Fried Computers2465 Fourth StreetBerkeley, Ca. 94710415-549-0858

MIDWEST

DATA DOMAIN-the Personal Computer Stores

INDIANA

(Home office)406 S. College Ave.Bloomington 47401812-334-3607

7027 Michigan Rd.Indianapolis 46268317-251-3139

219 Columbia

West Lafayette 47905

(Opening early December)

ILLINOIS

(itty bitty machine co., inc.)1316 Chicago Ave.Evanston 60201312-328-6800

42 W. RooseveltLombard 60148

KENTUCKY

506V2 Euclid Avenue

Lexington

606-233-3346

3028 Hunsinger LaneLouisville 40220502-456-5242

WISCONSIN

2221 E. CapitolShorewood 53211414-961-2430

TEXAS

The Micro Store

634 S. Central Expressway

Richardson, Texas

cO=* graphic inc.

717 LAKEFIELD RD., • SUITE FWESTLAKE VILLAGE, CA 91361

Where Are You?

(Or How to Navigate Using Mini-O)

is the classic TRACOR Model 599 Omegareceiver which has precision analog sampleand hold phase locked loops with a 100 kHzreference clock. A few of these have evenappeared on the surplus market.

Prof J A Pierce of the Harvard UniversityCrufts Laboratory is the inventor of Omega.He chose frequencies and spacings based onsimple number ratios. For example, 10.2,11.33, and 13.6 are in the numerical ratiosof 30 — 36 — 40, and can all be generated byinteger division from a common 408 kHzclock frequency - thus 408/40 = 10.2,408/36 = 11.33, and 408/30 = 13.6. Thesegear ratios and decade multiples were impor-tant considerations in Pierce's ideas becauseof the widespread use of mechanical servo-mechanisms at the time.

In the presently implemented version ofOmega navigation, eight radio transmittersoperate in the very low frequency (VLF)range of 10 to 14 kHz. Each station trans-mits a very stable frequency in such a waythat a phase measurement of one stationwith respect to another can be made in areceiver which uses a suitable reference clockoscillator. Figure 1 shows the locations ofthe several Omega network stations cur-rently in operation around the world. Bymeasuring the phase difference between twoor more pairs of stations, so-called "lines ofposition" may be generated. The intersec-tion of two lines of position can be used toestimate the receiver position. The lines ofposition are hyperbolas which look like askewed coordinate grid when plotted on alocal area map such as in figure 2. Computedtables, charts, and diurnal (day-night) correc-tions are published on a worldwide basis bythe US Defense Mapping Agency. The grid isvery stable when the proper corrections areapplied. The lowest frequency of 10.2 kHzresults in a "lane" spacing of the lines ofposition of about 8 miles when measured onthe great circle baseline connecting the twostations. Longer spacings are found, as

g-c LOP

HENDERSON WV

Figure 2: The intersection of "lines of position" from two Omega stationpairs is depicted in this map section near the author's location in Athens OH.The picture is drawn with north at the top. The lines of position from theHawaii (C) and Trinidad (G) station pair run from the southwest corner tothe northeast corner of this local map. The lines of position from the Hawaii(C) and North Dakota (D) station pair run from the northwest to southeast inthis local map. Together, these sets of lines form a local Omega coordinategrid, which can be used while navigating a planned air trip from AlbanyAirport OH to Henderson WV as shown by the dashed line. To use Omega,maps or tables supplied by the US Coast Guard are a virtual necessity.

63

would be expected, for the extreme edges ofthe hyperbolic contours.

In practice the usual Omega receiverworks by measuring the phase between eachstation and a local clock reference. Phasedifferences are then obtained by subtractingthese readings for selected station pairs. Thephase differences convert directly to relativeposition and distance readings on a map. InOmega jargon, a cenlicycle is 1/100th of acycle and directly convertible to 1/100th ofa lane, called a centilanc. One lane representsa 360 phase difference or equivalent to aone cycle change in the phase as used in thishyperbolic mode of navigation. Thus a navi-gator in a boat or aircraft can plot his or hercourse on a map relative to the Omega linesof position grid, and observe the crossings ofthese lines, called lane changes, as he pro-ceeds to move along this course as in figure2. The time it takes to cross a lane can beconverted with simple arithmetic and trigo-nometry into a direct estimate of the aircraftor boat velocity. The position of the vehiclewith respect to the Omega grid can beestimated by measuring the lane crossingpoints for two or more lines of position. Acontinuous measure of relative velocity andposition between lanes can be obtained byeye, sampled every 10 seconds, by observinga strip chart record of two station pairschosen for the best grid geometry relative tothe receiver's current position.

The Omega system has eight stationsthroughout the world. Signals may bereceived up to 8000 nautical miles (about14,800 km). In theory at least three of theOmega stations can be received any place onearth. The system is synchronized withatomic clocks at each station. In 1976, thetime for the start of the 10 second sequenceof figure 1 was set so that station A inNorway will start its cycle about 5 secondsbefore the least significant digit of universaltime is zero, or station D will start itssequence when the least significant digit ofuniversal time is zero. (Universal time is thecurrent version of what used to be calledGreenwich Mean Time, an international timestandard, formerly derived from astronomi-cal observation, now derived from atomicclocks.) For an observer in any of thestandard time zones, where local time is "n"hours removed from universal time, when-ever the local time is xx:xx:x5 he or shewould find the beginning of the sequence forstation A, with a burst of 10.2 kHz lasting1.0 seconds. Incidentally, an Omega receivercan also operate as a time reference sourcefor checking clocks since a single Omegastation "ticks" at a 10 second rate, whenmeasured on a single frequency such as

10.2 kHz. In the most elementary Omegamonitor receiver the amplitude of the "tick"can become a direct check on time. How-ever, because of the atmospheric noise andthe rise time limitations of both the trans-mitter and receiver, it is not possible toobtain precise timing by measuring signalamplitudes. What is possible is the measure-ment of the phase of the Omega carrier withrespect to a local reference oscillator, afterthe station turns on. Stations are transmit-ting for 0.9 to 1.2 second intervals with agap of 0.2 seconds between each trans-mission. The gap insures that there is abso-lutely no overlap regardless of how far awaythe observer is from a particular transmitter.

An "Omega Users Handbook" is beingprepared by the US Coast Guard OmegaNavigation System Operations Detail (USCGONSOD), and will be available shortly.I Write US Coast Guard Headquarters,(G-ONSOD/43), 2/00 Second St SW, Wash-ington DC 20590. j ONSOD also supplies adaily Omega status report on a taped mes-sage which can be heard by dialing thephone numbers (202) 245-0298, WashingtonDC, or (808)235-2181, Hawaii. TheNational Bureau of Standards station WWVbroadcasts an Omega status message at 16minutes past the hour within a 42 secondtime slot, on the shortwave frequencies of2.5, 5, 10, 15, and 20 MHz.

Omega has been in experimental develop-ment for 30 years and has just recentlybecome operational. Most receivers in pres-ent use are expensive, in the $5 k to $50 kclass. As yet there is a lack of worldwidedemand for lowcost sets, mainly becausehardly anyone has heard about Omega. It ispossible to receive Omega signals with rela-tively simple hardware involving a parts costof $100 or so, including a reference clockoscillator, sequence timer, and interface forphase measurements with a microprocessorsystem. A complete hardwired digital sensorprocessor can be built for under $500 inparts including data display on a strip chartrecorder.

The advent of lowcost microprocessorsand all the digital interfacing hardware alter-natives is an obvious choice for Omegareceiver systems. Commercial Omegareceivers are starting to use these methodsalthough they still command a high price($11,000) because of the low volume ofproduction. I wrote this article in the inter-est of reducing this cost and complexityproblem to the bare essentials for the do-it-yourself electronics buff. There are manypossible methods to consider. At our lab wehave chosen what we believe to be thesimplest methods, not necessarily the best.

64

It offers more*It costs less*

No system is more complete. None is less expensive. OSI system boards and fulldocumentation start at $29. Fully assembled systems at $439. Only you govern wherethey end. And OSI offers more features than ever. Full multiprocessing capabilities. Aninnovative full color graphics and alphanumeric video system. New options for evengreater system expansion. New software. And two of the best-priced floppy disk optionsyou'll ever see. See it all in the OSI catalog. Available now at your computer store ordirect from OSI.

□ Send me the free brochure on OSI kits and fully assembled computers.

□ Send me the full line OSI catalog. $1.00 is enclosed.

Ohio Scientific Instruments

Dept. B11679 Hayden Street Hiram, Ohio 44234(216)569-7945

As others become aware of Omega, it is verylikely that further improvements and simpli-fications can be achieved.

VLF (Very Low Frequencies)

Frequencies in the 10 kHz to 20 kHzregion propagate in a mode where the earthand its ionosphere form a cavity which actsas a spherically symmetric waveguide. At thelow end of the range the ionosphere is onlyabout 2 wavelengths (60 km) high and singlemode transmissions may be received oververy long ranges.

For the simplest Omega propagationmonitor or computerized do-it-yourself navi-gation aid, the single channel frequency of10.2 kHz is desirable. The higher frequencyof 13.6 kHz will give somewhat more signalstrength but more problems are created dueto multimode transmissions. The ideal VLFfrequencies which minimize diurnal changesin the received phase would be about11.9 kHz for daytime paths and 12.2 kHzfor nighttime. It is interesting to note herethat the USSR has an "Omega like" naviga-tion system which uses 11.905 kHz,12.649 kHz and 14.881kHz. The reasonthat these VLF methods use several differentfrequencies is to resolve the lane ambiguityto much greater than 8 nautical miles for the10.2 kHz case. Thus a difference frequencylike 3.4 kHz can be generated from 13.6 —10.2 with a suitable complex receiver andprocessor system. For Omega, the 3.4 kHzwould result in a 24 mile lane. However, asingle frequency receiver can be used toprovide correction on position when gooddead-reckoning data is available from thenavigator who keeps track of his/her coursedirection and independently estimates veloc-ity (or guesses it from wind drift, pitometerreadings, air speed-temperature corrections,etc). Thus a single Omega frequency usedcompletely without reference to anythingelse can only resolve position-velocity towithin one Omega lines of position grid"square," and the problem is to decidewhich of many possible grid locations (sepa-rated by 8 mile intervals at 10.2 kHz) is thecorrect one. Of course the navigator shouldknow from where he started and his destina-tion, so that at least the initial conditions fornavigation are available. Then the Omegareceiver along with dead-reckoning data canbe combined to give a better estimate of thetrue position after starting along a knowncourse line. In effect the Omega receiver cangive an independent estimate of the vehiclevelocity and the microprocessor or even thepocket calculator can help in manipulatingthe numbers involved in the computations.

Because of atmospheric noise and other

uncertainties in the propagation caused bysunspots or polar cap absorption, the typicalOmega receiver resolves position to some-thing like ±1 nautical mile (1.8 km) whenthe diurnal correction tables are applied. Forlocal area users, starting from a knownpoint, a single frequency receiver should beable to resolve Omega positions to within± 14 mile (0.3 km) in the absence of grossinterference to the received signals, over ashort duration mission (one hour or so) thatis not near sunrise or sunset.

Another technique for improving theprecision of Omega is to compare the navi-gator's received phase with a known groundstation's received phase over a 100 mileradius for differential corrections. The localground monitor has to transmit an almostcontinuous data stream of its Omega read-ings to insure that some short durationpropagation anomalies did not cause a "lanejump" or some other error. The ground datais transmitted to the remote user via anotherradio link. Differential corrected monitorsystems have been used to determine theposition of weather balloons by having theOmega signals modulate a UHF carrier fre-quency retransmitting the data to groundstations where the data is processed.

As with most radio communicationssystems, Omega suffers from the usualsignal-to-noise problems for the ultimateresolution. The general atmospheric noiselevel caused by thundershowers on a world-wide basis creates field strengths of 10 to100;iiV per meter in a 30 Hz bandwidth atthe Omega receiver antenna. The lowestdetectable Omega signals may be only10/UV, often buried in 100/iV of noise.Local thundershowers and 60 Hz harmonicinterference also plague Omega users. Wireantennas are best for picking up strongestsignals, but also respond just as well to allthe noise. A loop antenna can discriminateagainst some noise due to directional nullsbut suffers from the problem that the phaseof the Omega station signal reverses whenthe loop is rotated through 180°. A muchmore complex receiver system is requiredwhen using a loop antenna system.

Some Fine Points on the Omega System

The suggested range for usable receptionof Omega signals is 600 to 6000 nauticalmiles (1,000 to 10,000 km) from the trans-mitter. When a receiver is close to a stationthe phase measurement to that station willbe in error because of multiple mode propa-gation. Another problem near a transmitteris that the receiver may need to reject theunwanted signal from the local transmitterin order to receive a desired signal of some

66

Cybersystems has put it all together,

For Ton.

Why go through the tedious, timeconsuming do-it-yourself "Kit Krazies"only to find what you've created onlydoes half of what you expected itto do?

There is an easier way. The Micro-cyber 1000 microcomputer fromCybersystems,Inc. This is not a kitbut a fully assembled, tested andwarranteed microcomputer. Many out-standing features include keyboard anddisplay, ROM and RAM memory, pro-grammable timer, fully bussed, pro-grammable I/O - audio cassette inter-face, TTY and RS232C interface,operating system, fully documented(hardware and software) , powerfulinstruction set, internal power supply,I/O and memory expansion.

The audio cassette feature permitsprograms and data to be bulk stored

on regular cassette tape players. Entiresoftware libraries can be stored andmaintained on standard cassette tape.Standard programs are also availablefrom Cybersystems.

This low cost, high performanceunit is fully warranteed by the companyand is an ideal tool for education,experimentation, or for the hobbist.

For more information write or

call Cybersystems and let them put

it all together for you. Master Charge

and Bank Americard welcome.

The Microcyber 1000, only $525.

CYBERSYSTEMS, INC."The Microprocessor People."

CJBERSUSTEMS. INC.

The Microcyber 1000Microcomputer

B

4306 Governors Dr. W. Huntsville, AL. 35805 [205] 837-2080

V

WHIPANTENNA

10.2 KHzFILTER-LIMITER

COMPARATORS

OMEGA-► ZERO

CROSSINGS

PREAMPLIFIERFRONT-END

HKT

AUTO-START

ENVELOPE

DIVIDERS

IT

SEQUENCEGENERATORS

-\ STATION_/ SELECT

TIME SLOTGATE

40 Hz x 2B

RATE

MULTIPLIER

8-BITCOUNTER

INTERFACE

CONTROL"FROM ^P.

OMEGAZERO -

ADDRESSDECODERS

<*>

k£

ENABLE8-BIT LATCH

CROSSINGS

JUL

40 Hz

BPLL FILTER

2-BIT STATUS

-0

6-BIT PHASE

INTERRUPT

40 Hz LOCKEDOMEGA

Figure 3: Block diagram of the Mini-0 system. The system is shown here inoutline; details of the hardware are found in part 2 of this article. Themicroprocessor is a key element in the processing of Omega information,making it possible to save thousands of dollars relative to the least expensivecommercial equipment.

other transmitter on a different frequency.Thus the skirt selectivity or adjacent channelrejection capability of the receiver is of someimportance. An example would be NorthDakota transmitting on 11.333 kHz whentrying to receive Argentina on 10.200 kHz,where the 11.333 signal might get into the10.200 front end.

In the USA many observers will havetrouble receiving the A channel from Nor-way. The path of the propagation over theGreenland icecap is severely attenuated. Theice acts like an absorber (similar to a giantsize carbon wedge as often used in micro-wave waveguide attenuators). Omega is alsoaffected by sunspot activity or any radiationthat disturbs large blobs of the ionosphere.

Omega signals may be received under-water. The "skin depth" of sea water at10 kHz is appreciable so a submarine orunderwater explorer with a trailing wireantenna can in theory use Omega for naviga-tion purposes. Reception in airborne systemsis usually quite good except for a phenome-non known as precipitation static when

charged rain or snow particles hit theantenna in sufficient quantity to obliteratethe signals. Loop antennas tend to reject thistype of interference and are found in manycommercial or military airborne receivers.

The choice of the spacings betweenchannels and length of transmissions, varyingfrom 0.9 to 1.2 seconds in 0.1 secondincrements, was made so that an observermight use the station on times to uniquelydetermine which combinations of stationsare being received. This is a nonredundantsequence of time intervals. Nowadays we canalso do this with an automatic synchroniza-tion software routine which first has tomonitor a hundred or so seconds of Omegaframes and decide where the usable signalsare, before starting up a sequence generatorat some point in the frame. However, amuch simpler synchronization method maybe used when a strong station signal isavailable.

For North American users (Mexico, USAand Canada) the D channel at North Dakotawill usually provide a positive identificationbased on signal amplitude only without anyfancy software required. This saves us a lotof trouble, particularly in the early stages ofexperimenting with Omega sensor systems.Observers in other parts of the world, forexample in Europe, might use the A stationat Norway for an easy way of identifyingwhere the Omega system is synchronized tothe local reference. Similarly the Africannations can use Liberia or LaReunion Island,South America can use Argentina, and theNorthern Pacific Ocean area can use eitherJapan or Hawaii. Temporarily, G channel isassigned to Trinidad, but this will be movedto the South Pacific area at some futuretime.

A few words about the concept of fre-quency offset are needed to help in under-standing Omega systems. We discuss theoffset of one clock with respect to anotherin terms of how many cycles they are apart.Thus two 1MHz oscillators turned one Hertzapart in frequency might be said to be offsetfrom each other by 1 X 10"" which meansthat one clock will "beat" with the other ata rate of 1 cycle every million cycles withrespect to whichever one we call the stan-dard. We can talk about an Omega clockwhich appears to be changing (drifting) 1lane (1 cycle) in, say, 60 seconds. The offsethere would be expressed as the time of oneOmega cycle divided by the time taken tochange one cycle or: 1/10200/60 seconds =9.8 X 10-5/6 X 101 = 1.63 X 10"6. Here theclock itself appears to be giving a one lanechange every 60 seconds. However if we usethis clock with respect to Omega stations C

68

Mil

l)H

V

The INTELLIGENT Video Interface

THE MERLIN MAGIC

DMA — The Fastest Display TechniqueFree Format Display (Saves Money)160 X 100 Graphics Display (320 X 200 Optional)Parallel and Serial I/O for KYBD and Cassette

[Software Programmable (24 Bit Program Register)Optional On-Board Expandable ROM Software• Expandable by transfers through 256 X 8 RAM• Includes Monitor / Editor / Graphics / I/O ControlTurns your S100 BUS Computer into an 8080/Z80 development system

■

MERLIN KIT

$269 MERLIN ASSEMBLED

$349 MERLIN MANUAL

MmiTerm Associates, inc.

Box 268. Bedford. Mass. 01730 (617) 648-1200

II

i-5,0

40-

Bffl

I

ffij^F^ftj^

a

BCD

BCD

BCD

BCD

BCD

Relative Signal Levels «- 10 sec -0800 AM EST 4/11/76

Figure 4: Signal envelope from the Mini-0 receiver at 10.2 kHz. This is aphoto reproduction of a strip chart recording made from data taken at8:00 AM EST on April II 1976.

and D which are only about 1 second apart,and, we subtract the two readings (D vsclock from C vs clock), then only about 1second elapsed between the measurements.The error in the measurement is thus about1/60th of a lane which is negligible. Further-more, this is a constant error which does notchange appreciably with time or from sta-tion to station.

Still another factor involved here is thefact that the vehicle may be moving withrespect to the fixed positions of the Omegastations. This is, of course, what we aretrying to measure; that is, how fast are wemoving with respect to a particular stationpair? The Omega receiver output gives areading or plot on a strip chart recorderwhich is the line of position desired. Therate at which this reading changes or movesacross the chart with a repeat at every "lanechange" in a sawtooth fashion, is the basicdata of the Omega system. Two such recordsspecify where the receiver is located pro-vided we knew from where we started anddid not loose count of the number of lanechanges (sawteeth lane count) made. Manymarine navigators like to use the filteredOmega lines of position phase differences inthis manner because it gives them a rapididea of where they have been and how fastthey are going in a graphical display asopposed to reading out numbers on a digitaldisplay. Thus most digital Omega processorscan also provide digital to analog conversionoutputs which can be programmed for linesof position data, or with more sophistica-tion, even plot a course with a "bug" on anX-Y moving map display. But a boat is bynature slow.

In contrast, the general aviation pilotdoesn't have time to watch these interestingdisplays and is usually supplied with data inthe form of a computed miles to go to somewaypoint and a heading error indicatorwhich is obtained from some kind of digitaldata processor. Simplified software for thisis in the development stage at the presenttime. Most of the software for the filteredlines of position display has been workedout and will be detailed as part of this seriesof articles on Mini-O.

There are a great many problems for amicroprocessor experimenter to study. Inparticular, the output of data in coordinatesystems like latitude and longitude insteadof Omega lines of position; the correction oflines of position estimates with diurnallookup tables or ionosphere models; and theuse of multiple frequency Omega channels,are fruitful areas for some simplified soft-ware data reduction methods.

An area of interest using microprocessorsoftware techniques is that of providingvelocity aiding loops which estimate the rateof change of the received phase and incre-ment the memory ahead or predict wherethe phase should be for the next time slot.In a moving vehicle using only three stations,we can directly track at general aviationvelocities (<150 knots or 277 kph). How-ever, at jet velocities a more sophisticatedmathematical technique called a secondorder loop is of some value. A second orderloop also improves the signal-to-noisebecause it tends to correct for clock erroralthough the clock drift is not easily deter-mined independent of the vehicle motionwhen using only three stations on a singlefrequency. With four or more stations beingreceived or when using more than onefrequency in several different receiver frontends, the clock error may be estimated andthe system used in the direct ranging mode.This doubles the lane distances to 16 milesmeasured as concentric circles surroundingeach transmitter instead of the hyperbolicstation pair difference mode. These methodsrequire more software, and about double thecomplexity of the receiver front end.

In the longer range future we mightcontemplate that BYTE readers couldexchange information on "DX" reception ofOmega signals at very long ranges such asfrom Japan or LaReunion Island for USAobservers, using super software trackingloops able to dig signals out of a lot ofinterfering noise. Software methods ofimproving the reception for weak signalswould be of value for the future utility ofOmega.

Hardware areas also need some improve-

70

DIGITAL DATA

RECORDERS

USING 3M DATA

CARTRIDGES

Model 3M3$199.95

BRAND NEW DESIGN

Featuring the radically new "UNIBOARD" method of construc-tion for data cartridge drives. The major computer manufacturersare changing from cassettes to cartridges at a rapid pace because offreedom from binding and greater data reliability. Now, theseprofessional type units are priced within the range of all data users.Being made primarily as OEM data storage units for the world'smajor manufacturers, these units, together with controller boardand software ROM, are being made available to the individual useras well.

* Appearance and specifications may be changed slightly followingacceptance tests now being conducted by OEM users.

Model 3M1$169.95

MODEL 3M3 - Uses the 3M Data Cartridge, model DC300. Thiscartridge contains 300 feet of .250 tape in a sealed container.Records and plays at 9600 baud NRZ, 4800 baud P.E. Nominalspeed 8" per second. Max. recommended flux density 1200 fcpi.Using four tracks, you can store nearly 2 megabytes of data on acartridge. Cartridge measures 4" by 6". Turns counter indicates tapeposition. Inter-record gap light gives more accurate position.2SIO(R) is not required for use, but is highly recommended for8080 and Z80 systems.

COMMON SPECIFICATIONS: FULL SOFTWARE CONTROL ofrecord, play, fast forward and rewind. LED indicates inter-recordgaps. EOT and BOT are sensed and automatically shut downrecorder. Can also be manually operated using the switches on topwhich parallel the software control signals when not under softwarecontrol. Signal feedback makes it possible to software search forinter-record gaps at high speed. 117V - 60 Hz - 5 watts.

TWO I/O PORT CONTROLLER WITH ROM - Controls yourterminal and one or two cassettes or cartridge units. On board ROM(For 8080 and Z80) has terminal and cassette software for turn onand go operation. NO MORE BOOTSTRAPPING. Plug in compat-ible with Altair and IMSAI. Loads and Dumps memory in Hex fromthe keyboard, formats tape files, punches tape, functions as a wordprocessor and searches for files and four letter strings within files.Keyboard controls the cartridge units above on rewind and fastforward. Special keyboard codes enable you to dump and readPhase Encoded tapes as well as NRZ tapes. (Including K.C. Std.)Call routines give access to these from your software.

MODEL 2SIO(R) -With 1 ROM for NRZ Cassettes $169.95

(Assembled & Tested) (Half of above Program)

With 2 ROM's for Data Cartridges and

P.E. cassettes. $189.95 (Full Program)

Kits available for $30 off above prices.

OVERSEAS: EXPORT VERSION - 220 V - 50 Hz. Write Factoryor— Megatron KG, 8011 Putzbrunn, Munchen, W. Germany; NipponAutomation 5-16-7 Shiba, Minato-Ku, Tokyo; EBASA, EnriqueBarges, 17 Barcelona, Spain; Hobby Data, SpireaVagen 5, Malmo,Sweden; G.Ashbee, 172 Ifield Road, London SW 10-9AG.

MODEL 3M1 - Uses the 3M Data Cartridge type DC100A. Thiscartridge contains 150 feet of .150 tape and is the same cartridgeused by H.P. and others. Runs at 4800 baud NRZ, 2400 baud P.E.Tape speed adjustable, but nominally set at 5"/second. Maximumrecommended flux density 1200 fcpi. Cartridge measures 2-1/8" by3-1/4". This model is ultra compact, yet extremely capable. It isintended for word processing, mailing list use and other applicationsrequiring the compact storage of data. Data location is byinter-record gaps and automatic file search. See Common Specs and2SIO(R) below. 2SIO(R) is not required for use, but is highlyrecommended for 8080 and Z80 users.

For 8080 and Z80 users: Comes complete with software programlistings for the programs on the 2SI0(R) ROM below. 6800software is being written, but not yet completed. These programsgive FULL SOFTWARE CONTROL.

CARTRIDGE AVAILABILITY: Cartridges are made by 3M, ITC,Wabash and others. They are available at all computer supply housesand most major computer service centers. We can also supply themat normal current list prices.

NEW: AUDIO CASSETTE INTERFACE* Phase Encoding interfacefor use with audio cassettes or NRZ recorders. Runs 2400 baudphase encoded on good quality audio cassette recorders. May also beused with 2SIO(R) above to use the 2SIO(R) cassette programs withyour audio cassette player. Can also accommodate "Tarbell" tapesand K.C. Std. tapes.

$50.00, Wired & Tested. - $35.00, Kit Form.

*NOTE: You do not require an interface with the 3M1 and 3M3unless you Phase Encode. But, you do need an interface touse the 2SI0(R) with your own audio cassette.

"COMPUTER AID" and "UNIBOARD" are trademarks of theNATIONAL MULTIPLEX CORPORATION. The 3M Data Cart-ridges are covered by 3M Patents and Marks. "UNIBOARD" PatentsPending.

For U.P.S. delivery, add $3.00 each item. Overseas and airshipments charges collect. N.J. Residents add 5% Sales Tax. WRITEor CALL for further information. Phone Orders on Master Chargeand BankAmericard accepted.

NATIONAL MULTIPLEX CORPORATION

3474 Rand Avenue, South Plainfield, N.J. 07080, Box 288Phone (201) 561-3600 TWX 710-997-9530

ment. In particular someone needs to inventa single op amp (single +5 V power supplyusing one section of a quad) noise editorthat will blank out wide band noise pulseswithout generating transients driving thenarrow band filters. Noise blankers are a wellknown art, but what this world really needsis a simple one that does not double thefront end complexity of the present Mini-0system.

Omega Sensors

All Omega receivers involve some analogradio frequency circuitry in the front end toamplify the microvolt signal levels up to

values sufficient to operate digital processingsystems. It is highly advantageous to use alot of sequential narrowband filtering toimprove the resolution of the resultingsquare wave edges. A typical Omega receiverwill have a preamplifier, a set of narrowband filters, some type of limiter, and finallya comparator to generate edges for phaseprocessing. Preprocessing bandwidths in the30 to 100 Hz range are found in mostcommercial systems. The advent of quartztuning forks and mechanical filters operatingin the 10 kHz region makes it possible tohave a relatively simple system with 4 to15 Hz bandwidth. Very narrow radio fre-

GLOSSARY OF OMEGA TERMINOLOGY

This is terminology frequently found in Omegaliterature, some of which is used in these articles.Readers will find this glossary a useful guide todetailed study of Omega navigation.

Frame

Time Slot

Lane

Centilane

Cycle

Centicycle

Line ofposition

Epoch of A

DifferenceOmega

One complete 10 second Omegasequence of transmissions.

The time within a frame when onestation transmits on a single fre-quency according to the table infigure 1; simultaneously several oth-er stations will be transmitting onthe other frequencies in the sametime slot.

Spacing between adjacent LOPswhich are 360° apart electrically,but measured over the earth surfaceusually in nautical miles. Note thatthis distance will vary from 8 milesin the center of the hyperbolic pat-tern to 25 miles or so at the ex-treme baseline extensions of thestation pair in question.

One hundredth of a lane(Abbreviated CEL.)

1/100).

Phase difference of 360° betweentwo transmitters as measured at thereceiver.

One hundredth of a cycle (1/100).(Abbreviated CEO)

Path of constant phase difference(usually at 0° or 360°) betweentwo transmitters as measured overthe earth surface. (AbbreviatedLOP in literature.)

Start time of the A transmitter(NORWAY station on 10.2 kHz)with respect to UTC (UniversalCoordinated Time as referenced toatomic cesium clock time).

Use of two or more frequencychannels to generate longer rangeLOPs as 13.6 - 10.2 = 3.4 kHz.

DifferentialOmega

CompositeOmega

Diurnal

Offset

PCA

SID

Prop

Precip orP-static

PPC

Corrected line of position measure-ments using a nearby fixed groundreference receiver.

Mathematical weighting of receivedphase on 10.2, 11.33, and 13.6 togenerate pseudo frequencies such as11.9 or 12.2 kHz for reducingeffects of diurnal changes.

Day to night changes in the posi-tion of particular station pair linesof position as measured over theearth surface.

Frequency difference between twoclocks usually expressed in frac-tional cycles where cycles are de-fined in terms of UTC seconds(Hz), may be expressed as Af/f orAt/t.

Polar cap absorption associatedwith solar radiation which causesNorthern Lights type of display —may last for hours or days and dis-turb signals which propagate overthe polar regions.

Sudden ionosphere disturbance,changes in the height and density ofthe ionosphere caused by showersof solar radiation particles associ-ated with sun spots.

Propagation of VLF signals as itrefers to Omega, such as "properror."

Precipitation static due to chargedwater, snow, ice, fog, rain, cloudsstriking conductive surfaces andantennas. Most pronounced in air-craft "E-field" antenna systemsbut also observed in marine andground monitors, particularly during very cold dry blowing snow,or sudden rain showers underneaththunderheads.

Predicted propagation correctionsas obtained from tables, or compu-ter programs built in to Omeganavigation systems.

72

—i—

—r i

■ -

' "

l

1

i

—

i

liu ma

§ t\

fl

■|IH II

1'1 8'!

m

I

BP'ff

W ""'

° 1

11 Irlil ("'I

.III! Illlil fill i;

' t

_ -ft —

1

11 hi 1: II ,. :,, ! : ! M

.1 "

1

II lll'l

1) 1 III

-, .11,: i,'.,'. . ,t in

HII

IIJL

""■

: II

IIII

il

1.1 i11

i II..! .11191111 111

nil

i

i li dO

rSlf

II i

1 ,

i

I lilnlllilllll

i

Lj

IlirJ

1

I

a) n ■

■

ra LL1

II LI

11

ill IUF't

" 1 ■;■■■■ > : ;

,11' (II

,1 I ! Ill

n in J ires

I

-■nil

I3il!.

l .HI III • i\HII. III! ,11

J.j.lHI ' 1!

in in■jui...:i li

a; mm

1 I III

ED

]'i

1

—■ riij

Li

I »■'

4 It.,.

i Hi] If ] lil

,-, II

! (1

all

in

:

_ __

0800 4/7/76

1200

1600

2000

2400

0400 4/8/76

0800

C-D 24 hr Diurnal

(Hawaii-Dakota)

10.200 kHz

Figure 5: A 24 hour record of raw data received with one of the first test rigs of the Mini-0 design. During the daylight hours,considerable 60 Hz interference was noted. This results from the fact that noisy electrical machinery or high power SCR orTRIA C controls connected to the local A C power system of the laboratory generate significant amounts of the 7 70th harmonicof 60 Hz, 10.2 kHz. This recording was made using a 4 bit precision for phase differences between the C and D station pair ofthe Omega system on April 8 1976. A total of 8640 consecutive measurements were made during the day, once every 10seconds. The results were recorded on a Heathkit chart recorder as they were measured with a 200 minutes per inch chart drivespeed.

quency bandwidths like 0.5 Hz cannot beused because the filter bandwidth is less thanthe "on time" of the signal. Other types offilters involve ceramic and mechanicalmagneto-restriction devices. Anothermethod that has sometimes been used is thesuperheterodyne receiver where a local oscil-lator is mixed with the Omega signal togenerate an intermediate frequency such as1 kHz or lower where the bandwidth of theintermediate frequency is inherently nar-rower than the incoming signal amplifiers.

The receiver local oscillator or referenceoscillator used for phase comparison musthave good stability and a frequency offset ofless than 5 X 10-6 to insure that the phasedifference over a several second gap does notdrift more than a few centicycles. Quartzcrystal oscillators can provide this. Mostreceivers use what is called a TCXO (tem-perature compensated crystal oscillator)which can be set to an offset of 1X10-7and will maintain this low offset within1 X 10"6 over a reasonable operating tem-perature range (the short term stability overseveral hours is usually much better). Thelow frequency quartz oscillators used indigital watches (215 Hz) can provide better

than 1 second per week (about 5X 10"")low offset capability when treated withsome care. The most expensive Omega re-ceivers sometimes use an atomic clock refer-ence and can operate in the direct rangingmode, comparing each station to the atomicclock without subtracting station pairdifferences.

The receiver clock system (housekeepingtimer) should provide some means of gener-ating the desired Omega sequence intervalsand a suitable reference for the phase com-parison. It is convenient to choose a crystaloscillator frequency which has some directand simple relation to the Omega frequencydesired. A TCXO clock on 2.6112 MHz isoften used (28 X 10200 Hz). Other receiversmay use a standard 5 MHz reference and acomplex frequency synthesizer to provideequivalent references. If we think in terms ofbinary systems, it is possible to deviseintermediate frequency types of digital proc-essors which use 2n Hz as the basic referenceor BCD equivalents like 1kHz, 100 Hz,10 Hz, 1 Hz and 0.1 Hz. The Mini-0 systemto be described uses a 2^5Hz clock toprovide all the reference frequencies includ-ing the Omega sequence timing rate.

73

The second part of thisseries of articles by RalphBurhans and his associatesat Ohio University will fol-low in next month'sBYTE. In part 2, you'llfind details of the hard-ware of the Mini-0 re-ceiver, which can be builtby the advanced experi-menter with interests innavigation problems. Part3 by Richard Salter fol-lows with information onprocessing software.

Another feature common to all Omegareceiver systems is some form of multiplexedphase locked or recursive filtering applied tothe phase information following the com-parator. Digital hardware sensor systems areone method where a suitable clock system isadvanced or retarded in phase by adding ordeleting pulses to a countdown chain. Anup-down counter system can also be usedwith a digital comparator. Software baseddigital filters have been devised which arebasically recursive low pass filters operatingat a relatively low sample rate. The samplingrate of the original edges is controlled by theanalog radio frequency bandwidth used inthe front end. Thus a 30 Hz bandwidthsystem might require a digital sampling rateof something like 100 Hz for optimumdetection in the Nyquist sense where theNyquist Sampling Theorem requires the sam-pling rate to be at least twice the inputbandwidth. Some systems combine bothsoftware and hardware filtering of the phaseinformation to generate final output band-widths of the information down to 0.01 Hz.With this narrow effective bandwidth, thereceiver requires a long time (2 minutes) tolock up on the signals and correspondinglycan hold lock through a lot of transientnoise where the signal drops out momen-tarily. These digital systems are inherentlysample and hold types where a shift register,counter, or latch holds the data for eachOmega time slot in a multiplexed operation.

Current research effort among micro-processor Omega researchers is involved withthe development of software based samplingsystems at a suitable low interrupt ratewhere the microprocessor itself becomes theequivalent of the voltage controlled oscil-lator as it is used in analog phase lockedloops. These are still in the developmentstage in our laboratory.

Mini-0 Receiver Concept

The simplified Omega receiver methodswhich have been used for a basic digital in-terface are shown in block form in figure 3.This consists of a short whip antenna, aradio frequency preamplifier, a 10.2 kHznarrow band filter and limiter, zero crossingand amplitude gate detectors, clock andhousekeeping timer, and finally a binarysampled phase output module. The outputconsists of 4 to 8 bit words which areprocessed after interrupts which occur at a40 Hz rate. The master crystal clock labelledHKT in figure 3 supplies all the timingfunctions necessary to operate the Mini-O asan independent monitor receiver or as aninterface for a microprocessor system. Themodules may also be used to drive hardware

digital filters or analog type signal processorsdepending on the user's interests.

4 Bit Raw Data Recordings

The Mini-0 receiver is a digital super-heterodyne design which indirectly mixes a10240 Hz local oscillator with 10200 Hz togenerate a 40 Hz intermediate frequencydifference. Because the local oscillator is onthe high side of the signal, the phase changeof the 40 Hz intermediate frequency isreversed in direction with respect to Omega.In the first work on this system a samplingrate of 8 Hz or 40/5 was used because ofconvenience. By averaging 5 cycles of the8 Hz samples, a binary count was generatedwith 4 bit precision. Example recordings ofthis raw data for measurements averagedover single time slot intervals are illustratedin figures 4 and 5."

SELECTED REFERENCES ON VLFNAVIGATION AND RELATED TOPICS

On general VLF applications:

J M Beukers, "A Review and Applications ofVLF and LF Transmissions for Navigation andTracking," J Inst of Nav 21 No. 2, pages117-133, Summer 1974.

On optimum VLF frequencies:

R Graver Brown and R L Van Allen, "ThreeFrequency Difference Omega," Proc Nat AeroSymp, Inst of Nav, Warminster PA, April 27-281976.

On RF preamplifiers:

R W Burhans, "Single Preamplifier/IsolatorDrives LF and VLF Receivers," ELEC-TRONICS 48, pages 107-108, Sept 4 1975.

On previous simple receiver designs:

R W Burhans, "Phase-Difference Method OffersLow-Cost Navigation Receivers," ELEC-TRONICS 47, pages 98-105, Sept 5 1974.

On digital concepts for Omega receivers:

R W Lilley, "Binary Processing and DisplayConcepts for Low-Cost Omega Receivers," JInst of Nav 22 No. 3, Fall 1975.

On microcomputer-based Omega systems:

R W Lilley and R J Salter,"Simulation Analysisof a Microcomputer-Based Low-Cost OmegaNavigation System," Proc Nat Aero Symp, Instof Nav, Warminster PA, April 27-28 1976.

On analog amplifiers and limiters:

W G Jung, IC Op-Amp Cookbook, Howard WSams Co, Indianapolis IN, 1974.

On microprocessor interfaces:

D Lancaster, TV Typewriter Cookbook,Howard W Sams Co, Indianapolis IN, 1976.

On applications for simple Omega receivers:

R W Burhans, "Mini-O, Simple Omega ReceiverHardware for User Education," Proc 1st IntOmega Assoc Symp, Washington DC, July27-29 1976.

74

The

POLY 88Microcomputer

System

If you are into computers or considering a system, thePOLY 88 is the machine to contemplate.

HARDWARE

• Popular 8080 central processor • Single-board CPU

with ROM, RAM, vectored interrupt, real time clock,

single-step logic and serial I/O • Video interface card -

generates video to TV monitor and provides parallel

keyboard input port • Serial and cassette mini-cards plug

directly into CPU with ribbon cables • Cassette

• ROM monitor with powerful debugger, video software,

bootstrap loader • Backplane and power supply on one

board simplifies construction • Rugged 6 amp power

supply • All circuit boards are high quality, double-sided

with plated-through holes • System is compatible with

a wide range of Altair peripherals • Minimum point to

point wiring means that the POLY 88 kit can go

together in three evenings!

ABOUT SOFTWARE

Software is the reason the POLY 88 was designed. The

operator can proceed from higher level languages like

BASIC to developing machine code with the aid of our

assembler. Our BASIC is a full 8K BASIC with character

and byte manipulation. Best of all, the programmer is

finally free of the teletype emulation mode so the video

display can be used to full advantage.

The video display provides a unique opportunity to write

new types of programs and games. Characters (16 lines

of 64) and graphics (48 by 128 grid) are part of the

processor's memory, so the display may be altered

rapidly — the entire screen written in less than 20

milliseconds.POLY 88 hardware provides manyadditional features thatprogrammers have come to expect,such as vectored interrupt and real

time clock.

See it at your local computer store.

ARE YOU NEW TO COMPUTERS?The POLY 88 was designed for ease of use. No oneshould have to learn all the inner workings of computersjust to enjoy one at a reasonable price. With the POLY88, you can "play" pre-developed programs or explorethe world of computer languages as your interests expand.

THE POLY 88 IS FOR EVERYONEWant to develop a new computer language? Want tofight Klingons?The POLY 88 provides a firm foundationupon which to build your interests and develop your skills.

POLY 88 SYSTEM PRICES:

SYSTEM 1 — Kit includes 8080 vectored interrupt

processor with real time clock, V2 K of RAM and IK

monitor on ROM: Video Terminal Interface displays 16

lines of 32 characters on a video screen and has a

keyboard input port; cabinet, backplane, and power

supply; complete assembly, operation and theory

manual. $595.

SYSTEM 2 — System 1 plus 64 character line option and

Byte/biphase cassette interface kit. $690.

SYSTEM 3 — System 2 plus 8K of RAM with BASIC

and assembler programs on cassette tape. $990.

SYSTEM 4 — The complete kit. It includes system 3 and

TV monitor, keyboard and cassette recorder with all

necessary cables and connectors. $1350.

SYSTEM 7 — System 4 assembled, tested and ready to

run. $1750.

ACCESSORIES — 8K RAM kit, $300. Assembled $385

POLY I/O Ideaboard, hardware prototyping kit board. $55.

Analog Interface (l channel) kit. $145.

Prices effective until January 15,1977. Prepaid orders shipped postpaid.

PolyMorphicSystems

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

m si uk ix •* \«jw «.

sagas.-!! ■

"gwwM Jill

lawwHw, IX^*/ *

mmm XT*1

*

.

n

F

mm ■=- ---

«Ki «*S*i

MM

Continued from page 11

IBM Selectric series. I would like to havesome suggestions and comments on thisproposed project from other readers.Any readers who can give any informa-tion on how to convert the IBM Selectricto a teleprinter will be greatlyappreciated.

Ronald K S Chan

Engineer, Engineering Laboratory

Canadian General Electric Co Ltd

3-397 Reid St

Peterborough, Ontario

CANADA K9H 4G4

FLEXOWRITING

Dear Sirn,

In recent months the Frlden Flexovrlter baa begun to turn up Innumerous classified listings and surplus catalogs as a new possibilityfor a relatively Inexpensive hard copy output device. To those con-templating purchasing one of these units, this letter stands as evi-dence that thev can indeed be interfaced to a micro' a output portwithout too much difficulty. This letter vas typed by a model 2301

Flexovrlter Interfaced to my hcmebrev 8080-baaed system running Basic.

The Interfacing of the 2200 series of Frlden Flexovrlters is similarin many respects to Interfacing old Baudot-code machines, but thereare many advantages to the Flexovrlter. First is obviously having bothupper and lover case. This plua the typewriter-type font on moatmodels make the unit very applicable to text-editing and typing pro-grama. Second, the Flexovrlter types at a practical 12codee/sec. (Theactual number of characters/sec depends on the number of case shiftsnecessary in the text.) Third, the standard 16-inch carriage providesmore than 160 columns of output, and if you're lucky enough to get theoptional 20-lnch carriage, veil

There are many different Flexovrlter models and many variations ofeach, so the prospective buyer may find the folloving Information ofhelp. The 2200 and 2300 aerlea of automatic typing machines are themost applicable of the commonly available models. While like moatFlexovrlters, they have a non-Bt*Lndard 8-level code (vhlch Is veryeasily reduced to a 7-level code J they usually feature a standard8-level paper tape punch and typewriter-type font. The 2304 evenboasts proportional spacing and secretary-shift, which might make in-terfacing easier.

a larger character set and many models

The 2200 series usually hashave the 20-inch carriage..

while the above units usually Include a mechanical tape reader andcode output from the keyboard the necesaary code converalona make itmuch more practical to use a separate ascii-encoded keyboard and op-tical tape reader for the system input.

In short, the Frlden Flexovrlter can provide a very suitable hardcopy device. Certainly the price of most of them alone makes them

quite attractive. 1 obtained two such units through rather fortunatecircumstances for free. They can be Interfaced to a para I lei aecliport for less than $50, much less if you're a good scavenger.

Anyone contemplating, or actually attempting to Interface a Flexovrl-ter to hia micro may vrlte me at the below address and 1 will be gladto help in any vay 1 can.

Sincerely,

Bob Rlndfuss

2367 leeger Rd. Ills

West Lafayette, IN

47906

The letter is reproduced here photo-graphically to show the type fontand demonstrate the practicality ofFlexowriters.

REGARDING BARCODES,CONTINUED

I read with great interest your article"A Proposed Standard for PublishingBinary Data in Machine Readable Form"in the November 1976 issue of BYTE. Iam very much interested in the problemof publishing software in cheap andeasily transmitted form. Cassette tapesrequire an expensive (~$100) interfaceas well as a not so cheap (~$3) tape.Your method requires only a piece ofpaper and a light pen hooked up to asingle input bit of a microcomputer. Thesoftware is relatively simple, and doesn'ttake up that much room. (Remember,

once the program has been read success-fully, it can be transferred to your owncassette system, if needed.)

I am worried about one aspect of thestandard that you discussed in yourarticle. I think that reliability is the keyissue - more important than eitherpeople, readability or density. Further-more, this reliability should be conservedthrough making at least one Xerox copy.I do not know the characteristics of aXerox machine that well, but I canconceive that they consistently eithermake the black bars narrower or wider.This might cause all ones to be mappedinto zeros or vice versa. I think that inaddition to a longitudinal parity check,there should be a parity bit on eachcharacter. This method allows single bitcorrection instead of single bit detection.

I have done a little experimentationwith your code format 2, which seems tohave the most reliability built in. Itseems that 1/5 inch is probably morethan necessary for the length of the bars— 1/7 inch looks good. I also think thatwhether the code is published in col-umns or rows is not so important (unlesssomeone is planning to build pagereaders).

I include the first paragraph of thisletter which has been coded into barcode and produced by the MIT ArtificialIntelligence Laboratory XerographicPrinter. This printer has 200 dots/inchresolution, and each character is 28 dotshigh and 48 dots wide. All of oursoftware is line oriented, so I have takenthe liberty of making the bars verticalinstead of horizontal. Since the charac-ters use formal 2, each zero is 2 blacklines followed by 4 white lines and eachone is 4 black lines followed by 2 whitelines. (The lines are only 1/200 inchwide, so that they merge together intobars.) Using this format, we can put 28characters on a 7 inch line, 66 lines on a10 inch page. This gives a total of 1848bytes/page. No synchronization or paritycharacters have been used, although theycould easily be added.

Henry G Baker Jr

MIT Laboratory for Computer Science

545 Technology Sq

Cambridge MA 021 39

/'his is the complete text of a letterprinted in bar code form in last month'sBYTE. See January BYTE for the barcode text referenced.

APL INTEREST?

Inspired by the APL article in theNovember BYTE, I would like to gettogether with some other people whohave access to an APL system or arelooking ahead to their own micropro-cessor based APL system and would liketo build or modify a CRT or dot matriximpact terminal to display theAPL/ASCII character set.

I have some ideas which I will shareon how to incorporate overstrike capa-bility in a CRT terminal inexpensively;

but the character generator is the prob-lem. APL character generator ROMs arenearly impossible to acquire and I wouldlike to have one manufactured.

If anyone is interested please send meyour name and address along with anycomments you may have. For example,would you prefer 5 by 7 (similar to theAPL Decwriter) or 7 by 9 charactermatrix? If I perceive sufficient interest Iwill have the chip encoded and send youinformation. I expect cost per chip to beabout $30.

Phillip Apley

Hampshire College Box 9

Amherst MA 01002

DELIVERY COMMENTS

In December 76 BYTE you includeda product review by D Anderson of ourVDM-1 Video Display Module. He did agood job on the technical side; however,I am pleased to update the 60 daydelivery time he referred to. We are nowdelivering the VDM-1 and most of ourother products FORTY EIGHT HOURSafter receipt of order when a moneyorder or certified funds are includedwith order.

Terry M Holmes

General Manager

Processor Technology Corp

6200 HollisSt

Emeryville CA 94608

IDENTITY CRISIS:ARE WE NERDS?

In the letters section of the October1976 issue of BYTE, Bryan Pattersonposed the question of what computerhobbyists should call themselves. Yourpreference for the term "hacker" leavesmuch to be desired, as most computerprofessionals could legitimately claimthis term, particularly those who spe-cialize in software development at otherpeople's expense.

In spite of over 25 years of com-mercial application, computer systemdevelopment is still largely an undisci-plined form of self-expression, using adhoc design methods, usually resulting inlate and over budget delivery of un-reliable products. Recent developmentsin software engineering are largelyscorned or ignored by the "artists" ofthe profession. Standards, usually a signof stability and maturity of a profession,are largely ignored as being a damper onthe free spirit of creativity. Judging bythe practices and results achieved by theprofessionals in the computer field, Iwould say the term "hacker" belongs tothem.

The computer hobbyist, on the otherhand, is working with his own moneyand is his own customer. Some profes-sionals are also hobbyists, but it is myobservation that more planning and care-ful design goes into their personal sys-tems than in their professional activities.Some of this is due to severe limitationson their personal resources, to be sure,

76

and such limitations always seem soobvious. The rapid adoption of suchthings as the KC cassette standard andthe Altair bus (as a de facto standard)are real signs of maturity. The freeexchange of information, constructiontips, programs, etc, by hobbyists, asopposed to the publications of thesispapers on the professional level, is muchmore practical in an engineering sense.

I would not claim that the hobbycomputer field is not subject to mud-dling, but it has a "can do" spirit to it.

The computer hobbyist seems to beinterested in the novelty, education,recreation and delight offered by thesmall programmable systems. Anacronym composed of the first letters ofthose attributes of amateur computingspells "NERD," which might be a termsuitable for the computer hobbyist. Nexttime, Mr Patterson, you can say, "Hi,I'm a computer nerd!"

Dick Curtis

4741 Newlons Dr E

Murrysville PA 15668

DIRECT BINARY?

I was reading your article in theNovember BYTE (issue #15) entitled "AProposed Standard for Publishing BinaryData in Machine Readable Form." Ithought it was a very good idea and Ihad considered it myself as a good wayto store data in bulk and an easy waynot to have to load in by hand programsthat you see in magazines. However, Ithink that there is an easier format thanthe ones proposed in your article. Thefollowing formal is similar, but takes upless space and has a consistent bit length:

V!^[XXXXXXXXXX

V0<-[

V1<-|XXXXXXXXXX

V1HXXXXXXXXXX

V1^[XXXXXXXXXX

V0«-[

vo<-

ETC.

Where Xs represent a solid black linewith no gap between lines and blanksrepresent an area with no ink at all.

I hope you will consider using theabove format as it could simplify itgreatly and also save some paper.

Wayne Loofbourrow

815 Standish Av

Westfield NJ 07090

This method suffers from the prob-lem that it is not self-clocking. A formatfor bar codes, to be usable, must beself-clocking, which virtually requiressome redundancy in the encoding,

I NEED EASY COMPUTERS!

Right now all I have going for me is adesire to use a computer, a little knowl-edge I have gained of computers from

books, and a subscription to BYTE.Even with the dropping prices of micro-computer hardware, being a student, Istill cannot afford a computer. Howabout an article on building your ownmicrocomputer, using easily availableparts and easy construction techniques,with provisions for expansion and fol-low-up articles on programming?

Mark Sebald

8722 W Bluemound Rd

Wauwatosa Wl 53226

We're working on it. Already inhouse, expected out in mid 1977, is avery detailed construction project on a6502 computer system; and we're work-ing on getting articles for several othervarieties. "Easily available" is taken tomean that most parts are found in thecatalog sheets of hobby distributors.

PRAISE FROM "DOWN UNDER"

Please find enclosed order for US($30), being 3 years subscription renewalto BYTE (as from January 77). May thehigh standard of articles continue!

G N Gould

Sydney Hospital

Biochemistry Dept

Macquarie St

Sydney 2000 AUSTRALIA

COMPUTER LANGUAGE

PTERODACTYLS, AND

OTHER BEASTIES

I write primarily In response toMr Skye's letter in your August issue. Ican only conclude that he had been withIBM too long, otherwise he would notattempt to debase the 8080 withFORTRAN or PL-I. FORTRAN is avirtual pterodactyl, flying on solely byinertia, whereas PL-I is much better, buttoo rambling in construction. If he in-deed takes up the admirable task ofwriting a high level compiler for the8080, he would be better advised to basehis compiler on a fully structured lan-guage such as PASCAL.

Inasmuch as PASCAL was originallydevised as a pedagogical tool intendedfor use in examples of systems program-ming, it does not have a defined IOstructure. In this aspect Mr Skye wouldbe quite justified in reverting to PL-I.PASCAL also lends itself readily tomodifications which would allow com-pile time extensibility in several areas.This is definitely to be preferred overadd on "features" which take exceptionto structure, syntax, grammar, or com-mon sense in any language.

Whatever the final characteristics ofMr Skye's language, it may well becomethe hobbyist's first or second program-ming language, due to early availability.Just as with natural languages, the lan-guage in which one program affects hisapproach to programming as a whole,and the first or primary language usedtends to influence all later programming.

77

Where to get it.

Equipment, parts, sup-plies and services. Hard tofind and standard items atbargain prices.

Over 600 places to findtransceivers, antennas,surplus, new and usedequipment, ^tPs/com-puters, ICs, components,assortments, assemblies,discounted items, testequipment, peripherals,etc. Hundreds of large andsmall mail order sources.

A complete directorydivided by sources, itemsand locations. Saves count-less hours of shopping.Easily pays for itself throughcomparative buying.Contains no advertising.

P-------------1

Rush my order. I enclose $5.95 plus 550postage and handling. Californians add390 sales tax. Full refund if notcompletely satisfied within 10 days.

Name.

Address.

City/State/Zip

Primary interest: Amateur Radio DCBDExperimenting D ^tPs/Computers □Send to: Peninsula MarketingDept. D

12625 Lido WaySaratoga, CA 95070

It is therefore the duty of the languagedesigner to attempt to instill the rudi-ments of proper programming practicesand style in the novice by designinglanguages which encourage or requiresuch practices. It is, admittedly, not easyto forego the use of some thrilling bit of"trick" code merely because it is con-figuration dependent, poorly docu-mented, grossly unstructured, or dif-ficult to follow when encounteredunexpectedly in the code; however, itwill be appreciated later, and practicehelps firm the will. The best solution, byfar, is to reduce the availability of suchtricks until the user has outgrown hisprogramming adolescence.

Small tricks may be introduced in thecode produced by the compiler if theyare suitably documented. In fact, thereduced resources of the average micro-computer installation provides fertileground for a well written optimizingcompiler. If optimization of tricky out-put is included in a compiler, it issuggested that a section of the user'smanual be devoted to the discussion ofeach instance, giving examples and a fullexplanation of how it works and why itwas done in that manner. It is also to besuggested that optimization be a useroption if included, as it is usually mucheasier to debug unoptimized code, thanoptimized code when finished.

I will gladly enter into cor-respondence with anyone who wishes todiscuss or debate the features whichshould properly be included in a pro-gramming language, and why (or whynot).

P M Lash ley

Director of Computing CSCS

POB 764

114 S BullardSt

Silver City NM 88061

Program structure should be lookedupon as the language level equivalent ofan integrated circuit used by the hard-ware designer. Why reinvent the DO orIF statements when you can get alanguage structure prepackaged to do thework? Why reinvent the NAND gatewhen it can be bought four per packagein a 7400? And debugging with standardpackages is so much easier, since func-tion is checked rather than internaldetails. Tiny BASIC and its later fullfunction relatives are just a start in theright direction.

APL CHARACTER ROMS?

When APL becomes available for6800s and 8080s, it will be nice to havethe APL character set, too. In view of theprofusion of television displays based onthe Motorola MCM6570 series charactergenerator chips, I investigated the prac-ticality of obtaining an MCM6570 seriesgenerator for APL. My initial enthusiasmwas almost quenched by my localMotorola representative, who informedme that although the unit price of acustom 6570 would be only $8.50, theminimum order would be 500 units and

the custom-masking charge, a cool$1000.

While I can't justify spending $5250($8.50 X 500+ $1000) for one or twochips, I wonder how many people wouldbe willing to spend $10.50 (5250 +500)? Or would one of the televisiontypewriter manufacturers be willing totake the plunge, design and market anAPL television typewriter, and con-currently finance and vend theAPL 6570?

These approaches to the design of thenew chip should be considered:

1. By omitting approximately four"noncritical" APL characters -ie: characters not used to repre-sent APL functions — the entirecharacter set, including overstruckcharacters, can be generated byone chip. This would auto-matically make any 6570 basedtelevision typewriter an APLtelevision typewriter by simplechip swapping.

2. Devoting a full chip to those APLcharacters that have no ASCIIcounterparts, the full APL charac-ter set and full ASCII characterset, including all legal (and someillegal) APL overstrikes, can beaccommodated using a standardASCII 6570 as well. Requiredmodifications to the televisiontypewriter with this approachwould include a chip select bit foreach character in the refresh buf-fer, addition of chip selectioncircuitry in the video generator,and redesign of any cursor cir-cuitry (like that of the ProcessorTechnology VDM-1) that dependson using only 7 bit ASCII.

Roderick Montgomery

52 Birch Av

Princeton NJ 08540

Creating a demand is what is needed.Would an APL enthusiast be willing topay $52.50 for an APL character genera-tor? If that were the case, all it wouldtake would be 700 such people to gettogether, buy 500 ROMs and use only100. (Or better, give each purchaser 5ROMs to do with as he or she pleased.)However, demonstrating a marketinterest in the products is a better way.Let's see how many BYTE readersare really into APL, document that,and use it as a message to potentialmanufacturers.

BELL 103 MODEMS NEEDED

It seems to me that as the hobbyistand small business computer field con-tinues to develop, data communicationswill become increasingly useful and pop-ular. Because the Bell 103 type datacommunications hardware interface isalready a broadly accepted interface, Iintend to use it and hope it will bewidely used by other hobbyists andsmall business operators (at 30 and 10characters per second).

I have a Tarbell cassette interface,and I intend to use it extensively in mysystem. However, the fact that no tapeinterface seems to be evolving as ahardware standard is creating a problemin the exchange of tapes by micro-computer users.

Is it not easily possible to use anoriginate answer modem as a tape inter-face? Wouldn't this be an ideal hardwarestandard for the exchange of cassettetapes in our field? I don't have the timenow to describe all of the potential costand flexibility advantages of such anidea, but I'm sure they can be easilyimagined.

Stephen T Moore

Moore Research

POB 1562

Sacramento CA 95814

/ think modem recording on tape hasbeen tried . . . with less than optimalresults due to the old "wow and flutter"problem. Besides, there are manu-facturers now claiming that by usingspecial techniques they can get 400bytes per second versus communicationsrates; so why be stuck with a low rate?

STANDARDS

I am very confused about theplethora of cassette data recording"standards" presently available to thecomputer hobbyist. The more I readabout them, the more confused I get,and I am pretty sure that I cannot be theonly hobbyist out here with this dif-ficulty. If you could answer the ques-tions below for me, I think you will beperforming a noteworthy service formany of your readers:

1. Which "standards" are presentlyin use?

2. Which are gaining/losing favorwith hobbyists?

3. Which are compatible with MITSCassette BASIC?

4. Which are easiest to implement inhardware/software?

5. Which system is the fastest?

6. Is there any relationship betweenthese "standards" and the Na-tional Multiplex system advertisedin BYTE?

7. Is there a consensus at BYTEabout what system you wouldprefer to load MITS BASIC andto store programs on an Al-tair 8800?

I realize that the answers to thesequestions could be both involved andlengthy, but any help you could give mewould be greatly appreciated.

Chessman Kittredge III

14 El Sereno Ct

San Francisco CA 94127

/. Audio tape recording media varyfrom manufacturer to manufac-turer. MITS uses the ACR boardof their own design, with modem

78

:*&*#'*

9*r*e<

<fr*~ •"£

'&

. <&%&&*

.*&%&

i^<^>

o^ .r*g^w

s&r^ies*

like choices of frequencies. DigitalGroup uses a similar method, butwith different frequencies. The socalled "Kansas City" standard isrepresented by several differentmanufacturers, including South-west Technical Products' AC-30and Per Com. Motorola is also re-ported to be using it with itslatest evaluation board kit. TheTarbell high speed standard is oneof the best in terms of speed ofoperation, as is a "Kansas City"standard interface operating with-out redundancy using a 2400baud data rale.

For audio cassettes, as in all IOoperations, unless some other cir-cumstance gets in the way, thefaster the operation, the betteroff you are.

All IO methods are in principlecompatible with MITS CassetteBASIC. The only problem is youprobably will need to do a "hack"on that BASIC'S object text inorder to make it work in non-standard ways. We have not donethat (yet) so the problems to beencountered can only be con-jectured . . . but it has been doneby more than one user.In principal, nearly all of thedifferent audio recording stan-dards can be best implementedwith one set of hardware andseveral software designs for theencoding and decoding al-gorithms. The hardware minimumis an output (optionally filtered)from a TTL gate or equivalent,and an input signal conditioningport (single bit) which convertssine waves (more or less) from thetape into a clean clipped squarewave while preserving transitiontimes. Then the different Inter-faces are typically achieved bysimply using a different 10 driverprogram.

5. To find out which system is thefastest, look at their data rates. A300 baud system such as theunmodified "Kansas City" stan-dard is obviously much slowerthan the same hardware driven at2400 baud. Also, look at thesoftware being used for for-matting the software. A cassettewith a raw bit rate of 2400 baudwill have an effective bit rate everso slig/itly lower if the asynchro-nous data format of a UART isused, considerably lower if re-dundant coding is used to checkor correct errors, and possibly aslow as 30% of the maximum raleif the software employed sendshexadecimal data as ASCII codesfor hexadecimal digits.

6. The National Multiplex systemdiffers from the normal audiointerface only in the greater effec-tive speed possible, and the factthat it ignores the original headdrive electronics of an audio chan-nel and achieves greater speed inthe electronics by driving thehead digitally and directly.

7. In a way, yes . . . the faster thebetter.

This is by no means an attempt to becomplete about the answer. A fulleranswer might make good material for anauthor to supply a detailed comparisonaimed at the neophytes just comingaboard.

OPPORTUNITIES

Display Text, Washington DC, hasjust introduced a Word Processing (texteditor) microcomputer for $13,990. Thesystem incorporates 24 K bytes of RAM,a Zilog Z80 chip, two Sycor flippiediskettes, a Thompson 66 line CRT, anda 55 characters per second Qume (type-writer quality) printer.

At that price I expect the system to

sell quite well. The marketing outlets areto be selected from independent dealersin most metropolitan areas. (Entre-preneurs take note.)

So what? The opportunities forknowledgeable "microexperts" are un-limited with this system and manyothers. The significance of the DisplayText system versus other systems is itsZ80 full page 66 line CRT. Systemoperators can scan a page on the CRTand know exactly how it will lookprinted. Of course, software by the megabytes is needed to allow lawyers, in-surance agents, doctors, etc, to do thingsother than word processing on theirZ80s.

Never before have we had computersin the home to produce and debugcommercially valuable software. I ampersonally involved with various smallerlaw offices in an attempt to help themselect equipment and software to handletheir typewriting, timekeeping, account-ing, and case deadlines. This system andother microcomputers for the com-mercial market could be a very re-warding vehicle for computer enthusiastswho can produce software or hardwareassistance.

Allen Swann

Legal Office System Consultant

2510 Oak Trails 104

Clearwater FL 33516

WUMPUSSOFTWARE?

I have written a machine languageversion of WUMPUS by Greg Yob. It's agreat game. The 8080 program is under3 K and is completely self-contained: Itrequires no user PROM subroutines.Anyway, if anyone wants a listing, justsend name, address, and $5 to:

Ron Santore

1957 Huasna Dr

San Luis Obispo CA 93401

SWTP 6800 OWNERS-WE HAVE A CASSETTE I/O FOR YOU!

The CIS-30+ allows you to record and playback data using anordinary cassette recorder at 30, 60 or 120 Bytes/Sec! No Hassle!Your terminal connects to the CIS-30+ which plugs into either theControl (MP-C) or Serial (MP-S) Interface of your SWTP 6800Computer. The CIS-30+ uses the self clocking 'Kansas City'/BiphaseStandard. The CIS-30+ is the FASTEST, MOST RELIABLE CAS-SETTE I/O you can buy for your SWTP 6800 Computer.

PerCom has a Cassette I/O for your computer!Call or Write for complete specifications

$69.95 - KIT*$89.95 - ASSEMBLED*

Manual only - $4.00(refunded w/o)

*plus shipping

PerCom Speci al!2502 UART-$6.95

PerCom Data Co.

P.O. Box 40598 • Garland, Texas 75042 • (214) 276-1968PerCom — 'peripherals for personal computing'

TEXAS RESIDENTS ADD 5% SALES TAX

80

BROADCAST STATION HANDLER?

Mr Hosking's article "A Ham's Applica-tions Dream" [page 26, October 1976BYTE | is very dear to my ulterior motivesfor studying the current revolutionary worldof microcomputers.

In addition to being an old "ham" I amcurrently chief engineer for a small butautomated FM broadcast station located atan altitude of 8500 feet (2600 m) in theSierra Nevadas.

The "automation" system is a solid statedevice that was built about 20 years ago andis quite reliable but is slowly becomingobsolete. Some foresighted individuals in thebroadcast industry have begun to use com-puter techniques but on a limited and verycostly basis.

I have talked to a few microcomputersales people regarding my application butreceive an "I dunno."

Would it be possible for an Altair 8800Aor equivalent to, say, sequentially handle2000 events (switch tape deck, etc) in "realtime" and give a "hard copy" (log) for abroadcast station and still be simple enoughfor an announcer or secretary to programthe day's events? (And of course, not cost anarm and a leg?)

Thanks to you and your staff for anunderstandable approach to a very com-plicated and otherwise distant world of smallsystems.

Joe Alvin CE

KMMT

Mammoth Mountain FM Associates Inc

POB1284

Mammoth Lakes CA 93546

If I were building such an application, Iwould want at a minimum a floppy disksystem, and a good reliable printer. Using asingle drive floppy system with 16 K bytesof memory and building custom drivers forall the events, as well as a custom real timeclock, such an application could probably beassembled in the $4000-6000 range for partsand subsystems, excluding labor. Would anyreaders with station automation experiencecare to share experiences?. . . CH

PROGRAM "BANK" NEEDED

After a year's exposure to your very linecomputer hobbyists' magazine, I feel con-siderably enlightened on the subject. Thearticles and advertisements have convincedme of the significance the machines will playin the computer revolution.

Although I confess to be a confirmedcomputer hobbyist, I do not plan lo submitto some of the rigorous repetitive activitiesthat have been proven by other hobbyists.Namely, rewriting proven programs andmanually loading the software into mycomputer.

In many of your articles over the pastmonths, considerable information has beenprovided on peripherals that interface andload typical programs into a computer'smemory. However, I find myself in some-what of a void regarding how lo rapidly loada program into a paper or cassette tapereader.

Is there a company or group that willtranslate software into a paper or cassettetape for a nominal fee? Is there a program"bank" where the hobbyist can order proven

software already on paper or cassette tape?Is there available lo the hobbyist a translatorthat can perform the same?

Any articles or services that might illumi-nate these questions will be of great help tome and I'm sure to other computerhobbyists.

Laurence P Williams W5IIQ

111 Bradford Cir

Ocean Springs MS 39564

See the information currently in BYTEregarding optical scanning of printed barcodes, and watch BYTE for informationregarding clubs and other sources of soft-ware. We expect to be providing a softwarelibrary of machine readable PAPER-BYTES™ and SHEET PROGRAMS™using the printed bar code techniques. Watchfuture issues of BYTE for information onthe PAPERBYTES™ project. (PAPER-BYTES™ and SHEET PROGRAMS™ aretrademarks of BYTE Publications Inc.)

MORSE REACTIONS TO OCTOBER

I do believe filling your October coverwith "BYTE" in Morse code was a bit

self-centered. (—... —. .) Although the

picture of Joseph Henry's telegraphy keywas very interesting.

To remark on Hickey's article, "TheComputer .... Versus .... Hand SentMorse Code," I must say that it was verygood. But an interesting point came up whenI read it. If every amateur radio station usedcomputers in sending and receiving Morsecode there would be no need for Morsecode. Each station could, and might as well,just use ASCII. Of course the use of ASCIIwould eliminate the use of telephone linesfor teletype. This would not be good forphone companies but businesses and peoplerenting time on a larger system could benefitfrom the use of the air transmissions. I hopethis idea could be developed further.

Mark Lentczner445 Third StBrooklyn NY

There is only one problem, though.Amateur radio is amateur; commercial mas-sages are not allowed on the air to amateurs.However, an amateur radio communicationsnet for passing games, personal use pro-grams, etc, back and forth would be quitelegit/mate within the constraints of beingamateur. We're looking for articles to ex-plore that possibility using established com-puter network software concepts presentlyused only by the "biggies."

As for the cover issue, isn't the cover of amagazine supposed to advertise its name???

AGGRESSION BY COMPUTER

Our faculty, staff and students are de-lighted with the way BYTE has developed.We look forward each month to receivingthe next issue.

Every day we hear "the computer isresponsible!" Business and government areexperiencing problems in computer dataprocessing. Many of the difficulties arc inrelationships with the consumer public.Recipients are invariably frustrated in cop-ing. I am researching "case studies" involvingpeople who are having troubles created by

the alleged computer error. I would like tohear from these people describing theirsituations and what steps they went throughin solving, or attempting to solve the diffi-culties. All responses will be treatedconfidentially.

Dr Richard A Bassler

Associate Professor of Computer

Systems Applications

CTA-B The American University

Washington DC 20016

HANGMAN?

I have bought several issues of yourmagazine and have enjoyed reading themvery much. Although I am new to program-ming, and do not have a microsystem, I haveaccess to an IBM 370/158 and an IBM 1 I 30computer. I am learning much from BYTEon programming.

Please, if you know of one, give me thename of a book or an article on games forcomputers, namely HANGMAN. The lan-guage can be in assembler, Fortran, Basic, orPL/1. I would appreciate this very much, as Ihave hacked my brains out trying to figurethat one out.

Robert Todd

1815 N Boomer Rd Apt F-20

Stillwater OK 74074

See page 1/8 of 101 BASIC Games, a 250page paperbound book available for $7.50plus $.50 postage/handling from SoftwareDistribution Center, Digital EquipmentCorp, Maynard MA 01754. This book con-tains a complete listing of the program,written by Kenneth Aupperle of MelvilleNY. See also, page 18 of What To Do AfterYou Hit Return, published for $6.95 byPCC, POB 310, Menlo Park CA 94025, for adescription of how to use such a game. (Toget the game program itself, order HANG-MN for $3 in paper tape form.)

DATA BASE MANAGEMENT INFORMATION ?

I am a charter subscriber to BYTE maga-zine, and very much interested in gettinginto the home computer field. However, Icannot justify it on the basis of it being the"ultimate toy."

I, and possibly many others, could justifyit if the home computer could be applied todo useful work around the house.

One application which comes to mind isthat of home or small business recordkeeping. This brings up the complex subjectof data base management systems.

I would very much appreciate a disserta-tion in BYTE on the design and implementa-tion of data base management. It could bepresented as if the user had an Altair 8800printer, keyboard, and one or more tapecassettes. For example, flowcharts and sam-ples of 8080 code could be used to illustratehow an editor updates a variable lengthrecord on cassette by inserting, deleting, orchanging data somewhere in the middle of acassette record.

I believe amateur radio grew as it didbecause of the social benefits of its applica-tions. Amateur computing must also have abeneficial goal in order for it to grow.

H C Bickel587 Kiersted AvKingston NY 12401 ■

81

The Impossible DreamCassette Interface

Daniel LomaxCommunity Data Systems114 E Mohave RdTucson AZ 85705

In May 1975, I had a new Altair 8800,from the original Popular Electronics offer,with 256 bytes of memory and no moremoney. What could I do besides blink lights?The first thing I noticed was that there is anaddressable latch in the system, the Inter-rupt Enabled latch on the 8080, which isnicely buffered and displayed on the Altairfront panel. After turning it on and off for afew hours, it occurred to me that, with anearphone, the light might make music, and,after several day's mad programming, someincredibly accurate baroque music emerged,including one recorder piece of which amusician friend — who loaded the data for it— said he had never before been able to hear,being too busy playing it.

After making recordings of the music, thequestion arose: "If I can record music, whynot digital data?" I hadn't heard of thevarious systems being developed at thattime, and my tape recorder is a Ward'sAirline $30cheapie. But, anyway, I recordedvarious tones on cheap tape, played themback, and looked at them on an oscilloscope.I found that a 2000 Hz tone, linked to thetape recorder through a 0.1 uF capacitor,

was reliably reproduced — more or less —with the tape recorder volume turned all theway up, as an 8 V peak to peak "square"wave: That is, "reliably" in the sense thatthe signal never failed to clip, had no visibleglitches, and I could see no missed cycles.There was jitter in the frequency, a fewpercent.

So, 1 built a breadboard single channelinput interface to look at the signal, capac-itor-coupled, and diode-limited betweenground and +5, with Altair IN instructions.Though this interface was all TTL-— noactive linear components — it was stillunnecessarily complex, as I will show. Any-way, using one cycle of 1100 Hz as 0 andtwo cycles of 2200 Hz as 1, I found that Icould record data and recover it reliably,using the Altair to time the interval betweentransitions of the playback signal. Accordingto what I have read, this is impossible. 3MCorp is supposed to have spent manymillions of dollars working on cassette datarecording systems, only to find that audiocassettes were too unreliable. Therefore,established engineers need read no further(except as entertainment), since this might

About the Author:

Daniel Lomax learned electronics in the physics laboratory at Cal Tech inthe mid 60s, but never graduated. Recent work in printing and publishingbrought him in contact with a burned out Honeywell Controller which waspart of a nonworking Photon phototypesetter, repair of which created abusiness for him (phototypesetter repair) and taught him TTL logic. He Isactive In the L-5 Society, a group working to encourage the establishment ofpermanent human colonies at the L-5 Lagrangian point of the Earth-Moonsystem. Demonstration of his typesetting proficiencies came to us inthe form of excellent typeset manuscripts (which we reset for editorial andstylistic reasons).

82

CASSETTE,"EAR- a,8/lF9 )h"

IN4I48

-f7T> PINT, ALTAIR INPUT

IN4I48

ALTAIR, PINTE [28^>-

0.5^F CASSETTE, "AUX"

-)l

*

OUTPUT

be in the same class as perpetual motion andangle trisection with compass andstraightedge.

But, if you are an impoverished hobbyist,and would like to store programs and data atmore than 1500 baud without spending anymoney — assuming you have a tape recorder,some capacitors, diodes, and connectors —let us dream the impossible dream together.[The "unreliability" of a device is notnecessarily dependent upon the modulationmethod alone. This method hardly contra-dicts any principles of informationtheory CH/

After doing the above experiments, thecorporation which owned the Altair folded,and with it my source of income andsupport for my family. I ended up with theAltair, but had no time to play with it untilrecently. Meanwhile, I have been followingthe literature, and have observed all kinds ofproposed systems, none of them fast enoughfor the kinds of applications I have beenconsidering and cheap enough for me toafford. Like Dr Suding [see "Why Wait?"page 46, BYTE, July 1976], I cringe at thethought of waiting 15 minutes to find outthat noise has destroyed data and I have tostart over.

My original bootstrap loader program was64 bytes long and included a routine whichautomatically set the appropriate timingvalue by examining a string of zeros whichpreceded the data on the tape, and whichupdated that value using the stop bit be-tween each byte. This article, however,describes a shorter loader, not automaticallyself-adjusting, and the hardware has beenpractically eliminated.

It seems I had overlooked the fact that inthe Altair there is, in addition to the senseswitches, one free input channel — of sorts —PINT. If PINT cannot be used for somereason, a program can be written usingnormal input channels. Also, there is noreason to output two cycles for a single bit,

Figure I: Schematic of the "Impossible Dream" Signal Conditioning Logic.The output consists of simply driving the cassette recorder's input with a TTLlevel signal. The 0.5 uF capacitor is optional, according to the author, and canbe replaced by a direct coupling. The input is a simple network to clip thesignal coming bach from the tape recorder.

Listing 1: Minimum Hardware Cassette Output Program. This program is astand alone method of recording data starting at location BUFFER on to therecorder through the Altair PINTE line. This program terminates when thepage address is zero. A more general program could of course be written bychanging the initial conditions, and the end of execution test at locations 046and 047. Note that in the listings of this article, the notation <0> is used toindicate page addresses. The programs shown can be loaded at any arbitrarypage boundary by substituting an octal number (such as 003) for <0> everytime it appears.

Split

Octal

Address

Octal Code

Label

Op

Operands

Commentary

377

SSW

EQU

377

200

BUFFER

EQU

200

<0>/000

041

200

<0>

• START

LXI

H,BUFFER

set initial output pointer;

<0>/003

061

200

<0>

LXI

SP,BUFFER

set the stack;

<0>/006

333

377

LOAD

IN

SSW

input timing value;

<0>/010

117

MOV

C,A

save it in C;

<0>/011

027

RAL

set carry if SSW7 active;

<0>/012

324

055

<0>

CNC

ZERO

if not, output data '0';

<0>/015

322

006

<0>

JNC

LOAD

and if not, look again;

<0>/020

017

RRC

recover timing value bit 7;

<0>/021

117

MOV

C,A

save it in C;

<0>/022

315

066

<0>

NEXT

CALL

ONE

output "I1 as start bit;

<0>/025

176

MOV

A,M

look up data byte;

<0>/026

006

010

MVI

B.010

load bit counter to one byte length

<0>/030

007

BIT

RLC

set carry if data 'T;

<0>/031

334

066

<0>

cc

ONE

if '1', output '1';

<0>/034

324

055

<0>

CNC

ZERO

if not '1'; output '0';

<0>/037

005

DCR

B

decrement bit counter;

<0>/040

302

030

<0>

JNZ

BIT

if byte incomplete, output next bit

<0>/043

315

055

<0>

CALL

ZERO

byte complete, output stop bit;

<0>/046

054

INR

L

advance output pointer;

<0>/047

302

022

<0>

JNZ

NEXT

go output next byte;

<0>/052

166

HLT

page done, halt;

<0>/053

000

NOP

space for

<0>/054

000

NOP

exit jump;

<0>/055

363

ZERO

Dl

turn off PINTE;

<0>/056

315

105

<0>

CALL

TIMEA

wait 2C cycles;

<0>/061

373

El

turn on PINTE;

<0>/062

315

105

<0>

CALL

TIMEA

wait 2C cycles;

<0>/065

311

RET

<0>/066

363

ONE

Dl

turn off PINTE;

<0>/067

315

112

<0>

CALL

TIMEB

wait C cycles;

<0>/072

315

105

<0>

CALL

TIMEA

wait 2C cycles;

<0>/07S

373

El

turn on PINTE;

<0>/076

315

112

<0>

CALL

TIMEB

wait C cycles;

<0>/101

315

105

<0>

CALL

TIMEA

wait 2C cycles;

<0>/104

311

RET

<0>/105

121

TIMEA

MOV

D,C

load timing counter;

<0>/106

025

WAITA

DCR

D

count cycles;

<0>/107

302

106

<0>

JNZ

WAITA

count until zero;

<0>/112

121

TIMES

MOV

D,C

load timing counter;

<0>/113

025

WAITB

DCR

D

count cycles;

<0>/114

302

113

<0>

JNZ

WAITB

count until zero;

<0>/11 7

311

RET

83

Listing 2: Minimum Hardware Cassette Bootstrap Loader. This program isused to read the data recorded on a tape by the output program of listing 7.The program is set up to assume coordination through the Altair interruptline PINT, but the method could be applied using timing loops on input aswell.

Split

Octal

Address

Octal Code

Label

Op

Operands

Commentary

200

BUFFER

EQU

200

<0>/000

041 200

<0> '

START

LXI

H.BUFFER

set initial load pointer;

<0>/003

061 200

<0>

LXI

SP,BUFFER

set the stack;

<0>/006

066 000

CLEAR

MVI

M.000

clear initial load location;

<0>/010

303 106

<0>

JMP

SET

go to work;

<0>/070

063

INT

INX

SP

reset

<0>/071

063

INX

SP

stack pointer;

<0>/072

270

CMP

B

was interrupt immediate?

<0>/O73

312 110

<0>

JZ

INTE

if so, try, try again;

<0>/076

326 001

SUI

001

set carry if data '1';

<0>/100

176

MOV

A,M

look up byte under construction;

<0>/101

027

RAL

rotate through carry;

<0>/102

167

MOV

M,A

put it away;

<0>/103

332 122

<0>

JC

BYTE

if byte complete, go advance pointer;

<Q>/106

333 377

SET

IN

SSW

input timing criterion (sense switches!

<0>/110

107

MOV

B,A

hold for comparison;

<0>/111

373

INTE

El

enable interrupt:

<0>/112

000

NOP

give it time to act before timing;

<0>/113

075

COUNT

OCR

A

time period until interrupt;

<0>/114

302 113

<0>

JNZ

COUNT

A>0 at interrupt, data '0';

<0>/117

303 117

<0>

LOOP

JMP

LOOP

A=0 at interrupt, data '1';

<0>/122

054

BYTE

INR

L

advance load pointer;

<0>/123

302 006

<0>

JNZ

CLEAR

if not end of page, go load next byte;

<0>/126

052 001

<0>

LHLD

START

restore initial load pointer;

<0>/13l

351

PCHL

transfer control to object program;

Listing 3: Timing Test Patches to Listing 2. These patches are used to verifythe timing for the outputs by testing the actual timing values received foreach bit, storing them instead of the data.

Split

Octal

Address

<0>M13

<0>/O76<0>/077<0>/100<0>/101<0>/102<0>/103

<0>/131

Op

Operands

074

000000000000167303 122 <0>

166

COUNT

ORG

113

INR

A

ORG

076

NOP

NOP

NOP

NOP

MOV

M,A

JMP

BYTE

ORG

131

HLT

Listing 4: Dropout Test Patches to Listing 2: These patches are used to lookfor spurious binary 1 data in a tape filled with binary Odata. The Altair willhalt on any byte which is not 000 (octal).

SplitOctalAddress Octal Code Name

<0>/122 054 000 BYTE

<0>/124 312 006 <0><0>/127 166

Op

Operands

ORG 122

CPI 000

JZ CLEARHLT

so the revised program looks for one cycle of2020 Hz as 0, and one cycle of 1470 Hzas1.

To try the system out, you can use asolderless breadboard, or even just a bunchof jumpers with alligator clips. PINTE (foroutput to tape) can be picked up on thefront panel. Both PINT and PINTE can befound on the motherboard, at Altair back-plane connector pins 73 and 28, respec-tively. I have found it convenient, fordebugging programs using interrupts, to wirePINT to one of the extra switches on theAltair front panel, connecting the centerterminal of the switch to ground. For theclipping network, I pick off ground from the

motherboard support rails, and +5 V fromthe front panel. Connect it all up as shownin figure 1.

For a system test, clear the memory, thendeposit the output program shown in listing1 into the memory. Replace the HLT at000,052 with a JMP START,303. The NOPswill serve as the START address. Set thesense switches to 010, and initiate RUN.Start recording. Wait about five seconds,then switch SSW7 to 1. Let the tape run toits end before stopping the Altair. This testbegins by outputting continuous zero bitsand then, when SSW7 is turned on, itoutputs a start bit in the 1 state, then eightdata zeros followed by a stop zero. Then itrepeats with another start bit, and so forth.

To read back this data, deposit thebootstrap loader into the memory. Changethe PCHL at 000,131 to HLT (166). Withthe connector out of the earphone jack ofthe recorder, so you can hear the recording,start playing the tape. When the clean, highpitched tone starts (the train of zeros), stopthe tape recorder immediately. Put theconnector back in, and turn the recordervolume all the way up. Set the senseswitches to 050. Start the recorder, wait asecond or so for it to settle, then start theAltair with the RUN switch. The Altairshould, when the tape runs into the data andbegins transmitting bytes, load for about ahalf second and then halt. To get out of thehalt condition, hold the STOP switch upwhile you RESET. The memory, from000,200 to 000,377 should be blank, allzeros. Put 377 into 000,377, and try loadingthe tape again. 000,377 should come outblank again.

If it doesn't work, tape recorder signalpolarity may be reversed between recordingand playback. Try reversing the signal andground leads from the tape recorder to theinput network. (Disconnect the output con-nector and any other common grounds.) Ifthe system then works, interchange the Eland Dl instructions in the output program toproduce correct results with normal con-nector polarity.

To verify the timing, you can modify theloader as shown in listing 3. Set the senseswitches to 000. Start reading the tape whiledata is being played back, rather than duringthe leader zeros as usual. The Altair shouldquickly halt. At address 000,200, and insequential addresses, you should find thetiming values for each bit as it came in. Makea list of these values, and you should see thedata pattern. The value 050 was chosen tobe in between the timing values for 0 and 1.

To test tape for dropouts, which will readas spurious 1s, use the bootstrap loader with

84

the patch shown in listing 4. Start therecorder and Altair as usual for data, withthe test tape having been filled with data000 as in the first test. The Altair will halt ifit finds any byte that is not 000. It will alsoprobably halt when the tape ends, fromshutoff noise.

The data rate for this system, as de-scribed, varies with the data: 1470 baud forall binary Is, 2020 baud for all 0s. I suspectthat it would work with higher data rates;but, for my cheap cassette, the signal levelwon't drive TTL reliably much above 2 kHz.The addition of an amplifier or zero-crossingdetector could compensate for that problem,possibly increasing the data rate by a factorof two to four; of course, a better recorderand better tape would also help.

The key feature of this method of re-cording data is that the recorded signal issymmetrical: It spends as much time high aslow. I found that, if I tried to recordunsymmetrical signals on the cassette, thenarrower pulses tended to be present only asdips and bulges in the distorted attempt at asine wave that the recorder produces.

Figure 2 shows the waveforms present inthe system under various conditions. If thecassette output does not produce a reliableinterrupt, try a larger value capacitor or a

Figure 2: Tracings of Typical Signals.

The PINTE output signal from the Altair which is fed to the recorder.The input signal clipped and seen by PINT when a recording of (a) isfed back into the computer.

Typical signals, in the case where polarity is reversed. See text for acomplete explanation.

lower frequency (increase the sense switchsetting from 01 0).

A final note: Timing values (sense switchsettings) described in this article areappropriate for an Altair 8800 with memorywait cycles. If the processor is running at 2MHz with no wait states, try 014 as senseswitch setting for the Output Program, and074 for the bootstrap loader."

&

&

FROM

HOBBY-WRAP

COMPLETE WITH BIT AND SLEEVEONLY$

34

Now you, the hobbyist, can dowire-wrapping professionally withour easy to use Hobby-Wrap gun.

OK MACHINE & TOOL CORPORATION

3455 Conner St., Bronx, N.Y. 10475/ (212) 994-6600 / Telex 125091

.025 sq. post,AWG 30 wire(batteries not included)

85

Baker Street Irregular

Robert Baker15 Windsor DrAtco NJ 08004

FILL IN:

4 Letter Words

7 Letter Words

8 Letter Words

9 Letter Words

BETA

DENSITY

BINOMIAL

DEVIATION

CASE

GROUPED

CUMULANT

EMPIRICAL

MEAN

POISSON

HARMONIC

GEOMETRIC

MODE

THEOREM

KURTOSISMARGINAL

VARIATION

5 Letter Words

11 Letter Words

QUARTILE

10 Letter Words

GAMMA

COEFFICIENT

SAMPLING

ARITHMETIC

RANGE

CONDITIONAL

SKEWNESS

CUMULATIVE

CORRELATION

VARIABLE

PERCENTILE

6 Letter Words

DECILEEXCESS

EXPECTATIONMULTINOMIAL

VARIANCEWEIGHTED

REGRESSION12 Letter Words

MEDIAN

DISTRIBUTION

MOMENT

D

1S

r

R

1

mm

u

■ t

■

o

N

■

86

FLIP OVEROUR FLOPPY

Only $750 from Peripheral Vision.

Peripheral Vision is a brand-new company that's dedi-cated to selling reasonably priced peripherals for variousmanufacturers' CPU's.

We think you'll flip over our first product.

It's a full-size floppy disk for the Altair-lmsai plug-incompatible S-100 BUS. And it's available for as low as $750.

Here are the features:

• 1 interface card supports 4 drives

• Stores over 300,000 bytes per floppy

• Bootstrap EPROM included—no more toggling orpaper tape

• Completely S-100 plug-in compatible

• Interface cabling included

• Drive is from Innovex (the originator of the floppyconcept)—assembled and tested

• Interface card design is licensed from Dr. KennethWelles and the Digital Group

• Disk operating system with file management systemincluded on floppy

• Cabinet and power supply optional

Prices:

Interface card kit andassembled and tested drive

Power supply—+24V at 2A

Cabinet—Optima, blue

different manufacturers' peripherals and CPU's. We want toget them together. And, we want to bring significant newproducts to market—products consisting of everything fromadaptation instructions/kits for hardware and software tomajor new products.

It's a tall order, but we feel we're up to the task.Peripheral Vision has already obtained a license fromThe Digital Group to adapt versions of some of their prod-ucts to the S-100 BUS. And we're working on getting morefrom other companies.

Most important to our customers, Peripheral Vision iscommitted to helping you get along with your computer.We'll do all we can to make it easy.

Write us now for all the information on our company,our philosophy and our exciting line of products. And beprepared to flip over all of it.

Kit Assm.

$75045

$8506585

y !/}&Di] **

RO. Box 6267/Denver. Colorado 80206/(303) 733-1678

Send me the works, and I just might flip over it!

Name

Now, a little more about our company.

Peripheral Vision may be brand-new, but we have someold-fashioned ideas about how to run our business.

We know there are serious incompatibilities among the

Microprocessor Update:

The F8 System

*-

1

^^~

40 ■

WRITE-

2

39 ■

Vdd-

3

38

Vgg-

45

3736

IO03-

DB3-

678

353433

10 13-

IO 12-

DB2-

91011

32

3130

IP02-

IO 01-

DB1-

121314

29

2827

IO 11-

IO 10-

DB0-

1516

2625

IO00-

ROMC0-

17

24

ROMC1-

18

23

ROMC2-

19

22

ROMC3-

20

21

Pin Name

DB0- DB7*, WRITE

IP 00- IP 07

IO 10 - IP 17

RC

RPMCO - ROMC4

EXT RES

INT REQ

ICB

XTLX

XTLY

VSS = 0 V

VDD = +5 >

VGG = +12 V )

Robert Baker

RC

15 Windsor Dr

XTLX

Atco I\IJ 08004

XTLY

EXT RES

iolw

DB4

- IP 14

IP 15DB5- FO~05

IP 06DB6- iPT6

IP 17DB7TP~07VSS

INT REQ

ICB

RQMC4

Description

Data bus linesClock linesIO port zeroIO port oneRC network pinControl linesExternal resetInterrupt requestInterrupt control bitCrystal clock lineExternal clock line

Power lines

Type.

Bidirectional

Output

Bidirectional

Bidirectional

Input

Output

Input

Input

Output

Output

Input

Input

Figure 1: Pin designations for the 3850 central processing unit chip.

The architecture of the F8 microproces-sor is rather unique in design since the vari-ous system functions are deliberately dividedamong the several basic circuits of the F8family instead of being centralized within asingle processor. The currently available F8system components include the followingdevices:

3850 central processing unit

3851 program storage unit

3852 dynamic memory interface

3853 static memory interface

3854 direct memory access

These devices are interconnected by an 8 bittime multiplexed data bus for addressing anddata functions, along with a 7 bit controlbus for system coordination and synchroni-zation. System timing signals are derivedfrom a master clock generator with a maxi-mum frequency of 2 MHz within the 3850processor. The clock output of the processordivides the machine cycle into a number ofdiscrete phases dependent on the type ofinstruction being executed. Multiple mem-ory references may require as many as threemachine cycles as controlled by the proces-sor's WRITE clock. Besides these two clocklines, the remaining five lines of the controlbus are the Read Only Memory Control(ROMC) outputs. They are derived from theprocessor's internal control read only mem-ory as a function of each instruction and arelisted in detail within the Fairchild docu-mentation along with a description of thecorresponding operation of each F8 compo-nent.

A 16 bit address structure allows address-ing of up to 64 K bytes of memory contain-ing any combination of programmable stor-

88

VGG

age units or standard read only memory andprogrammable memory with the appropriateinterface devices. Instead of transmitting anaddress to all the individual memory devicesduring each processor cycle, the memorydevices maintain their own 16 bit programcounter. Every programmable storage unitor memory interface updates its programcounter just as a processor would, incre-menting the register each time an instructionis fetched or loading a new address when ajump instruction is encountered. For relativeaddressing, each device also has a built-inhardware adder to compute the displace-ment from the current program countervalue.

A second register, known as the stackregister, backs up the program counter in allmemory elements during subroutine callsand interrupts. When a subroutine or inter-rupt handler address is jammed into the pro-gram counter, the return address, the oldcontents of the program counter, is saved inthe stack register.

Every memory chip also contains a 16 bitpointer register called the data counterwhich can be addressed and loaded from the3850 processor. All memory referencesduring memory reference instructions utilizethe data counter which implicitly indicatesan object address.

The 3850 Processor

The 3850 processor is the heart of the F8microprocessor system, containing the datamanipulation logic that can perform eitherbinary or decimal arithmetic. A control unitdecodes 8 bit instructions controlling execu-tion of logic within the processor and gener-ating control signals for the other chips inthe system. The processor chip pin assign-ments are shown in figure 1. Figure 2 indi-cates the three different modes of systemclock generation: resistor capacitor network,crystal, or external clock; that may be usedto provide a typical 2 /us cycle time.

The 3850 processor has a single 8 bit ac-cumulator, and a scratchpad consisting of 64

. RC

3850CPU

XTLY

XTLX

RC

3B50CPU

-1— CI

XTLY

XTLX

^C2

vss

RC MODEPERIOD'* (I.2RC +400nS) + 200nS

3850CPU

CRYSTAL MODE

EXTERNAL CLOCK

EXTERNAL MODE

Figure 2: Three modes of clock generation for the F8 system.

(HUIHL

(KUIKLIQUIQL

Scratchpad

ByteAddresDecimal

012

910111213141516

596061626364

sOctal

0

1

2

11

12

13

14

15

16

17

20

72

73

74

75

76

77

765432 10-

5432 10

Bit Number

Accumulator

-Bit NumberISAR

HI LO

Octal Address ofScratchpad Byte

W Register

4

3

2

1

0

I

CB

O

Z

c

s

• Bit Number

Figure 3: The program-mable registers for the3850 processor.

Information and diagramscourtesy of Fairchild Semicon-ductor from their F8 CircuitData Book and F8 Micropro-cessor Programmer's Guide.

89

8 bit general purpose registers that are ad-dressed by a 6 bit indirect scratchpad ad-dress register as shown in figure 3. The Wregister, a 5 bit status register, indicates sign,carry, zero, and overflow conditions as aresult of various processor operations andcontains the interrupt control bit. The proc-

essor chip also contains two 8 bit, bidirec-tional, 10 ports with output latches fortransferring data to and from the processor.Any of the over 60 machine instructionstogether with the eight different addressingmodes, shown in table 1, may be used tomanipulate or operate on 8 bit data con-

Table 1: F8 instruction set and addressing modes.

ADC Add data counter with accumulator

Al Add immediate with accumulator

AM Add binary accumulator with memory

AMD Add decimal accumulator with memory

AS Add binary accumulator with scratch-

pad registerASD Add decimal accumulator with scratch-

pad register

BC

Branch on carry

BF

Branch on false condition

BM

Branch if negative

BNC

Branch if no carry

BNO

Branch if no overflow

BNZ

Branch if no zero

BP

Branch if positive

BR

Absolute branch

BR7

Branch if ISAR is not 7

BT

Branch on true condition

BZ

Branch on zero condition

CI

Compare immediate

CLR

Clear accumulator

CM

Compare with memory

COM

Complement accumulator

DCI

Load data counter immediate

Dl

Disable interrupt

DS

Decrement scratchpad register

El

Enable interrupt

INC

Increment accumulator

IN

Input

INS

Input short

JMP

Jump

LI

LIS

LISL

LISU

LM

LNK

LR

NlNMNOPNS

01OMOUTOUTS

PIPK

POP

SLSR

XDC

XI

XM

xs

Load accumulator immediateLoad accumulator shortLoad ISAR - Lower 3 bitsLoad ISAR - Upper 3 bitsLoad memory

Link carry into accumulatorLoad register (5 types)

Scratchpad

Program counter

ISAR

Status

Data counter

Logical AND accumulator immediateLogical AND memory accumulatorNo operationLogical AND scratchpad and accumulator

Logical OR immediate

Logical OR memory with accumulator

Output

Output short

Push program counter into stack registerSet program counter to new locationPush program counter into stack registerSet program counter from scratchpadPut stack register into program counter

Shift leftShift right

Exchange data countersExclusive OR immediateExclusive OR accumulator with memoryExclusive OR accumulator withscratchpad

Implied Addressing — The data for this one byteinstruction is implied by the actual instruction.For example, the POP instruction automaticallyimplies that the content of the program counterwill be set to the value contained in the stackregister.

Direct Addressing— In these two byte instructions,the address of the operand is contained in thesecond byte of the instruction. The direct address-ing mode is used in the input output class ofinstructions.

Short Immediate Addressing — Instructions whoseaddressing mode is short immediate have theinstruction op code as the first four bits and theoperand as the last four bits. They are all one byteinstructions.

Long Immediate Addressing — In these two byteinstructions, the first instruction byte is the opcode and the second byte is the 8 bit operand.

Direct Register Addressing — This mode of address-ing may be used to directly reference the scratch-pad registers. By including the register number inthe one byte instruction, 12 of the 64 scratchpadregisters may be referenced directly.

Indirect Register Addressing — All 64 scratchpadregisters may be indirectly referenced, using theindirect scratchpad register in the processor. This6 bit register, which acts as a pointer to the scratch-pad memory, may either be incremented, decre-mented, or left unchanged while accessing thescratchpad register.

Indirect Memory Addressing — A 16 bit indirectaddress register, the data counter, points to eitherdata or constants in bulk memory. A group of onebyte instructions is provided to manipulate thisarea of memory. These instructions imply that thedata counter is pointing to the desired memorybyte. The data counter is self-incrementing, allow-ing for an entire data field to be scanned andmanipulated without requiring special instructionsto increment its content. The memory interfacecircuit contains two interchangeable data counters.

Relative Addressing — All F8 branch instructionsuse the relative addressing mode. Whenever abranch is taken, the program counter is updated byan 8 bit relative address contained in the secondbyte of the instruction. A branch may extend 128locations forward or 127 locations back.

90

tained in the accumulator, scratchpad regis-ters, or any memory location. Instructionsreferencing scratchpad bytes are the fastestexecuting F8 instructions, but only the first16 scratchpad bytes can be referenced di-rectly by instructions. The indirect scratch-pad address register must be used to refer-ence the last 48 bytes of the scratchpad butmay also be used to address the first 16bytes as well. Scratchpad registers 9 through15 have special significance for the F8 sys-tem as mentioned later.

The 3851 Program Storage Unit

The program storage unit contains 1024bytes of read only memory, two indepen-dently addressable 8 bit IO ports, a program-mable timer, external interrupt control cir-cuitry, and three address registers, calledPCO, PC1 and DC. Each program storageunit chip is mask programmed during manu-facturing to user specifications, including a 6bit page select, chip enable, option whichcorresponds to the upper 6 bits of the ad-dress space. This customization at manufac-turing time makes it unlikely that the 3851will ever be used by homebrew computerpeople; however, it may show up in finishedproduct or kit machines as a place to put thesystem monitor. The memory access logic ofeach program storage unit is only activatedwhen the upper 6 bits in the programcounter match the program storage unit pageselect code. With up to 64 possible programstorage units, every program counter will

IOB7-

—<

10 A7-

vqg-Vdd-

EXT INT-

23

45

V^

PRI OUT- 6

WRITE-

INT REQ-

PRI IN-DBDR-NOTUSED-ROMC4-ROMC3-ROMC2-ROMC1-ROMC0-

vss-

IO AO-

IO BO-

7891011121314151617181920

40

39

38

37

36

35

34

33

32

31

302928272625 -24 -23 -22 -21 -

DB7DB6- IO~B6

- IO A6

- 10 A4

- IO A3

- 10 A5

IO B5DB5DB4iO~B4

IO B3

DB3

DB2

- IO B2

IO A2IO A1

ToTi

DB1DBO

Figure 4: Pin designationsfor the 3851 programstorage unit chip.

Pin Name

Description

IO port A

Type

10 AO- 10 A7

Bidirectional

10 BO - 10 B7

IO port B

Bidirectional

DBO- DB7

Data bus

Input

ROMCO- ROMC4

Control lines

Input

*, WRITE

Clock lines

Input

EXT INT

External interrupt

Input

PRI IN

Priority in

Input

PRI OUT

Priority out

Output

INT REQ

Interrupt request

Output

DBDR

Data bus drive

Output

VSS = o V J

VDD = +5V I

Power supply lines

Input

VGG =+12 V )

Figure 5: A block diagramof the 3851 program stor-age unit.

ADDRESSDEMUX

ADDRESS XFER BUS (16 BITS)

H

PROGRAMCOUNTERPCo

II

XFERGATE

MIXER BUS (161

H

U

DATACOUNTERADDRESSPOINTER

STACKREGISTERPC l

<*L

6

n

INCREMENTERADDER

?">

I I

| CROM J

CONTROLSIGNALS

S^>

ADDRESS BUS (16 BITS)

PAGESELECTMASK OPTION

ROM STORAGE1024 WORDS (8 BITS/WORD)

DATA BUS (8 BITS)

I/O PORTA

I/O PORTB

I/O PORTADDRESSSELECTMASK OPTION

INTERRUPTADDRESSGENERATORMASK OPTION

<ni

UPPERBYTEXFERGATE

LOWERBYTEXFERGATE

INTERRUPTCONTROL

EXTERNALDATA BUS

EXT INT PRI PRIINT REO IN OUT

91

Figure 6: Pin designationsfor the 3852 dynamicmemory interface chip.

VGG-

1 V_

y 40-

-VDD

*—

2

39-

- ROMC4

WRITE-

3

456

38373635

-R0MC3

INT REQ-

- ROMC2

PRI IN-

-ROMC1

RAM WRITE-

-ROMCO

EXT INT-

7

34

-CPU READ

ADDR7-

8

33

-REGDR

ADDR6-

9

32

-ADDR15

ADDR5-

10

31

-ADDR14

ADDR4—

11

30

-ADDR13

ADDR3-

12

29

-ADDR12

ADDR2-

13

28

-ADDR11

ADDR1-

14

27

-ADDR10

ADDRO-

15

26

-ADDR9

DBO-

16

25

-ADDR8

DB1-

17

24

-DB7

DB2-

18

23

-DB6

DB3-

19

22

-DB5

vSs-

J20

21

-DB4

Pin Name

Description

Type

DBO- DB7

Data bus lines

Bidirectional

ADDRO - ADDR15

Address lines

Output

<t>, WRITE

Clock lines

Input

INT REQ

Interrupt request

Output

PRI IN

Priority in lineWrite line

Input

RAM WRITE

Output

EXT INT

External interrupt line

Input

REGDR

Register drive line

Input output

CPU READ

CPU read line

Output

ROMCO - R0MC4

Control lines

Input

vSs-o V )

VDD = +5V >

Power supply lines

Input

VGG = +12V )

contain the same address but only one chipwill detect a page select match and forwardan 8 bit instruction to the processor during afetch cycle in a properly designed system.

The 16 bit program counter provides thememory address of the next instruction tobe fetched and transmitted to the processor,while the internal program storage unit logicwill increment the program counter aftereach fetch. The program counter registers ofall program storage unit chips are logicallyconnected to the K register of the processorscratchpad, bytes 12 and 13. The contentsof all program counter registers may beloaded from the K register or modified bycertain instructions. The data counter regis-ter, as described earlier, is similarly linked tothe H register, bytes 10 and 11, of the proc-essor scratchpad. Each program storage unitcontains only one data counter register, sothe swap data counters instruction has noeffect.

The 16 bit stack register (called PC1) isprimarily used as a buffer for the programcounter, saving return addresses for subrou-tines and interrupt handlers. The stack regis-ter is logically connected to the K register ofthe processor scratchpad and may be loadedto or from the K register. Whenever thevalue of the program counter is saved in thestack register, the value in the stack registeris first saved in the K register.

The internal circuitry of the two 10 portswithin the program storage unit may beselected from one of three manufacturingmask options for different hardware applica-tions: standard pull up, open drain, or driver

Figure 7: Block diagram ofthe 3852 dynamic mem-ory interface.

ADDRESS XFER BUS (16 BITS)

1

PROGRAMCOUNTERPCo

16

K

XFERGATE

s

M

| MIXER BUS :

DATA

COUNTER

DCo

MIXER BUS

16

STACK

REGISTER

PCI

K

n

INCREMENTERADDER

DATA

COUNTER

DCl

JT

^2.

UPPERBYTEXFERGATE

ADDRESS BUS (16 BITS)

8

/

POWER SUPPLYSAND CLOCK LINES

m

LOWERBYTEXFERGATE

ADDRESSDEMUX

DATA BUS (8 BITS)

T

ADDRESS CONTROL RAMLINES LINES WRITE

(3-S) (3-S)

Tl TT^-f

REFRESHADDRESSCOUNTER

I 5"

DMA 8 REFRESH CONTROL

T

—{—; r

MEM CYCLE CPU EXTERNALIDLE REO SLOT DATA BUS

CPUREAD

92

pull up. The programmable timer and inter-rupt logic are accessed in the same manner asthe 10 ports with specifically assigned portaddresses that are the same in each programstorage unit except for the page select bits.

The programmable timer port is a con-tinuously running polynomial shift registerthat sends a signal to the interrupt controllogic every 3.953 ms if the system has a2 MHz clock. Any numeric value between 0and 254 loaded to a timer port is decre-mented once every 31 clock pulses allowingprogrammed delays of up to 7,905 clockpulses. If 255 is loaded into a timer port, thetimer is stopped. When a loaded timer countis decremented to zero, a timer interrupt isgenerated and will be transmitted to theprocessor if timer interrupts have beenenabled via a control code loaded to theinterrupt port.

A mask programmed 16 bit interruptvector is pushed into the program counterwhenever an interrupt from the interruptcontrol of the program storage unit isserviced. However, bit 7 of the interruptvector is set by the interrupt control and isnot mask programmed.

Pin assignments of the 40 pin programstorage unit chip are shown in figure 4 witha block diagram in figure 5. Each chiprequires +5 V and +12 V DC power supplieswith total power typically less than 275 mW.

The 3852 Dynamic Memory Interface

The dynamic memory interface providesthe necessary address and control lines tointerface up to 64 K bytes of programmable

VGG-

WRITE-

MEMIDLE-

CPUSLOT-

RAM WRITE-

CYCLE REQ-

ADDR7-

ADDR6-

ADDR5-

ADDR4-

ADDR3-

ADDR2-

ADDR1-

ADDRO-

DBO-

DB1-

DB2-

DB3

vSs-

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

\^r

Pin Name

DBO- DB7ADDRO - ADDR15O, WRITEMEMIDLECYCLE REQCPU SLOTCPU READREGDRRAM WRITEROMC0- ROMC4VSS = 0V )

VDD = +5VVGG = +12 V

4039383736353433323130292827262524232221

-VDD

-ROMC4

-ROMC3

-ROMC2

-ROMC1

-ROMC0

-CPU READ

-REGDR

-ADDR15

-ADDR14

-ADDR13

-ADDR12

-ADDR11

-ADDR10

-ADDR9

-ADDR8

-DB7

-DB6

-DB5

-DB4

Figure 8: Pin designationsfor the 3853 static mem-ory interface chip.

Description

Data bus linesAddress linesClock linesDMA timing lineRAM timing lineTiming lineRAM timing lineRegister drive lineWrite lineControl lines

Power lines

Type

Bidirectional

Output

Input

Output

Output

Output

Output

Input output

Output

Input

Input

ADDRESS XFER BUS (I6BITS)

K

PROGRAMCOUNTERPCo

<^>

6

±2-

K

XFERGATE

16

M

| MIXER BUS i

in>

DATA

COUNTER

DCo

MIXER BUS

STACKREGISTERPC I

S

n

INCREMENTERADDER

DATACOUNTERDC l

JT

"\ UPPER"" BYTEXFERGATE

ADDRESS BUS 06 BITS)

/

POWER SUPPLYSAND CLOCK LINES

y

LOWERBYTEXFERGATE

8

ADDRESSDEMUX

DATA BUS (8 BITS)

CROM

¥

MEMORY

ADDRESS CONTROL RAMLINES LINES WRITE J.

nn

I—5—I I—5—I

INTERRUPT ADDRESSREGISTERS

T

INTERRUPTCONTROL

ITTT

REGDR

CPUREAD

EXTERNALDATA BUS

PRI INT EXTIN REO INT

TO

CPU

Figure 9: A block diagramof the 3853 static memoryinterface.

93

memory, read only memory, or combina-tions of the two to the F8 processor. Itcontains the same address registers as the3851 program storage unit but it has twodata counter registers (DCO and DC1). DC1is used as a temporary storage buffer forDCO and the swap data counters instructionmay be used to exchange the contents of thetwo counters. The dynamic memory inter-face has no chip select mask since the entireprogram counter address is passed from thedynamic memory interface to the attachedmemory which in turn must decode theappropriate chip select lines. Two address-able ports provide direct memory accesscapabilities in conjunction with the 3854direct memory access chip discussed laterand also provide refresh control for externaldynamic MOS memory chips. Figure 6shows the pin assignments of the 40 pinpackage while figure 7 shows a block dia-gram of the interface.

DIRECTION-

1 V f 40

- DWS

ENABLE-

2

39

- STROBE

XFER-

3

4

3837

- LOAD REG

- MEMIDLE

XFER REQ-

vqg-

5

36

- *

Vdd-

6

35

- vSs

ADDR8 —

7

34

- ADDRO

ADDR9-

8

33

- ADDR1

ADDR10-

9

32

- ADDR2

ADDR11 -

10

31

- ADDR3

ADDR12-

11

30

- ADDR4

ADDR13-

12

29

- ADDR5

ADDR14-

13

28

- ADDR6

ADDR15-

14

27

- ADDR7

P1 -

15

26

- READ REG

P2-

16

25

- WRITE

DB7-

17

24

- DBO

DB6-

18

23

- DB1

DB5-

19

22

- DB2

DB4-

20

21

- DB3escription

Pin Nam

e

D

Type

DB0- DB7

Data b

js lines

Bidirectional

ADDRO- ADDR15

Addres

s lines

Output

<t>, WRITE

Clock I

ines

Input

LOAD REG/READ REG

Registe

rs load/read line

Input

P1, P2

Port ad

dress select

Input

MEMIDLE

Memor

V idle line

Input

XFER REQ

Transfe

r request line

Input

ENABLE, DIRECTION

Contro

status lines

Output

DWS, XFER

DMA w

/rite slot, transfer

Output

STROBE

Output

strobe line

Output

VSS = o V )

VDD = +5 V \

Power

ines

Input

VGG+12V

Figure 70: Pin designations for the 3854 direct memory access chip.

The 3853 Static Memory Interface

The static memory interface chip is verysimilar to the dynamic memory interfaceexcept it is used to interface only staticmemory to the processor and does not havedirect memory access capabilities. In addi-tion, it contains local timer and interruptcontrol ports like those in the programstorage unit together with two additionalprogrammable interrupt vector registers. Fig-ure 8 shows the pin assignments for the 40pin chip and figure 9 shows a block diagramof the static memory interface.

The 3854 Direct Memory Access

The direct memory access chip, togetherwith the dynamic memory interface chip,allows high speed data transfers betweenperipherals and memory. All direct memoryaccess data transfers are made during thesecond and third clock pulses of eachinstruction cycle without affecting programexecution time. Up to four direct memoryaccess chips may be used in a single F8system and an external device, includinganother microprocessor, may be connectedto the system through these chips.

The direct memory access interface con-tains three internal registers that areaddressed as four separate 10 ports: a 16 bitaddress register holds the address of the nextmemory byte to be accessed for a transfer; a12 bit byte count register allows blocks ofup to 4 K bytes to be transferred; and a 4 bitcontrol register determines the direct mem-ory access operation to be performed. Figure10 shows the pin assignments and figure 11is a block diagram of the direct memoryaccess unit.

Applications and Conclusions

For personal computer applications, theF8 system provides an easy to use buildingblock architecture with a narrow bus struc-ture simplifying hardware design and con-struction. Figure 12 shows a general F8system configuration implementing all of thepossible system components. The F8 systemarchitecture restricts the maximum numberof chips per system as follows:

1 — 3850 central processing unit64 — 3851 program storage units1 — 3852 dynamic memory interface1 — 3853 static memory interface4 — 3854 direct memory access

At the other extreme, a minimum F8 systemrequires only two chips, the 3850 processorand a single program storage unit.

Since all program storage units are maskprogrammed during manufacturing, software

94

3usC

VGGVDDVSS

0

OATA BUSDRIVERS

c

F8ROMC

LINES

D

EC0D

ER

XFER R£Q»-

MEMIDLE

-t>

<~>

I/O

SELECT

LOGIC

ADDRESS a CONTROLREGISTERS

(INCREMENTER/DECREMENTER)

0

<>

PORTO- PORT 3

HIGH SPEED

^^

ADDRESSDRIVERS

^

D^^l

^T^l

-D°-F°]-h'

—>-—>-

)ADDRLINES

ESS

-►ENABLE

^>rO-t>

•XFER

-►STROBE

Figure 11: Block diagram of the 3854 direct memory access.

development may be slightly more difficultor expensive for the hobbyist depending onthe applications involved. By using adynamic memory interface or a static mem-ory interface along with standard memorychips, the more expensive program storageunits may be avoided and make softwaredevelopment much easier. At least one pro-gram storage unit should, however, beincluded in a basic system to provide theadditional 10 and programmable timer ports.Ideally, this program storage unit wouldprovide a standard, commercially available,software utility package designed for theaverage hobbyist. Additional units couldthen be added later for standard, moreadvanced software or when desired customroutines and programs have been thoroughlytested.

The F8 microprocessor system appears tobe most ideally suited for mass producedmicroprocessor based products utilizingproven software. It does, however, provideenough flexibility to be of more than passinginterest for general purpose personal com-puter applications."

38 50CPU

I/O

x°

I/O

—'--7

3851PSU

I/O

L»-7

I/O

—r*0

—'-+7

W

m

3851PSU

I/O

—T*°

—'-- 7

I/O

o

P

zou

Q

—'<-* 7

3853SMI

<

TO STATIC

<1-<

3852DMI

TO DYNAIt

3854DMA

CONTROL

(

[

Figure 12: An F8 micro-processor system configu-ration.

DMA CHANNEL

95

A MIKBUG Roadmap...

John Rathkey4808 SE 28th #316Portland OR 97202

Some of the more useful microprocessoroptions for hobbyists available today arebased upon Motorola's MIKBUG monitorprogram. These options include the Moto-rola 6800 Design Evaluation Kit, the SWTPC6800 computer, etc. A big attraction of suchkits is the MIKBUG read only memory,which provides the user with a monitorsystem and includes several utility routines.These allow the user to program in hexa-decimal code from the terminal rather thanin a binary code from the front panel. Thepurpose of this article is not to extol thevirtues of the kit, but to demonstrate toproud new owners of 6800 systems that theMIKBUG read only memory can be used tomuch greater advantage than is generallypointed out by the manuals, particularly forIO techniques. An example of the use ofMIKBUG routines is provided by the simpleapplication of listing 1, a program whichadds two numbers.

The MIKBUG firmware is a computerprogram for the 6800, copyright 1974 byMotorola Inc. It is called firmware because itresides in read only memory and is non-volatile. In computers which use MIKBUGthe program is located starting at hexa-decimal address E000. The MIKBUG firm-ware takes 512 bytes, or just half of the 1 Kmemory. The program does not use theother half, nor does it use any device locatedat an address higher than hexadecimal El FF,the end of the MIKBUG firmware. The 6800microprocessor does use higher addresses forthe interrupts and restart, but these aredecoded to address locations withinMIKBUG when MIKBUG is used.

The main function of MIKBUG firmwareis to provide a monitor and several utilityfunctions which make the programming anddebugging processes easier. The monitor can

be regarded as a home base in the vastwilderness of addressable memory. It acceptsutility function commands, executes them,and returns to the terminal with an asterisk.If a program gets lost in memory, control ofthe situation is regained by pressing the resetbutton, which brings back the ever faithfulservant monitor. The utility functions allowthe user to load memory with a paper tapereader (L), go to any address and beginexecuting there (G), examine and change thecontents of memory (M), print and punchselected blocks of memory (P), and displaythe contents of the stack, on which thevalues of all the registers are stored whenunder MIKBUG control.

To take advantage of MIKBUG one musthave a terminal, and most often the begin-ning hobbyist will have no other peripheralsto play with. Anyone who has purchased amicroprocessor kit and has encountered the"let's see it do something" attitude fromdoubting friends and acquaintances willappreciate the immediate need for quick andeasy IO techniques. Such techniques arepresent in MIKBUG, just waiting for theuser, if he or she can find them. MIKBUG isorganized in several groups of subroutines,which are selectively accessed by the MIK-BUG utility functions that need them. Forexample, the memory change function needsa routine to input a character (M), output acharacter (space), input a 2 byte number(the address to be examined), input a car-riage return, output a 2 byte number, space,then a 1 byte number, and so on. Many ofthese routines are nested several levels deep.For example, the routine to output a 2 bytenumber simply calls the routine to output a1 byte number twice in a row. That's simpleenough. Since a 1 byte number looks liketwo characters from the set zero through F

96

to the terminal, the routine to output 1 byteuses the routine to output a character twice.As you may have guessed, input routines fornumbers and characters use the same clever-ness. The point of all this is that the user canuse aforementioned cleverness for his or herown IO routines by simply accessing theMIKBUG subroutines at the appropriateplaces. People with a MIKBUG listing, fa-miliarity with the 6800 instruction set, andthe time and patience to trace throughMotorola's MIKBUG mouse maze of sub-routines can figure out where the appro-priate places are for themselves. I encourageyou to attempt this, for your own edifica-tion and purification of spirit. (It's always agood practice, when learning a new com-puter's instruction set, to peruse a fewexisting programs like MIKBUG in order toget examples.) Those lacking one of theabove ingredients, or the inclination to tryit, can get some of the more useful informa-tion from what I've found.

Output Character

The output character routine, labeledOUTEEE in the MIKBUG listing, is locatedat hexadecimal address E1D1. It uses accu-mulator A as a data source. Thus you mustdefine the contents of accumulator A whichwill then be interpreted as an ASCII char-acter and shifted out in standard asynchro-nous format. It also uses accumulator B andthe X register, but saves their contents at thebeginning of the subroutine and restoresthem at the end. Therefore, the user neednot be concerned with losing the contents ofB or X. Listing 1 shows an example of theuse of OUTEEE in a subroutine labeledPSTR which prints a string of characters, ora message. Control functions such as carriagereturn and line feed may also be imple-mented this way, by outputting their ASCIIcodes.

Input Character

The input character routine, labeledINEEE in the MIKBUG listing, is located athexadecimal address El AC. Like OUTEEE itsaves the X and B registers. When accessed,INEEE loops while waiting for an asyn-chronous format character to be sent fromthe terminal, and upon receiving input, shiftsdata into the A accumulator. After access toINEEE the content of the A accumulator isthe ASCII code for the key of the terminalwhich was pressed when INEEE was called.

Input Byte

This routine, labeled BYTE in the MIK-BUG listing, is located at hexadecimal

Listing 1: This example program demonstrating the uses ofMIKBUG uses all the techniques discussed in the article.The program requests and inputs two I byte numbers. Itthen adds them and prints the decimal adjusted result in analgebraic sentence. The program then asks the user ifanother run is desired. If the reply is Y, it branches to thebeginning of the program; otherwise it returns to monitor.This program requires a mere 127 bytes of memory.

MAUSAM IS

IMP PROPERTY

IF M0I0R0LA SI'Ilr INC.

COPYRIGHT J 974 TO

19

75 BY MOTOROLA INC

MOTOROLA MABOO i:

<0SS

AS

3EMBLER.

RELEASE 1.2

OO0O.I

NAM

Ann

00002

oooo an is

BEGIN

BSR

CARREI

CARRIAGE RETURN

0000.3

0002 CE 00All

1. IPX

tMESSl

SI ART ADDRESS. 1ST MESS

00001

ooos an 52

BSR

PSTR

PRINT MESSAGE

00005

0007 ca OOAV

i nx

men

STAR! ADDRESS. MEM BLOCK

0000 A

OOOA 111) E055

JSR

*E055

INPUT 1ST NUMBER

0000/

0001! A 7 00

SI A

A

o.x

STORE 1ST NUMBER

ooooa

0001" HII Ml

BSR

CARRE 1

CARRIAGE RETURN

00009

ooli mi loss

JSR

SE055

INPUT 2ND NUMBER

00010

0014 A/ 01

STA

A

1 .X

STORE 2ND NUMBER

00011

ooia mi oo

Aim

A

O.X

ADD NUMBERS

0001 2

0018 IV

DAA

DECIMAL ADJUST

0001 J

ooiv a ' 02

SIA

A

2.X

STORE ANSUER

000 1 4

001 II 25 48

BCS

OURI 1 U

BRANCH 11 ANSWER 99

000 lb

00111 So 20

i no

A

1*20

SPACE

0001 A

001F 0/ 03

ANSUR

BTA

A

3.X

STI1RI 1ST ANSWER DIGIT

00017

0021 OH 29

BSR

CARRE 1

CARRIAGE RETURN

00018

0023 BI! EOBF

JSR

(EOBF

Oil IFilT ISI NUMBER

0001 V

002A BA 2B

i ba

A

11*211

.., „

00020

0028 im 11 HI

JSR

tE.UII

OUTPUT ■+'

00021

002B BI) lOW

JSR

IE OilI

Dili Pill 2ND NUMBER

00022

0021 HA 3D

1 DA

A

H13II

0O023

0030 nn 1 llil

JSR

•H: ID!

OUTPUT •=--•

00024

0033 A6 01

III A

A

l.X

1ST ANSWER DIGIT

0002:.,

0035 BIl 1:1 III

JSR

tElIJ.I

OUTPUT 1ST ANSWER DIGIT

00026

0038 BIl EOBF

JSR

IHEOBF

OUTPUT ANSWER

00027

003B 811 OF

BSR

CARREI

CARRIAGE RETURN

00028

0031! CE 0078

LUX

4MkSH2

START ADDRESS. 2ND MESS

0002V

0040 an i7

BSR

PSTR

PRINT 2ND MESSAGE

0O03O

0042 BI! E1AC

JSR

1E1AC

INPin CHARACTER

00031

0015 a I 59

CMP

A

**5V

=Y?

00032

0047 27 B7

BED

BEGIN

IF SO REPEAT PROGRAM

00033

004V 7E EOF-3

.IMP

*E0E3

OTHERWISE RETURN TO MONITOR

00031

004C 3A

CARRE!

PSH

A

SAUE A

00035

0041) BA on

IDA

A

#*0II

CARRIAGE RETURN

00036

004F BIl I llll

JSR

11 l n 1

OUTPIII CARRIAGE RETURN

00037

005.' 8A 00

1 1IA

A

**0A

LINF FEFII

00038

0054 BI) E mi

JSR

$i i ni

OUTPUT I.TNE FEED

0003V

0057 32

I'll!

A

RESTORE A

00010

005H 3V

RTS

BACK TO MAIN PROGRAM

00011

005V AA 00

PSTR

I DA

A

X

GET CHARACTER

00017

005B 111

1ST

A

BYIE=0?

00013

005C 27 OA

BEO

EX II

THEN GO BACK

00011

005E BI) 11 III

JSR

1.1 i n I

OTHERWISE OUTPUT CHARACTER

00015

00A1 OB

I NX

NEX1 CHARACTER

0001A

0062 20 F5

BRA

PSTR

00047

0061 39

EX1 1

R IS

RETURN TO MAIN PROGRAM

00046

00A5 BA 31

OVRFLW

IDA

A

tt.il

■!■

0004V

0067 20 BA

BRA

ANSUR

RETURN TO MAIN PROGRAM

00050

OOAV 0004

MEM

K'MB

4

RESERVE 4 SPACES

00051

OOAII 32OOAE 20OOAF 11-

0070 IF

0071 2E

0072 27

0073 530071 3F

MESB1

FCC

8.2 NO.

'S?

00052

0075 on

0076 on

0077 00

FOB

ton,toe

.0

00053

0078 1D

0079 IF007A 52007B 45007C 3F007B 20

MESS2

FCC

A, MORE'

00054

007E 00

FCE

0

00055

END

SYMBOL TABLE

BEGIN

OOOO ANSUR

00 IF

CARREI

004C PSTR 00SV EXIT 0064

OURFLU 0065 MEM

006V

MESS1

00611 MESS2 0078

97

address E055. BYTE does not affect theX register, but unlike OUTEEE and INEEE,it destroys the previous contents of theB accumulator. BYTE uses INEEE twice toget two characters, checks to be sure theyare hexadecimal characters, and combinesthem, converting them to a 1 byte binarynumber in the process. This is stored in theA accumulator and is present there on returnfrom BYTE.

Output Byte

This routine, labeled OUT2H in theMIKBUG listing, is located at hexadecimaladdress EOBF. It outputs one byte of datalocated at some memory address chosen bythe user. OUT2H requires that the X registerbe loaded with the address of the byte ofdata to be output, which may be locatedanywhere. This routine does not affect thecontents of accumulator B, but does changethe contents of accumulator A. It alsoincrements the X register, which makes itvery convenient for outputting sequentiallylocated bytes in a block. More on this later.

Table J: A descriptive list of the available MIKBUG subroutines summarizesthe point of this article: Don't ignore the parts and pieces of your monitor,BASIC interpreter, compiler or other programs if you intend to writeassembly language or machine language code. If you buy a program, ask for asource listing so you can get programming technique pointers. (Motorola is tobe commended for handing out MIKBUG listings as a standard part ofdocumentation right from the start. MIKBUG is described in detail inEngineering Note 100, "MCM6830L7 MIKBUG/MINBUG ROM,"which waspublished by Motorola. The program is credited to Mike Wiles and AndreFelix of Motorola Semiconductor Products Inc.)

Entry Points Discussed Here.

Address

Name

E1D1

OUTEEE

E1AC

INEEE

E055

BYTE

EOBF

OUT2H

E0E3

CONTRL

Description

Character output: A sent to terminal device.Character input: A set equal to next input character.Hex byte input: input two characters as hexadecimal

byte in A.Hex byte output: A sent to terminal as two

hexadecimal digits.Return to MIKBUG control.

Other Useful MIKBUG Entry Points. .

Address

Name

EQ47

BADDR

E067

OUTHL

E06B

OUTHR

E07B

PDATA2

EOAA

INHEX

E0C8

OUT4HS

EOCA

OUT2HS

Description

Build address by calling BYTE twice; result in

X register.Hexadecimal digit output from left nybble of

byte in A.Hexadecimal digit output from right nybble of

byte in A.Print string of data pointed to initially by X,

until EOT character (hexadecimal 04) is found.Input hexadecimal digit, on error go to CONTRL.Output four hexadecimal characters and a space

(uses OUT2H).Output two hexadecimal characters and space

(usesOUT2H).

Access to Subroutines

In the 6800 instruction set there are16 branch instructions and two jump in-structions. All may be used to access sub-routines under certain conditions. Thebranch instructions all use relative address-ing, which limits the range of branchingfrom 126 bytes backwards to 129 bytes for-wards. This is because they use a 1 byteoperand as the branch offset. The jumpinstructions (extended addressing) use a2 byte operand which allows them to jumpanywhere. One of the branch instructions(BSR) and one of the jump instructions(JSR) store a return address in the stackbefore executing the branch. They go to theaddresses specified by their operands andbegin executing instructions at the newaddress until they encounter the return fromsubroutine instruction (RTS), at which pointthey return to the return addresses pre-viously stored. Each return from subroutineinstruction read by the processor must bepaired with a branch or jump to subroutineinstruction, although the same subroutinemay be accessed by more than one branch orjump instruction. If a subroutine or a seriesof subroutines which is terminated with areturn from subroutine instruction is ac-cessed by any of the other branch or jumpinstructions, the return instruction will causea return to an invalid address since the stackwould not have been properly set up.Similarly, if a subroutine or a series ofsubroutines which does not end with thereturn instruction is accessed with jump orbranch to subroutine, there will be no returnto the main program. It just gets lost. TheMIKBUG subroutines discussed in thisarticle all eventually end with the returnfrom subroutine instruction. Since they willalways be located further than 129 bytesaway from the main program departurepoint if called by a user, they must beaccessed with the jump to subroutineinstruction.

General 10 Techniques

More often than not, a program will needto input or output more than one characteror byte at a time. The use of subroutineswhich access the MIKBUG subroutines facil-itate this. An obvious example is the need toprint a message, which involves printingseveral characters in a row. A good way todo this is illustrated in the subroutinelabeled PSTR in listing 1. PSTR requires thatthe X register contain the starting address ofa block of characters to be printed. PSTRincrements the X register each time it printsa character and returns when it encounters

98

an ASCII code of 00, which is a rarely usedcontrol character and is easily recognizedwith the test for zero (TST) instruction.Other stop characters could also be used.Similar subroutines may be used to inputstrings of characters or numbers. Thesesubroutines may know when to quit byeither counting the inputs and stopping at apreassigned number or by recognizing a stopcharacter or number at the end of a string. Aroutine to output a string of sequentiallylocated bytes would be even easier thanPSTR using the same idea, because OUT2Hincrements the X register itself. Such a rou-tine may also be terminated by eithercounting outputs or by recognizing a stopbyte at the end of a data block. If asubroutine inputs or outputs hexadecimalnumbers, it is best to count in order toterminate, otherwise one of the 256 possiblenumbers is excluded from use because it isthe stop number. When using the decimalnumbering system, any byte which is not amember of the set of 1 byte binary codeddecimal numbers may be used as a stop byte.

Individual characters or small groups ofcharacters which are input or output fre-quently in one program deserve their ownsubroutines. A good example is the combina-tion of carriage return and line feed. Thesubroutine in listing 1 labeled CARRETillustrates this.

There may be times when an ouput isdesired on certain conditions. There are14 conditional branch instructions whichmake it easy for subroutines to serve theseneeds. The subroutine labeled O.VRFLW inlisting 1 illustrates this situation. In thesample program, if the decimal adjustedresult of the addition is greater than 100, thecarry bit is set and the byte reserved for theanswer holds only the two least significantdigits. OVRFLW is accessed if the carry bitis set, and prints a 1 in front of the answerbyte to make the algebraic sentence correct.

Return to Monitor

A happy end to any program is a gracefulreturn to monitor. This is labeled CONTRLin the MIKBUG listing, and is located athexadecimal address E0E3. CONTRL shouldbe accessed with the jump (JMP) instruction,and only at the end of the users program.Listing 1 includes examples of all theroutines described above. Other routines, ordifferent nesting levels of the ones men-tioned here, may be found in the MIKBUGlisting, and are summarized by name intable 1. The industrious reader can findroutines which may be more useful to himor her, but the preceding ones will help getthe show on the terminal."

| Without our software, |we're just another flasher.

ii

iii

i

i

i

ii

Let's face it. No microcomputer isworth a dime if you can't makeit work. Even E&L's Mini-Micro-designer would be just a "lightflasher" if it weren't for our soft-ware system.

But the fact is that our tutorial soft-ware is the best in the business.Not just a pathetic rehash of chipmanufacturers' specifications. Buta clearly written, step-by-step in-struction that teaches you all aboutthe microcomputer. How to pro-gram it, how to interface it, how toexpand it.

The teaching material is written byRony/Larsen/Titus (authors of thefamous Bugbooks). It's called Bug-book V. And it teaches through ex-periments designed specifically toget you up to speed on our Mini-Microcomputer (MMD-1). And youdon't need any prior knowledge ofdigital electronics!

The best news? E&L's MMD-1 costsonly $380 in kit form, including allsoftware and teaching material.And now it's available locally fromyour nearest computer store. Stopin today and get the whole picture.MMD-1. The finest microcomputersystem on the market.

c

c

ID

H

E&L INSTRUMENTS, INC.

61 First Street, Derby, Conn. 06418(203) 735-8774 Telex No. 96 3536

Dealer inquiries invited.

J

99

Classified Ads

WANTED: One set unpopulated MOD-8 PC boardsand Monitor 8 extra RAM boards. Jerry Walker,761 Clayton, San Francisco CA 9411 7.

WANTED: Parts to complete Teletype Corp model35 for my own personal home computer system. Ionly have a typing unit. Karl F Kornafel, 2741Baur Dr, Indianapolis IN 46220; home after 1800:(317)257-6044 or business after 2300:(317)262-2445.

WANTED: Schematics or PC board layout forsimple Intel 8008 microprocessor using minimumhardware; also need simple 1702A PROM pro-grammer schematic. Will pay or exchange fortechnical information. Raymond J Ramirez, 2A-8Bairoa Pk, Caguas PR 00625.

FOR LEASE: Model 735 Silent 700 portable dataterminal. 6 month term for $90 per month. Has anacoustic coupler, RS 232 interface, full or halfduplex, 10 to 30 cps, ASCII code. Dick Harding,633 Kingwood Rd, King of Prussia PA 19406;(215)265-3719 (eve) (215)864-7017 (day).

WANTED TO BUY: PDP8-E expander box withcable and quad slot bus assembly. 861-C cabinetpower control, MI8-E bootstrap, MM8-E andMM8-EJ memory modules, card reader, printer,disk control and drive, magnetic tape, cassettesystem, all with cable and interface card forPDP8-E. Willing to talk about any PDP8-E hard-ware or software. Please call: (617)861-6500 orwrite: Harry Bellmar, Minuteman Regional School,758 Marrett Rd, Lexington MA 02173.

FOR SALE: FLEXOWRITER model SPD has 8level reader and punch. Previously used to createcomputer data base. Standard unit without modifi-cations or changes. $1 75. M T Buckelew, POB 10,Falls Church VA 22046.

FOR SALE: Memories - 270 1103 1K RAMsS400, 160 74S206 256 bit RAMs $500, and a corestack constructed from 17 planes of IBM 1401memory $200. Each plane of the stack is arrangedas a 50 x 80 matrix with separate sense and inhibitlines (68,000 bits total). All of the above will besold with documentation included. Also for sale —8080A CPU chip $25. Contact: Arthur W Wetzel,222 North Craig St, Apt 2A, Pittsburgh PA 15213,(412)624-5208 (day) or (412)683-6293 (evening).

WANTED: Information on care and maintenanceof a Friden 2303 Flexowriter. Also would likeinformation on how to interface it with a proc-essor. I wilt pay for cost of duplication andmailing. Dan Hastings, 5055 Lily La, Apt 210,Indianapolis IN 46254, (317) 297-1079 (callcollect).

Readers who have equipment, software or otheritems to buy, sell or swap should send in a clearlytyped notice to that effect. To be considered forpublication, an advertisement should be clearlynoncommercial, typed double spaced on plainwhite paper, and include complete name andaddress information. These notices are free ofcharge and will be printed one time only on a spaceavailable basis. Insertions should be limited to 100words or less. Notices can be accepted fromindividuals or bona fide computer users clubs only.We can engage in no correspondence on these andyour confirmation of placement is appearance inan issue of 8 YTE.

Please note that it may take three or fourmonths for an ad to appear in the magazine. ■

FOR SALE: Tektronix model 115 pulse generator,10 ns pulser with delay and 100 Hz to 10 MHzrepetition with manual, like new, $595. TomMurph, 4244 Philadelphia Dr, Dayton OH 45405,(513) 274-4405.

FOR SALE: Programs in BASIC, including games,scientific and educational programs. Also programguides and software packages. I have written anumber of programs which I will sell for $1 to $5.All programs come with complete documentationincluding a cross reference listing of all variables.For list, send stamped envelope to: RichardTraynham, 2928 Softwind Trail, Fort Worth TX76116.

DEC:BUY,SELL,or TRADE: I have some DEC-11modules and hardware. Included are such things asa DF11a, M7821, M795, and some brand newW9671 PDP-8 Wire Wrap Boards. I need, or aminterested in, the following items: DL11e, DF01 orother modem, DR11c, KE11, KW11L, TA11,RC11, or a floppy drive. If you can part with anyof the aforementioned items for cash or trade,please let me know. L Stewart, 1402 Regent St,Apt 506, Madison Wl 53711, (608) 255-5380.

FOR SALE: 1 C-Mod 80 system including: CPU(with 5204 Micro-Monitor), 2 K RAM card(2102-1's), parallel or serial IO card, backplanewith connectors for 1 2 cards, $1 50 for above. RCACDS 1200 modem with documentation, $50;Teletype model BRPEB8 high speed 8 level punch,S45; RPC-4000 Computer System (has Fortran),S500. Call Sam Ulin at (302) 475-7355 evenings orwrite POB 216. Claymont, DE 19703.

HELP: Does anyone out there have any informa-tion on a Data Trends Inc general terminal unit? Ineed schematics, operating information, anything Ican get. Also need any data on InternationalComputer Products Digi-Deck units. I will pay allreproduction costs and shipping, or I have wallsized (11 X 14) IC microphotos and electronicsgraphics-trade? Contact: Bob Retelle, 2005Whittaker Rd, Ypsilanti Ml 48197.

FOR SALE: DEC PDP-8s, 4 K core memory, serialinterface, possible IO bus, all cables and powersupplies. $450 or best offer or will trade for videoterminal, 8080 machine, or any DEC mass storageperipherals. Also needed: information on DesignElements or Mg2 Data Systems modem, model88-OA. Jim Gonzalez, 150 S Summit Av, Hacken-sack NJ 07601, (201)342-3110.

WANTED: BYTE issues November 75 and April,May, June 76. Will pay almost any price. GeorgeValaitis, 647 Linkfield Rd, Watertown CT 06795,(203)274-5628.

HELP: Neophyte will pay for technical assistancein converting Burroughs TM20K714 terminal, withor without the control unit, to something myIMSAI 8 K BASIC can digest. Have 7 data bits inparallel at the terminal, no parity or buffers. I wantto send entire line with a carriage return. Asemischematic would do. Leo Biese, RFD 1, HillNH 03243, (603)744-8906.

FOR SALE: VIATRON 2111 data managementsystem las advertised in March 1976 BYTE, page87). The unit is in brand new condition and workslike a charm. Complete with instruction manuals,cassettes, and schematics for $400; also IBMSelectric Printing Robot attachment for above$175. you pay shipping (160 lbs). First cashier'scheck or money order for $550 takes them both.Bill Robertson, 123 W Pearl St, Apt 22, NashuaNH 03060.

FOR SALE: Cleaning house, all new unused parts.Intel 4004 $5; 4040 S10; 4289 $2; 4201, 4002-1,4003 $1 each; MC6871A S5; MC14411 $3; 1MHZxtal $1; 1.797 MHZ xtal S1; MOS TECH scientificcalculator chip set 2525-2526 with data sheets $5.Ron Angstadt, RD 3, POB 281, Kutztown PA19530.

WANTED: Does anyone have a spare copy ofSWTP Newsletter No. 1? It's no longer availablefrom SWTP; many thanks!! Also, if you have usefor an IBM 6400 accounting system, please write:"Pete" Peters, Microputer Tinkers Society, 3845Le Bleu St, Beaumont TX 77707.

FOR SALE: ASR33, excellent condition (used bya little old Altair), $800. George Nelms, 3908Abbott Av S, Minneapolis MN 55410,(612) 922-3087.

FOR SALE: Altair compatible 8080 CPU boardwith sockets, S35. CDC floppy disc drive in a sackincludes spares and documentation, $125. SuperDisplay: Computek 400/20, 96 character ASCII,Vector and Curve generator. Joystick input andkeyboard, RS 232 110-2400 baud, full documenta-tion, $1250. Vermont Research Drum, 950 tracks,2600rpm, Read/Write electronics, documentation,$350. Hans Mahr, 28028 Ella Rd, Rancho PalosVerdes CA 90274, (213) 377-0735, eves.

FOR SALE: Paper Tape Splices. Prepunched, clearor opaque mylar patches for 8 channel tape. S2 per50 or $3 per 100. Send SASE. Finest quality,money back guarantee. Mike Campo, 457 Prom-ontory Dr W, Newport Beach CA 92660,(714) 751-8271.

FOR SALE: Dual-drive Innovex Diskette (1974)for PDP-8E, ready to plug into Positive I/OInterface. Includes test tape, 10 used Diskettes(some with glitches), my own handler, 48 tracks, 8sectors of 259 12 bit words per sector. Best offerthat is not absolutely ridiculous. William T Powers,1138 Whitfield Rd, Northbrook I L 60062.

FOR SALE: Ampex core memory 32 K of 8 bits,300 ns access with R/W electronics, power supply,and complete manual. $750 or make offer. RainerMcCown, 9537 Longlook Ln, Columbia MD 21045.

WANTED: Information leading to the contact ofCharles D Hackett, former USAF 306X0, currentelectronics freak. Have him contact Ssgt James DTucker, Lot 8, Hughes Trlr Crt, Knob Noster MO65336, (816) 563-2177, after duty hours.

COMPUTING MACHINERY FOR SALE: OneKIM board modified for half duplex terminal (caneasily be changed back) in good working orderwith complete documentation. Also one JOLTsystem with CPU board, PROM board (with onePROM)and power supply mounted in box. Some-thing wrong with power supply but otherwise inworking condition. Will sell both together for $200or KIM for $150 and JOLT for $75 all as is.Norman Bringsjord, 1346 Connecticut Av NW,Washington DC 20036, (202)785-9440.

WILL TRADE/SELL: KELSEY8by 10 letterpress(like new) with 10 trays of type, (6 pt to 36 pt).All will be included. To use for business or hobby.Lots of extras. Value $750. Also have Thomas-Paramount Heathkit electronic organ in 100% mintcondition with bench value $1150. Want micro-computer ensemble (IMSAI, MITS, ALTAIR,SWPTC, etc). Can be kit (unassembled) or assem-bled. Write or call and tell me what you have.Shipping arrangements will be negotiated to in-terested parties. H Zallen, PO Drawer 2790,Norman OK 73070, (405)364-1119.

REALITY STRIKES!: I'm sitting on more of asystem than I need in my work. 16 K PDP-8F (8 Kcore), dual Innovex diskette, VT-8E alpha/graphicterminal and KB, ASR-33 TTY, 16 channel A/D, 2channel D/A in need of two D/A converter ICs,rolling cabinet with 3 hinged sides. Worth overS13 k new; everything works. Will settle for lessthan half price, and accept some items in trade(toward Z-80 system) in lieu of cash. See yourbank and make me an offer. William T Powers,1138 Whitfield Rd, Northbrook IL 60062,(312)272-2731.

FOR SALE: Motorola Evaluation Board 2 withMinibug 2 ROM, crystal clock, baud rate generatorfrom 75 - 9600 baud. Has serial interface for20 mA TTY and RS 232 output, two 8 bit paralleloutput ports and fully buffered address and datalines. PC board has sockets for all chips and asocket for PC edge connectors. Asking $350 orbest offer. R C Brand, 62 Preston Dr, N KingstownRl 02852, (401)295-1996 (evenings).

WANTED: BYTE back issues, 2, 3, 8, 9 and 10.No reasonable offer refused, and I will acceptXerox copies. Write Mark Brown, MinneapolisMedical Research Foundation, 501 Park Av,Minneapolis MN 55415.

100

******

"V*

lopYCilue/,profe//ionali/m

Computer Shack stores areexciting, enjoyable placesto visit. From the strikinginterior decor to the fun andchallenge of the GAMEROOM, you'll find ComputerShack stores a completelynew computer shoppingexperience.

You can count on ComputerShack stores for total profes-sional support whether yourneeds are those of a com-puter hobbyist, education,science or business user. Theskilled, management-trainedstaff offers knowledgeableservice, expert maintenance,and software guidance.

quality product/

At Computer Shack storesthe emphasis is on qualityproducts. Featured are thefinest in microcomputers,interfaces and peripherals,including the full IMSAI line.Every store is completelystocked with tools, booksand a complete line ofaccessories.

SALE OF THE MONTH

This month all ComputerShack stores feature—IMSAI8080 Kit with a free $52.0022/Slot Mother Board. Eachboard purchased this monthcomes with a free $7.00IMSAI Edge Connector.

beginner/welcomed

Do you want to get startedwith microcomputers? Areyou seeking expert guidanceon computers, peripherals,software? The place to visitis your nearest ComputerShack.

Watch your local newspaperfor Computer Shack open-ings. Each store features amonthly Sales Special.

14860 Wicks Blvd.

San Leandro, CA. 94577

(415)895-9363

Franchise Opportunities

Available

Now op«n in Hay ward CA, 22634 Foothill Blvd,(415) 538-8080

ProductDescription

Put Your Computer to Work

Bill RochRO-CHE Systems7101 Mammoth AvVan Nuys CA 91405

Now that you have your hobby computerassembled and running . . . what next? Well,there is always Star Trek, Life, Hunt theWumpos, and more in the way of computergames. After the games maybe you built aChristmas card list, list of anniversaries,phone directory or the like. But whathappened when you volunteered to keep thebatting averages for the Little League? All ofa sudden you ran out of memory or you hadto reenter the file of data each time you didan update.

It seems the manufacturers of our little"beasties" did not foresee the need to readand write records. Sure, you can save andload blocks of data, but what about thatcollection of characters which makes upfields and a group of fields which makes uprecords?

Our new product (RO-CHE Systems) is acontroller designed to handle multiple motorcontrol of audio cassette drives using statusbits controlled by the computer. The soft-ware we supply with the unit is designed towork with either the high speed Tarbellcassette interface or the Altair 8800 ACRinterface. In the past it took a commercialsystem or time sharing house to give you theability to handle files containing individualrecords. With the "Magic Black Box" as wecall it, control of audio cassette motorsprovides an element of automation pre-viously unobtainable using simpler cassetteinterface disciplines. We grabbed the extrastatus bits available on Don Tarbell's cassetteinterface and used them as control signalsfor the multicassette controller. In using ourcontrol box with other cassette interfaces,all you need to supply, outside of software

patches to the driver routines, is a parallelinterface output to accomplish the samefunction.

This controller handles up to four inex-pensive cassette recorders at one time with-out losing the ability to save and load fromAltair BASIC and other packages. The soft-ware developed with our unit reads andwrites physical records to and from softwareselected records. It's like having a big com-puter with four tape drives but not as fast.

With all this file handling software andthe hardware control box available at afraction of the cost of a big system, how canit be used?

Personal computer users are doctors,lawyers and indian chiefs, butchers, bakers,candlestick makers, white collar, blue collarand dirty collar workers who are members oflodges, churches and bowling leagues, andowners and managers of businesses.

With the capability of handling data fileslarger than your memory size, it becomesonly a matter of user application software tocreate such things as:

• Mailing lists

• Membership rosters

• Inventory

• Accounts receivable

• Accounts payable

• Back orders

• Batting and bowling averages

• Form letters

• Word processing

• Check book balancing

• Income tax calculations(I've started . . . you add to the list)

We demonstrated the multicassette con-troller at the June and July Southern Cali-fornia Computer Society meetings where itwas set up to create a mailing list.

The demonstration started by one indi-vidual keying in his name and address whichwere written on deck 0. The next individualentered his last name. The software read thename from deck 0 and decided which nameto write to deck 1 first. The rest of the namewas entered and now the tape in deck 1 hadtwo names and addresses. Each time a namewas entered, the old master file was read andthe new name was merged in alphabetically

102

to the new master file. The demo softwarealso had the ability to find a last name andprint it out or to list the whole file of names.Last names were used as the key field foridentification, but it could just as well havebeen part numbers, account numbers or anyother such identification code.

In addition to the cassette 10 routines,the software supplied with this box containsa number of utility routines for such thingsas keyboard entry and echo, message output,string compare, line feed, carriage return,siring moving, etc.

Where to Get It

RO-CHE Systems, 7101 Mammoth Av,Van Nuys CA 91405, offers the multi-cassette controls in a two and four portmodel at $95 and $125 in kit form, and$135 and $175 when assembled and tested.A two port add on kit is also available at$32. Shipping and handling is $2.50 per unitexcept the add on kit which is $1.

The units come complete with assemblyand operating instructions and a cassettecontaining the RCSCOS operating systems,Tarbell IO and a low core assembler editorand monitor. Source listings of the operatingsystem are available at $5 each."

c

KENTUCKY FRIED[COMPUTERS °1

A discount 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.

*IMSAI-Computers, memory, interfaces & peripherals

North Star Computers-FPB & Disk

Lear Seigler-ADM3 Terminal kit-$835 ($995 assem.)*Polymorphic Systems-Computers, memory & interfaces*Cromemco-TV Dazzler, Bytesaver, 7A+D & ZPU

Enclosed Cherry Keyboard-$125♦Morrow's Micro Stuff-Cassette interface*Vector Graphics-memory

'Starred items available by mail order at 10% discountfrom manufacturer's current list prices. For promptdelivery, send money order or cashiers check plus 2%shipping & handling. Personal checks require 3 weeksprocessing. Calif, res. add sales tax. Minimum order $80.00.

KENTUCKY FRIED COMPUTERS2465 FOURTH STREETBERKELEY, CA 94710

TELEPHONE: (415) 549-0858

A COMPUTER IN EVERY POT

YOU'LL SAY...

VeCCCH G3APHC

WHY OUR MEMORY SHOULD BE YOUR MEMORY

1. Quality 2. Delivery 3. Price

ALTAIR & IMSAI COMPATIBLE 8K STATICRAM SPECIFICATIONS:

Access Time: 450 ns - no wait statesCurrent Requirement: + 5 to + 10V at 1.6A worstcase, 1.35A typicalMemory Chips: Prime components plus two

extrasAddress Lines: Fully bufferedMemory Protect: Hardware 8KPower Regulators: 4 ea. 7805

Address Select: Dip switch accessable fromtop of board. No need toremove board to relocateOutput Disable: Permits use with transparent ,.

loader ,

Board: Quality G-10 material with /

solder mask both sides. <y\ / >

P're-tested for etch bridges. '

Order your 8K RAM kit for only $265.00 +6% Cal.sales tax +3% hndlg. $350assmbld., both incl. sockets.

P.O. BOX 4784

THOUSAND OAKS, CA 91359

TEL:(213) 889-9809

EOT G3APHC inc.

103

Calculator Keyboard Inputfor the Microcomputer

Joseph HoegerlRD 1 Box 262Guy Mills PA 16327

There was a need for asimpler method to putprograms into memory.

Some months ago I purchased an RGSElectronics 008A Microcomputer Kit inorder to learn about this computer thing. Inthe intervening months it has served anumber of very useful functions.

First, I learned about the basics of com-puters. In putting the kit together, I learneda great deal about the 8008 microprocessorand its associated circuits. By solving aproblem in the operation of IO transfer, Igot to understand a lot about the logic ofmy computer. (It turned out to be amalfunctioning 7442 chip which providedthe IO gating pulses.)

Second, I have become reasonably pro-ficient in programming, using the basicmachine language of the 8008 in octal form.The instruction set of the 8008 is simpleenough that one can remember the numbersin octal from about as easily as themnemonics and it saves time when workingwith shorter programs.

Third, it has provided me with a numberof projects involving the computer itself orwith the equipment tied into it.

It did not take long for me to see thatentering programs by way of the front panel

switches was tedious and time consuming,especially since programs quickly becomemore complicated and longer as pro-gramming proficiency develops. There was aneed for a simpler method to put theprograms into the memory. The thoughtoccurred to me that an inexpensive andsimple solution might be to adapt a calcula-tor keyboard to enter data in octal form.The circuit described in this article is theresult of thinking about this alternative. The'unit proved to be both trouble and error freein the five months since it was completed. Iuse the keyboard continually, even though Ihave since interfaced a Model 15 Teletypeand a five level tape unit to the CPU whichenables entering programs from tape.

A bootstrap program for initial inputafter a power shutdown requires only 15bytes which must be entered by the originalfront panel switches (see listing 1). The mainprogram requires only 62 bytes and these areentered using the bootstrap (see listing 2).The keyboard has provision for entering dataeither in octal or hexadecimal format. Theunit may be built with the full capability, orparts can be omitted to dedicate the key-

Listing I: Bootstrap Keyboard Input Program. This 8008 program reads thekeyboard device of figure I and loads memory in ascending sequence. Itsprimary purpose is to enter the second full program of listing 2.

Intelese

Octal Address

Octal Cod

000/000

006 070

000/002

161

000/003

056 XXX

000/005

066 XXX

000/007

300

000/010

250

000/011

141

000/012

101

000/013

370

000/014

060

000/015

121

000/016

000

Label

Op

Operand

Commentary

LAI

070

define device address;

OUT

select device;

LHI

(H)

load upper address byte here;

LLI

(L)

load lower address byte here;

LAA

no op;

XRA

clear "A" to zero;

OUT

send control pulse out to interface;

INP

read a byte into accumulator;

LMA

load the byte into memory;

INL

increment the address pointer;

OUT

output a pulse to reset data ready flag

HLT

end of program, wait for restart.

104

board to octal or hexadecimal inputexclusively.

Circuit Description

The circuit of the input device is given infigure 1. A diode matrix decodes the key-switch closures into binary formal. Data isentered in the normal sequence with themost significant digit first. The three 7475latches are activated sequentially (only twoare used for the hexadecimal mode of input)and the binary equivalent of each digit isheld in the 7475 latches until read by thecomputer and then cleared by a signal fromthe computer, or, in case of keypressingerrors, by pressing the clear entry (CE) keyon the keyboard.

The choice of octal or hexadecimal isaccomplished by the use of two 74157multiplexers, ICI1 and IC12. These are setto pick hexadecimal or octal encoding byS1. If only octal format is needed, thebinary data can be taken directly from IC1,IC2 and IC3, at the points marked AO lo A7

on figure I. If only hexadecimal format isdesired, IC11, IC12, and IC3 may beomitted and the outputs taken from theremaining IC1 and IC2 at the points markedBO to B7 on the diagram.

The circuit operates as follows: When akey is depressed, one or more of the fivedecode lines will go lo the high state. (Fourlines are used for encoding the digits 'I' to'F'; and the fifth line is used to decode thezero key.) These are inverted by the fiveinverters, IC4A through IC4E, the outputsof which go low when a key is pressed. Thiscauses the output of IC5, which functions asa nor gate, to go high. This transition isconverted to a positive going pulse by thecombination of IC4F, capacitor CI andresistor R6. The pulse is inverted andsquared off by IC6D. The output pulse ofIC6D is fed to the three gates ICIOA, B andC, one of which is enabled by the state ofthe 2 bit counter IC7A and IC7B. A "clearflag" signal from the CPU, or a clear entry(CE) key closure will reset the two flip flops

Toggle switches are relicsof the dark ages (ofcomputing).

Listing 2: Full Keyboard Input Program. This 8008 program defines amemory address with the first two bytes read from the keyboard after restart.Then it enters a loop which loads memory byte by byte in ascending addresssequence.

Intelese

Octal Address

Octal Code

Label

Op

Operand

Commentary

000/070

006

070

START:

LAI

070

load address of keyboard;

000/072

161

OUT

select device;

000/073

121

OUT

reset flag;

000/074

106

116

000

CAL

DATA

A:=keyboard input;

000/077

350

LHA

loads upper address into H;

000/100

106

116

000

CAL

DATA

A:=keyboard input;

000/103

360

LDA

loads lower address into L;

000/104

106

116

000

MBYTE:

CAL

DATA

A:=keyboard input;

000/107

370

LMA

put byte into memory;

000/110

106

162

000

CAL

INHL

to increment H and L;

000/113

104

104

000

JMP

MBYTE

repeat for each byte in turn;

000/116

006

200

DATA:

LAI

200

set multiplexer to status;

000/120

141

OUT

status pulse;

000/121

016

002

LBI

2

set counter for debounce routine;

000/123

101

FLOOP:

INP

input flag status;

000/124

044

200

NDI

200B

mask flag bit;

000/126

022

RAL

put flag bit into carry and checkcarry bit;

000/127

100

123

000

JFC

FLOOP

if carry false, then check again.

000/132

011

DCB

if carry true then delay, then check again;

000/133

110

143

000

JFZ

DLY

22 ms delay;

000/136

250

XRA

clear accumulator and carry;

000/137

141

OUT

set multiplexer to accept data;

000/140

101

INP

accept data into A;

000/141

121

OUT

send out reset pulse;

000/142

007

RET

end of FLOOP routine;

000/143

106

151

000

DLY:

CAL

DELAY

22 ms delay;

000/146

104

123

000

JMP

FLOOP

try again;

000/151

036

326

DELAY:

LDI

326

set counter to give 22 ms delay;

000/153

300

TIME:

LAA

waste time;

000/154

300

LAA

waste more time;

000/155

031

DCD

decrement counter;

000/156

110

153

000

JFZ

TIME

waste time until counter is zero;

000/161

007

RET

return to calling program;

000/162

060

INHL:

INL

increment lower address;

000/163

013

RFZ

return if lower address not zero;

000/164

050

INH

increment upper address if lower

was zero

000/165

007

RET

return to calling program;

105

OUTPUTSD7 D6 D5 D4

'^wV 9 9 V

► 5V

^ 4.7K1 VA-

OUTPUTSD3 D2 Dl DO

POWER LEADS

+ 5 GND

7400 14 7

7404 14 7

7411 14 7

7430 14 7

7475 5 12

74157 16 8

+ 5V4.7K fy 4.7K

CLEAR

ENTRY

ENTERDATA

r CE 1' 11/' I'3 • f EN —,

IvJn

, 000.

1 L K E

—• * • • • • • •-

PULSEGENERATOR

Figure 1.' Keyboard Input Logic. This circuit contains a diode matrix which encodes 16 hexadecimal input keys as a four bitcode, a register to contain the results of that conversion, a multiplexer which gives a switch selected 3 digit octal or a 2 digithexadecimal interpretation to the inputs, and control logic for keyboard debouncing, clearing, and entering data.

to the start position. When this happens,gate IC10A will be enabled by a high levelon two of the three inputs. The pulse fromIC6D mentioned previously then satisfies thegate and its output will go high, momentar-ily causing IC1 to latch on the data presenton the decode lines.

When the key initially depressed is re-leased, the delay monostable made up of R7,R8, C2, IC6A, B, and C, causes a pulsewhich increments the counter formed by flipflops IC7A and B, thus setting up two linesof IC10B to a high level and ready to acceptthe next digit. Note that this does nothappen until the key is released, thus avoid-ing erroneous writing of the same data intomore than one latch. This process continuesfor the third digit with IC1 OC enabled.

After the desired digits have been entered

on the keyboard, the enter (EN) key ispressed. This sets the flag RS flip flop madeup of IC8A and B. To prevent multiple dataentry, its output must pass through the dualinput gate IC9B, which will prevent datafrom passing through until the enter key hasbeen released. At that time a high level willappear on the data ready flag output,signalling the CPU that data is ready forprocessing. The RS flip flop is reset by anegative going pulse on the clear flag inputfrom the CPU. When this flag flip flop wasinitially set by the enter key, the 7474 flipflops IC7A and B are cleared to zero throughOCand D.

The Interface

A standard RGS Electronics interfaceboard was used with the addition of the

106

circuit shown in figure 2. This circuit is amultiplexer which allows one of the eightdata bus lines to read either data or the dataready flag output. To simplify programming,D7 was chosen for the dual purpose line.

The instruction "LAI 200" followed by a141 output control instruction will set the Qoutput of IC13A to a high level. This will setthe multiplexer IC14 to accept data fromthe data ready flag on the D7 input, sig-nalling the CPU that data is available. Theprogram then performs an XRA which clearsD7 to zero, followed by a 141 outputcontrol instruction which sets the Q outputof IC1 3A to a zero and the Q to a high levelwhich switches the selector of IC14A, B andC to accept the D7 output of the 74157IC11.

Construction Notes

Little trouble was encountered in theconstruction of this unit. The circuit, withthe exception of the keyboard and theinterface, was all put on a single sided print-ed circuit board four by six inches. As I doin most of my construction projects, I usedsingle sided board and wired across theboard where I couldn't paint in the requiredwiring. I have found that this technique givesresults with considerable saving in time whenonly one model is to be made. Ribbon wirewas used between the circuit and the key-board. This allowed the keyboard lo bemoved around to the most convenient loca-tion and out of the way when not in use.Power was taken from the power supply ofthe computer, which is capable of supplyingthree amperes. My present memory size islow enough to make a considerable excesspower available for peripherals. The univer-sal interface board supplied by RGS Elec-tronics in kit form is a very flexible circuitwhich lends itself to many types of externalequipment such as this unit.

Programming

A bootstrap program, 15 bytes in length,is found in listing 1. It is placed into the first15 address locations on page zero to takeadvantage of the RST instructions to mini-mize program length. These bytes must beentered using the original switches on thefront panel of the CPU. The purpose of thesimple bootstrap program is to load asecond, more sophisticated bootstrapprogram.

The starting address of the program to beentered is placed in location 004 for theupper and 006 for the lower address. Thesetwo addresses are two of the 1 5 bytes whichmake up the program. Operation is asfollows:

FROM DATA i—«_READY FLAG I >

FROM 07 ON I—s^74157 MUX I—'•*'

to d7 output |—^of interface!—*■

TO A7 INPUT ONINTERFACE

TO STATUS OUTPUT

^ 1 TO STATUS OU

1 OF INTERFACE

Figure 2: RGS-008A Interface Logic. This diagram shows the logic used tocontrol the interface to the author's RGS-008A computer.

1. Set the front panel switches to 005B.

2. Press the "clear entry" key on thekeyboard.

3. Enter the three octal numbers thatrepresent the program byte.

4. Press the enter (EN) key.

5. Press Interrupt on the CPU frontpanel.

6. After the first byte has been entered,set the front panel switches on theCPU to octal 015, then repeat steps3,4, and 5 above for each additionalbyte to be entered.

You will note that this is not a continuouslyexecuting program but stops after each entryand is restarted for each byte using the RSTand interrupt instruction.

A More Sophisticated Bootstrap Program

Listing 2 shows a program which requiresonly 62 bytes and is entered using the simplebootstrap program. In my case the programis located at page zero, octal location 070. Itis a continuously executing program andafter finishing program entry, the frontpanel switches are set to zero and aninterrupt entered. It operates as follows:

1. Set the front panel switches to 075and press interrupt switch.

2. Clear the keyboard with the clearentry (CE) key.

3. Enter the upper starting address andpress the enter (EN) key.

4. Enter the lower address and press theenter key.

5. Enter the program bytes, sequentially,pressing the enter key for each byte. Ifmore than one byte of the sameprogram instruction is lo be put intomemory, it is not necessary to rekeythem. Merely press the enter key againfor each additional byte. ■

107

Clubs andNewsletters

The RAMS of Rochester

We recently received word from DaveNoderer, secretary of the Rochester NYArea Microcomputer Society, a relativelynew organization, that meetings are sched-uled for the second Thursday of each monthat the Rochester Institute of Technology,Building 6, Room 1030 at 7:30 PM.

The primary objectives of RAMS areexchanging newsletters, establishing grouppurchasing power, and organizing regionalcomputerfests and conferences. A monthlynewsletter called Memory Pages is publishedand can be obtained by writing to RAMS,POB D, Rochester NY 14609.

Omaha Hackers — Getting It Together

Mid-America Computer Hobbyistsannounce the organization of an Omahabased club primarily to exchange informa-tion on construction and software develop-ment projects. Those interested in joiningMACH should get in touch with Lt TomSmith, 2708 Calhoun St, Bellevue NE68005.

British Columbia Computer Society

A group of computer hobbyists havebanded together in British Columbia. Formore information about what should be apromising new club contact Karl Brackhaus,203-1625 W 13 Av, Vancouver BC CanadaV6J 269, (604) 738-9341.

San Diego Computer Society —Personal Systems

SDCS has apparently developed into afirst rate organization at least by the looksof its newsletter, Persona/ Systems. Amongthe articles in the October issue (the latestwe have unfortunately) is one by C SPepper, "The MM5740AAE Encoder," acomplete keyboard interface system capable

of encoding 90 switch enclosures in aASR 33 Teletype format as a 9 bit code,"The Micro-Tower" by Dr Lance Leventhal,the next few articles of which will deal withcomputer intersection sets, and an article onan "Extended Debugging Aid" by Richard SMason. All major entries in this newsletterappear to be technically competent andthorough. So, if you want to learn moreabout computers write Personal Systems,San Diego Computer Society, POB 9988,San Diego CA 92109.

New England Computer Society

NECS continues to publish a finemonthly newsletter, The COMPUTER/ST.Volume 1, Number 1, featured an article onthe future of the home terminal: a feedbackloop with the potential to plug personalexperience in the form of coded brainwavesinto any conceivable sequence or situation.According to author Joel Henkle of TheValley Institute, Hillsboro NH, this couldbecome a form of "electronic LSD." Sowatch out; this could have some very inter-esting possibilities!

Along with the fine articles which appearhere monthly is a rundown on the happen-ings of six hobbyist groups in the region.This is a mighty handy journal for NewEngland hackers. Subscription rate is $6 peryear. Write POB 3, South Chelmsford MA01824, or call (617) 256-3649.

Northwest Computer Club

It looks like some noteworthy things arehappening in the Seattle area through theNorthwest Computer Club. An interestingnewsletter has been assembled: a monthlypresentation of computer lore and a fairlyextensive classified section that might help abody save a buck or two. The October issuefeatures an article called "8080 Programing

108

Tips and Tricks," some nifty ways to use theunique address calculation ability on thismachine. There's also some information onthe West Coast Computer Faire, April 15 to17, at the San Francisco Civic Auditorium.Contact the Northwest Computer Club atPOB 5304, Seattle WA 98105.

Rock Island Hackers Unite!

The Quad City Computer Club in RockIsland IL held its first meeting on October24. A group of thirty got together for apresentation. To contact what may be an upand coming club write: John E Greve,4211/2 7th Av, Rock Island IL 61201.

KC Thru Put

The Computer Network of Kansas Cityhas been publishing a newsletter called KCThru Put. If you'd like to get in touch withthe folks in Kansas City, send a note to KCThru Put, 968 Kansas Av, Kansas City KS66105.

Central Florida - A New Club

Christian S Bauer, assistant professor ofengineering at Florida Technological Uni-versity in Orlando, announces the formationof a microcomputer club open to the com-munity as well as students. The plan is toundertake construction projects from BYTEand a number of Motorola 6800 designer'skits in order to build up a microcomputercenter. Contact Dr Bauer at (305) 678-2413to find out more.

PACE Users Group?

"We are seeking to form a PACE usersgroup for the purpose of exchangingsoftware, describing systems implementa-tions, and communicating hardware hintsand kinks on interfacing peripherals to the16 bit National Semiconductor microproces-sor. Although National Semiconductor hasits own microprocessor users' society, thisorganization covers 1MP16 and SC/MP aswell, and is also not primarily hobbyistoriented. Our intention is to serve as aclearing house for PACE based systems, bothhomebrew and commercial kit configura-tions (such as PACER), which will bringexisting and potential users together to shareideas, know-how, and the pleasures andpains of getting a system up and running. Upthe 16 bit microprocessor!

"Please send your name, address, phonenumber and a brief note on your system andits application to me, Jock Millenson, at 64The Uplands, Berkeley CA 94705.""

THE COMPUTER RQQM

SMALL COMPUTER SYSTEMS • SOFTWARE • AMATEUR RADIO EQUIPMENT

1455-ASo. 1100E. Salt Lake City, Utah 84105 Phone: 801-466-7911

"WE TAKE THEWW OUT OF THE BIJCHD "

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 RQQKI easy to understand

CATALOG COVERING

IMSAI

THE DIGITAL GROUP

POLYMORPHIC SYSTEMS

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

TECHNICAL DESIGN LABS

ETC.

3. the COMPUTER RQQKI "easy guide- to help you

PICK THE RIGHT SYSTEM, PERIPHERALS, COMPONENTS,AND SOFTWARE FOR

THE BEGINNERTHE ADVANCEDTHE EXPERTTHE SMALL BUSINESS

4. A CURRENT LISTING OF PRESENTLY AVAILABLE

SOFTWARE

PUBLICATIONS

PERIPHERALS

5. INFORMATION ON REPAIR SERVICE, LOW COSTCUSTOM PROGRAMMING AND OTHER SPECIAL SERVICES.

at the COMPUTER RQQKI your written questions

ARE HAPPILY RECEIVED AND PROMPTLY ANSWERED

WE ALSO STOCK A COMPLETELINE OF AMATEUR RADIO EQUIPMENT

BANKAMERICARD MASTERCHARGE

109

MICROCOMPUTERS^ * 3 RAM^JMPP• Z5". rf T T T IT IT T T LULaL^ ' ' ' '■ nfcrTPr-

San Francisco Bay Area—where it all started—finally gets its act together.7,000-10,000 PEOPLE ■ 100 CONFERENCE SESSIONS ■ 200 COMMERCIAL & HOMEBREW EXHIBITS2 BANQUETS ■ SPECIAL INTEREST SOCIAL CENTERSSan Francisco Civic Auditorium, Northern California's Largest Convention Facility

YOU CaiTBeXlPart Of It:

■ Some of the things you can do are:

Exhibit a Homebrewed System

• Hardware or Software

• Prizes for Best "Homecooking"

(just like a country fair)

• Nominal Grants-ln-Aid Will HelpWith Exhibit Transportation Costs

(grants will be refereed)Present a Talk

• A Formal Paper

• An Informal TalkServe on a Panel

• As a Panel Member

• As the Coordinator/ModeratorGive Suggestions

• Topics for Talks & Panels

• Speakers & Panel Participants

• Interesting Exhibits

(homebrewed or commercial)

• Special Activities

■ Quick, write or call for more details!Jim Warren, Faire Chairperson

Box 1579

Palo Alto CA 94302

(415) 851-7664 v 323-3111

Some of the Conference Sections being planned:

• Computer Graphics on Home Computers

• Computer-Driven, & Computer-Assisted Music Systems

• Speech Synthesis Using Home Computers

• Computers & Amateur Radio

• Microprogrammable Microprocessors for Hobbyists

• Program & Data Input via Optical Scanning

• Floppy Disc Systems for Personal Computers

• Computer Games: Alphanumeric & Graphic

• Computers & Systems for Very Small Businesses

• Personal Computers for the Physically Handicapped

• Personal Word-Processing Systems

• Software Design: Modularity & Portability

• Personal Computers for Education

associated with a Univ. of California short-course

• Several Sections Concerning Standards

• Other Sections for Club Leaders, Editors, Organizers, etc.

Co-Sponsors include amateur, professional, & educational groups:

• The Two Largest, Amateur Computer Organizations

Homebrew Computer Club

Southern California Computer Society

• Both Area Chapters of the Association for Computing Machinery

San Francisco Peninsula ChapterGolden Gate Chapter

• Stanford University's Electrical Engineering Department

• Community Computer Center

• People's Computer Company

V gtgM^il 15-17, xorrv

©1976 by Computer Faire

What's

A New Case of Independent Suppliers

For some time now, the small com-puter world has been treating the Altairbus of MITS as the de facto bus tointerface if you're about to make anindependent peripheral or processor.Well, sales of the Southwest TechnicalProducts Corporation 6800 system haveapparently gotten to the level where atleast one company feels there are enoughof them about to supply an independentperipheral product. This product, thefirst we've seen for a 6800 by South-west, is the M-16 16 K memory board bySmoke Signal Broadcasting. It uses thenew AMD 9141 ADC static memorychips and costs $595 and delivery isquoted as from stock. With theSWTPC 6800 it is now possible toexpand to 32 K without any modifica-tions of the circuitry by simply pluggingin two of these boards, and you can goall the way to 48 K with some rewiringof the SWTPC 6800 processor to avoidconflicts between MIKBUG and ad-dresses 8000 to BFFF hexadecimal. Thisproduct is the first of several the com-pany has designed and plans to producewhich will plug into the SWTPC com-puter. The size of this board is the sameas the SWTPC 6800 processor board (5.5by 9 inches; (14 cm by 23 cm) and the9141 chips utilized are fast enough torun the 6800 at its full rated speed.

Contact Smoke Signal Broadcastingat POB 2017, Hollywood CA 90028.■

^^^^ jjllj«b jjiiy^ MHHHE iiu^U£7&Aum^ ^u^m

'; m,mlhw$m

The Tarbell Cassette Interface

• Plugs directly into your IMSAI or ALTAIR

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

• Extremely Reliable—Phase encoded(self-clocking)

• 4 Extra Status Lines, 4 Extra Control Lines

• 25-page manual included

• Device Code Selectable by DIP-switch

• Capable of Generating BYTE/LANCASTERtapes also.

• No modification required on audio cassetterecorder

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

TARBELL ELECTRONICS

144 Miraleste Drive #106, Miraleste, Calif. 90732

(213)538-4251 California residents please add 6% sales tax

MULLEN COMPUTER BOARDS

BOX 6214 • HAYWARD, CA. 94545

ND

E

AL1AIR/IMIAI C

NEW FOR TROUBLESHOOTING OAND DEVELOPMENT: A SUPER ftfEXTENDER BOARD FOR THE'IfS-lOO BUSS. V

• Built in, 3 LED TTL logic probe A.

• Jumper links in power lines for easy

B current measurement and fusing _

• Edge connector label identifies all pins

<£

■CAVf)

Edge connector label identifies all pinsOutstanding instructions fri

Full width card; gold connector teeth

~AT YOUR LOCAL COMPUTER ■"

_^ •stores, or order by mail. E

nD Ml: «?§

111

Beck Reviews

So You Want a Beginner's Introduction?Try This Book as a Starter . . .

How to BuyS Use

rMJMPlJTERS 6MJCROraPUTERS

(I, Wllll.imH.iiiit'l.-"■

How to Buy and Use Minicomputers andMicrocomputers, by William Barden Jr,Howard W Sams and Co Inc, Indianapolis,1976, 240 pages, 8/2x11, paperback, $9.95.

William Barden Jr has written an inte-resting new book entitled How to Buy andUse Minicomputers and Microcomputers.The book is designed with the new user orpotential user in mind, as is reflected by thefollowing excerpt from its preface:

It doesn't take a mathematical orelectronics genius to learn how to use andprogram one of these computers. Startingwith a basic system, a beginner can learnby writing two- or three-step programsand rapidly work up to larger and morecomplicated functions. The beginner maythen add to his basic system as his hobby(and pocketbook) grows. A minimumsystem is now in the $200 range.

The purpose here is to instruct theinterested person in what computers are,how they perform their computing, andwhat tools are necessary to talk to allcomputers, especially the newer minicom-puters and microcomputers. A detaileddescription of four low-priced minicom-puters and many lower-priced microcom-puters is included. Many examples of"real-world" connections to computersare given, as are short programs illustrat-ing the programming of the computersboth in the more rudimentary machinelanguage and the BASIC language. Bench-mark programs for every minicomputer

or microcomputer discussed are providedfor comparisons of one computer withanother.

Further, the book reflects an importantpoint, which we can only emphasize overand over again: microcomputers, per se, aremerely extensions of the concept of aminicomputer to a lower price range. Assuch, the book is about inexpensive generalpurpose computer systems, rather than ex-clusively concentrating upon the microcom-puter as a currently fashionable and practicalway of implementing the processors for suchsystems.

You'll find a chapter on the basics ofcomputers, a chapter on the hardware ofprocessors, a chapter on software, an excel-lent and comprehensive chapter on periph-eral devices from the standard to the non-standard, a chapter on how to select asystem, a chapter on programming andapplying a sy-stem, and two chapters pro-filing general purpose systems based onmicrocomputers and minicomputers. Thebook is finished with a set of 10 appendicesand an index. We highly recommend thisbook as a background source of informationfor the new computer user who wants toget oriented in the field as quickly aspossible. . . CH"

Electronic Projects for Musicians, by CraigAnderton, Guitar Player Productions,Saratoga CA, 1975, $6.95.

If brevity is the soul of wit, clarity andconciseness are the life's blood of a goodtechnical handbook — especially when aneophyte's comprehension is at stake. That'swhat makes this text so satisfying. Thebeginner's understanding is not short-cir-cuited by seemingly groundless technicallingo. Rather, the reader is led by a friendlyhand through the wirey labyrinth of inte-grated circuits, resistors and capacitors.Within fifty pages, even a novice is well onthe way to building his or her own preamps,metronomes, sound mixers, tone controls orany of fifteen other musical projects.

With Anderton's light readable style andVesta Copestake's clear illustrations andschematics, Chapter one's introduction toelectronics is quick and relatively painless.The musician may not learn everything, buthe or she will pick up enough theory to takeoff the gloves and just about get to work.

But first, he or she will need parts andtools. The next chapter dissects the electron-ics marketplace — from small retail outletsto large industrial vendors. The author showshow to obtain quality parts at reasonable

112

WHO NEEDS IT?

If you run a lot of programs and needflexible yet inexpensive storage, youneed a cassette recorder interface.

Why choose DAJEN?

CRI uses biphase format for highspeed and densitv. DIP switch selec-tion of baud rate from 800 to over6000 baud. Digital comparator, noadjustment. Level and sync indicator.Operate from systems clock for sta-bility. Fully Altair, IMSAI, Tarbellcompatible. Bus driver. Single voltagepower supply. All IC sockets pro-vided. Prerecorded cassette tapes.

Complete 16 page manual $2.50.

Refundable with order

Kit $120.00

Assembled, tested $160.00

COD $1.50 extra

DAJEN Electronics

7214Springleaf Ct.Citrus Heights CA 95610(916) 723-1050

8,192 X 8 BIT STATIC MEMORY

EXCEPTIONALLY LOW POWER

KIT $295.00

PROTOTYPING BOARD

Z-80 - CPU

16K RAM

EXTENDER CARD

2K RAM/2K ROM

CARD RACK AND POWER SUPPLY

LOW PROFI LE IC SOCKETS

EDGE CONNECTORS

DB25CONNECTORS

SHIPPING EXTRA. ADD S2.00NJ RES. ADD 5% SALES TAX

ELECTRONIC CONTROL TECHNOLOGY

P.O. Box 6, Union, New Jersey 07083

<L

t

ompuler re far,V\ew UJork

LONG ISLAND

Computer leasing available.

IMSAI, SWTPCo, Digital Group

Processor Tech, Apple, OSI

TDL-Z-80, Seals, Cromemco,

Veras, Tarbell, Oliver

Magazines, books, chips,sockets, connectors, terminals.

IT'S ALL HERE WAITING FOR YOUFRIENDLY ADVICE TOO

New York City314 5th Ave.(32nd St)New York 10001212-279-1048

Long Island2072 Front StEast Meadow NY516-794-0510

U. S. ROBOTICS

Makers of fine robots since 1982. announce thenext best thing in 1977the

AUTO - ANSWERMODEM

' originate/answer switch means your micro cananswer calls from other computers orterminals.Build your own timesharing service.

(make your hobby pay)Start a software exchange.Enjoy a new dimension in games: man/machine teams in battle!

• fully assembled and tested.

• 103 type, runs 0-600 baud.

• interface with RS232, 20ma and TTL.' digital modem, crystal controlled.

" 90-day full warranty.

■ optional S25/yr maintenance contract.

' 10-day modem-back-money-back guarantee.

Send $105 (shipping, handling andIllinois sales tax included) to

U. S. ROBOTICS

Box 5502Chicago, IL 60680MOD Phone:312-528-9045

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.

GRAPHICS

1 Simultaneous displayof text and graphics

* 64 programmableGRAPHICS characters

* Upper case ASCI IROM

* Character selectiveinverse video

•All needed RAMincluded

This high resolution low costgraphics/text display has been madepossible through the use of 64totally user-programmable graphicscharacters. These contiguous 8x12"building-blocks" are accessed justlike any text character and dis-played on the same 64 character x16 line screen grid.

This complete single board kitplugs directly into the S-100 bus(Altair/IMSAI) and is yours foronly $199.

Ask for THE DETAILER.

MicroGRAPHICS

P.O. Box 2189, Station A

Champaign IL 61820

Terms:

Prepaid. Illinois residentsadd 5% sales tax.

19 !^lsl

Even ii you know nothing abOlelectronics, you can builti pr>amps, riuji tnodul.xtors, mixertone controls, mtnu\mps, VuzzeAnd a dozen otherinexpensh

musical projects, Includes .\ si;

""""' '"""-"•■"j"" "•'■■"' _ J

IP

prices. Included is a log of mail ordersuppliers, a representative price list of retailand wholesale components, and somewarnings on detecting bad deals.

The author also assembles a decent set oftools for about sixty dollars, which shouldpay for itself within a few projects. Includedare pointers on the care and feeding of toolsas well as some safety tips: "Don't solderwith shorts on if you're sitting down. Some-times the rosin spits out and hits you on theleg."

Once the tools, parts, and basic theory

are together, the next step is construction —perfboard assemblage, soldering, drillingtemplates and the like. With the clearinstructions for basic workmanship digested,even the greenest are now ready to disappearinto the basement for some hands-onexperience.

Each of the projects uses one integratedcircuit, runs on common battery voltages,and requires about the same level of tech-nical competence. For each gadget, theauthor explains just what it does (a recordcomes with the book to show how eachsounds), as well as how to build, substitute,or modify. Included for every project areschematics, parts lists, component layoutdiagrams, and a one-to-one scale positive ofthe board foil pattern.

The appendix gives approximate materialcosts for the projects (at December 1975prices). The most expensive project, aneight-in-one-out mixer, is listed at $20 to$40. The rest range from under $5 to about$25. Not bad when you consider the manu-factured costs; and, with Anderton's help,not all that difficult to build either. Even ifyou haven't the faintest interest in electronicmusic projects, the practical pointers onidentification of parts and construction ofelectronics projects make this book an essen-tial starting point for us novices.

Jim Travisano

Box 4

Marlboro VT 05344 ■

The Compleat Computer by Dennie VanTassel, Science Research Associates, Chica-go, 216 pages, softbound, $5.95.

RIDDLE: What do a medical center, theSenate Watergate Committee's investigativeteam and a Tibetan monastery have incommon? ANSWER: a computer. Surprised?Thanks to Dennie Van Tassel's The Com-pleat Computer, such information about theincreasing use of computers has lost much ofits stiff scientific "byte" and been replacedwith beneficial information that anyone canunderstand.

The Compleat Computer (1976), a care-fully compiled collection of over 100 in-formative and often humorous articles bynoncomputer specialists, seems to be thebest publication so far to help expose peopleto the many diverse opinions about thecomputer. Author Van Tassel, user liaison inthe computer center at UCSC and collectorof computer miscellany, has filled his paper-back book with a wide variety of selections

from fiction, poetry, newspapers, cartoonsand advertising as well as articles that con-cern the computer specialist. Such well-known noncomputer experts as NormanCousins, Ray Bradbury and Issac Asimov arejust a few of the writers whose articlesappear in the book.

Some of the different areas covered in-clude the story of a fully computerizedpoison control center in a children's hospitalin Missouri, a computer which acted as a key"member" of the Senate Watergate investi-gative team by spewing out minute factsabout any witness in a fraction of a secondand a fictional account of how a Tibetanmonastery might use a computer to compilea list of all the possible names of god.

In order to include as much material aspossible, Van Tassel capsulized the longerarticles and selected only the "tastiest tid-bits" for publication. His extensive refer-ences following each article are helpful tothe interested reader who wishes to pursue atopic in greater depth. After each well-

114

organized section of the book, a long list ofquestions and exercises is included to furtheraid the reader in exploring other variousopinions about the use of computers.

The book is divided into nine sectionsstarting with three introductory chapterswhich discuss the basics of computers.Articles appearing in this first section in-clude "The Development of AutomaticComputing," "Computer Games PeoplePlay" and "Technology, McDonald's Collideas Students Best Burger Bonanza," a humor-ous article describing how Cal Tech studentsused an IBM computer to print out 1.2million entry blanks and win a McDonald'scontest.

The seond portion of the book brings thereader up to date with chapters on "ThePresent and Potential," "Applications" and"Governmental Uses" of computers. In"Justice, the Constitution and Privacy," SamErvin Jr, Senator from North Carolina, raisessome interesting questions concerning thecomputer's role in government surveillanceand the individual's right to privacy. On amore humorous side,'Art Buchwald's "TheCurse" warns of the horrible consequences acomputer metes out when a defiant citizendares to fold, bend and mutilate his phonebill and send it (with payment) back to thecompany.

The book's final three chapters, "TheImpact of Computers," "Controls or MaybeLack of Controls" and "Your Future,"explore the many significant effects thecomputer has upon our everyday lives andthe potential it plays in our country's future.Articles in this section include "Computer-ized Dating or Matchmaking," "ComputerCrime" and "Machines Hold Powers forGood and Evil."

Interspersed among the many informativearticles are imaginative poems, computergenerated illustrations and cartoons.Throughout the book the famous comicstrip character Doonesbury and his friendMark marvel at the many wonders of thecomputer. A newspaper ad for computeroperators convinces them that they havefound their true vocation in life. "Earn$7,000 . . . impress your friends . . . MEETGIRLS!"

In addition to all that humor, intrigueand important information to both thecomputer and noncomputer specialist, TheCompleat Computer also offers a fictionalromance about a computer named Max whoalmost breaks up a marriage. For $5.95 a

Behind every successful computerthere stands a human being.

copy, who could ask for more? Van Tasselhas also written Program Style, Design,Efficiency Debugging and Testing (Prentice-Hall Inc).

Linda Blocki

1706 Silver SE, Apt 27

Albuquerque NM 87106 ■

ALTAI R 8800OWNERS

* Does your Altair crash when the lights dim?

* Is your Altair power supply inadequate for all the memoryand I/O that you'd like to run?

Then you need the unique Parasitic Engineering Constant-Voltage Power Supply Kit. A custom engineered powersupply that installs easily in your Altair 8800 or 8800amainframe. It has performance no other Altair powersupply can match.

* Full 12 amp output with line voltage as low as 90 voltsor as high as 140 volts.

* Isolation from power line fluctuations and noise.

* Protected against overloads.

Don't let power supply problems sabotage your Altair.Order your kif TODAY.

only $90

postpaid in the USA.

Ca residents add $5.40 sales tax.

PARASITIC ENGINEERING

PO BOX 6314

ALBANY CA 94706

115

REFERENCES

James F Butterfield, inven-tor of a subjective colortranslator, assesses the effectsin his article in:

Journal of the Society ofMotion Picture and TelevisionEngineers, Volume 17, page1025, 1968.

Other articles have appear-ed in:

Broadcasting, April 11 1967.Wall Street Journal, July 241967.

Electronic Design, September13 1967, page 38.Popular Electronics, October1968.

Continued from page 48

your particular interface carefully. What iseven worse is that this procedure will prob-ably destroy blanking during vertical andhorizontal retrace. The easiest way out ofthe blanking problem is to gate the outputof the added inverter with the variouscounters provided on the interface in such away as to provide a black on white imageonly in the character field of the display.This will leave ugly black borders on thescreen, but they are preferable to a lack ofblanking.

The next problem involves generatingsubjective color timing pulses such as thoseshown in figure 3. This turns out to be avery easy problem to solve. A 60 Hertznonsymmetric clock is certainly available atthe interface since it is needed to gener-ate the vertical sync pulse for the television.A 7492 TTL IC configured as a divide bytwelve counter and a two input NOR gateare all that is required to generate the colorliming pulses in figure 3 from the 60 Hertzclock. We want the first flip flop, the A

stage, in the counter to trigger every time avertical sync pulse goes out, but we do notcare whether it triggers just before or justafter the sync pulse. Thus, the fact that thecounter is triggered by a falling edge is likelyto be just interesting trivia.

Another problem is providing for thestorage and readout of the color informa-tion. The simplest and most versatileapproach is to provide separate color infor-mation for each character. If we provide forfour character colors: black, red, green andblue, we need to provide two extra bits ofstorage at each character address. If youhave a video interface such as TVT II whichonly implements a 64 character subset ofASCII, both color and character informationcan be stored in a single 8 bit byte. Sincevirtually all of the small computers forpersonal use are byte oriented, this configu-ration is particularly appealing. You maywish to use it even if your video interface iscapable of generating the full ASCII charac-ter set.

A suggested but arbitrarily chosen codefor the two color select bits is also providedin figure 3 along with explanations for

CCKO

CS20

ECD

REQUIRED ACTION

DO NOT DISPLAY THE CHARACTER;DO NOT DISPLAY THE CHARACTER;DO NOT DISPLAY THE CHARACTER;

INSTEAD DISPLAY BLACKINSTEAD DISPLAY BLACKINSTEAD DISPLAY WHITE

DISPLAY THE CHARACTER AS BLACK DOTS ON A WHITE SURROUND

Figure 4: The heart of a subjective color generator. CCK is the input from the 60 Hznonsymmetric clock, CS7 and CS2 are the color select bits read in from memory. The twooutputs, BW for black and white, and ECD for enable character display, are used to gate theoutput of the character generator to provide the table.

116

various abbreviations. The color select bitscan be decoded with a 74155 TTL demulti-plexer, but random logic is less expensive.The color select bits are to be read into andout of memory at the same time as thecharacter bits so the same address lines andtiming can be used for both.

Figure 4 is a logic diagram of the heart ofa black and white to subjective color con-verter. Its inputs are the previously men-tioned 60 Hertz nonsymmetric clock and thetwo color select bits which are read frommemory. Its outputs are two signals whichare to be used to gate the output of thecharacter generator's shift register in such away as to provide the results listed in thetable in figure 4. Please note that figure 4 isdrawn for pedagogic value rather than forpackage minimization.

Some Final Notes

In adding subjective color to your currentvideo interface you will certainly want toinclude an override switch since you willlikely find the black on white display andthe subjective color flicker to be somewhatdistracting in noncolor applications.

For best results the video display onwhich subjective color is implementedshould be placed where there is moderateambient light, preferably from incandescentlamps. Since the phosphors on most blackand white television sets produce a white ofhigh color temperature, you will find thatan overall filtration of the CRT face with alarge acetate warming filter is useful inproducing the best reds.

You can produce subjective colors on acolor set, but the technique works best on ablack and white set. This is due to the blackand white set's superior contrast andresolution.

The best time to think about implement-ing subjective color is before the design of avideo interface. Perhaps this article will bethe catalyst for some new products.

Will subjective color knock Cromemco andIntelligent Systems on their respective ears?Hardly. Its advantages are obvious but itsperformance is modest. Subjective colorshould be viewed as an interesting and usefulmethod of displaying occasional color infor-mation on a black and white videoterminal."

How Well Will It Work?

This is an idea article. The details ofimplementing it in any particular systemmust be worked out by the experimenter.We 'd like to see some feedback from readerswho actually implement this experiment. . .CH

DIGITAL SYSTEMS

COMPLETELY

FLOPPY DISK ASSEMBLED UNIT

SYSTEM ^ 1 595.00

(Price guaranteed till 3/1/77)

Includes: single drive, cabinet, power supply, controller,interface and all cables - completely assembled and tested.

Features Shugart Associates drives and DIGITAL SYSTEMSFDC-1 controller. Disk formatting is IBM compatible. Comeswith single board interface to the Altair/IMSAI bus. Thecontroller uses a simple DMA interface that allows concurrentprocessor execution, uses hardware bootstrap without processorintervention.

The powerful CP/M Disk Operating System, written by theoriginator of Intel's PL/M compiler, is available for only $70.00.CP/M was developed on our hardware. Systems have beenoperating in the field for over two years.

Add $575.00 for the dual drive system.

DIGITAL SYSTEMS

1154 DunsmuirPI

Livermore, Ca. 94550 (415) 443-4078

CONGRATULATIONS

WE DID IT! THE 6800 IS COMPLETE

SWTPC 6800 PLUG COMPATIBLE PRODUCTS -COMPLETELY ASSEMBLED

M-16 A 16K single power supply STATIC RAM memory system. TheM-16 is fully buffered and requires only half the power of a similarsize system using low power 2102's. With the M-16, you can ex-pand your system to 48K and still have room left over. Price $595.

P-38 An 8K EPROM board containing room for 8 2708's. Alternately,you may use It to hold up to 7 2708's plus your Motorola MIK-BUG, MINIBUG II or MINIBUG III ROM. Using it in this mode atEOOO through FFFF you have direct access to the restart and in-terrupt vectors which are then switch selectable between MIK-BUG and your EPROM but still under MIKBUG control. The P-38addressing is switch selectable to any 8K location. Together theP-38 and M-16 allow various combinations of RAM plus EPROMup to 56K. Price $179.

P-38I Contains all the features of the P-38 plus interface capability tothe Oliver Paper Tape Reader and our EPROM programmer whichwill be announced shortly. Price $229.

P-38FF Contains all the features of the P-38I plus a plug-in interface tothe ICOM Frugal Floppy. Includes one 2708 with the ICOM boot-strap software. Price $299.

PS-1 Power Supply Kit. Provides plus and minus 16 volts required forup to 5 P-38 series systems. May be wired to provide a one voltincrease in the plus 8 volt supply. Recommended for any systemwhere the 8 volt supply falls below 7.7 volts under normal load.Price $24.95.

BFD-68 Basic Floppy Disc System. Complete with controller, cabinet,power supply and one mini-floppy drive. Cabinet, power supplyand controller will accommodate up to 3 drives. Includes our niftyDisc File Management software. Assembled and ready to plugInto your SWTPC 6800. Price $795. Additional drive and interfacecabling $429.

ALL OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEM-BLED. AVAILABLE AT MOST SWTPC DEALERS OR FROM US BY MAIL.BANKAMERICARD AND MASTERCHARGE WELCOME.

SMOKE SIGNAL BROADCASTING

P.O. Box 2017, Hollywood, CA. 90028

117

SLAM: A Software New Productfor Professionals

A company called PennMicro, POB 5073,Lancaster PA 17604, has announced theavailability of SLAM, a compact improvedoperating system designed to operate onIntel's Intellec 8/MOD 80 and MDS Micro-computer Systems. According to PennMicro,SLAM makes these microcomputers farmore powerful and easier to program byproviding a text editor and high level lan-guage interpreter in a package occupying lessthan 3200 bytes of memory. The aim of thepackage is to give the user a facility to createa program using the text editor, then run itimmediately using only the microcomputerand a Teletype. This eliminates paper tapeoperations completely without the cost of adiskette. Since SLAM uses a high levellanguage similar to BASIC, programming isfaster and easier than assembly languageusually used with microcomputers. SLAM(Symbolic Language Adapted for Microcom-puters) sounds a bit like Tiny BASIC: It uses16 bit signed numbers for convenience, hasIO and bit masking operations, has a varietyof conditional and subroutine commands,and is totally symbolic in nature . . . the userneed not assign registers or memory ad-dresses. An optional SLAM feature permitsprogram development while the microcom-puter is operating other real time systems.

SLAM is loaded and entered using theIntel System Monitor. It is supplied on papertape, ready to load without modification. A

complete instruction manual is supplied.SLAM is available directly from PennMicrofor $99; delivery is quoted as stock to twoweeks. Customers should specify whetherIntellec or MDS version is desired andwhether provision for interrupts is desired.For users of these Intel Systems, SLAMsounds like an excellent way to get instanthigh level language capability."

Attention Music Lovers

Chateau Engineering Co, POB 11, Arling-ton VA 22210, manufactures a system calledSCORTOS, which is a completely automatedmusic score editing and performance systembuilt from an Altair 8800, an ADM-111 VideoDisplay Terminal, a cassette or floppy diskmass storage device, and their special hard-ware product, the "Keyboard Interface Con-troller." This system is designed to interfacemechanically with existing keyboard in-struments, so that scores edited in thecomputer can be played in real time. Ascommented in the brochure, "The computerconverts musical symbols to musical eventsmuch the same as does a musician; in fact

the SCORTOS system can be thought of asan organist with sixteen hands since it iscapable of performing sixteen separate partssimultaneously." The key item, theKeyboard Interface Controller, operates byswitching mechanical relays and is com-pletely electrically isolated from the instru-ment it is controlling. This facilitates theconnection of instruments to SCORTOS,since electrical characteristics ranging fromnone (as in a piano) to extensive (as inelectronic organ or Moog synthesizer) neednot be a consideration. Each KIC controlstwo octaves of keyboard, or 24 keys, but thesystem can handle up to 11 KIC units. Theresponse time of the mechanical relays is 10ms, and up to 255 keys can be controlledwith up to 22 KIC units. In a one drivefloppy system, 80,000 musical events can bestored on line for up to 16 channels. Thesoftware described in the brochure is a musicdescription language edited with a speciallyconfigured ASCII keyboard.

The price? A cassette based system withone KIC output unit starts at $8000. Afloppy disk based system can be purchasedwith one KIC output unit starting at$10,000."

Here is a Neat Little8 K 6800 System

Electronic Product Associates Inc, 1157Vega St, San Diego CA 92110,(714) 276-8911, has announced a complete,self contained 6800 system for $1186 calledthe Expanded-68. Designed primarily forsystem prototype development use, theExpanded-68 comes complete with 8 K ofmemory, power supply, 16 digit keyboard,hexadecimal LED display, expansion cab-inet, 36 pin edge connector, and MIKBUG asan operating system. Also available for directinterfacing are: dual floppy disk drive,IMP-1 printer, 132 column printer, TV inter-face, and full ASCII keyboard. However,even if you're not a systems engineer design-ing new products, you may find this 6800 inits attractive desk top package will prove tobe an interesting personal computer option."

Software New Product

Are there bunches of PDP-8 usersburied in the woodwork? Of coursethere are, since Digital Equipment Corp'sPDP-8 started the growth of the smallcomputer field, and is probably thewidest selling minicomputer prior to themicrocomputer revolution. There is eventhe IM6100 copy of the PDP-8 which isa CMOS microcomputer which repre-sents a dedicated applications route to aPDP-8-like system.

Recognizing this presence of thePDP-8 (which is still a very widely soldproduct in DEC'S stable), a firm calledEDUCOMP, located at 196 Trumbull St,Hartford CT 06103, has been active inthe independent software market forPDP-8 compatible products, with thestar attraction being a PDP-8 operating

118

system called ETOS. This software hasjust been cycled through to version 4B,which was described in a recent pressrelease. ETOS version 4B provides time-sharing, real time tasks, and batch proc-essing simultaneously. Real time pro-grams supported under this releasetypically include device handlers fortime dependent tasks such as processcontrol and data acquisition. With ETOS4B real time tasks can be serviced whilebackground users continue to operateundisturbed under timesharing.

The operating system includes a lotof useful "big computer" OS featuresnot normally associated with minicom-puters. For those readers with PDP-8computers, multiple disk drives, multipleterminals and professional level require-ments, this $4,900 operating systempackage may well be worth your invest-ment. For further details, contactEDUCOMP Corp.*

BYTE's Bugs

APLCOMMENTARY

I was extremely pleased to see anarticle on APL in your magazine. Therewere a few errors, however, possiblybecause of the stated difficulty ofachieving "Selectric" quality printingfonts.

Of particular interest was theauthor's inconsistent use of the non-APLsymbol "£."No such symbol exists tomy knowledge. He uses it for twooperations: execute (<£) and membership(6).

A minor typo: in APL, 2X3+4X5is 46io. not 56?.

Although explained well, the negativesign (—) was incorrectly used in theexplanation of take and drop (t, 4.). Thecorrect symbols are ~"NtA and —N1A.The subtract sign (—) was used errone-ously (negation).

If J were a scalar, X/J would notyield the same result as !J. What wasprobably omitted was an iota; ie: X/tJ.

The T-bar symbol is new to me. It isnot used in the 3.0 release of the IBMprogram product nor in the APL plussystem nor Honeywell's file managementversion. I suspect format (^f>) was meant.

Despite my nit-picking, my utmostencouragement to Mr Arnold in de-veloping an APL interpreter.

Carmen J D'Agostino*

Where Is It?

John G Madry Jr, MD, Melbourne FL32901, calls our attention to our omission ofthe address for Executive Devices, whichmakes the pocket data terminals describedon page 99, November 1976 BYTE. Thefirm is located at 740 S Logan, Fresno CA93727; phone (209) 255-6977."

1702A MANUAL EPR0M PROGRAMMER

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

•III II

bit data drivers/receivers. Two 6V2" x 9" stacked cards withspacers. Allows programming in 20 minutes — copying in5 minutes. Requires +5, —9, and +80 volts.

ASSEMBLED S299.95

KIT $189.95

NOW

The best of two worlds ... use our 1702 EPROM programmeras a manual data/address entry programmer ... or connect itto your processor.IMSAI/ALTAI R 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/ALTAI R 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

SOFTWARE

BATTLESHIP

ANOTHER EXCITING INTERACTIVE GAME FROM TSC.THIS 6800 ASSEMBLY LANGUAGE PROGRAM PLACESYOU IN COMMAND OF A CONVOY OF SHIPS DOINGBATTLE WITH THE FLEET COMMANDED BY THE COM-PUTER. YOU EXCHANGE FIRE WITH THE COMPUTERIN AN EFFORT TO DESTROY ITS FLEET BEFOREYOUR'S IS. YOU RECEIVE A COMMENTED ASSEMBLEDSOURCE LISTING INCLUDING A SYMBOL TABLE, HEXCODE DUMP. INSTRUCTIONS, AND SAMPLE OUTPUT.SOURCE LISTING (REQUIRED) SL-23 $8.00PAPER TAPE (MIKBUG FORMAT) PT-4 $5.00CASSETTE (KC STC. MIKBUG FMT.) CT-6 $6.95

DIAGNOSTICS

THIS DIAGNOSTIC PACKAGE IS JUST WHAT YOU NEEDFOR TESTING YOUR 6800. IT CONTAINS 5 MEMORYTESTS. PLUS 6 OTHER DEVICE TESTS FOR A TOTALOF 11 INDISPENSIBLE SYSTEMS PROGRAMS. AND ATTHIS PRICE. YOU CANT GO WRONG. SL-23 $10.00

PROGRAM OF THE MONTH CLUB

THIS UNIQUE OPPORTUNITY IN HOME COMPUTING ISENJOYED BY HUNDREDS OF HOBBYISTS. COMPLETEINFORMATION IS INCLUDED IN OUR CATALOG.

ORDERING INFORMATION

PLEASE INCLUDE 3v. POSTAGE, INDIANA RESIDENTSADD 4V- TAX (US FUNDS ONLY). CHECK YOUR LOCALDEALER FOR OUR PRODUCTS. (DEALER INQUIRIESWELCOMED). SEND $.25 FOR A COMPLETE CATALOG.

TCP TECHNICAL SYSTEMS CONSULTANTS TCP

I 2Ll B0X 2574 w. LHFBYETTE INDIANA 47906 ' •J'-'

119

•

ITM

ii u i cniwm

MICROCOMPUTING FOR HOME AND THE SMALL RUSINESSMAN

The professional publication bringing microcomputing technology to the hobbyist, small businessman, educator,engineer and student. Every issue edited to bring technology and people together in the simplest manner.

INTERFACE AGE is packed with

HARDWARE ARTICLES — Product profiles, comparisons,applications, modifications and construction pro-jects.

SOFTWARE ARTICLES — Microcomputer developmentsoftware, short software routines, applicationsoftware, off-line software storage formats, softwarecommunication standards and access to themicrocomputer software depository for all INTER-FACE AGE readers.

TUTORIALS — Fundamentals of micro processors, basics formicrocomputing, professional to technical transitioninformation, understanding software, elementarymath for computing,

• NEW PRODUCTS — Manufacturer profiles and latestproduct releases.

• USER COMMUNICATION — UPDATE — devoted toclub and organization announcementsand activities. — LETTERS TO THE

EDITOR — Reader forum for expressionof opinions and feedback on articles andfeatures.

• MICRO-MARKET/FIFO FLEA MARKET - Low cost/nocost advertising for the newmarketeer/garage sale enthusiast.

If you need to know how to get started in microcomputing or need the valuable software onceyour system is completed then INTERFACE AGE is a must for you.

r

Don't Delay — Subscribe Today!

INTERFACE AGE MAGAZINE

1

P.O. Box 1234Cerritos, CA. 90701

Name.

12 Monthly Issues:

$10 U.S., $12 Can./Mex.,

$18 International

□ CHECK

□ MONEY ORDER

L

Address.

City

Country .

State.

Zip_

MAKE CHECK PAYABLE TO: INTERFACE AGE MAGAZINE

J

Further Notes on Bar Codes

The reactions to bar code as a means ofprinting programs have been quite encour-aging. We've received a flood of letters withnumerous comments ranging from "great"to "scurrilous" [hard to believe], from notechnical content to multiple page tomes ofopinionated technical proposal.

We had planned to put in a little bar codecontest this month, but a number ofcircumstances at the production end addedtogether in phase to prevent the copy fromreaching the magazine for February. Theproduction of bar codes in this form is still avery experimental art. . . The tricks whichWalter Banks had to pull, together with theusual programming glitches and circum-stances totally unrelated to bar codes orprogramming made themselves evident whenFebruary's bar code information was pre-pared.

The first output came our way well inadvance of the publication deadline. Themental model at that point was "every-thing's just fine." Then, along about twoweeks before press time, yours truly decidedthat it might be a good idea to try decodingthe copy. A test decode of the copy found abit of a discrepancy. It turns out that therewas a minor bug in the conversion software:9 bits instead of 8 bits per byte. (Theprogram was run on a machine with a 36 bitword. . . hmmm sounds suspicious).

So Walter went back to work on ironingout the bug — only to find that after fixingthe program a crucial step in the process ofbootstrapping the minicomputer in thePhoton phototypesetter decided to die: Thestepper motor in the paper tape reader ofthe machine burned out. In a feat of realtime hardware redesign, on the weekend ofDecember 11-12, Walter and associatesdiscarded (logically) the paper tape readerand added another direct hardwired link tothe Honeywell computer which enabledthem to bootstrap directly. The actual datafor the bar codes had always been sentdirectly over a communications link, whichis a good thing, sirice for just one 6.75 by 3inch (17.1 by 7.6 cm) segment of bar codecopy the machine requires over 70,000commands.

Finally, to cap off the whole process,three days before the deadline, Walter sentthe package containing the bar code samplesfor this issue, and they were promptly lostby the air express company which was usedas a courier. As is usual in magazine practice,we prepared this alternative set of copy togo with the magazine — in case at the lastminute the missing bars were to arrive likecavalry and save the day."

'confused about printers?\

MPI HAS YOUR ANSWER!

TTY REPLACEMENT?

THE SSP-40 PRICED AT $C7C

Contains its own microprocessor u I ■ ■ 1

for easy connection to your serial port ^^ ^^

LOW COST BUSINESS SYSTEM?

THE MP-40 PRICED AT S/IOC

Connects to your parallel port "^A f ~ I

tor ASCII data transfer *^\J

MINIMUM COST FOR HOBBYIST?THE KP-40 KIT PRICED AT <M 7 f\

Mechanism and minimum electronics I m ^4

for connexion to your parallel port

All of our 40 series printers use the same reliable 5X7 impact dot matrixmechanism with up to 40 columns per line on ordinary paper with a printspeed of 75 tines/minute

SEND FOR FREE LITERATURE

m^^ ! MICROPROCESSOR SYSTEMS

J I AND PERIPHERALS

f^ P.O. BOX 22101/SALT LAKE CITY/UT 84122

(801)566-0201

MASTER CHARGE WELCOME • UTAH RESIDENTS ADD 5% SALES TAX

M6800 ADVANCEDSYSTEMS SOFTWARE

RT/68®

RT/68" is mask-programmed on a 6830 ROM thatreplaces the Mikbug* ROM in your SWTPC 6800,Motorola Evaluation Module, etc. It is a powerful realtime, multiprogramming operating system with manyversatile system functions. RT/68© can support up to 16concurrent programs at 8 priority levels, and has 8software I/O channels.

MICROWARE has improved the Mikbug* functions,added four more (Dump, Exec, Sys, Bkpt) and made tapeload and punch program-usable. RT/68© is designed soprograms that use Mikbug* I/O don't require changes.

The comprehensive manual provides a good shortcourse in multiprogramming, describing programmingtechniques illustrated with many examples. KX/68®MULTIPROGRAMMING POWER CAN RUN ASECURITY SYSTEM, ANALYZE THE ACCOUNTSRECEIVABLE, AND MONITOR AN EXPERIMENT, ALLWHILE CHALLENGING A KLINGON FLEET.

RT/685 was originally developed for complex in-dustrial control applications and is available in adedicated OEM version. Write for details.

RT/68' is recommended for those with assemblylanguage familiarity.

ORDER RT68MR $45.00 ppd.

THE MICROWARE CORPORATION

RO. BOX 954 Des Moines,Iowa 50304

Write or use reader service card for free brochure.BankAmericard and Mastercharge give all info on card.Mikbug* is a trademark of Motorola, Inc.

121

TTL Loading Considerations

i„

^-^

Figure I: Schematic Dia-gram and symbolic repre-sentation of a simple 7400NAND gate. The inputsare A and B and theoutput is Y.

7400NAND GATE

(OUTPUT)

;=o_

TO NEXT STAGE

TTL GATE X

TTL GATE Y

Figure 2a: Schematic Diagram of a basic TTL gate showing the direction ofIOH when the output is high, VOH.

Greg TomaleskyDesign EngineerGT Electronics164 Preston RdParsippany NJ 07054

If you have ever studied a microcom-puter's schematic diagram, chances are youhave seen gates, flip flops, memories, etc,connected together to perform certain tasksessential to the operation of the computer.Upon closer examination you should noticethat various logic families are mixed, such as74XX, 74LXX, 74LSXX and perhaps evenCMOS. However, you may not have noticedthat there is a limit to the number of gatesthat may be interconnected. The purpose ofthis article is to show how these limitationsare arrived at by circuit designers and whatyou should watch out for in your own cir-cuit design.

Let's take a close look at what goes oninside a typical gate and apply this know-ledge to our circuit design. Figure 1 is aschematic diagram of a standard TTL NANDgate model 7400. The input of this gate is amultiemitter transistor, Ql. The base of Qlis tied to VCC, +5 V, through R1. This ar-rangement turns Ql on and allows current toflow from emitter to collector (see Biblio-graphy, reference 1, for further discussionof this circuit). When both emitters are ata logical 1 voltage, 2.4 V < VIH<VCC,this current flows through Ql and turnsQ2 on. With Q2 on, Q3 is also on, and itconducts from collector to ground. Thiscauses a logical 0 voltage, (0 V < VOL <0.4 V, to appear at the output.

In the case where both emitters aregrounded, no current flows to Q2 and it re-mains in the off state. With Q2 off, Q3 isalso off. Q4 is now on and a logical 1 voltageappears at the output. Table 1 is a truthtable summarizing input and output for thecircuit.

The current for the input transistor Ql isset by varying R1. A large value for Rl

122

y = AB (NAND)

\a

B Nv

0

1

0

1

1

1

1

0

Table I: Truth Table forthe NAND circuit shownin figure I. The inputs areA and B and the output isY.

results in a lower input current, IIH and IIL,for the various TTL families.

On the output side, the currents IOH andIOL are determined by Q3, Q4, R2 and R4.For a logic 1 voltage, this current is flowingout of the output and is governed by R4. Inthe data books this current is given a minussign to indicate current flow out of a ter-minal. Low values of R4 allow higher outputcurrents for single transistor output stages.In some cases, such as the 74S series, aDarlington transistor pair is used to boostthe output current beyond that obtainablewith a single transistor.

Figures 3a and 3b illustrate the directionof current flow for VOH and VOL respec-tively. In table 2 the output currents aregiven for the various TTL families. Circuitdesigners use the values of IIH, IIL, IOH andIOL to calculate the fanout. Fanout is ameasure of the number of inputs which maysafely be connected to one output.

The fanout between two logic familiesmay be calculated in one of two ways.Table 3 gives the fanout based on IOH andIIH. The results of the division (IOH/IIH)are given as absolute values in table 3.Absolute values are used because negativefanout has no practical meaning. Table 4gives the fanout values calculated from IOLand IIL. Again the absolute value is taken.To find the number of inputs that may bedriven from one output, one simply locatesthe driving output family across the top ofthe chart and proceeds down that column tothe row corresponding to the driven input.This procedure should be followed for bothcharts since the fanout values will be differ-ent depending on the mode of calculation.As an example, using table 3, we want toknow how many 74L series inputs may bedriven by one 74S series output. By follow-ing the above directions, we see that thisvalue is 100 inputs. Using table 4, we noticethe value is more than with table 3. In thiscase the limiting value is the smaller of thetwo. Since the figures are based on manu-

vec

+ 5V

TO NEXT STAGE

/77

Figure 2b: Schematic Diagram of a basic TTL gate showing the direction ofIOL when the output is low, VOL.

74

74L

74H

74S

74LS

IOL <mA>

16

2

20

20

4

IOH (^A)

-400

-200

-500

-1000

-400

Table 2: High and low output currents from several different TTL devices.

74

Driving C74L

lutput

74H

74S

74LS

74

10

5

12

25

10

74L

40

20

50

100

40

74H

8

4

10

20

8

74S

8

4

10

20

8

74 LS

20

10

25

50

20

Table 3: Fanout Chart used to compute the number of devices any particularTTL device can power. The fanout is calculated by dividing the output cur-rent by the input current. In this case the highest input and output valueswere used.

74

Driving C74L

lutput

74H

74S

74LS

74

10

1

12

12

2

a

74L

88

11

111

111

22

c

74H

8

1

10

10

2

>

74S

8

1

10

10

2

u

74LS

44

5

55

55

11

Table 4: Fanout Chart calculated the same way as table 3 except that thelowest values of input and output current were used in the calculations.

123

facturers' specifications, they are valid overthe temperature range OC < Ta < 70 C for agiven part and represent worst case condi-tions. Fanout decreases with an increase intemperature above the upper specificationlimit.

Gate outputs must also sink current toground during the VOL state. This currentmust go through Q3 as shown in figure 2a.As is often the case, a gate output is able todrive more inputs high than it is able to sinkat VOL.

When doing your own circuit design, planout your connections to avoid exceeding thefanout specifications as calculated above.Remember also, when using multiple inputgates as inverters, ie: 7420, 7400, etc, onlyone input should be used. The other inputsshould be tied to VCC through a 1000 ohmresistor. It is also good practice never to tieunused inputs to used inputs because of theincreased current drain. As an example, eachinput of a 7400 NAND gate requires 40 (iAat IIH. If both inputs are tied together toact as an inverter, the resultant input currentwould be 80/jA or the sum of the two inputcurrents. On the other hand, if one input isused while the other is tied to VCC, the cur-rent of the active input is 40 ;uA. Also, donot tie two or more outputs together. If all

the outputs are high it's okay, but as soon asone goes low it will try to bring the otherslow also. This will result in faulty perfor-mance or at worst a damaged gate.

In addition to the charts and tables des-cribed here, be sure to consult any pertinentdata books for further information as tospecifications, pin connections, etc. If youare just getting started in digital circuitdesign, it may be helpful to look over pub-lished schematics to get some ideas and alsoto compare calculated fanout data.

Digital design can be both rewarding andfrustrating; however, by paying close atten-tion to the recommended design practices,you will insure yourself against frustrationand produce better circuit designs."

BIBLIOGRAPHY

1. Morris, RL, and Miller, JR, eds, Designing withTTL Integrated Circuits, McGraw-Hill, NewYork, 1971.

2. Hnatek, ER, A User's Handbook of IntegratedCircuits, J Wiley & Sons, New York, 1973.

3. The TTL Data Book for Design Engineers,Texas Instruments, 1973.

4. Supplement to the TTL Data Book, TexasInstruments, 1974.

124

101 BasicComputer Games

David H. AM. An anthology of gamesand simulations—from Acey-Deuccy 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 formal,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 includesa 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. I976 $14.95 [8S]

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 competition1. Asingle inexpensive four-banger is all youneed to play. Large format. 50 pp. $2.00[8Hj

Games, Tricks andPuzzles For A HandCalculator

Wally 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]

So you 've got apersonal computer.

Now what?

The Best of CreativeComputing — Vol. 1

David AM. ed. Staggering diversity ofarticles and fiction (Isaac Asimov, etc.),computer games (18 new ones withcomplete listings), vivid graphics, 15pages of "foolishness," and comprehen-sivereviews 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.1 -year sub'n $8.00 [ 1 A], 3- years $21.00 [ IB], sample copy $ 1.50 [IC]

Problems ForComputer Solution

Gruenberger & Jaffray. 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 ana 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 [8.1]

A Simplified Guide toFortran Programming

Daniel McCraeken. 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 Tl Learning Center, this book waswtltten for the person who needs tounderstand electronics but can't devoteyears to the study. 242 pp. $2.95 [9A]

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 Weiienbaum. 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 gradualintroduction 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 Leavitt. 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 [6D1Cloth cover $10.95 [6E]

Computer Science:

A First Course (2nd Ed.)

Forsythe, Keenan, Organick, andStenberg. 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. $1.50[5B]

CREATIVE COMPUTING, Dept. BP.O. Box 789-M, Morristown, NJ 07960

Please send me the following:Quan. 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 .

□ BankAmericard \ Card No.

□ Master Charge ) Expiration date .Name

AddressCity

State

. Zip .

BYTE's Bits

Preserve those precious first 16 issues

with either a handsome but ruggedlibrary file—or a binder—in flag blueKivar library fabric stamped in goldleaf.

Files: Made to hold the first 16 issues of BYTE. Price perfile $4.95; three for $14; six for $24, postpaid.

Binders: Made to hold the first 16 issues of BYTE. Price perbinder $6.50; three for $18.75; six for $36, postpaid.(Add $1 each outside USA.)

Send to: BYTE, POB 5120, Philadelphia PA 19141

I enclose check or money order for $

Please send me BYTE Files Binders

Name

(Please print)

AddressCity

State

Zip

Satisfaction guaranteed or money refunded. Allow at least fourweeks for delivery.

A Computer Oriented Radio Talk Show

Richard Gardner has made someconnections in the radio media resultingin a new radio "talk" show for computerpeople which began 11 am-1 2:30 pm onJanuary 22 1977 over radio stationWBUR in Boston. Guests lined up forthe early shows include:

Calvin Mooers, Rockford Re-search, discussing patent andcopyright laws as applied tocomputer programs, documenta-tion, proprietary software andsoftware security.A representative of ECD Corpora-tion, Cambridge MA, manufactur-ers of a most interesting andcomplete computer system withhigh resolution graphics.Bill Rosenfeld, MIT LincolnLabs, a researcher working ontopics of speech compression andspeech synthesis.

John Carroll, Dynamic Measure-ment Corporation, who designspower supplies and other elec-tronic equipment professionally,discussing ideas for broadcastingprograms and data over the airand how individual users mightrecord this information for per-sonal use.

Arra Avakian, owner of a KIM-1,discussing some of the finerpoints of using this 6502 basedsystem.

Carl Mikkelson, Intermetrics Inc,talking about the development ofthe PLM6800 compiler, a lan-guage translator for cross compila-tions using large machines.Quincy Bent, Shriver Foundation,describing how he has been usinga microcomputer kit to build avideo tape editing system - inspite of his total lack of familiar-ity with computers prior to theproject.

Karen Brothers and Louise Silver,programming consultants, whohave a PDP-8 based home compu-ter system, discussing how theydo recipe nutrient analysis so thatgiven a recipe, its nutritionalvalue can be computed. Theirdata base on nutrition includeseverything from reindeer milk tomuskrat's tail.Initial versions of the show have beendone using a local radio talk showformat over WBUR, the Boston Univer-sity radio station. Richard reports thathe has been discussing the prospect ofsyndicating the show through the PBSnetwork or commercial radio as aneducational and informative program forpeople who are interested in smallcomputers. We'll have further reports as

126

time progresses. Richard can be reachedby phone at (617) 354-1216 (leave amessage in response to his unusual phonereply tape if he's not there) or write himat Box 134, Harvard Sq, Cambridge MA02138."

Publicity

Our Canadian readers will be inter-ested to know that there is now abona-fide computer store in operation inCanada. The store will carry a very broadrange of products of interest to all users,from hobbyists to small scale businesssystems.

The First Canadian Computer StoreLtd is located at 44 Elington Av,Toronto, Ontario M4R 1A1, (416)482-8080."

The Southernmost Computer Store

Sunny Computer Stores Inc hasmoved to a permanent location in theUniversity Shopping Center across fromthe University of Miami. They offer afull line of computers, components,books, magazines and a complete servicecenter for all products carried."

Attention Educators

The 1977 Winter Meeting of theAssociation for the Development ofComputer-Based Instructional Systems(ADCIS) will be held in Newark DE,February 22 thru 24 1977. For furtherinformation, contact the conferencehost, Fred Hofstetter, Department ofMusic, University of Delaware, NewarkDE 19711, (302) 738-2497."

The official "crowdscene"shot taken with a wide angle camera,

777e maker of the potted palm is unknown, butcomputer-watchers will identify a rare MemorexMRX-40 (an IBM/360 Model 40 look-alikeinternally) under the palm, with an early DECPDP-8 at the right. Since the Computer Warehousestore combines all the delights of a surplus house(it's the back side of American Used Computer)and a regular computer store, it is definitely a"must stop" on any computer hacker's tour of theNortheast,

Computer Warehouse Store Opening

On Thursday, November 18, theComputer Warehouse store in Bostonheld its grand opening celebration. Hereis a cross section of pictures supplied byVic Farmer of the store, showing someof the action.

WMSm

Two candid shots of budding hackers atwork. From the looks of things, one is ahardware person and the other asoftware person.

One of the door prizes being shown to the door byits new owners.

LET YOUR COMPUTER SEE

T.V. CAMERA INTERFACE AND CAM

TEACH YOUR COMPUTER TO READ

LET YOUR COMPUTER MAKE DECISIONS

BASED ON VISUAL INPUT

MAXIMUM VERTICAL RESOLUTIONMAXIMUM HORIZONTAL RESOLUTIONGREY SCALE RESOLUTIONMAXIMUM CONVERSION TIME (SEC.)

INFORMATION STORED IN AVAILABLE MEMORYANY TV CAMERA WITH EXT. SYNC.INPUT CAN BE USED

ALL EQUIPMENT FULLY ASSEMBLEDINTERFACE & DOCUMENTATIONINTERFACE, DOCUMENTATION & CAMERAMONITOR (VIDEO)DIGITAL DISPLAY BOARD TO FOLLOW

COMPUTER

:ra for altair / imsai

PLAY GAMES AND LET YOUR COMPUTER

SEE THE BOARD

INTERFACE TO THE ENVIRONMENT

246

214

64

5

$295.$595.$150.

D INTERFACE & DOCUMENTATION

D INTERFACE, DOCUMENTATION, CAMERA

□ MONITOR

D SEND MORE INFO. DALTAIR

ENCLOSED IS MY CHECK FOR $

NAME

ADDRESS

CITY

$295.$595.$150.

□ IMSAI

. STATE.

.ZIP-

OHIO RESIDENTS PLEASE ADD TAXSEND TO: ENVIRONMENTAL INTERFACES

3207 MEADOWBROOK BLVD.; CLEVE., OH 44118

(216) 371-8482

127

What's

iiiii

Take a Look, All Ye

Timesharing Freaks, Microcomputer Users

without Terminals

A company called the Computer Conver-sion Corp, located at 1961 Old MiddlcFieldWay, Mountain View CA 94043, has justintroduced this new terminal unit, priced aslow as $595 for just one of the 40 characterby 24 line models, Conversor 4000. TheConversor 8000 is an 80 character by 24 linemodel priced at $695 for just one. Thepurchaser has to supply his or her ownmonitor or converted television to acceptthe video output of this compact keyboardunit, and the computer interface of thedevice is RS-232 with switch selectable 1 10or 300 baud data rate. To get a timesharingterminal, the unit requires addition of theaccoustic coupler option for $110. An audio"beeper" option is also available for $30.This is a completely assembled unit, avail-able with delivery from 30 to 60 daysaccording to the press release. For furtherdetails contact the manufacturer of this fineunit."

PRAMMER?

XYBEK, a new firm with oneproduct at present, makes the "PRAM-MER," an EROM programmer with pro-grammable memory buffer and controlEROM for the Altair 8800, IMSAI 8080and other Altair bus compatible com-puters. This 2 K memory board contains256 bytes of programmable memory andspace for 1792 byles of I702A EROM.One of the 1702A sockets doubles as the1702A programming socket. ThePRAMMER is not an 10 device, butoccupies any 2 K slice of systemmemory. This kit is complete with itsown 80 V power supply, features on-board timing independent of the proc-essor clocks and contains its own micro-program for read and write control. Nooneshots are used for timing. The 256bytes of programmable memory may be

used for a stack, for buffers, save areas,etc, eliminating the need for use of mainmemory already dedicated to otherapplication programs. Complete stand-alone software for programming andcopying 1702A EROMs is supplied withthe PRAMMER kit in a single prepro-grammed 1702A. Also included are thecomplete listings for PRAMSYS, an 1 1function development system designedto reside in the 1792 bytes of EROM inthe fully populated board and to inter-face with a Teletype compatible termi-nal. Also available is a 3 foot extensionkit for bringing any of the 1702Asockets to a zero insertion force socketoutside your system's cabinet. The intro-ductory price for the PRAMMER kit is$189 and the extension kit is $15.Address inquiries to XYBEK, POB 1631,Cupertino CA 95014."

Attention Commercial andIndustrial 6502 Users:A PDP-11 Cross Assembleris Now Available

COMPAS has developed a PDP-11based cross assembler for the MOS Tech-nology family of microcomputers. Thesystem is called the MINmic I 165 CrossAssembler and is written entirely inMACRO 1 1 (assembler language) andruns under the RT 11 operating system.It requires less than 5 K words for aminimal system and can be easily ex-panded to assemble larger programs ifdesired.

COMPAS is the firm which developedand supported cross assembly softwarefor MOS Technology's 6502 marketingprograms. The MINmic 1165 CrossAssembler is very similar to the FOR-TRAN based cross assemblers developedby COMPAS and offered nationally byMOS Technology. The system provideslisting and memory files which conformto the standards established by. MOSTechnology for its products.

The MINmic 1 165 Cross Assembler ispriced at $900. The price includes ayear's support. Source code is dis-tributed on disk along with a test deckwhich verifies correct installation of thesoftware. Further information is avail-able from Mike Corder at (515)232-8181. ■

128

BITS™ Presents:

TV Typewriter Cookbook by Don

Lancaster. A complete guide to low costtelevision display of alphanumeric data,several chapters of which were publishedahead of the book in early issues of BYTEmagazine. $9.95

Digital Logic Circuits by Sol Libes. An

invaluable tutorial background volume ondigital logic, arithmetic, IO concepts andinterfacing to analog devices; written by oneof the founders of the Amateur ComputerGroup of NJ. This book acquaints thereader with much of the terminology andbackground concepts of digital hardware.$5.98.

Modern Operational Circuit Design by

Active Filter Cookbook by Don Lan-caster. The chief chef of electronics Cook-books concocts another gourmet appetizer.Run to this book when you need to find astarting point for the design of a filter foruse in an electronic application. $14.95.

_Altair Design developed by Ensor

John L Smith. An absolutely essential intro-duction to the use and application ofoperational amplifier systems. The bookcontains both theoretical background infor-mation and practical circuit suggestionswhich can be used to advantage by theexperimenter. $16.95 (hardbound).

Electronic Projects for Musicians by

Craig Anderton. "Even if you know nothingabout electronics, you can build preamps,ring modulators, mixers, tone controls, min-iampls, fuzzes and a dozen other inexpen-sive musical projects." Furthermore, even ifyou couldn't care less about about musicalapplications, you can use this book to gainfamiliarity with electronic parts, circuit dia-grams and construction techniques, usingthe wealth of illustrations and tips found inan extended introductory chapter for thenovice electronicker. $6.95.

Holiday.

More Altair Design developed by Ens-or Holiday.

— Altair Design 3 developed by Ensor

Holiday.

Keep the loved ones busy while you useyour system . . . give them any one or all ofthese computer generated Altair Designbooks to start them (or yourself) on endlesshours of creative coloring. No other coloringbooks are quite like these unique books.$2.50 each.

Artist and Computer edited by Ruth

Leavit. A visual treat, as you encounterreproductions of numerous works by com-puter oriented artists and read about theseworks in their own words. $4.95.

Linear IC Principles, Experiments, and

Projects by Edward M Noll. From basicprinciples to complicated systems, fromsimple amplifier experiments to applicationsin radio, TV and control systems, this bookcan improve your knowledge of the waycircuitry of the analog world really works.$8.95.

Practical Solid-State Circuit Design by

Jerome E Oleksy. A self study course in thedesign of semiconductor circuits from thesimple transistor to the complex operationalamplifier. $5.95.

Boolean Algebra by Brice Ward. A

background tutorial and study guide for thedesign and simplification of static networksof logic gates. Learn how to combine thoseANDs, NANDs, NORs and ORs to evaluatecomplicated logical conditions of multipleinputs, electronically. $5.50.

. Projects in Sight, Sound & Sensation

by Mitchell Waite. Dedicated "to all spacecowboys." Detailed theory and practice ofseven fascinating amateur electronics pro-jects, along with a complete and detailedappendix on how to make PC boards. $4.95.

Creativity, Invention, & Process by

John A Kuecken. Practical philosophy andhistory for the inventor. $3.50.

-JSecurity Electronics by John E Cun-ningham. To catch a thief, apply liberaldoses of ingenuity and a modicum ofcleverness. Find out what's been tried inconventional alarm systems before you gooff computerizing your home security sys-tem, though. $4.95.

__^lntroduction to Biomedical Elect-

ronics by Edward J Bukstein. What's beendone in robot doctors? Nothing so far. Butin terms of electronic aids to physicians andpractices of health researchers, consult thisbackground review of the field of biomed-ical electronics. $5.50.

What to Do After You Hit Return of

PCC's First Book of Computer Games. Thisis PCC's first book of computer games, acompendium which includes descriptions ofnumerous games, and listings of 37 selectedBASIC games. $8, new second edition.

Send to:

BITS, Inc70 Main StPeterborough NH 03458

Total for all books checkedPostage, 25 cents per book

for books

Grand Total

Check payment method:

My check is enclosed

Bill my MC No.

Bill my BAC No.

Exp. dateExp. date

Name

Address

City

State

Zip

$$

Signature

You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery.

A BIT More

When you build a project, you need information. Allyou find in the advertisements for parts are mysteriousnumbers identifying the little beasties... hardly the sortof information which can be used to design a customlogic circuit. You can find out about many of thenumbers by using the information found in these books.No laboratory bench is complete without an accompany-ing library shelf filled with references.

Order these absolutely essential references from Texas Instruments today:

The TTL Data Book for Design Engineers, $4.95, new second edition.

The Supplement to the TTL Data Book for Design Engineers, $1.95.

The Linear and Interface Circuits Data Book for Design Engineers, $3.95.

The Semiconductor Memory Data Book for Design Engineers, $2.95.

The Transistor and Diode Data Book for Design Engineers, $4.95.

The Power Semiconductor Handbook for Design Engineers, $3.95.

Understanding Solid State Electronics, $2.95.

The Optoelectronics Data Book for Design Engineers, $2.95.

Designing with TTL Integrated Circuits, edited by Robert L Morris

and John Ft Miller, published by McGraw-Hill, $24.

—The TTL Cookbook by Don Lancaster, published by Howard WSams, Indianapolis. Start your quest for data here with Don'stutorial explanations of what makes a TTL logic design tick. 335pages, $8.95.

—Microcomputer Design by Donald P Martin. Edited and publishedby Kerry S Berland, Martin Research. Purchase your copy of thedefinitive source for circuitry and hardware design information onthe 8008 and 8080 computers today. Even Intel, the originator ofthe microprocessor revolution, is hard put to compete with thewealth of information found in Martin Research's new secondedition of Microcomputer Design. This is the book which wasoriginally published as an expensive (but quite practical) engineeringreport in loose leaf form, at about the time the microprocessortechnology was first catching on in the form of the 8008. This 388page second edition of the manual is loaded with detailedinformation on how to build and use computers based on the 8008and 8080. $25.

Send to:

BITS, Inc70 Main StPeterborough NH 03458

Check payment method:

My check is enclosed

Bill my MC No.

Bill my BAC No.

Exp. dateExp. date

Name

Total for all books checkedPostage, 25 cents per book

for books

Grand Total

$$

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery.

J

Potpourri from BITS

BITS, Inc, is a trademark of BYTE Interface Technical Services, Inc.

TM

It's Almost Too Late ...

... to snap up bicentennial memorabilia beforeyou have to hunt through the nostalgia shopsand pay 100 times the original price—if you'relucky enough to find a bargain—for an item asanachronistic and otherwise remarkable as Ro-bert Tinney's Computing 1776 picture.A same-size (16 by 20 inches, 41 by 51 cm)reproduction of Tinney's original oil painting,this poster makes an off-beat gift.Don't wait for the nostalgia shops to get thelast of these posters; get yours now for only$2.95. (Do you know what your old AmazingScience Fiction magazines and Superman com-ics that Mom threw out are worth now?)

COMPUTER BYTE T-shirts

Available in blue heather with blue trim andred letters, or in white with blue trim andred letters. Only $5, including postage andhandling.

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

Computer Lib/Dream Machines ismust reading for the beginner, and is alsoa refreshing self examination for the oldhand at programming and systems work.

Please send me:

copies of Computer Lib @ $7

50 cents postage per copy

Total

posters @ $2.95

Total

Total

T-shirts

small

medium

largeextra large

white, blue trim, red letters (s> $5blue heather, blue trim, red letters

Grand Total

Send to: BITS, Inc70 Main St

9 m

i

BAMKAMfHICABa

Check payment method:

My check is enclosed

Bill my MC No.

Peterborough NH 03458

Name

Bill my BAC No.

Exp. dateExp. date

Address

City

State

Zip

Signature

You may photocopy this page if you wish to leave your BYTE intact

Please allow six weeks for delivery.

Listing 1: The BARC Utility Routines. This listing contains the absolute octalcode of the BARC routines. The notation <*> is used to indicate theabsolute page address of the routines, which are loaded on a page boundary.When (for example) loading the routines at location 010/000, substitute thepage address of 010 for the <"'"> every time it is seen in the listing. The codeis in octal, for an 8080 computer. Refer to the "legend" box for explanationsof some of the mnemonics in the commentary of this listing.

Add Some BARC to

Your

8080

Split

Octal

Address

Octa

Code

Label

Op

Operand

Commentary

<•> 000

353

SASNT

XCHG

USRRET=PLAD to DRDE; UDRDE to DRHL;

<•> 001

343

XTHL

UDRDE to TOS; FRRET to DRHL;

<•> 002

305

PUSH

B

UDRBCtoTOS;

<•> 003

365

PUSH

PSW

UDRPSW&A to TOS;

<•> 004

353

XCHG

USRRET=PLAD to DRHL; FRRET to DRDE;

<*> 005

303

021

<*>

JMP

FRNTD

Go load only one field addrand length parameter;

<•> 010

353

DASNT

XCHG

USRRET=PLAD to DRDE; UDRDE to DRHL;

<•> 011

343

XTHL

UDRDE to TOS; FRRET to DRHL;

<•> 012

305

PUSH

B

UDRBC to TOS;

<•> 013

365

PUSH

PSW

UDRPSW&A to TOS;

<*> 014

353

XCHG

USRRET=PLAD to DRHL; FRRET to DRDE;

<*> 015

116

MOV

C,M

FIELD1 addr LOB to SRC;

<•> 016

043

INX

H

Incr USRRET=PLAD (+1 DASNT);

-.-•> 017

106

MOV

B,M

FIELD1 addr HOB to SRB;

<*> 020

043

INX

H

Incr USRRET=PLAD I+2 DASNT);

<•> 021

325

FRNTD

PUSH

D

FRRET to TOS;

<•> 022

136

MOV

E,M

FIELD/FIELD2 addr LOB to SRE;

<»> 023

043

INX

H

Incr USRRET=PLAD (+3 DASNT; H SASNT);

<•> 024

126

MOV

D,M

FIELD/FIELD2 addr HOB to SRD;

<•> 025

043

INX

H

Incr USRRET=PLAD (+4 DASNT; 12 SASNT);

<•> 026

176

MOV

A,M

Lenqth/Size param to SRA;

<•> 027

043

INX

H

lncrUSRRET=PLAD ( + 5 DASNT;+3 SASNT);

<•> 030

343

XTHL

True USRRET to TOS; FRRET to DRHL;

<•> 031

345

PUSH

H

FRRETto TOS;

<•> 032

147

MOV

H,A

Length/Size param toSRH;

<"> 033

311

RET

Return to calling function routine;

<■> 034

343

DASXR

XTHL

UDRHL to TOS; FRRET=FRCOMMANDaddress to TOS;

<*> 035

042

051

<*>

SHLD

DASFC+1

Store FRCOMMAND address in CALL;

<*> 040

341

POP

H

TOS=UDRHL to DRHL clear return;

<*> 041

343

XTHL

UDRHL to TOS; USRRET=PLAD to DRHL;

<•> 042

315

010

<">

CALL

DASNT

Call DASNT to load parameters;

<•> 045

032

DASXL

LDAX

D

Indexed FIELD2 char to SRA;

<■> 046

157

MOV

L,A

Move it to SRL;

<"> 047

012

LDAX

B

Indexed FIELD1 char to SRA;

<*> 050

315

000

000

DASFC

CALL

Q'000000'

Call the execution commands;

<•> 053

002

STAX

B

Store result in indexed FIELD1 ;

<•> 054

003

INX

B

Incr FIELD1 address index;

<-> 055

023

INX

D

Incr FIELD2 address index;

<*> 056

045

DCR

H

Decrement length/size;

<•> 057

302

045

<*>

JNZ

DASXL

Loop until count is zero;

<•> 062

341

FRXIT

POP

H

True USRRET to DRHL;

<•> 063

301

POP

B

UDRPSW&A to DRBC;

<•> 064

170

MOV

A,B

USRA to SRA; PSW=FRPSW;

<•> 065

301

FRXT2

POP

B

TOS=UDRBCto DRBC;

<•> 066

321

POP

D

TOS=UDRDE to DRDE;

<•> 067

343

XTHL

True USRRET to TOS; TOS=UDRHL to DRHL

<*> 070

311

RET

Return to user; regs* user regs;

<•> 071

315

034

<*>

NCHR

CALL

DASXR

CALL DASXR execution control rtnpassing address of following;

<"> 074

245

ANA

L

Logical AND SRL to SRA;

<•> 075

311

RET

Return to DASXR;

<•> 076

315

034

<*>

OCHR

CALL

DASXR

See NCHR comment at address 071;

<•> 101

265

ORA

L

Logical OR SRL to SRA;

<•> 102

311

RET

Return to DASXR;

<•> 103

315

034

<*>

XCHR

CALL

DASXR

See NCHR comment at address 071;

<*> 106

255

XRA

L

Logical XOR SRL to SRA;

<*> 107

311

RET

Return to DASXR;

<■> 110

315

034

<•>

MVCHR

CALL

DASXR

See NCHR comment at address 071;

<•> 113

175

MOV

A,L

Move SRL to SRA;

<■> 114

311

RET

Return to DASXR;

<*> 115

315

034

<*>

SWCHR

CALL

DASXR

See NCHR comment at address 071;

<•> 120

022

STAX

D

SRA to indexed FIELD2 char;

<•> 121

175

MOV

A,L

Move SRL to SRA;

<■> 122

311

RET

Return to DASXR;

<•> 123

315

034

<*>

CLCHR

CALL

DASXR

See NCHR comment at address 071;

<•> 126

275

CMP

L

Compare SRL to SRA;

<•> 127

310

RZ

Return to DASXR if equal;

<•> 130

077

CMC

Else reverse inequality flag;

<•> 131

341

POP

H

Clear return address by popping;

<»> 132

303

062

<*>

JMP

FRXIT

Bust out to function exit logic;

Charles Howerton

Digital Group Software Systems Inc

POB 1086

Arvada CO 80001

The programming convenience of a com-puter system is greatly enhanced by usingsoftware to extend the functions providedby the basic instruction set of the machine.Software to accomplish complicated func-tions like moving character strings or doingdata conversions help the user to programmanipulations of data in an applicationsituation. This article is written to describeand give the code for a set of utility routinesfor the 8080 which can be used to advantageon any system employing this chip. This setof BARC utility routines is designed to assistthe 8080 programmer in developing pro-grams which involve the manipulation andvalidation of characters and characterstrings. The acronym "BARC" stands forBAsic Resource Capability. Almost all pro-grams require these functions to a greater ora lesser extent if they accept input orgenerate output in any format other thanabsolute machine codes.

In all cases these routines are enteredusing an 8080 call instruction and in mostcases the call instruction is immediatelyfollowed by a series of parameters whichidentify the field or fields to be acted upon,the length of the field or fields and in somecases an immediate value which is used inthe requested function. The exceptions tothis rule are the single character validationfunctions which require that the argumentcharacter be loaded into the accumulatorprior to the call. In all cases (except thesymbolic move) the user's register contents,with the exception of the program counter

132

Listing i, continued:

WARNING

The BARC routineslisted here will not work inread only memory or inwrite protected memory,since they modify programcode as part of execution.

and flags, are returned with the same con-tents as they held prior to the call; thesymbolic move routine returns the lengthmoved in the accumulator with all otherregisters except the program counter andflags containing their original contents.

These routines all use the stack of theuser's program and in the worst case require14 bytes in the stack including the two bytesused by the call which invokes the functionroutine.

In every case return is made lo the byteimmediately following the last parametervalue (if any). The return address generatedby the call is used as a parameter list pointer

LEGEND:

Throughout this narrative and programcomments certain abbreviations have beenutilized, hopefully with a high degree ofconsistency. Most of these abbreviations andsymbols are self explanatory; however, inthe interest of clarity they are explainedbelow.

A(X) 16 bit address of X.

DB Data byte, 8 bits, operand is

value.DRXY Double register pair XY.DW Data word, 16 bits, operand is

value.HOB High order byte of 16 bit

address.ICV An immediate character value.

LOB Low order byte of 16 bit address.

PLAD Parameter list address.SIZ The size/length of an operand.

SRX Single register X.

TOS Top of stack.

UDRXY User's double register pair XY

contents.USRRET Return point in the user's

program.USRX User's single register X contents.X -» Y Contents of X moved to Y.xxx \

YYV / Arbitrary instructions.zzz ;<*> Resident page number of the

utility routines.

Split

Octal

Address

<«>

136

042

155 <•>

SHLD

SASIC+1

<*>

141

341

POP

H

<•>

142

343

XTHL

<*>

143

315

000 <•>

CALL

SASNT

<•>

146

343

XTHL

<">

147

176

MOV

A,M

<*>

150

043

INX

H

<*>

151

343

XTHL

<*>

152

157

MOV

L,A

<*>

153

032

SASIL

LDAX

D

<*>

154

315

000 000

SASIC

CALL

Q'000000'

<•>

157

022

STAX

D

<*>

160

023

INX

D

<*>

161

045

DCR

H

<*>

162

302

153 <•>

JNZ

SASIL

<•>

165

303

062 <•>

JMP

FRXIT

<">

170

315

135 <«>

NICH

CALL

SASIX

<*>

173

245

ANA

L

<*>

174

311

RET

<•>

175

315

135 <•:■

OICH

CALL

SASIX

<*>

200

265

ORA

L

<•>

201

311

RET

<*>

202

315

135 <•>

XICH

CALL

SASIX

<*>

205

255

XRA

L

<*>

206

311

RET

<*>

207

315

135 <•>

MVICH

CALL

SASIX

<*>

212

175

MOV

A,L

<*>

213

311

RET

<*>

214

343

VALFX

XTHL

<*>

215

042

227 <•>

SHLD

VALFC+1

<">

220

341

POP

H

<•>

221

343

XTHL

<*>

222

315

000 <«>

CALL

SASNT

<•>

225

032

VALFL

LDAX

D

<*>

226

315

000 000

VALFC

CALL

Q'000000'

<•>

231

302

062 <«>

JNZ

FRXIT

<*>

234

023

INX

D

<•>

235

045

DCR

H

<*>

236

302

225 <*>

JNZ

VALFL

<*>

241

303

062 < ■ >

JMP

FRXIT

<*>

244

315

214 <*>

VALAS

CALL

VALFX

<•>

247

376

040

VALAC

CPI

Q'040'

<•>

251

310

RZ

<•>

252

376

101

VALAO

CPI

Q'ior

<•>

254

330

RC

<•>

255

376

132

CPI

Q'132'

<*>

257

310

VALXT

RZ

<•>

260

320

RNC

<•>

261

277

CMP

A

<">

262

311

RET

<■>

263

315

214 ■ ■ ■

VALNS

CALL

VALFX

<*>

266

376

060

VALNC

CPI

Q'060'

<»>

270

330

RC

<*>

271

376

071

CPI

Q'071'

<*>

273

303

257 •'■ ■

JMP

VALXT

<*>

276

315

214 <" ■

VALOS

CALL

VALFX

<">

301

376

060

VALOC

CPI

Q'060'

<*>

303

330

RC

<•>

304

376

067

CPI

Q'067'

<■ >

306

303

257 <■ ■

JMP

VALXT

<*>

311

315

214 ■ ' ■

VALXS

CALL

VALFX

<* -

314

315

247 ■ • -

VALXC

CALL

VALAC

<* -

317

310

RZ

<*

320

315

266 ■' ■

CALL

VALNC

<-.-

323

311

RET

<*>

324

315

214 - ■ ■

VALHS

CALL

VALFX

<*>

327

315

266 < " ■

VALHC

CALL

VALNC

<•>

332

310

RZ

-'• >

333

376

101

CPI

Q'ior

<*>

335

330

RC

<' >

336

376

106

CPI

Q'106'

<*>

340

303

257 <• ■

JMP

VALXT

< * >

343

343

MVSYM

XTHL

<*>

344

315

010 < • ■

CALL

DASNT

<*>

347

343

XTHL

<* -

350

176

MOV

A.M

351

043

INX

H

352

343

XTHL

<*>

353

157

MOV

L,A

<*>

354

345

PUSH

H

<*>

355

032

MVSYL

LDAX

D

<*>

356

275

CMP

L

<*>

357

312

371 <*>

JZ

MVSYX

<•>

362

002

STAX

B

<*>

363

003

INX

B

<*>

364

023

INX

D

<*>

365

045

DCR

H

<*>

366

302

355 - • ■

JNZ

MVSYL

<*>

371

361

MVSYX

POP

PSW

<*>

372

224

SUB

H

<*>

373

341

POP

H

<*>

374

301

POP

B

<*>

375

303

065 <• ■

JMP

FRXT2

Commentary

UDRHL to TOS; FRRET = FRCOMMAND

address to TOS;Store FRCOMMAND address in CALL;TOS=UDRHL to DRHL clear return;UDRHL to TOS;USRRET-PLAD to DRHL;Call SASNT to load parameters;USRRET = PLAD+3 to DRHL; FDRHL to TOS;Immediate character value to SRL;Incr USRRET=PLAD (+4 immed group);True USRRET to TOS; FDRHL to DRHL;Move ICV to SRL;Indexed FIELD char to SRA;CALL the execution commands;Store result in indexed FIELD;Incr FIELD address index;Decrement length/size;Loop until count is zero;Jump to funct routine exit logic;

CALL SASIX execution control rtn

passing address of following;Logical AND SRL=ICV to SRA;Return to SASIX;

See NICH comment at address 170;Logical OR SRL to SRA;Return to the SASIX routine;

See NICH comment at address 170;Logical XOR SRL to SRA;Return to SASIX;

See NICH comment at address 170;Move SRL to SRA;Return to SASIX;

UDRHL to TOS; FRRET = FRCOMMAND

address to DRHL;Store FRCOMMAND address in CALL;TOS = UDRHLto DRHL clear return;UDRHL to TOS; USRRET=PLAD to DRHL;Call SASNT to load parameters;Indexed FIELD character to SRA;CALL the execution commands;If character not valid exit;Incr FIELD address index;Decrement length/size;Loop until count is zero;Jump to exit all chars valid;

CALL VALFX execution control rtn

passing address of following;Is SRA a space?Return to VALFX if equal;Is SRA an 'A'?

Return to VALFX if less than 'A';Is SRA a 'Z7

Return to VALFX if equal;Return to VALFX if greater;Compare SRA to SRA force Z=1 ;Return to VALFX char is valid;See VALAS comment at addr 244;Is SRA a '07Return to VALFX if less;Is SRA a '9'?Jump to validation exit logic;

See VALAS comment at addr 244;

Is SRA a 'O'?

Return to VALFX if less;

Is SRA a '77

Jump to validation exit logic;

See VALAS comment at addr 244;Call VALAC utility routine;Return to VALFX if alphabetic-Call VALNC utility routine;Return to VALFX;

See VALAS comment at addr 244;

Call VALNC utility routine;

Return to VALFX if numeric;

Is SRA an 'A'?

Return to VALFX if less;

Is SRA an 'F?

Jump to validation exit logic;

UDRHL to TOS;USRRET=PLAD to DRHL,

Call DASNT function entry rtn;

USRRET = PLAD+5 to DRHL; FDRHL to TOS;

Move stop char to SRA;

Incr USRRET-TRUERET=PLAD*6;

True USRRET toTOS; FRDHL to DRHL;

Move stop char from SRA to SRL;

DRHL to TOS for length moved calc;

Indexed FIELD2 char to SRA;

Compare it to stop chat;

If equal go to MVSYM exit logic;

Else store in indexed FIELD1;

Incr FIELD1 address index;

Incr FIELD2 address index;

Decrement length/size;

Loop until count is zero;

DRHL from 354 is popped SRAHen;

Subtr remaining len = moved len;

True USRRET to DRHL;

UDRPSW&A discarded by this pop;

Exit skipping SRA restore;

133

;

and is incremented by the function routinesto effect a proper return upon completion ofthe requested function.

In addition to the specific function rou-tines there are several support routineswhich are used by the function routines forentry and exit logic. These support routinescan be used by the programmer in de-veloping his or her own coded function

Name Address Function

CLCHR <•> 123 Compare FIELD1 contents to FIELD2 contents;

DASNT <*> 010 Double address plus size function entry routine;

DASXR <*> 034 Double address plus size function execution support routine;

FRXIT <*> 062 Function routine exit logic;

MVCHR <•> 110 Move FIELD2 contents to FIELD1;

MVICH <*> 207 Fill FIELD with immediate character value;

MVSYM <"> 343 Move FIELD2 contents to Fl ELD 1 terminating on stop character;

NCHR <*> 071 Logical AND MASK to FIELD;

NICH <*> 170 Logical AND immediate character ualue to all bytes in FIELD;

OCHR <*> 076 Logical OR MASK to FIELD;

OICH <*> 175 Logical OR immediate character value to all bytes in FIELD;

SASIX <*> 135 Single address, size and immed function execution support routine;

SASNT <*> 000 Single address plus size function entry routine;

SWCHR <•> 115 Swap contents of FIELD1 with contents of FIELD2;

VALAC <*> 247 Validate alphabetic character;

VALAS <*> 244 Validate alphabetic string of characters;

VALFX <*> 214 Validate string function execution support routine;

VALHC <*> 327 Validate hexadecimal character;

VALHS <*> 324 Validate hexadecimal string of characters;

VALNC <*> 266 Validate numeric character;

VALNS <*> 263 Validate numeric string of characters;

VALOC <•> 301 Validate octal character;

VALOS <*> 276 Validate octal string of characters;

VALXC <*> 314 Validate alphanumeric character;

VALXS <*> 311 Validate alphanumeric string of characters;

VALXT <*> 257 Validate string function exit logic;

XCHR <*> 103 Logical exclusive OR MASK to FIELD;

XICH <*> 202 Logical exclusive OR immediate character value to all bytes in FIELD;

routines provided that entry to the usercoded function routines is identical in formto the function routine entry logic used inthis package.

Whenever one sets out to design anddevelop a piece of software it is extremelyimportant that the design parameters bedefined in advance and that the tradeoffs beunderstood and evaluated. In the case of theBARC 8080 character and string manipula-tion utility routines, memory space wasjudged to be of greater importance thanexecution time. The design parameters forthis software package were:

1. To pack as many functions as possiblein as little space as possible regardlessof the impact upon execution times.

2. Not to use over 256 bytes.

3. To provide as much flexibility aspossible within the requirements of 1and 2.

4. To provide a high degree of userconvenience.

What follows is a description of thefunction and purpose of every usable func-tion and support routine in the package andhow to use each. The routines are describedin alphabetical order by name. Listing 1gives the code for all the routines, and table1 summarizes the routines and entry points.

Table I: Alphabetical list-ing of BARC utility rou-tines and their entrypoints. The low order ad-dresses refer to listing 7.

CLCHR; Compare Logical Characters

The CLCHR utility routine comparestwo character strings byte by byte from leftto right and terminates upon encounteringthe first inequality. The condition flags areset according to the relationship of thecontents of FIELD1 to the contents ofFIELD2. The possible combinations are:

FIELD1 = FIELD2 Z=1, CY=0FIELD1 < FIELD2 Z=0, CY=0FIELD1 > FIELD2 Z=0, CY=1

Both strings must be of the same lengthand may be up to 256 bytes long. Thecalling sequence for this utility routine is:

CALL CLCHRDW A(FIELDI)DW AIFIELD2)DB SIZ

Call CLCHR utility routine;

FIELD 1 address;

FIELD2 address;

Length of fields where 0 means a length of 256;

DASNT: Double Address plus Size,Function Entry Support Routine

The DASNT support routine is used tosave the user's register contents and load theparameters following the original user's util-ity routine call. This routine is called by thefunction execution routine which was calledby the user. The calling sequence for thissupport routine is:

XTHLCALL

UDRHLtoTOS; USRRETto DRHL;DASNT Call DASNT routine;

Upon return from the DASNT supportroutine the user's registers have been savedon the stack and the working registerscontain the following:

DRBC = First address parameter followinguser's call.

DRDE = Second address parameter follow-ing user's call.

SRH = Length parameter.

TOS = True user's return point to bytefollowing parameters.

Exit from a function routine which hasused DASNT should only be effected byjumping to the FRXIT routine.

134

If a premature or abnormal termina-tion of the loop is required as in theCLCHR function routine it shouldtake the following form:

USRTN xxx

CALL DASXR

yyy

vvv

R(cond)

zzz

zzz

POPJMP

DASXR: Double Address plus Size,Function Execution Support Routine

The DASXR support routine is used as ageneralized execution routine for the vari-ous functions which require two addressparameters and a size parameter, operate onthe data from left to right and replace thecontents of the first operand with the result.(Note: Both fields must be of the samelength and may be up to 256 bytes long.)DASXR simply controls the execution ofthe function by performing the house-keeping and looping involved in controllingthe execution. DASXR uses DASNT as itsentry logic to preserve the contents of theuser registers and to load the parametervalues into the working registers. On eachiteration of the loop in DASXR it loads thenext byte of FIELD2 into SRL and the nextbyte of FIELD1 into SRA (the accumula-tor) before turning control over to the logicwhich will operate on the data. DASXRincrements the addresses of the fields andloops until the count is consumed or untilthe calling program terminates its operation.Exit from DASXR is through the FRXITexit logic which restores the user registers,with the exception of the program counterand flags, to their original contents. Here'san example of the use of DASXR as thecontrolling logic for an addition routinewhere the operands are stored least signifi-cant byte first:

1. In line coding in user program

CALL USRTN Call user written ADD logic;

DW A(FIELD1) Address of augend and sum;

DW AIFIELD2) Address of addend;

DB SIZ Length of fields where 0 means a length of 256;

2. Subroutine in user program called by1 above

USRTN ORA A Clear carry;

CALL DASXR Call DASXR support routine;

ADC L Add SRL and CARRY to accumulator;

DAA (Decimal adjust only if data is decimal);

RET Return to DASXR support routine;

HFRXIT

Setup instructions, if any;Call DASXR support routine;Function execution instructions

as required;Conditional return to DASXR to continue;Instructions to be executed if the condition

is not met;Clear return address to DASXR from stack;Jump to the function exit logic for

abnormal or premature return;

The calls to DASXR in 2 and 3 are notused as calls to which a return will be made.They are used to pass the address of thefunction execution instructions which fol-low the calls to the DASXR support rou-tine. DASXR stores the passed address ofthe function execution instructions in theaddress portion of a call instruction withinitself and executes the call within itself oncefor each iteration of the control loop.

It is very important to realize that thecall to DASXR cannot be inline in thecoding but must be called by the logicwhich is called by the inline parameterpassing call if it is to function correctly.

FRXIT: Function Routine Exit Logic

The FRXIT routine is used to restore thecontents of the original user's registers andto return to the proper address location,following the parameters of the originaluser's call. FRXIT should always be usedwhen exiting from a function routine whichutilized the DASNT or SASNT functionentry routines. This logic is entered byjumping to it unconditionally or condi-tionally when it is desired to return to theoriginal caller. No other commands arerequired prior to the jump to prime thisroutine. All registers except the programcounter and flags are restored to theiroriginal contents prior to returning; the flagsare returned to the caller as set by thefunction execution routine.

MVICH: Move Character Immediate(Character Fill)

The MVICH utility routine will move aspecified byte value known as the immedi-ate character value (ICV), to every bytelocation in a specified field. The specifiedfield may be up to 256 bytes long. Thecalling sequence for this utility routine is:

CALL MVICH Call MVICH utility routine;

DW A(FIELD) Address of the receiving field;

DB SIZ Length of the field where 0 means a length of 256;

DB ICV Immediate character value;

MVCHR: Move Characters

The MVCHR utility routine will move acharacter string up to 256 bytes long fromone location to another. The format of thecalling sequence for this utility routine is:

CALL MVCHR Call MVCHR utility routine;

DW A(DESTIN) Address of the destination field;

DW A(SOURCE) Address of the source field;

DB SIZ Length of the fields where 0 is the length code for 256;

135

MVSYM: Symbolic Move

The MVSYM utility routine will move acharacter string up to 256 bytes long fromone location to another and stop movingwhen one of two conditions is met:

1. A character from the sending area isencountered which is equal in valueto the ICV known as the stop charac-ter (Note: The stop character is notmoved).

or

2. The entire string has been movedaccording to the specified size and nocharacter was found which was equalin value to the ICV stop character.

In either event when return is made tothe user the accumulator (SRA) contains acount of the characters moved. Cautionmust be exercised when strings of length256 are moved using MVSYM because if thefirst character in the string is a stop charac-ter, the length moved will be zero and when256 characters are moved without encoun-tering a stop character, the length movedwill also be zero since the size value for 256is zero; therefore, whenever the lengthmoved for a field which is 256 bytes long iszero, test the first character in the sourcefield to determine if it is a stop character. Ifit is, then the length moved is really zero,otherwise the length moved is 256. Thecalling sequence for the MVSYM utilityroutine is:

OCHR: Logical OR Character Strings

The OCHR utility routine will logicallyOR a character string called MASK toanother character string called the FIELD;the result will replace the contents of theFIELD. Both strings must be of the samelength and may be up to 256 bytes long.The calling sequence for this utility routineis:

CALL OCHR Call OCHR utility routine;

DW A(FIELD) Address of the FIELD;

DW A(MASK) Address of the MASK;

DB SIZ Length of the fields where 0 means a length of 256;

OICH: Logical OR Characters Immediate

The OICH utility routine will logicallyOR a specified byte value known as theimmediate character value (ICV) to everybyte location in a specified FIELD. Thespecified FIELD may be up to 256 byteslong. The calling sequence for this utilityroutine is:

CALL OICH Call OICH utility routine;

DW A(FIELD) Address of the FIELD;

DB SIZ Length of the FIELD where 0 means a length of 256;

DB ICV Immediate character value;

CALL MVSYM

DW A(DESTIN)

DW A(SOURCE)

DB SIZ

DB

ICV

Call MVSYM utility routine;

Address of the destination field;

Address of the source field;

Max length for the move where 0 means a length of 256;

The immediate character value is the stop character;

NCHR: Logical AND Character Strings

The NCHR utility routine will logicallyAND a character string called MASK toanother character string known as theFIELD; the result will replace the contentsof FIELD. Both strings must be of the samelength, which may be up to 256 bytes. Thecalling sequence for this utility routine is:

CALL NCHR Call NCHR utility routine;

DW A(FIELD) Address of the field string;

DW A(MASK) Address of the mask string;

DB SIZ Length of the fields where 0 means a length of 256;

NICH: Logical AND Characters Immediate

The NICH utility routine will logicallyAND a specified byte value known as theimmediate character value (ICV) to everybyte location in a specified FIELD. Thespecified FIELD may be up to 256 byteslong. The calling sequence for this utilityroutine is:

CALL NICH Call NICH utility routine;

DW A(FIELD) Address of FIELD;

DB SIZ Length of FIELD;

DB ICV Immediate character value;

SASIX: Single Address, Size and ImmediateCharacter, Function Execution SupportRoutine

The SASIX support routine is used as ageneralized execution routine for the vari-ous functions which require one addressparameter, a size parameter for one to 256bytes, and an immediate character valuewhich is used to operate upon the contentsof the field, operate on the data from left toright and replace the contents of the fieldwith the result. SASIX does not actuallyperform the required function; that is theresponsibility of the programmer who isusing SASIX. SASIX simply controls theexecution of the function by performing thehousekeeping and looping involved in con-trolling the execution. SASIX uses SASNTas its entry logic to preserve the contents ofthe user registers and to load the parametersinto the working registers. The immediatecharacter value is loaded into SRL andretained there until altered by the program-mer. On each iteration of the loop in SASIXit loads the next byte of the field intoaccumulator before turning control over tothe logic which will operate on the data.SASIX increments the address of the fieldand loops until the count is consumed oruntil the programmer busts out of itscontrol. Exit from SASIX is through theFRXIT exit logic which restores the userregisters with the exception of the programcounter and flags to their original contents.An example of the use of SASIX as thecontrolling logic for a routine which trans-lates all the spaces in a field to zeros is asfollows:

136

s/

VSIX, continued

1.

Inline

coding in user program:

CALL

USRTN

Call user written logic;

DW

A(FIELD)

Address of field to be translated;

DB

SIZ

Length of field to be translated;

DB

' '

Immediate character value of a space;

2.

Subroutine in user

program called by

the above sequence:USRTN

CALL

SASIX

CMP

L

RNZ

MVI

A,'0'

RET

Should an abnormal or prematurereturn be required, for example, in asituation such as in 2 above where itis desired to translate only the lead-ing spaces into zeros and then stop, itshould take the following form:

USRTN

Call SASIX support routine;Compare immediate character value (in SRL) toReturn to SASIX if not equal;Move immediate value of character '0' to accumoccurrence of the immediate character valueReturn to SASIX;

CALL

SASIX

CMP

L

MVI

A/0'

RZ

POP

JMP

HFRXIT

Setup instructions, if any;

Call SASIX utility routine;

Compare SRL to accumulator;

Move a character zero to accumulator to replace

immediate character value;Return to SASIX if accumulator is equal to the

immediate character value;Else clear return to SASIX from stack;Jump to exit logic before count is zero;

accumulator;ulator, replacing

The calls to SASIX above are not used ascalls to which a return will be made. Theyare used to pass the address of the functionexecution instructions which follow thecalls to the SASIX support routine. SASIXstores the passed address of the functionexecution instructions in the address por-tion of a call instruction within itself andexecutes the call within itself once for eachiteration of the control loop.

It is very important to realize that thecall to SASIX cannot be inline in the codingbut must be called by the logic which iscalled by the inline parameter passing call ifit is to function correctly.

SASNT: Single Address Plus Size,Function Entry Routine

The SASNT routine is used to save the j^fluser register contents and load the param-eters following the original user's utilityroutine call. This routine is called by thefunction execution routine which was calledby the user. The calling sequence for thissupport routine is:

XTHL UDRHL to TOS; USRRET to DRHL;

CALL SASNT Call SASNT support routine;

Upon return from the SASNT supportroutine the user's register contents havebeen saved on the stack and the workingregisters contain the following:

DRDE = Address parameter following user's call;

SRH = Length or size parameter;

TOS = True user's return point to byte following parameters;

Exit from a function execution routinewhich has used SASNT should only beeffected by jumping to the FRXIT routinewhich is described above.

SWCHR: Swap Character Strings

The SWCHR utility routine will swaptwo character strings. The contents ofFIELD1 replace the contents of FIELD2while the contents of FIELD2 are replacingthe contents of FIELD1. This routine canbe used when writing internal sort routines.Both strings must be of the same length andmay be up to 256 bytes long. The callingsequence for the SWCHR routine is:

CALL SWCHR Call SWCHR utility routine;

DW AlFIELDD Address of one of the fields to be swapped;

DW AIFIELD2) Address of the other field to be swapped;

DB SIZ Length of the fields where 0 means a length of 256;

VALAC: Validate Alphabetic Character

The VALAC utility routine tests thecharacter in the accumulator to determine ifit is an alphabetic character or a space.Upon return, if the ZERO flag is equal to a1, the character is valid as tested; if theZERO flag is 0, it is invalid. The callingsequence for this routine is:

CALL VALAC Call VALAC utility routine;

VALAS: Validate AlphabeticCharacter String

The VALAS routine tests the charactersin a specified string to determine if they areall alphabetic characters or spaces. Examina-tion proceeds from left to right one byte ata time; the routine terminates if an invalidcharacter is found. Upon return, the Z flagis 1, all characters in the string satisfied thevalidation requirements; otherwise the Zflag is 0. The calling sequence for this utilityroutine is:

CALL VALASDW A(FIELD)DB SIZ

Call VALAS utility routine;Address of the string to be tested;Length of the field to be tested;

137

VALFX: Validate String,

Function Execution Support Routine

The VALFX support routine is used as ageneralized execution routine for the vari-ous string validation functions. These func-tions require a single address parameter forthe field to be validated and a size param-eter which specifies the length of the fieldwhich may be up to 256 bytes long. Thecontents of the field are not changed.VALFX does not actually perform therequired function, for that is the responsi-bility of the programmer who is usingVALFX. VALFX simply supplies thecharacters in the field one at a time, startingwith the lefthand end, in the accumulatorand controls the execution of the functionby performing the housekeeping and loop-ing involved in controlling the execution.VALFX increments the address of the fieldand loops until the count is consumed orthe character which is invalid to the test isencountered. If the programmer who hascoded the test logic returns to VALFX witha Z flag value of 1, VALFX will supply thenext character in the string; otherwise itterminates execution and exits via FRXITto the calling point with a Z flag value of 0.If all characters in the string were valid,return is made to the calling point with theZ flag equal to 1 via FRXIT. VALFX usesSASNT as its entry logic to preserve thecontents of the user registers and to load theparameters into the working registers;FRXIT is used as the exit logic to restorethe user registers, with the exception of theprogram counter and flags, to their originalcontents. An example of the use of VALFXas the controlling logic for a routine whichvalidates that ali of the characters in a fieldare letters of the Greek alphabet, as imple-mented on the Digital Group System, wouldbe as follows:

1. Inline coding in user program:

USRTN

CALL

VALFX

CPI

'a'

RC

CPI

'CI'

RZ

RNC

CMP

A

RET

Call VALFX function execution routine;Compare accumulator to a Greek alpha;Return if accumulator less;Compare accumulator to an omega, end of GreeReturn if accumulator equal to omega, valid;Return if accumulator greater than omega, invalForce Z=1, if 'a' <= accumulator <= 'SI'; valid;Return to VALFX with valid conditions;

Note: For range of value tests like this onethe instructions marked with asterisks (*)above may be replaced by the followinginstruction which jumps to an identicalinstruction sequence within the validationutility routines:

JMP VALXT Jump to the validation test logic;

3. If it were desired to determine thatthe field to be validated containedonly Greek alphas and omegas andnothing else, the subroutine in theuser program called by 1 abovewould be as follows:

USRTN

CALL

VALFX

CPI

'a'

RZ

CPI

'«'

RET

Call VALFX function execution routine;Compare accumulator to an alpha;Return if equal;

Compare accumulator to an omega;Return to VALFX with conditions set;

The preceding calls to VALFX are notused as calls to which a return will be made.They are used to pass the address of thefunction execution instructions which fol-low the calls to the VALFX support rou-tine. VALFX stores the passed address ofthe function execution instructions in theaddress portion of a call instruction withinitself and executes that call once for eachiteration of the control loop.

It is very important to realize that thecall to VALFX cannot be inline in thecoding but must be called by the logicwhich is called by the inline parameterpassing CALL if it is to function correctly.

CALL USRTN Call user written logic;

DW A(FIELD) Address of field to be validated;

DB SIZ Length of field to be validated where 0 means a length of 256;

Subroutine in user program called by1 above:

VALHC: Validate HexadecimalDigit Character

The VALHC routine tests the characterin the accumulator to determine if it is oneof the 16 characters (0 to 9 or A to F)which are used to represent radix 16 (hexa-decimal) digits. Upon return, if the Z flag is1, the character in the accumulator is ahexadecimal digit; otherwise Z is 0. Thecalling sequence for this utility routine is:

CALL VALHC Call VALHC utility routine;

VALHS: Validate HexadecimalDigit String

The VALHS routine tests the charactersin a specified string to determine if they areall valid hexadecimal digits. Examinationproceeds from left to right one byte at atime; the routine terminates if an invalidcharacter is found. Upon return, if the Zflag is 1, ali characters in the string werehexadecimal digits; otherwise the Z flag is 0.The calling sequence for this utility routineis:

CALL VALHS Call VALHS utility routine;

DW A(FIELD) Address of the field to be validated;

DB SIZ Length of the field where 0 means a length of 256;

138

VALNC: Validate Numeric Character

The VALNC routine tests the characterin the accumulator to determine if it is oneof the digits in the decimal numberingsystem. Upon return, if the 2 flag is 1, thecharacter in the accumulator is one of thedigits 0 through 9, otherwise the Z flag is 0.The calling sequence for this utility routineis:

CALL VALNC Call VALNC utility routine;

VALNS: Validate Numeric String

The VALNS routine tests the charactersin a specified string to determine if they areall valid decimal digits. Examinationproceeds from left to right one byte at atime; the routine terminates if an invalidcharacter is found. Upon return, if the Zflag is 1, all of the characters in the fieldwere valid decimal digits; otherwise the Zflag is 0. The calling sequence for this utilityroutine is:

VALXS: Validate Alphanumeric String

The VALXS routine tests the charactersin a specified string to determine if they areall alphabetics, numerics or spaces. Exam-ination proceeds from left to right one byteat a time; the routine terminates if aninvalid character is encountered. Upon re-turn, if the Z flag is equal to 1, all of thecharacters in the string satisfied the testconditions; otherwise Z is set to 0. Thecalling sequence for this utility routine is:

CALL VALXS Call VALXS utility routine;

DW A(FIELD) Address of the field to be validated;

DB

SIZ

Length of the field where 0 means a length of 256;

CALL VALNS Call VALNS utility routine;

DW A(FIELD) Address of the field to be validated;

DB SIZ Length of the field where 0 means a value of 256;

VALOC: Validate Octal Character

The VALOC routine tests the characterin the accumulator to determine if it is oneof the digits in the octal numbering system.Upon return, if the Z flag is 1, the characterin the accumulator is a valid octal digit;otherwise Z is 0. The calling sequence forthis utility routine is:

CALL VALOC Call VALOC utility routine;

VALXT: Validate Test FunctionExit Logic

The VALXT logic is used to set thecondition codes when a validation test istesting for a closed range of values. Thisroutine is entered by a jump commandimmediately following the upper limit com-pare, assuming of course that the upperlimit is tested last. VALXT forces the Z flagto have a value of 1 when the testedcharacter falls within the range. See theexample given in the VALFX routinedescription.

VALOS: Validate Octal String

The VALOS routine tests the charactersin a specified string to determine if they areall valid octal digits. Examination proceedsfrom left to right one byte at a time; theroutine terminates if an invalid character isfound. Upon return, if the Z flag is 1, allcharacters in the string were found to bevalid octal digits; otherwise Z is set to 0.The calling sequence for this utility routineis:

XCHR: Logical Exclusive OR Characters

The XCHR utility routine will logicallyexclusive OR a character string known asthe MASK to another character stringknown as the FIELD; the result will replacethe contents of the field. Both strings mustbe of the same length and may be up to 256bytes long. The calling sequence for thisutility routine is:

CALL

XCHR

DW

A(FIELD)

DW

A(MASK)

DB

SIZ

Call XCHR utility routine;

Address of the FIELD and the result;

Address of the MASK string;

Length of the fields where 0 means a length of 256;

CALL

VALOS

DW

AIFIELD

DB

SIZ

Call VALOS utility routine;

Address of the field to be validated;

Length of the field where 0 means a length of 256;

VALXC: Validate Alphanumeric Character

The VALXC routine tests the characterin the accumulator to determine if it is oneof the characters A to Z, 0 to 9, or space.Upon return, if the Z flag is equal to 1, thecharacter in the accumulator satisfied thevalidity requirements; otherwise Z is set to0. The calling sequence for this utilityroutine is:

CALL VALXC Call VALXC utility routine;

XICH: Logical Exclusive ORCharacters Immediate

The XICH utility routine will logicallyexclusive OR a specified byte value knownas the immediate character value (ICV) toevery byte location in a specified field. Thespecified field may be up to 256 bytes long.The calling sequence for this utility routineis:

CALL XICH Call XICH utility routine;

DW AIFIELD) Address of the field;

DB SIZ Length of the field where 0 means a length of 256;

DB ICV Immediate character value; ■

139

Computeritis: the infec-tion of the imaginationwith ideas about "whatneat things could be donewith a computer if only Ihad access."

At first, personal comput-ing people were very tech-nical types... now we finda sprinkling of lawyers,doctors, kids, retirees, artteachers, tavern owners,and others.

Continued from page 4

were nearly all very technical types- engi-neers, programmers, and electronics buffs.But times are changing very rapidly inpersonal computing. Now we find a sprin-kling of lawyers, doctors, kids, retirees, artteachers, and tavern owners. Less and lesstechnical expertise is needed. In fact, withcomputer stores ready to help and withassembled kits readily available, one can getby with no hardware expertise. And we allknow that BASIC (the programming lan-guage most widely available with personalcomputers) has been taught widely in highschools— so very little in the way of priorbackground is needed. Rather, what'sneeded is a little bread and a lot of curiosityabout one of the most curious of mankind'sinventions.

Why does an individual buy his or herown computer? I think there are threeprimary reasons: (1) he or she has a specificapplication that he or she wants to imple-ment; (2) he or she is curious and wants tolearn about computers; and, (3) his or herfuture job security may depend on his or herknowing.about computers.

Among the people wanting to implementa specific application are many small, usuallyone-person, businesses. There is a sprinklingof people with really innovative applicationssuch as devices to provide assistance to ahandicapped individual. Among those whowant to learn about computers are thenaturally very curious people who in thepast would have pursued other electronics-oriented hobbies such as ham radio. Thereare a surprisingly large number of peoplewho can greatly increase their job securitywith a little knowledge of computers evenpeople in fields seemingly not related tocomputers.

Owning the computer does not, by itself,provide a person with all that's needed tolearn about computers. There is a majoreducational process that must be "endured."The needed information can be gleaned frommany sources without resorting to formaleducation: books, magazines, and, throughclubs and conventions, other people.

One of the primary means of obtaininginformation has been computer clubs. Thereare nearly 150 computer clubs in the UnitedStates and a few in Canada and othercountries. Club sizes vary from a handful toSouthern California Computer Society'smore than 5,000 members. These clubs arenot affiliated in any way with one anotherexcept that a few clubs are regional and haveseveral local chapters.

The primary activity of most computer

clubs is the regular meeting. Typically, aclub meets with a frequency of from everytwo weeks to once a month. The object of ameeting may simply be the informal ex-change of information by club members.There may be a presentation by a guestspeaker, a demonstration of a product or aproject, or a workshop on some particularsubject. It is not unusual for several peopleto show up unexpectedly with computerprojects to show. Whatever the main objec-tive, some side activities always take place:Individuals share their experiences andinsights - usually with enthusiasm reminis-cent of a revival testimonial.

Many clubs publish newsletters which areavidly read by the club members. In fact,some of the newsletters are so good thatthey have many subscribers outside theclub's primary geographic area. The news-letters contain articles on the activities ofthe club, information on new products,schematics for new widgets, program listings,experiences of club members with variousproducts, and a wealth of other informationwanted by personal computing enthusiasts.Although the newsletters vary in productionquality from computer listings all the way toglossy magazine format, a typical newsletteris a few Xeroxed pages.

Clubs are beginning to exchange news-letters which may bring about improvedcommunication and some coordination ofactivities among clubs. A big question arisesas to whether or not a national federation ofclubs will form. On one hand, a nationalfederation could benefit its members byproviding publications, improved informa-tion exchange, sponsorship of conferences,encouragement of product standards, soft-ware exchange, and protection of its mem-bers in dealing with product suppliers. Onthe other hand, many people believe that aformal organization would be counter-productive to the goal of most computerclubs; namely, the free exchange of informa-tion for the benefit of the members. In fact,some clubs, even very large clubs, elect noofficers, collect no dues, and claim nomembers. The newsletter is funded bypassing a hat when the treasury gets low.

The personal computing movement isheld together nationally by the magazines.There are a surprising number of highquality publications. Heading the list isBYTE which not only publishes a widevariety of technical articles of interest topersonal computing folks, but also providesa wide assortment ol other goodies such asnew product announcements, book reviews,and news coverage of personal computingconferences. Among several other publica-

140

tions, each has its own unique orientation.Interface Age, a general hobbyist publica-tion, started as the newsletter of the South-ern California Computer Society, but is nowpublished independently. The stated missionof Dr Dobb's journal of Calisthenics andOrthodontia is to foster the free exchange ofsoftware. One has only to look at thecreation of Tiny BASIC to realize theincredible success that Dr Dobb's has had inaccomplishing its goal. David Ahl's CreativeComputing is oriented toward the use ofcomputer games by kids as an educationalvehicle. People's Computer Company ispublished in newsletter format, is largelyoriented towards kids, but has significantpersonal computing coverage. Several otherestablished publications such as PopularElectronics and Radio Electronics featuremajor sections devoted to personalcomputing.

Any discussion of the personal computingmovement would not be complete withoutmention of the major conferences. The firstmajor conference was the MITS World AltairConvention held one weekend in March1976 in Albuquerque NM. Although it wassupposedly an Altair users' conference, whenone wandered around the lobby of the hotel,the feeling of a big computer club meeting

Owning a computer does not by itself provide a per-son with all that's needed to learn about computers.There is a major educational process that must be"endured" in order to reap the rewards of computingin one's personal life.

was very strong; and the fact that MITS wasthe organizer was really incidental. In atten-dance were nearly 1,000 people from acrossthe country with a few international visitors.

The next major milestone was PersonalComputing 76 held during August 1976 inAtlantic City NJ. The conference was or-ganized almost single hancledly by JohnDilks, with major contributions provided byDave Jones and Jim Main. The conferencestarted as a project of a ham radio club butsoon outgrew all expectations, probablysimply because a conference was needed.The very successful conference drew 88exhibitors with 1 10 booths and nearly 5,000attendees.

Several conferences will probably be heldover the next year. One "must" comingevent for personal computing enthusiasts isthe 1977 National Computer ConferencePersonal Computing Fair and Exposition

LOOKING FOR...?

• IMSAI

• Polymorphic Systems

• Technical Design Labs <TDL)

FOR YOUR IMSAI / ALTAIR

How About...

• A Video Interface which provides 16 x 64characters, upper and lower case, graphicsand a parallel input port lor a keyboard, allon one board!!

• 16k RAM on ONE CARD. Super lowpower — 500 ma for 16k!! Super fastaccess — 200 ns!! Start with only 4k, 8kor 12k then expand <o 16k later.

• LOW. LOW PRICES on all products-Write or call us for information and completeprice list

YOUR MAILORDER COMPUTER SHOP:Call: (315) 637-6208

computerenterprise/

P.O. Box 71 • Fayetleville, N.Y. 13066

TURN ONWITH C0MPTEK

Now your micro can control ACpower outlets with COMPTEK'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!

comptak

"Real World Electronics"

P.O. Box 516La Canada, CA 91011

COMPUTALKER

'*/

m

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

S2.95 postage paid

Write for informative literature

Calif, residents add 6% sales tax

COMPUTALKER CONSULTANTS

P.O. Box 1951, Dept. B, Santa Monica, CA 90406

circle reader number 140

141

Soon we will be waiting only for some clever and wellfinanced company to package the Home InformationProcessing Center and thus create the consumer de-mand for this next major home appliance concept.

Expert guidance is usuallyavailable from the com-puter store... it is a placeto turn for local help andinstruction.

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."

scheduled for June 13-16 in Dallas TX. TheNational Computer Conference is theworld's largest computer conference, at-tracting over 250 exhibitors with more than1,000 booths and drawing more than 25,000attendees. Major personal computing activi-ties are planned for the 1977 NCC includinga Personal Computing Fair, a special exhibitarea for personal computing products, aprogram of paper and panel sessions, and aComputer Club Congress.

Now let's turn our attention to themanufacturers who started and support thepersonal computing movement. What typesof companies are producing personal com-puting products? Until very recently, thetypical personal computing product manu-facturer was a rather small company whoseonly product lines were in the personalcomputing area; for example, IMS Associ-ates, Polymorphic Systems, Processor Tech-nology and Cromemco. Companies thatdon't quite fit the personal computingspecialization are MITS, Southwest Techni-cal Products, and iCOM. Recently, severallarger companies have been seen makingmoves into the personal computing market;namely, Texas Instruments, Intel, andDigital Equipment Corporation.

Although at first nearly all personal com-puting products were sold by mail orderdirect from the manufacturer, we see now animportant new institution emerging - theretail computer store. Presently, there areover 250 computer stores in the UnitedStates [based on the number of BYTE'sdirect dealer sales outlets]. A computerstore is not an electronics store or green-house that happens to stock computers. Thebest computer stores offer a wide variety ofproducts and services for the computerhobbyist and small business, includingseveral lines of computers, parts, peripherals,prototyping equipment, books, magazines,software, repair service, custom interfacing,and consulting. The typical computer storehas on display several demonstration com-puting systems so that an individual can seeand try before buying. The computer storeconcept offers several advantages to thepurchaser over buying directly from themanufacturer at no additional cost. The

purchaser need not deal with several manu-facturers in order to reap the benefits of costand feature comparisons. Expert guidance isusually available from the computer store.Local service is provided as well as answersto the myriad of questions sure to materi-alize when a person takes home his/her firstcomputer.

Now that we have characterized thepersonal computing movement in terms ofthe people, their clubs and conventions, themagazines they read, and the manufacturersof personal computing products, let's turnour attention to the impact of personalcomputing and its future. Most importantly,personal computing is the leading edge ofthe sharing of computing power by largecorporations and government with thepeople. Soon our homes will be full ofcomputers quietly improving many types ofconsumer goods, including: ovens, sewingmachines, stereos, televisions, automobiles,sprinkler systems and security systems.

More significantly, however, the HomeInformation Processing Center is emergingfrom the efforts of personal computingenthusiasts to use the computer to improvethe quality of their everyday activities. TheHome Information Processing Center willprovide a central coordination facility forother home appliances, assistance in amyriad of personal business and recordkeeping tasks, interface with external sys-tems such as bank electronic funds transfersystems and retail stores, endless entertain-ment with computer based games, individu-alized learning through computer assistedinstruction for us and our children, partialreplacement for the mail with a home tohome telephone-based communication sys-tem, remote access by telephone to homecontrol functions, and each home withclerical assistance such as text editing.

The public is being primed now foracceptance of the Home Information Proc-essing Center. On the other hand, as men-tioned before, many consumer goods areincorporating microprocessors as controlcomponents, so the public will start to thinkof the microcomputer as a rather ordinarydevice. On another front, video games arebeginning to physically appear a lot like theHome Information Processing Center.Specifically, the games are using the tele-vision as an output device, some of them areusing simple keyboards as input devices, andsome use audio tape cassettes as a means ofstoring programs. From this video game tothe Home Information Processing Center is aseemingly small step. The Home InformationProcessing Center would have the keyboard,the television, and the tape cassette in

142

JGA] DETELDBflJEnrr LdB5

P.O. Box 2345W. Lafayette, IN 47906

(317) 4637167

'■« watt carbon film resistors $0.03

5 percent, 50 per value min.

Vi watt carbon comp resistors...$0.02

10 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

S3.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, elec-tronics tools, PC board manufacturingsupplies, resistors, and semicon-ductors.

NEW IN

PHOENIXBits & Bytes

COMPUTER SHOP

6819-C N.21st Ave.Phoenix, Az. 85015

(602) 242-2507

Featuring:

EPA Micro-68 SystemMicro Term-Act 1 KeyboardVideo MonitorsBooks, Magazines

BQftHPrOfSB.

7338 Bdllim.College Park

I . Suite 200land 20740

JOINT VENTURE

GROUP OEM BUYS

IMSAI made kits 6 assembled units 15% OFF LI5T

TEC-9900-SS-UF, 16 bit TI9900 microP. 32 bit 1/0.hardware mull & div, buffered bus. 20 ma orinterrupts h sockets

TEC-9900-32KB 32K bytes memory

TEC-9900-PP power supply

SPHERE kits & assembled units _SWTPCkns b assembled units _

CROMEMCO Kits & I 1

SANYO TV Monitors

TDLZPU&Z16K

SEALS 8k bat backup Mem

_10%_10%

PERSCI Dual floppy & intelligent controller 1*270 &

SHUGART MINI FLOPPY.

RS 232. 8_S259.00_S629.00_S125,00OFF LISTOFF LISTOFF LISTOFF LISTOFF LISTOFF LIST

AMD FACTORY PHIML- TESlf-D for MIL STD 883C

91L02 500ns91L02 400ns

2-80 microP7-RO-rpr

si qn

$1.99 $54.00

8080A 2.5 MH8080 PPI

$17.00

82121/0 port8228 Clock Dt9555 PPI

$2.50

vet $5.50

$9.50

2708 Eprom

$65.00

9102o00ns

9102 400ns

Z-80-PIO

1702 A EPROM8080A 3 0MH_

8080SCI

8224 Clock Gen8216/26 Driver .

9551 PCI

2102 6b0ns

$1.95

_$15.00_S8.00_$20 00_$10.00

$4.75

_$2.50_$9.50

$1.75

ADM-3K + CRT 6 addressable cursor $925 00 list $825.00AXIOM 80 col, 160 char/sec printer, parallel interface

$665 OOlist, serial interface $740 00 list 10% OFF LIST

Nat. Multiplex Digital Tape recorders 6 kits 10% OFF LIST

MSI floppvs 6 kits 10% OFF LIST

Pennywhistle modem 5% OFF LIST

Tl "silenr.700" model 743. printer $1395 list 5% OFF LIST

ASTRAL 2000 kits 10% OFF LIST

Send $2 00 for newsletter & lists

Other Chios 2900 series, 4K mems etc

16 pm socket & cap for memory chip 25

full payment for discounts, add 4%. mm A 00

for shipp ng b handling, orders bulked for

lowest discount on OEM Group buys

prices Subject 10 change without notice

SOUTH CAROLINANow has a

BYTE

SHQP

2018 Greene St.

( 5 Points )

Columbia, SC 29205

(803) 771-7824

Perfect for:

•KEYBOARDS! •TERMINALS!

•MICROS! 'TEST GEAR!

Quality 1/16" steel con-struction—Not cheap plastic!- 24 x 12 x3" -EASY TO TOOL ALUMINUM PANEL!Ready for custom finish of

your choice

Complete with feet, panel,

hardware, and finishing tips!

-SATISFACTION GUARANTEED! -

$32.95

plus $4.50 shipping

(shipping Wt. 17 Lbs.)

- SAME DAY SERVICE! -

Write or call for more info:

ADVANCED DATA SCIENCES

BOX 1147-(614) 382-7917

MARION, OHIO 43302

^COMPUTER

PROGRAMMING

COURSE

Free description and outline ofModu-Leam TM 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 INCOBPORATED711 Stierlin Rd, Mountain View,

CA 94043

(415) 965-8365

addition to mass storage, such as a floppydisk, a hard copy output device, not verydifferent from the ordinary typewriter, andbe interfaced to the telephone line. Thehardware technology for a low cost HomeInformation Processing Center exists. Theapplication and software technology willgrow from the personal computing move-ment. Soon we will be waiting only for someclever and well-financed company topackage the product and create the con-sumer demand for this next major homeappliance. When the Home InformationProcessing Center has become commonplace,personal computing will have grown tomaturity.

What started as a hobby could well growinto a "necessity" of life."

Names and addresses of some of the publicationsmentioned in this editorial:

Interface Age published by McPheters, Wolfe &Jones, 6515 Sunset Blvd, Suite 202, Holly-wood CA 90028 (monthly).

Dr Dobb's Journal of Computer Calisthenics andOrthodontia, published by People's ComputerCompany, POB 310, Menlo Park CA 94025(monthly).

Creative Computing, published by Ideametrics,POB 789-M, Morristown NJ 07960 (every twomonths).

People's Computer Company, published byPeople's Computer Company, POB 3I0, MenloPark CA 94025 (published several times duringthe school year).

Popular Electronics, published by Ziff-Davis,widely available on newsstands (monthly).

Radio Electronics, published by Gernsback Publi-cations Inc, widely available on newsstands(monthly).

The Word "Byte" Comes of Age. . .

We received the following from W Buch-holz, one of the individuals who was work-ing on IBM's Project Stretch in the mid1950s. His letter tells the story.

Not being a regular reader of your maga-zine, I heard about the question in theNovember 1976 issue regarding the origin ofthe term "byte" from a colleague who knewthat I had perpetrated this piece of jargon[see page 77 of November 1976 BYTE,"O/de Englishe"]. I searched my files andcould not locate a birth certificate. But I amsure that "byte" is coming of age in 1977with its 21st birthday.

Many have assumed that byte, meaning 8bits, originated with the IBM System/360,which spread such bytes far and wide in themid-1960s. The editor is correct in pointingout that the term goes back to the earlierStretch computer (but incorrect in thatStretch was the first, not the last, of IBM'ssecond-generation transistorized computersto be developed).

The first reference found in the files wascontained in an internal memo written inJune 1956 during the early days of develop-ing Stretch. A byte was described as con-sisting of any number of parallel bits fromone to six. Thus a byte was assumed to havea length appropriate for the occasion. Itsfirst use was in the context of the input-output equipment of the 1950s, whichhandled six bits at a time. The possibility ofgoing to 8 bit bytes was considered inAugust 1956 and incorporated in the designof Stretch shortly thereafter.

The first published reference to the termoccurred in 1959 in a paper "ProcessingData in Bits and Pieces" by G A Blaauw, F PBrooks |r and W Buchholz in the IRE

Transactions on Electronic Computers, June1959, page 121. The notions of that paperwere elaborated in Chapter 4 of Planning aComputer System (Project Stretch), editedby W Buchholz, McGraw-Hill Book Com-pany (1962). The rationale for coining theterm was explained there on page 40 asfollows:

Byte denotes a group of bits used toencode a character, or the number ofbits transmitted in parallel to and frominput-output units. A term other thancharacter is used here because a givencharacter may be represented in dif-ferent applications by more than onecode, and different codes may usedifferent numbers of bits (ie, differentbyte sizes). In input-output trans-mission the grouping of bits may becompletely arbitrary and have no rela-tion to actual characters. (The term iscoined from bile, but respe/led toavoid accidental mutation to bit.,)

System/360 took over many of theStretch concepts, including the basic byteand word sizes, which are powers of 2. Foreconomy, however, the byte size was fixedat the 8 bit maximum, and addressing at thebit level was replaced by byte addressing.Since then the term byte has generallymeant 8 bits, and it has thus passed into thegeneral vocabulary.

Are there any other terms coined espe-cially for the computer field which havefound their way into general dictionaries ofthe English language?

W Buchholz

24 Edge Hill Rd

Wappingers Falls NY 12590

144

THECOMPUTER CORNER

Lower Hudson ValleySouthern Connecticut

•IMSAI 8080•POLY-88•Teletype supplies•Full line of magazines

• Processor Tech•Computer Book Service•Magnetic tapes & disks•Brain Games & Puzzles

THE COMPUTER CORNER

White Plains Mall

200 Hamilton Avenue

White Plains, N.Y. 10601

Tel: (914) 949-DATA

Hours:

10-6 Daily & Saturday

10-9 Thursday

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

"Real World Electronics"

P.O. Box 516La Canada, CA 91011

Circle A207

COME TO

ALDELCO COMPUTER CENTER

2281 Babylon TurnpikeMerrick, Long Island, N.Y.

Open Mon. thru Sat. 9:30 to 5

Books, Magazines,Computer Boards and Kits

7400 IC's, CMOS, LINEARS, MEM-ORIES, 6800 & 8080 Support Chips,Rectifers Diodes, IC Sockets, Elec-tronic Parts

OK battery operated wire wraptool $34.95

OK hand operated wire wraptool $ 5.95

National's SC/MP Kit only $99.95

COMPUTER CONSULTATIONS

SATURDAYS 9 to 5

Evenings by appointment

iiiaif

CALL US AT 516 378 4555

South Florida

Across from the University of Miami

University Shopping Center1238A South Dixie HighwayCoral Gables, FL 33146(305) 661-6042

Sunny Computer Stores, Inc.

South Florida's First Computer Store

We Carry:

•IMSAI, COMPUCOLOR, VECTOR,

SOUTHWEST, C.S.C., CROMEMCO

•Books, Magazines, Newspapers

•Sockets, IC's, Printers

•Digital Cassette Equipment

•Debugging Equipment

We offer Classes, Friendly Advice andService

Hours: Monday - 12 Noon to 9 P.M.Tuesday through Saturday —10 A.M. to 6 P.M.

the microcomputer

m

an introduction toreality

now in Canada:

imsaiprocessorcromemco

telland more

The Computer Place

186 Queen St. W

Toronto M5V1Z1 Focus Scientlfic

416-598-0260 16„ E|g|n St

Ottawa K2P 2C4613-236-7767

OFF LEASE EQUIPMENT

Teletype ASR 33

$809 each

F.O.B. Your local AJ service center.

Modems and Couplersalso available.ANDERSONJACOBSON

521 Charcot Ave, San JoseCalifornia 95131(408) 263-8520

Cromemco

Z>ATA O'

OMAIN

HS1 Processor

Technology

the {jPetbcnai ^cwiAutei &eofde !

Here are some of the manufacturers weknow, use, sell, stock and service.

06 S. College Av., Bloomington, IN 4?l

01 Phone 822/334-3607 for the Store Near YOU

tm_ ^pp>e v»wa« 555 o s I kFh ftj»

About the Cover - Venus cle Plotto

The unique drawing seen on this month'scover is an entry in the recent art contest,contributed by Arthur C Taber, 560Rockdale Dr, San Francisco CA 94127. Thispiece of art was produced on equipmentwhich is not exactly in the price range of thepersonal budget: Arthur does his art at theSan Francisco State University computercenter. The output device used to draw thefigure was a CALCOMP 563 drum plotterwhich has a 30 inch (76 cm) drum and aresolution of 200 steps per inch (79 stepsper cm). The computer used was a CDC3150 which has 32 K 24 bit words. The3150 can perform floating point calculations

(eg: multiply or divide) in about 5 us, so the9 ms per point which he timed on a wallclock represents 1800 equivalent floatingpoint multiply operations per point.

The program used was an engineeringsimulation program which can be describedmetaphorically as "a highly distorted pictureof four random rocks being thrown into atarget whose viscosity varies from the centeroutward." In terms of the actual model, it isa high level language equation whichdescribes a linear combination of dampedharmonic oscillators in two dimensions,which is then rotated through a thirddimension to produce a surface. Theequation involved has two cosine terms, asquare root term, and two exponential terms

SOFTWARE-HARDWARE

Professional

IMSAI

Repair

NATIONAL MULTIPLEX

C0MPUCOLOR

SWT PRODUCTS

We repair S-100 stylecomputer kit boards. $20

SOFTWARE - HARDWARE PACKAGE

per hour. Send us yourboards and we will mail you

With each order for IMSAI 8080,

a labor estimate. (Phoning

National Multiplex 2SIO(R) board

estimates is $1 extra.) If

and CC7A recorder receive free

estimate is refused, we

Assembler, 8K BASIC, 3 Games; all

charge a $10 estimate fee.

on cassette (requires 12K memory).

If you OK the estimate,the estimate is free.

This is the fast system, load 8K

Repaired boards returned

BASIC in 17 seconds instead of 4V4

UPS collect. Send the

minutes as on other cassette systems

manuals with the boards and

or 20'minutes with punched tape.

be specific about the

Users of National Multiplex system:

problem.

Send $20.00 for cassette containing 3games.

FREE

For fast service send certified check

Send stamped self-addressed

or money order in full with order

envelope for a free copy

(Pa. residents include 6% tax).

of our list of S-100 bus

Shipping is prepaid to your door.

compatible computers and

For Dental, Medical, and business

peripheral boards.

applications call:

Action Audio Electronics

Dr. L.A. Lombardi

Westlake Shopping Center

LOMBARDI ELECTRONICS

323 South Mayfair Avenue

110 Ludwig Road

Daly City. California

Newcastle, PA 16105

94015, (415) 756-7440

(412) 652-3241

for damping. The plotting of this threedimensional surface was accomplished usinga modified version of ACM algorithmnumber 483 for hidden line elimination,with a masking array of 10,000 words andthe addition of some finesse. Finesse isdefined as a random pen wiggle with anamplitude of several plotter steps, used togive texture and roughness to the lines in theoriginal.

Can This Type of Art Be Done at Home (forLess than a Megabuck)?

The answer to the question is a qualifiedyes - this type of work can be done at homeif the experimenter is willing to put togethersome of the required hardware, put up anAltair compatible machine with perhaps 16K to 32 K of memory, and add a massstorage device such as a Phi-Deck or floppydisk which can be automatically run. Inaddition to this more or less "standardsystem" the would-be artist must acquire aplotter such as the S750 plotter kitdescribed on page 85 of January 1977BYTE, manufactured by Sylvanhills Labora-tory Inc and a fast floating point unit suchas the North Star Computers FPB, Model A,described on page 75 of January 1977BYTE. Assuming the limiting factor is thefloating point calculation speed, here is aquick feasibility estimate for the computa-tion of Venus de Plotto.

1. The original took a total of 1800 x250,000 = 450 million calculations.

2. Allowing 111 us per floating multiply,the raw time requirement is:

450 x 106 x 11 1 x 10"6 = 49,950 secondsThese numbers are very approximate, forthey assume little 10 was done in theoriginal run, that all parts of the programwould scale in the same way as the floatingpoint multiply time, etc. However, with apersonal computer, one has time to "burn"as it were. The liberating effects of thecomputer are quite obvious here: For thiskind of art, one would (for example) set upthe plotter and program some fine morning,go out and get the day's exercise (bicycling,cross country skiing, jogging, etc, dependingon where you live and when), go to work,rendezvous with an intimate friend fordinner, check on the finished results, thenspend a few minutes to modify the designparameters of the plot before retiring for thenight with that smug self-satisfying feelingthat comes from living a good life."

146

-SC/MP at$ 95.00

SC/MP, the Microprocessor kit from NationalSemiconductor includes everything you need tobuild a completely functional microprocessorsystem - featuring the National SC/MP micro-processor — the low cost microprocessor forevery application: Text Systems and InstrumentControl; Machine Tool Control; Small BusinessMachines; Word Processing Systems; EducationalSystems; Multiprocessor Systems; Proces Con-trollers; Terminal Control; Laboratory Instru-mentation; Sophisticated Games; AutomotiveController and Appliance Controllers.

The kit, neatly packaged with all the com-ponents and literature you need, in a looseleafbinder, includes: The SC/MP Microprocessor- a single-chip Central Processing Unit in a 40-pin, dual in-line package. Features static operations, forty-six instruc-tion types; single-byte and double-byte, software controlled interruptstructure, built in serial input/output ports; bidirectional 8-bit TRI-STATER bus, parrallel data/port and latched 12-bit TRI-STATERaddress port. ROM - 51 2 bytes (8-bits/byte) of pre-programmed Read-Only-Memory containing KITBUG-a monitor and debugging programto assist in the development of your application programs, KITBUGprovedes teletypewrite input/output routines and allows examination,modification, and controlled execution of your programs. RAM-256bytes of static read/write memory for storage of your applicationprograms. Transfers of data to and from RAM are controlled by SC/MPand KITBUG. Teletypewriter Interfact including buffer and drivecapability for a 20 MA current loop interface. Voltage Regulator.Data Buffer-providing interface between memory and bidirectionaldata lines. All the literature you need, including schematics and pro-gramming manuals. Timing Crystal-providing 1.000 MHz timingsignal. Plus all the passive components and circuit board with 72 pinedge connector required to build and interconnect your microprocessorsystem with external hardware.

ASC II KEYBOARD

:S31'

SC/MPKEYBOARD

(Res. 558.85)

$53.00

This 63 key ASC II Encoded Keyboard kit was designed and manufacturedby Electronics Warehouse Inc. Features: single 5 volt DC. supply, utilizingonly TTL logic elements (no MOS devices to blow), TTL drive capability (eachof the eight bits of ASC II output will drive the equivalent of ten standard TTLinputs without external buffer drivers), de-bouncing, upper and lower casefully ASC II, 8 bit parallel output. In addition to the alpha-numeric and symbolkeys available on a regular keyboard, the following keys are utilized: escape,back-space, tab, line-feed, delete, control, shift-lock, shift-(2 keys), here-is!control-release.

Kit includes: 63 key keyboard, P.C board, all required components and as-sembly manual with ASC II code list.

Optional: 1, Parity bit-add $1.00 Aluminum enclosure $39.-

2. Serial output-add $2.00Note: If you already have this teletype keyboard you can have the kit withoutit for 536.00 (reg. S39.85). Dealer inquires invited.

This is a great kit for engineers and com-panies who don't have access to aTeletype.It is a low-cost teaching, learning, anddeveloping tool for hobbyists, professors,students, and electronics entrepreneurs ofall levels.

National's new Keyboard Kit now givesSC/MP Kit users a low-cost input/outputcapability. This new kit replaces the Tele-type* normally required by the SC/MP Kitand allows users to evaluate the SC/MPCPU and to develop a variety of applicationsoftware.

The heart of SC/MP Keyboard Kit is a ROMfirmware package (512 bytes) calledSCMPKB. The SCMPKB ROM replaces the"Kit Bug" ROM originally supplied with theSC/MP Kit and allows the effective use ofthe hexadecimal keyboard, to executeprograms, to examine or modify the con-tents of memory and the SC/MP registers,and to monitor program performance.

There is a hole pattern for additional inte-grated circuits on the SC/MP Kit PC card.By following the simple instructions in theSC/MP Keyboard Kit users manual, onecan add buffers, decoders, drivers, multi-plexers, etc. Simply replace the Kit BugROM (supplied in the SC/MP Kit) with thenew SCMPKB ROM, connect the pre-assembled Keyboard cabk* connector tothe kit card, and you are ready to go!

National's Keyboard Kit comes completewith manual, all required integrated circuitsresistors, keyboard display cable con-nector assembly, wire wrap connectors,precut wires—even a hand-held wire wraptool.

SWITCHES

10 Position rotary switchby oak manuf. $1.00 per 4

8 position, 1 off switch in T05 can$.69 2 for $1.00

ROCKER SWITCH

SPST normally open contact rating 6A 250VACsolder $ .50 ea $2.00 per 6

MINIATURE TOGGLE SWITCH

SPST P.C. MOUNT $.99

MINIMUM ORDER $5.00

Shipping & Handling:

KEYBOARD or SC/MP - $3.00 + $.50 Insurance

all others-$1.00

California residents add 6% sales tax.

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD.

REDONDO BEACH, CA. 90278

TEL. (213)376-8005

WRITE FOR FREE CATALOG

You are invited to visit our store at the above address

weggjicgggMigj

Advanced Microcomputer Products Presents

Prototype Design Equipment tEKiSSHtriS

™ "

^K, t.:. oi™_

l«

11

i

orliS

* 8 *oiS.i

'ffl

nOTO-IOUD* u

Now in slock forMicroprocessor Prototyping ^^

NEW SOCKETS Si BUS STRIPS

Exp.rlm.nter 600 .... $10.95£,p..i™nln,30Q .... $9.95

CSC CATALOGUE

8K RAM BOARD S198.00

MM

8T26B

74LS138

1.49

8097

99

74 106

.80

7416)

.49

741HC

10/2.50

MH0026CN

3.95

* IC MARKET PLACE *

NEW FROM NEC Microcomputer! FIRST TIME OFFEREDD372 Floppy Disc Controller Chip .... S125.00D37! Mag. Tape Cassette Controller Chip . . 99.95

Application Nottis (26 pages) 6.95

Gl AY3550 4H Digit DVM Chip 2

Gl AY3GO0 Keyboard Encoder

Intersil 8038CC 4 95

XR2263 Servo Com 6.95

RO 32513 Chnr Gen

FCN GEN KIT63 Key Keyboard19 Key Keyboard

Also ... we stock entire continentalspecialties line new sockets and bus strfor microprocessor design

Experimenter 600 (.6 spacing) S10.95Experimenter 300 (.3 spacing) 9.95

AM shipments first class or UPS in U.S. or add 5%for shipping and handling. Minimum order $10.00California Residents add 6% tax. Fore

■ PI 1TFR PO.BOX 17329 *T ^..oNEflCft^1-'

IrU 1 LXV IRVINE, CALIFORNIA 92713 oBoEK''0

PHONE 17141 9683655

o

T TRANSISTORS

PIN

DESCRIPTION

PKG.

UNIT PRICE

10

ioo

looo

2N91B

NPNHnliF regency

io in

.24

.17

.16

.JB

.24

2N2222A

.19

.165

.165

.135

2N2219A

.23

.17

.15

2N2369A

NPN Hijh5p«a S*.ra>

.23

>G5

.155

.135

2N2905A

.22

2N2907A

175

1 fir.

2N3392

2N3414

.19

.IBS

2N3S63

.IBS

2N3565

.165

2N3638

.24

.IBS

2\3640

.165

13

2N36W

N^Tro^;'0'

row

23

.165

M

13.13

2N4092

2N4093

.50

M

.43

.42

2N4123

.15

.13

2N4125

.23

.IS

2N4400

.23

.155

145

.135

MPSA13

.29

XI

225

.95

.78

.72

MOOSE

.95

.80

2N3725

a

SO

36

FP0.3725CN

Q"" Co" °"""

HIP

2.50

1.95

\M

1.40

BRIDGES r

' 199

100-499

500-999

VY02M

ISA 200V

46

35

W005M

W06M

HQ8M

,M 1(IX,Y

im

K

49

KBPC25 02

KBPC25D4

1

KBPC25 06

.25* 600V

i n

US

J10

S1.O0MmimuirMierlmfii.rn

^Exar

SPECIALISTS IN NEW TECHNOLOGYLINEAR CIRCUITS

• FUNCTION GENERATOR KIT*THD0 5t1YP-- AM/FM C^JaiiililyXR-2206KA. |.K(uaBm-M«li.t>.ltu„cii<«n.o«r.rp. IC. PCI.o.i.1. nd

* TIMING CIRCUITS * * COMMUNICATION CIRCUITS *

XR556CP Onrsss T,™, 1.75 XR1489 Ou.i R5232 r™..« 145XR2556CP rjmr™, Cc^i 2.95 XR220B r„u. Qc«i,.n. Muni*, 4.75XR2240CP mwimmtvltTlmx 4.2DXR320P Tin* 140

i * PHASE LOCKED LOOPS* * STEREO DECODERS*

XR7711CP >',■ r:... ...ri-....o.::^'- 5.35 XR1310F (•* StMStMffMrfclttt 300

XR567CP ro"rDni«tr 1.H0 XR1310EP FM Slai»OtniMi(>ni 3.00XR25567CP TontOiurM 1.80 XR18D0 Sam D^iwunu,. 3.00

I * FUNCTIONGENERATDRS*

XR2206CP Monolim.. Fumi.on Gfn.mil' 5 25

XR2207CP QunrnGMRMMOxilUtti 3.75

* OPERATIONAL AMPLIFIERS*XR742CP 2>.o Coding AC 1-w 3.00XR455BCP ■>.;,■ Jl.c.., ■...;;■.',■■ .. 120XR4138CP OuMDo Amp 1.75XR4202CP P.Wimm.Di.C.lOpArNl 4.25

*T" JUST OUT

1 XR2263Strvo controller lor (emote control application! 16 95

POWER SUPPLY: SPECIAL OFFER

+5Volts 1.5A Regulated

+ 12 Volts 1.0A Unregulated

Special buy on OEM Type Power Supply

Comes complete with 7.5A 117V Power Transformer

All Mounted in Chassis.

Only S14.95

ROTARY SWITCH

115/230V 50400Hz Test 2IQ0VDC r~~~^ '• CORNELLDUBILIER NF21015 L / fz ^—*~, CB|K v 2S

2.4A250VAC OnlyW.95 ^M^OgJ^

4*

Clever buyers request our free fIyer"

UVTTTpR f

All items below are while they last .^and subject to prior sale.

SUBMINI PC MOUNT SLIDE SWITCH

Center off SPDT. Only 5/8" byi" with pins on 1/8" centers.

y ij A VERY GOOD BUY^. 10/$2

THE REAL THING FROM MONSANTO:MAN-10A seven segment readoutwith bar, not dot, LEDs. Lim-it 8 to a customer. Digit

is .27" high 35< each

The following are house or military numbered

ICs, and include pinout/data

988 ONE SHOT similar to Tt]2] V$l

SNU058 DUAL k INPUT AND GATE with open coll

tor or totem pole output 7/$l

0*3*17 TRIPLE 3 INPUT NOR GATE 6/$l

7*172 FLIP FLOP house numbered 5/$l

INTEL 3101-14 BIPOLAR *l X 16 RAM super fast, same

pinout as 7*lSl89 $1.50 each

SILICON SIGNAL/SWITCHING DIODES 35/S2

BILL GODBOUT ELECTRONICSBOX 2355, OAKLAND AIRPORT, CA 94614

Add 50c handling to orders underCal res add tax. No COD; to placeBankAmericard8 or Mastercharge® orderscall (415) 562-0636, 24 hours.

When you receive our flyer, you have access tocapacitors, resistors, linear ICs, TTL, CMOS,low power Schottky, microprocessors, PACE, the; ood old 8080 , peripherals , memories, musickits, books, Vector products, trimpots,tals, sockets, discretes, power supplies,sets...all at the right price. Send for

crys-chipit!

^"ubmJnr'TTiConnectors!

«

^VECTOR!

^F' This is one of the neatest Altalraccessories we've seen. It acceptsvirtually any size IC package, has apower and ground plane on oppositesides of the board for extra capacitance.Room forh 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.

lElfUt ...

UNIVERSAL PROTOTYPEBOARD » * » $19.95

OTnro o tfij <f o o d 17

Ml1!

1 MALI

EJDon

^^

HOOD

L

25 PIN RS-232CONNECTORS

Submini D type

Male plug comes withplastic hood....$3.95Order part #DB25P

Female jack $3.95

Order part #DB25S

We Now Distribute Knowledge!

We are happy to carry Che Adam Osborne & Associates se-ries of books on microcomputers, as lucid and completea treatment of the subj ect as we've seen to date.All books postpaid in the USA; set of all three booksavailable for only $25.00.

VOL 1 "An Introduction to Microcomputers" Order book#2001. Gives the basics of uP based systems $7.00

VOL 2 This recent addition gives up-to-date informa-tion on microprocessors equivalent to hundreds of

pages of data sheets . Order book #3001 $12 . 50

VOL 3 "8080 Programming for Logic Design" #4001 $7.50

J

I Now

..ow you have a choice—specify wire

I wrap pins (illustrated) or solder-

I tail with .250" row spac

I nig. For IMSAI and

I Altair peripherals.

I Wire wrap part tt

I S-100WW. Solder-tail part # S-100ST

Ithe

SS-100ST is ideal forIMSAI motherboard

"EconoRom" $179.95

ALTAIR 8800/IMSAI PLUG-IN COMPATIBLE. This is a 4Kby 8 EROM board...the ideal place for putting soft-ware, be it assembler, editor, or any custom set ofroutines. Additionally, this board may expand to8Kx8 by simply adding more sockets and EROMs; alsoavailable is a 2K x 8 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.

8K X 8 BOARD $269.95 2K X8 BOARD $135.00

8080 Software Board $189.95

We took our ECONOROM board kit, but instead of includingblank EROMs, these are programmed with assembler, editor, &monitor routines for the 8080. This is a valuable first stepif you're trying to get away from machine language programing.There's not really enough room here to fully describe all thefunctions of the software...but if you send us $2.95 (refund-able with order), we'll send you our software packet that in-cludes instructions listing, schematic, and assembly data.

CAVE

in kit form

$99.95

plus postage

RAM boards forui t tricks, ands even more re-d thi s with the

We took every th i ng we I ea rned from se 1 1 i ng 'tK xthe past year, added some of this year's cir

came up with EC0N0R.AM a memory board that

markable due to its low price. We've engineeruser in mind, giving you several benefits:

A 3 regulators to share power load, plus optimized thermal de-sign, means a cooler running mi crocomputer

* Typical current consumption of under 750 ma gives your powersupp1y a break

* Fast Zero wait states

* All TTL support ICs are latest Low Power Schottky types

* For reliable and unambiguous data transfer, all addresses,data lines, and outputs are buffered for minimum loading andmaximum output capability

* Power-on clear inc1uded

Ali these features are packed on to an Al Ui ir-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.

also available assembled $129.95

Our popular ECONORAM 4K x8 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.

fNEW™c"osuRE™

Deluxe cases that look beautiful—no screws orfasteners mar the good looks from the outsideInterior slots hold card guides, connectors,etc. (not included with enclosure)All enclosures available in eitherdark blue or black with whitefront panel. Order from thefollowing

/,VP5-17-17U: 5.51" II, 17.58" W,17.1" D.

#VP7-17-17U:17.1" D.

$79.25

.26" 11, 17.58" W,$84.00

#VPy-17-21U: 9.01" H, 17.58" W,21.6" D. This is exactly thesame size as the IMSAI 8080 microcomputer. $96.50

All units shipped unassembled; please include enoughfor postage (excess refunded).

I

ill

Hit the deck in shorts anda tee shirt. Or your bikini ifyou want.

You're on a leisurely cruiseto remote islands. With nameslike Martinique, Grenada,Guadeloupe. Those are theones you've heard of.A big, beautiful sailing vesselglides from one breathtakingCaribbean jewel to another.And you're aboard, havingthe time of your life with anintimate group of lively, fun-loving people. Singles andcouples, too. There's good food,"grog',' and a few pleasantcomforts...but there's littleresemblance to a stay at afancy hotel, and you'll behappy about that.

Spend ten days exploringparadise and getting to knowcongenial people. There's no"*<*•* „ other vacation like it.

Your share from $245. A new cruise is forming now.Write Cap'n Mike for your free adventurebooklet in full color.

Windjammer Cruises.

"A tA/lhin lAUUtn lklTCDMATII~*kjAI CHDCiniAUV. nr<

A WINDJAMMER INTERNATIONAL SUBSIDIARY • OTC

Zip

P.O. Box 120, Dept. 121

Miami Beach, Florida 33139

World's LowestIC Prices

SPECIAL PRICES

MEMORIES

Rams

2102

1.50*

Proms

82S23/S123

1.95*

TTL

7400

.12*

7402

.14

7403

.14*

7404

.16*

7407

.20

7410

.12*

7420

.12*

7427

.25

7438

.20*

7440

.12*

7441

.65*

7445

.45

7447

.75

7450

.14

7451

.14*

7473

.22

7474

.23

7480

7493

7495

74107

74109

74116

74123

74141

74145

74150

74151

.40*

.50.49.29.30

1.50.45*.80*.75.60*.60

7415274155741577416074161

7416374165741737417474175741777418074181

74192

74193

74194

74198

9602

9300

9312

SCHOTTKY

74S01

74S02

74S37

74S38

74S85

74S113

74S139

74S140

74S153

74S172

74S174

74S175

74S181

74S197

74S257

.90.60.60.75.75*

.75*

.801.25

.75

.75*

.70

.801.50

.70*.70*.851.25.50*.75.70

.25

.25

.40

.602.00

.801.50

.502.504.502.052.05*4.502.201.50

HIGH SPEED

74H00

74H01

74H04

74H10

74H11

74H40

74H51

74H52

74H74

74H103

74H106

LOW POWER

SCHOTTKY

74LS00

74LS02

74LS08

74LS10

74LS27

74LS73

74LS75

74LS151

74LS153

74LS157

74LS161

74LS163

74LS164

74LS174

74LS175

74LS193

74LS221

74LS251

74LS253

74LS257

74LS258

CMOS400140024006

.20.20.20.20.20.20.20.20.40.50.50

.29

.29

.29

.29

.30

.45

.651.101.101.101.50*1.501.501.10*1.501.501.50*1.501.501.501.50

.16*

.16

.90

4007

.16

4008

.70

4011

.16*

4012

.16*

4013

.30*

4015

.80

4016

.35*

4019

.70

4020

.90

4021

.95

4023

.16*

4024

.75

4025

.20*

4027

.40

4028

.60

4030

.35

4040

.95

4042

.60

4043

.75

4044

.70

4049

.35*

4050

.35*

4066

.65

4068

.35

4069

.16

4071

.16

4073

.16

4075

.16

4516

.85

4528

.75

4585

.85

LINEARS

NE536T

2.75

NE555V

.43

NE556A

.90

1456V

.75

1458V

.52

566V

1.25

567V

1.35

540L

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

PO BOX 2542Sunnyvale, CA 94087

Free monthly catalog—Just send us your name and address

CITRON

For more information circle 102.

151

illHl

7400NTTU

SN74U0N 16 SN7459A 25

SN7401N 16 SN7460N 22 SN74154N

SN7402N 2! SN7470N 45 SN74155N

SN74Q3N 16 SN7472N 39 SN74156N

SN7404N IS SN7473N 37 SN74157N

SN74Q5N 24 SN7474N 32 SN74160N

SN7406N .20 SN7475N 50 SN74161N

SN7407N 29 SN7476N 32 SN74163N

SN74Q8N 25 SM7479N 5 00 SfJ74164N

SN7409N 25 SN7480fJ 50 SN74165N

SN7410N 18 SN7482N 98 SN74166N

SN7411N 30 SN7483N 70 SN74167N

SN7412N 33 SN7485N .89 SN74170N

SN7413N 45 SN7486N 39 SN74172h

SN7414N 70 SN7488N 3.50 SN74173N

SN7416N .35 SN74B9IJ 149 SN74174*

SN7417N 35 SN749QN 45 SN74175h

SN7420N .21 SN7491N 75 SN7417®

SN7421N 33 SN7492H 49 SN741771

SN7422N 49 SN7493N 49 SN74180F-

SN7423N 37 SN7494N 79 SN7418H

SN7425N 29 SN7495N 79 SN74182f

SN7426N 23 SN7496N 89 SN74184T

SN7427N .37 SN7497N J 00 SN74185r

SN7429N 42 SN74100N 100 SN74186r

SN743QN 26 SN74107N 39 SN74187r

SN7432N 31 SN74121N" 39 SN74188f

SN7437N .27 SfJ74122fJ 39 SN74190I

SN7438N .27 SN74123N 50 SN74191I

SN7439N .25 SN74125N .60 SN74192I

SN7440N 15 SS74126N 60 SN74193I

SN7441N 89 SM74132N 1.09 SN74194I

SN7442N .59 SN74135M 95 SN74195I

SN7443N 75 SN74141N 1 15 SN74196I

SN7444N 75 SH74M3N 4 00 SN74197I

SN7445N 75 SH74143N 4.50 SM74198I

SN7446N 81 SN74144N 4.50 SN74199:

SN7447N 69 SN74145N 1.15 SN7420OI

SH7448N 79 SN74147N 2 35 SN74279

SN7450N 26 SN741J6H 2.00 SN74251;

SN7451N 27 SN74I50N 100 SN74284

SN7453N 27 SN74151N 79 SN74285I

SN7454N 20 SN74153N .89 SN74367MANY OTHERS AVAILABLE ON REQUEST20% Discount fir 100 Combined 7400's

2.201500

GOO

CD4000CD4001CD4002CD4006CD4007CD4009CD4010CD4011CD4012CD4013CD4U16CD4017CD4019CD4020CD4022CD4023CD4024CD4025CD4027CD4D28CD4029CO4Q30

CMOS

29065

CD4035

CD4040

CD4042

CD4044

CD4046

CD4047

CD4049

CD4050

CD4051

CD4053

CO4Q60

CD4066

CD4069

CD4071

CD4081

C045H

CD4518

CD4560

74COON

74C02N

74C04N

74C10N

74C20N

74C30N

74C42N

74C73N

74C74

74C90N

74C95N

74C107N

74CI51

74C154

74C157

74C160

74C1G1

74 CI 63

74C164

74 C173

74 CI 93

74C195

MC404i

MCI 4016

LMUOOH .80

LM3Q1H 35

LM301CN 35

LM302H 75

LM304H 1 00

LM305H 95

LM307CN 35

LH308H 1.00

LM306GN i 00

LM309H l 10

LM309K 99

LM310CN 1 15

LM311H 90

LM311N 90

LM318CN 1 50

LM319N 1 30

LM320K-5 1 35

LM320K-5.2 1 35

LM320K-12 1 35

LM320K-15 1.35

LM320T-5 1 75

LM320I-5 2 1 75

LM320T-8 1 75

LM320M2 1 75

LM320M5 1 75

LM320M8 175

LM320T-24 1 75

LM323K-5 9 95

LM324N 180

LM339N 1 70

LM340K-5 1 95

LM340K-6 195

LINEAR

LM340KLM340KLM340K

LM340KLM340K.LM340T-LM340TLM340TLM340TLM340TLM340TLM340T-LM350NLM351CN

12

1-95I 95

LM370N

LM373N

LM377NLM330N

LM381N

LM382N

NE501K

NE510A

NE531H

NE536T

NE540L

NE550N

NE555V

NE560B

HE551B

NE552B

NE565H

NF565N

NE566CN

NES67H

NE567V

LM703CN

LM709H

LM709N

LM710N

LM711N

LM723H

LM723H

LM733N

LM739N

LM741CH

LM741CN

LM741-I4N

LM747H

LM747N

LM748H

LM748N

LM1303N

LMI304N

LM1305N

LM1307N.

LM1310N 2.9

LM1351N 1 6

LM1414N I 7

LM1458C .6

LM1496N 9

LM1556V 1.6

LM2111N 1.9

LM2901N 2 9

LM3065N 6

LM3900N 5

IM3905N 6

LM3909 I 2

LM5556N I 8

MC5558V 1 C

LM7525N 9

LM7535N 1 2

80388 4.9

LM75450 .4

75451CN 3

75452CN 3

75453CN 3

75454CN 3

75491CN /

75492CN 8

75494CN 8

RCA LINEAR

CA3013 2 1

CA3032 2.5

CA3035 2.4

CA3039 1 3

CA3046 1.3

CA3059 3 2

CA306O 3.2

CA308O .£

CA3081 2 C

CA3082 IX

CA3083 1 I

CA3086 t

CA3089 3 3

CA3091 to.;

CA3123 2 1

CA3130 i.;

CA3140 1.2

CA3600 1 1

RC4194 5 9

HC4195 3.2

W^^cm^^ TECHNOLOGY KITS fairck:-

74LSO074LS0274LK0374LS0474LS0574LS0B74LS1074LS1374LS1474LS2074LS2674LS2774LS2B74LS3074LS3274LS4074LS5174LS5574LS73

::74LS00 TTL

74LS74

74LS75

74LS76

74LS83

;4LSh5

74LS86

74LS90

74LS92

74LS93

74LS95

C4tSS6

74LS107

74LS109

74LS112

74LS132

74LS136

74LS138

74LS139

74LS151

74LS153

74LS157

74LS162

74LS163

74LS164

74USI75

74LS181

74LS190

74LS19'

74LSI 92

74LS193

74LS194

74LSI 95

74LS257

74LS260

74LS279

74LS670

MM5]09MM5311MM5312MM5314

CLOCK CHIPS

E Dujii BCD Outputs tesel PIN

6 Dujii BCD Oulpuis 12 or 24 How

4 Digit BCD Outputs 1 PPS Output

6 Digit. 12 or 24 Horn. 50 or 60 H;

4 Digit. Alarm. 1 0PS Outpul

UMBO Clock Cttip For Use Wilfi MM5841

6 Digit, Calendar. Alarm, 12 or 24 Hom

DATA HANDBOOKS

'in qui & Descnniion of 5400/7400 ICS $2.S

■m qui fti Descripiion of 4000 Series ICS S2.9

•in oi.i a Functional Description S2.S

ALL THREE HANDBOOKS S6.95

TKHWtOCI

K

riKOOOi

FTK0002

HK0003RK0004ITK0005

' Complete Specifications on back of each kit> Packaged for WALL DISPLAY APPEARANCEi Dealer's Inquires Invited — Price List Available

DIGITS

0 5" High Common Cathode Diqii

0 5' High Common Anode Digit357 High Common Cathode Digit

0 e High Common Gamoee Digil0.8" High Common Anode Digit

O.B" HIGH DISPUY ARRAYS12 Hour, 31? Digit Clock Display24 Hour 4 Digit Clock Display

IK()!l;:!lFTK0021

FTK0022i IMJU23

LED LAMPS10 Red led Lames5 Mi«ed Colored LED Lamps10 LED Mounting Clips5 Three Piece LEO Mounting Adapters

MKilOSOFTK0Q31FTK0032

i Iku(i3:>

PHOTO TRANSISTORS5 Flai Lens Pnoto Tranastots5 Round Lens Plioto Transistois3 Flat Lens Pholo Darlmgions

3 Round Len1; Photo Oarlmglons

PHOTO ARRAYSFK0040 9-Element Tape Reader Array

FTK0041 12-Element Catd ReaOei AnnFTK0D42 Reflective Oplo Coupler

COUPLERS

3 General Purpose Opte CnuplciDarlington Opln Coupler

HDS CLOCK CIRCUITS

Digital Clock/Calendar Circuit

IFCM7001]Digital Clock'CalenrJai will! 8CD

Ou!pu1s(FCM7002iDireci Dfive Oigital Clock Circuit

with AC Output 1FCM3817A)Direct Drive Digital Clock Circuit

With DC Outpul (FCM3817D)Onect Dui'C Denial Clock'Carendar

Circuit (FCM7015!

KITSFTKOIOfi Automouile Clock Kit

WIRE WRAP CENTER

~0*UIM, CORDLESS^"■f HOBBY-WRAP TOOL-BW-630

3K • Battery Operated (Size C)

Wk . Weighs ONLY 11 Ounces

Vfc . Wraps 30 AWG Wire onto

" Standard DIP Sockets (.025 inchl

$34.95 • Complete with built-in bit and sleeve

(liiinenes not included)

WIRE-WRAP KIT — WK-2-WWRAP • STRIP • UNWRAP

• Tool for 30 AWG Wire

• Roll of 50 ft. White 30 AWG Wire \^jA

XC2Q9XC?09

XC209

XC22XC22XC22XC22SSL-22

TYPE

MAN 1

MAN 2MAN 3MAN AMAN 7MAN 7GMAN 7VMAW 52MAN 64MAN 72MAN 74MAN 83MAN fl/i

DISCRETE LEDS

XC526XC526

RerJGreen

XC520

Yellow

XC526

Oiange

XCS26

Clear

XC556

Heit

XC556

Staen

XC556

Yellow

XC556

Orange

XC556

Clear

.90" dia.

ReU 10.!

Green iR

Vellow .1/:

Orange 4ft

.035" dla.

MV50

.085" (lis Mici

red LED

6/S1

DISPLAY LEDS

POLARITY

Common Anode5 x 7 Doi Matrix

Common CattuxleCommon CathodeCommon Anode

Common Amnle-greenCommon Anode-yellnwCommon Anode ■greenCommon Anode-redCommon AnodeCommon CathodeGommoii Anode-yellowCommon Cilliiidc-yiiilav,

TYPE

MAN 3620MAN 364GMAN .1710DL701DL704DL707DL F28DL WDL 750DL33BFND70FN050:iFNDS07

IC

SOLDERTAIL— LOW PROFILE (TIN) SOCKETS

50-100

1.1 pin16 oin

?2 pin

lS SOLDERTAIL STANDARD (TIN)

SOLDERTAIL STANDARD (GOLD)

« .10 pin

WIRE WRAP SOCKETS (GOLD) LEVEL I) 3

14 pin

15 pin

PUSH BUTTON SWITCH

fPB-123 S1.75

Maintained Action SwitchPB-126 $1.75

IP Momentary Action Switch

MINATURE TOGGLE SWITCH

JMT-221 DPOT on/off/on $1,95

JMT-223 DPDT on/none/on S1.75

JMT-121 SPDT on/off/on S1.50

JMT-123 SPDT on/none/on SI.25

. NEW LED MOUNTING SYSTEM — to be used

ULIPLITE with XC556 LEDS - SPECIFY COLORS - 4/$1 00RED - GREEN - AMBER — YELLOW

50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST.

10 OHM 12 OHM 15 OHM 18 OHM

27 OHM 33 OHM 39 OHM -17 OHM

68 OHM 82 OHM 100 OHM 120 OHM

180 OHM 220 OHM 270 OHM 330 OHM

470 OHM 500 OHM 6B0 OHM 820 OHM

1 2K 1 !,K I UK 2 2K

3 3KB2K

i 9K

5 6K

6 OHM

1/4 wrtn m

50 PCS

0 OHM

OOHM

1/4 WATT 5°

50 PCS

2 7K

1/4 WATT 5°/

50 PCS

6 3K

I8K

1/4 WATT 5°„

50 PCS

47K

120k

1/4 WATT 5"/

50 PCS

330K

820K

1/4 WATT 5°

50 PCS.

a6M

1/4 WATT 5°,

50 PCS.

ASST. 8R Includes Resistor Assortments 1 -7 (350 PCS.) $10-95 ea.

$5.00 Minimum Order — U.S. Funds OnlyCalifornia Residents — Add 6% Sales Tax

Spec Sheets - 25c — Send 24c Stamp tor 1977 CatalogDealer Discount Available — Request Pricing

1021-A HOWARD AVE.. SAN CARLOS. CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advertised Prices Good Thru February

50 pes. each 1", 2", 3"pre-stripped white wire

S4" lengths-

$11.95

WIRE WRAP TOOL WSU-30

WRAP . STRIP . UNWRAP-S5.95

WIRE WRAP WIRE — 30 AWG

25tt.min.S1.25 50ft.S1.95 100tl.S2.95 1000ft. S15.00SPECIFY COLOR — White - Yellow - Red - Green - Blue - Black

THUMBWHEEL SWITCHES

SERIESSf F.onl Mounl Awmfcly

mm wm

DIP SWITCH

S1.95

TYPE

1N746IN751A

1N752IN 7531N754IN959

1N965B1NW32W,?-iAliJri?:ii1N5Z361N4561N4581IM85A1N4001

irjjoo?IN4003

IN4004

ZENERS -

VOLTS W3.3 400mm

400m400m400m400m500m50Qm500m500m

50 PIV 1 AMP

100 PIV 1 AMP

200 PIV 1 AMP

400 PIV 1 AMP

DIODES — RECTIFIERS

PRICE TYPE VOLTS W

4 1 00 1N4005 600 PIV 1 AMP

4'1 00 1N4006 800 PIV 1 AMP

4/1.00 1N40Q7 1O0OPIV 1 AMP

4/1.00 1N36G0 50 200m

4 1 00 1M414H 75 10m

8.1.00 1rJ415J 35 10m

4.1.00 1N4305 75 25m

26 IN4734 5.6 Iw

28 IN4735 6.2 Iw

28 1N4736 6.8 Iw

28 1N4738 8.2 1w

6 1 00 1N4742 12 Iw

6.1 00 1N47.:

15

Iw

IN1183 50 PIV 35 AMP

1N1184 100 PIV 35 AMP

1N1185 150 PIV 35 AMP

1NH86 200 PIV 35 AMP

1N1188 400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C36DC38M2N2328

MDA 980-1MDA 980-3

15A@400V35A @ 200V1.6A@ 200V12A@ 50VI2A@ 200:

FW BRIDGE RECFW BRIDGE REC

MPS A05MPS A06:'N??1!M2W2321

3N2359

7f;^6gAFN24152N74B4

:'N;'!!(juA;>N?90M

2N30532N3D55f-'.JE :>U5=MJ£295S2N3392

2rj339a

TRANSISTORS

PN3567 3 SI 00

PN356B A 'SI 00

PPJ35B9 -I SI m

$1.00

si ts

5 SI 00

5 SI 00

3M37072N37112N372J7.H37253N39032H39HA2N3905

■mm

2N4013!fM014

2N4'123

5 Si 00 JTL5TJ1 00 T^

°N«502N44002N1401

2NJ402

2W463

2m;;o93NS086

?N5aar

?M508B:r,!MB!l

;usi 392HS138

2H51392N52092N5961

'.:-.i:r>a!SL';>!M32

CAPACITOR

50 VOLT CERAMICDISC CAPACITORS

10-49 50-100

34 03 .001/iF

CORNER

22 0*

05 .0

47 pf

.05 .0

100 pi

05 .0

220 pf

05 .0

470 pf

.05 .0

too

001ml

.12 .1

0022

.12 1

0047mf

12 1

Olmf

12 .1

+ 20% DIPP

. i.35 V

28 .2

.15/35V

28 .2

.22/35V

28 .2.

33/35V

28 2

.47/35V

28 ,23

. 68/35 V

28 .2

1.0/35V

28 .2

MINIATURE I

Axial Lead

.47-50V

.15 1

1.0/50V

.16 .1

3.3/50V

15 ,1!

4.7/25U

16 .1

10/25V

.15 1

10r50V

16 1

22/25V

.17 1

22/50V

.24 .2

47/25V

19 .1

47/50V

25 .2

100/25V

.24 .2

100/50V

35 ,3i

220/25V

32 .2

22O/50V

.45 .4

470/25V

33 .2

1000/16V

55 5

2200/16V

.70 .6

004 7,i F.OluF

.05

022^ F

047;lF .06

\pf 12

100 VOLT MYLAH FILM CAPACITORS022mt047ml

.07

,1mf

27

22ml20% DIPPED TANTALUMS (SOLID) CAPACITORS5/35V

262.2/25V 31 27

3 3/25V 31 27

4.7/25V .32 28

6.8;25V .36 3110/25V .40 35

15/25V .63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

.47(25V47/50V

1.0/16V1 0/25V1 QtfQV4.7/16V4 7/25V4.7/50V10716V10/25V10'SOV47/50V

100/16V

100/25V

10O/5OV

220/16V

■170.25V

Radial Lead13

152

Part*CV1ACY2ACV3A

era

CV12ACY14ACV1SACY22ACY30B

'CRYSTALS

THESE FREQUENCIES ONLY

Frequency

1.000 MHz2.000 MHz1.000 MHz5.000 MHz10.000 MHz14 31818 MHz18.000 MHz20.000 MHz32.000 MHz

Case/Style

HC33/U

HC33'U

HCIS.'U

HC18/U

HCIS.'U

Hcieu

Hcmu

HC18/UHC16'U

PrTcrrS5.95S5.95S4.95S4.95S4.95S4.95S4.95$4,95S4.95

XR-2260KB Kit S27.95

WAVEFORM

GENERATORS

XP.-205 SB .10

XR-2206CP J 49

XR-2207CF 365

STEREO DECODERSXR-J3IGCP S3 20

XR-1310EP 3 2D

XR-18O0P 3 20

XR-2567 2 99

EXAR

MISCELLANEOUS

XH-221ICP

Xfl-4136

XR-1468

XR-1488

XR-1489

XR-22C8

XR-2206KA Kit 317.95

TIMERS

XR-555CP

XR-320P

XR-556CP

XR-2556CP

XR-2240CP

PHASE LOCKED LOOPS

>R-210 5 20

XR-215

XR-567CP

XR-567CT

3.25

CONNECTORS

PRINTED CIRCUIT EDGE-CARD

.156 Spacing-Tin-Double Read-Out

Bifurcated Contacts — Fits .054 to .070 P.C. Cards

15/30 PINS (Solder Eyelet) S1.95

18/36 PINS (Solder Eyelet) S2.49

22/41 PINS (Solder Eyelet) S2.95

50/100 (.100 Spacing) PINS (Solder Eyelet) $6.95

25 PIN-D SUBMINATURE

DB25 PLUG S3.25

DB25 SOCKET S4.95

3V2 DIGIT DVM KIT

This 0-2 VDC 05 per cent digital voltmeter features Hie Motorola 3V; digitDVM chip set II lias a A" LED display and operates from a single +-5Vpower supply The unit rs provided complete with an injection molded blackplastic case complete with Bezel An optional power supply is availablewhich tits into the same case as the 0-2V DVM allowing 117 VAC operation,

A. 0-2V DVM with Case $49.95

B. 5V Power Supply $14.95

VECTOR WIRING PENCIL

VectoiWirviB Pencil Pi73 consists ol a hand nelil fe.nncwejgnt lundei oneounceltool which is used to guide and wrap insulated wire led ofl a self-contained leplaeeableoobbin. onto component leads or terminals, installed on pre-punciicrJ P" PatternVecioroortl Connections between the wrapped wire and comrjgnen! leads pads orterminals are made by soldering Complete with 250 FT ot red wife en nc

REPLACEMENT WIRE — BOBBINS FOR WIRING PENCIL

W36-3-A-Pkq 3 250 tt 36 AWG GREEN $2.40

W36-3-B-Pkg 3 25C tt 36 AWG RED S2.40

W36-3-C-PkQ 3 25D It 36 AWG CLEAR S2.40

W36-3-D-Pk[) 3 250(1 36 AWG BLUE $2.40

1/16 VECTOR BOARD

64P4J (JKxxjiP169P" 02UXP5AHA 062

#*

HEAT SINKS

lit

205-CB Beryllium Copper Heal Sink with Black Finish lor TO-5 $ .25

291-.36H Aluminum Heat Si* tai fO-ZaO Transistors & Regulators S .25680-.75A Black Anoducd Aluminum Heal Sink lor TO-3 51.60

HEXADECIMAL ENCODER 19-KEY PAD

.1-0. ABCDEF

• Return Key

• Optional Key (Period). —Key

$10.95 each

63 KEY KEYBOARD

Tins «eyDa;rdlealiue:; 63 miencoded SPST keys, unattached liany kind niP C B A very solnmolded plastic 13 x 4 Passoils most applications

519.95

H0D16S 16 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER

JOYSTICK

These joysticks feature four *potentiometers, that vary re-sistance proportional to theangle of the stick. Sturdy metalconstruction with plasticscomponents only at the mova-ble joint. Perfect lor electronicgames and instrumentation.

*5K Pots $6.9500K Pots $7.95

MICROPROCESSOR COMPONENTS

8080A CPU S19.95

8212 8 Bit Input Output 4.95

8216 Bi-Direclional Bus Driver 6.95

8224 Clock Generator/Driver 12.958228 System Controller - Bus Driver 12.95

CPUS

8008 8 BIT CPU S'9 9<. |

BOBO Super BOOS ?4 % 1

eoeoA suoei 3008 tg 95 -.

SR'S

2504 1024 Dynamic S 9 00 2

2518 He. 32 BIT 7 OD 2

2519 Hex JO BIT .; 00 7

2524 512 Dynamic 2 49 f

2525 1024 Dynamic g 00 8Dual 256 BIT 3 95 g

2529 Dual 512 BIT J 00 8

2532 Duad M BIT 3 95 g

2533 1024 Sialic 7Fito 6

570 15 . 4 R«a 3

UAflT'S

1-013 30K Band $5RUMS

Char Gen S 9

Chat G->n 10

MC68D0L 8 Bit MPU $35.00

MC6820L Periph. Interface Adapter 15 00MC6810AP1 128 x 8 Static RAM 6.00

MC6830L7 1024 x 8 Sit ROM 18.00

StaticDynamic

Static

Static

Dynamic

Sialic

MMQS

Sialic

Static

Static

Sialic

Sialic

7420093421UMS262

SialicDynamicPROMS

3l>01

6330-16331-16300-1

256 Bil (32 x 8) Open Collector

256 Bit 132 x 8) Three Stale

1024 Bil (256 x 4) Open Collector 3 49

1024 iSl i?56 • 41 three Slate2048 Bil (512 x 4) Open Collectoi

BIPDLAH PROM SPECIAL35 6306-1

2 95 6340-1

6341-16352-16353-1

?fi4P id! ,:,i2x4) Tfuec State

"0'B hii i.f,i2 x 3) Open Collector;-'i'M!i im (512 x 8) Three State■10% lit! ,11);: .: 4) Open Collector4096 Bil H024. 4) Three Stale

19.9519,95

19 95

Proto Board 100

Continental Specialties■ $19.95 ™™. gjjja

• 79.95

COMPLETE III

THE MINI-BREADBOARDBUDGET KIT

39.95

• a I i"»

Proto Board 6 S15.95

SPECIAL!

LOGIC MONITOR

Simultaneously displays sialic .ififl

dynamic logic stales nt OTI. tTL

HTL Or CMOS DIP ICs

Pockiil size saa.95.

■asii-Cii-

•illltMl- °•IBM- '

•IIMMHMuill ■

GEMINI-68 The Unique Microprocessing System

(luitciil LoopI/O Part

ALL BOARDS BUS EXPANDABLE

Uses standard size AW wide beards, dual 22 pin edge connectorFully buffeted and tristatable address and data buses

STAND ALONE CPU BOARD — Has 384 bytes ot RAM on boarrj, serial I/O (RS-232

and 20 ma current loop, cycle stealing dnect memory access (DMA), built in soft- ___n

ware — selectable echo-back capability. Pail # SA-CPU Boatd $279.95

CPU BOARD — Same as above but only has 128 bytes ol RAM on board-used with -n

8K RAM board listed beldw Part tt Gemini 68 CPU Board $259.95

8K RAM BOARD — Uses low power static RAMS, 500nscycle lime, 1.5 Amps Max

Par, # Gemini 68 RAM Boatd $269.95

8K EPROM BOARD — Uses 5204 EPROMS by AMI or NATIONAL. Shipped with alldecode and miscellaneous ICs, except the 5204 EPROMS

Part # Gemini 68 EPROM Board $ 89.95

NOT A KIT — ALL BOARDS ARE COMPLETELY ASSEMBLED,BURNED-IN AND TESTED. COMES WITH COMPLETE DOCUMENTATION.

55.00 Minimum Ordei — U.S. Funds OnlyCalifornia Residents — Add 6% Sales Tax

Spec Sheets - 25e — Send 24c Slamp for 1977 CatalogDealer Discooot Available — Request Pricing

1021-A HOWARD AVE.. SAN CARLOS, CA. 94070

PHONE ORDERS WELCOME — (415) 592-8097

All Advertised Prices Good Thru February

CD Jimebancl

DIGITAL ALARM CLOCK $16.95

24-Hour Alarm'DOZE" Button100% Solid SlateLarge Red Led Display (.8" high)AM/PM Indicator

Seconds Display at touch of button \SPECIFY BLACK OR IVORY V

DIGITAL WATCHES

Ladies Watch

- 6 Function

• Bracelet Styling

• 1 Year Guarantee

• Model 900

• Specify Gotoor Chrome

$59.95

EXELAR Mens Watch

• 5 Function

• Quartz Crystal

• Blaex Leather Bard

• ManalactUiU Guarantee

• Specily Golilor Chrome

$25.00

5 FUNCTION ELECTRONIC CALCULATORRADOFIN MODEL 8P

$8.95

. 8 Digil Display

i 5 Functions consists of addition subtractionIiplicatron division percentage with constsall lunctions with lull lioaling decanal point

i Power source is 1 piece 9V DC Battery 00GPlack tor AC ailaptei

DIGITAL STOPWATCH

. Bright 6 Digit LED Display

• times 1o 59 minute; 59 59 <ecnno

• Crystal Conttoiied Time Base

• Huee Stopwatches in One

hmes Single Event —Split ft Taylo

• 5iffi4 5"*2.15 "90 i4':ounce

• Uses 3 Penlite Cells

Kit — S39.95

Assembled — S49.95Heavy Duty Carry Case S5.95

DIGITAL QUARTZ CAR CLOCK

Kit: S29.95Assembled: S39.95

sctnm molded tw;.s inwniu; in powe erj'd .imj .ii1 roilni, Mf.-5-l ■ r.ml cr ; ■

"< '■ rV pi 01- - fliU.1

i'.» ..no f C tt ii'- Wqi

iiini'ome; «mc .n'o i.i.ckD-MENbtOh! -.' . i

CASE ONLY (includes hardware, mounting bracket and bezel) $5.95

JE700 CLOCK

$17.95

■' «?." V 9 3»

This large digit clock (.6 hours &minutes. .3" seconds) features theMM5314 clock chip It operatesIrom ! 17 VAC. and will operate ineither a 12 or 24 hour mode. Theclock is complete with a walnutgrain case, and has last set, slowset. and hold time set features

JE500 KIT - ALL COMPONENTS & CASE S34.95WIRED & ASSEMBLED $39.95

DIGITAL CLOCK KIT — 3Va INCH DIGITS

4 DIGIT KIT $49.95 4 DIGIT ASSEMBLED SS9.95

6 DIGIT KIT $69.95 6 DIGIT ASSEMBLED S79.95

This clock features big 3V?" high digits for viewing in offices, auditoriums.etc, Each digit is formed by 31 bright 0.2" LED's. The clock operates from117 VAC, has either 12 or 24 hr, operation. The 6 digit version is 27" x3ft" x1'/j" and the 4 digit is 18" x3V;" x IV'.Kits come complete withall components, case and transformer.

Specify 12 or 24 Hour When Ordering

JE803 PROBE

tie LOfllE Prude is 3 unit wbicti is tor me mosi paridespensiBte in trouble shooting logic 'aminesTTL D1L RTL CMOS II derives the power itlo operaie directly oti ol Ihe circuit undeitest drawing a scant iDmAma> ltusesaMflN3readout 10 indicate any ot ihe following states D\thesesymDOiS |HI-1 |LOW|-o(PULSE)-P TheProbe can doted Nk]M Ireijijency imises to J5 MH/I he used at (vlOS levels or circjil uamaye

- u

$9.95 Per Kit

printed circuit board

PL 5V1A Supply

This IS a Slandi'd Ft! pc.vtv supply usmq fhe -.v' -1' -now1-LM.109K regulator !C to provide a soliil t AMP pi current at 5volts We try to make things easy lor you Dy providingeverything you need m one package including ihc hardware

ta°"» S9.95 Per Kit J

S.D. SALES CO.

P.O. BOX 28810-BDALLAS, TEXAS 75228

From the same people who brought you the $89.95 4K RAM kit. We were not the first toIntroduce an IMSAI/ALTAIR compatible Z—80 card, but we do feel that ours has the bestdesign and quality at the lowest price.

The advanced features of the Z—80 such as an expanded set of 158 instructions, 8080Asoftware compatibility, and operation from a single 5VDC supply, are all well known. Whatmakes our card different Is the extra care we took In the hardware design. The CPU card willalways stop on an Ml state. We also generate TRUE SYNC on card, to Insure that the rest ofyour system functions properly. Dynamic memory refresh and NMI are brought out for youruse. Believe it or not, not all of our competitors have gone to the extra trouble of doing this.

As always, this kit includes all parts, all sockets, and complete Instructions for ease of assem-bly. Because of our past experience with our 4K kit we suggest that you order early. All orderswill be shipped on a strict first come basis. Dealers inquiries welcome on this Item.

Kit shipped with 2 MHZ crystals for existing 500NS memory. Easily modified for faster RAM chips when the pricescome down. Z—80 Manual - $7.50 Separately.

Kit includes Zilog Manual and all parts.

Z-80 CPU CARD KITFOR IMSAI/ALTAIR

$149:T

JUMBOLEDCAR

CLOCK

$16.95

KIT

You requested it! Our first DC operated clock kit.Professionally engineered from scratch to be a DCoperated clock. Not a makeshift kluge as sold by others.Features: Bowmar 4 digit .5 inch LED array, Mostek50252 super clock chip, on board precision time base,12 or 24 hour real time format, perfect for cars, boats,vans, etc. Kit contains PC Board and all other partsneeded (except case). 50,000 satisfied clock kit cus-tomers cannot be wrong!

FOR ALARM OPTION ADD $1.50FOR XFMR FOR AC OPERATION ADD $1.50

60 HZ CRYSTAL TIME BASE FOR DIGITAL CLOCKS

S.D. SALES EXCLUSIVE!KIT FEATURES:

A. 60HZ 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.) $5.95 Of

D. Uses latest MOS 1 7 stage divider IC. 2/$10.

E. Eliminates forever the problem of AC line glitches.

F. Perfect for cars, boats, campers, or even for portable clocksat ham field days.

G. Small Size, can be used in existing enclosures.

KIT INCLUDES CRYSTAL, DIVIDER IC, PC BOARDPLUS ALL OTHER NECESSARY PARTS & SPECS

50HZ CRYSTAL TIME BASE KIT - $6.95All the features of our 60HZ kit but has 50HZ output. For usewith clock chips like the 50252 that require 50HZ to give 24hour time format.

s

THIS MONTH'S SPEC/A LS!

300.00 KHZ CRYSTAL - $1.50

8080A - CPU CHIP by AMD - $19.95

82S129 - 256 x 4 PROM - $2.50

N.S. 8865 OCTAL DARLINGTON DRIVERS

3 for $1.00

Z-80 - CPU by ZILOG - $69.95

MM5204 - 4K EPROM - $7.95

Prices in effect this month ONL Y!

S

4K LOW POWER RAM BOARD KITTHE WHOLE WORKS - $89.95

Imsai and Altair 8080 plug in compatible. Uses low powerstatic 21 L02-1 500ns. RAM's, which are included. Fully buffer-ed, drastically reduced power consumption, on board regulated,all sockets and parts included. Premium quality plated thruPC Board.

7400—19c 7411—29c 7451—19c 7490—65c 74153—75c

74LS00—49c 7413—50c 7453—19c 74LS90—95c 74154-1.00

7402—19c 7416—69c 7473—39c 7492—75c 74157—75c

74LS02—49C 7420—19c 7474—35c 7493—69c 74161—95c

7404—19c 7430—19c 74LS74-59C 7495—75c 74164-1.10

74L04—29c 7432—34c 7475—69c 7496—89c 74165-1.10

74S04—44c 7437—39c 7476—35c 74121-38C 74174—95c

74LS04-49C 7438—39c 7480—49c 74123-65c 74181-2.50

7406—29c 7440—19c 7483—95c 74132-1.70 74191-1.25

7408—19c 7447—85c 7485—95c 74S138-1.95 74192-1.25

7410—19c 7448—85c 7486—45c 74141-75C 74193-1.00

TTL INTEGRATED CIRCUITS 74195—69c

STICK IT!

in your clock

in your DVM, etc.!

Huge Special Purchase

Not Factory Seconds

As sold by others!

$3.95

4 JUMBO .50"DIGITS ONONE STICK!(with colons andAM/PM Indicator)

BOWMAR 4

BUY 3 for $10.DIGIT LED READOUT ARRAY

The Bowmar Opto-Stick. The best readout bargain we have everoffered. Has four common cathode jumbo digits with all seg-ments and cathodes brought out. Increased versatility since anyof the digits may be used independently to fit your applications.Perfect for any clock chip, especially direct drive units like50380 or 7010. Also use in freq. counters, DVM's, etc. For 12or 24 hour format.

UP YOUR COMPUTER!

21 L02-1 1 K LOW POWER 500 NS STATIC RAM

TIME IS OF THE ESSENCE!

And so is power. Not only are our RAM'S faster than a speedingbullet but they are now very low power. We are pleased to offerprime new 21L02—1 low power and super fast RAM's. Allowsyou to STRETCH your power supply farther and at the sametime keep the wait light off. 8 for $12.95

JfclOqC S.D. SALES EXCLUSIVE! <ft19QR

*'*"w MOS 6 DIGIT UP-DOWN COUNTER *",JJ

40 PIN DIP. Everything you ever wanted in a counter chip.Features: Direct LED segment drive, single power supply (12VDC TYP.), six decades up/down, pre-loadable counter, sep-arate pre-loadable compare register with compare output,BCD AND seven segment outputs, internal scan oscillator,CMOS compatible, leading zero blanking. 1MHZ. count inputfrequency. Very limited qty. WITH DATA SHEET

WESTERN DIGITAL UART

No. TR1602B. 40 pin DIP

This is a very powerful and

popular part.

NEW-S6.95 with data

LIMITED QUANTITY

RESISTORASSORTMENT

% W 5% and 10%PC leads. A good mixof values. 200/$2.

FAIRCHILD BIG LEDREADOUTS

A big .50 inch easy to readcharacter. Now available ineither common anode orcommon cathode. Take yourpick. Super low current drain,only 5MA per segment typ-ical.

FND 510 Common Anode

FND 503 Common CathodePRICE SLASHED! 59c each

TERMS:Money Back Guarantee. NoCOD. Texas Residents add 5%tax. Add 5% of order forpostage and handling. Ordersunder $10. add 75c. Foreignorders: US Funds ONLY!

SLIDE SWITCHASSORTMENT

Our best seller. Includesminiature and standardsizes, single and multi-position units. All new,first quality, namebrand. Try one packageand you'll reordermore. SPECIAL 12/$1.

MOTOROLA POWERDARLINGTONBack in Stock!

Like MJ3001. NPN 80V. 1 0A.HFE 6000 TYP. TO-3 case.We include a free 723C voltreg, with schematic for powersupply. SPECIAL —$1.99

CALL YOUR BANK

AMERICARD OR MASTERCHARGE ORDER IN ONOUR CONTINENTAL

UNITED STATES TOLLFREE WATTS:

1-800-527-3460

Texas Residents Call Collect

214/271-0022

S.D. SALES CO.P.O. BOX 28810 BDallas, Texas 75228

For orders over $15.00 Choose $1.00 FREE mdse,

F8 EVALUATION BOARD KIT WITH EXPANSION CAPABILITIES

A fantastic bargain for only

20 ma of RS 232 interface64K addressing rangeProgram control timers1K off on board static memory

$99

with the following features:

00 • Built in clock generator

• 64 Byte register

• Built-in priority interrupts

• Documentation

GENERAL PURPOSE COMPUTER POWER SUPPLY KIT

This power suppy kit features a high frequency torroid transformerwith switching transistors in order to save space and weight.115V 60 cycle primary. The outputs with local regulators are +5Vat 10A, -5Vat 1A, ± 12V at 1A.

$79

00

UNIVERSAL 4K X 8 MEMORY BOARD KIT

$74

This memoryboard kit can be used with most microcomputers.kq Some of the outstanding features are:

32-2102-1 static RAM's, 16 address lines, 8 data lines in, 8 datalines out, all buffered. On board decoding for any 4 of 64 pages.

4K F8 Basic $25.00

2522 STATIC SHIFT RE6 S2.75

INTEL 8030 CPU S24 50

2518-HEX 32 BIT SR $5.00

2102-1 1024 BT RAM S1.S0

5280-4 K DYNAMIC RAM $10.50

5202A UV PROM S10.50

MM5203 UV PROM S10.50

1 702A UV PROM $10.75

5204-4K PROM $18.95

MINIATURE MULTI-TURN TRIM POTS100. 500, 2K, 10K, 100K, 200K

S.75 o;ich 3/S2.00

MULTI-TURN TRIM POTS Sinner io Bourns3010 style 3/16"x5/8"x1 -1/4"; 50. 100,IK, 10K,50K ohms

Sl.5Qe.-i 3/S4.00

LIGHT ACTIVATED SCR's

TO-18.200V 1 A S 1.75

TRANSISTOR SPECIALS

2N3585 NPN Si TO-66 S .95

2N3772 NPN Si TO-3 S 1.60

2N4908 PNP Si TO-3 S 1.00

2N6056 NPN S. TO-3 Darlington . S 1.70

2N5086 PNP Si TO-92 4/$ 1.00

2N4893 PNP TO-66 S .60

2N404 PNPGE TO-5 5/$ 1.00

7N3919 NPN Si TO-3 RF $1.50

MPSA 13 NPN Si TO-92 3/S 1.00

2N3767 NPN Si TO-66 S .70

2N2222 NPN Si TO-18 5/$ 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

2N5296 NPN Si TO-220 S .50

2N6109 PNPSi TO-220 S .55

2N3638 PNP Si TO-5 5/S 1 .00

2N65I 7 NPN TO-92 Si 3/S 1.00

C/MOS {DIODE CLAMPED)

74C02 22 4015- 95 4035-1.10

74C10- .22 4016- .40 4042- .78

4001- .22 4017-1.05 4047-2.00

4002- .22 4018^ 1.00 4049- .404006-1.20 4019- .22 4050- .404007- .22 4022- .95 4066- .80

4009- .42 4027- .40 4071 - .22

4010- .42 4028- .88 4076- .70

4011- .22 4029-1.10 4081- .22

4012- .22 4030- .22 4520- 1.15

4013- .40

LED READOUTS

FND 500-.5" C.C SI.75

HP 7740.3" C.C $1.40

MAN-7-.3" C.A $1.25

NS33-3 dlg.arrey SI.35

DL 74/ S2.50

Send 25i fot our catalog featuring

Transistors and Rectifiers

145 Hampshire St., Cambridge, Mass.

Terms: FOB Cambridge, Mass.Send Check or Money Order.Include Poala~ ",-3

Order 15.00, C

PRINTED CIRCUIT BOARD

BOARD 1/16" thick, unetched

S.50 ca 5/S2.20

VECTOR BOARD 1" SPACING

4.5" x 6" SHEET $1.25

2N 3820 P FET S ,45

2N 5457 N FET $ .45

TIS43 UJT S .35

ER 900 TRIGGER DIODES 4/S1.00

2N 6028 PROG. UJT S .65

TANTULUM CAPACITORS

7 WATT LD-65 LASER DIODE IR $S35

VERIPAX PC BOARDThis bov'rd is a 1/16" sinyle sided paper epoxyboard, 4%"xSW DRILLED and ETCHEDwhich will hold up to 21 single 14 pin IC'sor 8, 16, or LSI DIP IC's with busses for

power supply connector S4.00

MV 5691 YELLOW-GREEN

BIPOLAR LED $1.25

FP 100 PHOTO TRANS S .50

RED, YELLOW, GREEN OR

AMBER LARGE LED's . . . eo. $ .20

14 PIN DIP SOCKETS S .25

16 PIN DIP SOCKETS $ .28

MOLEX PINS 100/SI .00

1000/$7.50

8 PIN MINI DIP SOCKETS S .25

10 WATT ZENERS 3.9, 4,7, 5.6, 8.2, 12, 15,

18, 22, 100, 150 or 200V . . . ea. S .601 WATT ZENERS 4.7, 5.6, 10, 12. 15.

18 OR 22V ea. S .25

Silicon Power Rectifiers

PRV

foo"

20~0~400"

1A

"oe"

J37

.09

3A.14.20.25

12A.30.35.50

50 A.801,151.40

125A3.704.256.50

600

.11

.30

.70

1.80

8.50

800

15

.35

.90

2.30

10.50

SILICON SOLAR CELLS

2%" diameter.4V at 500 ma $5.00 ea.. 6/S27.50

REGULATED MODULARPOWER SUPPLIES

t - 15 VDC AT lOOrna

115VAC INPUT S27.95

5VDC AT 1 A, 1 1 5VAC INPUT . . . S24.95

12 VDC AT .5 AMP S24.95

IN 4148 (IN914) 15/Sl.iHI

47UF 35V 5/S1.00J58UF 35V 5/SI.0O1UF 35V 5/S1.002.2UF 20V 5/S1.003.3UF 35V 4/S1.00

6.8UF 35V 3/S 1.0022UF 35V $ 4033UF 35V $ 4030UF 6V 5/S1 00100UF 35V S .50150UF 15V S .50

M7001 ALARM CLOCK CHIP.

S6.00

NATIONAL MOS DEVICES I

MM1402- 1.75MM1403- 1.75MMH404- 1.75MM5013- 2.50MM5016-2.50MM5017- 2.70MM5055- 2.25

MMr-.nr.fi - 2.25

MM5057- 2.25'MM5058- 2.7EMM5060- 2.75MM5061 - 2.50MM5555- 4.7*MM5556- 4.7!MM5210- 1.9!MM5260- 1.7E

#30 WIREWRAP WIRESINGLESTRAND100 FT.SI .40

7400-7401-7402-7403-7404-7405-7406-7407-7408-7409-7410-741 1 -7412-7413-7414-7416-7417-7420-7425-7426-7427-7430-7432-7437-7438-7440-7441-

TTLIC

7442-

7445-7446-7447-7448-7450-7472-7473-74 74-7475-74 76-7480-7483-7485-7486-7489-7490-7491-7492-7493-7494-7495-7496-74107-741 21 -74123-

SERIES

.52 74125-.70 74126-.70 74151-70 74153-.70 74154-74155-74157-74161-74164-74165-74173-74174-74175-74177-74180

.30

1,85

74181-74190-74191-74192-74193-74194-74195-741967532475491-75492-

2.101.201.20

MI'N

ATURE DIP

SW

TCHES

CTS-206-4

Four

SPST

wit

hes

in one

minid

p pack

ifje.

SI. 75

CTS-206-8

E,chi

SPST

wil

ches

n a 16

pin DIT

pack

AY-5-1013-A30K setJpBT,, piir./si-r., uni-versal UART S6.95

ALCU MINIATURE TOGGLE SWITCHESMTA 106 SPDT $1.20

SOLID STATE SALES

P.O. BOX 74B

SOMERVILLE, MASS. 02143 TEL. (617) 547-4005

200

.95

1.25

2.00

400

1.15

1.50

3.00

600

1.35

1.75

4.00

SANKEN AUDIO POWER AMPS

Si 1010 G 10 WATTS S 7.50

Si 1050 G

50 WATTS. .

. S27.95

Full Wave Bridges

__ 25A

I

CCD 110 LINEAR 256 XI BIT SELFSCANNING CHARGED COUPLED

DEVICE S99.00

CCD 201 - 100 x 100 CHARGECOUPLED DEVICE 5135.00

LINEAR CIRCUITS „

LM307 Op. Amp S .30

LM309K 5V 1A REGULATOR .. S .95

723 - 40 + 40VV RFGULATOR . . S .50

301 /748-Hi Per. Op. Amp S .31

320T 5,12.15, Ol 24V NEG REG . . $1.25

709C Op. Amp S 31

741Aor 741COP AMP S .31

710 COMPARATOR S .35

CA 3047 Hi Pef. Op. Amp $ .95

340T5, 6, 8, 12, 15, 18,24V POS

REG. TO-220 SI.10

101 OPER. AMP. HI PERFORM. . . S 75

LM 308 Oper. Amp., Low Power . . S .95

747 - DUAL 741 $ .65

556 - DUALTIMER SI.00

537 - PRECISION OP. AMP SI 70

LM 3900 - QUAD OP. AMP .... S .49

LM 324 QUAD 741 S1.50

560 - PHASE LOCK LOOP .... S2 00

561 - PHASE LOCK LOOP .... S2 00

565 - PHASE LOCK LOOP . . . . ' SI 25

566 FUNCTION GEN SI .65

567-TONE DECODER Si.50

LM 1310N FM STEREO DEMOD. . $2 75

8038 IC VOLTAGE CONT. OSC. . S3.90

LM 370 - AGC SQUELCH AMP. . Si 15

555-2/js -2 HR.TIMER $ 45

553 OUAD TIMER $2.50

FCD 810 OPTO-ISQLATOR .... S .80

1458 DUAL OP AMP S .60

LM 380 2W AUDIO AMP $ .95

LM 377 - 2W Stereo Audio Amp. . S2.50

LM 381 - STEREO PREAMP. ... SI.50

LM 382 - DUAL AUDIO PREAMP S1.50

LM311 HI PER. COMPARATOR S .90

LM319 - Du;il Hi Speed Comp. .. S1.25

LM 339 - QUAD COMPARATOR S1.50

WE SHIP OVER 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

i keybc

TOUCH TONE GENERATOR BYMOSTEK. MK5086N produces thedual-tone multi-frequency telephonedialing signals as used in TT phonesand auto patches. Uses inexpensivecrystal, 1 resistor and 1 capacitor.Both tones are internally mixed andbuffered to o single output - simple !Two additional output switches concontrol timers, transmitter, mute re-ceiver, enable audio amp, etc. Usesird. Comes in 16 pin plastic DIP.

our Choi

MK5086N '.SB. 95... Crystal for MK5086N SI .90

Specs for MK5086N 80c;.

Kit of parts Including etched and drilled P.C. board and one

of our Chomerics keyboards SI 9.95

MC14412 UNIVERSAL MODEM CHIPMC14412 contains o complete FSK modulator and de-mod-ulator compatible with foreign and USA communications.10-600 BPS)FEATURES:

.On chip crystal oscillator

. Echo suppressor disable tone generator

.Originate and answer modes

.Simplex, half-duplex.

and full duplex

operat

on

.On chip sine wave

.Modem self test mode

.Selectable data rates:

000

200300600

.Single supply

VDD=4.75 to 15VDC

-

FL suffix

VDD=4 75 to 6 VDC

-

VL suffix

TYPICAL APPLICATIONS:

.Stand alone - low speed moderns

.Built - in low speed modems

.Remote terminals, accoustic couplers

MC14412FL S28.99

MC14412VL $21.74

6 pages of data .60

Crystal for the above S4.95

MCI4411 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 ore multiplied under external control to IX,8X, 16X or 64X initial value. Operates from single >5

volt supply. MC14411 , , SI 1.98

4 pages of data 40

Crysta I for the above S4. 95

REMOTE CONTROL TRANSMITTER. MC14422P is o 22channel ultra-sonic remote control transmitter I.C. CMOSuses little power and only a few external passive compon-ents. Applications include TV receivers, security controls,toys, industrial controls and locks. 16 pin DIP plastic pkg,MCH422P with specs $11.10

PRECISION REFERENCE AMP

LH0070-1H provides a precise 10.0 volts for use in BCD Ato D converters or meter calibrators. Typical initial accuracyis .3% (t .03V1 . Comes in TO-5 can.

LH0070-1H with specs $5.35

SUPER ACCURATE VERSION

LH0070-2H has iO.05% max error at 25" C. w/spec $10.55

SOLID STATE RELAY.

Teledyne P/N 601-1010GG is a heavy duty solid state

relay module operating up to 10A at up to 250VDC .

All brand new modules!! Still in original factory package.

1010QQ -- 56.88

3 DECADE (BCD) COUNTER CHIPMC14553BCP consists of 3 negative edge triggeredsynchronous counters, 3 quad latches and self scanmultiplexed , TTL compatible outputs.

MC14553BCP S8.72

Spec sheets S. 60

LM1889 TV VIDEO MODULATOR

The LM1889 is designed to interface audio, color differenceand luminance signals to the antenna terminals of a TV re-ceiver. It consists of a sound subcarrier oscillator, chromasubcarrler oscillator, quadrature chroma modulators, and R.Foscillators and modulators for two low-VHF channels.The LM1889 allows video information from VTR's, games,test equipment, or similar sources to be displayed on blackand white or color TV receivers.LM1889 with 16 pages of data $9.95, data only, SI .00

m\tms

S<»YS

OOPS!! We're going to have six more minutes

of winter in Glendale - but don't let those projectsget grounded and hog your time and money. Letus help brighten your day with quality parts fromTRI-TEK

CMOS UART

IM6402CPL is a CMOS UART for interfacing CPUs to serialdata channel. Only lOmW power. Operates from 4 to MVand up to 200K BAUD!! Comes in 40 pin DIP package..Data word length of 5, 6, 7, or 8 bit with even or oddparity, or parity check can be inhibited. Here's the wayto speed up your terminal and reduce the power require-ments. IM6402CPL w/specs.. . . $ 11 .55 Specs only,

INCANDESCENT LIGHT DELAY.

Small module designed to fit directly behind your wallswitch-plate. Turn switch off and "LITE-OFF" keepsight at half power for 15 seconds before turning off,allowing you to get from where you are to where youain't with out breaking a leg. Up to 500W! !LITE-OFF Model 100 w/instructions $2.15

MIDGET PUSH BUTTON SWITCH (CHEAP)Flat shaped plastic body push button DPST-NO momentaryswitch. 1/4" bushing mount. Body only l/4"Xl/2" X3/4" long. CPB-0201 P 3/51.00, 10/53.00

*3

COSMACM !!!!

The RCA CDP1802 COSMAC microprocessor is a one-chip

CMOS 8-bit register-oriented CPU. It is suitable for use

in a wide range of stored-pragram computer systems of

either a special or general purpose nature.

The 1802 includes all of the circuits required for fetching,

interpreting and executing instructions stored in standard

types of memories. It has extensive I/O control features to

facilitate system design.

CMOS structure and on-board clock oscillator minimize

the power supply size and package count.

.Static CMOS circuitry

.High noise immunity

.TTL compatibility

.Single phase clock or on-chip oscillator

.8 hit parallel organization with bidirectional busses

.Built-in program load

.DMA to 65 K Bytes

.91 instructions

, MO RE- -

CDP1802CD CPU S34.95

CD PI 852CD PI A SI 5.45

DATA BOOKS BY NATIONAL SEMICONDUCTOR

DIGITAL. Covers TTL, DTL, Tri-State, etc S3.95

LINEAR. Covers amplifiers, pre-amps, op-amps, .. S3.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, functional blocks $3VOLTAGE 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 opto-couplers 53.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

C LI PL DTE'"

COMBINATION LENS AND

MOUNTING DEVICE FOR

T l3/« LED

REQUIRESNO TOOLS

SNA? CLIPLITE

INSERT LED

AVAILABLE IN TRANSPARENT RED GREEN AMBER CLEAR & YELLOWCLIPLITE

Combination lens and mounting device for T 1-3/4 LED,The CLIPLITE combines the benefits of the present LEDdisplay panel mounting methods and eliminates their def-iciencies. Requires no special tools and installs in 6 secondsin .250" hole. Simple two-step installation. Just snapCLIPLITE, insert LED. Available in transparent red, green,amber, clear and yellow. Specify colors, any mix.5/S1.00, 10/S1.90, 20/S3.50, 50/S7.50, 100/S13.50

NEW NATIONAL BOOK—LINEAR APPLICATIONS VOL IITakes up where Vol I left you—All the latest linear devices.Along with Vol I you have a great 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 has

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 $13.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 43R0 Avenue.qlendile, Arizona 85301

phone 60-2 - 931 6949

We pay surface shipping on all orders over $10 US, $15 foreign in US funds.Please add extra for first class or air mail. Excess will be refunded. Ordersunder $10, add $1 handling. Please add 50c; insurance. Master charge andBank America cards welcome, ($20 minimuml. Telephone orders may be placed10AM to 5:30PM daily, Mon thru Fri. Call 602-931-452B. Check readerservice card or send stamp for our latest flyers packed with new and surpluselectronic components.

JSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSBSS3S9S88

COMPUTER

WAREHOUSE

STORE

DEPT. B, 581) COMMONWEALTH AVE.BOSTON, MA 02215 617/261-2701

SSSSSSSS9SSSSSSSSSSSSSSSSS

SYKES COMPUCORDE

«PV50 + s 35 SHIPPING

GREAT CASSETTE RECORDER

OFFERS 3-6M BIT STORAGE

TRANSFER RATE OF 500 CH/SEC

AT 1000 BPI. READ WRITE SPEED 5 IPS RECORDING

BIT SERIAL. BIPHASE ENCODED WITH VARIABLE8 BLOCK LENGTHS UNDER PROGRAM CONTROLI

TECHTRAN 4100 $595

TAPE CASSETTE DRIVE + $35 SHIPPING U.S.VERSATILITY PLUS IS YOURS WITH THIS ORIGINALCOST $3200 DRIVE. JUST PLUG IT IN RS232. CANRUN DIRECTLY FROM TERMINAL INDEPENDENT OF CPU.FULL EDIT CAPABILITY, ALL FUNCTIONS UNDER SOFT-WARE CONTROL. LIMITED QUANTITY AVAILABLE

TALLY T132

7 x 8 DOT MATRIX IMPACT

PRINTER HAS A SINGLE

LINE DYNAMIC MEMORY AND

A UNIVERSAL INTERFACE TO

ACCEPT PARALLEL DATA, FORMS

TO lit-7/8 IN. SIDE, SIMPLE PRINTING MECHANISM

USES 132 SOLENOID HAMMERS AND TWO STEPPER MOTORS

FOR 100 LPM, 132 COLUMNS, 64 CHARACTERS

$950

+ SHIPPING 150 lb.

1

-DAY SHIPMENT ' F*°H °URKITS, MPUs, CPUs ST0CK'

LSI ADH 3 KIT $875

UPPER/LOWER CASE OPTION 10010 KEY NUMERIC PAD 150

IHSAI..8080A KIT 5SL0T..S59S8080A KIT 22 SLOT.. 6514K MEMORY KIT 139

VIKING 100 PIN CONNECTOR..HEAVY DUTY...

S 5

SERIAL I/O KIT 125

PROM 4-512 KIT 165

UCRI-1 KIT 59

CABLE A KIT 18

SWTPC..68OO KIT $399

HPA..MPC.HPE. .MPM..MPP. ,MPS..MPMb.

...145. .. 40

... 15

...80

...35

...35.14.50

HPB. .MPD..MPF..HPMx.MPL.

40

35

30

AS35

MPAb.14.50MP8b... 30

MPCb.HPSb.MPLb ea. 9.50CONN. SETS MPU/MEM 2.50CONN. SETS INTERFC 24KBA.. .. 5 GT6I... 99AC30 AUDIO INTRFC 79.50

PP40. .. . PRINTER 250

CT 1024 TERM. KIT..275

CTI 175 KBD 49.95

CTP...15.50 CTS..3995

CTCA 15-50

ALL SWTPC UNITS ARE KITS

KIM I..6502 $245

KIM 2..4K 179

KIM 3..8K 289

MANUALS PACKAGE 15

ICON FLOPPIES

FF36-1 $1195

FF36-2 1895

360-58 300

S171 H 250

shipping on kits

under $100 $5

over $100 $10

WRITE FOR OURCOMPLETECATALOGCovering kitsused equipmentand our wide

range ofavailable books $ 1. 00 j

VISIT OUR STORE9 TO 9 WEEKDAYS9 TO 6 SATURDAY

$150

COMPONENTS FOR

SYSTEMS

FEATURES OF THE*MONTH*

GREEN PHOSPHORVIDEO MONITOR

TOP QUALITY CRTS FROM A MAJOR VENDOR ...NOT JUST A REWORKED TV SET. STANDARD IVP TO P COMPOSITE VIDEO INPUT, 10 MHz BAND 25 SHIPPINGWIDTH, RASTER SCAN 12 x 12 x 13 IN., WITH POWER SUPPLYVIDEO AMPLIFIER, DRIVING CIRCUITRY, VENTILATION MUFFINFANS, 7 x 9 IN. HORIZONTAL VIEWING AREA UP TO 2k LINESX 80 CHAR., ANTIGLARE i IN. ETCHED GRADIENT DENSITY FACEPLATE. P39 GREEN PHOSPHOR FOR BETTER VIEWING EASE, ON/OFFBRIGHTNESS CONTROLS, 115VAC, 60 W. (SPOT SIZE .015 IN.NOMINAL) ... TRULY A COMMERCIAL UNIT BUILT TO WORK INA DEMANDING ENVIRONMENT. WE'VE RUN THREE OF THESE OFFOUR SwTPC TERMINAL KIT AT ONCE FOR DEMONSTRATIONS.**•****•

^^^^^^^ALLanASR33isand MORE!

WE'VE SOLD OUT 3 TIMES ON THIS HEAVY-DUTYTELETYPEWRITER. THIS SHIPMENT IN GREATCONDITION OFFERS RS232 INTERFACE, QUIETOPERATION, 10 CPS BUILT-IN PAPER TAPEPRINTER/PUNCH, ELECTRIC TYPEWRITER KEY-BOARD WITH ADDITIONAL 10 KEY NUMERIC PAD,YOUR CHOICE OF FRICTION OR SPROCKET FEED,LIGHTED PLATEN AREA FOR EASY READING ,STANDARD PAPER AND TAPE, SUPPORTED BYOLIVETTI, IMPACT PRINTER GOES UP TO 6165 lbCOPIES, VERTICAL SPACING ADJUSTABLE.

DATAPOINT3300-200*

THERMAL PRINTER

SURPRISING LITTLE THERMAL PRINTER USES WELl

RESPECTED AND FIELD PROVEN NCR EMT-1-AE

PARALLEL PRINTER WITH ADDITIONAL CIRCUIT

BOARDS TO PROVIDE SERIAL RS232 INTERFACE,

PRINTS UP TO 30 CPS. 110 VAC PS. USES WIDELY $475

AVAILABLE NCR PAPER, 96 CHAR. ASCII, 80 COL., + $ 25

SOLID STATE SH|PP|NG U-S

+ SHIPPING

*

CRT COMPATIBLE 5 x 7 DOT MATRIX,WITH LESS THAN 25 MOVING PARTS.

DATAPOINT CASSETTE

3300-300 $195 + $25shipping us.

SMALL STYLIZED CASSETTE RECORDER SERVES

AS ADJUNCT BETWEEN CRT TERHINAL AND CPU. ON LINE STORAGE,OFF LINE MESSAGE PREPARATION, 450,000 CHAR. PER CASSETTE,NO POWER SUPPLY, I/O UP TO 2400 BPS.

$250+7HP

75

KLEINSCHMIDT311

THIS 30 CHAR/SEC DRUM PRINTER SITS IN A SOUND-PROOFENCLOSURE, 64 CHAR., PARALLEL INPUT, 80 CHAR/LINE,ORIGINAL PRICE $2100 WITH ENCLOSURE

DIGITRONICS D507

PAPER TAPE TRANSMITTERBEAUTIFUL 5' ENCLOSED CABINETPROVIDES TREMENDOUS SUPPLY OF GOODIES INCLUDING DIGITRONICS2500 PHOTOELECTRIC PAPER TAPE READER, HEAVY DUTY POWER SUPPLY,3 MUFFIN FANS, POWER CONTROL PANEL, CIRCUIT BOARDS, RELAYS,CABLES. SOME HAVE PAPER TAPE HANDLERS, ALL ON CASTERS

$95

SHIPPING 400 lb.

DATAPOINT SERVO PRINTER IN DESK CONSOLE

$395+ SHIPPING 285 lb.

IDEAL UNIT TO BUILD A SYSTEM AROUND.BOTH UN I VAC AND SINGER BUILT THESEPRINTER MECHANISMS WHICH OPERATE AT30 CPS FROM A ROTATING WHEEL. 65 CHAR.USES STANDARD PRINTOUT OR TYPEWRITERPAPER. PINWHEEL IS INTERCHANGEABLE.

UN I VAC 0769-06 PRINTER MECHANISM ONLY...$295INCLUDES MOTOR/PRINT WHEEL + SHIPPING 751b ■

WHEN ORDERING BY MAIL PLEASE WRITE CLEARLY, ADD SHIPPING COSTS, AND BE SURETO WRITE YOUR ADDRESS DOWN. SHIPMENT IN ONE DAY ON KIT ITEMS SUBJECT TOAVAILABILITY AND CHECK CLEARANCE ... BANK CHECK ORDERS HANDLED WITH PRIORITY.

The prokoboardfrom BIM...

FR0MPR0K0 \-»IMSAI8080

$14

2/$25

4/$44

the prokoelectronics shoppe

439 marsh st.

y. Calif, residents 6%. All orders postpaid

he us stoMm. ggn iuis Obispo, ca. 93401

805/544-5441

The Proko Paper Tape Reader: A manually operated reader, reads 9-level paper tape intoany parallel input port. Just supply a light source, grab the tape and pull!

KITS42 Assemb. $55

Thinly disguised affiliates of KO Electronics and Surplus, S.L.O., CA 93401

EDGE CONNcCTORS

80 Pin WW .125" used $1.50 ea. 10/12.50

86 Pin Soldertail .156" $3.75 ea. 10/$32

100 Pin spec WW or Soldertail both fit IMSAI or SSM

Mother Bd $5.00 ea 10/$44

82S0682S0782S1182S1282S1782S2382S123

2.00 82S126

2.00 82S129

2.00 82S130

2.00 82S131

2.00 74S206

2.50 74S412

3.00 74S301

3.50 74C200

3.50 8573

3.95 8574

3.95 8575

2.10 8576

4.00 8577

3.50 8578

5.504.505.504.504.503.504.00

74007401740274037404740574067407740874097410741174137414741674177420742374257426742774307432743774387440744174427443744474457446744774487450745174537454746074707472

.16 7473

16 7474

.21 7475

16 7476

.18 7480

.24 7483

20 7485

.29 7486

.25 7489

.25 7490

.18 7491

30 7492

45 7493

70 7494

35 7495

35 7496

.20 74100

.37 74107

30 74109

30 74121

.35 74122

25 74123

30 74125

27 74126

27 74132

15 74141

85 74145

60 74147

75 74148

75 74150

75 74151

80 74153

70 74154

.80 74155

25 74156

25 74157

25 74160

20 74161

.20 74162

.45 74163.40

.35

.3550305070

.90

40

2.00

.45755050

.8075

.90

1.00

40

.9040

.5070

.60

60

1 00

1 15

1 152.35

2 001 00

80901.001.001 001 001.251 001.501 00

74164

74165

74166

74170

74173

74174

74175

74176

74177

74179

74180

74181

74182

74184

74185

74190

74191

74192

74193

74194

74195

74196

74197

74198

74199

74200

74251

74284

74285

74365

74367

74368

MH0025

MH0026

95H90

2102-1

32

64

1488

1489

1.101.101.25

2.10

1 50

1.95

.95

90

90

90

.95

2.50

.95

1.95

2.20

1.15

1 25

.90

.90

1 25

.75

1 25

90

1.75

1.75

4.95

1.75

4 95

4 95

90

.75

90

250

2.95

9.95

1 65

50.00

9600

1.50

1.50

KITS BY CYBERCOM A DIVISION OF SOLID STATE MUSIC

11

|4Kx8 Static Memories

64 x 16 VIDEO BOARD Altair

plug compatible

display II

|MB-1 MK-8 board,

1 usee 2102 or

eq. PC Board...

.. $22 j

32 x 16 or

64 X 16

switch selectable

. Composite and II

■ Kit $83

parallel video ports,

jpper and

ower case with software.||||

jMB-2Altair

'and wait eye*Kit (91L02A

|MB-4 Imprc

8800 or IMSAI compatible Switched address

Kit

$179.95 II

.5 usee).... $129.95

Misc

>ved MB-2 designed for

3K "piggy-

back"

Altair compatable m

other board. Roo

ti for 15 connec-JIH

| without cutt

ng traces. PC Board

. . $30

tors 11" x

Vh" (w/o connectors)

$45

| Kit 4K .5

jsec..

.$129.95 Kit 8K

5 usee...

.$199

With 15 connectors

$111.OC

j MB-3 1702A's Eroms, Altair 8800 & Imsai 8080 co

mpat-

Altair extender board (w/o connectors) S9

J ible Switched add

ress & wait

cycles

2K may be ex-

With w/w connector

$13.50

'panded to

4K. Kit less Proms25

S6£

2K Kit..

..$145

■4K Kit $;

MODEMS

$85.00 II

| MB-6 8Kx8 Switched address and wait assignments.| Memory protection is switchable for 256, 512, 1K, 2K, 4K|and 8K. 91L02A .5 usee rams. Altair 8800 & IMSAI[compatible. Kit $250 Assembled & tested $290

1702A" EROM

1702A' 2 usee

'programming send hex list

AY5-1013UART

2513 prime spec, upper or

S10.008.005.00 II$6.95

Ij/O Boards

lj70-2 1/0 for 8800, 2 ports, committed■other pads for EROMS UART. etc.J Kit $47.50 PC Board only

pads for 3

$25

more,

lowercase8080A prime CPU8212primelatch buffer8224 prime clock gen8228 prime sys controller

11.00 III

25.00•1 00 III5.00 l||8.90 II

r

| MM1402A

1.90

2501B

$1.25

1101

1.25

74LS00

.40

74L00

.25

74L78

90 II

■ MM1404A

■ MM5006AJ MM5013

' MM5015A1 MM5016

1.90

2503V

2.00

1103

1.25

74LS01

.50

74L01

.25

74L85

1.40 in

1.50

2504V

2.00

2101

4.50

74LS02

.40

74L02

.25

74L86

.75

2.50

2505K

2.00

2102-1

1.65

74LS03

.40

74L03

.25

74L89

3.50

1.50

2507V

1.25

2111-1

4.50

74LS04

.45

74L04

.30

74L90

1.50

1.50

2509A

2.00

2112

4.50

74LS05

.45

74L05

.40

74L91

1 50

1 MM5017

1.90

2510A

2.00

2602

1.60

74LS10

.40

74L06

.30

74L93

1.70

1 MM5025

2.50

2511A

2.80

4002-1

7.50

74LS11

.50

74L08

.40

74L95

1.70

I MM5026

2.50

2517V

1.25

4002-2

7.50

74LS12

.55

74L09

.40

74L98

2.80 IN

| MM5027

2.80

2518B

1.50

MM526C

1.00

74LS20

.40

74L10

.30

74L123

1.50 HI

| MM5053

■ MM 5054

■ MM 5055j MM5056[ MM5057' MM5058• MM5314

1.50

2519B

2.80

MM526

1.00

74LS22

.45

74L20

.35

74L154

2.00 l||

1.90

2521V

1.50

MM526;

1.00

74LS27

.45

74L26

.40

74L164

2.50

1.90

2522V

2.00

7489

2.00

74LS30

.40

74L30

.40

74L165

2.50

2.80

2525V

2.80

74200

4.95

74LS42

1.50

74L32

.45

74L192

1.25

2 80

2527V

2.80

74SB9

3 50

74LS55

.40

74L42

.50

74L193

1.20 HI

3.50

2528V

2.80

74C89

3.50

74LS73

.65

74L51

.35

MC4044

2.25 HI

4.00

2529V

2. BO

74L89

3.50

74LS74

.65

74L54

.45

N8264

3.50 II

1 MM5316

4.50

2532B

2.80

8223

2.50

74LS76

.65

74L55

.35

N8263

3.50

1 MM 5320

5.95

2533V

2.80

F4702

17.00

74LS151

1.55

74L71

.30

N8826

2.50

1 MM5554

1.90

91L02APC

2.55

(baud rate gen

) 74LS174

2.20

74L73

.55

DM8131

2.50 l||

1 MM5555

2.50

32 each

2.40

2.4576 MHZ

74LS175

1.95

74L74

.55

8T37

2.50

| MM5556

2.50

64 each

2.25

Crystal

8.95

74LS192

2.85

74L75 1.20

8T10

2.00 HI

90 Day Guarantee on SSM Products. Kits MB-2. MB-3(2K OR 4K). MB-4, MB-6, 10-2 video board and motherboard with connectors may be combined for a discount of10% in quantities of 10 or more. This supercedes the flierof 13 Sept. 1976.

MIKOS

419 Portofino Dr.San Carlos, Ca. 94070

Please send for xistor, IC & kit list

For large orders please send money order or cash- jiers check to avoid delays in waiting lor checks toclear.

Check or money order only. Calif, resident 6% tax.All orders postpaid in U.S. All devices tested prior to isale. Money back 30 day guarantee. Sorry we cannot accept returned IC's that have been soldered to.$10 min. order. Prices subject to change without |notice.

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 4V4, 6, 754, or 9 volts DC at 100 MA. Outputcord with plug, 6 ft long.

No. SP-143C $4.50 3/$12

REGULATED LOGIC SUPPLY

New from Data Control, 115 volt ACinput, output of 20 volts DC 5 ampspositive and 20 volts DC 15 amps nega-tive. (2 voltages) Highly regulated andfiltered with "pot" adjust 10% higher orlower. Fully enclosed in steelcase.Shipping wgt. 75 lbs. $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

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. $12.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

$ .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

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

sfie&lvnci

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

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.

fteadep Sewice

'Reader service inquiries not solicited.Correspond directly with company.

Reader

Reader

Reader

Service

Service

Service

Number

Number

Number

*

Action Audio Electronics 146

78

Digital Group 21

40

*

Advanced Data Sciences 143

180

Digital Systems 117

147

75

Advanced Microcomputer Prods 148

47

Electronic Control Tech 113

64

168

Aldelco 145

157

Electronic Warehouse 147

63

173

Anderson Jacobson 145

56

E&L Instruments 99

181

142

Associated Electronics 119

102

Eltron 151

*

149

Bits & Bytes 143

9

Godbout 149

194

4

BITS Inc 129, 130, 131

*

lasis 56, 57, 59

*

*

BYTE's Binders 126

12

IMSAI 49

24

190

Byte Shop 143

60

INTERFACE AGE 120

26

126

Cheap Inc 143

15

James 152, 153

#

127

Comptek 141

130

JGM Development Labs 143

27

207

Comptek 145

*

Kentucky Fried Computers 103

169

140

Computalker 141

90

Logical Services 143

59

161

Computer Corner 145

191

Lombardi Electronics 146

29

143

Computer Enterprises 141

124

McGraw-Hill 15

30

«

Computer Faire 110

18

Meshna 159

99

83

Computer Mart NY, LI 113

182

MicroGRAPHICS 113

164

156

Computer Place 145

188

Microware 121

96

141

Computer Room 109

119

Midwestern Sci Inst 47

121

208

Computer Shack 101

57

Mikos 158

82

138

Computer Warehouse 157

112

MiniTerm 69

136

87

Creative Computing 125

*

MITSCIV, 17

192

41

Cromemco 1

71

mpi 121

32

178

Cybercom 53

171

Mullen 111

195

189

Cybersystems 67

22

National Multiplex 71

193

185

DAJEN Electronics 113

187

National Semiconductor 22,23

137

97

Data Domain 146

155

North Star Computers 31

35

Ohio Scientific Inst 65

OK Tool 85

Oliver Audio Eng 113

Parasitic Eng 115

Penninsula Marketing 77

PerCom Data 80

Peripheral Vision 87

Polymorphic Systems 75

Processor Technology 5, 6, 7, 8, 9, 10

Scelbi 33

Scientific Research 11

SD Sales 154

Smoke Signal Broadcasting 117

Solid State Sales 155

Southwest Tech CM

Sphere CI 11

STM 43

Sunny Computer Stores 145

Synchro-Sound Enterprises 45

Tarbell Electronics 111

Technical Design Labs 79

Technical Systems Consul 119

Tec Mar 127

TriTek 156

United Tech Publications 55

US Robotics 113

Vector Graphic 60, 61, 103

Windjammer 150

6CMG-

BYTE's Ongoing Monitor Box

On BOMB Card,

Article No. ARTICLE

1 Nico: Sweet Auto Line

2 Rampil-Breimeir: Digital Cassette Subsystem, Part 1

3 Welles: Build This Economy Floppy Disk Interface

4 Bain: Color Displays on Black and White TV Sets

5 Murphy: Serial Storage Media

6 Douds: Audible Interrupts for Humans

7 Burhans: Cub 54, Where Are You? (Mini-O)

8 Lorn ax: Impossible Dream Cassette Interface

9 Baker: Microprocessor Update: The F8 System

10 Rathkey: A MIKBUG Roadmap . . .

11 Hoegerl: Calculator Keyboard Input

12 Tomalesky: TTL Loading Considerations

13 Howerton: Add Some BARC to Your 8080

PAGE

12

24

34

44

50

54

62

82

88

96

104

122

132

BOMBS Away for Nelson, Buschbach

The results of the November BOMBanalysis were as follows: First prize of $100goes to Peter Nelson for his article "Buildthe Beer Budget Graphics Interface," secondprize of $50 goes to Thomas R Buschbachfor his article "Add This Graphics Display toYour System." This prize is a monthlyaward based on your votes as a reader. Fillout the handy card between pages 128 and129 with your evaluation of this month'sarticles and you'll help determine who winsFebruary's contest as will be announced inthe May BYTE. For this issue, the Ides ofMarch is the cutoff date: All FebruaryBOMB evaluations must be received at ouroffice by March 15 1977."

160

QKK-% ^eat

The NEW Sphere DOS-a Real Tiger!!

When we decided to redesign our already successful Disk Operating System, we asked ourselves howwe would want it done. Based on a year of solid experience building, shipping and supporting a goodDOS, we decided we would want our new DOS to be able to:

provide a complete Editor usually found only with minis. offer a full-blown Assembler (not just a small mnemonic set)handle variable-length files

recognize and handle both stream and block-oriented filesdeal with multiple devices of several typesoperate on both our 300 and 500 systems.

So, we designed the all-new Sphere DOS, and we have a lot of good reasons for calling it a tiger! It isa truly remarkable DOS . . . worth checking into. Once you do, we think you'll find it easy to makethe decision to

PUT THIS TIGER ON YOUR TEAM!!!

LANGUAGE

STORAGE REQUIREMENTOPERATING ENVIRONMENTCONVENIENCE PROGRAMSPROVIDED

PERIPHERALS SUPPORTEDSTRUCTURE

DOS SPECIFICATIONS

Motorola M6800 Assembler

5K Bytes

Sphere 300 and 500 Series Systems

Editor, Debugger, Assembler, Set of File-manipulating Commands (macro-like operations)

CRT, Keyboard, Floppy Disk Drive, TTYUniform, interrupt-driven I/O

Personal and commercial computerproduct distributorships available.For information call 801-292-8466.

J CORPORATION

940 North 400 East

North Salt Lake, Utah 84054 • (801) 292-8466

Now you can buy an

Altair*8800b or an Altair

680b computer right off

the shelf. Altair plug-in

boards, peripherals,

software and manuals

are also available.

Check the list below

for the MITS

dealer in your area.

off the

RETAIL COMPUTER STORE. INCTim & Susanne Broom410 NE 72nd SISEATTLE. WA 98115(206) 524-4101

COMPUTER KITS (S. F area)Pete Roberts1044 University AveBERKELEY, CA 947101415) 845-5300

THE COMPUTER STORE

(Arrowhead Computer Co )

Dick Heiser

820 Broadway

SANTA MONICA, CA 90401

(213) 451-0713

GATEWAY ELECTRONICS. INC.George Mensik OF COLORADO

2839 W 44th AveDENVER, CO 80211(303) 458-5444

COMPUTER SHACKPete Conner3120 San Mateo NEALBUQUERQUE, NM 87110(505)883-8282, 883-8283

GLOBAL ENGINEERING CO5416 South YaleTULSA, OKLA, 74145(918)452-2567

COMPUTER PRODUCTS UNLIMITED

Harry & Margaret Mohrmann

4216 West 12th

LITTLE ROCK. AR 72204

(501) 666-2839

GATEWAY ELECTRONICS, INCHarry & Margaret MohrmannLou Elkins, Stuart Bartfield8123-25 Page Blvd.ST. LOUIS, MO 63130(314)427 6116

CHICAGO COMPUTER STORE

Lou Van Eperen

517 Talcott Rd

PARK RIDGE, IL 60068

(312) 823-2388

THE COMPUTER ROOM3938 Beau D'Rue DriveEagan, MN 55122Dale Hagert, Bob Raemer(612)452-2567

BYTE'TRONICSJohn & Stan MorrowSuite 1031600 Hayes StNASHVILLE, TN 37203(615)329-1979

THE COMPUTER SYSTEMCENTERJim Dunion, Rich Stafford,Steven Mann, Ron Roberts3330 Piedmont RoadATLANTA, GA 30305(404) 231-1691

THE COMPUTER STORE, INC,Sid Halhgan120 Cambridge St.BURLINGTON, MA 01803(617) 272-8770Jelf Feldman, Service Dept.

THE COMPUTER STORE OF NEW

Bob Arning

55 West 39th St

NEW YORK, NEW YORK 10018

(212) 221-1404

THE COMPUTER STORE, INC. (Hartford area)George & Susan Gilpatnck63 South Main StreetWINDSOR LOCKS. CT 06096(203)627-0188

MICROSYSTEMS (Washington, DC)Gloria & Russell Banks6605A Backlick Rd.SPRINGFIELD. VA 22150(703) 569-1110

THE COMPUTER STOREStephen Payne

1114 Charleston National PlazaCHARLESTON, W VA. 25301(304) 343-4607

MARSH DATA SYSTEMSDon MarshORK 5405 B Southern Comfort BlvdTAMPA, FL 33614(813) 886-9890

THE COMPUTER STORE OFPeter Blond ANN ARE

310 East Washington StreetANN ARBOR, Ml 48104(313)995-7616

OR

m

DDQCjls: