Byte Magazine Volume 04 Number 05 - Computer Generated Maps

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)

Tk WmM/a Miwt fmM 8-Bit MuMflHrtpufaJi

Featuring the World's Most Powerful 8-Bit MPU -The Motorola MC-6809

Welcome to a whole new world of microcomputing.Here at last is a microcomputer with all the speed andpower that you have wished for. The MC6809 is anexciting new concept in microprocessors that fills thegap between 8-and 16-bit machines. It provides thepower of 16-bit instructions with the economy of8-bit architecture.

The MC6809 has more addressing modes than anyother 8-bit processor. It has powerful 16-bit instruc-tions, and a highly efficient internal architecture with16-bit data paths. It is easily the most powerful, mostsoftware efficient, and the fastest 8-bit general pur-pose microprocessor ever.

6809 PROGRAMMING MODEL

I A |B

I

Accumulators

D

| X—Index Register

I

| Y —Index Register

> Pointer Registers

| U—User Stack Pol

Iter

| S—Hardware Stack Pointer |

| PC

I

Program Counter

| DP

Direct Page Register

Ice

Condition Code Register

The greatest impact of the Motorola MC6809undoubtedly will be software related. Ten pow-erful addressing modes with 24 indexing sub-modes, 16-bit instructions and the consistentinstruction set stimulate the use of modern pro-gramming techniques. Such as structured pro-gramming, position independent code, re-entrancy, recursion and multitasking.

A memory management system with extendedaddressing designed into the bus system controlsup to 256K bytes of RAM memory. The dyna-mic memory allocation system, which is part ofthe multitasking DOS, allocates availablememory in as small as 4K blocks.

The MC6809 system is the only 8-bit processordesigned for the efficient handling of high-levellanguages. New addressing modes, a consistantinstruction set and easy data manipulation onstacks allows the efficient execution of block-structured high-level code as generated by acompiler like PASCAL.

MP-09 Processor Card $ 195.00

68/09 Computer w/48K $1,500.00

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216 (512) 344-0241

Circle 350 on inquiry card.

/

\

Z-2D

Model Z-2Up to 512K of RAM/ROM

Model Z-2D

One or two disks

Up to S12K of RAM/ROM

Up to 184K of disk

System Two

Dual disk

Up to 512K of RAM/ROM

Up to 184K of disk

Fill your computer needs

with the industry's

most professional microcomputers

#1 IN RELIABILITY

When you choose Cromemco youget not only the industry's finestmicrocomputers but also the indus-try's widest microcomputer selec-tion.

What's more, you get a computerfrom the manufacturer that compu-ter dealers rate #1 in product re-liability.*

Your range of choice includesour advanced System Three withup to four 8" disk drives. Or choosefrom the System Two and Z-2D with5" drives. Then for ROM-based workthere's the Z2. Each of these com-puters further offers up to Vz mega-byte of RAM (or ROM).

We say these are the industry'smost professional microcomputersbecause they have outstanding fea-tures like these:

• Z-80A microprocessor — oper-ates at 250 nanosecond cycletime — nearly twice the speed ofmost others.

Up to 512 kilobytes of RAM and1 megabyte of disk storage

"Rated in The 1977 Computer StoreSurvey by Image Resources, WestlakeVillage, CA.

/ m

\

ii

UN

.-

(J CnOMSMB

System Three

Two to four disksUp to 512K of RAM/ROMUp to 1 megabyte of disk

30-amp power supply — morethan adequate for your mostdemanding application.21 card slots to allow for un-paralleled system expansion us-ing industry-standard S-100cards.

S-100 bus — don't overlook howimportant this is. It has the in-dustry's widest support and Cro-memco has professionally imple-mented it in a fully-shieldeddesign.

Q

• Cromemco card support of morethan a dozen circuit cards forprocess control, business sys-tems, and data acquisition in-cluding cards for A-D and D-Aconversion, for interfacing daisy-wheel or dot-matrix printers, evena card for programming PROMs.

• The industry's most professionalsoftware support, includingCOBOL, FORTRAN IV, RATFOR,16K Disk-Extended BASIC, Z-80Macro Assembler, CromemcoMulti-User BASIC, Data BaseManagement System, Word Proc-essing System — and more com-ing.

• Rugged, professional all-metalconstruction for rack (or benchor floor cabinet) mounting. Cabi-nets available.

FOR TODAY AND TOMORROW

Cromemco computers will meetyour needs now and in the futurebecause of their unquestioned tech-nical leadership, professionalismand enormous expandability.

See them today at your dealer.

There's no substitute for gettingthe best.

Circle 80 on inquiry card.

Cromemco

incorporatedSpecialists in computers and peripherals280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

BYTE May 1979

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

BUSINESS — EDUCATION — ENGINEERING — MANUFACTURING

We are pleased to announce the firstprofessional time-sharing system in themicrocomputer field.

Naturally, it's from Cromemco.

This new multi-user system will doall of the tasks you usually associate withmuch more expensive time-sharing com-puters. Yet it's priced at an almost un-believably low figure.

Look at these features:

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

• You can have a large system RAMmemory that's expandable to V2megabyte using the Bank Selectfeature

• Each user has an independent bankof RAM

• You can have floppy disk storage ofup to 1 megabyte

• You have confidentiality betweenmost stations

• And, make no mistake, the systemis fast and powerful. You'll want totry its fast execution time yourself.

PROGRAMMERS LOVE OUR BASIC

This new system is based on Cro-memco's well-known System ThreeComputer and our new Multi-UserBASIC software package.

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

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

• You get many unusual and helpfulcommands that simplify programsand execution — commands such asPROTECT, LIST VARIABLES, NOLIST,and many more.

Q CromemcoincorporatedMicrocomputer Systems280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415)964-7400

• No round-off error in financial work(because our BASIC uses binary-coded decimal rather than binaryoperation). And we've still been ableto make it FAST.

• Terminals and printer are interrupt-driven — no additional overheaduntil key is pressed.

• The conveniences in this Multi-UserBASIC make it much easier to writeyour own application software.

• A line editor simplifies changes.BENCHMARK IT—NOW

In the final analysis, the thing to dois see this beautiful new system at yourdealer. See its rugged professional qual-ity. Evaluate it. Benchmark it for speedwith your own routine (you'll be agree-ably surprised, we guarantee you).

Find out, too, about Cromemco's rep-utation for quality and engineering.

Look into it now because you canhave the capabilities of a fully compu-terized operation much quicker and formuch less than you ever thought.

BYTE May 1979

Circle 80 on inquiry card.

i lie feeus

II May 1979

A MMn'nar G

Foreground

10

14

32

52

130

50

104

110

150

164

176

196218233238

COMPUTER GENERATED MAPS, Part 1, by William D Johnston

Maps help make the arrangement of numeric data meaningful

REPRESENTING THREE-DIMENSIONAL OBJECTS IN YOUR COMPUTER, by Richard BlumUsing a digitizer to input graphical data

COMMUNICATE ON A LIGHT BEAM, by Steve Ciarcia

Transmit digital information over a beam of light

SINGLE CHIP VIDEO CONTROLLER, by Bob Haas

Controlling a video display with a single integrated circuit

THE INTEL 8275 CRT CONTROLLER, by Chris Tennant

This controller device eases video display design

page 10

Background

THE SUPERBOARD II, A Surprising Single Board Computer From OSI, by Chris MorganThis single board computer can be expanded to a full-scale system

6800 DISASSEMBLER, by Bob Lentz

Decipher your machine code programs

SPACEWAR IN TINY BASIC, Navigating Through Integer BASIC, by David J BeardA space navigation application

SMART MEMORY, Part 2, by Randy C Smith

A black box approach to associative memory design

SIMULTANEOUS INPUT AND OUTPUT FOR YOUR 8080, by W D MaurerA roundabout method of I/O

QUEUING THEORY, THE SCIENCE OF WAIT CONTROL, Part 2: System Types, by Len GorneyLooking at realistic situations

TRIGONOMETRY IN TWO EASY BLACK BOXES, by John A Ball

Calculate trigonometric functions using arithmetic operations

TIC-TAC-TOE: A PROGRAMMING EXERCISE, by Delmer D HinrichsHow to approach a programming task

THE HOBBY UNWRAP, by Ralph Stirling

How to unwrap what was previously wrapped

A MINI-DISASSEMBLER FOR THE 2650, by Edward R Teja and Gary GonnellaA disassembler can save countless headaches

AIDS FOR HAND ASSEMBLING PROGRAMS, by Erich A PleiflerA personal routine helps increase accuracy

page 14

Nucleus

6 Editorial: Don't Forget the Hardware..

8 Letters

30,210 Technical Forum

117 BYTE News

124 Event Queue

128 Nybbles: TMS-9900 Monitor

174,268 BYTE's Bits

182 Desktop Wonder: Digits

204 Clubs and Newsletters

page 130

205 BYTE's Bug

206 Languages Forum

209 Machine Language Puzzler: An Added Attraction

220 Programming Quickies

226 Book Reviews

249 What's New?

286 Unclassified Ads

288 BOMB

288 Reader Service

.ii.

Cover Art: BENEATH THE GRID, by Robert Tinney.

BYTE is published monthly by BYTE Publications Inc, 70 Main St, Peterborough NH 03458. Address all mail except subscriptions to above address: phone (603) 924-7217. Addresssubscriptions, change of address, USPS Form 3579, and fulfillment questions to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class postage paid at Peter-borough NH 03458 and at additional mailing offices—USPS Publication No. 102410 (ISSN 0360-5280). Subscriptions are $18 for one year, $32 for two years, and $46 for three years inthe USA and its possessions. In Canada and Mexico, $20 for one year, $36 for two years, $52 for three years. $32 for one year air delivery to Europe. $32 surface delivery elsewhere.Air delivery to selected areas at additional rates upon request. Single copy price is $2 in the USA and Its possessions, $2.40 in Canada and Mexico, $3.50 in Europe, and $4elsewhere. Foreign subscriptions and sales should be remitted in United States funds drawn on a US bank. Printed In United States of America.

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

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

Subscription WATS Line: (800) 258-5485

Office hours: Mon-Thur 8:30 AM - 4:30 PMFriday 8:30 AM - Noon

May 1979 © BYTE Publications Inc

In This BYTE

This issue's theme is provided byan article on various cartographicprojections by William Johnston.To emphasize this theme of map-ping terrain with computer models,Robert Tinney's painting "BeneathThe Grid" shows a landscape witha superimposed grid of lumines-cent white lines as might be pro-jected in the mind's eye by an ap-propriate graphic output device.

Microcomputers allow the quick and easyperformance of operations that take an ex-temely long time to perform by hand. Oneof these operations is drawing maps fromaccumulated tables of data. WilliamJohnston describes the simple programsused to produce Computer Generated Maps.

page 10

A data tablet is a graphical input devicethat enables you to enter visual images intoyour computer. Richard Blum has a programfor Representing Three-Dimensional Ob-jects in Your Computer, page 14

If you need to communicate digital infor-mation from one point to another throughan electrically noisy environment, then op-tical communications may be one solution.If you are going to communicate over longdistances or at high speeds, then a laser maybe the best choice for a light source. Thismonth Steve Ciarcia explains how to Com-municate on a Light Beam. page 32

The people interested in just wetting theirfeet in the field of microcomputers areusually not looking for a very big system. Asingle board computer is often a good firstexperience. The Ohio Scientific SuperboardII is one single board computer which hassome interesting capabilities. Find out whatChris Morgan thinks about The SuperboardII. page 50

Flexible video displays have been madepossible by special display controllers. BobHaas describes four devices from differentmanufacturers and tells how he used aspecific video display controller in a suc-cessful construction project. You can learnmore about these single integrated circuitmarvels in Single Chip Video Controller.

page 52

If you do not have documentation for amachine language program, it is almost im-possible to determine how the programworks. Bob Lentz describes a 6800Disassembler that he wrote for his SwTPC6800 system. page 104

Possession of an integer arithmeticlanguage does not preclude the writing ofintricate programs involving trigonometricfunctions. David j Beard describes how heused an integer BASIC to develop naviga-tion routines for Spacewar in Tiny BASIC.

page 770

The most prevalent form of output from apersonal computer seems to be a videodisplay. Therefore, the serious hobbyistshould be aware of the number of differentvideo display controllers that are available.Chris Tennant looked at the Intel 8275 videodisplay controller and liked what he saw. Inhis article he describes a video interface us-ing The Intel 8275 CRT Controller, page 130

In part 2 of Smart Memory, Randy Smithpresents a series of black box diagrams todescribe the workings of an associativememory. page 750

The "wraparound" queue can save youtime during input and output operations onyour computer. W D Maurer explains howthe queue works and how to implement it on8080 computer systems in Simultaneous In-put and Output for Your 8080. page 164

Last month Len Gorney described how toimplement a queue on a computer. Thismonth he talks about real life queues andhow the science of Queuing Theory can beapplied. page 176

The CORDIC algorithm is a venerable andefficient method for calculating trigono-metric functions. John A Ball gives somepractical suggestions to experimenters inTrigonometry in Two Easy Black Boxes. Findout how you can streamline your numbercrunching with CORDIC. page 184

Good programming techniques are vitalin personal computing as well as in comput-ing in general. Author Delmer D Hinrichs,using tic-tac-toe as an example, describesthe strategies of the game programmer inTic-Tac-Toe: A Programming Exercise.

page 796

Ralph Stirling describes how to turn amotorized wire wrap tool into a motorizedunwrapping tool in The Hobby Unwrap.

page 278

For owners of Signetics 2650 based com-puter systems, Edward R Teja and GaryGonnella have provided a useful dis-assembler program to help make sense ofthose hexadecimal machine language list-ings. Read A Mini-Disassembler for the2650. page 233

If your microcomputer lacks an assem-bler or high level language, it will benecessary to hand assemble all of your pro-grams. To do this quickly and accurately itis a good idea to develop a consistentroutine. Erich Pfeiffer describes a usefultechnique in Aids for Hand Assembling Pro-grams, page 238

Publishers

Production Editors

Circulation Manager

Comptroller

Drafting

Virginia Londoner

David William Hayward

Gregory Spltzfaden

Kevin Maguire

Techart Associates

Gordon R Williamson

Ann Graves

Assistants

Assistant

Typography

Goodway Graphics

Vice-President Periodicals

Faith Hanson

Pamela R Heaslip

Mary E Fluhr

John E Hayes

Art Director

Agnes E Perry

National Advertising

Photography

Assistant

Ellen Bingham

Melanie Bertoni

Ed Crabtree

JIM E Calllhan

Production Art

Barbara Ellis

Sales Representatives:

Printing

Editorial Director

Carl T Helmers Jr

Wal Chlu LIChristine DixonNancy EstleTypographersCheryl A HurdStephen KruseDebe L Wheeler

Dealer Sales

Glnnle F BoudrieauAnne M Baldwin

Hajar Associates Inc

East

280 Hillside Av

The George Banta CompanyEditorial Associate

Executive EditorChristopher P MorganEditor In Chief

Receptionist

Jacqueline Earnshaw

Needham Heights MA 02194

(617)444-3946

521 Filth Av

Daniel FylstraAssociates

Walter Banks

Raymond G A Cote

New York NY 10017

Steve Ciarcia

Senior Editor

Traffic Department

(212) 682-5844

David Fylstra

Blaise W Liffick

Rick Fuette

Midwest

Ira Rampil

Editor

Advertising Director

Patricia E Burgess

Mark Sandagata

664 N Michigan Av

Distributors:

Richard Shuford, N4ANG

Suite 1010

Eastern Canada

Editorial Assistant

Assistant

Book Division:

Chicago IL 60611

RS-232 Distribution Company

Gale Brllton

Ruth M Walsh

Publisher

(312) 337-8008

186 Queen St W, Suite 232

New Products Editor

Adv/Prod Coordinator

Edmond C Kelly Jr

West, Southwest

Toronto ONTARIO M5V-1Z1

Clubs, Newsletters

Thomas Harvey

Production Editors

1000 Elwell Ct

Western Canada

Laura A Hanson

Advertising Billing

Patricia Curran

Suite 227

Kltronic Ltd

Drafting

Noreen Bardsley

William Hurlin

Palo Alio CA 94303

26236 26th Av RR 5

Jon Swanson

Don Bardsley

E S Associates

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

Aldergrove BC VOX 1A0

Mav 1979 © BYTE Publications Inc

Circle 219 on inquiry card.

ScreenspHtter Video Display System

From "Dumb" To "Smart"

ScreenspHtter is a video module designed formany levels of use—from the "dumb terminal"configuration to a page-oriented documentprocessor to a multiple-process display sys-tem.

As a terminal, ScreenspHtter offers up to 4Qlines of SB characters, more than twice thenumber of visible characters than othersystems in its price range.

As a document processor, it gives you singlekeystroke control over character1, word, line,and page level alterations such as insertion ordeletion. And a powerful new unit of area—thewindow—allows you to move blocks of textaround or redimension paragraphs dynamical-ly; again, all at the touch of a finger. Indention,justification and pagination are standard andtransportability is guaranteed with our CP/M""" interface.

As a multiple-process display system, Screen-splitter places the raw power of the WindowPackage at your control. You can create anynumber of "subscreens", each a logicallydistinct I/O region with its own cursor, scrollcontrol, reverse video, optional frame andmany, many more features. Plotting and bar-charting are a snap and you can even defineyour own character set to personalize yourdisplay.

""""CP/M is a trademark of Digital Research, Inc.

Professionally Designed

There was only one design goal in the develop-ment of the ScreenspHtter: to provide a largerock-solid display that could accommodatediverse applications without sacrificing exten-sibility or compatibility. We not-so-modestly saythat we have outdone ourselves. Just look atthese features and compare them with othervideo systems available today:

• 40 lines of SB characters per line.

• 1 ,D94 words of onboard intelligence thatmanages your displayed data.

• a selection of esthetically designed fonts,including APL.multiple subscreen control.a page-oriented document processor thatboasts dynamic redimensioning and move-ment of text blocks,ultra-fast display control.

a character generator that is changeableand offers intrinsically winking charactersthat can be set to wink by scan line.4,096 words of static display memory,interfaces for CP/M and North Star DOS.a dedicated crystal for guaranteed displaystability.

composite and direct-drive video output.S-1 OO compatibility,full buffering on all buss lines.1 40 page user's manual,immediate availability.

Micro Diversions, Inc. 8455-D Tyco Road Vienna, Virginia 221 80 (703) 827-0888

Look for

Shugart drives

in personal

computer systems

made by these

companies

Editorial

Altos Computer Systems

2378-B Walsh AvenueSanta Clara. CA 95050

Apple Computer

10260 Bandley Dr.Cupertino, CA 95014

Digital Microsystems Inc.

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

Imsai Mfg. Corporation

14860 Wicks Blvd.

San Leandro, CA 94577

Industrial Micro Systems

633 West Katella. Suite LOrange, CA 92667

North Star Computer

2547 9th StreetBerkeley, CA 94710

Percom Data

318 BarnesGarland, TX 75042

Polymorphic Systems

460 Ward Dr.

Santa Barbara, CA 93111

Problem Solver Systems

20834 Lassen StreetChatsworth, CA 91311

Processor Applications Limited

2801 E. Valley View AvenueWest Covina, CA 91792

SD Sales

3401 W. KingsleyGarland, TX 75040

Smoke Signal Broadcasting

6304 YuccaHollywood, CA 90028

Technico Inc.

9130 Red Branch RoadColumbia. MD 21045

Texas Electronic Instruments

5636 EtheridgeHouston. TX 77087

Thinker Toys

1201 10th StreetBerkeley, CA 94710

Vista Computer Company

2807 Oregon CourtTorrance, CA 90503

Shugart

6 May 1979 © BYTE Publications In

Don't Forget the Hardware...

by Carl Helmers

With respect to manufactured products for the small computeruser, we live in a time of plenty. There are at least 20 to 30 differentmanufactured or kit versions of complete personal computer systems,many featuring numerous models and sets of options. The hardware ofthese computers is complete, and in the better brands comes with am-ple documentation of the system's internals. The systems softwarecomes in various stages of completeness and usefulness as a softwaredevelopment tool to satisfy particular personal computer users' needs.

Many readers, like myself, may tend to hesitate at the thought of ex-periments which involve building hardware to couple with appropriatesoftware, in order to accomplish an application. But what is themystery of peripheral hardware?

In this era of integrated circuits, standard logic levels, and a wealthof solid state parts, even the most hesitant software addict can, with asmall amount of effort, create custom hardware for personal applica-tions by the simple act of wiring. I come from a software orientedbackground, and use programs in place of dedicated hardwarewherever possible. But when I want to use my program to turn thelamps on and off in my hous.e, in response to voice inputs, 1"somehow" have to make my computer talk to 110 VAC 60 Hz. Thereis no way that my software can switch several amperes without someassistance.

One alternative means to accomplish this goal is to purchase one ofseveral fairly elaborate AC wiring control interfaces which are comingon the market. But, if you want to learn about hardware and thesimplicity of interfacing, you can make a simple evening's project ofwiring several optically isolated solid state relays to a parallel outputport for your computer. The ease of interfacing is phenomenal.

I recently purchased several solid-state relays (see photo 1) from a localelectronics parts distributor. This hybridrelay takes a standard TTL (transistor-transistor logic) signal of 5 V as its input,the same kind of a signal which is sup-plied by any typical computer's TTLoutput port lines. It is optically isolated,so there is no direct electrical connec-tion to the computer. Short of droppinga screwdriver across the 110 VAC lines,there is no chance of errant 110 VACentering the back side of your computer.Text continued on page 123

Photo 7. At $12.80 (quantity one) from an electronics distributor, op-tically isolated solid-state relays like this open up a whole world ofpractical personal computing experiments around the home.

"My 8 to 5 minifloppy™nowworks flights and weekends!'

"I own a fast-growing business and before Ibought my computer system I put in a lot of latehours keeping up with my accounting andinventory control. Now the computer does mynumber crunching quickly, so I have time afterhours to have some fun with the system. My sonand I started out playing Star Trek on the system,and now we're learning to play chess.

"When I was shopping around for my system,the guys in the computer stores demonstrated allthe unique features of the minifloppy. I've got toadmit that at first I didn't really understand all thetechnical details. But now that I use the systemevery day, I really appreciate the minifloppy's fastrandom access and data transfer. I like thereliability, too.

"I'm glad I went with Shugart drives. Look,when you lay out your own money for a system,you want dependable performance and goodvalue. Do what I did. Ask for the system with theminifloppy."

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

=3® Shugart Associates

435 Oakmead Parkway, Sunnyvale, California 94086

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

TM minifloppy is a registered trademark of Shugart Associates

BYTE May 1979

Letters

KUDOS FOR ITHACA

I have recently had the pleasure ofdoing business with a company whichdeserves recognition. I ordered a 16 Kbyte expansion kit from Ithaca Audioand installed it in my TRS-80 expansioninterface box. Over several months Idiscovered that most of the time itdidn't work. I also discovered that thiswas a design problem with the RadioShack expansion interface, not thememory.

Radio Shack was not helpful. Afterall, I had installed additional memorynot purchased through Radio Shack.I called Ithaca Audio, expecting asimilar reaction. On the contrary!They knew about the various problemswith the interface expansion box andoffered the following free aid:

• a replacement set of eight NECmemories which require less fre-quent refresh signals.

• Should this fail, I would sendthem my expansion interface boxand both sets of memory. Theywould return the interface inworking order.

• If the new memory did work, Iwould then return the originalset.

The NEC memory worked fine. Allproblems were solved. Now I know thatwhen Ithaca Audio guarantees that theirupgrade kit will work, they mean it.

Al Baker

2327 S Westminster St

Wheaton IL 60187

COMMENTS ON COMPUTERASSISTED INSTRUCTION

I appreciated the articles by Davidson,Gerhold, and Kheriaty (November 1978BYTE) and by Gerhold (December 1978BYTE) relating to computer assistedinstruction (CAI) on microcomputers.The discussion on what constitutes goodand bad CAI courseware was helpful,and the description of PILOT softwarethey are using was also informative.I am pleased to learn of work being donein the area of CAI on microcomputers,for my experience suggests it can be avery useful teaching tool.

One concern I have is that the micro-computer system described in thesearticles does not include the capabilityto prepare courseware on the small com-puter system. The approach taken bythe authors to prepare and test course-ware on a larger computer system, andthen to use that courseware with micro-computers, has merit for their situation

where the larger machine is readily avail-able. However, many persons do nothave access to such systems. Moreover,course objectives change rather fre-quently and individual teachers willprefer to present materials differently. Itseems to me the small computer systemshould permit the teachers to write, test,and edit the courseware without beingdependent on a large computer. Thismight possibly generate low qualitycourseware, but I feel many teacherscould make good courseware who wouldnot do so if a large (and probably lessaccessible) computer were required.People with experience in CAI could beof great assistance by publishing guide-lines for writing good courseware alongwith methods of determining its quality.

Professor Gerhold presents a strongcase for the use of PILOT instead ofother languages for CAI; however, goodcourseware can be prepared using BASICor other languages if that is all that isavailable to a particular user. I am usingNorth Star BASIC and a Horizon IIcomputer with 32 K bytes of program-mable memory for computer aidedinstruction in soil physics at OklahomaState University. Three BASIC programswere developed here to enter and editcourseware, process the courseware andinteract with students and store theirresponses, and analyze student responses.The system is capable of performingcomplex matches of the kind describedby Mr Gerhold (December 1978 BYTE,page 125) in one to five seconds, as wellas jumping to specific parts of the course-ware depending upon the student'sresponses to previous questions. More-over it is very easy to create and editcourseware once the teacher has plannedthe material to be presented.

I hope to see more articles in BYTErelating to computer aided instructionon microcomputers. I would appreciatearticles on software (such as PILOT),software and hardware required for pre-paring good courseware, methods ofassessing the quality of courseware, andlow cost video terminals with specialfeatures needed in instruction such asgraphics, subscripts, and superscripts.

Asst Prof David L Nofziger

Oklahoma State University

Stillwater OK 74074

PASCAL COSTS ADD UP

I would like to respond to BYTEscomment on "Pascal Critique and aComment," by J O'Loughlin (December1978 BYTE, page 179). I feel that theUCSD Pascal system is not an affordableimplementation of Pascal. Although thesoftware costs "only" $200, you need56 K bytes of programmable memory touse it productively ($800), plus 8 inchfloppy disk ($1000), and a terminal withcursor control ($1000). Add this to a$1000 mainframe and this "affordable"system costs $4000. Compare this to a$600 TRS-80! Sure, Pascal is more read-able than BASIC, but there are other con-Text continued on page 223

ComputerLand

Huntsville, AL

(205) 539-1200

Phoenix, AZ

(602) 956-5727

Little Rock, AR

(501) 224-4508

Belmont, CA

(415) 595-4232

Dublin, CA

(415) 828-8090

El Cerrito, CA

(415) 233-5010

Hey ward, CA

(415) 538-8080

Lawndals, CA

(213) 371-7144

Los Altos, CA

(415) 941-8154

Los Angeles, CA

(213) 776-8080

Marin, CA

Call Directory Information

Pasadene, CA

(213)449-3205

Saddleback Valley, CA

(714) 770-0131

San Bernardino, CA

(714) 886-6838

San Diego, CA

(714) 560-9912

San Diego East, CA

(714) 464-5656

San Francisco, CA

(415)546-1592

San Jose, CA

(4081 253-8080

Santa Maria, CA

(805)928-1919

Santa Rosa, CA

(707) 528-1775

Thousand Oaks, CA

(805) 495-3554

Tustin, CA

(714) 544-0542

Walnut Creek, CA

(415) 935-6502

Colorado Springs, CO

(303) 574-4150

Denver, CO

(303) 759-4685

Fairfield, CT

(203) 255-9252

Newark, DE

(302) 738-9656

Boca Raton, FL

(305)368-1122

Ft. Lauderdale, FL

(305) 566-0776

Jacksonville, FL

(904) 731-2471

Atlanta, GA

(404) 953-0406

Honolulu, HI

(808) 521-8002

Arlington Heights, IL

(312) 255-6488

Downers Grove, IL

(312) 964-7762

Mundelein, IL

(312)949-1300

Niles, IL

(312)967-1714

Oak Lawn, IL

(312)422-8080

Peoria, IL

(309) 688-6252

Overland Park, KS

(913) 492-8882

Louisville, KY

(502) 425-8308

Rockville, MD

(301) 948-7676

Grand Rapids, Ml

(616) 942-2931

Southfield, Ml

(313) 356-8111

Bloomington, MN

(612) 884-1474

Springfield, MO

(417) 883-7085

Nashua, NH

(603) 889-5238

Cherry Hill, NJ

(609) 795-5900

Bergen County, NJ

(201) 845-9303

Morristown, NJ

(201) 539-4077

Buffalo, NY

(716) 836-6511

Ithaca, NY

(607) 277-4888

Nassau County, NY

(516) 742-2262

Charlotte, NC

(704) 536-8500

Cleveland, OH

(216)461-1200

Columbus, OH

(614) 888-2215

Portland, OR

(503) 620-61 70

Harrisburg, PA

(717) 763-1116

Austin, TX

(512)452-5701

Dallas, TX

(214) 363-2223

South West Houston, TX

Houston Bay Area, TX

(713)488-8153

Salt Lake City, UT

(801) 364-4416

Tyson's Corners, VA

(703) 893-0424

Bellevue, WA

(206) 746-2070

Federal Way, WA

(206) 838-9363

Tacoma, WA

(206) 581-0388

Madison, Wl

(608) 273-2020

Milwaukee, Wl

(414) 466-8990

INTERNATIONAL

Adelaide, Australia

Call Directory Information

Brisbane, Australia

07 221 9777

Perth, Australia

Call Directory Information

Sydney, NSW Australia

29-3753

Brussels, Belgium

43 29 05

Burlington, Canada

Call Directory Information

Toronto, Canada

Call Directory Information

Winnipeg, Canada

(204) 772-9519

Manila, Philippines

58-36-66

8 May 1979 © BYTE Publications Inc

Circle 75 on inquiry card.

1

1

If the truth is that you want acomputet . . . \hen we want to be yourcomputer store.

We're ComputerLand, the #1computer store chain in the U.S. What'smeaningful about that fact is, thatComputerLand has been chosen by morepeople as having what they've beenlooking for. And, since you're looking, letus tell you what you'll find, when you visita ComputerLand store.

You'll find a product line that'scontinually evaluated to provide you withthe widest and best selection in quality,brand name microcomputers anywhere.You'll find an enthusiastic andknowledgeable staff able to interpret allthe equipment specifications, in terms ofhow they apply to you, and in a wayyou'll understand. You'll find demonstrationareas where you can get a firsthandexperience of running a computer yourself.

You'll find educational materials to giveyou a total insight into the world ofmicrocomputers.

You II find a fully equipped servicedepartment to provide whatever assistanceis required to keep your computer runningin top-notch condition. You'll find computeruser's clubs to join, where you can shareideas with people as enthusiastic asyourself. And, with each new visit, you'llfind excitement—from the people you dealwith, the equipment they offer, and fromyour own ever-growing personalinvolvement.

Enough about us. How about whatcomputers do.To attempt to describe allthe things your computer might do, wouldbe to describe your imagination. Soinstead, we'll briefly list some of the manythings for which small computers arealready being used.

In business, the advent of theversatile and compact microcomputer hasput the benefits of computing within reachof small companies. With systems startingat less than $6000, the businessman can

FOR THE HOME

ComputerLand Corp.

14400 Catalina St.

San Leandro, CA 94577

(415) 895-9363

Franchise Opportunities Worldwide.

© ComputerLand Corp., 1978

computerize things like accounting,inventory control, record keeping, wordprocessing and more. The net result is thereduction of administrative overhead andthe improvement of efficiency which allowsthe business to be managed moreeffectively.

In the home, a computer can be usedfor personal budgeting, tracking the stockmarket, evaluating investment opportunities,controlling heating to conserve energy,running security alarm systems, automatingthe garden's watering, storing recipes,designing challenging games, tutoring thechildren . . . and the list goes on.

In industry, the basic applications arein engineering development, processcontrol, and scientific and analytical work.Users of microcomputers in industryhave found them to be reliable, cost-effective tools which provide computingcapability to many who would otherwisehave to wait for time on a big computer,or work with no computer at all.

And now we come to you, which leadsus right back to where we started: If youwant a computer, then we want to beyour computer store.

Whether you want a computer for thehome, business or industry, come toComputerLand first. We'll make it easy foryou to own your first computer. Because,simply put, we really want your business.When you come right down to it, that'swhat makes us #1.

ComputerLand

WE KNOW SMALL COMPUTERS

®

ComputerLand EuropeEuropa Terrassen8 Rue Jean EnglingDommeldange, LuxembourgPhone 43 29 05 Telex 2423

BYTE May 1979 9

Computer Generated Maps, Part

i

William D Johnston1808 Pomona DrLas Cruces NM 88001

Cartography, the art of mapmaking,originated in ancient times. It came of agein 1538 when Gerhard Mercator revolution-ized the science with the introduction of thefirst modern mathematically derived mapprojections. Those projections, which bearhis name, have stood the test of four and ahalf centuries, and to this day are of greatvalue in a wide variety of applications. Manyof the world's most famous cartographerslived, worked, and made great theoreticalcontributions more than 200 years ago. Thenames of Lambert, Mollweide, Lagrange,Gauss, and others will ring familiar to eventhe casual user of maps.

While these men all had brilliant minds,they shared an extraordinary handicap: thatwhich they could conceive in theory theycould put in practice only through enormouslabor in manual computation. The construc-tion of maps through mathematical projec-tions begins with sets of geographical coordi-nates which define the boundaries of theareas to be mapped. These coordinates aremanipulated with appropriate mathematicalprocedures to convert the geographical datato map coordinates, and these final numericfigures arc used to draw the maps. In prac-tice, accurate maps require defining literallytens of thousands, and frequently hundredsof thousands — or even millions — of refer-ence points.

About the Author:

William D Johnston has worked in the fields of mathematics andcomputer systems since 1962. For the past ten years his professionalposition has been that of senior mathematician with primary responsi-bilities in computer graphics, user executives, and data reduction soft-ware for missile flight analysis. He built his first computer circuits(binary counters, ring counters, and half-adders) using vacuum tubes in1959, the same year he received his amateur radio license.

Johnston has had articles in Sky and Telescope, Radio Communica-tion, Ham Radio, QST, CQ, Ham Radio Horizons, RTTY Journal, andother technical publications.

It is no wonder that until recent times,these eminent scientists wasted years of theirlives arduously computing complex mathe-matical conversions by hand. As recently as20 years ago, it was still standard procedurein many government and private mappingagencies to create maps using nothing betterthan tables of precomputed conversionfactors, between whose entries interpolationwas required. The tables themselves hadbeen computed manually, with the assistanceof slide rules or mechanical calculators, atbest. Over the years, cartographers frequentlypointed out the need for various types ofmaps, and even developed the procedures formaking them, but the manpower simplywasn't available to execute the task.

Now, with the power of the microcom-puter, the rankest amateur can produce inminutes what might have taken Mercator orLambert many years to accomplish. Notonly can the mathematical computations becarried out on the microcomputer, but witha suitable graphics device the map itself canbe drawn in final form. The practical appli-cations are limitless. Such diverse fields aseconomic sector mapping for business,generating map overlays for direct recep-tion of weather satellite photos in thehome, aeronautical and maritime navigation,OSCAR satellite tracking for communica-tions, topographic mapping, and celestialmaps for astronomy are just a few of themany worthwhile applications.

For Space War fans, a vivid video graphicspresentation of the changing Earth as seenfrom an orbiting spacecraft can add excite-ment to the game as battles rage over Ant-arctica, then shift to high above Europe, orwherever the Captain takes his ship. A wholenew dimension can be added to such gamesas Battleship, when the combatants have theentire Pacific Ocean with all of its islandsand atolls in which to maneuver, plan tactics,and try to outwit the enemy.

Classifications of Maps

The kinds of maps that you might gener-ate on your own personal computer willdepend upon the intended use, but, broadlyspeaking, map projections fall into two gen-eral categories: mathematical projections

10 May 1979 © BYTE Publications Inc

and perspective (or geometric) projections.Mathematical projections are defined by amathematical function or procedure whichwill preserve or enhance the characteristicsmost important in the map's application.The Mercator map is a classic example of themathematical projection.

Perspective projections are very much likeperspective engineering drawings, whichcome under the category of perspectivegeometry. They are defined by, and may becreated through, geometric constructions.(Perspective projections may also be de-scribed mathematically, but the converse isnot true. Projections classified as mathemat-ical cannot be defined geometrically.) A mapmade of the visible surface of the Earth,exactly as it appears from an orbiting space-craft, is a perspective projection. The mapoutline overlays placed on weather satellitephotos are common examples of this type ofprojection.

Ideally, a map should portray the Earthas it actually is, preserving both the shapesand the relative sizes of the areas beingmapped. Distances throughout the mapshould be at a constant ratio to the actualdistances on the Earth. For navigation andradio communication purposes, it would beconvenient to have great circles on thesurface of the Earth (which define theshortest distance between any two points)to appear as straight lines on the map.

Unfortunately, since the Earth is asphere and maps are, of necessity, flat, itis impossible to incorporate all of thesefeatures into a single projection. Conse-quently, the various map projections arecompromises selected to minimize thevarious distortions while enhancing otherfeatures, depending upon the particularapplication that the map is to be used for.

Any map which preserves the relativesixes of the areas portrayed is called anequal-area projection. Any map whichpreserves the shapes of the areas portrayedis said to be a conformal projection. Inpractice, if the error is no more than oneor two percent, the map is considered tohave met the requirements. A given mapmay be either conformal or equal-area, orit may be both, or it may be neither.

Hardware

The creation of maps by computer isexceedingly simple. The only hardwarenecessary is the computer itself, alongwith some type of graphics device. Thegraphics equipment may be a video display,or an X,Y pen plotter. If you are primarilyinterested in printed maps, then obviouslya pen plotter (or a video display with hard

f START J

OBTAIN COORDINATES OFREFERENCE POINT ANDTYPE OF PROJECTIONTO BE DONE

COMPUTE NECESSARYSCALE FACTORS, BASEDON THE REFERENCE POINTAND THE MAP SIZE

GET A PAIR OFGEOGRAPHIC COORDINATESFROM THE DATA BASE

DATA BASE

RAW GEOGRAPHICCOORDINATESDEFINING AREASTO BE MAPPED

CALL APPROPRIATESUBROUTINE TO CONVERTGEOGRAPHIC COORDINATESTO MAP COORDINATES

PLOT THE CONVERTEDDATA ON THEGRAPHICS DEVICE

NO

( STOP J

Figure 7: Flowchart of thebasic procedure used togenerate any map with acomputer.

copy attachment) would be your bestchoice. If, on the other hand, your firstinterest is in fast-changing maps for games,then a good video graphics display alonewould serve quite well. Some dot matrixplotters can produce satisfactory maps,though often at a sacrifice in memory ormass storage I/O (input/output) time.

Map Generation Algorithms

One of the most appealing aspects ofmapmaking by computer is the simplicityof the software. Figure 1 shows a flowchartof the fundamental procedure used to gen-erate any map. The algorithm consists of adata base of raw geographic coordinates anda mathematical conversion procedure. Givena reference point (a point of projection or aset of mapping limits), the program loopsthrough the conversion procedure, convert-ing one pair of geographic coordinates tomap coordinates each time, until the database is exhausted. As each pair of map coor-dinates is computed, the information is usedto draw that element of the map. If the pro-

May 1979 © BYTE Publications Inc

11

gram is to have the ability to generate severaldifferent projections, each projection con-version procedure can be written as a sub-routine, and the appropriate subroutinewould then be called at that point in theloop.

Most of the common projections, as wewill see by the examples later, are definedby relatively simple mathematical equations.More often than not, the mathematical com-putations for a given conversion require nomore than two to six statements in a BASICprogram.

Data Base Requirements

As mentioned earlier, the data base con-sists of sets of geographic coordinates whichdescribe the areas to be mapped. Since themap is generated by lines connecting thepoints, they must occur frequently enoughto provide the desired resolution. Thegreater the resolution needed, the more datapoints required, and hence, the larger thestorage requirements for the data base.

Of course if you are mapping the entireworld, your data base will be much largerthan if you are mapping, say, just the UnitedStates. Furthermore, the resolution of yourgraphics device, along with the scale factorof the finished map, sets an upper limit onboth the number of data points and theangular resolution (that is, the number ofsignificant digits) needed in the data baseto secure the highest resolution possible withthat particular device. The maps that accom-pany this article were generated from a database that is far more extensive than mostpeople would ever need. It consists of ap-proximately 10,000 pairs of coordinates,sufficient to produce a satisfactory worldmap several feet (more than a meter) indiameter. The angular resolution of thelatitudes and longitudes is 0.0001 radian,which is sufficient for maps down to a scaleof 1:1,000,000 (ie: on the order of servicestation road maps).

The geographic coordinates (latitudes andlongitudes) in the data base are almost uni-versally stored in radians. The reason is thatalmost all map projections are computed bytrigonometric formulas, and there is no sensehaving to convert the data base from degreesto radians every time the program is run.

Data Base Structure

block is the same as the first pair in the sameblock, so that the line drawn on the map willfully close. (Repeating the first pair of coor-dinates in this manner is not absolutelynecessary, but it will save headaches later,at a very small cost in storage space.) Eachof these blocks is separated by a flag —normally a pair of zeroes (ie: a zero for boththe latitude and the longitude).

Islands which are so small as to requirethat only a dot be drawn for mapping pur-poses are grouped together into a singleblock. The program need know only thestarting and ending addresses of that blockso it can instruct the graphics device to drawonly dots for these locations, rather thanconnecting them with lines. Political bound-aries represented by dotted lines are handledin this same manner.

The size of your data base will determinewhether it can be stored in main memoryalong with the program, or whether it willhave to reside on a mass storage device.From the standpoint of computing effi-ciency, the ideal situation is to have it inmain memory since this eliminates a tremen-dous amount of input/output (I/O) time. Onthe other hand, if the graphics device is rela-tively slow (as are many pen plotters), thelost I/O time will be masked by the time thecomputer spends waiting on the plotter, sono advantage is gained by using memory.

In cases where fast-changing maps are tobe displayed on video display, programmablememory is definitely the best choice for lo-cating the data base. Where sufficient mainmemory isn't available for the size of thedata base in use, the data base can fre-quently be partitioned in such a manner asto permit the program to load portions of itfrom mass storage into memory at far lessfrequent intervals.

For certain special applications it haseven been found advantageous to store databases in read only memory. A number ofamateur astronomers, for example, havestored the coordinates for the entire Messiercatalogue of nonstellar objects, as well aslimited star catalogues, in read only memory.The coordinates and catalogue numbers areused for both the real time control (pointing)of the telescope, as well as for generatingstar maps on the video display. Such applica-tions of read only memory are generallylimited to cases where the data base occupiesno more than a few hundred bytes.

The organization of the data base isstraightforward. Each closed area repre-sented by a continuous solid line whichcloses on itself is stored as a block of sequen-tial coordinates (geographically sequential,that is). The last pair of coordinates in each

Compiling the Data Base

You can put together your own data base

to fit your own particular requirements, if

you have a mind to do so. Most libraries

Text continued on page 76

12 May 1979 © BYTE Publications Inc

How to buy

a personal computer.

Suddenly everyone is talking about personal computers.Are you ready for one? The best way to find out is toread Apple Computer's "Consumer Guide to PersonalComputing." It will answer your unanswered questionsand show you how useful and how much fun personalcomputers can be. And it will help you choose acomputer that meets your personal needs.

Who uses personal computers.

Thousands of people have already discovered the Apple

computer—businessmen, students, hobbyists. They're

using their Apples for financial management, complex

problem solving—and just plain fun.

You can use your Apple to

analyze the stock market,

manage your personal

finances, control your

home environment, and

to invent an unlimited

number of sound and

action video games.

That's just the beginning.

What to look for.

Once you've unlocked thepower of the personalcomputer, you'll be

using your Apple in ways you never dreamed of.That's when the capabilities of the computer you buywill really count. You don't want to be limited bythe availability of pre-programmed cartridges. You'llwant a computer, like Apple, that you can also programyourself. You don't want to settie for a black and whitedisplay. You'll want a computer, like Apple, that canturn any color tv into a dazzling array of color graphics*The more you learn about computers, the more yourimagination will demand. So you'll want a computerthat can grow with you as your skill and experiencewith computers grows. Apple's the one.

How to get one.

The quickest way isto get a free copy ofthe Consumer Guideto Personal Computing.Get yours by calling800/538-9696. Or bywriting us. Then visityour local Apple dealer.We'll give you his nameand address whenyou call.

*Apple II plugs into any standard TV usingan inexpensive modulator (not included).

'-'■ , .'J .*■,..:<. „4 .«,< ;(H ,„« i«4 fH* |

Circle 1 5 on inquiry card.

apple computer

10260 Bandley Dr.. Cupertino, CA 95014In California call (408) 996-1010.

BYTE May 1979 13

Representing

Three-Dimensional Objectsin Your Computer

Richard Blum3 Mohawk DrWestboro MA 01581

How would you like to make still pic-tures "come to life"? Or perhaps draw orphotograph objects and then animate them,on a video display? You can do it on yourpersonal computer with the help of a datatablet and the program described herein.The program takes images from a data tabletand transforms them into a three-dimensionalrepresentation inside a computer.

Once a three-dimensional representationof an object is entered into a computer'smemory, programs can be used to displaythe object in perspective on a graphicalvideo display. The object can be displayedfrom an infinite variety of perspectives. Onecan look at objects from any desired view-point and generate different viewpointsrapidly — a capability that is very usefulin animation.

Computer Animation

Animation with computers has severaladvantages over traditional animation tech-niques. First, a computer can draw fasterthan a person. In 16 millimeter films, 24frames must be displayed every second.Thus a normal animation requires thousandsof drawings. The speed of the computer cansave the time required to draw the manypictures animation demands.

Second, a computer can quickly generateperspective drawings of objects. Perspective,the reduction in size of objects as they movefurther away from the viewer, gives picturesthree-dimensional realism. Many cartoons donot use perspective drawings because of thetime required to draw them. With the aid ofcomputers, this realism in animation is easilyachieved.

Third, computers can recreate the effectsof wide angle or telescopic lenses, and cansimulate lighting from any angle.

With all these effects at their disposal,artists have the potential to create realistic

and exciting animation. To make computeranimation available to artists not familiarwith computer programming, there must betechniques which enable easy entry of visualdata into the computer. This is made pos-sible by the data tablet.

The Data Tablet

The data tablet is a graphical input devicethat enables the entry of visual images intoa computer. Just as a keyboard enters alpha-numeric characters (the elements of text), soa data tablet enters lines and points (theelements of images). Data tablets are nowcommercially available for personal com-puter systems. The Bit Pad™, manufacturedby Summagraphics, is an example of a highquality data tablet available for personalcomputers.

In using the data tablet, a pen shapedstylus is moved over a flat electromagnet-ically sensitive board. The pen's positionover the board is monitored by a controllerwhich relays information to a computer.In this way it is possible to "draw" imagesdirectly into a computer's memory.

The tablet board is 11 inches square.Each point on the board represents a valuein an X,Y coordinate system. Resolution isgood, distinguishing as many as ten pointsper millimeter. There are three modes ofoperation. Data can be sent to the computercontinuously, continuously while the stylusis touching the board, or at distinct mo-ments while the stylus is touching the board.

Even if you are not interested in anima-tion, you may still find it useful to manipu-late images using a computer. A space gameenthusiast could enter pictures of starshipsand then display them during the game. Thehomeowner needing to do some interiordecoration could enter photographs of aroom interior and furniture. Then differentfurniture arrangements could be viewed.

14 May 1979 © BYTE Publications Inc

Circle 255 on inquiry card.

DOUBLE DENSITY

___, | _„,,,_«

m.rti «!'—'

##«••«■ K • » « % X X

UD SAVIN

Now you can put your S-100 system solidly intoa full-size, single/double density, 600K bytes/sidedisk memory for just $1149 complete.

DISCUS/2D™ single/double density diskmemory from Thinker Toys™ is fully equipped, fullyassembled, and fully guaranteed to perform perfectly.

DISCUS/2D™ is a second generation diskmemory system that's compatible with the new IBMSystem 34 format. The disk drive is a full-size Shugart800R, the standard of reliability and performance indisk drives. It's delivered in a handsome cabinet withbuilt-in power supply.

The S-100 controller utilizes the amazing WesternDigital 1791 dual-density controller chip ... pluspower-on jump circuitry, 1K of RAM, 1K of ROM withbuilt-in monitor, and a hardware UART to make I/Ointerfacing a snap.

The DISCUS/2D™ system is fully integrated withinnovations by designer/inventor George Morrow.Software includes BASIC-V™ virtual disk BASIC,

DOS, and DISK-ATE™ assembler/editor. Patches forCP/M* are also included. CPIM* Microsoft DiskBASIC and FORTRAN are also available at extra cost.

DISCUS/2D™ is the really solid single/doubledensity disk system you've been waiting for. We candeliver it now for just $1149. And for just $795 apiece,you can add up to 3 additional Shugart drives to yoursystem. Both the hardware and software are readywhen vou are.

Ask your local computer store to order theDISCUS/2D™ for you. Or, if unavailable locally, writeThinker Toys,™ 5221 Central Ave., Richmond, CA94804. Or call (415) 524-2101 weekdays, 10-5 PacificTime. (FOB Berkeley. Cal. res. add tax.)

*CP/M is a trademark of Digital Research.

9

Morrow makes disk memory for

Thinker Toys

There are many other uses for a data tablet;only imagination is needed to discover them.

Preparing to Use the Picture Input Program

The program in listing 1 allows one toconstruct three-dimensional representationsof objects inside a computer. These repre-sensations will later be used to display theobjects in perspective. The description ofan object is entered using a data tablet, sothat the process resembles drawing. Foreach side of the object entered, two picturesmust be supplied. Either photographs ordrawings may be used. The procedure de-scribed below assumes that photographs areused. If drawings are used instead, they mustbe prepared according to this procedure.

The two photographs must be taken suchthat they both center on the same point of

the object (see figure 1). This point is tobecome the origin point. It is also neces-sary that the camera location for the secondshot be directly behind where the camerawas for the first shot, so that there is astraight line between the origin point andthe center of the camera in both shots. Thenthe distance between the camera's positionsshould be measured. It is not necessary toknow how far the camera was from theobject, but only to know the difference incamera position. The only other measure-ment necessary is the X,Y,Z distance be-tween the origin and one vertex on theobject.

It is also necessary that the lens' effectivefocal length does not change between thetwo photographs. This may be achieved byusing the same focus setting with a verysmall aperture, or more simply by using a

Photo 1: Two views of side view 1.

Photo 2: Two views of side view 2.

16 May 1979 © BYTE Publications Inc

>]:MI«iViliL=JiM=TE

BHHBBBH^^ j^^^^^*^^^^ BMHHI BH^^ ^^^^^^^^^^ ^p^^^^^^^^^ ■P^^H^' ■pi^^^^^^^^ ■ppHMI^^^^^^ 9

4 11 1 rM \ p

BM liMBP 1^*^W

^ fM >™

muLromru"

amis

Anewquarterlybythe staff of BYTE

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

Compiled and edited by the staff of BYTE, latest developments covered in onComputingwill include creative uses of the small computer, books for the computer user, how andwhere to buy your personal computer and numerous features concerning the fascinatingworld of the microprocessor.

Add onComputing to your library of 'must' publications. Act now, subscribe andreceive four (4) issues ft; $8.50 for one year (U.S.); Canada and Mexico: $10.00.

GUIDE TO PERSONAL dKl COMPUTING

SUBSCRIBE NOW! COMPLETE AND MAIL ATTACHED POSTAGE PAID REPLY CARD

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

TM

Listing 1: BASIC program for entering and manipulating data from a datatablet.

0010 LETX1=1

0020 REM (THIS PROGRAM ACCEPTS DATA FROM A TABLET AND TERMINAL)

0030 REM (AND CREATES THREE DIMENSIONAL MODELS OF THE OBJECTS ENTERED)

0040 REM X,Y,Z COORDINATES

0050 DIM X[100),Y[100),Z(1001

0060 REM X.Y.Z DISPLACEMENTS FROM SIDE 1'S ORIGIN

0070 DIM X9(61.Y9[6l,Z9[6l

0080 REM INITIALIZE TOTAL NUMBER OF VERTICE TO 0

0090 LET 13=0

0100 PRINT "HOW MANY SIDE VIEWS ARE TO BE ENTERED"

0110 INPUTS1

0120 REM ENTER THE POINTS FROM EACH SIDE VIEW

0130 FORS=1TOS1

0140 PRINT "PROCESSING SIDE VIEW'.S

0150 GOSUB 0230

0160 NEXTS

0170 OPEN FILEt1.1l ."RESULT"

0180 FOR 17 = 1 TO 13

0190 PRINT FILE (1I.I7.X [I7],Y II7],Z8-Z1I7)

0200 NEXT 17

0210 CLOSE FILE [ 1 ]

0220 END

0230 REM (FIND THE USERS ORIGIN)

0240 PRINT "PLACE THE STYLUS ON THE ORIGIN FOR PICTURE 1"

0250 CALL 1,01,02

0260 PRINT "PLACE THE STYLUS ON THE ORIGIN FOR PICTURE 2"

0270 CALL 1,03, 04

0280 PRINT "HOW FAR WAS CAMERA ONE FROM CAMERA TWO"

0290 INPUT L

0300 REM (FIND THE KNOWN VERTEX)

0310 PRINT "PLACE THE STYLUS ON THE KNOWN VERTEX IN PICTURE 1"

0320 CALL1.K1.K2

0330 REM (TRANSFORM DATA TO THE USERS TABLET SPACE)

0340 LETK1=K1-01

0350 LET K2=K2-02

0360 PRINT "PLACE THE STYLUS ON THE KNOWN VERTEX IN PICTURE 2"

0370 CALL1.K3, K4

0380 LET K3 = K3-03

0390 LET K4 = K4-04

0400 PRINT "ENTER THE X-Y-Z DISTANCES BETWEEN THE KNOWN VERTEX AND ORIGIN'

0410 INPUT VI,V2.V3

0420 REM (CALCULATE THE DISTANCE BETWEEN CAMERA ONE AND THE OBJECT)

0430 IF K1-K3=0 THEN GOTO 0460

0440 LETZ=(K3-LI/(K1-K3)

0450 GOTO 0500

0460 LET Z=(K4.L)/(K2-K4)

0470 REM (CALCULATE THE PERSPECTIVE TRANSFORM)

0480 LETD = Z-K2/V2

0490 GOTO 0510

0500 LETD=Z.K1/V1

0510 IF S = 1 THEN Z8 = Z

0511 PRINT "HOW MANY VERTICES ARE TO BE ENTERED?"0520 INPUT 11

0530 FOR 1 = 1 TO 11

0540 IF S -1 THEN GOTO 0570

0550 IF l>=S1 THEN GOTO 0570

0560 PRINT "VERTEX COMMON TO SIDE VIEW",1 + 1

0570 PRINT "IN PICTURE ONE POINT TO VERTEX",I

0580 CALL1.X1.Y1

0590 PRINT "IN PICTURE TWO POINT TO VERTEX",I

0600 CALL1.X2, Y2

0610 REM (CALCULATE THE X-Y COORDINATES FOR THE VERTEX)

0620 LETD1=X1-X2

0630 IF D1O0 THEN GOTO 0660

0640 LET Z [I + 13] = (Y2 • L) / (Y1 - Y2)

0650 GOTO 0670

0660 LETZ[I + I3]=(X2-L)/IX1-X2)

0670 LET X[I + I3I=Z[I + I3]-X1/D

0680 LET Y[I + I3)=Z[I + I3] -Y1/D

0690 REM IF THIS IS THE FIRST SIDE FIND COMMON VERTICE

0700 IF S>1 THEN GOTO 0790

0710 REM IF WE HAVE FOUND ALL THE COMMON VERTICE LOOP AGAIN

0720 IF l>S1 THEN GOTO 0830

0730 LET X9|I + 1]=X|I + I3]

0740 LET Y9(I + 1)=Y(I + I3]

0750 LET Z9(I + 1]=Z(I + I3!

0760 GOTO 0830

0770 REM PROCESSING A SIDE VIEW OTHER THAN SIDE ONE

0780 REM IF THIS IS FIRST VERTICE ITS A COMMON ONE

0790 IF 1 = 1 THEN GOSUB 0870

0800 LET X[I + I3]=X[I + I3]-X9[S]

0810 LET Y[l + l3l*Y[l + l3]-Y9lSl

0820 LETZ[l + l3]=Z[l + l3l-Z9[Sl

0830 NEXT I

0840 REM FIND TOTAL NUMBER OF VERTICE

0850 LET 13=13+11

0860 RETURN

0870 IF S=1 THEN GOTO 0920

0880 REM FIND THE DIFFERENCE BETWEEN SIDE ONE AND SIDE N

0890 LETX9[S]=X[I + I3]-X9[S1

0900 LET Y9[S)=Y[I + I3)-Y9[S)

0910 LETZ9[S]=Z[I + I3]-Z9[S]

0920 RETURN

See Solat all these

fine

computer

centers

AL: Birmingham: Computer Center, Inc.,

(205) 942-8567. CA: Costa Mesa: OrangeCountyComputer Center, (714) 646-0221. Los Angeles:Computers Are Fun, (213) 475-0566. Modesto:Computer Magic, (209) 527-5156. Mountain View:Digital Deli, (415) 961-2670. Walnut Creek:MicroSun Computer Center, (415) 933-6252.CO: Boulder: Byte Shop, (303) 444-6550. CT:Bethel: Technology Systems, (203) 748-6856.FL: Ft. Lauderdale: Byte Shop of Ft. Lauderdale,(305) 561-2983. Miami: Byte Shop of Miami,(305) 264-2983. Tampa: Microcomputer SystemsInc., (813) 879-4301. IL: Lombard: MidwestMicrocomputer, (312)495-9889. ID: Boise: ByteShop Computer Store, (208) 345-3811. IA:Davenport: Memory Bank. (319) 386-3330. KY:Louisville: Martronix Associates, (502) 459-0500.MD: Silver Springs: Computers Etc.,

(301) 588-3748. Towson: Computers Etc.,(301) 296-0520. MA: Waltham: Computer Power.Inc., (617) 890-4440. MO: Florissant:Computer Country, (314) 921-4434. NJ: CherryHill: Computer Emporium, (609)667-7555.Iselin: Computer Mart of New Jersey, (201)283-0600. NY: Endwell: The Computer Tree,(607) 748-1223. New York: Computer Martof New York, (212) 686-7923. White Plains: TheComputer Corner, (914) 949-3282, NC: Raleigh:Bennett-Stiles Computer, (919) 781-0003.OH: Akron: The Basic Computer Shop, (216)867-0808. OR: Beaverton: Byte Shop ComputerStore, (503) 644-2686. Portland: Byte ShopComputer Store, (503) 223-3496. PA: King ofPrussia: Computer Mart of Pennsylvania, (215)265-2580. Rl: Warwick: Computer Power, Inc.,(401)738-4477. TN: Kingsport: Microproducts& Systems, (615) 245-8081. TX: Arlington:Computer Port, (817) 469-1502. Houston:Interactive Computers, (713)772-5257. Houston:Interactive Computers, (713) 486-0291.Lubbock: Neighborhood Computer Store, (806)797-1478. Richardson: Microstore, (214)231-1096. UT: Salt Lake City: Home ComputerStore. (801) 484-6502. VA: McLean:Computer Systems Store, (703) 821-8333. WA:Bellevue: Byte Shop Computer Store, (206)746-0651. Lynnwood: Byte ShopComputerStore,

(206) 775-7436. Seattle: Byte Shop of Seattle,(206) 622-7196. Wl: Madison: The MadisonComputer Store, (608) 255-5552. Milwaukee: TheMi Iwaukee Computer Store, (414) 445-4280.DC: Washington: Georgetown ComputerEmporium, (202) 337-6545. CANADA: London,Ontario: Computer Circuit Ltd., (519)672-9370. Toronto, Ontario: Computer Mart Ltd.,(416) 484-9708. Vancouver, B.C.: BasicComputer Group Ltd.. (604) 736-7474.ARGENTINA: Buenos Aires: Basis SistemasDigitales, 393-5299. AUSTRALIA: Prospect:A.J.F. Systems & Components, Pty. Ltd.,

269 1244. Sydney: Automation Statham Pty. Ltd.,(02) 709.4144. BELGIUM: Brussels:Computerland, 02/511-34-45. COLOMBIA:Bogota: Video National, 326650. DENMARK:Copenhagen: Peter W. Holm Trading Aps,01-54366. PHILIPPINES: San Juan: IntegratedComputer Systems. Inc.. 78-40-71. SPAIN:Barcelona: Interface S.A., (93) 301 7851.UNITED KINGDOM: Essex: The Byte Shop Ltd.,01 554 2177. Huntington: Comart, Ltd.,(0480) 74356. VENEZUELA: Los Ruices,Caracas: Componentes Y Circuitos ElectronicosTTLCA, 355591.

18 Mav 1979 © BYTE Publications Inc

Circle 300 on inquiry card.

Soli The small computer that won'tfence you in.

A lot of semantic nonsense isbeing tossed around by some of themakers of so-called "personal"computers. To hear them tell it, aninvestment of a few hundreddollars will give you a computerto run your small business, dofinancial planning, analyze data inthe engineering or scientificlab — and when day is done playgames by the hour.

Well, the game part is true.The rest of the claims should betaken with a grain of salt. Onlya few personal computers have thecapacity to grow and handlemeaningful work in a very realsense. And they don't comefor peanuts.

Remember, there's nofree lunch.

So before you buy any personalcomputer, consider Sol? Itcosts more at the start but less inthe end. It can grow with yourability to use it. Sol is not cheap.But it's not a delusion either.

Sol small computers are at thevery top of the microcomputer

spectrum. They stand up to thecapabilities of mini systemscosting four times as much.

No wonder we call it theserious solution to the smallcomputer question.

Sol is the small computersystem to do the general ledger andthe payroll. Solve engineeringand scientific problems. Use it forword processing. Program itfor computer aided instruction.Use it anywhere you wantversatile computer power!

Build computer powerwith our software.

At Processor Technology we'vetailored a group of high-levellanguages, an assembler and otherpackages to suit the widecapabilities of our hardware.

Our exclusive Extended BASICis a fine example. This BASICfeatures complete matrix functions.It comes on cassette or in adisk version which has random aswell as sequential files.

Processor Technology FORTRANis similar to FORTRAN IV and

has a full set of extensions designedfor the "stand alone" computerenvironment.

Our PILOT is an excellent textoriented language for teachers.

Sold and serviced only by thebest dealers.

Sol Systems are sold and servicedby an outstanding group ofconveniently located computerstores throughout the U.S.and Canada.

For more information contactyour nearest dealer in theadjacent list. Or write DepartmentB, Processor Technology,7100 Johnson Industrial Drive,Pleasanton, CA 94566. Phone(415) 829-2600.

In sum, all small computersare not created equaland Sol users know it to theireverlasting satisfaction.

Processor

tn~l—Lra

ORIGIN

-%

CAMERAPOSITION 2

CAMERAPOSITION I

V

KNOWNVERTEX

Figure 1: To analyze perspective, two pictures of each side must be takenfrom two different distances. The line of sight through both cameras shouldbe in line with a point on the object.

fixed-focus camera. Under a discussion oftheory there is a description of anothertechnique, in which there is no restriction ofconstant focus.

Enlargements of the photographs shouldbe made to make measurements more accu-rate. I have found that there are alwayserrors in reading values from photographs;the smaller the photographs, the larger theerror ratio.

gram. To illustrate the use of this program,a simulated run will be described. For thissimulation a simple object was photographed(see photos 1, 2, 3 and 4), and measurementstaken. Four photographs were needed torepresent two side views. (Note that for thisobject only two side views are necessary tosee all the vertices.)

In figure 2 each vertex of the object isassociated with a letter. Table 1 gives thevalues of the coordinates measured fromthe four photographs. These measurementsare provided to illustrate the simulation. In anormal run of the program these valueswould be provided to the program directlyfrom the data tablet.

The picture input program, written inBASIC, receives the information from thedata tablet by making use of the BASICCALL statement. The CALL statementactivates an assembly language routine whichhandles the interface to the data tablet.This routine, not included here, must besupplied by the user.

The simulation begins by having theprogram prompt with the question:

Using the Picture Input Program

With photographs and measurements, theuser is ready to run the picture input pro-

HOW MANY SIDE VIEWS ARE TOBE ENTERED? 2

In this example there are two side views.

The new Pascal Computer System is driven by a unique 16-bit Pascal MICROENGINE™ — the first microprocessor hard-ware designed exclusively for direct high-level languageexecution. ■ The processor is incorporated into a singleboard computer system, the WD/90, which directly executesPascal intermediate code generated by the University ofCalifornia at San Diego (UCSD) Pascal compiler, ReleaseIll.O. ■ Since P-code output by the Pascal compiler repres-ents an ideal architecture for a computer executing Pascalprograms and since the WD/90 directly executes P-code (nointerpreter), these programs execute up to five or moretimes faster than equivalent systems.

WESTERN DIGITAL

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

The WD/90 Pascal MICROENGINE'" Computer

includes: ■ Pascal MICROENGINE™

processor ■ 64K bytes of RAM Memory ■ Two

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

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

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

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

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

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

supply Complete UCSD Pascal Operating System (Release Ill.O)

FOR FURTHER INFORMATION CONTACT

DISTRIBUTOR: CIT (714) 979-9920

RETAIL: Your LOCAL COMPUTER Store

OEM: Your WESTERN DIGITAL Sales Representative

20 May 1979 © BYTE Publications Inc

Circle 388 on inquiry card.

POWERFUL JNTERFflCES

S-100 3 S+P INTERFACE CARD

MODEL 3 S+P-100K - $159.95MODEL 3 S+P-100A - $189.95

lfi'^<H!H!l|||||||)i|!!|l>l|lHi!

A powerful I/O interface card for any S-100 BUS. Threeserial ports and one parallel port. Fully hardware operated.No software initialization required. In addition, this board willoperate with any software. User is able to select status bitsto fit any software configuration.

• SELECTABLE BAUD RATES: All baud rates are dipswitch selectable. Each port can be set for its own baudrate. CRYSTAL CONTROLLED baud rates. This interfacecard can operate with any Microprocessor at any speed.The 3 S+P does not depend on the CPU for its originatingclock. 110-9600 baud.

• EASY CONFIGURATION: The 3 S+P is easy to setAll port addresses are set by dip switches. Each port can beassigned independent of each other.

• SOFTWARE COMPATIBLE: The 3 S+P will becompatible with most software arrangements due to theability to set the status bits and the parity. Parity, characterlength, stop bits all set by dip switches. Each port can be setto its own individual arrangement.

• HIGH QUALITY: The highest quality parts are used.P.C. Board is with plated through holes, solder mask, silkscreen legend and gold plated contacts.

• OUPUT ARRANGEMENT: All outputs terminate atthe top of the card via a 26 contacts. Standard 26 pin IDCconnectors mate with each port. RS-232, current loop ateach serial port and full data lines at the parallel portconnection. Operation is asynchronous mode, but can beconfigured for synchronous operation by minor reconfigu-ration.

• FULL DOCUMENTATION: A complete manual ofoperation and construction is included. Easy constructionand 3 hours is the estimated construction time. Just plug in,set the switches and enjoy all the different configuredsoftware. NO MORE changing the software to match I/Oboard. Just set the board and enjoy.

"TRS-80 is a Irademark ol Tandy Corp

S-100 VIDEO DISPLAY BOARD

MODEL VID-100K (KIT) - $119.00MODEL VID-100A (ASSEM.) - $139.00

• Provisions for plugging in keyboard.

• 16 lines at 64 characters

• Full upper and lower case.

• Ascii key, character set, symbols, greek letters, andnumbers.

• 7x9 dot matrix in an 8x10 field.

• Normal and reverse video, and blinking cursor.

• Compatible with CPM.

• A natural for text editing.

• Comes with software driver in ROM which providesscroll up and down, full cursor positioning, flashing and fieldcharacters.

Specifications are: S-100 BUS compatible, high speed1 K memory. Voltage requirements - +8 volts @900MA,+ 16volts @40MA. -16volts @ 100MA. Output is standardvideo.

Epoxy glass double sided with plated through holes,solder mask and silk screened legend for easy assemblyand servicing.

S-100 EPROM PROGRAMMER +3

MODEL EPR-100K (KIT) - $129.95MODEL EPR-100A (ASSEM.) - $159.95

All the same features of the TRS-80* model. Comescomplete with interface cable, S-100 plug-in card. Totallyself contained power suply, plus many other extras.

S-100 DISC CONTROLLER CARDTRS-80* DISC DRIVES

MODEL DC-80K (KIT) - $169.00MODEL DC-80A (ASSEM.) - $189.00

With the use of our interface cable or S-100 BUS systemfor TRS-80* computers this card controls mini or 8"floppies.

On board firmware with WDOS operating system, videodriver, and keyboard driver which allows user to run anytype of software available and emulates basic softweardriver resident in keyboard, if user so desires.

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Suite 333, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537

Circle 390 on inquiry card.

BYTE May 1979

21

The program next states:

READY TO PROCESS SIDE VIEWNUMBER 1.

At this time the user should put the twophotographs of side view 1 onto the datatablet. The program tells the user:

PLACE THE STYLUS ON THE ORIGININ PICTURE ONE.

The user should find the location of theorigin in the photograph and indicate it

a o

c c

N L

SIDE VIEW I SIDE VIEW 2

Figure 2: Each of the vertices of the object is given a designation letter.

Side View 1

Picture 1

Picture 2

Vertex

X

Y

X

Y

A:

- 3.3

0

-2

0

B:

- 3.3

-12.3

-2

- 7.6

C:

40.1

0

26

0

D:

40.1

-10.6

26

- 6.7

E:

-25.5

-10.6

-16.6

- 6.9

F:

-25.5

44.5

-16.6

28.9

G:

-19.4

0

-12

0

H:

-19.4

47

12

30

1:

0

43.1

Side View 2

0

28.2

Picture 3

Picture 4

C:

39.9

0

25.6

0

J:

25

-11.8

15.6

- 7.3

K:

25

0

15.6

0

L:

- 7.4

-10.9

- 4.7

- 7

M:

- 7.4

45.9

- 4.7

28

M:

0

-10.5

0

- 6.8

1:

0

43.8

0

28.3

Table I: A compilation of the data obtained from photos I and 2. Thevertex designations are the same as in figure 2. For photos la and lb, L is26.7 inches (67.8 cm) and the known vertex is I at location (0,11.75,0)inches (0,29.85,0) cm. For photos 2a and 2b, L is 27.3 inches (69.34 cm)and the known vertex is I at location (0,11.75,0) inches (0,29.85,0) cm.The common vertex to side views 1 and 2 is vertex C.

with the stylus. In this example it is point O.Knowing this point allows the program torelate the data tablet's coordinates to thephotograph's coordinates. The same is askedfor picture 2:

PLACE THE STYLUS ON THE ORIGININ PICTURE TWO.

In preparation for the program, the usershould measure the distance between thetwo camera positions. In this example thedistance was 26.7 inches.

HOW FAR WAS CAMERA ONE FROMCAMERATWO?26.7

The program next needs to know where inthe photograph the vertex whose distanceto the origin has been measured lies. Thispoint should be located twice. Once inresponse to:

PLACE THE STYLUS ON THE KNOWNVERTEX IN PICTURE ONE;

and once in response to:

PLACE THE STYLUS ON THE KNOWNVERTEX IN PICTURE TWO.

Vertex 1 is the known vertex. From table 1we see that values (0,43.1) and (0,28.2)would be the values provided by the tablet.In preparing for the program, the distancebetween the origin and vertex 1 was meas-ured. In X,Y,Z terms this distance is(0,11.75,0). This value should be entered inresponse to:

ENTER THE X,Y,Z DISTANCE BETWEEN

THE KNOWN VERTEX AND THE

ORIGIN: (0,11.75,0).

If more than one side view is to beentered, the other side views must somehowbe related to the first coordinate system.This is done by finding points in the firstside view which are also in other side views(see figure 3). Therefore, the program willask the user to point to a vertex in side 1which is also in side N. The first N verticespointed to in side view 1 should be verticeswhich are also in other side views. That is,the first vertex in side view 1 should be avertex which is also in side view 2. Thesecond vertex pointed to in side view 1should be a vertex found in side view 3, etc.(The program as presented in listing 1, forthe sake of simplicity, assumes that onlytwo side views are necessary, and that theseside views are opposite (180°) to each other.For most objects these will be sufficient.)

22

May 1979 © BYTE Publications Inc

The Personal Computer Lineby OHIO SCIENTIFIC

\*I r I IpJ4y!Adramatic breakthrough in price and per-formance. Features OSI's ultra-fast BASIC-in-ROM, full graphicsdisplay capability, and large library of software on cassette anddisk, including entertainment programs, personal finance,small business, and home applications. It's a complete pro-grammable computer system ready to go. Just plug-in a videomonitor or TV through an RF converter, and be up and running.15K total memory including 8K BASIC and 4K RAM —

expandable to 8K.

wl i Ivl ■ Z 3>9>70: First floppy disk based computer

for under $1000! Same great features as the C1P plus more

memory and instant program and data retrieval. Can be

expanded to 32K static RAM and a second mini-floppy. It also supports

a printer, modem, real time clock, and AC remote interface, as well as OS-65D

V3.0 development disk operating system.

\*£.m*\t)r\ Ij)byo! The professional portable that has over 3-times the displaycapability of 1 P's. Features 32 x 64 character display capability, graphics, fullcomputer type keyboard, audio cassette port, and 4 slot BUS (only two used inbase machine). It has 8K BASIC, 4K RAM, and canbe expanded to 32K RAM, dual mini-floppies anda printer.

C2-4P MF:$1599!ltsabigpersonal

computing mini-floppy system at a special package

price. Contains the famous C2-4P microcomputer

with 20K static RAM, 5" mini-floppy unit for instant

program and data loading, RS-232 circuitry (for optional modem and printer),

and four diskettes featuring exciting games, personal, business and education

applications.

KjuL'Or ' 3> I y*7! The personal class computer that

can be expanded to a full business system. Has all the

features of the C2-4P plus an 8 slot BUS (3-times greater

expansion ability than the C2-4P). Can be expanded to 48K

RAM, dual floppies, hard disk, printer and business software.

CZ"OP DPI $2599! A full business system avail-able at a personal computer price! The system includes thepowerful C2-8Pmicrocomputer(32K RAM expandable to48K), dual 8" floppy unit (stores 8-times as much informationas a mini-floppy), and 3 disks of personal, educational andsmall business applications software. Has all the capa-bilities of a personal system including graphics plusthe ability to perform Accounting, Information Manage-ment, and Word Processing tasks for small business.Contact your local Ohio Scientific dealer

All prices, suggested retail

* Monitors and cassette recorders notincluded. Ohio Scientific offers a com-bination TV/Monitor (AC-3P) for $115.

Circle 290 on inquiry card.

America's largest full-line microcomputer manufacturer

1333 S. CHILLICOTHE RD., AURORA, OHIO 44202 (216) 562-3101

All that remains is to point to a vertex

IN PICTURE ONE POINT TO

in picture 1 and then again to that vertex in

VERTEX N;

picture 2, and to continue until all of the

vertices in that side view have been pointed

and

out. The program will ask:

IN PICTURE TWO POINT TO

HOW MANY VERTICES ARE TO BE

VERTEX N.

ENTERED:8

For example, the first vertex pointed to

Eight is the answer for the first side viewof this simulation. Then the program willask:

SIDE VIEW I

SIDE VIEW 2

VERTEX A IN BOTHSIDE VIEWS

Figure 3: When processing two different views, at least one point must becommon to two views. In this example, vertex A is seen in both side views.

u\

Figure 4: Three pictures drawn using data generated by the program inlisting 1. The original information was obtained from photos I thru 4.

Results

Vertex

Number

X

Y

Z

C:

1

10.7

0

1.3

A:

2

- 0.7

0

9.5

B:

3

- 0.7

- 2.7

9.5

D:

4

10.7

- 2.8

1.3

E:

5

- 6.9

- 2.8

0.7

F:

6

- 6.9

12

0.7

G:

7

4.5

0

7.2

H:

8

4.5

11

7.2

C:

9

10.6

0

1.3

J:

10

6.3

- 2.9

-4.9

K:

11

6.3

0

-4.9

L:

12

- 1.9

- 2.8

-2.3

M;

13

- 1.9

11.7

-2.3

N:

14

0,1

- 2.8

0

Table 2: Conversion of the measured data from table 7 into three-dimensionalcoordinates.

is the common vertex. C is the common ver-tex in our simulation, so it is indicated firstin picture 1 and again in picture 2. The datatablet provides the values (40.1, 0) and(26, 0). Then vertex A is pointed to inpicture 1 and picture 2. Values (—3.3, 0)and (—2, 0) will come from the data tablet.This continues until all of the vertices of aside view have been entered.

When it is time to process another sideview, the program will say so, asking for thesame information as it did in side view 1(eg: where the origin and known vertex forthis side view are, what are the measure-ments for the known vertex, and what wasthe distance between camera positions).Next, the different vertices should be pointedto, starting with the vertex common to sideview 1.

When the program is finished, all thecoordinates of the vertices will have beenconverted to three-dimensional coordinates,and represented inside the computer. Table2 contains the results from this simulation.

Displaying the Object

With these results the object can be dis-played from any desired viewpoint. Forexample, let us say that two side view pic-tures were taken such that the directions ofthe pictures were perpendicular to eachother. It would be quite simple to displaythe object from a viewpoint between thosefrom which the photos were taken, eventhough no picture was taken from such aposition. Figure 4 shows examples of dif-ferent viewpoints of the object photo-graphed. These figures were developed math-ematically, using the results of the pictureinput program, in the same manner that theywould be developed by a program whichdisplays objects three-dimensionally. Start-ing with just a few photographs, many suchpictures of an object can be made.

Some Theory

How is it possible, that from two photo-graphs of one side of an object, all of thatside's dimensions can be calculated? Toanswer this question, let us first examine theway in which perspective pictures are dis-played. For simplicity, we will assume that

24 May 1979 © BYTE Publications Inc

IVe finally found a personalcomputer I respect* r - •,' • • >

_^ r ^ wJ^ It s a totally-integrat

I OfYlfMlf^fllofl* I with full color graphics display, IV^M.1X|/1*^IS1U1. *.*♦ M,ini.t|is|. (|rivc% illu|,|K. Ix,s( cos(

personali,s n°' *»rp™»w

that professionalsget excited about the Compucolor II,It's a totally-integrated 8080A systemlor graphics display, built-in 51K

ratio available in a personal computer.

The complete system is only SI i95;i: And that price includes 8K user RAM, RS-232Ccompatibility and random access file capabilities.

Our 8 foreground and background colors will boost your comprehension, whileintroducing you to an exciting new dimension in BASIC, programming. The vector graphicshave 16,481 individually-accessible plot blocks. And the I.V diagonal measure screen givesyou 32 lines of 64 ASCII characters. You also have the flexibility that comes with 16k

Extended Disk BASIC ROM.

Compucolor II offers a number of other options and accessories, likea second diskdrive and expanded keyboard,as well as expandability to32K of user RAM. Of course we alsohave a whole library of low-cost Sof-DiskIM programs, including an assembler and text editor.

Visit your nearest computer store lor details. And | ,

while you're there, do some comparison testing. With all ^ ^^J «% «»■«» "'

due respect to I lie ot hers, once you sec it, you'll be sold on ^^fiW J»iflii|iUCiIIOb

the Compucolor ii. I I Corporation

Compucolor Corporation Post Office Box 569 Norcro..

Circle 50 on inquiry card.

404/449-5996

BYTE May 1979 25

the outline of an object consists of straightedges which meet at vertices. Rounded edgesare approximated by several straight edges.Putting an object into perspective entailstransforming the edges' three-dimensionalcoordinates into two-dimensional coordi-nates. Internally, the computer representsthe objects' edges as pairs of vertices. Sincestraight lines in three dimensions get trans-formed to straight lines in two dimensions,all that is necessary is to transform coordi-nates of their endpoints.

The screen of a video display device istwo-dimensional. We will call this plane the

VIEWER

Figure 5: The viewing screen can be considered as the picture plane to beviewed. Putting an object into perspective involves drawing straight linesbetween the object and an imaginary viewer.

WIDE ANGLE

picture plane (see figure 5). Putting anobject into perspective involves drawingstraight lines between the object and animaginary viewer. The imaginary pictureplane is also inserted between the viewer andthe object. The objects' vertices are pro-jected to where the lines adjoining objectand viewer intersect the picture plane. Thesepoints of intersection can be computed usingsimilar triangles. Triangle ABC is similar totriangle ADE. The equation for a perspectivetransform is therefore:

XP = DP(X)/Z YP = DP(Y)/Z

where the X,Y, anddefined in figure 5:

Z directions are as

and

XP =

X coordinate in picture

YP =

Y coordinate in picture

DP =

distance between viewer

picture plane

X =

vertex's X coordinate

Y =

vertex's Y coordinate

Z =

distance between vertex

viewer.

Figure 6: The location of the picture plane determines the angle of view.A wide angle effect is produced by having the plane close to the viewer.A telescopic effect is produced by a picture plane far from the viewer.

and

The location of the picture plane withrespect to the viewer determines the angle ofvision. If the picture plane is close to theviewer, there is a wide angle effect. If thepicture plane is far from the viewer there isa telescopic effect (see figure 6). The termDP in the above equations is that distance,and it is referred to as the. perspective trans-form of the lens of the camera.

The object is displayed according to thevalues put into several equations. We knowthat the distance between camera and objectis given by term Z, and that the angle ofvision is given by term DP. To achieve rota-tion of the object, we use the equationsbelow:

XR = X x cos (angle 1) - Y x sin (anglel)

YR = X x sin (angle 1) + Y x cos (anglel).

By rotating the object around two axes, anyangle of rotation in three dimensions can beachieved.

YR1 = YR x cos (angle 2) — Z x sin(angle2)

ZR = Z x cos (angle 2) + YR x sin (angle2).

Perspective is arrived at by applying theoriginal transform equations:

XP=DP(XR)/ZRYP=DP(YR)/ZR.

26 May 1979 © BYTE Publications Inc

Circle 5 on inquiry card.

0

ow You CanMake Your Own

Unleash the Full Power

of Your

Personal Computer

With the

JLNewAladd

Personal

Programs™

Aladdin Automation now offersyou the magic of a full range of'ersonal Program™ seriesespecially designed to supportthe most popular personalcomputers available today.

Some Personal Programs™ willtake you to faraway places ofexciting, action-packedadventures. Others will bringfun-filled learning experienceshome to you and your child. Stillothers are designed for your own

use in the home or office.

All Aladdin PersonalPrograms™are moderately priced.

Visit your personal computerdealer today to see andexperience the magic wailing foryou in every one of the AladdinPersonal Programs™. (And ifyour dealer hasn't ordered fsupply yet, then ask him totAladdin Automation for compinformation on all the PersonalPrograms™ available r

Welcome To The All-NewWorld Of Aladdin. And Get ReaTo Make Your Own Magic

A camera is a device which produces aperspective transform. The procedure withthe photographs and data tablet is to reversethe transform to produce the three-dimen-sional coordinates of the vertex. From theequations above, we see that there are fivevariables. The photographs give us values forXP and YP. If DP and Z are determined,values for X and Y can be computed. It canbe assumed that DP in one photograph willbe the same as DP in another photograph, aslong as the angle of vision does not change.With two photographs taken with camerapositions one behind the other, and with thedistance known between positions, we havetwo sets of perspective transform equationsand a relationship between Z in one phototo Z in the other photo:

XP1(Z1) = DP(X) (1)

XP2(Z2) = DP(X) (2)

YP1(Z1) = DP(Y) (3)

YP2(Z2) = DP(Y) (4)

Z2-Z1 = L. (5)

Subtracting equation 2 from equation 1 andsubstituting Z2= L + Z1:

XP1(Z1) = XP2(L + Z1)or

Z1 =XP2(L)/(XP1 -XP2). (6)

Therefore, to learn how far the camera wasfrom a vertex, all we need to know is the dis-tance between camera positions.

Finding DP, the perspective transform, re-quires the knowledge of the coordinate ineither the X or Y direction for one knownvertex. For example, with a value for Xknown and a value for Z obtained throughthe use of equation 6, we can write an equa-tion for DP as:

DP = Z(XP)/X.

(7)

Once a value for DP is obtained, values forX and Y are computed using the Z valuescomputed and the equations:

X:Y

Z(XP)/DPZ(YP)/DP.

(8)(9)

Now every vertex's three-dimensional X,Y,and Z coordinates can be determined. Thesecoordinates are given with respect to theedge of the camera. To orient them withrespect to the origin, subtract the distancebetween origin and camera from each com-puted Z value. The first side of the object isnow described three-dimensionally, inde-pendently of a viewing point or pictureplane.

To describe other sides of the object, theabove equations must be applied again. Also,two photographs taken as above, an origin,

one known vertex, and an additional vertexcommon to both side views must be sup-plied. This additional common vertex will beused to relate the values obtained in one sideview to the values obtained in the other sideview (see figure 3). Once all of the values arecomputed for the second side, the differ-ences are found between values computed inview one from values computed in the otherview for the common vertex. These differ-ences in value are the offsets from one side'scoordinate system to the other side's coor-dinate system.

If these values are subtracted from oneside's values, all vertices will be in relation toone origin. If this procedure is applied to allsides, the entire object is described. With theaid of your computer you can now displaythe object from any perspective you choose.You are not limited to the perspective of thephotographs, and you can have the objectplaced at any distance or angle of rotationyou like.

Another Input Method

There is another technique for enteringthree-dimensional information from photo-graphs into a computer. This technique isuseful in cases in which, rather than meas-uring between the camera positions and theobject, it is easier to measure the positionsof several points on the object. For example,you may be taking a picture of a house, andhave no convenient way to measure the dis-tance between the camera and the house.Yet it may be quite simple to measure thedimensions of a window frame. In thistechnique, rather than measure the distancebetween camera and object, the user meas-ures two vertex coordinates in referenceto a third vertex which is to serve as theorigin.

The distance between object and cameraneed not be known, but the camera mustpoint so that the origin of the object is inthe center of the photos. Again, two photosare required. They should be taken parallelto each other, rather than taken one behindthe other. Each photograph will have its ownorigin, and it is necessary to know the dis-tance between the camera's positions, ordistance between origins. Three verticesfrom one photograph yield three equations:

Z1 x XP1 = XI x DPZ2 x XP2=X2 x DPZ3 x XP3 = X3 x DP.

Measurements of the object give X1,X2,X3,Z1,Z2, and Z3. Measurements of the photo-graph give XP1.XP2, and XP3. We can sub-stitute the differences for the Zs withLs:

28 May 1979 © BYTE Publications Inc

L1 =Z2-Z1

L2=Z3-Z1

Z1 x XP1 = XI x DP

Z1 x XP1 = Z1 x DP

(LI +Z1) x XP2 = X2 x DP

(L2 + Z1) x XP3 = X3 XDP;

and subtract the bottom equations from thetop equations:

Z1

Z1

(DPx (XI ~X2)) + (L1 x XP2)(XP1 -XP2)

(DP x (X1 -X3)) + (L2 x XP3)

(XP1 -XP3)

and solve for DP.

DP;

((XP1-XP2) X (LP2 X XP3))-((XP1-XP3) X (LI X XP2))((X1-X2) X (XP1-XP3))-((X1-X3) X (XP1-XP2)).

Once DP is solved for, Z1 can be found forany vertex by using the two photographs'equations and knowing the distance betweencamera positions:

XI = (Z1 x XP1)/DPX2= (Z1 x XP2J/DPZ1 = (XP2 - DP)/(XP1

XP2).

Of course with Z1 determined XI and Y1can easily be found:

X1 = (Z1 x XP1) /DPY1 = (Z1 x XP2) /DP.

To enter data from the tablet with thistechnique, first indicate through a keyboardthe values for the three known vertices, andthen point to them in one photograph. Thiswould allow the program to compute DP.Then, as in the other technique, point to avertex in one photograph, and again to thatvertex in the other photograph. More sidescan be added, and eventually the wholeobject will be described.

There are additional techniques for enter-ing three-dimensional data. For example,photographs may be taken with addedamounts of rotation. This is particularly truein cases in which the user cannot take actualphotographs, but has some means of deter-mining a few dimensions of the object. Inthese cases, the angles of rotation must becalculated in addition to DP, X, Y, and Z.Because the mathematics for solving theequations with rotation is more involvedthan the equations in this article, I havenot discussed it here, except to mentionthat for each angle of rotation one moreknown value, a vertex coordinate, needs tobe known before the equations can besolved."

We're mot just blowing smoke

SMOKE SIGNAL BROADCASTINGPRESENTS IT'S

$299.00

M-16A STATIC MEMORY SYSTEM

• Allows SWTPC 6800 expansion to 48K• Low Power • Uses Single +8 Volt SupplySWTPC 6800 Pluy Compatible • STATIC - No refresh required

The M-16A STATIC random access^memory system, with a total storage capacity of16834 words of 8 bits each,is switch selectable to any 4K|starting address, and a hardwarewrite protect switch is also included.The system's storage elements are4K by 1 STATIC memory chipswhich store 4 times as much injonly 12% more space than the low'

power 2102's. Typical access time is fast enough to work a6800 based computer operating at 2 MHz and all systemsare factory tested at 2 MHz.

The M-16A STATIC random *memory system, with a total storage capacity of16834 words of 8 bit, each, Iis switch selectable to any 4K I'ting address, and a hardware ITitc protect switch is also included. [system's storage elements anby 1 STATIC memory chipih store 4 times as much irly 12% more space than the low Ipower 2102's. Typical access time is fast enough to work a6800 based computer operating at 2 MHz and all systems to fectory tasted at 2 MHz.

jSIM

?BB0ADCASTIM*

•fZIWl TvplcUaB

31336 Vh Colina*. Wesilakn Village, CA 91361(213)889-9340

LH Send information on your M-16AD Send name of nearest dealer

MLKSIfiMi.

BROADCAST

Circle 328 on inquiry card.

May 1979 © BYTE Publications Inc 29

TechnicalFopum

M6809 is Silicon

Technical Forum is a fea-ture intended as an interactivedialog on the technology ofpersonal computing. The sub-ject matter is open-ended, andthe intent is to foster dis-cussion and communicationamong readers of BYTE. Weask that all correspondentssupply their full names andaddresses to be printed withtheir commentaries.

I—

VHLjujM

Kl,ttii L;.'l-M<tfr„"1'

'

•

1

■1

r\

7i

|'S1

IHtt|'>'' ' «^— —f^jfoU^tttlm -. ,.: -r^|

r

i | i hee v

Photo 7.

A look at the 6809 device.

Terry RitterJoel BoneyMotorola Inc H25653501 Ed Bluestein BlvdAustin TX 78721

In our recent article, "A Micro-processor for the Revolution: the 6809"(January, February, March 1979 BYTE),we tried to indicate that the specifica-tion, logic design, layout, and testing ofa new microprocessor is a very big job.Throughout the project we were quiteaware of the potential market for thisnew part, and the entire microprocessordesign team made Herculean efforts toget it out as quickly as possible. The bigpush finally came down to getting thedesign ready for the mask shop beforeChristmas 1978 (we wanted to enjoy theholiday).

Every metal line, every polysiliconline, every connection, and every tran-sistor in the entire layout had to be in-

dividually hand checked. A checkingteam consists of two individuals. Thefirst member, and leader, is a circuitengineer who can read the layout toidentify transistors, verify their logicfunction and size, and trace the connec-tions between them. The second engi-neer monitors the checkout process on alogic-diagram blueprint, coloring eachline and each gate as it is checked. Thisprocess continues until all gates and alllines are colored and until all paths areinvestigated on the layout. Uncoverederrors are edited, replotted, andrechecked. The 6809 layout (with about15,000 transistors) was completely handchecked three times in the last twoweeks before Christmas 1978, in addi-tion to sophisticated computer spacingchecks.

Our EXORciser II based test systemhad been working for weeks with the6809 breadboard (a gate-for-gatetransistor-transistor-logic equivalent ofthe 6809). The working system had thenew EXBUC09 monitor, and would runall our 6809 programs, including an

30 May 1979© BYTE Publications Inc

18,000 line diagnostic package. This pro-gram checks all registers, instructions,addressing modes, and numerous com-binations. Correct execution provides acharacteristic pattern of address posi-tions as displayed on the logic analyzer.

We disconnected the breadboard,popped the first 6809 into the socketand started testing parts at 7:30 PM onTuesday, January 9 1979. None of thedevices worked the first time, but we didget two that failed in exactly the sameway. This is one of nature's hints.Naturally, we were disappointed thatnone of the parts passed all tests, but weknew the complexity involved in an LSI(large scale integration) device.

After you have checked 5,000 gatesthey all tend to look alike, especially at3 AM. All conductors look the same-there is no color coding on an inte-grated circuit. It is all too easy to miss awrong connection, a shorted transistor,a floating gate, or any one of manypossible errors. Thus, virtually all LSIdevices require a sequence of maskiterations before a fully functionaldevice is obtained. As weak areas arepinpointed by testing, new masks areobtained to improve yield. But theMotorola microcomputer design group

has a history of producing functional, ornearly functional parts the first time,hence our disappointment.

Resigned to the worst, we proceededto write programs to narrow the error toa particular instruction or sequence ofinstructions, and hopefully to a par-ticular gate. After an hour of machinelanguage testing, it became apparentthat the error was random, not instruc-tion dependent, and possibly para-metric. That is, the malfunction wasresponsive to clock frequency, supplyvoltage, or operating temperatureparameters.

Finally, the Microcomputer DesignManager picked up a heat gun and train-ed it on one of two suspicious devices.Everyone was transfixed, watching thelogic analyzer with renewed hope. Therewas one false start, then the 6809 madeit once through all tests. More heat, andthe 6809 was running all 18,000 lines oftest code over and over again. Pande-monium broke loose, with cheers andcongratulations all around.

After some investigation, the minortemperature sensitive problems wereidentified, and masks were modified toproduce customer samples... and Moto-rola is now in the 6809 business. ■

SHUGART SERENADE

£~* COMPUTE* • I"

SpecifyVerbatim

II you wantmini niiinnthe whole l

ilay.givc it qualityVerbatim Corpoiatior

ir machine tomedia. And alsage is quality

Would Victor Rorgc kid you?Pot the iiiiniL <if your nearest Verbatim distribute:call toll free: |1| 800-53S-17WInCalifomiacaU: |408| 717-777] Call collect

Verbatim Corporation

Circle 169 on inquiry card.

May 1979 © BYTE Publications Inc 31

If >'

1

Gispcid's

Circuit

Cellar

Photo 1: Example of anoptical fiber transmitting avery bright light. Theconductor is a single 40mil plastic fiber. The lightis generated by a helium-neon laser.

Communicate on a Light Beam

Steve CiarciaPOB 582Glastonbury CT 06033

Coming up out of the Circuit Cellar is arare occurrence, to the point where some ofmy friends have accused me of being a mush-room. I prefer to be likened to a mole—amore dignified species. We share a commonbond of subterranean existence and fear ofbright sunlight, but the mole's predicamentis dictated by nature, and mine by choice.

The Circuit Cellar is by no means a holein the ground. It's heated, well-lit and looksmore like a living room than a cellar. Eventhough it affords all the comforts of home,there are those occasions when a change ofenvironment is required. It's not enough towalk out in the driveway, take a deep breathand run back into the cellar. Sometimes acomplete change of surroundings is neededto shock the mind out of the doldrums andspark creativity (eg: a vacation). Since Iusually don't have time for vacations, Itake "business excursions for purposes ofcerebral detoxification"or "ECDs" for short.

For two months I had been wrestlingwith the details of an article on fiber op-tics and laser communications (this one).The hardware was completed very quickly,as with most of my projects, but the textdragged on for weeks. Lighting the woodstove in the Circuit Cellar became an all tooeasy chore using the piles of scrap paper Iwas generating. My graphospasms (ie:writer's cramps) were not bearing fruit. Onetime I even found myself sitting at my deskpushing pencils through the electric pencilsharpener until it started smoking.

During times like this there was only oneplace to go — New Hampshire — to see theColonel. My father-in-law, Colonel Foster,was the one person who could break me outof this slump. Between stories about oldarmy buddies and spending the war in theAleutians waiting for an invasion I wouldsurely find some inspiration.

"Colonel? Are you there?" After anx-iously dialing his telephone number andsaying hello, I was left with silence at theother end of the line...

"Colonel?"

"Be right with you, Steve." As the re-ceiver was picked up again he apologized,"Sorry Steve, my man was at bat and I hadto see the hit. You're a Red Sox fan, aren'tyou?"

It would be in bad taste for me to suggestthat my subterranean hideaway providedall the spiritual stimulation I needed andthat chasing a little ball around in thegrass was not in my spectrum of pursuits."I quite understand your enjoyment of thegame, Colonel. I hope your team wins," Ireplied, evading his question. During mystatement I heard him roar again in responseto the activities on the television. When Isensed a lull, possibly precipitated by acommercial, I continued, "Colonel, I need toget away. How would you like some com-pany tonight?"

"Sure, you know you're always welcome.I haven't had anyone to tell a good armystory to in a long time."

32 May 1979 © BYTE Publications Inc

I told him I'd pack all the gear in the carand be there in three hours. Possibly I wouldfeel better about writing once I arrived.

The Colonel, sensing the termination ofthe commercial, quickly responded, "Threehours is great. The game is still in the firstinning. If you hurry you may get here beforeit's over. . .gotta go now."

One of the good things about living inNew England is that everything is close.It was a scant 3 hour drive between Con-necticut and New Hampshire, but I drag-ged it out an extra half hour so I wouldn'tbe competing with the Red Sox for theColonel's attention. As I pulled into thegarage he came out to greet me.

"Howdy," he said, slapping me on theback. From his exuberance I could tellthat the Red Sox had just won the game.

"Come on in and get settled. I'm ex-pecting a telephone call. . .oops, there itis now."

Leaving the electronics junk in the carI followed him into the house. He wasstill wearing his lucky Red Sox baseballcap as he spoke.

"Chester, wasn't the game great? Ithought they were going to blow it in the6th. . .You bet, I'm ready for tomorrow'sgame. If they can play like that again, thepennant is in the bag..."

Suddenly Colonel Foster's expressionchanged, to amazement, then anger. Hegrabbed his cap, slung it into the chairhe was standing near and complained,"Darn woman again!. . .What do you meanlucky! The Red Sox won through skill,not luck!. . .Go play with your WATSlines and let Chester and me talk." It wasobvious that suddenly there was a thirdparty to their conversation.

"Beatrice, I don't care if you think itwas an error. It was ruled as a single!. . .Yes, I know the 6th looked bad but that stilldoesn't mean they're just lucky..."

It was becoming an argument betweenthe Colonel and Beatrice. A hint as toher identity was provided when he re-sponded, "Beatrice, would you keep youropinions to yourself and let me talk toChester? Chester, come on over for a privatetalk!"

He slammed the reciever down on thephone, put his baseball cap back on, andslumped into the easy chair. "I just can'tcarry on a baseball conversation with thatwoman around."

"Who's Beatrice?"

"The switchboard operator for the town.We don't have all that new computer tele-phone stuff you city slickers have. We haveBeatrice. When it's business or personalshe's good and keeps her nose out. But,

when it's baseball, Beatrice has to get hertwo cents in!"

(Obviously what the Colonel and Chesterneeded was an alternate means of com-munication, such as CB.)

"I've got a great idea, Colonel. Whydon't you and Chester use CB radios in-stead of the telephone?" The Colonel ledme to the bookcase in the study. I foundmyself staring directly at a CB radio. Heflipped it on and said, "Tune in channel19 and listen." The radio came to life."Breaker one nine. . .breaker one nine. . .this is your Big Mama on this one niner. . .all you 18 wheelers just put the hammerto the floor and let Big Mama be yourguide. . .I'll have a Smokey report in five,but first, the weather..."

My eyes opened wide. "Is that Bea. . ."

"Beatrice? You're darn tootin' it is.She's got an antenna tower on her houseand radio gear that would put an FCC testlaboratory to shame. I swear she's runninga full gallon."

"We tried CB a while back and it wasuseless." This time the conversation camefrom behind. Chester had let himself in andjoined us in the study. He continued, "Itall started when we telephoned the gamesto the tower."

"Tower?"

"I'm sorry, I guess the Colonel didn'ttell you." Walking over to the window ofthe study and pointing to the adjacentmountain top roughly two miles away."You see that structure on top of thathill? That's my tower. Well, not exactly mytower. I just work there. It's a combinationfire tower and radio relay station. Oc-casionally I have to sit up there and monitorequipment during important transmissions.

"What's that got to do with Beatrice?"

"With all the interference from theequipment up there I can't use a radio ortelevision to watch the Red Sox."

(This was beginning to take on the aspectsof a good mystery.)

"The Colonel would tune in the gameon his television set here, telephone mein the tower and then lay the receiver nearthe television so I could listen to the game.When Beatrice found out she'd bust in andadd her commentary to the game. Do youknow what it's like having a nosey HowardCosell-type beating on your ear for threehours at a time?"

I could only offer my sympathy. Ifthere was a solution short of stringing twomiles of wire I didn't see it yet. But I wouldcontinue to think about it.

"Tomorrow is a very important Red

Sox game. The pennant may hinge on it.

Text continued on page 36

Warning: due to thenature of lasers, anyprolonged skin contactor viewing of the laserbeam is hazardous.

Copyright © 1979 by StevenA Ciarcia. All rights reserved.

May 1979 © BYTE Publications Inc 33

Wfe've worked like mad to

cook up all your favorites.

Now, we're cooking. Our boys in the lab have turnedcircuit chefs these past three months to create a smorgas-bord of deliciously assembled boards to support yourAPPLE II* TRS-80*or S-100 bus systems. Feast your eyeson our monstrous selection in the menu below.Then, orderenough to satisfy your hunger for experimentation formonths to come. Contact your local computer store, or callus direct. Bon appetit!

California Computer Systems

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

5

So Nobody Goes Away Mad.

7774

abte

APPLEROM

ROM

APPLE*

flO/v,

Oe/,

'cac

&fi?@

>es

US&S 7.

spcmas*

774Q

KM &

ana

>NDi\,

STre.

SVr

S6g

Anuse icou,

Module

tFIR.

UP

Pro

95

7470

APPi

E3

era/.

*nl^?tota,iyjBCD

'■'; ■

Warn.

' cham

">abie

freq,

9ens,

ring

'Or0g

"ency

'a^rn,

'°De,er

Per,

Tim

able (

'Hon

•>V!01

'SPO

fees

mte,

9aii

fa/

msasureS0rr>>

!!*asu.

rernen

'Pu,

er,

'Hon

Tier;'

'^its

Wetenc,

999 V

Con

'DC-

verier

00

7S2075007590

ange

APPi

Hot

[ai^ae:;Unns.. So,s^t "°*90 'Iya"s»or,,-"^"eoauZ>.-.<££**Inter, Gp/6 /PPc '&n '"(err Du/Se

7570

APPL£APPi_E

6 Bet

Mna/

°9-

or

Si29

W,

ender

9roUi

'na

00

APpLE

EtchSoide

ire Wr,

Bo,

aP So

ard

ard

Me"oryT*S:°0l6KAdZOn-

$25

S21,

0000

baun^r. 'eaiunnr> ' ••■. '

*2T.OoS2J.OO

S^0.00

from c„ e

•«**

'??P<-E,,

ff)S.

'"0,;

Wace'<

avaiiabie g ,9^'0>i= 0a^d ,-=,!■ accura,

lrHeri=~a Paraiiei i a

,ara"cycb.

Circle

37 on inquiry card.

aetoeo- Sa <„, 'abe//eo ' • •.

"» s„/„ a'° »af0*«'«,,-;■■ *nss

6l/a'4am°^'sare"

TEMav1979 35

Text continued from page 33:Unfortunately, tomorrow is also a day Ihave to spend in the tower. I really wantto listen to the game, but Beatrice is toughto listen to."

I ran over to the window, looked atthe tower in the distance, and noted theglass windows circling the observationdeck. "What's the weather report fortomorrow?"

"Cloudy and cool I think." Chesteranswered.

"Good! Clear weather. . .Colonel, couldthe television set be moved in this roomfor the game tomorrow?"

"I suppose so. Why?"

I scanned the study looking for a con-venient AC power outlet and spied oneby the window.

"Perfect," I said.

Both the Colonel and Chester were alittle perplexed at my behavior.

"What if I told you there was a wayfor Chester to listen to tomorrow's gameundisturbed by Beatrice?"

"We've tried everything. What are youplanning?"

"Wait here and I'll show you." I dash-ed off to my car and took a tripod, a longwhite rectangular instrument, a small blackbox with a lens at one end and a few patch

cords out of the trunk. Dragging all theequipment into the study, I proceeded toassemble it, much to their amazement.

"What's all this, Steve?" the Colonelasked.

With as straight a face as I could musterI replied. "It's a laser."

Both men, army veterans of two warsand thirty years' service, took two stepsback and exclaimed, "A laser?" It was in-stantly apparent that the words laser and"death ray" were synonymous for them.Before I let them think I planned to rubout Beatrice, I quickly continued my ex-planation.

"There are big lasers and little lasers.This is a little one. It won't bum anythingor hurt anyone if used properly. Eye pro-tection is the only consideration necessaryon this particular laser."

"Do you always carry this stuff aroundwith you?" the Colonel asked.

"No. It just happens to be the topic ofthis month's article for BYTE."

"What has this got to do with tomor-row's game?" Chester asked.

"We're going to transmit the game toyou in the tower on a beam of light."

Their eyes opened wider but they re-mained receptive.

"Let me demonstrate."

I took the transistor radio, tuned it toa station and placed it on the coffee table.Taking a long patch cord, I plugged oneend in the radio earphone jack, auto-matically silencing the radio speaker, andplugged the other into the rear of the laser.Aiming the laser, I turned it on. A red spot,about 1/8 inch diameter, shone brightly onthe wall 15 feet away.

"You're sure that won't burn the wall?"

"Trust me."

Next, I picked up the black box withthe lens on it and turned it on. I walkedover to the illuminated spot on the walland interrupted the laser beam path withthe box. When the beam intersected with thelens, music was heard!

"That's the radio station you tuned in,all right," Chester said.

"Colonel, take that poker from the fire-place and wave it back and forth in front ofthe laser so it interrupts the beam."

"Why. . .the radio goes on and off," heexclaimed a minute later.

"Correction, Colonel. The radio doesn'tgo off, only the receiver, when it no longer"sees" the modulated laser light beam.Notice in addition that the beam barelyspreads out at all over the 15 feet to thewall."

"I think I get what you're driving at,Steve."

"You've got it. Chester takes the re-

36 May 1979 © BYTE Publications Inc

Circle 170 on inquiry card.

;v^

x\&*

co^

g***

x<*

o°v- v^^^o*6^^

v^

A*

^o<-

eO *>

o^

V3T

«*■ Va v

^O

VC^

.<3^

aaOV-1

o^e'

>«*>'

.<&<"

*V>>*

~tfv

O^

~>

<^

vO

j*r

.<**

,o<-

n^

\^

N5i^

<3*>

©^

o&

J^4

>&

This exceptional print quality for $560!

The new Comprint model 912 printer for computers and terminals:

■ Fast—225 characters/second (170 Ipm)

■ 80 character lines on 8V2" wide paper

■ Quiet, non-impact operation

■ 6 month warranty

Available now at computer stores and industrial distributors.

Computer Printers International, Inc. 340 E. Middlef ield Rd., Mt. View, CA 94043 • 415 969-6161

Circle 53 on inquiry card.

BASE STATION

REMOTE STATION

OPTICAL CABLE CONNECTOR

Figure 7: Block diagram offull duplex optical com-munications link.

DATA IN

OPTICALTRANSMITTER

OPTICALRECEIVER

2 FIBER OPTICAL CABLE

3cZ

OPTICALRECEIVER

DATA OUT

OPTICALTRANSMITTER

DATA IN

ceiver up to the tower tomorrow, aims itat this window using the gun sight scope ontop. Then we turn on the laser which, in-stead of being connected to the radio,comes from the television. Voila! Instantuninterrupted Red Sox baseball. And, noBeatrice!"

"Will it really work, Steve?" Chesterasked.

"Sure, and tomorrow we'll prove it."

Before the next comment from anyonethe telephone rang and Colonel Fosteranswered it. Chester and I listened andsmiled.

"Look, Beatrice, your team doesn'thave a chance for the pennant. . .Are youstill claiming that that was an error?. . .It wasn't just luck in the 6th I tell you. . ."

Chester and I laughed. Beatrice wasreally giving the Colonel a run for hismoney, but there was a twinkle in his eyeas he spoke. The Colonel was living whathe enjoyed most — baseball. First on tele-vision and then blow by blow with Beatrice.

Communicate on a Light Beam

Most experimenters have never consideredusing a modulated light beam for data com-munication. I'm not suggesting that every-one throw out their twisted pair RS-232 linesand replace them with laser beams, butI do ask you to consider the commercial ad-vantages of such a concept and try a fewexperiments.

When discussing modulated light com-munications, a definition of terms is in order.The two most often heard are lasers andfiber optics. It is important to recognize thatone is a light source and the other is a lightconductor. It is not necessary for them to beused together but this is often the case. I'llexplain more about each later.

A full duplex optical communication link

is shown schematically in figure 1. It consistsof two pairs of optical transmitters andreceivers which allow data to flow in twodirections simultaneously. Data from thebase to the remote travels on one line, whiledata from the remote to the base is on theother. This is a dedicated duplex hookup.Unlike the ones you've probably used, thisone uses fiber optic cable rather than wire.In its commercial applications it can offerthe following advantages:

• Immunity to strong electrical or mag-netic noise. Fiber optic material isusually glass or plastic and since thereis no electrical conduction there canbe no induced electrical noise.

• High electrical isolation. Since the dataconductor is a dielectric material, theisolation between the transmitter andreceiver is a function of distance.

• Higher bandwidth and lighter cable.Optical modulation systems haveinherently higher data rate capabilitiesand glass and plastic weighs less thancopper. Bandwidth is typically TOOmegabits.

• Lower loss than coaxial systems. Newlow loss fibers extend transmissiondistance.

• Negligible crosstalk. If each fiber opticchannel is optically sheathed there isno crosstalk. Even adjacent unsheathedfibers rarely interfere with each other.

• Ultimately lower cost than eithercoaxial or twisted-wire systems. Theraw material (sand) used in makingfiber optics is abundant, while coppergets increasingly more expensive. Costfor a data transmission system is ulti-mately based on dollars per megabittimes distance. Since fiber optic sys-tems have higher bandwidths, the costfactor is slowly moving in their favor.

38 May 1979 © BYTE Publications Inc

"Our inventory is our existence*

Think we'd trust it to anything less

than ScotcK Brand Diskettes?"

Don Stone, Vice-President,Mass. Auto Supply Company,Inc., Boston, Mass.

Scotch Diskettes are thediskettes you can depend uponwith the information yourbusiness depends upon.

Each one is tested andcertified error-free before itleaves our factory. Because weknow nothing less thanperfection is acceptable foryour vital business data.

Scotch Diskettes areavailable in regular or minisizes, compatible with almostany system.

To find out where you canfind Scotch Diskettes, calltoll free: 800-328-1300.(In Minnesota, call collect:612-736-9625.) Ask for the DataRecording Products Division.

If it's worth remembering,

it's worth Scotch

Data Recording Products.

3M

Circle 368 on inquiry card.

BYTE May 1979

39

INCIDENT RAY

REFLECTED RAY

•r»i

n| sin 0| - n2 sinc?g

REFRACTED RAY

Figure 2: An example of reflection and refraction at an interface, such as theside of the optical cable.

Key ingredients in any optical communi-cations system are the transmitters andreceivers. The ultimate data rate is a func-tion of how fast the transmitter can turn onand off, sending one bit of information, andwhether the light sensitive receiver can trackthis transition. If the date rate is very low,say 110 bps in your experimental setup, asimple incandescent light and cadmium sul-fide photocell will suffice. Higher data ratesrequire much faster response and dictate useof LEDs (light emitting diodes) and photo-transistors or photodiodes. Common redLEDs will easily handle 100 K bits per sec-ond and most common phototransistors, ifproperly biased, will also suffice. Higher fre-

Figure 3: Pictorial diagram of a single fiber illustrating the cladding and coreboundary. Only light entering within the "acceptance cone" will be guideddown the optical fiber as in figure 3b. Any rays outside this cone are nottransmitted.

CLADDING n;

quencies require specially fabricated LEDsor, if the transmission line is especially long,then laser diodes might be in order.

It is important to know what each of thecomponents in the system is and the way itsselection affects the other components. Thedesigns illustrated in this article are includedto demonstrate a workable low frequencysystem which the personal computer enthu-siast may wish to build. The physical elec-tronics of high frequency commercial systemsdiffer considerably, but the physical laws andgeneral concepts are the same.

Fiber Optics

Fiber optics are just what they sound like- glass fibers which conduct light ratherthan electricity. To understand optical fiberswe must look at a few definitions. An exam-ple of reflection and refraction is illustratedin figure 2. When a light ray strikes a bound-ary, partial reflection and partial transmissiontake place. The materials on either side ofthe boundary have particular constants n1and n2 respectively (called indices of refrac-tion) associated with them. These constantsare dependent upon wavelength of the lighttransmission and the speed of light throughthe material. Reflection and refraction arerelated as follows:

Reflection 6

Refraction n-| sin 01

sin 6-

The fiber has a core,a. light transmittingmaterial of higher index of refraction sur-rounded by a cladding or optical insulatingmaterial of a lower index of refraction. Fig-ure 3a is a pictorial representation of a singlefiber. Light enters the fiber at an infinitenumber of angles but only those rays enteringthe fiber at an angle less than the criticalacceptance angle are transmitted. Light ispropagated within the core of a multimodefiber at specific angles of internal reflection.When a propagating ray strikes the core/cladding interface, it is reflected and zigzagsdown the core. This is further illustrated infigure 3b.

ACCEPTANCE CONE HALF ANGLESINGLE FIBER

LED ILLUMINATION CONE

40 May 1979 © BYTE Publications Inc

Circle 151 on inquiry card.

Wm

OUTWITM\

■J •) ! / >•■> i

ri \ I '}> it i

!'JJl!i I ) I! I ,'J I J 1 ,'J

otn»o«»J

T

m

>XVj

^?#$?'-

«;lrvKJ»:

YOUR COMPUTER RETAILER NOW

TRS-80, Apple II, Sorcerer, SOL and SouthwestTech 6800 owners: get more out of your personalcomputer.

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

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

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

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

Or get serious with three powerful newlanguages. Level III Basic for the TRS-80. ExtendedBasic for the SOL. And Standard Basic for theSouthwest Tech 6800. All written by Microsoft—theBasic wizards. Exclusively from G2.

A Product ol C

Consumer Ct1286 North Li

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

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

THE REASON JYOU BOUGHT 'YOUR COMPUTER.

+ 5V

; looii

TRANSMITTER

V>3

i

?f

TTL INPUT

-)

GE LED56

r^s r '

Ida

7437

1 S '

2

r

( I GE LI4F2 OR

\k/ EQUIVALENT

rn

Figure 4: Schematic of asimple low speed and shortdistance fiber optics com-munications interface.

Photo 1 demonstrates that a very brightlight can be transmitted through a singlefiber. In this example the conductor is asingle 40 mil plastic fiber with a helium-neonlaser as an illumination source.

A fiber optic transmission system usingreadily available components can be con-structed by any interested experimenter. Asimple interface is shown in figure 4. AnLED driven by a 7437 NAND buffer isfocused into the end of a fiber optic bundle.The light emitted at the other end is focusedon a phototransistor. When the light strikesthe phototransistor it effectively grounds theinput of the 74LS04, producing a high out-

put. The connection between the LED, fiberoptics, and phototransistor is facilitatedthrough use of special optical connectors.Photo 2 shows an assortment of the typewhich should be used to build the interfacein figure 4.

Lasers

The circuit of figure 4 is useful for only ashort distance. This is due primarily to thelow intensity of a standard LED. For greaterdistances a more intense light source is need-ed. This calls for a device such as a laser, anacronym that stands for light amplification

Photo 2: Special connectors necessary to use fiber optics properly. Shown here(starting in the upper right corner and continuing clockwise) are a fiber opticcable with an end connector, a phototransistor in a TO-i8 package, an exten-sion coupling which allows two cables to be connected, and a bulkheadreceptical containing either an LED (light emitting diode) or phototransistor.

42 May 1979 © BYTE Publications Inc

- 100% MIRROR

PULSE LASER

(5b)

STEP I

\/IIIIW/l/l/l/ll//l//lllll\

i in i i i

o

o

o

o

o

o

o

100%

0

o

o

REFLECTIVE

o

o

0

o

o

o

o

0

o

o o

o

o

o

0 o

0

o

RUBY

0

o

0

o

o

SEMITRANSPARENTMIRROR

-XENON FLASH LAMP

OUTPUT BEAM

-99%REFLECTIVEMIRROR

, J..1.HJ.1.L

by stimulated emission of radiation. Lightfrom a laser is all the same frequency, unlikethe output of an incandescent bulb. Laserlight is referred to as coherent, and has ahigh energy density. It can travel greatdistances without diverging from a tightbeam.

The basic requirements for the creationof a laser are quite simple. We need a materi-al that can absorb and release energy. Next,we need an energy source for exciting thismaterial and a container to hold and controlthe lasing action, such as a glass tube or solidcrystal.

In the actual lasing process, the laser ma-terial is placed inside the container, and thenstimulated by means of an energy sourceinto the emission of light waves. The laserbeam is created by channelling the energy ofthese light waves into a particular and con-trolled direction. The result is a highly con-centrated, brilliant beam of tremendouspower. Figure 5 is a schematic of the firstlaser invented by Dr Theodore Maiman anda pictorial description of the lasing process.

The ruby laser is a pulse type laser whichonly produces a light output when thexenon lamp flashes. The best flash lamp canonly be fired a few hundred times a secondwithout extensive cooling apparatus. In aruby laser this pulse mode operation is suit-able for cutting stone and welding steel, butnot for data communications, because theduty cycle is too short and the energy den-sity too high for low cost fiber optics. Thesolution is to use a laser that operates con-tinuously, such as a helium-neon gas laser

(5c)

STEP 2

(5d) STEP 3

(5e) STEP 4

COHERENT

LIGHT

OUTPUT

Figure 5: The first laser, invented by Dr Theodore Maiman, was made from aruby rod excited by a xenon flash lamp. A schematic representation is shownin figure 5a. The laser builds up energy by the following process. In figure 5bthe flash lamp is fired thereby exciting the electrons in the ruby rod. As theelectrons drop back to their original energy level (step 2, figure 5c) they emitphotons in random directions. In-step collisions of photons with otherexcited electrons start a wave front between mirrors (figure 5d). After manyreflections back and forth between the mirrors, a wave front is built up untilit contains sufficient energy to pass through the slightly less reflective of thetwo mirrors. This light output consists of coherent light.

May 1979 © BYTE Publications Inc 43

SOLID STATE LASER

GALLIUMARSENIDE

P-N JUNCTION

ELECTRICCURRENT

Figure 6: Gas and solid-state laser light producingmechanisms.

LASER LIGHT

Photo 3: A laser on atripod shooting across myliving room. The laser is a2.2 mW unit built byMetrologic Instruments ofBellmawr NJ 08031 (thisparticular model is theML-969). This picture wastaken at night; the treesoutside are illuminated byoutside flood lamps.

SPHERICALREFLECTOR

OUTPUT BEAM

(figure 6) or a laser diode which can bepulsed often enough to carry useful data.The He-Ne laser uses mirrors and electricalexcitation in a manner similar to the solidcrystal type except that the lasing action iscontinuous. Photo 3 shows a He-Ne laser inoperation. The particular unit has a poweroutput of 2.2 mW and is made by MetrologicInc. This type of laser can be modulated (thepower supply high voltage is modulated) andused to drive a fiber optic bundle, but it isnot normally used in that application. Thelight output of a He-Ne laser is usually red.

GAS LASER

TUBE CONTAINING MIXTUREOF HELIUM AND NEON

SPHERICALREFLECTOR

£L

ELECTRODE

HIGH VOLTAGE

Wffim iJBBfel ftSEOfr

H M i •—

M\

nT

ALTOS presents a new standardin quality and reliability

AC/

■■

WE'RE ALTOS COMPUTER SYSTEMS. Our SUN-SERIES ACS8000 business/scientificcomputer creates a new standard in quality and reliability in high technology computers.

HIGH TECHNOLOGY The ACS8000 is a single board,Z80®* disk-based computer. It utilizes the ultra-reliableShugart family of 8 inch, IBM compatible, disk drives. Achoice of drives is available: single or double density, single ordouble sided. Select the disk capacity you need, when youneed it: *4M, 1M, 2M, or 4M bytes. The ACS8000 featuresthe ultimate in high technology hardware: a fast 4 MHz Z80CPU, 64 kilobytes of 16K dynamic RAM, 1 kilobyte of 2708EPROM, an AMD 9511 floating point processor, a WesternDigital floppy disk controller, a Z80 direct memory access,Z80 Parallel and Serial I/O (two serial RS232 ports, 1 parallelport), and a Z80 CTC Programmable Counter/Timer (real timeclock). In essence, the best in integrated circuit technology.

COMPUTER SYSTEMS

BUILT-IN RELIABILITY The ACS8000 is a true singleboard computer. This makes it inherently reliable and main-tainable. The board and the two Shugart drives are easily ac-cessible and can be removed in less than five minutes. All elec-tronics are socketed for quick replacement. Altos providescomplete diagnostic utility software for drives and memory.

QUALITY SOFTWARE Unlimited versatility. The ACS8000 supports the widely accepted CP/M®** disk operatingsystem and FOUR high level languages: BASIC, COBOL,PASCAL and FORTRAN IV. All available NOW.

PRICE ACS 8000-1, single density, single-sided ['/, Mb] $3,840

ACS 8000-2, double density, single-sided [1 Mb] $4,500

ACS 8000-3, single density, double-sided [1 Mb] $4,800

ACS 8000-4, double density, double-sided [2 Mb $5,300

Brackets show disk capacity per standard two drive system. All

models come standard with 32 Kb RAM and two 8" disk drives as

shown above. Expansion to 64 Kb is $363 per 16 Kb. FPP, DMA,

software optional. Dealer/OEM discounts available. Delivery: 30

days ARO, all models.

*ZB0 is a trademark of Zilog, Inc.

••CP/M is a trademark of Digital Research. Inc. Circle 7 On inquiry card.

2338A WALSH AVENUE • SANTA CLARA • CA 95050 • (408) 244-5766

Figure 7: System configu-ration necessary for onecomputer to transmit datato another via a helium-neon laser beam. Theschematic for the modula-tor and demodulator areshown in figures 8 and 9,respectively.

Figure 8: A frequencyshift keyed laser modula-tion Interface. This circuitaccepts input from thecomputer's UART(univer-sal asynchronous receiverand transmitter). A logic 7input produces a 2400 Hzoutput. An input of logic0 produces a 1200 Hzoutput. The power con-nections for the integratedcircuits are shown in tableI. The starred capacitor iseither a mylar or poly-carbonate capacitor.

COMPUTER A

SERIAL OUTPUT

MODULATOR

/

HELIUM-NEONLASER

The most economical high intensity lightsource for long runs of fiber optics is thelaser diode. Don't be so whimsical as to runout and buy one thinking you are going tomake a ray gun — it should be just as easy touse as an LED. Laser diodes get very hot inoperation and are generally operated only inpulse mode. An 8 W laser diode sold throughthe surplus dealer can have an average powerof only a few hundred microwatts whenused in pulse mode operation. Using laserdiodes in continuous operation is beyondthe talents and resources of most hobbyistsand must be left to the commercial ranks forthe moment. The light output from a laserdiode is infrared and invisible to the humaneye.

Communicating on a Laser Beam

While it is possible to demonstrate com-munication with a laser diode, it is muchmore dramatic with a He-Ne laser since youcan see the beam. A He-Ne laser can be mod-ulated, but it cannot be turned on and off

f5V

SERIAL INPUT r^^FROM UART I—"5>~

10K

y*20K

IC54049

DISCHARGE

IC3NE555

THRESHOLDTRIGGER

OUT

FREQUENCYADJUSTMENT

O.OI^F*

4800Hz

m

to

IC54049

I0K

£

SET

IC4a4027

RESET

If

p—q

COMPUTER 8

iiSERIAL INPUT

\

DEMODULATOR

PHOTODETECTOR

rapidly like an LED or diode. Instead thelight intensity is modulated by the datasignal. The Metrologic laser I used is a typeML-969 "modulatable" laser. It has a BNCconnector on the rear and accepts a 0 thru1 V input for 0 to 15 per cent intensitymodulation. Any greater degree of modu-lation shuts off the lasing action.

Figure 7 illustrates the system configura-tion necessary to transmit data from onecomputer to another. Figure 8 is the sche-matic of a FSK (frequency shift keyed)modulation interface which can be used asthe input to the laser. A 4800 Hz frequencyreference produced by IC1 is divided by IC2to give either 2400 Hz or 1200 Hz for a 1 or0 logic input respectively. The modulationinput to the laser can be any 1 V input up to500 kHz bandwidth. A transistor radio is agood test source for experiments.

The receiver is shown in figure 9. Thelaser beam is directed at the phototransistor.With no modulation, the sensitivity is adjust-ed to set the phototransistor in the middleof its linear range. With the modulationturned on, the trigger adjust control isturned until the modulation data is seen attest point 1. If using a transistor radio as thesource, the analog output can be obtained atthis point and the rest of the circuit isunnecessary.

IC4b4027

CLOCK

RESET

I

OUTPUTADJUSTMENT

fL

i0.005/i.F

-) IV PEAKTO PEAKOUTPUTTO LASER

m

46 May 1979 © BYTE Publications Inc

The Only Computer Reference Book You Need.

The one computer referencebook that won't go out of date.Because we vow to supplyupdates—free—to registeredCookbook owners as long as wekeep our loose-leaf binder editionin print. We'll send you newpages. You just pull out the oldand plug in the new.

Bad business? We don't thinkso. It's our way of supporting thepeople who supported us. Afterall, the Cookbook is your book.We've distilled the advice ofhundreds of computer ownerswho've put together systems—

and had to make them work.

Working on a word processingsystem? We offer a quick anddirty hyphenation algorithm (usedin the early phototypesettermachines) that you can doyourself in BASIC—and we tellyou how the big machines do it.

Accounts receivable? We havestep-by-step recipes in our specialmachine independent "Cook-book" format—plus adviceon what hardware you need, andhow to hook it up.

And for fun, we tell you how todo your astrological chart. Or tie

your computer to the New YorkStock Exchange. We even offerMerrill Lynch, Pierce, Fenner,and Smith's commondity marketmodel—but offer no money-backguarantee on that one. Plushardware profiles with the kind ofnitty-gritty details you won't getanywhere else.

And if the Cookbook doesn'tcover your particular problem, letus know—we just may solve it inour next update. 'Cause if it isn'tin the Cookbook, just wait—itprobably will be.

Yes, I'm hooked. Ship me the Cookbook. I enclose $15 plus $1.50 shipping. (We always ship by UPS. However, allowfour weeks for "worse case" Cookbook supply problems. California residents add $.98 sales tax. Checks should bepayable to "The Computer Cookbook." Or charge to Mastercharge or Visa).

NameStreetCity

State

for Mastercharge/Visa: Card NumbersSignature

Expiration Date

Zip

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

See the Computer Cookbook at the 4th West Coast Computer Faire May 11-12-13.Our booth is Number 47—Downstairs in Brooks Hall, far left corner.

Circle 52 on inquiry card. byte May 1979 47

JDCC

CM

< o<

CO

CVJ

CC _1

UJ HO

7

U)t-t-

CM

CC tO

= 03

* I- CC -J

lO O 0 UJ Q

CC 10 2 IM <

>

I

•J

<0

10

</>±

UJ o1-0.

.10 r4-

3£

fee

« fa

iS °

>-' *

"" N

? ^

§ Si

^ -SiIs; <->

Si «

e i

O id

S- w

"1 ^

K IDSo

cri

fe

§1

U. 0

•2 G

s la £

g 8 2

§ o S

i, 5 o

-vw-•-£

~«-

s§

^J

2

c

>

CM

+

r^

r~

r*

r^

>

CM

1

*r

*

«

t

■OC30S

a

r~

l»

-

CO

CO

>

LO+

^f

«

CO

CO

-

CO

a>■1-

CO

*

0

CO

_jin

LOLOLOUJ

z

rs

CMO

en

a

09

5

_J

5

E

3Z

O

CNO

CO

O

5

100

CO

0

l»

O

CO

O

01U

o a

•s I

I"8

su .0

I

<o ?:

O O

o u

•S if,3

Jo -T-

•t; «: .

u •=: cj

48 May 1979 © BYTE Publications Inc

+ I2V

LM340-5

0.22/iF

m

3 10/tFIOV

Mr

• C>+5V

IA

FUSE TAPPED

TRANSFORMER

18V CENTER IN4002

TYPICAL OF 4

f 0 + I2V

• 0~I2V

Integrated circuits 1 thru 4 form a fre-quency shift keyed demodulator with a TTL(transistor-transistor logic) output which issent to a UART (universal asynchronousreceiver-transmitter). To tune this section,first connect a 1200 Hz signal source to testpoint 1. Turn potentiometer R2 until theoutput amplitude of IC3 test point 4 peaks.Then apply 2400 Hz to test point 1 and ad-just R1 until the amplitude at test point 3also peaks. R3 adjusts the point at whichcircuit's output switches between logiclevels. It should be set to follow the input attest point 1 with the shortest response time.

While the 15 per cent modulation couldbe detected directly and converted to NRZ(nonreturn to zero) formatted data, the re-ceiver circuitry would be far more compli-cated. The combination of amplitude andfrequency modulation techniques is intend-ed to add significantly to the chances that anexperimenter will have success building it.The critical parameters (as with any opticalsystem) are alignment and light level. And,while you may not have to transmit a RedSox baseball game across two miles of NewHampshire woods, it's nice to know how ifyou ever have to do it.

If you have any questions, ideas or com-ments on Ciarcia's Circuit Cellar please writeto me and enclose a self-addressed, stampedenvelope. I'm always interested in knowingwhat you readers think. Next month's"Circuit Cellar" topic will be biofeedback.*

Figure 10: A triple voltage power supply for the laser modulator.

computer mart of new jerseycomputer mart of Pennsylvania

the

microcomputer

people®

Computers don't make ocomputer store, PEOPLE do. Ourpeople hove been involved withmicrocomputers since day one.We offer experience andexpertise unparalleled in themicrocomputer industry. Whetheryou ore in the market for acomplete system, peripherals,custom software, service, or justsome friendly advice; there simplyis no other place to go.

530D.KolbPlh

King ot Pruuia. PA 1V406

(213)263-2500

Circle 66 on inquiry card.

May 1979 © BYTE Publications Inc 49

ProductDescription

The Superboard II

A Surprising Single Board Computer From OSI

All' \F* °:

. 1*1-1 MIHIMWIllbBBBBBBBBBB

t nine b.bdb

II SH HfllGl

Photo 7: The Ohio Scientific Superboard II single board computer,which features a 6502 processor, expandability, an 8 K byte MicrosoftBASIC package on read only memory, and 1 K bytes of dedicatedmemory for video, sells for $279. +5 V power supply not included.

Photo 2: OSI Challenger IP, electrically identical to the Superboard II,but with power supply and case, for $349.

Christopher MorganExecutive Editor

My first experience with an OhioScientific product (in fact, my first ex-perience with a personal computer) waswith an OSI single board computer Ibought in 1976. The unit sold for $99 andfeatured a row of eight switches and ac-companying LEDs (light emitting diodes)for entering machine language pro-grams. It had 256 bytes of program-mable memory, and no other I/O (in-put/output) besides the LEDs.

Much has happened to the personalcomputer industry since then, and this isreflected in OSI's latest single boardcomputer, the Superboard II. Actually astripped down version of the Challenger1P, the Superboard II is a no frills com-puter with surprising capabilities. The$279 price buys an assembled and testedunit with a 53 key upper and lower casekeyboard on one board. The user mustsupply a + 5 V power supply and a videomonitor or TV set with RF (radio fre-quency) converter in order to be up andrunning.

The Superboard II comes with amachine language monitor and 8 K byteMicrosoft BASIC in read only memory, 4K bytes of user memory, and a KansasCity standard cassette interface. A 6502processor forms the heart of the system.An intriguing graphics package is alsosupplied: the direct access video displayhas 1 K bytes of dedicated memory.

BASIC PEEK and POKE commandsare used to create the video display. 256special graphics characters can be call-ed by the user for special applicationsincluding tanks and spaceships for

50 May 1979 © BYTE Publications Inc

games, plus building block charactersfor generating bar graphs and the like.

The Superboard II can also be boughtwith a cabinet and power supply includ-ed in the form of the Challenger 1P; theprice is $349 to which the cost of atelevision monitor must be added.

A variety of software is available fromOSI for both units in the areas of games,business software, and educational soft-ware. Titles include: Tiger Tank; LunarLander; Breakout; Presidents Quiz; TrigTutor; Math Think; Checking Account;Advanced Mathematics; Definite In-tegrals; Return on Investment; LoadCalculator; Cash Flow Analysis; andmany others.

Evaluation

Having an 8 K byte Microsoft BASICpackage on board the Superboard II is areal plus, especially when you considerthe price. I found the Kansas City stan-dard cassette interface to be rather slowwhen entering long programs, but pro-grams are listed on the screen while be-ing read —a real convenience. The 25character by 25 line display format tooksome getting used to, but the charactersare big and easily read. There is no provi-sion for screen clear. Not mentioned inthe instructions is the fact that thekeyboard must be in upper case modefor the user to enter programs and com-mands. This is a minor point, but onewhich might lead one to think that theunit is malfunctioning.

One of the attractive features of thiscomputer is its expandability. The Super-board II (and the Challenger 1 P) can beexpanded with the addition of a 24 Kbyte programmable memory expanderboard, dual 5 inch floppy interface, portadapter for printer and modem, and anOSI 48 line expansion interface. Anassember/editor and extended machinecode monitor are also available. Theunit can be upgraded to a 5 inch floppysystem called PICODOS for approx-imately $650 additional cost. PICODOSis a limited single drive system that givesthe user an 8 K byte work space and theability to store up to eight programs onone disk. A full capability single drivecomputer system can be had for under$1000.

The Superboard II is an excellentchoice for the personal computer en-thusiast on a budget. ■

CJDhy reinventthe wheel?

Graham-Dorian Software Packages areturn-key programs. We supply thesource... you tailor for your customers.And save months of tedious work!

Here are sophisticated programs that meet theinformation processing needs of the businessprofessional. Graham-Dorian packages are fullydocumented, including source code in each packageand easily understood operator instructions.

All programs compatible with any Z-80 or 8080CP/M® system, and can be ordered in standardeight-inch disk either double or single density, ormini-floppy disk. Each package contains a disk withCBASIC-2 compiler, CBASIC-2 run command,XREF command, the Graham-Dorian softwareprogram in INT and BAS file form, plus a user'smanual and hard copy source listing. Average 185Kof programs per package.

• Inventory Package — Can be connected withcash register for point of sale inventory control.Number of on-line items limited only by disk spaceavailable.

• Cash Register Package — Creates daily salesreports containing information on gift certificates,paidouts, overrings, refunds, and how much ineach category a salesperson sold.

• Payroll Package — Handles 100% of allnecessary payroll functions including state incometax tables for your state. Ideally suited for bothlarge and small companies.

• Apartment Package — Said one user,"Obviously, this was developed by apartmentowners." The package fills virtually all the needs ofapartment owners and managers. Ideal forprojects with 75 units or more.

$695.00 for any package listed above. Any singlepackage order includes free CBASIC-2.

Send for detailed packet of information explainingcapabilities of each program and sample runs. Or,phone our software technicians.

Watch for new Graham-Dorian Software Programreleases. Attractive dealerships available.

G^fl^k Graham-Dorian Software Systems^^ ^^^^^B programs are copyrighted and require^^tf^H ^^ licensing agreement.

\/£j^n^^^V^F Visa an<i Master Ctrarge accepted.

Graham-Dorian Software SystemsA Division of Graham-Dorian Enterprises211 N. Broadway / Wichita, KS 67202(316) 265-8633

Circle 152 on inquiry card.

May 1979 © BYTE Publications Inc 51

Single ChipVideo Controller

Bob Haas

20887 SW Willapa Way

Tualatin OR 97062

Several semiconductor manufacturershave recently produced video display con-trollers contained on a single integratedcircuit. While none of these is the "videoterminal-on-a-chip" that some of the pub-licity would have you believe, these newdevices perform many of the functions re-quired in a video display, thereby reducingthe number of integrated circuit packagesrequired. In addition, they are all program-mable to some degree, which allows addingnew features to an existing design at lowincremental cost, or changing display for-mats if required by changing needs. Thesecharacteristics make these devices particu-larly interesting to a computer experimenter.A user might start with a 16 line, 64 char-acter, upper case only display, and as re-quirements (and budget) increase, convert to

About the Author:

Bob Haas leads a double life: by day he designs 6800 systems (forTektronix's 4051 group); and by night he works on 6502 systems (on hisown KIM-1 system). He uses the MC6845 display system described in thisarticle with his KIM-1.

Acknowledgment

The author wishes to thank Mr Hank Trieckel of Motorola, Inc for his assistancein the preparation of this article.

a "professional" 24 line, 80 character, upperand lower case format just by adding morememory and a new character generator.

In this article, I will present a survey ofthe characteristics of four video display con-trollers, namely, the Intel 8275, the Motor-ola MC6845, the NS (National Semicon-ductor) DP8350, and the SMC (StandardMicrosystems Corporation) 5027. In addi-tion, I will present a detailed description ofthe Motorola part and a design for a displayusing that device.

Device Characteristics

Table 1 summarizes the important char-acteristics of each device. All of the devicesare programmable. The Intel, Motorola, andSMC parts are programmed by the micro-processor system to which they are attached.This means that when the system is poweredup, a program must be executed to initializethe display controller, before a proper dis-play will appear on the display screen.

The display formats of the Intel andMotorola devices are, within limits, com-pletely variable. For the Motorola part, anyline width from 1 to 256 characters canbe chosen. (Of course, these limits are un-reasonable values; the actual limits are deter-mined by the display timing constraints, anexample of which will be given in the de-tailed discussion of the Motorola unit, laterin this article.) The SMC 5027 is manu-factured with a fixed "menu" of line widths,Text continued on page 56

52 May 1979 © BYTE Publications Inc

APPLE HI-RES GRAPHICS: The Screen Machine bySoftapem

The Screen MachineHi-res Character

4++++++++++++++++++++++++++++++++++

Current AsciiCharacter Set

by Bill DepeuCOPYRIGHT 1979 SOFTAPE!7x8 dot natrix

SPRAGUE UDN 2841BHi ah Current DriversSCHEMATIC (each driver)

hit 'a' for'n' for

transistor

9123456789=;<=>?eABCDEFGHIJKLMNOPQRSTUUHXY2E\3*_^abcdefghijklftnopqrstuwuxyz ♦*

"9 for plot

'n' for blank

1r' for restart

•b' for backspace

11' load characters

's' saue characters

'e' exit progran

18k 7.2k 3k

Open the manual and LOAD the cassette. Then get ready to explorethe world of Programmable Characters' with the SCREEN MA-CHINE M. You can now create new character sets — foreign alpha-bets, electronic symbols and even Hi-Res playing cards, or, use thestandard upper and lower case ASCII character set.

The "SCREEN MACHINE" lets you redefine any keyboard character.Just create any symbol using a few easy key strokes and the "SCREENMACHINE" will assign that symbol to the key of your choice. Forexample: create a symbol, an upside down "A" and assign it to thekeyboard 'A' key. Now every time you press the 'A' key or when theApple prints an 'A' it will appear upside down. Any shape can beassigned to any key!

The "SCREEN MACHINE" gives you the option of saving yourcharacter symbols to disk or tape for later use. There is no compli-cated 'patching' needed. The SCREEN MACHINE is transparent toyour programs. Just print the new character with a basic print state-ment. The "SCREEN MACHINE" is very easy to use.

Included on the cassette are Apple Hi-Res routines in SOFTAPESprefix format. You can use both Apple's, routines and the SCREENMACHINE to create microcomputing's best graphics.

Cassette, and Documentation, a complete package $19.95

III

ii \/ \/ \/ \/ [my [] \/ \/ £]

n w \/ \/ \/ C3m/ C] \/ \/ \/n/ n/ \s \/ w E3H\/ El \/ \/ \/\/ \/ \/ \/ \/ tJB\/ E3 \/ V v\/ \/ \/ \/ \/ E3lr»/ \/ \/ \/ \/ If\s \/ \/ w \/ \/fl\/ \/ \/ \/ \/ v

/\ y\ y\ /\ /\ /\tt/\ /\ /\ /s /\ ?

/\ y\ /\ s\ /v /

/\ /\ s\ /\ s\ /

~~ /\ /\ /\ E

/\ /\ /\ E

lul

24 23 22 21 28 19 18 1? 16 15 14 13

AN INTERPRETIUE MUSICAL LANGUAGE

BY GARY J. SHANNON

COPYRIGHT <C> 1979 BY SOFTAPE

'<■ is B" £961.6' SAMPLE SONG PROGRAM" ■

5 20 "WRITTEN ON THE APPLE COMPUTER"

H 3B T175 Ul P2

y. 40 E4/8 G/4 A5/6 B C/16 B/8

•-! 50 A F#4 0 E/16 F*/8

\. 60 G/8 E E D#/16 E/8 F»/4 D»/8 B/4

y. 70 E G/4 A5/8 B C/16 B/8

(. 88 A/4 F#4/8 0/4 E/16 Ft/8

MICROGAMMON 1.0 Learn, practice and inhance your Backgammonability with a true competitor $14.95

APPLE-LIS'NER Voice recognition Software. Create your own pro-grams which 'listen' and understand 31 spoken words — English orForeign. No hardware needed $19.95

APPLE TALKER Your Apple's voice. Create programs which talk toyou in English or Spanish or any language $15.95

JUPITER EXPRESS Command your ship thru the hazards of theAsteroid belt between Mars and Jupiter $9.95

FORTE' A music language, written like basic, you use line numbersfor your notes. You can trace line numbers or notes. You can evenprint the words of any song. Save your song to your Disk . $19.95

FORTH DL Is the creation of Wm. Graves. This language gives youfaster execution of programs than basic and is easier to program thanmachine language. Our 100 page manual will teach you everythingyou will need. FORTH Xcomes complete with demo programs onone Apple diskette $49.95

WHERE TO GET IT: Look for the SOFTAPE Software display inyour local computer store. Apple dealers throughout the UnitedStates, Canada, South America, Europe and Australia carry theSOFTAPE Software line of quality products.

If your local dealer is sold out of SOFTAPE Software you can order itdirect from us by check or Visa/Master Charge. If you have any ques-tions please call us at:

BRIGHT PEN What is the difference between a light and a BrightPen? Intelligent Software and extensive documentation . . . . $34.95

VISA

1-213-985-5763

Or mail your order to the address below. We'll add your name to ourmailing list for free literature and announcements of new products.

SOFTAPE!

10432 Burbank Blvd. • North Hollywood, CA 91601

Circle 329 on inquiry card.

BYTE May 1979 53

For your SWTP 6800 Computer... I

PERCOM's"FLOPPY DISK SYSTEM

Ready to plug in and run the moment you receiveit. Nothing else to buy, no extra memory. No"booting" with PerCom MINIDOS™, the remark-able disk operating system on EPROM. Expand-able to either two or three drives. Outstandingoperating, utility and application programs.

PERCOM DATA COMPANY, INC.

211N.Kirby Dept.B Garland, Texas 75042(214) 272-3421

For the low $599.95 price, you not only get the disk drive, drive powersupply, SS-50 bus controller/interface card, and MINIDOS™, you alsoreceive:

• an attractive metal enclosure • a fully assembled and tested inter-connecting cable • a 70-page instruction manual that includes operat-ing instructions, schematics, service procedures and a complete list-ing of MINIDOS™ • technical memo updates — helpful hints whichsupplement the manual instructions • a 90-day limited warranty.

SOFTWARE FOR THE LFD-400 SYSTEMDisk operating and file management systemsINDEX™ The most advanced disk operating and file managementsystem available for the 6800. INterrupt Driven Executive operatingsystem features file-and-device-independent, queue-bufferedcharacter stream I/O. Linked-file disk architecture, with automatic filecreation and allocation for ASCII and binary files, supports sequentialand semi-random access disk files. Multi-level file name directoryincludes name, extension, version, protection and date. Requires 8K

RAM at $A000. Diskette includes numerous utilities $99.95

MINIDOS-PLUSX An easy-to-use DOS for the small computing sys-tem. Supports up to 31 named files. Available on ROM or diskette

complete with source listing $39.95

BASIC Interpreters and CompilersSUPER BASIC A 10K extended disk BASIC interpreter for the 6800.Faster than SWTP BASIC. Handles data files. Programs may be

prepared using a text editor described below $49.95

BASIC BANDAID™ Turn SWTP 8K BASIC into a random access datafile disk BASIC. Includes many speed improvements, and program

disk CHAINing $17.95

STRUBAL+™ A STRUctured BAsic Language compiler for the pro-fessional programmer. 14-digit floating point, strings, scientific func-tions, 2-dimensional arrays. Requires 16K RAM and Linkage Editor(see below). Use one of the following text editors to prepare programs.Complete with RUN-TIME and FLOATING POINT packages $249.95

Text Editors and ProcessorsEDIT68 Hemenway Associates' powerful disk-based text editor. Maybe used to create programs and data files. Supports MACROS whichperform complex, repetitive editing functions. Permits text files larger

than available RAM to be created and edited $39.95

TOUCHUP™ Modifies TSC's Text Editor and Text Processor for Per-Com disk operation. ROLL function permits text files larger thanavailable RAM to be created and edited. Supplied on diskette com-plete with source listing $17.95

AssemblersPerCom 6800 SYMBOLIC ASSEMBLER Specify assembly optionsat time of assembly with this symbolic assembler. Source listing on

diskette $29.95

MACRO-RELOCATING ASSEMBLER Hemenway Associates'assembler for the programming professional. Generates relocatablelinking object code. Supports MACROS. Permits conditional

assembly $79.95

LINKAGE EDITOR — for STRUBAL+™ and the MACRO-Relocating

assembler $49.95

CROSS REFERENCE Utility program that produces a cross-reference listing of an input source listing file $29.95

Business ApplicationsGENERAL LEDGER SYSTEM Accommodates up to 250 accounts.Financial information immediately available — no sorting required.Audit trail information permits tracking from GL record data back to

source document. User defines account numbers $199.95

FULL FUNCTION MAILING LIST 700 addresses per diskette. Power-ful search, sort, create and update capability $99.95

PERCOM FINDER™ General purpose information retrieval systemand data base manager $99.95

™ trademark ol PERCOM Data Company, mc

Ordering information

To order, call toll free 1-800-527-1592. MC and VISA welcome. CODorders require 30% deposit plus 5% handling charge. Allow threeweeks for delivery. Allow three extra weeks if payment is by personalcheck. Texas residents add 5% sales tax.

PERCOM 'peripherals for personal computing'

54

BYTE May 1979

Circle 301 on inquiry card.

E...

Addon Mini-Disk for the TRS-80

Requires 16K RAM,Level II BASIC andExpansion Interface.

PERGOM

PERCOM DATA COMPANY, INC.

211 N.Kirby Dept. B Garland,Texas 75042(214) 272-3421

To Order Call 1 -800-527-1592

•RADIO SHACK and TRS-80 are trademarks ol Tandy Corporation which has no relationship lo PERCOM DATA COMPANY INC.

Circle 301 on inquiry card.

BYTE May 1979 55

Intel8275

MotorolaMC6845

National

Semiconductor

DP8350

Standard

Microsystems Corp

5027

Format

Lines by Characters

fully programmableto 64 by 80

fully programmableto 128 by 256

mask programmableto 64 by 110

programmed optionsto 64 by 132

MicroprocessorCompatability

8080 family(direct memoryaccess only)

all

all

all

Simplest SystemInterface

direct memoryaccess via Intel8257

shared memory

shared memory

shared memory

Display MemorySize (maximum)

64 K

16K

4 K

4K

Addressing

linear

linear

linear

row/column

Scrolling

line, character, page

line, character, page

line, character, page

line only

Cursor

blink or steady,reverse video orunderline

blink or steady,reverse video orunderline

reverse video orunderline, no blink

reverse video orunderline, no blink

Interlace

none

video, or video andsync, or none

none

none or interlacedsync and video

Light Pen

yes

yes

no

no

Graphics Capability

limited

full

full

full

Process

MOS

MOS

ML

MOS

Power

+5 V

+5 V

+5 V

+5,+12 V

Other Features(see text)

on board linebuffers; visualattributes

high-speed timingon board

self-loading for stand-alone use

Table 7: Summary of characteristics of four video display controllers.

Text continued from page 52:such as 20, 32, 40, 64, 72, 80, 96, and 132characters, from which the initializationprogram can choose.

The NS DP8350 is mask programmed. Itscharacteristics are set by internal read onlymemories, the contents of which are deter-mined when the device is manufactured.Changing the display format with this partmeans unplugging the current unit and plug-ging in a differently manufactured unit. Anumber of stock formats, among them 24lines by 80 characters, will be available, butif your particular needs are not met by astock part, you must contract with NS toprogram a custom part, agree to purchase acertain quantity, and perhaps pay a onetime mask charge.

The SMC part has the ability to load itsformat parameters at power-up from anexternal read only memory, so that it doesnot have to be part of a microprocessorbased system at all. It can therefore be usedin a so-called "dumb" terminal.

All of the devices may theoretically beinterfaced to any microprocessor, but prac-ticalities limit the choices. The Intel part,being part of the 8080 family, is designed tointerface to 8080 based systems via DMA(direct memory access) through the Intel8257 DMA controller. This makes it difficultto interface the Intel part to non8080 sys-tems. In fact, since many people's S-100 bus8080 systems will not support direct mem-

ory access, the Intel part would be difficultto interface even to these systems.

The Motorola MC6845, a member of theMotorola 6800 family, is easily interfaced to6800 and 6502 systems, and can be inter-faced to 8080 and Z-80 systems. The NS andSMC parts have system interfaces similar tothe Motorola part. The simplest method ofinterfacing the latter three parts is by meansof shared memory, wherein the displaymemory appears to the processor to beordinary programmable memory.

Memory Usage

The maximum size of the display refreshmemory for each part is limited by the num-ber of refresh memory address lines comingout of the package. The Motorola part has14 address lines, and the NS and SMC partseach have 12. The Intel part has access tothe entire system memory through anattached direct memory access controller,and the system memory may be as large as64 K (65,536) bytes. The Intel, Motorola,and NS parts access linear (sequential) re-fresh memory addresses, so there is a simplerelationship between the refresh memoryaddress of a given character and its positionon the display screen.

The SMC 5027, however, outputs ad-dresses in a row and column format which(without the addition of hardware to do ad-dress translation) causes inefficient use of

56 May 1979 © BYTE Publications Inc

NorthStarT

"Micro-Computer Productsto Look Up to"

Y

\7^

I

Horizon Disk CapacityKeeps Growing

The Horizon is now capable of 720Kbytes on-line! The Horizon can connectto four double density 51/i" single-sideddisk drives. Each of those drives canaccess 180K bytes of information. Afour drive system accesses 720 K bytes!

That's capacity you don't usually find ina microcomputer, but there's evenmore to come! The North Star disk con-troller board is designed so that two-sided disk drives may be added assoon as they become available fromNorth Star.

Existing Horizons will accommodate thenew two-sided drives so North Starowners can simply add additionaldrives to up-grade their system. Eachtwo-sided drive will access 360K bytes!That means the maximum on-line diskstorage for the Horizon will increase toover 1.4 million bytes!

New Cabinetfor Disk Drives

North Star additional disk drives arenow available with the same highquality wood cover as the Horizoncomputer! The Additional DriveCabinet (ADC) is designed to accepteither one or two drives for the Horizonor for mounting North Star Micro DiskSystem drives. Like the Horizon, theADC is available with either wood orblue metal cover. Included is a newpower supply capable of poweringone or two drives. The ADC is $129 in kitform. Assembled, with one drive theADC is $599, with two drives $999.

Pascal Now Availablefor Horizon

The much-heralded Pascal languageis now being offered for use with theNorth Star Horizon computer. North

Inside view of Horizon with processorboard, RAM board, disk controller, twodrives, and power supply.

Star, with the co-operation of the Uni-versity of California at San Diego, isnow delivering a Pascal Program De-velopment system. North Star Pascal isideally suited for developing largeprograms because of features such as:long variable names, block-structuredcontrol statements, and compilation.North Star Pascal is available on 5Vt"diskettes for use with the Horizon orMicro Disk System. North Star Pascalwill operate with either the Z80 or 8080microprocessor.

Pascal, including documentation, isavailable in either single or doubledensity versions for $49.An auxiliary Pascal diskette, contain-ing an 8080/Z80 assembler and someadditional Pascal utilities, is availablefor $29. Complete information is avail-able at your local retail computerstore.

First Double Density,Now Double Memory

The new North Star 32K RAM board(RAM-32) has doubled the memorydensity of the popular Horizon compu-ter. Available either with the Horizon orotherS-lOObuscomputers, the RAM-32runs at full speed-no wait states-with the 4 MHz Z80A microprocessor(as well as with slower Z80 and 8080processors). Addressability of theRAM-32 is switch-selectable in four 8Kregions.

North Star RAM features like bank-switching and parity checking arestandard. The parity checking capa-bility means that the RAM-32 is con-stantly diagnosing itself. That's a plusfor your system. The fact that paritychecking is a North Star RAM-32 stan-dard is a plus for your pocketbook!There is no extra charge for this impor-tant capability.

A Horizon with 48K of RAM can be con-figured by using one North Star 16KRAM board and a RAM-32. Needmore memory? 56K can be configuredby using two RAM-32 boards with one8K region switched off.

NORTH STAR MDS, ZPB,FPB FOR OTHERS-100 COMPUTERS

Upgrade your system with these NorthStar products — avai lable for any S-100computer: Micro Disk System —acomplete 5W floppy disk system, Z80Processor Board, or the HardwareFloating Point Board.

Horizon and RAM board prices are:

Kit

Assembled

Horizon - 1-16K

$1599

$1899

Horizon - 1-32K

1849

2099

Horizon - 2-32K

2249

2549

RAM-32

599

659

RAM-16

399

459

■4 Atypical Horizon configuration: CRT, Hori-zon computer. Additional Drive Cabinet(ADC). W>

NorthSlary

Computers

2547 Ninth StreetBerkeley, California 94710(415) 549-0858

Circle 285 on inquiry card.

BYTE May ll)79

57

display memory when the display dimen-sions are not integer powers of 2. For exam-ple, building a 24 line by 80 characterdisplay with the SMC part would require arefresh memory that is 24 by 128, or 3,072bytes total. Of these, 1,152 bytes would notbe displayed. Also, a program to manage thedisplay would have to perform row andcolumn calculations to locate a given screenposition. Of course, additional hardwarecould be added to "linearize" the addresses,but this defeats the purpose of using one ofthese devices, namely, the reduction ofhardware.

Scrolling and Cursing

All of the devices provide scrolling, thatis, the ability to move data around on thedisplay screen without actually moving thedata in the refresh memory. The SMC deviceprovides line scrolling only. An example ofscrolling using the Motorola part is given in alater section of this article.

All the parts provide for the generation ofa cursor (ie: some way for a human oper-ator to determine the position at which thenext character entered from a keyboard willbe placed on the display). The Intel andMotorola devices allow a steady or blinkingcursor consisting of an underscore or a re-verse video (black on white) block. The NSand SMC parts allow for underscore or re-verse video, but do not provide blinking.

Video Signal Characteristics

A standard North American televisionpicture is composed of two frames of 2621/2scan lines each, with scan lines from alter-nate frames interlaced vertically the width ofone line, so that the resultant picture has525 scan lines. Many computer video dis-plays use only about 262 scan lines, and arenot interlaced. This limits the maximumnumber of character rows on a display toabout 25.

The Motorola part allows the use ofinterlacing to produce an aesthetically morepleasing display by doubling character dotsvertically. This fills in what might otherwisebe spaces on a high-resolution display. Thisis called interlaced sync, in Motorola'sterminology. The Motorola and SMC partsalso provide for interlaced sync and video,in which all 525 lines can be used for charac-ter formation, allowing as many as perhaps50 character rows per display. The use ofinterlace does cause a flicker effect onordinary white phosphor (P4) monitors, butcomputer experimenters with long per-sistence, green phosphor (P39) monitorsmay want to consider using interlace.

Other Features

The Intel and Motorola circuits providesupport for a light pen, that is, a light-sensitive "wand" used by the display oper-ator to point to areas on the display screento signify something to the attached sys-tem. This requires additional hardware toimplement.

The data displayed on the screen by thedisplay controller need not be dot patternsfrom a character generator read only mem-ory. They might be dots forming part of agraphic image. Except for the Intel part,the display controllers support whatevergraphics-generation hardware the systemdesigner cares to attach to them. The Intelpart is limited in this area because of itsline buffers, which orient it toward char-acter generation only (more on this later).

The Intel, Motorola, and SMC displaycontrollers are manufactured by the MOS(metal oxide semiconductor) process, anddo not include the so-called high-speedtiming function of a display on the device.The National part, however, uses an l2L(integrated injection logic), with none of thespeed limitations of MOS, so it does includethe high-speed timing functions. This inclu-sion helps to reduce external parts count. (Adiscussion of just what these timing func-tions are follows in a later section of thisarticle.)

As mentioned earlier, the Intel displaycontroller must interface to a system througha DMA controller such as the Intel 8257.The Intel display controller incorporates two80 character line buffers. While it is display-ing a row of characters from one line buffer,it fills the second line buffer from the mem-ory by "stealing" some memory cycles. Itthen uses the second line buffer for displayand fills the first line buffer from the thirdrow of characters, and so on. The timing fora 24 line by 80 character display is such thatup to 25 percent of a system's memorycycles may be taken by the display con-troller action. The Intel part's line buffersstore 7 bit characters, so the graphics achiev-able with this part are limited to what can bedisplayed with a 128 character set, aug-mented by character-set switching (usingadditional hardware).

A distinguishing feature of the Intel partis support for visual attributes. With onlyminimal external hardware, blocks of char-acters can be made to blink, be highlighted(higher than normal brightness), be reversed(black on white), be underlined, or have anycombination of these four qualities. In addi-tion, two more attribute signals are providedthat could provide color selection on a colordisplay.

58 May 1979 © BYTE Publications Inc

Color. VP-590 add-on Color Board allows programcontrol of 8 brilliant colors forgraphics, color gamesPlus 4 selectable background colors. Includessockets for 2 auxiliary keypads (VP-580). $69*

Sound. VP-595 Simple Sound Board provides 256tone frequencies. Great for supplementing graphicswith sound effects or music. Set tone and durationwith easy instructions. $24*

Music. VP-550 Super Sound Board turns your VIP into a musicsynthesizer. 2 sound channels. Program control of frequency,time and amplitude envelope (voice) independently in eachchannel. Program directly from sheet music! Sync provisionfor controlling multiple VIPs, multitrack recording or othersynthesizers. $49*

Memory. VP-570 RAM Expansion Board adds 4Kbytes of memory. Jumper locates RAM in any 4Kblock of up to 32K of memory. On-board memoryprotect switch. $95*

EPROM Programmer. VP-565 EPROM Programmer Boardcomes complete with software to program, copy andverify 5-volt 2716 EPROMs—comparable to unitscosting much more than the VP-565 and VIP puttogether! Programming voltages generated on _ <

board. ZIF PROM socket included. $99*

EPROM Interface. VP-560 EPROM InterfaceBoard locates two 5-volt 2716 EPROMs (4Kbytes total) anywhere in 32K of memory.VIP RAM can be re-allocated. $34.*

ASCII Keyboard** Fully encoded, 128-character ASCIIencoded alpha-numeric keyboard. 58 light touch keysincluding 2 user defined keys! Selectable upperand lowercase. Handsomely styled. Under $50.*

Tiny BASIC." VP-700Expanded Tiny BASIC Boardputs this high-level languageon your VIP. BASIC storedin 4K of ROM. Ready for im-mediate use—no loadingnecessary. This expandedBASIC includes the standardTiny BASIC commands plus12 additional—includingcolor and sound control!Requires external ASCIIencoded alpha-numerickeyboard. $39.*

uxiliary Keypads. Programyour VIP for 2-player inter-action games! 16-keykeypadVP-580 with cable ($15*connects to sockets pro-vided on VP-590 Color Boardor VP585 Keyboard InterfaceCard ($10*).

COSMAC VIP lets you add.computer power a board at a time.

With these new easy-to-buy options, the versatileRCA COSMAC VIP(CDP18S711) means evenmore excitement. Morechallenges in graphics,games and control func-tions. For everyone, fromyoungster to serious hobby-ist. And the basic VIP com-puter system starts at just $249* assembledand ready to operate.

Simple but powerful—not just a toy.

Built around an RCA COSMAC micro-processor, the VIP includes 2K of RAM. ROMmonitor. Audio tone with a built-in speaker.Plus 8-bit input and 8-bit output port to inter-face relays, sensors or other peripherals. It's

easy to program and operate.Powerful CHIP-8 interpre-tive language gets you intoprogramming the firstevening. Complete docu-mentation provided.Take the first step now.Check your local com-puter store or electronicsparts house. Or contactRCA VIP Marketing, New Holland Avenue,Lancaster, PA 17604. Phone (717) 291-5848.

'Suggested retail price. CDP18S711 does not include video monitor or cassette recorder.""Available 1st Quarter, 1979.

The fun wayinto computers.

RCA

Circle 322 on inquiry card.

BYTE May 1979 59

BUSV —U-

REFRESH

MEMORY

7

\ M1SC

J CONT

jr

=fc

CHARACTER/REVERSE VIDEO

CHARACTER VIOEO

DOT CLOCK 9MHz

CHARACTER CLOCK 1.5 MHi

t=0

CHARACTEGENERATOR

5 C=t

SCANLINETIMING

SCAN LINE OVERFLOW

VERTICAL (ROW)TIMING♦ 29 COUNTER

HORIZONTAL OVERFLOW

CHARACTER CLOCK

Jfl

VERTICAL SYNC

HORIZONTAL

(CHARACTER)

TIMING

+ 96 COUNTER

HORIZONTAL SYNC

HORIZONTAL BLANKING

COMPOSITE-O VIDEOOUT

Figure 7; Block diagram of a conventional video display which uses TTL (transistor-transistorlogic) integrated circuits.

A Conventional Display Design

To understand what the single integratedcircuit video display controllers do, it ishelpful to understand what functions a video

Photo I: Video display circuit constructed from TTL (transistor-transistorlogic) devices. This is the same TTL circuit discussed in the article text.

display circuit must perform, and how thosefunctions can be carried out with conven-tional TTL (transistor-transistor logic). Fig-ure 1 shows the block diagram of such a dis-play. A total of 32 packages (including thememory and character generator circuits) isrequired. The design is optimized for a 16line, 64 character format. It uses the sharedmemory type of interface to the system.This interface scheme is simpler to imple-ment, and faster for sytem updates, than thecursor control interface used in TV Type-writer designs, but it does suffer from a"snow" effect when the system updatesthe display.

A 9 MHz crystal oscillator provides thetiming for the entire display. The 9 MHzsignal is used to clock the shift register thatfeeds dots (or pixels) to the video combinercircuit, hence it is called the "dot clock."The character generator is a 5 dots horizontalby 7 dots vertical unit The dot clock fre-quency is divided by 6 to allow for the 5horizontal dots in each character, plus oneblank dot space between characters. Thedot clock divided by 6 is called the characterclock, and it controls the transfer of char-acters between portions of the circuit.

The horizontal timing circuit is driven bythe character clock. This circuit counts to95, then resets itself to 0; therefore there area total of 96 character intervals in each hori-zontal scan. The character clock rate of 1.5

60 Mav 1979 © BYTt Publications Inc

MHz (9 MHz divided by 6) yields a charactertime of 0.666 ps. 96 character intervals perhorizontal scan yield a scan time of 63.94lis, or a frequency of 15,640 Hz, close to thetelevision standard. Of the 96 characterintervals, 64 are displayed, and 32 areblanked.

At the end of each horizontal scan,another counter, the scan line counter, isincremented. It counts to 8, then resets itselfto 0. Its output is connected to the charactergenerator, to cause the character generatorto output the correct line of dots for eachscan line. Scan lines 0 and 8 are blank, be-cause the character generator puts out nodots for these lines. There are, therefore,two blank scan lines between rows of char-acters. When the scan line counter resets to0, the vertical (row) counter is mcremented.The vertical counter counts to 28, then re-sets to 0. The first 16 counts are used todisplay character rows, and the remaining 13are blanked. The 29 rows of nine scan lineseach yield a total of 261 scan lines perframe, a vertical scan time of 16.69 ms(63.94 ps times 261), and a vertical fre-quency of 59.9 Hz, close enough to 60 Hz tominimize any shimmy problems in the dis-play caused by power supply ripple or mag-netic fields.

The addresses supplied to the refreshmemory are produced by the horizontal(character) timing and the vertical (row)timing. The vertical address is incrementedonly when the scan line counter resets, so

n Hi If B .

m iiiiiiiii

y**

Photo 2: Printed circuit board from photo 1 after modification. Observe thewiring changes and "kluge board" attached to the back side of the board. Thesmall kluge board contains the Motorola MC6845 video display processor,which has been grafted onto the original circuit. A mirror was used to showfront and back sides simultaneously.

IMMEDIATE DELIVERY ^

MODEL40 300 LPM PRINTERS

■ Mechanism or complete assembly

■ 80-column friction feed

■ 80-column tractor feed

■ 132-column tractor feed

INTERFACES

• EIA-RS232

• Simplified EIA-Iike interface

• Standard serial interface

• Parallel device interface

CCnCDAI CommunicationsrtUCnML Corporation

11126 Shady Trail, Dallas, Texas 75229, (214) 620-0644,

TELEX 732211 TWX 910-860-5529

MODEL 43 TERMINALS

• 4310 RO (Receive Only)

• 4320 KSR (Keyboard Send-Receive)

• 4340 BSR (Buffered Send-Receive)

INTERFACES

• TTL Serial

• EIA RS232 or DC20 to 60ma

• 103-type built-in modem

Circle 134 on inquiry card.

May 1979 © BYTE Publications Inc

61

REVERSEVIDEO

iTf=

CHARACTER/REVERSE VIDEO

DOT CLOCK 9MHI

SYSTEDATA BUS

BUS (■ [j-

SYSTEM f >-ADDRESS (—

A0-A9

R/W D—RESET O-

-<n>

I Htt-Khi

P v MEMOR

fa

fan:

n

10 -t~l

TT

1*1

CLOCKGENERATOR

P "S ADDRESS ,. /i *

\g j MULTlPLEX ^J^

SYSTEM DATA BUS

-t

JT

t=t

MISCELLANEOUSCONTROL

CHARACTER CLOCK1.3MHz

6845 CURSOR

HORIZONTAL SYNC

VERTICAL SYNC

VIDEOCOMBINER

COMPOSITE* VIDEOOUT

Figure 2: Block diagram of a video display utilizing the Motorola MC6845 video display controller.

that a given row of 64 characters of refreshmemory is scanned nine times, in order to"paint" all seven scan lines of the characters,plus two blank lines. When the scan linecounter resets, the vertical counter is incre-mented so that the next row of 64 charac-ters may be scanned. In order to center thedisplay, the vertical sync pulse is producedat about the 22nd character row, and thehorizontal sync pulse at about the 80thcharacter interval.

The circuit includes the capability of re-versing (ie: converting to black on white)any character with bit 7 (the most signifi-cant bit) on. Thiscan be used to highlightblocks of text, or generate a cursor.

Normally the refresh memory is con-nected to the vertical and horizontal timingcircuits through a multiplexer, which can bethought of as a 10 pole, 2 position switch.When the processor wants to update the dis-play, control circuitry switches the multi-plexer so that the address the processorwants to update is supplied to the refreshmemory instead of the address the timingcircuits would be supplying. The processorreads or writes the location. The memoryoutput is probably not correct for the dis-play at that moment, so a segment of a dif-ferent character is substituted for the correctone, producing the snow effect if extensiveupdates are being performed. The snow canbe eliminated by allowing the processor toaccess the refresh memory only when thedisplay is blanked, but I did not include cir-cuitry for this in my design.

Using the Motorola MC6845 DisplayController

Figure 2 shows the block diagram of thedisplay redrawn using the Motorola MC6845.The change is not striking. The 6845 has re-placed only three blocks, namely, scan linetiming, vertical (row) timing, and horizontal(character) timing. The circuit using the6845 has five fewer packages. The 6845occupies about the same amount of boardspace, consumes about the same amount ofpower, and costs more than the TTL pack-ages it replaces. What have we gained by thereplacement? For the person who is per-fectly happy with the 16 by 64 TTL design,nothing. However, the advantage of the6845 lies in its programmability. The charac-teristics of the display of which it is a partare easily changeable. This means that thesame circuit can provide formats other than16 by 64, such as 25 by 40, 14 by 72, and12 by 80. The 6845 provides hardwarescrolling, a blinking cursor (in addition tothe selectable reverse video carried over fromthe all TTL circuit), support for a light pen,and three interlace options.

The programmability of the 6845 is inone way a slight disadvantage. An initializa-tion program must be run by the system be-fore the display will start up. The TTL ver-sion starts displaying immediately uponpower-up, although the display will show atfirst whatever random characters the refreshmemory contains at power-up.

Motorola's diagram of the 6845's internal

62 May 1979 © BYTE Publications Inc

Circle 335 on inquiry card.

SSM "BLUE BOARDS'

The Standard of Value

«*•* »

|^

ar

t.

CBI 8080 CPU Board

•sec.

JJJ.

■

pi

Availableassembledor as kits.

If you're looking for

outstanding value in

S-100 boards you can't

afford to overlook the "Blue assemb

Boards" from SSM. The best or as kl

combination of design, quality

and price available anywhere. Innovative designs

that feature versatility and reliable performance.

Quality backed by a strong warranty. And prices

that won't let you down.

But value goes beyond the boards themselves.It's reflected in the company that stands behindthem. And SSM has been known for unparalleledcustomer service since the beginning of thepersonal computing industry.

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

hi iI8

•I Ml II.

|M* iim!1!jh|

:i«S» i.: -o?-si'|HJ161SI1IH«I V

a "H* mi las

am 8080 CPU Board ...JOS" 4K Static RAM -.

s-iTJ Music Synthesizer Board -.s=/it Memory Mapped Video Board ....

5=m SK Static RAM —

am I/O Mapped Video Board...

Bm Low Power 16K Static RAM -

am Parallel I/O Board .

am 4K Static RAM/PROM -

am 2 Parallel 6 2 Serial I/O Board -

am 2K/4K EPROM Board -.

=SSJ Vector Jump & Prototyping ..

am 16K EPROM Board —

Om 15 Slot Motherboard...

Om 2708/2716 EPROM Programmer..

^SiTJ Extender Board ...

2116 Walsh Avenue

Santa Clara, CA 95050 (408) 246-2707

Send for our free brochure and find out why so manyhobbyists and OF.Ms have chosen SSM products.

Music. We

Figure 3: Functional blockdiagram of the Motor-ola MC6845 video displaycontroller. Diagram usedby permission of MotorolaSemiconductor Products,Inc.

Vcc GND1 \

R/W CS RS E RESET DO D7

MM L

HORIZONTALCTR(-r256)

MC

CE HORIZONTALSYNC WIDTHCTR (-H6)MC

CHARACTERROWc CTRI-M28)MC

VERTICALCONTROL

SCAN LINEr CTRl-^32)MC

HEND ■CLK •

LINEAR

ADDRESS

GENERATOR

c

ESS REGISTERDECODER

HORIZONTALTOTAL REG.

)C°C

HORIZONTALDISPLAYED REG. K-

>c

HORIZONTALSYNC POSITIONREG.

rr

HORIZONTALSYNC WIDTHREG

)<°C

VERTICATOTAL REG

^

VERTICALTOTAL ADJUSTREG.

V DISPLAY

0

VERTICALDISPLAYED REG

3 C°

VERTICASYNC POSITIONREG

:d REG. V, |

5ITION r

INTERLACEMODE REG.

3-C

MAX SCAN LINEADDRESS REG.

CURSOR STARTREG.

CURSORCONTROL

CURSOR ENDREG.

STARTADDRESS REG.

\ RI6J RI7

CURSORADDRESS REG.

B

LIGHT PENREG.

3

—I \ displ;

__) / ENABL

structure is shown in figure 3. The charac-teristics of the display are set by valuesstored in the 6845's internal registers by aprogram run on the system processor. Someof the registers are written only once, at sys-tem power-up, to establish the format of thedisplay. Other registers are updated period-ically as part of normal display usage.

In order for the system to access the

6845's internal registers, the device is con-nected to the system data bus, the system4>2 (phase 2) and R/W (read/write) controllines, to an address decoder, and to addressbus line 0. The display now responds to twosets of addresses — 1,024 addresses cor-responding to the 1,024 screen positions,and to two additional addresses used to ac-cess the 6845's internal registers. I will call

64

May 1979 © BYTE Publications Inc

Build your own microcomputer

as you learncomputer technology at home.

New from NRI! The Most Complete and Up-to-date Home Study Course Ever Offered

As the microprocessor revolutionizes thecomputer world and microcomputers appearalmost everywhere, NRI brings you a new,convenient, and effective way to keep up withthis expanding technology. It's NRI's ComputerTechnology Course, created and designed exclu-sively for learning at home in your spare time.

Featuring NRI's ExclusiveDual Language Microcomputer

NRI goes beyond book learning togive you practical, "hands-on" experience indesigning circuitry, interfacing components,programming, and troubleshooting. As youlearn, you actually assemble NRI's designed-for-learning microcomputer, incorporating the latestadvances in the state of the art. It looks andoperates like the finest of its kind, actually doesmore than many commercial units. But NRIengineers have designed components andplanned assembly so it demonstrates importantprinciples, gives you working experience in detect-ing and correcting problems. And it's yours tokeep, put to work in your own home or business.

You also build and keep your own testinstruments, including a transistorized volt-ohm meter and CMOS digital frequency counter.And NRI's Discovery Lab® broadens yourhorizons with specialized experiments andtheory demonstrations.

The Proven Wayto Learn at Home

You don't have to worry with travel,classes, or time lost from work when you learnthe NRI way. As they have for more than 60

years of teaching technical subjects, NRI bringsthe material to you. You study in your spare time,at your convenience, using "bite-size" lessonsthat program material into logical segments foreasier assimilation. You perform experimentsand build equipment using kits we supply. Andyour personal NRI instructor is always availablefor consultation should you have questions orproblems. Over a million students have alreadyshown the effectiveness of NRI training.

Choice of Courses

Several courses are available, dependingupon your needs and J™ mm "" ~™ ~"background. NRI's MasterCourse in ComputerTechnology starts withthe fundamentals, ex-plores basic electronicsand digital theory, thetotal computer world,and the microcomputer.The Advanced Course,for students alreadyversed in electronicsand general comput-ers, concentrates on themicroprocessor and mic-rocomputer. In bothcourses, you build allinstruments and yourown computer.

Send for Free Catalog...No Salesman Will Call

Get the details on these exciting newcourses in NRI's free, 100-page catalog. Showsall kits and equipment, lesson outlines, and fullinformation, including facts on other electronicscourses. Mail the coupon today and we'll rushyour catalog. No salesman will ever call. Keep upwith the latest technology as you learn on yourown computer. If coupon has been removed,write to NRI Schools, Computer Department,3939 Wisconsin Ave, Washington, D.C. 20016.

NRI Schools

McGraw-Hill Conlinuing

Education Center3939 Wisconsin AvenueWashington, D.C. 20016NO SALESMAN Will, CALLPlease check for one free catalog only.

□ Computer Electronics IncludingMicrocomputers

□ TV/Audio/Video Systems Servicing

□ Complete Communications Electronicswith CB • FCC Licenses • Aircraft,Mobile, Marine Electronics

D CB Specialists Course

D Amateur Radio • Basic and Advanced

,\.Wilvt>»H'"

All career coursesapproved under GI Bill.□ Check for details.

□ Digital Electronics • ElectronicTechnology • Basic Electronics

□ Small Engine Repair

□ Electrical Appliance Servicing

□ Automotive Mechanics

□ Auto Air Conditioning

□ Air Conditioning, Refrigeration, & HeatingIncluding Solar Technology

(Please Print)

Age

Clly/State/ZIp

Accredited by the Accrediting Commission of the National Home Study Council

BYTE May 1979 65

Listing 7: Initializationroutine for MC6845 ascoded for the 6800 micro-processor.

Listing 2: Initializationroutine coded for the6502 microprocessor.

0200

5F

CRTINI

CLR

B

INITREG #

0201

CE

0213

LDX

#TABLE

INIT TABLE PTR

0204

F7

E800

CRTLP

ST A

,B

CRTC

STORE REGISTER NUMBER

0207

A6

00

LDA

A

0,X

GET TABLE VALUE

0209

B7

E801

STA

A

CRTC+1

STORE IN REGISTER

020C

08

INX

NEXT TABLE VALUE

020D

5C

INC

B

NEXT REGISTER NUMBER

020E

C1

10

CMP

B

#16

LAST REGISTER?

0210

26

F2

BNE

CRTLP

REPEAT IF NOT LAST

0212

39

RTS

RETURN TO CALLER

0213

TABLE

FCB

$5E,$40,$4D,$08

0217

FCB

$1C,$02,$10,$16

021 B

FCB

$00,$08,$40,$08

021 F

FCB

$00,$00,$00,$00

0200

A2

00

CRTINI

LDX

#0

INIT REG AND TAB PTR

0202

8E

00 E8

CRTLP

STX

CRTC

STORE REGISTER NUMBER

0205

BD

11 02

LDA

TABLE,X

GET TABLE VALUE

0208

8D

01 E8

STA

CRTC+1

PUT VALUE IN REGISTER

020B

E8

INX

NEXT REGISTER

020C

E0

10

CPX

#16

LAST?

020E

DO

F2

BNE

CRTLP

REPEAT IF NOT

0210

60

RTS

RETURN TO CALLER

0211

TABLE

.BYTE

$5E,$40,$4D,$08

0215

.BYTE

$1C,$02,$10,$16

0219

.BYTE

$00,$08,$40,$08

021 D

.BYTE

$00,$00,$00,$00

Photo 3: Display gener-ated by MC6845 con-trolled circuit. The 12 lineby 80 character format isshown. Parameters illus-trated are values placedin 6845 registers by pro-gram executing on themain system processor. A10.275 MHz crystal is usedto correct for severe over-scan in the author's moni-tor.

*mmmmmrommwmmmmmmtmmm*mmmmtttttmm

* THIS IS THE 12 BY S3 FORMAT ,

* FOR THE MOTOROLA MC6345-C0NTR0LLED DISPLAY t

PARAMETERS: R8 113 (6E) R139<53) R2 99 (5A) R3 3 (®)

R4 27 (IB) R5 5(85) R6 12(80 R7 22 (165

**" 3 R3 8 (88) R18 8 (83) Rll 3 (833

R12,13,14,15 - AS REQUIRED

* TIMING IS FOR 18.275 KHZ CRYSTAL t

* FEATURES1 EJfijjjgJElJUl LNDER IHE CURSOR s

Photo 4: MC6845 circuitgenerated display using 16line by 64 character for-mat. Parameters shownand referenced are correctfor 10.275 MHz crystal,which was left in placeafter demonstrating 12 by80 format. See table 2 forparameters appropriate for9.0 MHz crystal.

tuumuummiumunummmmummuummun* *

* THIS IS THE 16 BY £4 MC6845 DISPLAY FORMAT t

* *nt Hd 12 cl Bo

2 84 (54)

* TIMIf

larawiayg reverse uideo ■

mmmtittummmmmmmmmmmmmmtmm

66 May 1979 © BYTE Publications Inc

these latter addresses X and X+1; with the6845's RS (register select) line connected tosystem address line 0 (the least significantbit), these will be consecutive addresses.

The first address, X, is the 6845's"pointer" register, which determines whichregister is accessed through address X+1. Towrite to a particular register, store the regis-ter number at X, and the desired value atX+1. A routine to initialize the 6845 codedfor the 6800 is shown as listing 1, and a ver-sion for the 6502 as listing 2. The 6502 ver-sion is slightly shorter, because the 6502's Xregister can be used both as a table pointerand as the 6845 register number.

Table 2 summarizes the function of eachregister and the values to be programmedinto each register for three formats: 16 linesby 64 characters, 25 by 40, and 12 by 80.The detailed function of each register andthe calculation of the values for the 16 by64 format are as shown in the followingseventeen examples.

R0 Horizontal total. This register is pro-grammed with one less than the total num-ber of character intervals in a horizontalscan. A value of 94 provides for a total of 95character intervals. This produces slightlybetter overall timing than the value of 96character intervals used in the TTL circuit.The horizontal scan time is 95 X 0.666jus = 63.27 jus, for a frequency of 15,800 Hz.

R1 Horizontal columns displayed. A valueof 64, equal to the number of charactersdisplayed, is used.

R2 Horizontal sync position. A value of77 specifies that the horizontal sync pulse isto start at the 77th character position. Thisvalue centers the display on my particularmonitor, but may be varied as needed forother monitors.

R3 Horizontal sync width. This is spec-ified in number of character intervals. Avalue of 8 yields a sync pulse width of 5.33/is, close to the television standard.

R4 Vertical total. This register is pro-grammed with one less than the total num-ber of character rows. A value of 28 speci-fies 29 character rows.

R5 Vertical total adjust. This registerallows adding additional scan lines to thevertical display time to trim the vertical scanfrequency, if required to bring it close to thepower line frequency (to minimize display"shimmy"). A value of 2 is used here.

R6 Vertical rows displayed. This registeris programmed with the number of char-acter rows to be displayed, 16.

R7 Vertical sync position. A value of 22specifies that the vertical sync pulse is to beproduced at the 22nd character row, whichcenters the display on my monitor. Othermonitors may require a slightly different

Register

Function

Value for16 by 64

25 by 40

12 by 80

RO

horizontal total

94 (5E)

-

110I6E)

R1

horizontal cols, displayed

64 (40)

40 (28)

80 (50)

R2

horizontal sync position

77 (4D)

66 (42)

90 (5A)

R3

horizontal sync width

8 (08)

-

-

R4

vertical total

28 (1C)

-

27 (1B)

R5

vertical total adjustment

2 (02)

-

5 (05)

R6

vertical rows displayed

16 (10)

25 (19)

12 (0C)

R7

vertical sync position

22 (16)

27 (1B)

22(16)

R8

interlace mode

0 (0)

-

-

R9

maximum scan line

8 (08)

-

-

R10

cursor start

64 (40)

-

-

R11

cursor end

8 (08)

-

-

R12

refresh start address(high order)

0*

-

-

R13

refresh start address(low order)

0*

-

-

R14

cursor address(high order)

0*

-

-

R15

cursor address(low order)

0*

-

-

R16

light pen (high order)

**

R17

light pen (low order)

##

Table 2: Appropriate values to-be stored in internal registers of MC6845 forseveral display formats. The decimal representation is given first, and thehexadecimal representation follows in parentheses. The values marked by oneasterisk (*) may be updated during display usage. The positions marked bytwo asterisks (**) are for a light pen; this.design does not provide for a lightpen. The values given for the 12 line by 80 character format should be usedwith a 70.275 MHz crystal. The values for the J6 by 64 and 25 by 40 formatsare specified for a 9.0 MHz crystal.

Value Stored in R10(decimal)

Result

0

8

32 or 40

64

72

96

102

nonblinking reverse blocknonblinking underscoreno cursor

fast blinking reverse blockfast blinking underscoreslow blinking reverse blockslow blinking underscore

Table 3: Summary of cursor options for Motorola MC6845. To produceresults shown in table, a value of 8 must also be stored in R11.

value. The vertical sync pulse width is notprogrammable, as is the horizontal syncpulse width. It is fixed at 16 scan line times.

R8 Interlace mode. This register is pro-grammed with 0, specifying no interlace(equivalent to the TTL circuit). Two otherinterlace modes are available, as mentionedpreviously, but these require a long per-sistence phosphor (P39) monitor.

R9 Maximum scan lines. This register

May 1979 © BYTE Publications Inc 67

* THIS IS THE 25 BY 48 FORMAT FOR

* FOR THE MC6845 DISPLAY

t PARAMETERS^ SAHE AS 12 BY 89

* EXCEPT: Rl 48 (48)X R2 72 (48)

* R6 25 (19)X R7 26 (1A)

* FEATURES^

UNDERLINE CURSOR.

NOTE: THE MONITOR SCAN WIDTH HAS *

* BEEN INCREASED SLIGHTLY AND SHOULD %% BE INCREASED EUEN MORE TO MAKE THIS *

* FORMAT MORE READABLE. *t ' *

* TIMING FOR 18.275 MHZ CRYSTAL *

tttttnttntttttttttnttttttttmttttttt

Photo 5: Display demonstrating 25 line by 40 character format, again pro-duced by the MC6845 circuit. As before, see table 2 for 9.0 MHz crystalparameters.

• is programmed with the maximum scan linenumber that is to be presented to the char-acter generator, and is 1 less than the num-ber of scan lines per character row. A valueof 8 causes the counter to run from 0 to 8,then back to 0. This produces a total of ninescan lines per character row. Using this num-ber along with the others specified above,the resultant vertical timing is: 29 rows(R4) X nine lines per row (R9) = 261 scanlines. 261 scan lines + two lines extra (R5)= 263. Now, 263 X 63.27 jus per scanline = 16.64 ms per vertical scan, or a fre-quency just under 60.1 Hz, again close tothe power line frequency. (Other valuescould be used to adjust the vertical fre-quency to 50 Hz, the common power linefrequency in other countries.)

RIO and R11 Cursor start and end. Theseregisters, specify the format of the cursor.The values of 64 for RIO and 8 for R11 gen-erate a cursor which is a blinking reversevideo block covering the entire character.For discussion of other cursor options seethe section entitled "Cursor Generation."

The above registers are write only. Valuesmay be stored in them, but not read back.These registers are generally written to onlyonce (when the system is first powered up)to establish the characteristics of the display.

R12 and R13 Refresh start address. These

registers are the high order six bits (R12)and low order eight bits (R13) of a 14 bit re-fresh address counter. For a nonscrolled dis-play, these are initialized to 0. For a scrolleddisplay, these registers will be updated peri-odically; since they, too, are write only,copies of them must be maintained by theprocessor. More information on the use ofthese registers is given in the section onscrolling.

R14 and R15 Cursor location. Theseregisters are the high order six bits (R14 andlow order eight bits (R15) of the locationat which the cursor is to be displayed. Whenthe refresh address output by the 6845equals the cursor address, a cursor outputsignal is activated, subject to the constraintsplaced on the cursor by values placed in RIOand Rl 1. More information on cursor gener-ation is in a later section of this article. R14and R15 are in principle readable as well aswriteable, but unless proper buffering isprovided for the 6845, they cannot be read.The circuit presented in the next sectiondoes not have the proper buffering, so theseregisters are treated as if they were writeonly, and copies are maintained by theprocessor.

R16 and R17 Light pen. These read onlyregisters capture the refresh memory addressat the instant a pulse is received from an ex-ternal light pen. The processor can therebycalculate where on the display screen theoperator is pointing the light pen. I provideno circuitry to support this feature of the6845.

Display Design Description

Figure 4 shows the schematic of the dis-play using the Motorola MC6845. TheMC6845 being a MOS device (limited incounting speed to about 3 MHz), the high-er speed dot and character clock circuits arestill TTL. These are the high-speed timingfunctions mentioned previously. They mustbe implemented with external TTL packageson the Intel and SMC parts as well. TheNational display controller includes the dotclock crystal oscillator and the characterclock divider on the chip.

IC10 is a 9 MHz crystal oscillator. IC9and IC7a divide this by 6 to produce thecharacter clock. IC9 counts from 0 to 5;when it reaches 5, the output of IC7a goeslow, conditioning IC9 to reset itself on thenext clock pulse. Two variants of the char-acter clock are used. The output of IC7agoes high when IC9 goes from 5 back to 0,and a rising edge clock pulse is needed forIC2, IC4, an IC5. A falling clock is neededfor IC1 and the 6845. Furthermore, theclock supplied to IC1 must be high a min-imum of 220 ns, and low a minimum of 160

68 May 1979 © BYTE Publications Inc

32K Board Pictured Above

New RAM Prices.

From The Dynamic Memory Company.

16K—$24948K—$500

32K—$37564K—$625

Ever since we started makingthese memory boards over a yearago we have continued to lowerour prices to stay competitive.Due to your confidence in us, weare again able to lower ourprices! Our reliability has beenproven by months of superiorperformance in thousands ofinstallations. Our low-power boardsare being used by quality-mindedsystems manufacturers across thecountry and overseas.

4MHz boards now available.

After receiving hundreds ofrequests, our engineering staff hascome up with a new version of ourboard which runs on 4MHz Z-80systems. It wasn't easy to comeup with a high speed board whichwould operate as reliably as our450ns version, but after months ofcareful design and testing, we didit. The price of the 250ns board is$10 per 16K additional.

Circle 45 on inquiry card.

All of our features remain.

Our boards didn't become greatsellers only because of the price.We still offer you our deselectfeature which allows our RAM tooverlap with any fixed memoryareas in your system. Also, theRAM area of our board is fullysocketed so that you can expandthe board yourself.

Other standard features include:plug selectable addressing on 16Kboundaries (shorting plugs areplaced over wire-wrap pins toaddress the board — located onthe top of the board for easychanges), S-100 and Z-80compatability and totally invisiblerefresh — no wait states.

Fully assembled, tested, andguaranteed.

All of our boards go through arigorous testing procedure. Theyare then placed on burn-in runninga series of memory tests to detectany other possible faults. After youreceive the board, you are backedby us with a one year warrantee.

Low power consumption keepsyour computer from "losing itscool."

The total power consumption ofour 16K board is typically lessthan 4 watts ( + 8V @ 300ma,+16V @ 150ma and -16V @20ma). Boards with additionalmemory typically increase powerconsumption only 1 watt per 16K!

Standard S-100 Interface.

Our board is designed tointerface with any standard S-100CPU. All of the timing of the boardis independent of the processorchip, and the board is set up fordifferent processors by changingtwo plugs on the board.

Contact your local dealer.

To find out more about our RAMboards, contact your local dealer.If he is unable to help you, call orwrite us for a fast response.Central Data Corporation, 1207North Hagan Street, Champaign, IL61820. (217) 359-8010

Central Data

BYTE May 1979

69

<0 *— 2

1

6

&

-H

AH

An

$

'1 *| °

|Q HI u. U

_L_ in

<t~

<<r-

H;

T^

; -6 ro sO sO

r^r^r^r^r^r^r^r^

■0 so lo

J

£

I* IS

A 6 6

§66 q 6 6 6 666(5666666

< < <t < <<<«*«<<

Figure 4: Schematic diagram of display circuit incorporating the MC6845 device. All integrated circuits except IC6 may below power Schottky (LS) type.

70 May 1979 © BYTE Publications Inc

Circle 286 on inquiry card.

s

-ijLy-g

JUST WRAP TOOL WITH*ONE 50 FT. ROLL OF WIRE

mm ■'*;■-» ■"■'-'■IW

COLOR

PART NO

U.S. LIST PRICE

BLUE

JW-1-B

$14.95

WHITE

JW-1-W

14.95

YELLOV

r jw-1-y

14.95

RED

JW-1-R

14.95

E3

REPLACEMENT ROLL OF

WIRE 50 FT.

BLUE

R-JW-B

WHITE

RJWW

2.98

YELLOV

f R-JW-Y

2.98

RED

R-JW-R

2.98

WHY CUT?WHY STRIP?WHY SLIT?

I

HOT...

ST

AWG 30 Wire

.025" Square Posts

Daisy Chain or Point To Point

No Stripping or Slitting Required

...JUST WRAP™....

Built In Cut Off J

Easy Loading of Wire

Available Wire Colors:

Blue, White, Red & Yellow

DAISY CHAIN

POINT TO POINT

MACHINE & TOOL CORPORATION 3455 CONNER ST., BRONX, N.Y. 10475 (212) 994-6600/TELEX 125091

'MINIMUM BILLING S25.00 / AD SHIPPING CHARGE $2.00 / NEW YORK CITY / STATE RESIDENTS ADD APPLICABLE TAX.

Number

Type

+5 V

GND

-12V

-5 V

IC1

MC6485

20

1

IC2

74174

16

8

IC3

2513

24

10

1

12

IC4

74166

16

8

IC5

74175

16

8

IC6

7416

14

7

IC7

7400

14

7

IC8

7486

14

7

IC9

74163

16

8

IC10

7404

14

7

IC11

74157

16

8

IC12

74157

16

8

IC13

74157

16

8

IC14

21L02-1

10

9

IC15

21L02-1

10

9

IC16

21L02-1

10

9

IC17

21L02-1

10

9

IC18

21L02-1

10

9

IC19

21L02-1

10

9

IC20

21L02-1

10

9

IC21

21L02-1

10

9

IC22

74LS367

14

7

IC23

74LS367

14

7

IC24

74LS138

16

8

IC25

74LS138

16

8

IC26

7404

14

7

Table 4: A power pin table for the circuit in figure 4.

ns. The output of IC7a is of the wrongphase and is low for only 110 ns. Fortun-ately, the C output of IC9 is high for 220ns (during counts 4 and 5), so it is used asthe 6845 clock.

The 6845 presents the address of a char-acter for refreshing the display to the mem-ory. The memory then presents the char-acter to the latch, IC2. The character inIC2 is then presented to the charactergenerator, IC3. The dots for the specifiedscan line of the character are presented tothe shift register, IC4, and shifted out at thedot clock rate to produce the video signal.

The 2 Character Pipeline

There is effectively a 2 character pipe-line — one character being accessed from therefresh memory, and one character (actuallyone row of dots from a character) being ac-cessed from the character generator. Thetwo 6845 signals, cursor and display enable,must be delayed two character intervals bysections of IC5 to accommodate the pipelineeffect. Display enable is low whenever thedisplay is to be blanked. This includes theregions below, above, to the left, and to the

right of the active display area. Cursor ishigh when the current refresh addressmatches the value programmed into thecursor address register pair (R14 and R15).Bit 7 of the character, the 6845 cursorsignal, and the video signal from the shiftregister are combined in such a way thatbit 7 being on causes reversal of the videofor one character interval (changing white-on-black characters to black-on-white, orvice versa), and the 6845 cursor signal beingon causes another reversal. Assuming thecursor has been so programmed, it can bedistinguished from ordinary reversal becauseit will blink.

One timing consideration must be bornein mind when the MC6845 is used. Thecounter used in the all TTL circuit hasnegligible delay (20 ns) compared to thedisplay character time (666 ns). TheMC6845, being a metal oxide semiconductordevice, is considerably slower, with a delayof as much as 160 ns. This delay time mustbe subtracted from the character time whenspecifying the refresh memory access time.The refresh memory integrated circuitsspecified in the design are "-1 "suffix types(500 ns maximum access time) so the timingis satisfactory.

On the schematic diagram (figure 4),IC26 (74LS138) and IC27 (7404) are con-nected such that IC27 is enabled for the up-permost 8 K bytes of processor memoryaddress space (hexadecimal E000 thruFFFF). Other connections of IC26's enableinputs (pins 4, 5, and 6) to the address lines,with or without sections of IC27, as required,can allow enabling for any 8 K memory ad-dress segment. Selection of a particular 1 Kbyte segment for the refresh memory isaccomplished by connecting the refreshmemory select line to a particular output ofIC26. The CS (chip select) line from IC1, the6845, is connected to another of the outputsof IC26. This allocates an entire 1 K bytesegment to the 6845, whereas it needs onlytwo addresses. More integrated circuits couldbe added to refine the decoding for the 6845and eliminate the wasted address space.

Cursor Generation

The MC6845 provides several options forthe generation of a cursor. Registers R10and R11 control the format of the cursor,and R14 and R15 control its position. Thelow order five bits of R10 (bits 0 thru4) specify the scan line on which the cursoris to start, and R11 specifies the scan line onwhich the cursor is to end. If RIO bits 0thru 4 are all equal to 0, and R11 is 8,the cursor will occupy lines 0 thru 8, or theentire character. Using the circuitrypresented earlier, the cursor becomes a block

72 May 1979 © BYTE Publications Inc

POWERFUL JNTERJ-flCES

TRS-80* EXPANDOR INTERFACE

MODEL EI-80K (KIT) - $329.00MODEL EI-80A (ASSEM.) - $349.00

• 32K high speed 250NS memory.

• Disc controller which controls mini or 8" floppies.

• RS-232 Port.

• Parallel Port

• Self contained heavy duty power supply. Plugs directlyinto rear of TRS-80* keyboard. Comes in attractivecabinet Twice the value for what you would spend for aTRS-80* expansion interface.

TRS-80*

MASTER CONTROL CONSOLE

MODEL MCC-K (KIT) - $129.95MODEL MCC-A (ASSEM.) - $159.95

A COMPLETE COMMAND CENTER FROM YOURKEYBOARD OR FROM ANY LEVEL II OR DISC BASICPROGRAM. Turn on bells, sprinklers, sense fire andburglar alarm, anything that needs a switch can becontrolled by the command center.

• 16 OUTPUT LINES: With 8 relays, SPST, and 8TTLdiode protected signals.

• 16 OUTPUT LINES: 8 lines with OPTO-COUPLERSand 8 TTL diode protected.

• FULL LED PANEL: For status indicators of all controllines.

• COMPLETE WITH CABINET: Has attractive slopingcabinent.

• FULLY HEAVY DUTY POWER SUPPLY: Containspower supply. No external power needed.

• EASY CONNECTION: Plugs into TRS-80* expansionport edge card rear of keyboard or between keyboard andexpansion interface.

• 2-EDGE CONNECTORS: 2-additonal expansion 40pin edge connectors.

• NEEDS NO SOFTWARE: Operates from OUT and INstatements from BASIC or machine code statements.Example: (Out 5,1 =turn on switch 5. Out 5,2=turn off switch5, etc.)

• COMPLETE MANUAL AND SAMPLE PROGRAMS:Comes with comprehensive manual and sample programs.

'TRS-80 is a trademark of Tandy Corp

S-100 BUS

MASTER CONTROL CARD

MODEL MCC-100K (KIT) - $159.95MODEL MCC-100A (ASSEM.) - $189.95

TURN IT ON TURN IT OFF

Now you can control the outside world plus sense itsstatus and its functions. 16 output and input lines. Turnon those bells, activate burglar alarms, etc.

• 16 OUTPUT AND INPUT CHANNELS: 16 outputchannels with SPST relay on each. Opto-couplers on eachone of the input channels.

• EASY PORT ASSIGNMENT: Port assignment ismade via DIP SWITCH. In addition this board features our"ALL HARDWARE" software match setting features. Youare able to select and set status, its parity to match anysoftware configuration. No need to change the software tomatch the board.

• SIMPLE OPERATION: Turning off the relays iscommandable by addressing a port, plus turning a bit on oroff. Sample: You're in basic and you want to turn on switch16. You would write out 3, 16. This turns on switch 16. Toturn it off you would write out 4, 16 and off it is.

• HIGH QUALITY: The highest quality parts are used.The P.C. board is double sided with plated through holes,solder mask and silk screened legend.

• FULL DOCUMENTATION: A complete manual ofoperation and assembly is included.

TRS-80*

DISC CONTROLLER MODULE

MODEL DCM-80K (KIT) - $159.95MODEL DCM-80A (ASSEM.) - $189.95Option available: 1) 16K RAM Kit, high speed 250NS with purchase of board - Special $85.00.

• Has provisions for 16K memory.

• Will control mini or 8" floppies.

• DOS operating system included.

• Plugs directly into rear of TRS-80* keyboard.

• Complete with power supply in attractive cabinent.

S-100 8K STATIC 250NS

RAM MEMORY CARD

MODEL 8K-100K (KIT) - $119.95MODEL 8K-100A (ASSEM.) - $139.95

• Fully buffered address, control and data lines.

• Memory protect and unprotect.

• Power on clear.

• Bank select feature for selection to any 64K quadrant.

• Battery backup.

• Will run with any Z-80 Microprocessor without need ofwait states.

• S-100 BUS power requirement 1.4 amps.

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Suite 333, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537

Circle 390 on inquiry card.

BYTt May 1979

73

I ST

16th LINE

of reverse video. If the value 8 is stored inRIO bitsO thru 4 (ie: bit 3 is on) and in R11,the cursor occupies only line 8. Hence itbecomes an underscore. If values other thanthese are used, only a portion of the charac-ter is reversed. I have found that partialreversal makes characters difficult to read, sothe only values I consider usable are (0, 8)and (8,8).

Bits 5 and 6 of RIO control cursorblinking. If bit 5 is on and bit 6 is off, thecursor is not displayed at all. This can beused to blank the cursor to indicate the sys-tem is not accepting keyboard input. If bit6 is on, the cursor will blink. If bit 5 is off,the blink rate is about four times per second.If bit 5 is on, the blink rate is about twotimes per second.

Scrolling

Scrolling is the management of a videodisplay in the following way. New data isentered on the bottom line of the display.When the bottom line is full, the entire dis-play is moved up one line. In the process,the top line, containing the oldest data, maybe discarded, or if the display memory islarger than the portion displayed on thescreen, the old display data may temporarily

iST line

16th line

Figure 5a: Initialization fora scrolled display. Refreshaddresses are shown. Thediffering value given inparentheses is that per-ceived by the refresh mem-ory, due to wraparound.

Figure 5b: Refresh address-es calculated after onescrolling operation.

I ST

LINE

16th LINE

Figure 5c: Refresh address-es of last scrolling opera-tion before the processormemory reference must bereset to 0.

be kept. In the latter case, the display couldbe scrolled down as well as up, and the dis-play screen could act as a moveable"window."

The data movement necessary to im-plement scrolling could be done by a proces-sor program. In fact, it must be done by theprocessor in the case of the all TTL displaydesign, for there is no provision for hardwarescrolling in that design. A program loop toperform scrolling on a 1,024 character screenmight take from 15 to 20 milliseconds on a6502 or 6800 processor. If the source ofdata to the screen was a serial communica-tions line operating at 1200 bits per second(assume the system is emulating a terminal),the time between characters is only about8 ms, not long enough to perform a scrollingoperation. (An interrupt-driven programcould be written to handle both scrollingand receiving of characters from the line,but this would be complex).

The 6845 does provide scrolling becauseits refresh start address is programmable, andmay be updated whenever necessary. Up tothis point, I've used the term scrolling tomean "line scrolling" where data is movedaround as complete lines. In this case, therefresh start address of the 6845 would beupdated in increments of 64 (for the 64character line length).

However, scrolling can be done byindividual characters. If the refresh startaddress is incremented by one, each characterin each line moves one position left, and thefirst character of each line moves to the lastposition of the previous line. Also, if thedisplay memory is at least twice as large asthe display screen, scrolling could be doneby page, in which case the refresh start ad-dress would be updated by 1,024 each time(again assuming the 16 by 64 format).Since the 6845 can address up to 16 K(16,384) bytes, the refresh memory couldcontain up to 16 pages of data, and scrol-ling could be done by line or page.

The design I have presented here has arefresh memory the same size as the displayscreen. It uses scrolling to enter new data onthe bottom line of the display, and the topline is discarded when it is displaced. Anexample of how such scrolling operationsmight be done is shown in figure 5. Fig-ure 5a shows how the display would beinitialized. The 6845 is initialized with arefresh start address of 64 (decimal). The6845's refresh address counter runs to1,023 at the end of the 15th line, then con-tinues with 1,024 and up to 1,087 at the endof the 16th and last line. Since only ten ofthe 6845's 14 refresh address lines are con-nected to the refresh memory, a wraparoundoccurs — the address 1,024 is equivalent (in

74 May 1979 © BYTE Publications Inc

the refresh memory's perception) to 0.Hence the last line of the display starts ata memory address of relative 0, from theprocessor's point of view. For example, ifthe display memory were located at proces-sor hexadecimal addresses E000 thru E3FF,the last line of the display would start atE000.

The procedure to perform a scrolloperation is as follows: increment the re-fresh start address by 64, update the cursoraddress, and prepare the processor to storenew data at refresh memory locations 64thru 127 (relative to the actual processorstarting address; for the example given above,the addresses would be E040 thru E07F).Figure 5b shows the result of this scrolloperation.

All addresses are incremented by 64 foreach new line until the situation shown infigure 5c prevails. In order to performanother scroll operation, the processormemory address must be reset to relative 0(E000 as above), but the 6845 refresh startaddress can continue to be incremented; itneedn't be reset. It will eventually wraparound itself.

Note well that the cursor address registeris a 14 bit register, as is the refresh start ad-dress register. All 14 bits of the cursor ad-dress must match a refresh address displayedon the screen for the cursor to be displayed.The range covered by the refresh address isdetermined by the refresh start address andthe number of characters on the screen. Ifthe cursor address is outside of this range, nocursor will be generated by the 6845.

Scrolling in the case of a 12 line by 80character format (where neither of thedimensions is a power of 2) is more com-plicated. As shown in figure 6a, the 6845is initialized with a refresh start address of144, so that, at the beginning of the 12thline, the 6845 outputs the address 1024,which is equivalent to memory address 0.In figure 6b a single scroll operation hasbeen performed. All values have been in-cremented by 80. So far, everything isjust like the 16 by 64 case, except for theincrement value. In figure 6c, the last"simple" scroll has occurred, and things getmore complicated from this point. Infigure 6d the result of another scroll opera-tion is shown. Again, all values have beenincremented by 80, but as can be seen,memory wraparound occurs within thedisplay line. In the 16 by 64 case, wrap-around always occurs between lines, and itis relatively easy for a processor program todeal with. In the 12 line by 80 charactercase, the processor program must be awarethat wraparound can occur with a line, andit must act accordingly.

Device Availability

The SMC 5027 and the Intel 8275 (alongwith its associated 8257 controller) havebeen available for some time from computerhobbyist vendors. The 5027 was originallypriced at about $50, but may be availablefor less than that now in view of increasingcompetition. The Intel 8275 and 8257 pairare available for under $100. The MotorolaMC6845 is available from regular electronicsdistributors. It usually costs about $30. TheNational DP8350 is the most recently an-nounced of the four parts, so its price andavailability may still fluctuate.

There are other video display control-lers besides the four I have covered in thisarticle. There will probably be even moreannounced by the time it is published —and prices can be expected to fall as com-petition heats up."

, ST

LINE

12

TH

Figure 6a: Address initial-ization for a 12 line by 80character display.

iST line

Figure 6c: The last scrolloperation before memorywraparound occurs.

303

1104(80)

1183

(139)

Figure 6b: Addiesses in a12 by 80 display followingone scroll operation.

11 S3(159)

!063

(15)

*■+—16 CHARS

WRAPAROUND

Figure 6d: Memory wrap-around. All values havebeen incremented by 80,but wraparound occurswithin the display line. Inthe 12 line by 80 characterformat, the processor program must take specialaction at this wraparoundevent.

May WJ i<- HY1I Publicatx

75

Text continued from page 12:have publications in which geographic coor-dinates for data base construction exist inboth tabular and graphic form. Though some-what tedious, tabular data can be keyed intothe computer easily and saved in mass stor-age. If you have access to a graphics padinput device, you can quickly extract datadirectly from existing maps.

It should be pointed out that the com-panies which produce maps commerciallyguard their data bases jealously, since theyare the products of much research andexpense. They thoroughly disapprove ofsomeone using their own data to go intobusiness against them. Most commercial geo-graphical publications contain a copyrightnotice which warns against such use, and thefollowing notice from a recent RandMcNally Road Atlas is typical:

"Reproducing maps, tables, text, orany other material which appears inthis publication by photocopying, byelectronic storage and retrieval, or byany other means is prohibited." [Italicsmine.]

Normally, one is not precluded by thecopyright law from extracting copyrightedinformation for personal use, and it wouldseem that as long as you did not distributeor use the material commercially therewould be no problem, but this is not a legalopinion. If you have any qualms about this,you might stick, as I have, to governmentpublications and maps for source materials.The United States government puts out aseemingly endless supply of geographic pub-lications covering all parts of the world, sothere is no scarcity of data from this source.

An easier way to go about setting up adata base is to obtain a ready-made one. Youcan buy one from a commercial establish-ment or from an individual (expensive, ineither case), or you might be able to get onefree from a government agency or a universi-ty. There are so many different data bases inexistence that it is best for you to firstdecide exactly what you need, then directlycontact the agencies that would be mostlikely to have what you want.

Many observatories, including universityobservatories, have extensive data bases forastronomical uses, free for the asking. As faras government agencies are concerned, yourbest bets are with the National Oceanic andAtmospheric Administration (6010 Execu-tive Blvd, Rockville MD 20852), the NationalTechnical Information Service (Room 620,425 Thirteenth St NW, Washington DC20004), and the US Geological Survey

(National Center, 12201 Sunrise Valley Dr,Reston VA 22092). These agencies havemany kinds of data bases, covering all partsof the world. Depending upon what youneed, there may or may not be a charge forthe material.

One drawback to obtaining data basesfrom agencies such as these is that they maynot be in a format that you can use directly.For example, you may find that the datayou need is available only on standard 7 or9 track computer tape, and you will have tofind a way to read it and convert it into aformat you can use.

Sample Mapping Programs

The field is so broad that it is impossibleto discuss here all of the projections in com-mon use. Therefore, I have selected a few ofthe simplest and most common map projec-tions to serve as illustrations of the tech-niques involved. For each example discussed,a program listing is included, as well as anumber of maps actually generated by theprograms. Many readers will find immediateapplication for one or more of the sampleprojections, exactly as they are demonstrated.Others will want to make modifications, andstill others will want to delve deeper into thesubject. A visit to your local library will turnup useful books which explain map projec-tions, their uses, and the mathematicsrequired to carry them out.

In all of the examples which follow, itis assumed that the geographic coordinates(latitudes and longitudes) in the data baseare in radians, and that they are being con-verted to rectangular X,Y map coordinates(measured usually in centimeters or inches).Standard trigonometric convention is usedfor the algebraic signs of the coordinates.In other words, for the geographic coordi-nates, north latitudes are positive; southlatitudes are negative; east longitudes arepositive; west longitudes are negative. It isfurther assumed that the origin (0,0) of themap coordinate system is at the center ofthe map, with the X axis positive to theright, and the Y axis positive toward the top.There may be some slight variation betweenthis standard system and your own graphicsdevice, but at most it would require only asimple translation or rotation of the coor-dinates.

Each of the examples is demonstrated asa subroutine, which is to be called once foreach pair of coordinates in the data base.Before the first call is made to the sub-routine, certain initial parameters must havealready been defined, and these are noted inthe remarks accompanying each subroutine.

76

May 1979 © BYTE Publications Inc

THE SEARCH FOR ASMALL COMPUTER SYSTEM

STARTS HERE

It's the 3rd Annual

National Small Computer Show,

presenting the state-of-the-art showcase for micro-and mini-systems technology and software. Hereyou can survey virtually all makes and models ofsmall computers, whether your interest runs to ano-nonsense micro priced in the hundreds ofdollars or a powerful mini costing $20,000 or more.They're all here.

The world of small computers is quite large, ex-tending to business and professional offices,scientific research, medicine and bionics, educa-tion, the home and hobbyist, therapeutic applica-tions for the handicapped, design and engineering.

A full selection of lectures is presented to provide agrasp of small systems technology, so that youknow what to consider when buying a computer orword processor. It's the first step in discovering whata system can really do for you!

N5C5 lectures include sessions on system selection,computer languages, word processing functions,artificial intelligence, software applications, and adozen more topics for people of all interests.

Plan now to attend. There will be about 30,000square feet of exhibits, and more than 40 hours oflectures from which to choose. Registration fee isonly $5.00 per day, including lectures.

Write for our informational brochure from Notional Small Computer Show,110 Charlotte Place, Englewood Cliffs, N.J. 07632.

THIRD ANNUAL NATIONAL SMALL COMPUTER SHOW,New York Coliseum, August 23-26, 1979.

Circle 269 on inquiry card.

BYTE May 1979 77

For each call made, the main program sup-plies a pair of geographic coordinates fromthe data base, and the subroutine returns therectangular map coordinates. Grid lines,when desired, may be created by generatingsets of "artificial" geographic coordinateswithin loops in the main program, then call-ing the appropriate conversion routine toget the map coordinates to draw them with.Any labeling or annotation of the mapswould also be carried out by the mainprogram.

/ isting I: Subroutine to compute map coordinates for rectangular projection.

i»O0Q

4010it 020

'■-0 30401*0405040601*070uOOO4U90

moo

<*uo

1*1201*130

41401*150

':

4 2 7 0

4180

4190

i*200

4210

M ■ I

■ ;! 5)

Hi fi0

42 ■'>■ (

'-:•- /(

"2804;:90430043104 32043304? 4 0• 50'■136043704O804.59044 00441044204 4 30i*t* «*04450■'.6044704 4 80I 304U 10

4: iO45204530'J 540455045604570

REM

REMREMRtM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

"EM

REM

" E M

RtM

REM

REM

REM

REM

REM

RE.M

REM

REM

REM

REM

REM

REM

REM

REM

REM

RtM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

RcM

REM

REM

SUBROUTINE TO COMPUTE MAP COORDINATES FORRECTANGULAR PROJECTION.

THE FOLLOWING VARIABLES MUST BE DEFINED BEFORETHIS SUBROUTINE IS CALLED!

LI IS THE GEOGRAPHIC LONGITUDE AT THELEFT-HAND LIMIT OF THE MAP.

L2 IS THE GEOGRAPHIC LONGITUDE AT THE

RIGHT-HAND LIMIT OF THE MAP. IF THE MAPCROSSES THE 180-DEGREE MERIDIAN (LE.iL1>L2)> THEN L2 MUST BE REDEFINED ASL2 = L2 + 6.2831853.

Pi IS THE GEOGRAPHIC LATITUDE AT THE BOTTOMLIMIT OF THE MAP.

P2 IS THE GEOGRAPHIC LATITUDE AT THE TOP LIMITOF THE MAP.

Cl IS THE GEOGRAPHIC LONGITUDE AT THE CENTEROF THE MAP- WHERE Cl = (Ll+L2>/2.0> AND

must have been computed after L2 was

REDEFINED IF IT WAS NECESSARY TO DO SO.

C2 IS THE GEOGRAPHIC LATITUDE AT THE CENTEROF THE MAP. WHERE C2 = (P1+P2J/2.0

Fl IS THE MAP SCALE FACTOR IN THE HORIZONTAL(EAST-WEST) DIRECTION. Fl = D1/<L2-L1>'WHERE Dl IS THE MAP LENGTH" IN CENTIMETERSOR INCHES. IN THE EAST-WEST DIRECTION.

F2 lb THE MAP SCALE FACTOR IN THE VERTICAL

(NORTH-SOUTH) DIRECTION. F2 = D2/(P2-Pl)r

where d2 is the length in centimeters orinches of the map in the north-south

direction.

n is a flag to indicate whether the mapcrosses the 180-degree meridian (that is.whether l1>l2 before l2 is redefined).n=0 means that the map does not cross the180-degree meridian. n><0 means that themap does cross it.

l is the geographic longitude (obtained fromthe data base) of the point being converted-

p is the geographic latitude (obtained fromthe data base) of the point being converted-

THE FOLLOWING VARIABLES ARt COMPUTED BY THISSUBROUTINE:

Listing 1 continued on page 80

The flowchart in figure 1 has illustratedthe principal features of the main program,and no attempt will be made here to detailit further, since there would be some varia-tion dependent upon your own hardware. Inany case, it will be quite straightforward andsimple.

The remarks included in the listings fullyexplain the operation and use of each sub-routine, so those aspects will not be repeatedin detail in the text. In fact, the greatestpart of each listing is composed of remarks,with the actual executable portion com-prising only about ten to 20 statements ineach case.

Rectangular Projections

This is probably the simplest projectionin existence, and requires an absolute mini-mum of mathematics to generate. Themeridians and parallels are simply laid out asequally spaced straight lines at right anglesto each other. You can take a standard sheetof graph paper, for example, and let eachspace in the horizontal direction equal adegree of longitude, and each space in thevertical direction equal a degree of latitude.Plot a few geographic coordinates on thegraph paper in this manner and you have arectangular projection.

The computer, of course, can do the jobfaster, and the subroutine given in listing 1will serve quite nicely. Notice that no trigo-nometry is required, and that the actual con-version requires only two statements.Consequently, this type of projection can becarried out very rapidly, even when a largedata base is involved.

The rectangular projection is not a real"projection" in the true sense of the word,since it is arranged arbitrarily and there isno direct geometric relationship between itand the surface of the Earth. Nevertheless,for many purposes it works very well,especially if the latitudinal (north-south)extent of the area being mapped is not toogreat. It works best for areas near theequator, and becomes useless near the poles.(The meridians on the Earth converge at thepoles, whereas they remain parallel to eachother on the projection. The resultant dis-tortion above about 50 or 60 degrees latitudeis usually unacceptable.)

The accuracy of the projection can besignificantly improved if the horizontal mapscale factor, Fl, is adjusted to compensatefor the convergence of the meridians. We cando this in the main program by computingF2 first, then computing F1 by Fl = F2 XCOS(C2). This does not eliminate the con-vergence problem, but it does reduce itseffect.

'.j

HI IE Mhi 1'J7>J

Wondering which memoryis best for you?

bQ/e 2* offers the following productsto the S-100 market at the industry'slowest prices:

8K Static Memory Board

This 8K board is available in two versions. The 8KS-B operates at 450ns for use with8080 and 8080A microprocessor systems and Z-80 systems operating at 2MHz. The8KS-Zoperates at 250ns and is suitable for use with Z-80 systems operating at 4MHz.Both kits feature factory fresh 2102's (low power on 8KS-B) and includes sockets forall IC's. Support logic is low power Schottky to minimize power consumption. Addressand data lines are fully buffered and 4K bank addressing is DIP switch selectable.Memory Protect/Unprotect, selectable wait states and battery backup are alsodesigned into the board. Circuit boardsare solder masked and silk-screened for easeof construction. These kits are the best memory value on the market! Available fromstock . . . 8KS-B $125 (assembled and tested add $25.00)

8KS-Z $145 (assembled and tested add $25.00)

16K Static Memory Board

Base 2 can nowofferthe same price/performance in a 16K static RAM as in its popular8K RAM. This kit includes 8K bank addressing with 4K boundary address setting onDIP switches. This low power unit provides on-board bank selection for unlimitedexpansion... No MUX board required. Using highest quality boards and componentswe expect this kit to be one of the most popular units on the market. Available in twospeed ranges, the 16KS-B operates at 450ns while the 16KS-Z operates at 250ns.16KS-B $285 (assembled and tested add $25.00)16KS-Z $325 (assembled and tested add $25.00)

Z-80 CPU Board

Our Z-80 card is also offered in two speed ranges. The CPZ-1 operates at 2MHz andthe CPZ-2 operates at 4MHz. These cards offer the maximum in versatility atunbelievably low cost. A socket is included on the board for a 2708 EPROM which isaddressable to any 4K boundary above 32K. The power-on jump feature can beselected to address any 4K boundary above 32K or the on-board 2708. An On-boardrun-stop flip-flop andoptional generation of Memory Write allows the board to run withor without a front panel. The board can be selected to run in either the 8080 mode, totake advantage of existing software, or in the Z-80 mode for maximum efficiency. Foruse in existing systems, a wait state may be added to the M1 cycle, Memory requestcycle, on-board ROM cycle, input cycle and output cycle. DMA grant tri-states allsignals from the processor board. All this and more on tOD quality PC boards, fullysocketed with fresh IC's. CPZ-1 $110 CPZ-2 $125

S-100 for Digital Group Systems

This kit offers, at long last, the ability to take advantage of S-100 products within yourexisting Digital Group mainframe. Once installed, up to four S-100 boards can be usedin addition to the existing boards in the D.G. system. The system includes an"intelligent" mother board, ribbon cables to link existing D.G. CPU to the DGS-100board and a power wiring harness. The DGS-100 is designed to fit in the 5-3/4" x 12"empty areain the standard D.G. cabinet. It may seem expensive but there's a lot here!End your frustration! DGS-100 $295

bo/e 2* inc.

Send for more details on these products. Get on our mailing listforinformation on more soontobeannouncedproducts at factory-directprices from BASE 2. Why pay more when you can get the best atthese prices???

P.O. Box 3548 • Fullerton, Calif. 92634

(714) 992-4344

CA residents add 6% tax

MC/BAC accepted • FOB — U.S. destination

Circle 22 on inquiry card.

BYTE May 1979 79

Listing 7 continued from page 78:

158045904600161016201+63046404650466046704680469047004710472047304740475047604770478047904800481048204830484048504860487048804890

REM

REM

REM

REM

REM

REM

REM

REM

REM

REMLET S

REM

REM

REM

REMIF N =IF L >LET L =

REM

REMIF L <IF L >IF P <IF P <LET S =RETURN

REM

REMLET X =LET Y =RETURNEND

S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE.S=l MEANS OFF-SCALE.

X IS THE MAR X-COORDINATE. IN CENTIMETERS ORINCHES.

Y IS THE MAP Y-COORDINATE. IN CENTIMETERS ORINCHES-

= 0

IF THE MAP CROSSES THE 180-DEGREE MERIDIAN.AND THE LONGITUDE OF THE POINT FROM THE DATABASE IS NEGATIVE' REDEFINE THE LONGITUDE ASA POSITIVE ANGLE.0 THEN 4780: 0 THEN 4780L + 6.2831853IF THE POINT IS OUTSIDE THE LIMITS OF THE MAP-SET THE OFF-SCALE FLAG AND RETURN.LI ThEN 4830THEN 4B20THEN 4820THEN 4860

L2PI: P21

COMPUTE THE MAP COORDINATES FROM THE

GEOGRAPHIC COORDINATES.(L - CI) * Fl(P - C2) * F2

The map of the continental United Statesshown in figure 2 was generated with therectangular projection routine. Even thoughthe area being mapped does not meet therequirements for high accuracy (ie: it is farfrom the equator; it has a fairly large lati-tudinal extent; and in the case of this partic-ular map, F1 was not corrected for conver-gence of the meridians), it is still entirelysatisfactory for many purposes.

Another interesting thing about the mapin figure 2 is that it is made up entirely ofdots. In response to an article of mine whichappeared in another magazine, I receivedabout three thousand letters over a period ofabout four weeks. These were requests fortechnical data which required that the geo-graphic coordinates for the center of theperson's town be supplied. This resulted ina ready-made data base, and I becamecurious as to its distribution. It was a simplematter to have the computer examine thedata base and draw a dot for each city rep-resented (eliminating duplications), using arectangular projection.

Notice that all dots are the same size, and

*•*••••

• .*

* •» • ^ «_• • • •• • . . i

» ' •Tr, : . * . • . '

.•» ••

•. • . -

v-»

Figure 2: Rectangular pro-jection of the continentalUnited States. Dots repre-sent locations of selectedcities.

"J

HERE'SA

QUICK

POINT

YOU

SHOULD

KNOW

ABOUT

The fastest floating point BASIC for any micro.

TSC BASIC for the 6800 isthe fastest floating pointBASIC for ANY 8 bit micro-processor. No longer willthe 6800 take a back seat tothe 6502, 8080, or Z80! Andwith the TSC name, youknow it's top quality.

TSC BASIC is not only fast,but complete with over 50commands and functions.Features include six digitfloating point math, fulltranscendental functions,unlimited string length, if/then/else construct, logicaloperators, and two-dimen-

sional arrays includingstring arrays. The diskversions for FLEX™ 1.0 and2.0 support random accessdata files (the mini FLEX™version does not).

A cassette version requires10K while the disk versionsrequire at least 12K. Nosource listings included.With KCS cassette - $39.95;mini FLEX™-$49.95; FLEX™2.0-$54.95; and FLEX™ 1.0-$59.95. Soon to come are abusiness BASIC and 6809BASIC.

T53

Technical SystemsConsultants, Inc.

All ordersshould include3%for postage and handling(8% on foreign orders).Send 25$ for a completesoftware catalog.

Box 2574

W. Lafayette, IN 47906

(317) 463-2502

Circle 363 on inquiry card.

BYTE May 1979

81

FLORIDA

MIAMI

25 47N

80 12W

Figure 3: Polar equidistantprojection of the northernhemisphere. This map isoverlaid with OSCAR sat-ellite tracking informationfor use by a groundstation located at MiamiFL

NORTHERNHEMISPHERE

that only one dot was drawn for each city,regardless of its population and regardless ofhow many letters were received from thecity. No dot was drawn for any city (regard-less of its size) unless at least one letter wasreceived from it.

It took only a few minutes to set up theprogram to make the map, and only a fewseconds for the computer to draw it. I thenhad an excellent graphical illustration ofwhat I could only guess at by looking at thelisting of the data base.

Polar Equidistant Projections

This is another rather simple projection,but one which has many important uses.Figures 3 and 4 show polar equidistant pro-jections of the northern and southern hemi-spheres, respectively. The parallels are drawnas equally spaced concentric circles, and themeridians as equally spaced radii. As seen inlisting 2, the polar form of the map coordi-nates can be represented directly from thegeographic coordinates by (PI/2-P,L), whereP and L are the latitude and longitude,respectively. (PI/2, of course, is the equiva-lent of 90 expressed in radians.) These inturn are directly converted to rectangularcoordinates by the standard polar-to-rectan-gular conversion formulas. The entireprocess requires only three statements in thesubroutine.

82

May 1979 © BYTE Publications Inc

FLORIDA

25 47N

80 12W

MIAMI

These particular maps were made forsatellite tracking, for use with the amateurradio OSCAR communications satellites,and for tracking of weather satellites byamateurs who receive weather pictures intheir homes directly from the satellites. Inaddition to the basic geographic information,the maps are overlaid with tracking infor-mation based on the location at which themap is to be used (Miami FL, in this case).The set of interconnected concentric"circles" around Miami are elevation anglecontour lines. The radial lines that connectthem are azimuth angle contour lines.

The satellite's position over the surface ofthe Earth is plotted on the map, and if it fallsanywhere within the interconnected "circles"it is within range of the ground station. Thestation antenna can then be pointed at thesatellite, based on the information derived

180

0-6.7

SOUTHERNHEMISPHERE

from the map. The radial lines give the an-tenna azimuth angle from true north in 30°increments (with additional 10° tick marksaround the outer elevation contour). Theconcentric "circles" give the antenna eleva-tion angle in 10° increments, starting withthe outermost circle at 0° elevation (ie: thesatellite is exactly on the horizon at thispoint). The elevation increases inward, withthe innermost circle being 80°, and the dotat the center (the location of the groundstation) being 90° (ie: directly overhead).

Figure 4: Polar equidistantprojection of the southernhemisphere. This map isused in conjunction withthe one in figure 3 tocomplete the sate/litetracking coverage south ofthe equator.

May 1979 © BYTE Publications Inc 83

The far outside arc, which is not con-nected to the inner elevation circles, showsthe maximum communications rangethrough the satellite. In order for the groundstation to see and access the satellite, thesatellite's ground track must lie within theinner set of interconnected circles, but onceit comes within that area the spacecraft willrelay the signals to a far greater range. Thedistant unconnected circle shows what themaximum possible range is. When used for

Listing 2: Subroutine to compute map coordinates for polar equidistantprojection.

SUBROUTINE TO COMPUTE MAP COORDINATES FORPOLAR EQUIDISTANT PROJECTION.

the following variables must be defined beforethis subroutine is called:

p is the geographic latitude (obtained fromthe data base) of the point being converted.

l is the geographic longitude (obtained fromthe data base) of the point being converted.

f is the map scale factor, equal to

d/3.1415927, where d is the diameter (incentimeters, inches, etc.) of the finished

MAP.

H IS A FLAG TO INDICATE WHICH HEMISPHERE ISBEING DRAWN. H=0 MEANS NORTHERN HEMISPHERE-HXO MEANS SOUTHERN HEMISPHERE-

THE FOLLOWING VARIABLES ARE COMPUTED BY THISSUBROUTINE:

S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE.S=l MEANS OFF SCALE.

Rl IS TEMPORARY STORAGE.

X IS THE MAP X-COORDINATE IN CENTIMETERS ORINCHES-

Y IS THE MAP Y-COORDINATE IN CENTIMETERS ORINCHES-

; 0

IF THE POINT FROM THE DATA BASE IS NOT IN THEHEMISPHERE BEING DRAWN, SET THE OFF-SCALE FLAGAND RETURN.

0 THEN 3490

0.0 THEN 3500FOR A SOUTHERN HEMISPHERE MAP, CHANGE THE SIGNOF THE LONGITUDE TO MAINTAIN THE PROPER MAPORIENTATION.

-L5t0= 0-0 THEN 3540

1

COMPUTE THE MAP COORDINATES FROM THE

GEOGRAPHIC COORDINATES.= F * (1.5707963 - ABS(P) ): Rl * C0S(L>: Rl * SIN(L)

3000

REM

3010

REM

3020

REM

3030

REM

3040

REM

3050

REM

3060

REM

3070

REM

3080

REM

3090

REM

3100

REM

3110

REM

3120

REM

3130

REM

3140

REM

3150

REM

3160

REM

3170

REM

3180

REM

3190

REM

3200

REM

3210

REM

3220

REM

3230

REM

3240

REM

3250

REM

3260

REM

3270

REM

3280

REM

3290

REM

3300

REM

3310

REM

3320

REM

3330

REM

3340

REM

3350

REM

3360

REM

3370

REM

3380

LET S :

3390

REM

3400

REM

3"+10

REM

3420

IF H =

3430

IF P >

3440

REM

3450

REM

3460

REM

3470

LET L =

3480

GO TO 3

3490

IF P >

3500

LET S =

3510

RETURN

3520

REM

3530

REM

3540

LET Rl

3550

LET X =

3560

LET Y =

3570

RETURN

3580

END

weather satellite tracking, this circle takes ona slightly different meaning. In that case, itshows the most distant land areas that thestation can expect to receive pictures of.

In practice, a transparent plastic overlayshowing the satellite's ground track is placedover the map to find the position at anygiven moment. Since the shape of the orbitdoesn't change, only one ground track over-lay is needed, and it is simply rotated on themap to match up with the point where thesatellite crosses the equator on that particu-lar pass.

A more elegant system, however, is togenerate the map and tracking overlays on avideo display. The satellite's current locationcan be displayed as a flashing dot whoseposition is constantly updated in a real-timemode.

Returning to the matter of the map itself,one realizes that the orientation of the mapneed never be changed, regardless of wherethe ground station is located. The subroutineshown in listing 2 generates the map fromgeographic coordinates, but this really needsto be done only once. A new data base canbe made up of map coordinates, and everytime a map is to be drawn the map coordi-nates can be fed directly to the graphics de-vice without having to go through the con-version calculations.

On the other hand, the azimuth-elevationtracking overlays will change in position, size,and shape for every different ground stationlocation and for every different satellite. Aseparate subroutine is required to generatesets of geographic coordinates to define theoverlays, and that subroutine would in turncall the subroutine given in listing 2 in orderto get the map coordinates with which todraw the overlays.

Although the maps shown in figures 3and 4 stop at the equator, they can be ex-tended further with no change in theprogram. In fact, it would be advantageousin this particular application to extend eachof them another 20 or 30 degrees to providesome overlap. Extension much beyond 40degrees, however, will result in excessivedistortion.

As a final note about the satellite trackingmaps, you may have noticed that the longi-tudes are labeled from 0 to 360 degrees. Notonly that, they are positive westward. Thisconvention used in satellite tracking is anexception to the standard rule stated earlier.But as far as we are concerned it makes nodifference. It is simply the way the map islabeled. Our data base and conversion sub-routine still use the standard convention togenerate the map.

While we have concentrated on onespecific application of the polar equidistant

84 May 1979 © BYTE Publications Inc

The TARBELL Connection

in an effort to offer products that meet the continually changing demands of the microcomputerindustry, TARBELL ELECTRONICS is pleased to offer immediate delivery of these quality componentsand operating software. All TARBELL products are available from computer store dealers everywhere.

Tarbell Floppy Disk Interface Tarbell Disk BASIC

• Plugs directly intoyour 1MSAI orALT AIR and handlesup to 4 standard sin-gle drives in daisy-chain.

• Operates at standard250K per secondon normal disk for-mat capacity of 256Kbytes.

• Works with modifiedCP/M Operating Sys-tem and BASIC-ECompiler.

•Hardware includes 4 extra 1C slots,built-in phantom bootstrap and on-board crystal clock. Uses WD 1771LSI chip.

• Full 6-month warranty and extensivedocumentation.

• Kit $190 Assembled $265.

Specify drive for assembled units.Complete disk subsystems with opera-ting software available. Please inquirefor details.

• Runs on 8080, 8085 or Z80

• Searches a file quickly for a string.

• Up to 64 files open at once.

• Random Access.

• Assignment of I/O.

• Alphanumeric line labels allowed.

• Read and Write string or numericdata.

• Unlimited length of variable namesand strings.

• Procedures with independent varia-bles.

• Number system 10 digits BCD inte-ger or floating point.

• Chain to another program.

• Cause programs to be appended on-to programs already in memory.

• Cause interpreter to enter edit modeusing 15 single character edit com-mands.

Occupies 24K of RAM. Tarbell BASIC

on CP/M Disk $48.

Source on paper or CP/M Disk . . .$25.CP/M and BASIC-E on disk withmanuals $100.

Tarbell 32K RAM Memory

32K Static Memory

S-100 Bus Connector

9 regulators provide excellent heat distribution.

Extended addressing (bank switching.)

Phantom line.

Low power requirement.

20-Page operating manual.

Full 1-year warranty.

Assembled and tested full price only $625

16K version also available, assembled and tested only $390.

Tarbell Cassette Interface

_£

TiiiiiiiiiiTiimiiiitii)irnrfriiimiiifflg

Plugs directly into your IMSAI or ALTAIR.

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

Extremely reliable—Phase encoded (self-clocking).

4 extra status lines, and 4 extra control lines.

3 7-page manual included.

Device code selectable by DIP-switch.

Capable of generating Kansas City tapes.

No modification required on audio cassette recorder.

Complete kit $120 Assembled $1

Manual may be purchased separately

Tarbell Cassette BASIC

Includes most features of ALTAIR Extended BASIC, plusthese added features:

Assignment of I/O.

Alphanumeric line labels.

Unlimited length of variable names and strings.

Number system 10 digits BCD integer or floating point.

Procedures with independent variables.

Read and Write string data.

Multi-file capability.Full price with complete documentation $48.

Prepaid, COD, or cash only. California residents please add6% sales tax.

ALTAIR is a trademark/tradename ofPertec Computer CorporationCP/M is a trademark/tradename of Digital Research

75.

$8.

• Full 6-month warranty on kit and assembled unitsCircle 360 on inquiry card.

950 DOVLEN PLACE • SUITE BCARSON, CALIFORNIA 90746

(213)538-4251 • {213) 538-2254

BYTE May 1979

85

1000

REM

1010

REM

1020

REM

1030

REM

1040

RLM

1050

REM

1060

REM

1070

REM

1080

REM

1090

REM

1100

REM

1110

REM

1120

REM

1130

REM

1140

REM

1150

REM

1160

REM

1170

REM

1180

REM

1190

REM

1200

REM

1210

REM

1220

REM

1230

REM

1240

REM

1250

REM

1260

REM

1270

REM

1260

REM

1290

REM

1300

REM

1310

REM

1320

REM

1330

REM

1340

REM

1350

LET S

1360

REM

1370

REM

1380

REM

1390

LET L

1400

REM

1410

REM

1420

IF L

1430

LET L

1440

GO TO

1450

IF L

1460

LET L

1470

REM

1480

REM

1490

IF L

1500

IF L

1510

LET S

1520

RETURN

1530

REM

1540

REM

1550

LET Rl

1560

LET X

1570

LET Y

1580

RETURN

1590

END

SUBROUTINE TO COMPUTE MAP COORDINATES FORORTHOGRAPHIC EQUATORIAL PROJECTION.

THE FOLLOWING VARIABLES MUST BE DEFINED BEFORETHIS SUBROUTINE 15 CALLED:

LO IS THE REFERENCE LONGITUDE (LONGITUDE ATCENTER OF MAP)•

P IS THE GEOGRAPHIC LATITUDE (OBTAINED FROM

THE DATA BASE) OF THE POINT BEING CONVERTED.

L IS THE GEOGRAPHIC LONGITUDE (OBTAINED FROMTHE DATA BASE) OF THE POINT BEING CONVERTED.

R IS THE RADIUS OF THE FINISHED MAP. INCENTIMETERS. INCHES. ETC.

THE FOLLOWING VARIABLES ARE COMPUTED BY THISSUbROUTINE;

S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE.S=l MEANS OFF-SCALE.

Rl IS TEMPORARY STORAGE.

X IS THE MAP X-COORDINATE. IN CENTIMETERS ORINCHES-

Y IS THE MAP Y-COORDINATE. IN CENTIMETERS ORINCHES-

= 0

ROTATE THE GEOGRAPHIC LONGITUDE OF THE POINT

FROM THE DATA BASE TO REFERENCE IT TO THE MAP

CENTER LONGITUDE-= L - LO

NORMALIZE THE ROTATED LONGITUDE BETWEEN -1B0

DEGREES AND +180 DEGREES (-PI AND +PI).<= 3.1415927 THEN 1450r L - 6.28318531490

>= -3.1415927 THEN 1490r L + 6.2831853

IF OFF-SCALE (OUTSIDE THE RANGE FROM -PI/2 TO

+PI/2). SET FLAG AND RETURN.< -1-5707963 THEN 1510<= 1-5707963 THEN 1550= 1

COMPUTE THE MAP COORDINATES FROM THE

GEOGRAPHIC COORDINATES.- R * SINll-5707963 - ABS(P))= Rl * SIN(Dr R * SIN(P)

Listing 3: Subroutine to compute map coordi-nates for orthographic equatorial projection.

map (and a very important and useful appli-cation at that), one should remember thatthere are many other uses for it. Even if youhave no interest in communications orweather satellites, you will probably sooneror later come across an application where itsuits your needs perfectly.

Orthographic Equatorial Projections

Perspective projections are those whichshow the Earth exactly as it appears whenviewed from some point in space. These areespecially useful for generating images of theEarth for use in spaceship maneuvering, andfor generating outline maps for overlay onweather satellite photos. In the orthographicequatorial projection, the point of view is atinfinity, and level with the equator. As com-plex as this might sound, the math is actual-ly very simple, and the entire procedurerequires only about a half dozen statementsin the conversion subroutine, which is givenin listing 3.

Figures 5 and 6 show a pair of maps gen-erated by the program — the former centeredon 70° west longitude and the latter on 90°east longitude. These are quite spectacular togenerate in rapid succession on a video dis-play, simulating the rotation of the Earth orthe passage of a spacecraft around the earth.Incrementing the center longitude by five orten degrees between images gives a sufficient-ly smooth transition for most purposes, butthe increment can be made as small as desired.

It is true that not all spacecraft orbit theEarth at the equator, and the point of viewis somewhat closer than infinity. For games,however, the simplicity of the mathematicsrequired for projection often outweighsother considerations.

c,

c KIM ANALOG INPUT

Analog to Digital Conversion System for the KIM Computer

•YITIMl

Give the K1H the ability to sense,nieasure* and control the world aroundit with DAM SYSTEMS modules. Just p-luslthe KIMSET1 into the KIM to del 16channels of analoa input. Screwterminals are provided ■for each channelso you can hook up Joysticks * pots* orwhatever appropriate sensors uou have*

Each of the 1A analog inputs* inthe ran^e of O to 5.12 volts- isconverted to a decimal number between Oand 255 (20 millivolts F-er count).Conversion tiiire is 100 microsconds.

The K1MMOD provides one user portas well as a liAM SYSTEMS port.

Software is provided.

p-i O HSJ L^™"'"re, mma [*£-

]

o

[prf]

ACCELCHATIOHLICII1 L£VEL

1 -AIM16T

l-KIMMOD1-CABLE A241-MANMOD1I-P0W1

KIMSET1

16 ANALOG INPUTS ■ B BIT

KIM ADAPTER I USER PORT

■ 100MICROSEC

24 INCH INTERCONNECT CABLE

POWER MODULE

[ as ] [ "z? 3

CONNECTICUT microCOMPUTER, Inc.

150 POCONO ROADBROOKFIELD, CONNECTICUT 0S804

TEL: 1203) 775-9659 TLX: 7104560052

86

May 1979 © BYTE Publications Inc

Circle 78 on inquiry card.

Meet Super Grip II, the great new test clipfrom A P Products.

New narrow-nose design makesit easy to attach on high-densityboards. And now you can test ICswith only .040" betweenopposing legs.

New "duck bill" contacts are flat,won't roll off IC leads.

Open-nose construction enablesprobe at IC leg.

Pin rows are offset for easy attachment of probes.

Contacts are gold-plated phosphorbronze. "Contact comb" construc-tion separates contacts withprecision. No shorts.

Heavy-duty, industrial-grade springsfor firm contact pressure—and agood grip when pulling ICs. They'llkeep their spring Indefinitely. NoIntermittents.

Steel pivot pin. Engineering-gradethermoplastic body molded aroundcontact pins. Made to lastl

l r•!f•■? ff ?

Mimmm1

' New button-head pins keep probesfrom sliding off. (Straight pin modelsfor logical connections.)

The new A P Super Grip II is, withoutquestion, the best way there is to trouble-shoot DIP ICs.

You get positive contacts. No Inter-mittents. No shorts. Ever.

So It's endlessly useful to you—and it's

built to stay useful indefinitely.Try one. You'll find 8,14,16,16 LSI, 18, 20,

AP PRODUCTSINCORPORATED

Box 110 • 72 Corwin DrivePainesville. Ohio 44077Tel. 216/354-2101TWX: 810-425-2250

22, 24,28,36 and 40-pin models at yournearby A P store. (Make sure it's your A Pstore.)

Need the address? Call (toll-free) 800-321-9668. And ask for our complete A Pcatalog, The Faster and Easier Book.

Faster and Easier is what we're all about.

Circle 11 on inquiry card.

BYTE May 1979

87

Figure 5: Orthographicequatorial projection cen-tered on 70° west longi-tude. This is a perspectiveview of the Earth, similarto that seen from a space-craft in a high orbit abovethe equator.

If you need a more exact projection, pullout an old high school text on solid geome-try or analytic trigonometry and you cancome up with the formulas you need togenerate a map projected from any altitudeover any point on the Earth. You will needto go ahead and do this if you plan to gen-erate map overlays for weather satellitephotos, since some of the satellites are invery low orbits. TIROS-N, for example, isonly about 854 km (531 miles) above theEarth's surface, and can see an area onlyabout 6251 km (3884 miles) in diameter atany given moment. The picture image ittransmits covers a significantly smaller area.

By the time you get to the height of ageosynchronous satellite (35,800 km or22,250 miles), you see all but about 9degrees around the edges of the Earth's disc.That's less than the last little sliver between

the outer edge and the outermost meridianlines on the maps in figures 5 and 6. At thedistance of the moon, you miss less than onedegree, so the orthographic projection is vir-tually perfect at this distance. That's alsowhy most maps of the moon are printedusing an orthographic equatorial projection.If you do write a subroutine to generateclose-up perspective projections, you mayfind that in some cases the trouble is repaidwith the advantage of needing to handle aconsiderably smaller portion of the data baseat any given time. This is true because somuch less of the Earth is visible in any oneclose-up projection. Depending upon exactlywhat you are doing, you may be able to par-tition the data base in such a manner thatsmaller hunks of it need to be accessed at agiven time, cutting down on unnecessaryinput and output operations.

88

May 1979 ® BYTE Publications Inc

VPS***' «*&

COflPUTER SOFTWRRE

For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and Women

We have been in business for over nine years building a reputa-tion tor providing a quality product at nominal prices - NOTwhat the traffic will bear. Our software is:

• Versatile - as most programs allow for multiple modes ofoperation.

• Tutorial - as each program Is self prompting and leads youthrough the program (most have very detailed Instructionscontained rightTn their source code).

• Comprehensive - as an example our PSD program not onlycomputes Power Spectral Densities but also Includes FFTs,Inverse-transforms, Windowing, Sliding Windows, simulta-neous FFTs variable data sizes, etc. and as a last word oursoftware is:

• Readable - as all of our programs are reproduced full sizefor ease in reading.

• Virtually Machine independent - these programs are writ-ten In a subset of Dartmouth Basic but are not oriented for anyone particular system. Just In case your Basic might not useone of our functions we have Included an appendix In Vol-ume V which gives conversion algorithms for 19 differentBasic's: that's right, Just look It up and make the substitution foryour particular version. If you would like to convert yourfavorite program into Fortran or APL or any other language,the appendix In Volume II will define the statements and theirparameters as used In our programs.Over 85% of our programs In the first five volumes will execute Inmost 8K Basic's with 16K of free user RAM. If you only have 4KBasic, because of Its lack of string functions only about 60% ofour programs In Volumes I through V would be useable, how-ever they should execute In only 8K of user RAM.For those that have specific needs, we can tailor any of ourprograms for you or we can write one to fit your specific needs.

Vol. I

Business &PersonalBookkeepingPrograms

Bond

Building

Compound

Cyclic

Decision 1

Decision 2

Depreciation

Efficient

Flow

Installment

Interest

Investments

Mortgage

Optimize

Order

Pert tree

Rare

Return 1

Return 2

Schedule 1

Games &Pictures

Animals Four

Astronaut

Bagel

Bio Cycle

Cannons

Checkers

Craps

Dogtlght

Goir

Judy

Line Up

Pony

Roulette

Sky Diver

Idnk

leach Me

Pictures

A Newman

J.F.K.

Linus

Ms. Santa

Nixon

Noel Noel

Nude

Peace

Policeman

Santa's Sleigh

Snoopy

Virgin

Vol.

Binomial

Cht-Sq.

Coeff

Confidence 1

Confidence 2

Correlations

Curve

Differences

Dual Plot

Exp-Dlstrl

Least Squares

Paired

Plot

Plotpts

Polynomial Fit

Regression

Stall

Stat 2

T-Dlstrl button

Unpaired

Variance 1

Variance 2

XY

APPENDIX A

Vol. Ill

Vol. IV

Vol.V

Vol. VI

Beam

Billing

Bingo

Andy Cap

Ledger

Conv

Inventory

Bonds

Baseball

Filter

Payroll

Bull

Compare

Fit

Risk

Enterprise

ContkHO

Vol. VII

Integ ration 1

Schedule 2

Football

Descrlp

Integration 2

ShippingStocks

Funds!

Differ

Chess

Intensity

Funds2

Engine

Lola

Switch

Go-Moku

Fourier

Macro

Jack

Horse

Max. Mln.Navald

LifeLoans

IntegersLogic

Medbll

Optical

Mazes

Playboy

Planet

Poker

Primes

PSDRandl

PopulProflts

ProbalQuad roc

Wdproc

Rand 2

Quote

Red Baron

Solve

Rates

Regression 2

Sphere WanStars

Retire

Road Runner

Utility

Savings

Roulette

Track

SBA

Santa

Vol. VIII

TriangleVariable

Tlc-Tac-Toe

Stat toStatu

1040-Tax

Vector

SteelTopVaryXmas

BalanceCheckbook

lnst1o78

Maintains Company accounts and generatesfinancial reports, includes routines tor Pyrl, Inv,Depr, A/R, A/R

Designed to challenge the average player,fairly comprehensive. Great tun lor all, offers aunique opportunity for beginners In need of anopponent.

For Doctors and Dentists alike, a completepatient billing system which also permits themaintaining ot a patient history record.

Wordprocesslng tor lawyers, publishers, writers,etc. Write, store, and change from rough droitto final copy In a variety of formats.

Disk utility program with memory testing.

Taxpayers return, Itemized deductions orstandard

Reconciles bank statements

Balances your checkbook

Computes real cost on bank financed Items;cars, boats, etc.

Computes depreciation, 4 methods, any timeperiod

Deprec2

APPENDIX C - FAVORITE PROGRAM CONVERSIONS

Vol. I - $24.95BookkeepingGamesPictures

Vol. II - $24.95Math/EngineeringPlotting/SatisfiesBasic statement Det.

Vol. Ill - $39.95Advanced BusinessBilling. InventoryInvestmentsPayroll

Vol. IV - $9.95General Purpose

Vol. V - $9.95Experimenter's Program

Vol. VI - $49.95Mini-Ledger

Vol. VII - $39.95

Professional

Programs

Vol. VIII-$19.95

Homeowner*

Programs

AVAILABLE AT MOST COMPUTER STORES

Master Charge and Bank Amertcard accepted.

Our Software Is copyrighted and may not be reproduced or sold.

Add $1.50 per volume handling, all domestic shipments sent U.RS. except APOand PO Box which go parcel post. Foreign orders add $8 00/volume for airshipment and make payable In U.S. dollar* only

£T> SCIENTIFIC RESEARCH

^^^ PO. Box 490099-B Key Biscayne, FL 33149

Phone orders call 800-327-6543 Information - (305) 361-1153

BYTE May 1979 89

Figure 6: Orthographicequatorial projection cen-tered on 90° east longi-tude. Here, the same typeof projection as used infigure 5 is employed, butthe view has been rotated160° to the east.

THE INDUSTRY LEADER IN AFFORDABLE HI-RES VIDEO ANALYSIS

The Micro Works—FIRST to bring high resolution, low cost video to the micro world. Our Dlglsectors (we even coined the term) provide highspeed, precise conversion of video signals to digital data—data you can manipulate to manage security systems, interpret bar codes and steerrobots. We've been in the video business for a long time; our DS-68 for 6800 machines was the first video digitizer designed specifically formicroprocessors and the first to sell at prices experimenters and hobbyists could afford. Its big sister, the DS-80, provides new features at anunprecedented price for S-100 micros.

Both boards support high resolution, a 256x256 picture element scan, the precision of 64 grey scale levels, and speed—conversion times aslow as 3 microseconds per pixel. The Dlglsectors are shipped with the software to digitize a full frame of video and store the image In memory.From there, you can output to disk, printer, or simply analyze the data for conditions your system is programmed to interpret.

What else do you get for your money? A reliable, trouble-free board which you don't need to be a hardware or software wizard to operate. Dlgl-sectors are shipped assembled, burned In and tested; you ]ust plug them in and run. Our customers are happy; they use Digisectors In researchapplications, custom microprocessor systems, scanning devices, portrait systems and robotics. Isn't it time for your computer to get thewhole picture?

Price: DS-68 $169.95 DS-65 for the Apple

DS-80 $349.95 COMING SOON!

P.O. BOX 1110 DEL MAR, CA. 9SD14 714-756-E6B7

Master ChargeVisa Accepted

90 May 1979 © BYTE Publications Inc

Circle 231 on inquiry card.

Wordsmith is the video text editing system you've beenwaiting for Its power, flexibility and simplicity help you carveany text editing task down to size — in a way you canunderstand. We wanted a system that allows you to think intraditional ways about text layout, yet at the same time makesthe traditionally tedious operations such as cut and pastesimple and fast. We think we've done it. We want you to decide

for yourself ■■i^HBaBr^H^BaaHaaaHi

Flexibility

■ Logical/Physical Page Distinction. Define your ownhardcopy size. Wordsmith remembers the differencebetween the screen size and the hardcopy page size.

■ Modular Hardcopy Driver. Drive a Qume" Sprint-5 orTTY-like device directly now, Diablo, NEC and otherhardcopy devices soon.

■ Pure Text. Wordsmith files are pure text with no controlcharacters mixed in. This universal format keeps you ascompatible with the world as possible. What you see on thescreen is what you get as hardcopy.

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

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

Power

■ Page Oriented Philosophy. A document is a collection ofpages. The screen displays one entire page at a time. Simplerandom access page flipping commands take you quickly toany page in the document. Equally efficient commands allowyou to insert, delete, copy and move pages both within onedocument and across documents.

Extensive Block Manipulation Capabilities. Using"windows", portions of text, charts, etc., can be quickly andeffortlessly moved around on the current page, or acrosspages. The shape and size of any window can be changed inreal time, with the contained text automaticallyreformatting itself (heeding word and paragraphboundaries) to conform to the new shape.

MoveText Blocks

Set Up

Multiple Text

Regions

Change Text Shape

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

Simplicity

■ Auto Word Break. Forget the right margin. Wordsmithnotices when you won't be able to complete the currentword and moves it to the next line for you as you continuetyping.

■ Understandable Commands. The most frequently usedcommands are single keystrokes. The rest are easilyremembered abbreviations.

■ Informative Status Lines. The top two screen linesconstantly display page number information, documentname, cursor position, tab stops and status/errorphrases. You're always in touch with your document.

Page 3 of 8

File=ADV1

Cursor row 28, col 43

* T

1

♦ ♦

Protection Against Catastrophic Errors. It's nearlyimpossible to ruin your document with a single badcommand. Wordsmith's page oriented design and double-checking user interface help you do what you mean!

The TM

uoo&nsrnxcn

TEXT EDITOR

Defining the New Generation of Text Editing

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

Direct CP/M,R! and North Star DOS compatibilityAvailable for 40x86, 24x80 and 16x64 memory-mappedvideo boards

Fully reentrant for efficient multi-programming environ-ments (6K program space, 5K data area)8080 and Z80 compatibility

OrderingInformation:

$200

(Screensplitter™ Owners: S80)

Manual only: $1 5

Check. VISA, Mastercharge

1. CP/M or North Star DOSversion?

2. TTY or QUME interface?

3. Brand and memory address ofvideo display board?

4. Ship on single or doubledensity, 5" or 8" diskette?

Inquire about our custom keyboard.

Circle 219 on inquiry card.

BYTL May 1979

91

Figure 7: Orthographicpolar projection of thenorthern hemisphere. Aspacecraft high over thenorth pole would see aview similar to this.

2000

REM

2010

REM

2020

REM

2030

REM

2040

REM

2050

REM

2060

REM

2070

REM

2080

REM

2090

REM

2100

REM

2110

REM

2120

REM

2130

REM

2140

REM

2150

REM

2160

REM

2170

REM

2180

REM

2190

REM

2200

REM

2210

REM

2220

REM

2230

REM

2240

REM

2250

REM

2260

REM

2270

REM

2280

REM

SUBROUTINE TO COMPUTE MAP COORDINATES FORORTHOGRAPHIC POLAR PROJECTION.

THE FOLLOWING VARIABLES MUST 3E DEFINED BEFORETHIS SUBROUTINE IS CALLED:

P IS THE GEOGRAPHIC LATITUDE (OBTAINED FROM

THE DATA BASE) OF THE POINT BEING CONVERTED.

L IS THE GEOGRAPHIC LONGITUDE (OBTAINED FROMTHE DATA BASE' OF THE POINT BEING CONVERTED.

R IS THE RADIUS OF THE FINISHED MAP, INCENTIMETERS. INCHES. ETC.

H IS A FLAG TO INDICATE WHICH HEMISPHERE ISBEING DRAWN. H=0 MEANS NORTHERN HEMISPHERE.HXO MEANS SOUTHERN HEMISPHERE.

THE FOLLOWING VARIABLES ARE COMPUTED BY THISSUBROUTINE:

S IS THE OFF-SCALE FLAG. S=0 MEANS ON-SCALE-S=l MEANS OFF-SCALE.

Rl IS TEMPORARY STORAGE.

Listing 4: Subroutine to compute map coor-dinates for orthographic polar projection.

Orthographic Polar Projections

This is another special case of the per-spective projection where the point of pro-jection is at infinity. This time, however, theviewpoint is located directly over the poles.As seen in figures 7 and 8, maps of this pro-jection suffer from compression of geograph-ic features near the equator, but this is aminor drawback considering the ease withwhich they are generated. Grid lines for themeridians and parallels were omitted fromthese two particular maps, so the distortionis really not so noticeable unless someonepoints it out to you. The differences nearthe equator will be apparent if you comparethese maps to the polar equidistant maps in

92 May 1979 © BYTE Publications Inc

Figure 8: Orthographicpolar projection of thesouthern hemisphere. Theprojection is the same as infigure 7, but the vantagepoint has been shifted toa point above the southpole.

figures 3 and 4. Nevertheless, those maps aremathematical projections designed forspecific purposes, and the orthographic polarmaps are much more realistic for other pur-poses (the orbiting spaceships, for example).The subroutine used to generate thesemaps is shown in listing 4, where only threestatements are required for the conversionprocess. Although this sample routine doesnot provide for rotation of the map, this canbe implemented by the inclusion of one ad-ditional statement. All you need to do is addthe desired rotation angle to the geographiclongitude (L) of the point being converted.(Some systems may also require that theresultant angle be normalized before it isused in the trigonometric function.)

Azimuthal Equidistant Projections

Here we come to one of the most inter-esting projections in common use. Theazimuthal equidistant projection, also

Listing 4 continued:

2290

REM

2300

REM

2310

REM

2320

REM

2330

REM

2340

REM

2350

REM

2360

LET S =

0

2370

REM

2380

REM

2390

REM

2400

IF H =

0

2410

IF P >

0

2420

REM

2430

REM

2440

REM

2450

LET L =

-

2460

60 TO 252

2470

IF P >:

2460

LET S =

1

2490

RETURN

2500

REM

2510

REM

2520

LET Rl :

2530

LET X =

R

2540

LET Y =

R

2550

RETURN

2560

END

X IS THE MAP X-COORDINATE IN CENTIMETERS ORINCHES'

Y IS THE MAP Y-COORDINATE IN CENTIMETERS ORINCHES'

IF THE POINT FROM THE DATA BASE IS NOT IN THEHEMISPHERE BEING DRAWN. SET THE OFF-SCALE FLAGAND RETURN,THEN 2470.0 THEN 2480

FOR A SOUTHERN HEMISPHERE MAPf CHANGE THE SIGNOF THE LONGITUDE TO MAINTAIN THE PROPER MAPORIENTATION.L00.0 THEN 2520

COMPUTE THE MAP COORDINATES FROM THEGEOGRAPHIC COORDINATES.R * COS(P)1 * COS(L)1 * SINfD

May 1979 © BYTE Publications Inc 93

A21NUTHRL EOUIQISTRNT MAP CENTEREO ON

TEXRS.32 47N 96

DALLAS48W

?70

Figure 9: Azimuthal equi-distant projection centeredon Dallas, Texas. Alsocalled a great circle map,this projection gives trueazimuths and distancesfrom the center to allother points. This kind ofmap is especially useful forshowing great circle navi-gation routes and fordetermining the propergreat circle bearings whenaiming radio antennas.

SCALE OF DISTANCE FROM CENTERRH.MHM

referred to as a great circle map, is particu-larly useful in navigation and radio communi-cation. Each such map is based on a chosencentral location, and the land areas aremapped so that the azimuths to them fromthe center are true in all directions. This isaccomplished by computing the great circlebearings and distances from the central loca-tion to each of the points in the data base,

then scaling the distance to fit the map. Thisyields the polar form of the map coordinateswhich are then directly converted to rec-tangular map coordinates in the usual manner.Since the shortest distance between anytwo points on the surface of the Earth isalong the great circle path between them,ships and aircraft follow such paths as close-ly as possible. Radio signals are usually

94 May 1979 © BYTE Publications Inc

SYNCHRO-SO

and offer

RIGINAL Compi jple Who KNOW computers

EVERYTHING you need in Small Computer Systems

RVICEand ^^^^^

TStAEHTS

SOFTWARE

oNLy SU"^

.00

yjecafV

,(u»«oe

0,Te*as

instw

imenW (

tot P"ces

cf^*

tot

prices

A400-AAAO.

43. wpt\ce

Here are nine packaaeq th-

tne potential in your smallcomputer system:

ACCOUNTS RECEIVABLE

INVENTORY

ORDER ENTRY

WORD PROCESSING

PAYROLL

REAL ESTATE MGT.

MEDICAL-DENTAL

MAILING PROGRAM

SHIPPING & RECEIVING

and MORE!

Microsoft Basic, Fortran, Cobol

available

CALL* for prices \|

com'

CBO

*/once

MORE SPECIALS

MWcto • \ GM,\-

779-2- ■■■ w700-2 1 pV\ces

703-0- -J V

Decwriterll $1395.00

Qume Sprint 5/45

R0 2795.00

Persci 277 Dble

Density 1395.00

Imsai PCS 80/15 599.00

l Anadex DP 8000

Printer 995.00

44 Column Printer .... $295.00

Livermore Accoustic

Coupler 249.00

Javelin9" Monitor ... .159.95

Pertec 4511-R

10 M Hard Disk CALL*

4rOur prices are too low to advertise.Please call or write.

We have a full staff of Programmers and ComputerConsultants to design, configure and deliver a TurnkeyComputer System to meet your specific requirements.

SYNCHRO-SOUND

The Computer People

193-25 Jamaica Avenue, Jamaica, New York 11423

212/468-7067 TWX 710-582-5886

ENTERPRISES, INC.

Hours 9-4 Dailyand Saturday

Visit our new showroomWorking units on display

BankAmericard Master Charge

Circle 355 on inquiry card.

BYTE May 1979

95

AilNUTHAl EQUIDISTANT HAP CENTEREO ON

flUSTRRLIR. CflNBERRR35 17S 149 8E

?70 "

Figure 10: Azimuthal equi-distant projection centeredon Canberra, the capital ofAustralia. Compare thismap to the one in figure 9and notice how differentthe world looks from thestandpoint of navigationand radio bearings.

SCALE OF OISTANCE FROM CENTERMipmjtM

msL

Twff 4000

i loop

i4m ' hAm^ii

strongest along the shortest path, so recep-tion is best when the antenna is lined upwith the correct great circle bearing. Theazimuthal equidistant map is superb inthese applications.

Figures 9 and 10 illustrate maps centeredon Dallas TX, and Canberra, Australia,respectively. A navigator planning a flightfrom Dallas to Tokyo would draw a straight

line from the center of the Dallas map, toTokyo. This line indicates the shortest pathbetween the two cities, and shows the inter-vening territory to be traversed. By extendingthe straight line on out to the bearing scaleon the perimeter of the map, the initialdeparture bearing can be read directly.

Ham radio operators and shortwavelisteners use these maps extensively. Suppose

96 May 1979 © BYTE Publications Inc

PQWEHRIL JNTERFflCES

S-100 RS-232 CONTROL CARD

8-SERIAL I/O CHANNELSMODEL 232-100K (KIT) - $149.95MODEL 232-100A (ASSEM.) - $179.95A MUST FOR THE SERIOUS USER: NOW, FROMA SINGLE SERIAL I/O PORT YOU CAN SEND ANDRECEIVE DATA TO ANY OF THE 8 CHANNELSWITH A SIMPLE SOFTWARE COMMAND EITHER INBASIC OR MACHINE CODE.

•INDIVIDUAL BAUD RATES: Each channel can be setfor its own individual baud rate via a dip switch. Cardcontains its own on board baud rate generator chip andcrystal. The RS-232 Control Card will run any S-100Microprocessor because of its on board timing clock.

• ALL HARDWARE: Yes this has our "ALL HARD-WARE" software match setting features. You are able toselect and set status, its parity to match any softwareconfiguration. NO NEED TO CHANGE THE SOFTWARETO MATCH THE BOARD.

• SIMPLE OPERATION: Only one port to configure. It'seasy to set and run. You just output from Basic or yourmachine code program the Port # and Bit 1 -8. By turning onbits one through eight you're able to direct your output toany RS-232 device. An extra feature is, you are able to runmore than one RS-232 device at a time. Output and inputfrom all 8 if you want.

• EASY CONNECTION: On top of the board are two 50pin edge connectors. Supplied with the board are twocables with 40 Pin I DC connectors on one end and four DB-25 connectors on the other. All cables for connection fromboard to I/O devices is supplied.

• HIGHEST QUALITY: The highest quality parts areused. The PC. board is double sided with plated through theholes, solder mask and silk screened legend.

• FULL DOCUMENTATION: A complete manual ofoperation and assembly is included.

S-100 Z-80 CENTRALPROCESSING UNIT

MODEL Z-80100K (KIT) - $129.95MODEL Z-80100A (ASSEM.) - $139.95

• Selectable power on jump to any memory address.

• Provisions for on board EPROM.

• True generation 8080Q1 and Q2 clock signals.

• Selectable wait states on M-1 cycle memory requestcycle, on board ROM cycle, and input-output cycles.

• True DMA tri states for all signals from processorboard.

• All status signals are latched per the S-100 BUSspecifications.

• Unit includes high speed Z-80A Microprocessor chip, 4Mhz operation - can be switched to 2 Mhz, if so desired.

• Power requirements — +8volts @ LOamps.

•TRS-BO is a trademark ol Tandy Corp

TRS—80* TO S-100 BUSCABLE ADAPTER

MODEL CAB-80K (KIT) $99.95MODEL CAB-80A (ASSEM.) $119.95

• FULL INTERFACE: Contained within the cableassembly, is a small enclosure. This enclosure contains allthe logic to convert your TRS-80* to be compatible with theS-100 BUS system.

• FULL BUFFERING: All address, data and signal linesare fully buffered.

• EASY CONNECTION: It is easy to connect. Just plugthe one end of the cable into the one slot on your S-100system and plug the other end into the rear of the TRS-80*keyboard or between the expansion interface. Turn on andgo

• TWO EDGE CONNECTORS: Two addition 40 pinport edge connectors are provided for other connection ofexpanision interfaces.

• POWER: All power is derived from the S-100 BUSstructure. Since the TRS-80* will not support other deviceshooked to its power supply, it is a must that your S-100supply =8-10 volts D.C. Logic card contained within thecable has on board 5 volt regulator. Current requirements is375 ma. Unit has separate terminal for exterior connectionof DC power requirement if it is to be supplied outside the S-100 BUS system.

• FULL OPERATION MANUAL: Not much need for amanual, but we have prepared one with full principal ofoperation, etc.

TRS-80*

16K MEMORY ADD-ON KIT

FOR THE TRS-80* — SORCERER:]: — APPLE lit8-PRIME, 250NS HIGH SPEED MEMORY CHIPSMODEL 16K-80- $95.00

• All chips are new, top quality, factory fresh andtested.

• Each kit comes with complete, simple to understandinstructions. Even the least experienced individual can addon memory.

• Comes complete with programmed jumpers.

• Guarantee: If a chip fails, we will replace it with noquestions asked. Lifetime guarantee!

• Remember: These are top quality prime #1 chips. Allorders shipped same day as received!

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Suite 333, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537

Circle 390 on inquiry card.

BYTE May 1979

97

Listing 5: Subroutine to compute map coordinates for azimuthai equidistantprojection.

SUBROUTINE FOR COMPUTING MAP COORDINATES FORAZIMUTHAL EQUIDISTANT PROJECTION.

THE FOLLOWING FUNCTION MUST BE DEFINED BEFORETHIS SUBROUTINE IS CALLED:

FNC< ) COMPUTES THE ARC COSINE OF THEARGUMENT. THE FUNCTION MUST BENON-AMBIGUOUS! THAT IS. IT MUSTATTACH THE CORRECT ALGEBRAIC SIGNTO THE RESULT.

THE FOLLOWING VARIABLES MUbT BE DEFINFD BEFORETHIS SUBROUTINE IS CALLED:

AI IS EQUAL TO SIN(A>, WHERE A IS THE

GEOGRAPHIC LATITUDE OF THE LOCATION ONWHICH THE MAP IS CENTERED.

A2 IS EQUAL TO COS(A). WHERE A IS AS DEFINEDABOVE

LO IS THE IDEOGRAPHIC LONGITUDE OF THE LOCATIONON WHICH THE MAP IS CENTERED.

P IS THE GEOGRAPHIC LATITUDE (FROM THE DATABASE) OF THE POINT BEING PROCESSED.

L IS THE GEOGRAPHIC LONGITUDE (FROM THE DATABASE) OF THE POINT BEING PROCESSED.

F IS THE MAP SCALE FACTOR. EQUAL TO

R/3.1415927. WHERE R IS THE RADIUS OF THEFINISHED MAP. IN CENTIMETERS OR INCHES-

THE FOLLOWING VARIABLES ARE COMPUTED BY THISSUBROUTINE:

LI IS TEMPORARY STORAGE FOR THE DIFFERENCEBETWEEN THE LONGITUDE OF THE POINT BEINGPROCESSED. AND THE LONGITUDE OF THELOCATION ON WHICH THE MAP IS CENTERED.

Pi IS TEMPORARY STORAGE FOR THE SINE OF THELATITUDE OF THE POINT BEING PROCESSED.

D IS THE ANGULAR DISTANCE (ARC DISTANCE)' INRADIANS, BETWEEN THE LOCATION ON WHICH THEMAP IS CENTERED AND THE POINT BEINGPROCESSED.

Dl IS TEMPORARY STORAGE FOR THE COSINE OF D.

C IS THE NORMALIZED ANGULAR COMPONENT OF THEPOLAR FROM OF THE MAP COORDINATES.

Cl IS THE COSINE OF THE VALUE OF C BEFORE C ISNORMALIZED.

Rl IS THE RADIAL DISTANCE COMPONENT OF THEPOLAR FORM OF THE MAP COORDINATES.

X IS THE MAP X-COORDINATE. IN CENTIMETERS ORINCHES.

Y IS THE MAP Y-COORDINATE. IN CENTIMETERS ORINCHES-

L - LO

NORMALIZE THE LONGITUDINAL DIFFERENCE BETWEEN

Listing 5 continued on page 100

5000

REM

5010

RuM

5020

REM

5030

REM

5O';0

REM

5050

REM

5060

REM

5070

REM

5080

REM

5090

REM

5100

REM

5113

REM

5120

REM

5130

REM

5140

REM

5150

REM

5160

REM

5170

REM

5180

REM

5190

REM

5200

REM

5210

REM

5220

REM

5230

REM

5240

REM

5250

REM

5260

REM

5270

REM

5280

REM

5290

REM

5300

REM

5310

REM

5320

REM

5330

REM

5340

REM

5350

REM

5360

REM

5370

REM

5380

REM

5390

REM

5400

REM

5410

REM

5420

REM

5430

REM

5440

REM

5450

REM

5460

REM

5470

REM

5480

REM

5490

REM

5500

REM

5510

REM

5520

REM

5530

REM

5540

REM

5550

REM

5560

REM

5570

REM

5580

REM

5590

REM

5600

REM

5610

REM

5620

REM

5630

REM

5640

REM

5650

REM

5660

REM

5670

REM

5680

REM

5690

REM

5700

REM

5710

REM

5720

LET LI

5730

REM

that a ham in Canberra, the capital ofAustralia, hears a station in Venezuela thathe would like to talk to. By using the map infigure 1 0, he can draw a line from the center,through Venezuela, out to the edge. Thebearing read at the edge tells him where toset his antenna, and once done he not onlyreceives the strongest possible signal fromVenezuela, but he also assures that his ownsignal is transmitted along the shortest pos-sible path to the other ham.

The distance scale at the bottom of thesemaps can be used to measure the distancebetween the center and any other locationon the map. But it cannot be used betweenjust any two locations: on this type of pro-jection the distance scale is accurate onlywhen measuring outward from the center.

The bearing scale, you will notice, is num-bered from 0 to 360 degrees, clockwise fromtrue north. This is the usual convention forall navigation and radio bearings. We labelthe map in this manner, but work with stand-ard trigonometric convention in the program.More will be said about that later.

The program that generated the examplemaps is given in listing 5. Although slightlymore involved than the previous map pro-jections that we have looked at, it still re-quires only about a dozen statements tocarry out the entire conversion process. Oneinteresting feature is that there is no off-scale flag to worry about, because there is nosuch thing as an off-scale condition on anazimuthai equidistant map. The entire worldis mapped, with no discontinuities, so everycoordinate in the data base will find a homesomewhere on the map.

The solution of the mathematics requiresan inverse cosine function, which is notpresent in many BASIC interpreters. Ratherthan worry about what other implementa-tions might be like, I just set it up to com-pute the inverse cosine by a user-definedfunction, FNC, It is up to the user to insert aproperly defined function for this operation.[Most BASIC interpreters have inverse tan-gent functions. Inverse cosine can be derivedby cos-^(X) = -tan-1(X/y/ 7 - X2) +1.5708.... RGAC/

Since many of the people who are inter-ested in this type of map are also interestedin printing out tables of great circle bearingsand distances to other locations, I arrangedthe first part of the program to compute theangle in navigation/radio bearing conventionbefore converting it to standard convention.The remarks beginning at line 5900 give ad-ditional details for extracting this informa-tion if you want it in tabular form.

One should be cautioned that thecreation of azimuthai equidistant mapsrequires a fairly dense data base, because of

98 May 1979 © BYTE Publications In

A LOT LESS THAN YOU EXPECT.

Less Cost

Less Hassle

The INFO 2000 Disk System eliminates the "I/O configura-tion blues" by incorporating all necessary interface ports. ACP/M Loader and all I/O drivers are contained in EPROM sothere is no need for special software customization. Justplug the system into your S-100 microcomputer and beginimmediate operation using the CP/M disk operating system.The INFO 2000 Disk System is supported by the most exten-sive library of software available, including 3 different BASICs,2 ANSI FORTRAN IVs, several assemblers, text editors, de-bugging tools, utilities and numerous applications packages.

LessErrors

This disk system uses fullsize 8" diskettes and stan-dard IBM 3740 recordingformat. So you're assuredsuperior protection againsterrors, and full inter-changeability with otherCP/M-based systems.

The DISCOMEM Controller board costs us less tomanufacture. So your complete INFO 2000 DiskSystem costs you less - at least $400 less than com-perable disk systems.

Less Hardware

Only three S-100 boards are needed to create a com-plete, high-performance disk-based microcomputersystem-the DISCOMEM Controller Board, a 32Kmemory board, and any 8080, 8085 or Z80 CPUboard. You don't need extra interface or EPROMboards since DISCOMEM contains 2 serial ports, 3parallel ports and provision for 7K of EPROM and IKof RAM.

LessTime

The INFO 2000 Disk Sys-tem is incredibly fast! Usingthe PerSci Drives with voicecoil positioning, disk seektimes are up to 8 times fast-er than with other drives.A full disk-to-disk copy andverification takes well undera minute. Formatting andverifying a new diskettetakes less than half a min-ute. Reloading CP/M* fromdiskette takes a fraction of asecond.

Less Space

The system is remarkablycompact, requiring only1/2 to 1/3 the space takenby other 2-drive disk sys-tems.

It all adds up to more capability foryour money.

The complete INFO 2000 Disk System comes completely assembled and tested. It includes dual'diskette drives, the DISCOMEM Controller, power supply, cabinet, cables and the CP/M diskoperating system—everything you need for immediate plug-in-and-go operation with yourmicrocomputer. This means less time, hassle, hardware, space, errors and less money than forcomparable equipment. Now, isn't that a lot less than you'd expected in a dual disk system?INFO 2000 Disk Systems are also available for Digital Group and Heath H8 microcomputers.Dealer inquiries welcomed.

tCP/M is a registered trademark of Digital Research. * Extra cost option.

Circle 173 on inquiry card.

CORPORATION

20620 South Leopwood Avenue

Cocson. California 90746

(213) 532-1702

BYTE. May 1979 99

Listing 5 continued from page 98:

5740

5750

5760

5770

5780

5790

5800

5810

5820

5830

581+0

5850

5860

5870

5880

5890

5900

5910

5920

5930

5940

5950

5960

5970

5980

5990

6000

6010

6020

6030

6040

6050

6060

6070

6080

6090

6100

6110

6120

6130

6140

REM -180 DEGREES AND +180 DEGREES (-PI AND +Pl).

IF LI >= -3.1415927 THEN 5780

LET LI = LI + 6.2831853

GO TO 5800

IF Ll <= 3.1415927 THEN 5800

LET Ll = Ll - 6.2831853

LET PI = SIN(P)

LET Dl = Al * PI + A2 * COS(P) * COS(Ll)

LET D = FNC(Dl)

LET CI = (PI -A1*D1> / (A2 * SIN<D>)

LET C = FNCIC1)

REM NORMALIZE THE VALUE OF Cr DEPENDING UPON THEREM RELATIVE LONGITUDES OF THE POINT AT THE CENTERREM OF THE MAP AND THE POINT BEING PROCESSED.

IF Ll >= 0.0 THEN 6020

LET C = 6.2831853 - C

AT THIS POINT C IS IN THE KANGE FROM 0 TO2*PI» MEASURED CLOCKWISE FROM TRUE NORTH. IFDESIRED' ONE CAN COMPUTE THE BEARING INDEGREES BY B = C * 57.2957795. THE GREATCIRCLE DISTANCE ALONG THE SURFACE OF THE EARTHCAN ALSO BE COMPUTED AT THIS POINT BYK = D * 6378. WHERE K IS IN KILOMETERS, OR BYM = D * 3963f WHERE M IS IN MILES.

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

REM

LET C

IF C

LET C

REM

REM

LET Rl

REM

REM

REM

LET X

LET Y

RETURN

END

NOw REVERSE THE DIRECTION OF MEASUREMENT OF CAND ROTATE IT BY PI/2 (90 DEGREES). THENNORMALIZE THE RESULT BETWEEN -PI AND +PI.

= 1.5707963 - C

>= -3.1415927 THEN 6070

= C + 6.2831853

CONVERT TH£ ANGULAR DISTANCE TO THE MAP RADIALDISTANCE.D * F

Rl AND C NOW REPRESENT NORMALIZED POLARCOORDINATES ON THE MAP* FROM WHICH THERECTANGULAR MAP COORDINATES ARE COMPUTED!Rl * COSIO

Rl « SIN(C)

the extreme elongation of graphical featuresnear the edge of the map. The consequenceof having widely separated data points willbe an entirely unacceptable map with longstraight and angular lines on the outer por-tions. This can be minimized somewhat bycertain interpolation techniques, but none ofthese can entirely compensate for funda-mental deficiencies in the data base.

Perhaps by this time some readers haverealized that the polar equidistant maps thatwe looked at in figures 3 and 4 are actuallyjust very special cases of the azimuthalequidistant map. Due only to their uniquecentral locations, they happen to be moreeasily generated by the procedure in listing 2than the one in listing 5, though either coulddo the job with just minor modification.

Celestial Maps

No examples of celestial maps have beenincluded because the methods used to createthem have already been covered in the discus-sion of the other types of maps. It is doubt-ful that you would want to generate a hardcopy of a celestial map, since the projectionsused are pretty much standardized andthere are plenty of nice printed maps avail-able at nominal cost. The true value of com-

puter generated celestial maps materializesin the creation of video displays for useadjacent to the telescope during astronomi-cal observations.

One can set up a system to display selectedareas of the heavens on a video displayequipped with a red filter to preserve nightvision. The area displayed can be specified atthe keyboard, or it can be automaticallydesignated according to the current pointingposition of the telescope. The computer canbe used to drive the telescope's trackingmotors, and simultaneously update the videodisplay as the field of vision moves acrossthe night sky.

As mentioned earlier, ready-made databases abound for astronomical applications.For all practical purposes, the format is thesame as for geographical data bases. Celestialcoordinates, however, are given in rightascension (measured in hours, minutes, andseconds) and declination (measured indegrees). Right ascension can also be rep-resented in degrees of arc, where 15 degreesare equal to one hour of time. The formatyou use would depend upon the ultimateapplication.

In addition to the coordinates stored inthe data base, it will be necessary to store acode indicating the type of object (star,nebula, galaxy, etc) as well as its visualmagnitude (brightness). Then dots of varyingsize, or even distinctly different symbols,can be displayed to give a much moreaccurate representation of what the observerwill see through the telescope. The processused for celestial mapping is very much likethat demonstrated by the United States mapin figure 2, in that the map is made upentirely of isolated dots or symbols withno lines connecting them.

Since the area of the sky presented on thevideo screen at any one time is comparativelysmall, most portions of the sky can be dis-played with no noticeable distortion merelyby using a simple rectangular projection.Areas within about 30 or 40 degrees of thecelestial poles might be presented using apolar equidistant projection.

Homemade Projections

It has already been pointed out that theprojections we examined are just the mostcommon of the many projections actually inuse. You may find that you have an applica-tion that requires a different approach, andyou will probably find just what you want inany good text on cartography or map projec-tions. But don't let that be the end of theline for you. There is nothing that says thatyou can't devise your own projections. Ifyou want a projection that shows the surfaceof the Earth as viewed from an antimatter

100 May 1979 © BYTE Publications Inc

spaceship traveling through the core of theEarth, it's a simple matter to set up one.When you're through, you can even namethe projection after yourself.

To demonstrate the liberties one can take,I have included in figure 11 a projection ofmy own design. This I have called Johnston'sComplementary Latitude Polar Projection ofthe Northern Hemisphere. The reader is leftto find a use for it.

Summary

Some of the greatest theoretical contribu-tions to the science of cartography weremade as far back as 400 years ago. Butproducing each given map was a monumentaltask of manual computation, not to be takenlightly. What was possible in theory forhundreds of years has only become practicalto carry out on any significant scale in thepast 25 years, and for a time only by organi-zations with access to large scale computers.

Today, you and I can sit before our homecomputers, and with a few keystrokes wecan command our machines to spew out

maps of all descriptions. In mere seconds, wecan have maps for satellite tracking, for an-tenna pointing, for Space War games, or forwhatever purposes suit our fancy. The sub-routines given in the accompanying listingscan be used to generate a number ofdifferent types of very useful maps, and withlittle effort the reader can devise additionalsoftware to further expand the capability.

This article has barely scratched thesurface of the field of computer generatedmaps. We have not, for example, addressedthe subject of topographic mapping, or anyof a host of other interesting aspects ofcomputerized cartography. Commercial andgovernment installations use techniques farmore sophisticated than those demonstratedhere. One can, however, derive an enormousamount of practical use and personalsatisfaction from putting into operation theprocedures that we have examined. If yourimagination has no limits, then the powerof your computer has no bounds."

Figure I7: Johnston's com-plementary latitude polarprojection of the north-ern hemisphere. This is ahomemade projection in-vented by the author, forwhich the reader is invitedto find a use.

May 1979 © BYTE Publications Inc

101

cut it out!

Software

with

Manual

ManualAlone

DIGITAL RESEARCH

□ CP/M* FDOS — Diskette Operating System complete withText Editor, Assembler, Debugger, File Manager and systemutilities. Available tor wide variety of disk systems includingNorth Star, Helios II, Micropolis, iCOM (all systems) and Altair.Supports computers such as Sorcerer, Horizon, Sol System III,Versatile. Altair 8800, COMPAL-80, DYNABYTE DB8/2, andiCOM Attache. Specify desired configuration $145/$25

D MAC — 8080 Macro Assembler. Full Intel macro definitions.Pseudo Ops include RPC, IRP, REPT, TITLE, PAGE, andMACLIB. Z-80 library included. Produces Intel absolute hexoutput plus symbols file for use by SID (see below) $100/$15

D SID — 8080 symbolic debugger. Full trace, pass count andbreak-point program testing system with back-trace and histo-gram utilities. When used with MAC, provides full symbolicdisplay of memory labels and equated values $85 $15

□ TEX — Text formatter to create paginated, page-numberedand justified copy from source text files, directable to disk orprinter $05 $15

D DESPOOL — Program to permit simultaneous printing ofdata from disk while user executes another program from theconsole S50/S1

MICROSOFT

D Disk Extended BASIC

with long variable names,length file records

— New version, ANSI compatibleWHILE/WEND, chaining, variable 8300/825

□

□

□

□

□

FORTRAN-80 — ANSI '66 (except for COMPLEX) plusmany extensions. Includes relocatable object compiler, linkingloader, library with manager. Also includes MACRO-80 (seebelow) $400 $25

COBOL-80 — ANSI 74 Pseudo-compiler with relocatableobject runtime package. Format same as FORTRAN-80 andMACRO-80 modules. Complete ISAM, interactive ACCEPT/DISPLAY, COPY, EXTEND $625/825

MACRO-80 — 8080/Z80 Macro Assembler. Intel and Zilog

mnemonics supported. Relocatable linkable output. Loader,

Library Manager and Cross Reference List utilities included

$149/815

MACRO-80 plus FORTRAN subroutine library available. Li-brary includes ABS. SIGN, EXP, DLOG, SORT, DSQRT,ATAN, DATAN etc. etc $219/815

EDIT-80 — Very fast random access text editor for text with orwithout line numbers. Global and intra-line commands sup-ported. File compare utility included $89/815

L

XITAN (software requires Z-80 CPU)

□ Disk BASIC — Fast powerful interactive interpreter. PRI-VACY password security. Can dynamically open a largenumber of files simultaneously for random or sequential I/O

$159/820

□ Z-TEL — Text editing language. Expression evaluation itera-tion and conditional branching ability. Registers available fortext and commands. Macro command strings can be saved ondisk for re-use 869/820

D ASM Macro Assembler — Mnemonics per Intel with Z-80 ex-tensions. Macro capabilities with absolute Intel hex or relocat-able linkable output modules 869/820

□ LINKER —Link-edits and loads ASM modules ...869/820

D Z-BUG debugger — Trace, break-point tester. Supports dec-imal, octal and hex modes. Dissassembler to ASM mnemonicset. Emulation technique permits full tracing and break-pointsupport through ROM 889/820

'CP M is a trade name ol Digital Research

□

□

TOP Text Output Processor — Creates page-numbered, jus-tified documents from source text files $69/820

arithmetic and string features but without random access datafile support. Available optionally with features to support VDBXitan video output board $99/$20

A3 package includes Z-TEL, TOP. ASM and Super BASIC $249 340

A3+ package includes Disk BASIC, Z-TEL, TOP, ASM,Z-BUG and LINKER $409/$40

MICROPRO

Super Sort I — Sort, merge, extract utility as absoluteexecutable program or linkable module in Microsoft format.Sorts fixed or variable records with data in binary. BCD,Packed Decimal, EBCDIC, ASCII, floating, fixed point, expo-nential, field justified, etc. etc. Even variable number of fieldsper record! $250/$25

■ Above available as absolute program only $200 $25

□ Super Sort II

□ Super Sort III — As I

without SELECT/EXCLUDE $150/825

U Word Master Text Editor — In one mode has super-set ofCP/M's ED commands including global searching and replac-ing, forward and backwards in file. In video mode, provides fullscreen editor for users with serial addressable-cursor terminal $150 $25

Corresponder — Mail list system, supporting form lettergeneration with personalized greetings. Reference fields per-mit sorting and extraction by name, address fields or referencedata using Super Sort. Requires CBASIC $95/825

SOFTWARE SYSTEMS

CBASIC-2 Disk Extended BASIC — Non-interactive BASICwith pseudo-code compiler and runtime interpreter. Supportsfull file control, chaining, integer and extended precision var-iables etc. Version 1 users can receive Version 2 and newmanual for $45 with return of original diskette. Standard CP/Mand TRS-80 CP/M versions available $90 $15

STRUCTURED SYSTEMS GROUP

D General Ledger — Interactive and flexible system providingproof and report outputs. Customization of COA created inter-actively. Multiple branch accounting centers. Extensive check-ing performed at data entry for proof, COA correctness etc.Journal entries may be batched prior to posting. Closing pro-cedure automatically backs up input files. All reports can betailored as necessary. Requires CBASIC $899 $20

□ Accounts Receivable — Open item system with output forinternal aged reports and customer-oriented statement and bill-ing purposes. On-Line Enquiry permits information for Cus-tomer Service and Credit departments. Interface to GeneralLedger provided if both systems used. Requires CBASIC

$699 $20

□ Accounts Payable — Provides aged statements of ac-counts by vendor with check writing for selected invoices. Canbe used alone or with General Ledger and/or with NAD. Re-quires CBASIC S699 S20

□ NAD Name and Address selection system — interactive maillist creation and maintenance program with output as full re-ports with reference data or restricted information for maillabels. Transfer system for extraction and transfer of selectedrecords to create new files. Requires CBASIC $79/$20

U QSORT — Fast sort/merge program for files with fixed recordlength, variable field length information. Up to five ascending ordescending keys. Full back-up of input files created. Parameterfile created, optionally with interactive program which requiresCBASIC. Parameter file may be generated with CP/M assem-bler utility $95/$20

102 May 1979 © BYTE Publications Inc

Software for most popular 8080IZ80 computer disk systems, includingNORTH STAR, MICROPOUS, iCOM, SD SYSTEMS, DYNABYTE DB8I2,HELIOS, ALTAIR, TRS-80 and 8" SOFT SECTORED formats.

□

□

Software I

with /ManualManual/ Alone

GRAHAM-DORIAN SOFTWARE SYSTEMS

□ PAYROLL SYSTEM — Maintains employee master file.Computes payroll withholding for FICA, Federal and Statetaxes. Prints payroll register, checks, quarterly reports and W-2forms. Can generate ad hoc reports and employee form letterswith maii labels. Requires CBASIC. Supplied in source code.

$605 $35

□ APARTMENT MANAGEMENT SYSTEM - Financialmanagement system for receipts, disbursements and securitydeposits of apartment projects. Captures data on vacancies,revenues, etc. for annual trend analysis. Daily report showslate rents, vacancy notices, vacancies, income lost throughvacancies, etc. Requires CBASIC. Supplied in source code.

$605/835

□ INVENTORY SYSTEM — Captures stock levels, costs,sources, sales, ages, turnover, markup, etc. Transaction in-formation may be entered for reporting by salesman, type ofsale, date of sale, etc. Reports available both for accountingand decision making. Requires CBASIC. Supplied in sourcecode S605/S35

OTHER

□ Z80 Development Package — Consists of: (1) disk fileline editor, with global inter and intra-line facilities; (2) Z80relocating assembler, Zilog/Mostek mnemonics, conditionalassembly and cross reference table capabilities; (3) linkingloader producing absolute Intel hex disk file for CP/M LOAD,DDT or SID facilities. Standard CP/M and TRS-80 CP/M ver-sions available S95/S15

D TEXTWRITER II — Text formatter to justify and paginateletters and other documents. Special features include insertionof text during execution from other disk files or console, permit-ting recipe documents to be created from linked fragments onother files. Ideal for contracts, manuals, etc S75 S5

D WHATSIT? — Interactive data-base system using associa-tive tags to retrieve information by subject. Hashing and ran-dom access used for fast response. Requires CBASIC $125 $25

□ DISZILOG — As DISINTEL to Zilog/Mostek mnemonic files.Runs on Z80 only. Standard CP/M and TRS-80 CP/M versionsavailable S65/S10

Fill it in

Lifeboat Associates, 2248 Broadway, New York, N.Y. 10024 {212) 580-0082

Software

with

Manual

ManualAlone

DISINTEL — Disk based disassembler to Intel 8080 or TDUXitan Z80 source code, listing and cross reference files. Intel orTDL/Xitan pseudo ops optional. Runs on 8080. Standard CP/Mand TRS-80 CP/M versions available $65/$ 10

□ XYBASIC Interactive Process Control BASIC — Full diskBASIC features plus uniaue commands to handle bytes, rotateand shift, and to test and set bits. Available in Integer, Ex-tended and ROMable versions.

Integer Disk or Integer ROMable $295/$25

Extended Disk or Extended ROMable S395/S25

D SMAL/80 Structured Macro Assembled Language — Pack-age of powerful general purpose text macro processor andSMAL structured language compiler. SMAL is an assemblerlanguage with IF-THEN-ELSE, LOOP-REPEAT-WHILE, DO-END, BEGIN-END constructs $75/315

□ Selector II — Data Base Processor to create and maintainsingle Key data bases. Prints formatted, sorted reports withnumerical summaries. Available for Microsoft and CBASIC(state which). Supplied in source code S195 $20

Selector III — Multi (i.e., up to 24) Key version of Selector II.Comes with applications programs including Sales Activity. In-ventory, Payables, Receivables, Check Register, Expenses,Appointments, and Client/Patient. Requires CBASIC.Suppliedin source code $295/$20

□ CPM/374X Utility Package — has full range of functionsto create or re-name an IBM 3741 volume, display directoryinformation and edit the data set contents. Provides full filetransfer facilities between 3741 volume data sets and CP/Mfiles $195/$10

LJ Flippy Disk Kit — Template and instructions to modify sin-gle sided 5%" diskettes for use of second side in singled sideddrives $9.75

D BASIC Comparison — A comprehensive features and per-formance analysis of five 8080 disk BASIC languages —CBASIC, BASIC-E, XYBASIC, Microsoft Disk ExtendedBASIC, and Xitan's Disk BASIC. Itemizes results of 21 differentbenchmark tests for speed and accuracy and lists instructionsand features of each BASIC (send 20t S.A.S.E.) FREE

TRS-80 FORTRAN PACKAGE — Professional disk-based language and utility package written by Microsoft,creators of Level II BASIC, the package runs on a TRS-80system with 32K RAM, one or more drives and TRSDOS. Thesoftware is supplied on diskettes and consists of a relocatablemachine code FORTRAN Compiler, Macro Assembler, a Link-ing Loader, Subroutine Library, Text Editor $325

Macro assembler, loader and editor alone $165

n

□

Software

Price

D manual alone

□ manual alone

□ Check DU.P.S. COD □ Visa □ Master Charge

Shipping

Account # Exp. Date

$1.00 for C.O.D.

Signature

Total

My computer configuration (specifying disk system):

Name

Address (No P.O. Box)

City

State

Zip

Effective 4/1/79

i*i The Software Supermarket is a trademark of Lifeboat Associates

Disk systems and for-mats: North Star single ordouble density, IBMsingle or 2DI256, Altair.Helios II. Micropolis ModI or II. S'A" soft sector(Micro iCOMISD Sales!Dynabyte), etc.

Add $1 litem shipping ($2min.). Add $1 additionalfor UPS C.O.D.

Manual cost applicableagainst price ol subse-quent software pur-chase.

The sale ol each pro-prietary software pack-age conveys a licenselor use on one systemonly.

Jboat Associates

Circle 206 on inquiry card.

May 1979 © BYTE Publications Inc 103

6800 Disassembler

NAM

DISASSEMBLER

OPT

S

OPT

NOG

OPT

0

1800

ORG

$1800

A00C

XHI

EQU

SA00C

A066

FLAG

EQU

5A066

A067

CTR

EQU

SA067

8004

KBD

EQU

S8004

8008

PIAD

EQU

$8008

E07E

PD1

EQU

SE07E

E047

BADR

EQU

$E047

A060

XTEM

EQU

SA060

A062

PCTEC

EQU

$A062

A064

YTEM

EQU

$A064

1800 20

16

START

BRA

SET

1802 00

PCR

FCB

0,$10,$16,0

1806 00

FCB

0,'?,4

1809 0D

CRLF

FCB

SD,SA,0,0,0,4

180F 0D

PAGE

FCB

SD,SD,SD,'-

1813 2D

FCB

'-,$D,$D,$D,4

1818 CE

8008 SE

LDX

#PIAD

181B 4F

CLR A

181C A7

01

STA A

1,X

181E 43

COM A

181F A7

00

STA A

0,X

1821 86

3F

LDA A #S3F

1823 A7

01

STA A

1,X

1825 CE

1802

PROM

LDX

#PCR

1828 BD

E07E

JSR

PD1

182B BD

E047

JSR

BADR

182E FE

A00C

LDX

XHI

1831 FF

A062

STX

PCTEM

1834 86

3B

LCTR

LDA A

«3B

1836 B7 A067

STA A

CTR

1839 CE

1809

CONT

LDX

#CRLF

183C BD

18DC

JSR

T1S

183F 7A A067

DEC

CTR

1842 26

08

BNE

ADR

1844 CE

180F

LDX

*PAGE

1847 BD

18DC

JSR

TTS

184A 20

E8

BRA

LCTR

184C CE A062 ADR

LDX

#PCTEM

184F BD

18E7

JSR

TT4

1952 FE

A062

LDX

PCTEM

1855 BD

18E9

JSR

TT2

1858 09

DEX

1859 BD

18EB

JSR

OUTS

185C BD

1932

JSR

TABCK

185F 08

INX

1860 7F

A066

CLR

FLAG

1863 16

TAB

1864 C4

0F

AND B

#$<ff

186611

CBA

1867 27

03

BEQ

FCODE

1869 7C

A066

INC

FLAG

186C 5D

FCODE

TST B

186D 27 B6

3EQ PROM

Prompt test string -home, clear to end ofscreen, "?"

Carriage return & line feed stringPage spacing string

Set up PIA for printer

Zero control reg

All data lines are outputs

Idle pattern for ctl register

Prompt user

Use Mikbug PDATA1 to do it

Get hex starting adr. using Mikbug BADDR

Put result in temp, pseudo pgm. counterInit lines/page counter

Print a CR/LF

Bump line counter

End of page?

Yes

Page it and go reinit. counter

Get adr of pseudo p.c in X reg

Print pseudo p.c.

Get pseudo p.c. in X reg and print byte there

TT2 does an INX, so

put X back to pseudo p.c.

Print a space

Go look up byte (opcode) in table

Check for immediate mode inst-if bit 4 of tag

is on, it is. (tag returns in A - tag code

routine wants it in B with bit 4 off)

Mask off bit 4 in B

and see if it was on.

If not, leave f1ag=0

If so, set flag=l

Routine to interpret tag code

Is tag=0?

Yes, miss, illegal opcode, go get new start adr

Listing J: Disassembler for the 6800 whichresides in the upper 2 K byte portion of an8 K byte memory which can operate on pro-grams stored in the lower 6 K bytes.

Listing 1 continued on page 106

Processor

Disassembler

1.

Fetch op code at address in program

Fetch op code at address in pseudo-

counter.

program counter.

2.

Increment program counter.

Increment pseudoprogram counter.

3.

Interpret op code.

Look up op code in table.

4.

Fetch operand bytes, as necessary,

Fetch operand bytes, as necessary.

incrementing program counter.

incrementing pseudoprogram counter.

5.

Execute instruction.

Print mnemonic operand.

6.

Go to 1.

Goto 1.

Table I: Comparison between the actual workings of the 6800 processorwhile operating on a program and the logical workings of the disassembleron the same text.

Bob Lentz

POB 1194

Del Mar CA 92014

After spending two frustrating daystrying to use MIKBUG to interface botha video display and a Teletype to the South-west Technical Products SwTPC 6800assembler (object code only), I wrote thedisassembler in listing 1 to help me decipherthe assembler. The disassembler and theprogram to be disassembled must be co-resident in memory; the disassembler islocated in the highest 2 K bytes of an 8 Kbyte memory, allowing it to operate onobject programs up to 6 K bytes long.Temporary storage registers and the stackare located in the MIKBUG programmablememory area, hexadecimal addresses A000thru A07F, and no page zero direct in-structions are used.

The control port is a peripheral interfaceadapter (PIA) at hexadecimal 8004, config-ured for the SwTPC CT-1024/AC-30 tele-vision typewriter. MIKBUG input/output(IO) routines used are BADDR (E047) andPDATA 1 (E07E). The output port is a PIAat hexadecimal 8008, configured for theSwTPC PR-40 printer. The disassemblerlooks at object code in much the same wayas the 6800 processor, but with one impor-tant difference: if the processor runs into anillegal op code, it runs amok; the disassem-bler just stops and requests a new startingaddress. Table 1 compares the physicaloperation of the processor with the logicaloperation of the disassembler.

Operation is easy: simply type a 4 digithexadecimal starting address on the con-trol port in response to the prompt "?".Disassembly and listing will begin at thespecified address and continue until eitheran illegal op code is encountered or any keyon the control port is pressed. For con-venience, the disassembler also calculatesand prints the effective address of all relativemode instructions.

Dirty tricks object code can make thedisassembler stumble, but not fall, since itwill request new input if it runs into obvioustrouble. Things to watch out for are:

• Instructions which modify otherinstructions.

104 May 1979 © BYTE Publications Inc

Megamouse.

It's mighty for its size.

In fact, the Series 5000 is the first smallsystem offering over a megabyte of integratedmini-floppy capacity.

You can start off with justone 5-inch disk drive, if youprefer, then add two more asyou need them. And you havea choice of either single-sidedor double-sided drives, bothdouble-density.

What's more, our memory management shattersthe old 64K limitation myth. You can install betterthan 300K of RAM in either desk or desktop versions.

The Series 5000 is made by^ Industrial Micro Systems — built strongI like our name suggests.

It features the same kind ofrugged reliability that goes into our big,' 8-inch disk drive enclosuresand computer systems. And it incorporatesthe same kind of refined quality found onour mil quality memory boards.In the final analysis, the smallest thing aboutthe Series 5000 is the price.

Call or write today for full details. Dealer/supplier inquiries answered prompdy.

INDUSTRIAL MICRO SYSTEMS,INC

The great unknown.628 N. Eckhoff St., Orange, CA 92668. (714) 633-0355.

Circle 171 on inquiry card.

BYTE May 1979

105

Listing 1 continued from page 104:

186F 5A

DEC B

1870 27 40

BEQ

RET

1872 5A

DEC B

1873 27 43

BEQ

REL

1875 5A

DEC B

1876 27 30

BEQ

B3

1878 5A

DEC B

1879 27 27

BEQ

PRTDS

187B 5A

DEC B

187C 27 IE

BEQ

PRTXS

187E CI 06

CMP B

*6

1880 2C 12

BGE

PRTBS

1882 86 41

LDA A

*A

1884 8D 52

BSR

PCS

1886 5A

TST5

DEC B

1887 27 13

BEQ

PRTXS

1889 5A

DEC B

188A 27 16

BEQ

PRTDS

188C 5A

DEC B

188D 27 23

BEQ

RET

188F 5A

DEC B

1890 27 1C

BEQ

B2

1892 20 14

BRA

B3

1894 86 42

PRTBS

LDA A

»'B

1896 8D 40

BSR

PCS

1898 CO 05

SUB B

--S5

189A 20 EA

BRA

TST5

189C 86 58

PRTXS

LDA A

*'X

189E 8D 38

BSR

PCS

18A0 20 0C

BRA

B2

18A2 86 44

PRTDS

LDA A

= 'D

18A4 8D 32

BSR

PCS

18A6 20 06

BRA

B2

18A8 8D 7E

B3

BSR

FCK

18AA 8D 3B

BSR

TT4

18AC 20 04

BRA

RET

18AE 8D 78

B2

BSR

FCK

18B0 8D 37

BSR

TT2

18B2 FF A062

RET

STX

PCTEM

18B5 7E 1839

JMP

CONT

18B8 8D 2F

REL

BSR

TT2

18BA FF A062

STX

PCTEM

18BD 09

DEX

18BE E6 00

LDA B

0,X

18C0 08

INX

18C1 2B 06

BMI

SUB

18C3 2B 08

ADD

INX

18C4 5A

DEC B

18C5 26 FC

BNE

ADD

18C7 20 04

BRA

TADR

18C9 09

SUB

DEX

18CA 5C

INC 8

18CB 26 FC

BNE

SUB

18CD FF A064

TADR

STX

YTEM

18D0 CE A064

LDX

#YTEM

18D3 8D 12

BSR

TT4

18D5 7E 1839

JMP

CONT

18D8 8D 2C

PCS

BSR

TTY

18DA 20 OF

BRA

OUTS

18DC A6 00

TTS

LDA A 0,X

18DE 81 04

CMP A «4

18E0 27 45

BEQ

T2

18E2 8D 22

BSR

TTY

18E4 08

INX

18E5 20 F5

BRA

TTS

18E7 8D 06

TT4

BSR

0UT2

18E9 8D 04

TT2

BSR

0UT2

18EB 86 20

OUTS

LDA A

*S20

18ED 20 17

BRA

TTY

18EF A6 00

OUT2

LDA A

0,X

18F1 8D 05

BSR

OUTL

18F3 A6 00

LDA A

0,X

18F5 08

INX

18F6 20 04

BRA

OUTR

18F8 44

OUTL

LSR A

18F9 44

LSR A

18FA 44

LSR A

18FB 44

LSR A

18FC 84 OF

OUTR

AND A

«F

18FE 8B 30

ADD A

"S30

1900 81 39

CMP A

SS39

1902 23 02

BLS

TTY

1904 8B tfl

ADD A

#$7

1906 FF AO60

TTY

STX

XTEM

1909 CE 8008

LDX

#PIAD

190C A7 00

STA A 0,X

190E 86 37

LDA A

*$37

1910 A7 0'

STA A

l.X

1912 86 3F

LDA A «3F

1914 A7 01

STA A

1,X

1916 7D 8004 Tl

TST

KBD

1919 28 03

BMI

T3

is tag*!?

Yes, inherent instruction, go get next inst.

Is tag=2?

Yes, relative inst. Go process it.

Is tag=3?

Yes, 3 byte inst. Go process it.

Is tag=4?

Yes, 2 byte direct inst. Go process it.

Is tag=5?

Yes, 2 byte indexed inst. Print "X", space

Is tag - B?

Yes, ace. B inst. Go print a "B"

No, ace. A inst. Print an "A", space

Is tag = 6 = B?

Yes, accumulator indexed inst. Print "X", space

Is tag=7 or =C7

Yes-, accumulator direct inst. Print "D", space

Is tag=B or=D?

Yes, inherent accumulator inst. Go return

Is tag=9 or=E?

Yes, 2 byte accumulator inst. Print operand

Tag=A or F, 3 byte accumulator inst. Print operand

Print a "B" and a spacs

Set tag = tag-5

and go back into FCODE to finish up.

Print an "X" and a space

and print the operand bytePrint a "D" and a space

and print the operand byte

Check to see if iniuediate mode, (prints » if so)

and print two byte operand

then return

Check to see if immed mode then

print one byte operand

Save new pseudo p.c.

and loop back for next instruction to eat.

Relative mode, so print operand

Save the new pseudo p.c. (inc. by TT2)

Put X reg. back to operand

Get operand byte in B

X reg back to pseudo p.c. adr.

Is the offset negative?

Yes, go subtract it from pseudo p.c.

No, add one to pseudo p.c.

Added enough times?

No, go increment again

Yes, go print the effective adr.

Offset is negative, so subtract one from

pseudo p.c.

Subtracted enough?

No, go do it again

Now print the effective adr.

4 hex chrs, 2 bytes

and go get the next instruction

Prints the ascii chr. in A and a space

Prints the character string pointed toby the X reg, until it finds EOT, thenreturns

next chr in string, please

and loop 'till EOT

Prints 4 hex characters pointed to by X reg

Prints 2 hex characters pointed to by X reg

Prints a space

Get byte into A

Print left half of byte

Get right half and

point to next byte

Print right half

Make left half byte into

right half byte

Convert hex '2 byte into ascii

by adding 30

and testing to see if it's a hex letter

No, go print the number

Yes, change to ascii letter code

and print it, or just plain print whatever's

in A, if you got here from somewhere other

than OUTR. Stuff the chr. in A into the

printer data reg. and pulse the CA2 line

low for a few usee,

then return CA2 to high

to start the printer

Look to see if user has hit a' key

Yes he did, so quit whatever is going on

Text strings, constant bytes or tem-porary storage locations embeddedin blocks of executable code.Lookup tables, such as the one usedin the disassembler.

Instructions buried within other in-structions, such as the CPX skip trick:

Entering at 0100 we see

01000103

8C 86 20. . .next. .

LDX #$8620(A is unchanged)

But entering at 0101 we see

0100

8C

0101

86 20

LDA A #$20

0103

. . .next. . .

(A has $20 value

(If one enters this routine at hexadecimal0100, accumulator A is unchanged whenNEXT is executed; entering at 0101 passeshexadecimal 20 to NEXT in accumulator A.)

No dirty tricks were incorporated in thedisassembler program, so it happily dis-assembles itself starting at hexadecimal1818, stopping when it reaches the topof the lookup table (see listing 2). Machinesshould work; people should think. It doestake a considerable amount of thinking tofind your way through somebody else's un-commented code, even using this program,but at least the clerical work can now bedone by the machine."

Listing 1 continued on page 108

1313 CE

LDX

18688

1868

7F

CLR

A066

181B 4F

CLR

fi

1863

16

TAB

181C H7

STA

fi X 01

1864

C4

fit©

B #0F

181E 43

COM

fi

1866

11

CEfi

1S1F Fl?

STfi

fi X 00

186?

2(

BEG:

03 186C

1821 86

LCfl

fi #3F

1869

7C

IMC

HU66

1823 fi?

STA

fi X 01

186C

5D

TST

B

1825 CE

LDX

#1302

186D

2~

BES

66 1325

1828 BD

JSR

E07E

i86F

5fi

DEC

B

1326 BO

JSR

E047

1376

27

BEQ

43 1SB2

182E FE

LDX

R88C

i872

5m

DEC

B

1851 FF

STX

miZ

1873

27

BEQ

43 18BS

1834 86

LOfi

fi KB

1375

5fi

DEC

B

i£36 B7

STM

fi AC67

1876

27

BEQ

38 ISfiS

1839 CE

LDX

#1309

1373*

Sfl

DEC

E

183C BD

JSR

18DC

1879

27

BEQ

27 18R2

1S3F 7A

DEC

ftu67

18 7B

5fi

DEC

E

1842 26

BNE

03 134C

187C

27

BEQ

IE 1SSC

1844 CE

LDX

I188F

137E

CI

CMP

B #06

1847 BD

JSR

18DC

i&SS

2C

BuE

12 1894

184fi 28

BRA

E3 18.14

1882

6b

LDfl

fi #41

184C CE

LDX

*AS62

18S4

3D

BiK

52 13DS

184F BD

JSR

13E7

iy*6

5fi

DEC

B

1852 FE

LDX

fi062

1887

£7

BEQ

13 139C

1655 BD

JSR

13E9

1889

5fi

DEC

B

1858 09

DEX

1888

27

SEC

16 13A2

1859 BD

JSR

13EB

1333

5fi

DEC

C;

185C BD

JSR

1932

1380

27

BEQ

23 13B2

185F 08

INX

183"

5fi

DEC

B

Listing 2:

Sample

output

of the dis-

assembler.

This is a

portion of the dis-

assembler dissassembled by 1

tself.

106 May 1979 © BYTE Publications Inc

"Efficiency

Extravagance

is out'

—vector Graphic

That's why when you look for top-quality, low-cost, add-on-memory you should always look for Vector Graphic on yourmemory boards. It means they stand behind every productthrough over 200 Vector Graphic dealers.

Vector Graphic is the only one who designs in so muchquality for so little cost.

The 48K Dynamic RAM memory board is used in the VectorMZ microcomputer, although any Z-80/S-100 computer systemcan take advantage of the problem-free transparent refreshoffered in this high-quality, low-cost add-on-memory.

It's no secret, Vector Graphic isstate-of-the-art 16K-bit dynamicboards. And each board isthermally cycled, aged andcontinuously read-writetested over 400 millionerror-free cycles.

The new 48Kboard consumes lessthan 4 watts totalpower and provides thesame superior design andreliability found in allproducts from VectorGraphic. Remember, it'smemory that works.

carefully assemblingRAMs into

48K RAM

Dynamic Memory

$©95 (suggested U.S. retail price)

Dealer inquiries invited —

□ Send me the name of thenearest dealer□ Send more information

Name

CompanyAddress-

City/State/Zip_

VECTOR G=*APHC inc.

31364 Via Colinas, Westlake Village, CA 91361, (213) 991-2302

Circle 383 on inquiry card.

BYTE Mav 1979 107

Listing 7 continued from page i06:

191B 7E

1825

JMP

PROM

191E 6D fll

T3

TST

1,X

1920 2A

F4

BPL

Tl

1922 A6 0B

LDA A

0,X

1924 FE

A060

LDX

XTEM

1927 39

T2

RTS

1928 7D

A066

FCK

TST

FLAG

192B 27

04

BEQ

NIM

192D 86

23

LDA A

I'i

192F 8D

D5

BSR

m

1931 39

HIM

RTS

1932 A6 00

TABCK LDA A tf,X

1934 FF

A062

STX

PCTEM

1937 CE

195D

LDX

=TABL

193A Al

00

CK1

CMP A

a,x

193C 27

0C

BEQ

HIT

193E 08

INX

193F 08

INX

1940 08

INX

1941 08

INX

1942 08

I NX

1943 8C

1D36

CPX

=TABEN

1946 26

F2

BNE

CK1

1948 8D

BC

MISS

BSR

TTV

194A 08

HIT

INX

194B A6

00

LDA A

tf,X

194D 81

IF

CMP A

HIT

194F 23

04

BLS

DONE

1951 8D

B3

BSR

TTY

1953 2(3

F5

BRA

HIT

1955 8D

94

DONE

BSR

OUTS

1957 A6

00

LDA A

ff.X

1959 FE A062

LDX

PCTEM

195C 39

RTS

195D 01

TABL

FCB

S01

195E 4E

FCC

/NOP/

1916 0106

FOB

$0106

1963 54

FCC

/TAP/

1966 0107

FDB

S0107

1968 54

FCC

/TPA/

196B 0108

FDB

S0108

196D 49

FCC

/INX/

1970 0109

FDB

S0109

and ask for a new starting adress

No, he didn't, so look to see if the

printer has finished, if not, wait in loop

Printer done, so clear PIA flag

restore the index reg

and go back where ya came from

Look at the flag to see if an immediate inst,

if not, do nothing but return

If so,print a "#"

and then return

Get possible opcode in A

Save the pseudo p.c.

Table starting adr in X reg.

Compare opcode to table entry. Same?

Yes, found opcode, go print mnemonic

No, increment X to next location in

table

Look to see if the end of the table hasbeen reached, if not, go look againPrint the invalid opcode as asciiPrint mnemonic string until findingtag byte, less than S1F

Found tag code, go return

Not tag byte, so print it

and go get next byte in string

Print a space

Get the tag byte in A

Restore the pseudo p.c. to X reg

and return tag to tag routine in ace. A

Long, boring table starts here.

First byte is opcode, then three

ascii bytes containing the mnemonic,

then the tag code.

SET

PROM

LCTR

CONT

ADR

FCODE

REL

PCSTTSTT4

TTY

FCK

TABCK

TABL

Compute absolute targetaddress,and print it.

Random Comments

Set up PIA for lineprinter.Prompt user: Home up, clear end of file "?".Line counter for pager.Continue loop reentry.Print address.

Interpret tag byte from table:

TST 5 Test tag codes greater than 5 loop reentry,

PRTBS Print B, space;

PRTXS Print X, space;

PRTDS Print D,space;

B3 Print two bytes pointed to by X;

B2 Print one byte pointed to by X;

RET Return — save new address, loop to continue.

Relative instruction:ADD Adder for REL;

SUB Subtractor for REL;

TADR Printer for REL.

Print ASCI I character in a, space.Print ASCII character string pointed to by X register.Print 4 hexadecimal characters pointed to by X register:TT2 Print similar to MIKBUG OUT4HS;

OUTS Print a space;

OUT2 Print byte;

OUTL Print left half of byte;

OUTR Print right half of byte.

Line printer print routine:

T1 Tests keyboard for any key pressed,

T3 Line printer done yet?;

T2 Yes.

Flag check — looks to see if immediate mode instruction, if so print"#" if no, go:NIM FCK done.

Table check for op code in question:CK1 Check it;

MISS Not in table; print it as ASCII and give up;

HIT In table, print mnemonic.

Op code lookup table starts here.

108 May 1979 © BYTE Publications Inc

See the

BrighterWriter

at these stores.

Computeiland

At most stores, nationwide.

Arizona

Byte Shop: Phoenix. Tempe. Tuscon

California

Byte Shop: Lawndale, San Jose, Citrus

HeightsCapital Computer. DavisComputer Demo Room: San Rafael.

SunnyvaleComputer Store, Santa MonicaComputer Merchant, San DiegoJade Computer Products, HawthorneColorado

Computer Tech., DenverDistrict of ColumbiaGeorgetown Computer, WashingtonFlorida

ComputerAge. Pompano BeachMicro Computer, So. DaytonaProfessional Computing, W. Palm BeachGeorgia

Roy Abell & Assoc. ColumbusHawaii

Microcomputer Systems, HonoluluIllinois

Illini Micro, NapervilleIndiana

Data Domain, BloomingtonIowa

Memory Bank, DavenportKansas

Computer System, WichitaKentucky

Pragma Tech, LouisvilleLouisiana

Micro Computer. New OrleansMassachusettsComputer Mart, WalthamCPU Shop, CharlestownMichigan

Computer Mart, Royal OakHobby Elec, FlintNewman Computer. Ann ArborTri-Cities Computer Mart. SaginawUnited Micro Systems. Ann ArborNebraska

Omaha Computer, OmahaNew HampshireComputer Mart, NashuaNew JerseyComputer Mart, IselinNew York

Computer Mart, New YorkCompuWorld. Inc., RochesterMini-Micro Mart. SyracuseOhio

Cybershop Micro. ColumbusDayton Computer. Dayton21st Century Shop, CincinnatiOklahoma

Vern St. Products. PapulpaOregon

Computer Pathways, SalemReal Oregon Computer, EugenePennsylvaniaMicrotronics. PhiladelphiaTexas

Byte Shop. RichardsonInteractive Computer. HoustonMicro Mike's, AmarilloMicro Mart, San AntonioVermont

Computer Mart, Essex JunctionVirginia

Computer Place, RoanokeComputer Systems Store, McLeanComputers Plus. AlexandriaWashington

Empire Electronics, SeattleWest VirginiaMicro Data Systems. OsageWisconsinByte Shop, Greenfield

Integral Data Systems, Inc.

14 Tech Circle, Natick, MA 01760(617)237-7610

if

Pay a little bit more

and get a printer that's

brighter than your computer.

The BrighterWriter:

socdet

When a few dollars more buysyou a first-class impact printer,why settle for a toy? The Brighter-Writer gives you quality to startwith. And versatility that stayseven if you outgrow yourpresent personal computer.

Built smart like the big ones.

The BrighterWriter's a smartprinter. There's a microcomputerinside. It outwits even the bigger,higher-priced printers. So youget versatility to do all kinds ofprinting. And power to grow on.

Prints fat, skinny,tall, small.*

This printer can

be as creative

••::::;• asyourimag-

H ..,;„..„ ...f^/i ination. StretcheUL Uc; ouj y0ur Char.

acters. Squeeze them close.Make them high. Low.Bold. Banner. You name it. •'

Plugs into your computer.

Most popular personalcomputers interface to theBrighterWriter. Simply andquickly Hundreds ofBrighterWriters are working inApple, TRS-80, Heathkit, S-100and many other personal com-puter systems right now.

Pictures and fancysymbols.*

The BrighterWriterdraws out your cre-ativity You can printdrawings, graphs,diagrams, bold symbols, or justabout any graphic you canimagine.

Picture your page as thou-sands of dots. The BrighterWritercan fill in the dots, plot them con-tiguously, stack them, or scatterthem. And its special set of gra-phic charactersA .::> Vi h simplifies the/••• .. ••••. i process.'...-'... £.* *..: Prints any char-s'" :"•: :••" •?' cicter <* typewriter

:... •:.. : : can Faster , . .

The BrighterWriter can printplain and simple. With 7x7 dotmatrix clarity You get all the let-ters, numbers, and standardsymbols of a

regular

■:/;■'■"*""' \ I

%.

Sf

ill3'

:*:

.,:!!!!!!!,

typewriter. At upto 80 cps throughput.

Ordinary paper.

Fancy or plain, the Brighter-Writer prints on ordinary paper.Better yet, it prints on manyshapes of paper. Single sheets.Roll. Fanfold.

Want more copies? TheBrighterWriter prints multiplecopies without extra adjustments.

Four easy buttons.

Operating the BrighterWritercouldn't be simpler. Up-front con-trols are easy to get to. A power

"Some of these advantages require extra-cost options.Circle 177 on inquiry card.

button to turn it on. A test button toself-test your printer. A paper feedbutton to advance the sheets orforms. Aline feed button toadvance the paper a line at

a time.'iijjii. !!;:s*ss »%• i5:;j'" Prints

any-which-way.The BrighterWriter comes intwo models. The IP-225, at $949,gives you a BrighterWriter withtractor-feed drive for precisionforms control. This one canhandle everything from labels to8W paper widths.

It has eight form lengths andgives you all the features of ourIP-125.

A brighter ......

buy. "•-!&- „.:••'"" JP ""r!"

Our IP-125,

friction-feed,BrighterWriterhas a 96 character set andprints on 8H"wide paper.Upper and lowercase. It printsexpanded characters, too.You can choose a RS-232 serialor parallel interface. $799

Lots of goodies.

There's more. Choose all kindsof options for your BrighterWriter.Up to 132 characters per line, var-iable character densities, largerbuffers, special graphics pack-ages, interface cables, and more.

Give us a call or write. IntegralData Systems, 14 Tech Circle,Natick,MA01760, (617) 237-7610.

Better yet, see the Brighter-Writer at the store nearest you.

Integral Data Systems, Inc.

BYTE May W) 109

#

Spacewar in Tiny BASIC

Navigating Through Integer BASIC

David J Beard

Sortiarii

RD 1 Box 648

Newmanston PA 17073

So you want to fly your own spaceship,but you're not up to doing six months worthof assembly language programming and theonly high level language you've got is a tinyversion limited to 4 function integer arith-metic? That rules out any kind of realisticnavigation — or so it seems. All digital ma-chines are limited to integer mathematics.Nearly any operation possible in machinecode can be duplicated in a high level lan-guage, provided you have enough memoryand the time to wait for the results. Armedwith a little bit of knowledge, though, youcan keep the convenience of your interpreterand have three-dimensional trigonometry,too. Here's how I did it.

My first objective in writing a spacewargame was to provide a realistic trainer forspaceflight rather than a flashy video display

Figure 1: Cartesian coordinates for three-dimensional representation of position,velocity and acceleration.

or a complex set of board game type rules.I feel strongly that a spacewar game ought tobe three-dimensional. The third dimension isfar more than a frill: it's the major differ-ence between spaceflight and surface opera-tions. I developed the scenario for my gamein 1972 when I was working with a home-brew analog computer. In my version asingle ship maneuvers in Cartesian space andis attacked by a series of homing torpedosthat must be either destroyed or evaded. Thegame requires both aimed laser fire and navi-gation precise enough to permit evasion bynarrow margins.

This article describes the trigonometryroutines developed for the game. It assumesthat you are familiar with high school phys-ics and right angle trigonometry. These rou-tines represent a compromise between preci-sion and speed; they are neither quick norsimple, but then, neither is astrogation.

Moving the Ship

The playing area for my game is a sphereof Cartesian space with a radius of 10,000units. This provides about 4.2 x 10 distin-guishable positions, or the same number ofvectors, each defined by a set of three inte-gers X, Y, and Z as in figure 1. The ship'sposition, acceleration and velocity vectorscan be represented by nine integers.

A convenient feature of this Cartesianrepresentation is that motion along each axiscan be calculated independently of the otheraxes. Also, I made the simplifying assump-tion that each turn in the game is one unit oftime. This simplifies Newton's laws ofmotion considerably. The familiar:

position=S=S0+VT+AT2/2

velocity=V=V0+AT

can be written as:

S=S+V+A/2V=V+A

for each axis. Finding relative position and

110

May 1979 © BYT! Publications Inc

POWERFUL JNTERFflCES

TRS-80* SERIALPARALLEL I/O MODULE

8-SERIAL INPUT/OUTPUT PORTS:8-PARALLEL INPUT/OUTPUT PORTS:MODEL MS10-K $129.95MODEL MS-10A (ASSEM.) $149.95

• EASY CONNECTION: Connects to the expansionport edge card connector between keyboard andexpansion interface or direct to rear of the TRS-80*keyboard.

• DIP SWITCH: All ports, baud rate, parity, etc. all set bydip switches.

• ON BOARD FIRMWARE: No software driver routineneeded for operation of the module. Simple OUT and INstatements operate the module.

• RS-232, CURRENT LOOP: All 8 channels can beselected for RS-232 or current loop.

• BAUD RATE SELECTION: All channels dip switchselectable for individual baud rates from 110 to 9600 baud.

TRS-80* TO S-100 BUS

MODEL RSB-K (KIT) - $249.95MODEL RSB-K (KIT) - $289.95

• FULLY SELF CONTAINED POWER SUPPLY. (10

AMP).

• BUS TERMINATION: BUS termination and condition-ing for no croos talk or noise etc.

• S-100 SIGNALS: All required S-100 signals aregenerated by on board logic and is fully compatible with theTRS-80*.

'TRS-80 is a trademark of Tandy Corp.

• COMPLETE: Comes complete with cabinet, cardguides, on-off switch and sockets. Nothing else to buy.

• STAND ALONE: This system can stand alone or canoperate with the TRS-80*. All input, output, address andsignal lines fully buffered between TRS-80* and S-100 BUSsystem.

• EASY CONNECTION: Just plug it into the rear of thekeyboard or between the keyboard and expansioninterface. Also includes 40 pin edge connectors forconnection to other interfaces.

TRS-80*

EPROM PROGRAMMER +3

MODEL EPR-80K (KIT) - $129.95MODEL EPR-80A (ASSEM.) - $159.95

• SELF CONTAINED: Comes housed in an attractivecabinet with self contained power supply.

• PROGRAMS: This unit programs the popular 2708,2716 EPROMS. Personality modules for other EPROMS willbe available at a later date.

• FIRMWARE: On board firmware so that no softwareneed be written or entered into your CPU system. Thefirmware can be shut off when not in use. Firmwareresidents at F0000. The firmware in and out of system iscontrolled from a switch on front panel.

• 3-ADDRESSABLE ROM LOCATIONS: The EPROMProgrammer has three sockets on front panel which areaddressable to any location by dip switch. In addition eachROM location can be shut off or turned on by switcheslocated on the front panel.

• MONITOR: A monitor is supplied within the firmwarefor performing several functions. Move memory, debug,verify, program from memory, program from TTY input, etc.

• EASY CONNECTION: The EPROM Programmer isattached with ease. For the TRS-80* users, the unit plugsinto the rear of the keyboard or between the keyboard andexpansion interface,. Included with the unit are twoadditional 40 pin edge connections for interfacing of otherinterfaces. For the S-100 users, a molded connection cableis supplied and it is inserted into one of the connectors onyour mother board. Plug it in and it is ready to use.

• FULLY BUFFERED: add address and data lines arefully buffered.

• OTHER FEATURES: Other features include statuslights for which ROM selected, switch enable forprogramming, pulse (burn) indicator firmware select-deselect switch, on, off and dip switches for the addressingof each ROM location.

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Suite 333, Tucson, Arizona 85715

24 Hour Order Phone No: 602-886-2537

Circle 390 on inquiry card.

HYTE Mav 1979

111

D = 90°

A= 270°

D=-90°

A = 0°

Figure 2: Spherical representation in threedimensions. Instead of the X, Y and Z axesas in Cartesian coordinates, spherical coor-dinates use azimuth, declination and radius.

velocity is also much simpler. Vector addi-tion is just that — addition:

Srel=S1~S2VrefVl-V2

for each axis.

Spherical Coordinates

Cartesian coordinates make it simple tomodel the laws of motion. A spaceshipmight possibly use a Cartesian system for

10 IF S>45 GOTO 60

28 LET 5=174*5/10

30 LET T=5/10

46 LET 5=5-T*T/1000*T/6*T*T/1000*T/100*T/100*T/120

53 RETURN

60 LET 5=90-5

70 LET 5=174*5/10

S0 LET T=S/10

90 LET S=1008-T*T/20+T*T/1000*T/100*T/24

100 LET 5=5-T*T/1000*T/lB0*T/180*T/100*T/720

110 RETURN

Listing 1: BASIC routine for calculating the sinefunction. The sine is calculated in parts per thousandand the value of the sine is returned to the callingroutine in variable S.

10 IF U>960 LET U=U+4

20 LET T=U/10

30 LET S=U-T*T/1000*T/3+T*T/1000*T/108*T/100*T/5

40 LET S=5-T*T/1000*T/100*T/100*T/100*T/100*T/7

50 LET 5=5*10/174

60 RETURN

Listing 2: Routine for calculating the arctangent ofU in parts per thousand. The result is returned to thecalling routine in variable S.

navigation, but what about those homingtorpedos? Any conceivable shipboard rang-ing and detection system tracking a foreignbody should read out an angle and a range,not a set of grid points. Besides, enteringyour throttle settings in three axes is unnat-ural enough to deter any but the mosthardened of spacewar addicts. The simplestsolution is to keep track of all moving bodiesin Cartesian coordinates and convert thosecoordinates to spherical form for display.Figure 2 shows a system of spherical coor-dinates. Each point or vector is defined byan azimuth ranging from 0 to 359 degrees(A), a declination ranging from -90 to 90 de-grees (D), and a radius given in unit lengths(R). Instead of X,Y,Z we have A,D,R.

The ship's position and velocity are con-verted to spherical form for display. Thethrust vector is input in spherical form andconverted to Cartesian for computation. Thedirection of laser fire is kept in sphericalform and compared to the spherical coordi-nates of the target at the next turn.

Next, we need routines to convert vectorsin the form X,Y,Z to the form A,D,R andback again. The only trigonometric func-tions needed for those two conversions arethe sine and the arctangent.

Listing 1 shows the S=sin (S) routine. S isan angle ranging from 0 to 90 degrees. Theroutine returns the sine of S in variable S inparts per thousand (1000 times the sin (S)).This routine makes use of the series:

sin (S)=S-S3/3!+S5/5!-S7/7!+. . .

where S is in radians. Line 20 converts Sfrom degrees to radians times 1000. Line 40is the sine series in a form suitable for 16 bitinteger mathematics. Beyond 45 degrees thisseries gave poor results. For values over 45degrees line 10 transfers control to line 60.Lines 60 to 110 take the cosine of 90—Susing the series:

cos (S)=1-S2/2!+S4/4!-S6/6!+. . .

It's a good idea to test this routine by gener-ating all 91 values and checking them againsta table or calculator. The results should bewithin 2 or 3 parts per thousand.

Listing 2 is a similar routine to calculatethe arctangent of a ratio U expressed in partsper thousand (U times 1000). The seriesused here is:

arctan (U)=U-U3/3+U5/5-U7/7+. . .

It is not valid for U > 1. Line 10 is an adjust-ment to improve accuracy for values ap-proaching 1. Notice that here the result S isin radians and must be converted to degreesimmediately before exiting (line 50). Again,it's a good idea to test this routine for valuesof U between 0 and 999 before using it.

112 May 1979 © BYTE Publications Inc

A DEVELOPMENT TOOL FORINTERACTIVE SOFTWARE

CIS COBOL is more than an efficient COBOL Compiler, it is a completesoftware development tool for business and office automation systems.

It enables the programmer to write applications in a powerful subset ofANSI 74 standard COBOL and to take advantage of CIS COBOL languageextensions such as interactive screen handling which are designed to fullyexploit the special features of the microcomputer environment. Version 3 ofCIS COBOL has many language additions but the compiler still requires only20K bytes of memory and runs on 8080 and Z80 based microcomputerswith 32K to 64K under the popular CP/M* operating system.

CIAHr-0003 Fiueao? nuRv-oo-oooi

0 3 Fill PR

03 OIARV-OD-000?

PIC XIO074I.

en: Miinui

PIC xtozioi.

PIC XlflOUl

ACF 60 TO CtnsF-OOwN.

VF INPUT-TNCUk V-CI-001K NOT => PH1NP1IT-T1MF = PP.EV-TIMF

CIS COBOL is designed to support interactive applications. Areas ofa CRT screen are mapped onto record descriptions in your CIS COBOLprogram and data is transferred using the ACCEPT and DISPLAY verbsproviding full cursor manipulation and data entry facilities to the CRToperator. CIS COBOL language extensions enable the screen positionat which the transfer is to start to be specified, protected fields to bedefined and the CURSOR position to be detected and set by the program.

CIS COBOL is able to exploit features of the microcomputer. Languageextensions in CIS COBOL enable programs to define file names at run time,to read and write text files of variable record length and to access freememory in varying machine configurations. CIS COBOL supports run timesubroutines written in assembler and accessed from COBOL by means ofthe CALL USING verb. Built in subroutines implement facilities to CHAINprograms together, PEEK and POKE memory locations outside your COBOLprogram and GET and PUT data to special peripheral devices via yourmicrocomputer's I/O ports.

CIS COBOL is orientated toward rapid program development. The

compiler accepts input of your source program direct from keyboard aswell as from source and library files on disk and generates an object filewhich the CIS COBOL run time system immediately loads and executes oroptionally links and saves as a self loading program. The run time systemhas built-in indexed and relative I/O packages and contains an interactivedebug package to help find errors quickly by stepping through the executionof your CIS COBOL program.

CIS COBOL is supported by intelligent utility programs. When you takedelivery of CIS COBOL Version 3 on 8 inch or 5 inch diskette you willreceive in addition to the compiler and run time system the CONFIGprogram which enables you to configure CIS COBOL run time systems todrive many different types of "dumb" CRT terminal such as Lear SieglerADM3A and Hazeltine 1500, plus the time saving FORMS program whichallows you to create and edit screen images of business forms and thenautomatically generate the corresponding COBOL record descriptions toCOPY into your CIS COBOL program.

MICRO FOCUS

MICRO FOCUS LTD. 58 Acacia Rd, St. Johns Wood. London NW8 6AGTelephone: 01-722 8843 Telex: 28536 MICROF G'CP/M is a trademark ot Digital Research

Circle 220 on inquiry card.

BYTE May 1979

113

10 LET V=8

20 IF U>=T GOTO 70

30 LET V=i

40 LET S=T

50 LET T=U

60 LET U=S

70 IF T>32 GOTO 118

80 LET T=T*1088

85 IF U=8 LET U=l

90 LET U=T/U

100 GOTO 300

110 IF U>327 GOTO 168

120 LET T=T*108

138 LET U=U/18

135 IF U=0 LET U=l

148 LET U=T/U

158 GOTO 308

168 IF T>3276 GOTO 218

178 LET T=T*18

1S8 LET U=U/188

185 IF 0=0 LET U=l

198 LET U=T/U

200 GOTO 388

218 LET U=U/188

215 IF U*0 LET U=l

228 LET U=T/U*10

308 IF U>999 LET U=999

310 GOSUB <S=fHtCTRH U>

328 IF V=l LET S=98-S

338 RETURN

Listing 3: To guaranteethat overflows do not oc-cur during calculation, thisroutine makes sure thatthe range of numbers isbroken down by decades.This also improves theaccuracy of the approx-imation.

Figure 3: Measurements used for conversionbetween spherical and Cartesian coordinates.See text for full explanation.

Exact values of the tangent for angles in 1degree increments should return the properangle, but a tangent falling between thesevalues does not necessarily return the closestangle.

Large Values

In order to prevent overflow and preserveeven two digits of precision, it is necessaryto make a special case of each decade. List-ing 3, the S=arctan (T/U) routine, shouldserve as a worst case example of this process.This routine calculates the 3 digit ratio Uand calls the arctangent routine shown inlisting 2. The variable V is a flag set forangles over 45 degrees (line 30) and clearedotherwise (line 10). S is a temporary storagelocation used to swap T and U in these cases(lines 20, 40, 50, 60). Lines 70 to 100 repre-sent the first decade. Note the trap at line 85to prevent division by zero. The other dec-ades are similar. Line 300 traps for values ofU over 999, and line 320 tests the flag V andcomplements the angle S if T and U hadbeen reversed.

You will also need similar, but simpler,routines that return U=Usin(S) and U=U/sin(S). All of these routines can be shortenedconsiderably if they do not need to acceptthe full range of 16 bit integers (as, for exam-ple, in a battleship type game on a 100 by100 grid). The general process of writingthese routines is similar to the manipulationof decimal places and the use of rough pre-calculations necessary if one were using aslide rule. It may be helpful to run through

each decade of the routine on paper beforebeginning to program.

One More Detail

So far, all our routines work with firstquadrant angles (positive declination andazimuth from 0 to 90 degrees). It is nec-essary to express each vector as its first quad-rant equivalent before conversion, and re-store the converted vector to its proper quad-rant afterwards. Listing 4 is the Cartesian tospherical routine. In lines 10 to 120 thevalues X, Y, and Z are made positive andtheir original signs stored in the flags F, L,and G, respectively. The vector is now in thefirst quadrant and conversion can proceed.Refer to figure 3 during this discussion.Lines 130 to 160 calculate the azimuth,angle A. Lines 170 to 190 find the projectedradius (R1 in figure 3) and store it temporar-ily in variable R. Lines 200 to 220 find thedeclination, angle D. Lines 230 to 260 findthe true radius. Note that line 230 comple-ments S; the projected radius divided by thetrue radius, R^R, is the cosine of D or thesine of 90-D.

The vector A,D,R is now complete butmust be restored to the proper quadrant. Inline 270 the declination is simply given thesame sign as Z. Line 280 exits if the azimuthis unchanged. Lines 290 to 310 apply theproper correction for azimuths between 270and 360 degrees. Lines 320 to 340 deal withangles between 90 and 180 degrees, andline 350 corrects for the only remainingcase.

The conversion from spherical to Cartesianrequires a similar process of reduction tofirst quadrant and restoration, and uses thesame three flags. Listing 5 shows only theactual spherical to Cartesian conversion.Lines 10 to 40 find Z. Lines 50 to 80 findthe projected radius R^ and store it tempo-rarily in Y, again using the cosine or sine ofthe complement. Lines 90 to 110 find X,and lines 120 to 150 find Y.

Application

My version of this trigonometric packageran to 170 lines and almost 4 K bytes of pro-gram storage in a version of tiny BASIC thatpermits subscripted variables and FOR-NEXT loops. Even if your BASIC does notpermit subscripted variables, it's a good ideato keep the temporary vectors A,D,R andX,Y,Z for the two conversion routines. Ifthese are not written as subroutines, pro-gram length will get out of hand quickly.The flags F, L, and G can be replaced by asingle variable holding the quadrant number.In a game involving two ships, one can bekept at the origin (X,Y,Z = 0,0,0), and only

114 May 1979 © BYTE Publications Inc

10 LET F=0

20 LET L=0

30 LET G=0

40 IF H>-1 GOTO 70

50 LET X=-X

60 LET F=l

70 IF Y>-1 GOTO 100

SO LET Y=-Y

90 LET L=l

100 IF Z>-i GOTO 130

110 LET Z=-Z

120 LET G=l

130 LET T=X

140 LET U=Y

150 GOSUB <S=f)RCTHN T/U)

160 LET fl=S

170 LET U=X

1S0 GOSUB <U=U/SIN 5)

190 LET R=U

200 LET T=Z

210 GOSUB (S^RRCTBN T/U)

220 LET 0=S

230 LET S=90-S

240 LET U=R

250 GOSUB (U=U/SIN S>

260 LET R=U

270 IF G=l LET [>--[>

2S8 IF F=0 IF L=0 RETURN

290 IF L=l GOTO 320

300 IF F=l LET Fl=360-R

310 RETURN

320 IF F=l GOTO 350

330 LET fl=130-rt

340 RETURN

350 LET fl=130+fl

360 RETURN

Listing 4: BASIC programfor converting from Carte-sian to spherical coord-inates.

certain values return much larger errors. Aslong as the Cartesian vectors are preservedfrom turn to turn, the errors do not accumu-late and can be treated as quirks in the ship'sranging and detection system. Any attemptto rotate the coordinate system by convert-ing to spherical coordinates, adding angulartranslations and converting back to Cartesianwill quickly introduce large errors. Alsoremember that to keep the radius (R) fromoverflowing, X, Y, and Z must be limitedto about± 13,000.

If you plan to acquire a full BASIC foryour system, you'd be well advised to waitfor it before attempting a spacewar game.If, like me, you have to live with integerarithmetic for some time, a weekend's worthof work will give you a package of trigo-nometric capability that can serve as thenucleus for a wide variety of games andsimulations.

Gravity wells and orbits can be handlednearly as easily as in a full BASIC; speed andposition can be controlled accurately enoughto make a docking maneuver painstakinglydifficult. Another possibility is a version oflunar lander that includes the return toorbit. The software vacuum is likely to bewith us for some time, but you can beginsharpening your skill as an astrogator now."

Id LET S=£>

20 LET U'R

30 GOSUB (U'U'SIN S)

40 LET Z'U

50 LET U'R

60 LET S'98-0

70 GOSUB (U'U*SIN S>

80 LET Y=U

90 LET S=8

108 GOSUB (U'U*SIN S>

110 LET X'U

120 LET U'Y

130 LET S'90-ft

140 GOSUB (U=U*SIN S)

158 LET Y'U

Listing 5: Program forconverting from sphericalto Cartesian coordinates.

relative position and velocity for the otherdisplayed. This saves nine more variables.However, it also eliminates a major challengefrom the game. It's astonishing how far fromyour station you can wander while concen-trating on combat, and how long it takes toturn around and get back. If you assume afixed, forward firing weapon, you can usethe same vector to represent both thrust anddirection of fire. As a last resort, you canalways go two-dimensional; this brings thenumber of variables used within limits (andgreatly simplifies the conversion process).Don't expect a great deal of accuracyfrom these routines. I got results within 1degree and 1 percent for most cases, but

IMMEDIATEDELIVERY

Domestic & Export

DEC LSI -11COMPONENTS

A full and completeline with softwaresupport available.

mini ComputerSuppliers, inc.

25 CHATHAM ROADSUMMIT, NEW JERSEY 07901

SINCE 1973

(201) 277-6150 Telex 13-6476

Circle 236 on inquiry card.

May 1979 © BYTE Publications Inc 115

Turning computer programmers

into computercomposers!

For the first time:Hard-to-obtaincomputer musicmaterial has beencollected into oneconvenient, easy-to-read book.

The BYTE Book ofComputer Music com-bines the best frompast issues of BYTEmagazine with exciting new materialof vital interest to computer experimenters.

The articles range from flights of fancy about the reproductive

systems of pianos to Fast Fourier transform programs

written in BASIC and 6800 machine language Included in

this fascinating book, edited by Christopher P. Morgan,

are articles discussing four-part melodies, a practical music

interface tutorial, electronic organ chips, and a remarkable

program that creates random music based on land terrain maps!

ISBN 0-931718-11-2

$1000

Buy this book at your favorite computer bookstore or order direct from BYTE BOOKS

Add 50$ per book for postage and handling

GUI

ECIOW

•BOOKS OF INTEREST TO COMPUTER PEOPLE"

70 Main Street Peterborough, New Hampshire 03458

116 BYTE May 1979

Circle 36 on inquiry card.

iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiuiiiinii minimum iiimiiiiiiiiii imimiimimmimiimimiiiim i

BYTE News ....

iiimmmmiimmimimmiiiiiimiiiiiimiimiiiiimiiii mimimiiiiiiiiiiimiiiimmmmimimimiiimNimiiiiimMmmmimmimimiiMmiiiiiimmiiimimmi

TI PERSONAL COMPUTER DELAY DUE TO HARDWARE PROBLEMS. Rumors aboundthat Texas Instruments has delayed introduction of their personal computer systembecause of problems encountered in the design of a new microprocessor circuit to beused in the system. The 9985 microprocessor is a 16 bit stripped down version of the 9940,which contains 2 K bytes of read only memory, 128 bytes of programmable memory, 32 bitI/O (input/output), 5 M Hz operation and timer/counter on one integrated circuit. Also, ithas been reported that the FCC rejected the TI approach to the RF (radio frequency) modulatordesign. It is expected that TI will have solved these problems for the introduction of the systemin June at the summer Consumer Electronics Show in Chicago.

RADIO SHACK HAS OVER 50 PERCENT OF PERSONAL COMPUTER BUSINESS. According to a reportissued by Dataquest, a marketing research firm, Radio Shack sold approximately 100,000 TRS-80s,valued at $105 million dollars in 1978. This represented almost 10 percent of Tandy's business, and meansthat Radio Shack shipped over 50 percent of the total 1978 volume and 21 percent of the value ofpersonal computer systems. Commodore was second, selling 25,000 PETs valued at $20 million, andApple shipped 20,000 systems valued at $30 million. MITS/Pertec shipped 3000 units valued at $12million, IMSAI shipped 5,000 valued at $18 million and all other personal computer makersshipped 35,000 units valued at $130 million. Dataquest adds to this the IBM and Hewlett-Packard table-top systems selling for less than $15,000. Thus IBM shipped 5,000 units valued at $95 million andHewlett-Packard shipped 4,000 units valued at $80 million.

TANDY TO INTRODUCE NEW COMPUTER SYSTEM. Tandy has disclosed that it will soonintroduce two, three and possibly four new computer systems in the second and third quarters of1979.The systems will be designed to fit specific purposes. This is seen by industry experts as anattempt by Tandy to strengthen its market position in anticipation of Texas Instrumentsentering into the personal computer market. Tandy has had their TRS-80 in production for almosttwo years.

INTEL REPORTS 42 PERCENT INCREASE IN SALES FOR 1978. Intel, the pioneer in micro-processors, reported sales of just over $400 million dollars in 1978, compared to $282.5 million in1977 — a 41.8 percent increase. In fact, sales in the last quarter increased over 61percent as compared to the same period in 1977. Profits increased 39.7 percent; from $ 31.7million to $44 million. Coincidentally, Zilog had sales of $18 million, and reportedly operatedin the red for 1978.

MICROSOFT MOVING INTO 16 BIT SOFTWARE. Microsoft, a recognized leader in micro-processor software, plans to introduce a broad range of software for 16 bit processors, usingthe new Intel 8086 and Zilog Z-8000 microprocessors. Most of Microsoft's business is OEM(original equipment manufacturer). This indicates that several hardware manufacturers plansystems using these 16 bit processors. Microsoft will not desert the 8 bit area in whichthey plan to release a BASIC compiler and Pascal and APL interpreters.

INTEL PRESIDENT WORRIES ABOUT VLSI. Gordon Moore, Intel founder and president, wasthe keynote speaker at the recent International Solid States Circuit Conference. In hisspeech, he expressed great concern about the possibility that integrated circuit technology istoo far ahead of applications. The industry is moving into the next generation ofintegrated circuits, called VLSI (very large scale integration) which feature devices withupwards of 400 K transistors, or 100 K gates. So far, the applications for such large deviceshave not developed. At the same meeting Dr Tom Longo, vice-president and chief technicalofficer at Fairchild Semiconductor, suggested that one possible application for VLSI might bethe 64 bit microprocessor.

MICRODISKS ARE COMING. Microdisk is the name given to the new 8 inch hard disk drive,which is now being developed by several disk manufacturers. It is expected that at leastfour manufacturers will show these new disks at the NCC (National Computer Conference)show next month. These drives will fit into the same space as an 8 inch floppy disk, provideupwards of 20 M bytes unformatted storage, and use Winchester technology for high speed

May 1979 © BYTE Publications Inc 117

access. It is anticipated that the iirst production microdisks should be available late 1979,with full production not expected until mid 1980. Expected selling price in OEM quantitiesis $1500. This will probably translate to $3000 retail for a complete system including con-troller and power supply. At present 14 inch hard disks with 10 M byte storage are avail-able at an end user cost of $7000 to $10,000.

16 BIT MICROPROCESSOR SCENE GROWING. Zilog began shipping Z-8000 samples in March,

and Motorola expects to start sampling their 68000 this month. Production quantities should

be available in the fall. Meanwhile, Intel has heated up competition by cutting the 8086

price by 23 percent; from $82.50 to $65.20 (4 MHz) and from $99 to $76.25 (5 MHz)

in 500 quantity lots. The 8086 has been in production for almost a year; a very substantial

lead time. However, the Zilog Z-8000 and the Motorola 68000 in particular are more powerful

than the 8086, and Intel's price reduction probably represents a marketing strategy.

HP NOW PRIMARILY A COMPUTER COMPANY. Hewlett-Packard, which until now has beenprimarily a manufacturer of electronic instruments (voltmeters, frequency generators, etc),has disclosed that their computer business is now larger than their instrument business, and isgrowing at a faster rate. It is rumored that Hewlett-Packard will soon introduce a personalcomputer system.

COMMODORE REPORTS 8.6 PERCENT INCREASE FOR 1978. Commodore's 1978 AnnualReport states that sales increased from $46 million to $50 million and that income rose from $1.5million to $4 million, a 165 percent increase. There is little doubt that the PET and KIMaccounted for the major portion of this increase. Like Tandy, Commodore does not breakdown its sales figures: however, industry experts estimate that over 25,000 PETs were soldin 1978. The Annual Report shows pictures of a PET with a standard keyboard, numericpad and outboard tape recorder. Further, they promise a "new generation of PET computers"but do not say when.

IEEE AND ANSI WORKING ON PASCAL STANDARD. The IEEE (Institute of Electrical andElectronic Engineers) and ANSI (American National Standards Institute) have formed a jointcommittee to coordinate development of a Pascal standard. It is expected that the developmentof the standard will take several months.

PERKINS-ELMER LEAVES FLOPPY BUSINESS. Perkins-Elmer is the second major floppy diskmanufacturer to leave the business within the last year. The Wangco division supplied drivesto personal computer systems makers such as Cromemco, Heath Co and Intelligent Systems Corp.Although Wangco operated in the black and was growing, its profits were not apparentlyfulfilling Perkins-Elmer's expectations.

APL INTERPRETER AVAILABLE. The first APL interpreter for a microprocessor has been intro-duced by Vanguard Systems Corp, San Antonio TX. It is designed to run on a Z-80 computer system.As yet no data is available on how it compares to IBM APL. Several companies, includingMicrosoft and Scientific Time Sharing, have been promising a microprocessor APL package,but Vanguard is the first to reach the market.

LOW COST VOICE OUTPUT FOR COMPUTERS. If you are looking for a low cost, high quality

voice output for your computer system, why not try interfacing the Texas Instruments Speak

and Spell game to your system. This is done by interfacing some parallel ports to

the keyboard connections of Speak and Spell. A short software driver routine for

the interface was published in the January issue of the Ottawa Computer Group Newsletter

(Box 132218, Kanata Ontario Canada).

MICROSOFT PASCAL. We have heard that Microsoft is going to announce a Pascal package.

The Microsoft version is supposed to be compatible with UCSD, ANSI, and ISO Pascal. The

initial implementations of Pascal will be on the 8080, 8086, Z-80, Z-8000, and LSI-11.

Additional implementations will be produced as the demand arises. The 8080, 8086, and Z-80 versions

will be CP/M compatible. The rumored price for Microsoft Pascal is $1,000.

Sol Libes

ACGNJ

1776 Raritan Rd

Scotch Plains NJ 07076

118 May 1979 © BYTE Publications Inc

BITE

wmwa

"BOOKS OF INTEREST TO COMPUTER PEOPLE"

More BYTE

Hilf

KS

in your future

Circle 36 on inquiry card.

BYTE May 1979 119

And the future

THE BYTE BOOK OF COMPUTER MUSIC combinesthe best computer music articles from past issues ofBYTE Magazine with exciting new material—all writtenfor the computer experimenter interested in thisfascinating field.

You will enjoy Hal Chamberlin's "A Sampling ofTechniques for Computer Performance of Music",which shows how you can create four-part melodieson your computer. Forthe budget minded, "A$19 MusicInterface" contains practical tutorial information—andorgan fans will enjoy reading "Electronic Organ ChipsFor Use in Computer Music Synthesis".

New material includes "Polyphony Made Easy" and"A Terrain Reader". The first describes a handy circuitthat allows you to enter more than one note at a timeinto your computer from a musical keyboard. The"Terrain Reader" is a remarkable program that createsrandom music based on land terrain maps.

Other articles range from flights of fancy about thereproductive systems of pianos to Fast Fourier trans-form programs written in BASIC and 6800 machinelanguage, multi-computer music systems, WalshFunctions, and much more.

For the first time, material difficult to obtain has beencollected into one convenient, easy to read book. Anardent do-it-yourselfer or armchair musicologist willfind this book to be a useful addition to the library.

r

$&k

ISBN 0-931718-11-2Editor: Christopher P. MorganPages: approx. 128Price: $10.00

11 (HiHli m

SUPERWUMPUS is an excit-ing computer game incorpo-rating the original structure ofthe WUMPCJS game alongwith added features to makeit even more fascinating. Theoriginal game was describedin the book What To Do AfterYou Hit Return, published bythe People's Computer Com-pany. Programmed in both6800 assembly language andBASIC, SUPERWUMPUS is not only addictively fun,but also provides a splendid tutorial on setting upunusual data structures (the tunnel and cave systemof SUPERWUMPUS forms a dodecahedron). This is aPAPERBYTE™ book.

ISBN 0-931718-03-1Author: Jack EmmerichsPages: 56Price: $6.00

Tiny

*0*

: 1-1 Oil

s £ S i i s 11 i SMf 81

|§II lilfffjf

TINY ASSEMBLER 6800,Version 3.1 is an enhancementof Jack Emmerichs' success-ful Tiny Assembler. The origi-nal version (3.0) was describedfirst in the April and May 1977issues of BYTE magazine,and later in the PAPERBYTE™book TINY ASSEMBLER6800 Version 3.0.

In September 1977, BYTEmagazine published an article

entitled, "Expanding The Tiny Assembler". This pro-vided a detailed description of the enhancementsincorporated into Version 3.1, such as the addition of a"begin" statement, a "virtual symbol table", and alarger subset of the Motorola 6800 assembly language.

All the above articles, plus an updated version of theuser's guide, the source, object and PAPERBYTE™bar code formats of both Version 3.0 and 3.1 make thisbook the most complete documentation possible forJack Emmerichs' Tiny Assembler.

ISBN 0-931718-08-2Author: Jack EmmerichsPages: 80Price: $9.00

A walk through this book brings you into Ciarcia'sCircuit Cellar for a detailed look at the marvelousprojects which let you do useful things with your micro-computer. A collection of more than a year's worth ofthe popular series in BYTE magazine, Ciarcia's CircuitCellar includes the six winners of BYTE's On-goingMonitor Box (BOMB) award, voted by the readersthemselves as the best articles of the month: Controlthe World (September 1977), Memory Mapped IO(Novemberl977),ProgramYourNextEROMinBASIC(March 1978), Tune In and Turn On (April 1978), TalkTo Me (June 1978), and Let Your Fingers Do the Talking(August 1978).

Each article is a complete tutorial giving all the detailsneeded to construct each project Using amusinganecdotes to introduce the articles and an easy-goingstyle, Steve presents each project so that even aneophyte need not be afraid to try it

\0I

ISBN 0-931718-074Author: Steve GarciaPages: approx. 128Price: $8.00

is right now!

BASEX, a new compact, compiled language for micro-computers, has many of the best features of BASICand the 8080 assembly language—and it can be runon any of the 8080 style microprocessors: 8080, Z-80,or 8085. This is a PAPERBYTE™ book.

Subroutines in the BASEX operating system typicallyexecute programs up to five times faster than equiva-lent programs in a BASIC interpreter—while requiringabout half the memory space. In addition, BASEX hasmost of the powerful features of good BASIC inter-preters including array variables, text strings, arithme-tic operations on signed 16 bit integers, and versatile10 communication functions. And since the two lan-guages, BASEX and BASIC, are so similar, it is possibleto easily translate programs using integer arithmeticdata from BASIC into BASEX.The author, Paul Warme, has also included a BASEXLoader program which is capable of relocating pro-grams anywhere in memory.

\gg2l

ISBN 0-931718-05-8Author: Paul WarmePages: 88Price: $8.00

ui&m^'

PROGRAMMING TECH-NIQUES is a series of BYTEBOOKS concerned with theart and science of computerprogramming. It is a collectionof the best articles from BYTEmagazine and new materialcollected just for this series.Each volume of the seriesprovides the personal com-puter user with backgroundinformation to write and main-tain programs effectively.

The first volume in the Programming Techniquesseries is entitled PROGRAM DESIGN. It discussesin detail the theory of program design. The purposeof the book is to provide the personal computer userwith the techniques needed to design efficient, effec-tive, maintainable programs, included is informationconcerning structured program design, modular pro-gramming techniques, program logic design, andexamples of some of the more common traps thecasual as well as the experienced programmer mayfall into. In addition, details on various aspects of theactual program functions, such as hashed tables andbinary tree processing, are included.

ISBN 0-931718-12-0Editor: Blaise W. LiffickPages: 96Price: $6.00

SIMULATION is the second volume in the Program-ming Techniques series. The chapters deal withvarious aspects of specific types of simulation. Boththeoretical and practical applications are included.Particularly stressed is simulation of motion, includingwave motion and flying objects. The realm of artificialintelligence is explored, along with simulating robotmotion with the microcomputer. Finally, tips on howto simulate electronic circuits on the computer aredetailed.

ISBN 0-931718-13-9Editor: Blaise W. LiffickPages: approx. 80Price: $6.00Publication: Winter 1979

RA6800ML: AN M6800 RELOCATABLE MACROASSEMBLER is a two pass assembler for the Motorola6800 microprocessor. It is designed to run on a mini-mum system of 16 K bytes of memory, a systemconsole (such as a Teletype terminal), a system monitor(such as Motorola MIKBGG read only memory pro-gram or the 1COM Floppy Disk Operating System),and some form of mass file storage (dual cassetterecorders or a floppy disk).

The Assembler can produce a program listing, a sortedSymbol Table listing and relocatable object code. Theobject code is loaded and linked with other assembledmodules using the Linking Loader LINK68. (Refer toPAPERBYTE™ publication LINK68: AN M6800LINKING LOADER for details.)

There is a complete description of the 6800 Assemblylanguage and its components, including outlines ofthe instruction and address formats, pseudo instruc-tions and macro facilities. Each major routine of theAssembler is described in detail, complete with flowcharts and a cross reference showing all calling andcalled-by routines, pointers, flags, and temporaryvariables.

In addition, details on interfacing and using theAssembler, error messages generated by the Assem-bler, the Assembler and sample IO driver source codelistings, and PAPERBYTE™ bar code representationof the Assembler's relocatable object file are all included.This book provides the necessary background forcoding programs in the 6800 assembly language, andfor understanding the innermost operations of theAssembler.

ISBN 0-931718-10-4Author Jack E. HemenwayPages: 184Price: $25.00

to order books see next page

LINK68: AN M6800 LINKING LOADER is a one

pass linking loader which allows separately translatedrelocatable object modules to be loaded and linkedtogether to form a single executable load module, andto relocate modules in memory. It produces a load mapand a load module inMotorola MIKBCIG loaderformat.The Linking Loader requires 2 K bytes of memory, asystem console (such as a Teletype terminal), a sys-tem monitor (for instance, Motorola MIKBGG readonly memory program or the ICOM Floppy DiskOperating System), and some form of mass file stor-age (dual cassette recorders or a floppy disk).

It was the express purpose of the authors of thisbook to provide everything necessary for the userto easily learn about the system. In addition to thesource code and PAPERBYTE™ bar code listings,there is a detailed description of the major routines ofthe Linking Loader, including flow charts. While imple-menting the system, the user has an opportunity tolearn about the nature of linking loader design as wellas simply acquiring a useful software tool.

ISBN 0-931718-09-0Authors: Robert D. Grappel& Jack E. HemenwayPages: 72Price: $8.00 Winter 1979

TRACER: A 6800 DEBUGGING PROGRAM is for

the programmer looking for good debugging softwa re.TRACER features single step execution using dynamicbreak points, register examination and modification,and memory examination and modification. This bookincludes a reprint of "Jack and the Machine Debug"(from the December 1977 issue of BYTE magazine),TRACER program notes, complete assembly andsource listing in 6800 assembly language, objectprogram listing, and machine readable PAPERBYTE™bar codes of the object code.

h

ISBN 0-931718-02-3Authors: Robert D. Grappel& Jack E. HemenwayPages: 24Price: $6.00

MONDEB: AN ADVANCED M6800 MONITOR-DEBUGGER has all the general features of Motorola'sMIKBCIG monitor as well as numerous other capabili-ties. Ease of use was a prime design consideration.The other goal was to achieve minimum memoryrequirements while retaining maximum versatility.The result is an extremely versatile program. The sizeof the entire MONDEB is less than 3 K.

Some of the command capabilities of MONDEB in-clude displaying and setting the contents of registers,setting interrupts for debugging, testing a program-mable memory range for bad memory locations,changing the display and input base of numbers,displaying the contents of memory, searching for aspecified string, copying a range of bytes from onelocation in memory to another, and defining the loca-tion to which control will transfer upon receipt of aninterrupt This is a PAPERBYTE™ book.

ISBN 0-931718-06-6Author: Don PetersPages: 88Price: $5.00

BAR CODE LOADER. The purpose of this pamphletis to present the decoding algorithm which was de-signed by Ken Budnick of Micro-Scan Associates atthe request of BYTE Publications, Inc., for the PAPER-BYTE™ bar code representation of executable code.The text of this pamphlet was written by Ken, andcontains the general algorithm description in flowchart form plus detailed assemblies of program codefor 6800, 6502 and 8080 processors. Individuals withcomputers based on these processors can use thesoftware directly. Individuals with other processors canuse the provided functional specifications and detailexamples to create equivalent programs.

ISBN 0-931718-01-5Author: Ken BudnickPages: 32Price: $2.00

BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458

Name

Title

Cornpanv

Street

City

□ Check enclosed in the amount of $

□ Bill Visa □ Bill Master Charge Card No.

Please send the books I have checked.

□ Computer Music $10.00

□ SCIPERWCIMPGS $6.00

□ Tiny Assembler (3.1) $9.00

□ Circuit Cellar $8.00DBASEX$8.00

□ Program Design $6.00

BYTE BOOKS. BYTE BOOKS logo, and PAP I- RBYTEare trademarks of BYTE Publications. Inc.

State Province

Exp. Date

□ Simulation $6.00DRA6800ML $25.00DLink68$8.00

□ TRACER $6.00DMondeb$5.00

□ Bar Code Loader $2.00

Add 50C per book to cover postageand handling

Please allow 6-8 weeks lor processing your orde

122 BYTE May 1979

Circle 36 on inquiry card.

Text continued from page 6:

The parts for a simple 110 VAC lampcontroller with one channel and a 10 Arating consist of:

One Sigma Instruments Model 221A-3-5D

Hybrid Relay

One AC Line Cord (surplus store)

One AC Socket (local hardware store)

One plug for my computer's parallel

interface (DB-15)

One aluminum minibox

Miscellaneous interconnect wire

$12.80

$

1.00

$

1.35

$

2.00

$

2.98

0.00

Total for one channel

$20.13.

In an evening I had this relay wired tomy computer, and ready for use in someapplications. The most obvious homeoriented application is, of course, thecontrol of lamps in real time, assumingyou have a real time clock and an ap-propriate operating system in your com-puter. At a high level, the simplest openloop lamp control procedure can nowbe implemented:

DO FOREVERBEGIN

Wait Until 6;

Turn On Lamp;

Wait Until 11;

Turn Off LampEND;

Here I have used "DO FOREVER" tomean that the block will be repeated in-definitely with no ending condition inthe program itself, although it is alwayspossible to pull the plug or reset thecomputer with manual intervention.This is a procedure which is reiteratedday in and day out as a background taskof the computer system, with a real timeexecutive which can monitor time. Whatis the advantage over a simple mechani-cal timer? It is, of course, the equivalentof that timer, but you have gained theability to combine the relay control withthe more sophisticated logic of a pro-gram.

With this simple amount of hardware,it is now possible to write programswhich do much more than the me-chanical timer. For example, if you wantto give your house a lived-in look on thebasis of lights, you can now add somerandomization. Let's define a function,RANDOM(X), which returns a randomnumber ranging from 0 to X, as do manystandard compilers and interpreters. Wecan extend this procedure, using ran-domization of the starting and stoppingtimes. In this next example, we add a se-cond period in which the lamp is on:

DO FOREVERBEGIN

Wait Until (6 + RANDOM(2));Turn On Lamp;

Wait Until (8 + RANDOM(1));Turn Off Lamp;Wait Until (9 + RANDOM(1));Turn On Lamp;

Wait Until (11 + RANDOM(3))END;

Our program has no inputs now, otherthan time synchronization with the com-puter's real time clock. The effect is thatof having two periods with random star-ting and stopping times during the even-ing. Combine this with several otherchannels for different rooms of thehouse, and you have unique and randomnight lighting control for times when thehouse is vacant due to business or fami-ly trips. Of course, no computer (as yet)can collect piled up mail or clear snowfrom the driveway, but with a simpleevening's effort of wiring up several re-lays in a control box, this sort of programcan be left running when you go away.

In this example, I wanted to use thisrelay for lamp control. But, with a littleimagination, you can control muchmore than lamps. The solid-state relayscan turn on and off virtually any loadwithin the current limitations of thedevice (10 A in this example) at the zeropoint of the AC waveform. This could in-clude: turning on your coffeemaker inthe morning (assuming that you primedit with water and grounds the nightbefore); turning on a hot plate (of lessthan 1000 W) under a tea kettle in themorning; responding to a voice inputmicrophone for the particular room youare in by recognizing the words on andoff (all using techniques discussed inpast BYTE issues). There is no reasonwhy other appliances, such as the motorof my attic fan, could not be controlledin the same way.

The point is, the act of creating hard-ware for such brute force things as turn-ing AC lines on and off has been reducedto wiring, and is now an easily solvedproblem. Just as we all experiment withsoftware, we can now very simply ex-periment with software that controlssignificant hardware outside the com-puter system. All it takes is the will-ingness to spend some time wiring theparticular details needed to make yoursystem's output port talk to the realworld. Hardware is not hard to control,once you've got a complete computersystem with real time clock and paralleloutput data ports. ■

May 1979 © BYTE Publications Inc 123

Event Cueue

In order to gain optimum cover-age of your organization's computerconferences, seminars, workshops,courses, etc, notice should reach ouroffice at least three months inadvance of the date of the event.Entries should be sent to: EventQueue, BYTE Publications Inc, 70Main St, Peterborough NH 03458.Each month we publish the currentcontents of the queue for the monthof the cover date and the two fol-lowing calendar months. Thus a givenevent may appear as many as threetimes in this section if it is sent to usfar enough in advance.

May 1-3, 1979 Southwestern ComputerConference, Myriad Convention Center,Oklahoma City OK This conference,sponsored by the Oklahoma StateUniversity Technical Institute incooperation with the Data ProcessingManagement Association and theAssociation for Systems Management,will include 150 exhibit booths and 60seminar presentations. Contact E ZMillion, OSU Technical Institute, 900 NPortland, Oklahoma City OK 73107

May 7-11, Data Base Concepts andDesign, Kansas City KS. Sponsored bythe American Management Association,this course will feature practical infor-mation, workshops and case studies tohelp the participant understand struc-ture, concepts, design, software andmanagement Contact AmericanManagement Associations, 135 W 50thSt, New York NY 10020, (212) 586-3100.

May 11-13, The West Coast Computer

Faire, San Francisco Civic AuditoriumThis is a conference and exposition onpersonal computers for home, business,and industry. Contact Computer Faire,POB 1579, Palo Alto CA 94302, (415)851-7075.

May 14-16, Implementing Cryptography,

The New York Sheraton, New York NY.This seminar will present current techni-ques that protect transmitted and storeddata, authenticate messages and systemusers, and generate electronic digitalsignatures. Contact Ketron Inc, ValleyForge Executive Mall, # 10, 530 ESwedesford Rd, Wayne PA 19007

May 15-17 Micro/Expo '79, Centre Inter-national de Paris, Paris FRANCE. Con-tact Sybex Inc, 2020 Milvia St, BerkeleyCA 94704.

If you need Business Reports with fancyfrills you have the wrong company. Wedon't put these in our Software or our Ads.Both cost *** You *** Money.

But if you need solid, Down-To-EarthSoftware for your North Star, Imsai, orother low cost Data Processing Systemwritten in Microsoft Basic or Cbasic in-cluding GL, AR, AP, Inventory, Payroll,Mailing List and Fixed Asset Accountingthen you *** Do *** have the rightcompany.

GIVE US A TRY - WE KNOW YOU'LL BE GLAD YOU DID

We honor Visa and Mastercharge

102 Avenida Dela Estrella

Suite 208

San Clemente, CA 92672

(714) 492-7633

May 15-17, First Education ComputerFair, Detroit Plaza Hotel, Detroit Ml.This fair will be held in conjunction with1979 Association for Educational DataSystems 17th Annual Convention. Thetheme of the fair will be the use ofmicroprocessors in education. ContactBruce C Alcock, Riverdale CountrySchool, W 253 St and Fieldston Rd,Bronx NY 10471.

May 15-18, 1979 Association for Educa-tional Data Systems 17th Annual Con-vention, Detroit Plaza Hotel, Detroit Ml.The convention program will focus oncomputer applications, computer re-sources, computer related curriculum,application development methodologiesand futures. Exhibits, user groupmeetings and vendor sessions will alsobe offered. Contact Arthur W Daniels |r,31202 Dorchester, Madison Heights Ml48071

May 17-18, Microcomputers in Educa-tion and Training, Arlington VA. ContactSociety for Applied Learning Tech-nology, 50 Culpeper St, Warrenton VA22186

May 21-23, Distributed Data Processing,

Logan Airport Hilton, Boston MA Adetailed perspective of the decisions tobe made in planning, implementing andmaintaining distributed data processingsystems. Contact American ManagementAssociations, 135 W 50th St, New YorkNY 10020.

May 21-24, Eighth Annual IncrementalMotion Control Symposium, RamadaInn, Urbana IL. Contact Dr B C Kuo, POB2772, Station A, Champaign IL 61820.

May 21-25, Systems Analysis Workshop,

Chicago IL. This workshop will teachsystems analysts and others needingsystems analysis skills to use a practicalset of tools and techniques to evaluateuser requests and document require-ments for new data processing sys-tems. Contact Brandon Systems Insti-tute, 4720 Montgomery Ln, Bethesda MD20014.

May 21-25, Structured Programming andSoftware Engineering, The GeorgeWashington University, Washington DC.This course is designed for experiencedprogram architects, designers andmanagers. It will provide up-to-datetechnical knowledge of logical expres-sion, analysis and invention for perform-ing and managing software architecture,design and production. Presentationswill cover principles and applications instructured programming and softwareengineering. Design workshops withanalysis and review sessions will provideactual practice in problem solving. Con-tact George Washington University, Con-

124 May 1979 © BYTE Publications Inc

Circle 1 on inquiry card.

16K MEMORYADD-ON KIT

FOR THE TRS-80* - SORCERER*

APPLE lit

8-PRIME, 250 NS HIGH SPEED

MEMORY CHIPS

$95

00

• All chips are new, top quality, factory fresh andtested.

• Each kit comes with complete, simple to understand instruc-tions. Even the least experienced individual can add onmemory.

• Comes complete with programmed jumpers.

GUARANTEE

If a chip fails, we will replace it with no questions asked.

Lifetime guarantee!

Remember: These are top quality prime #1 chips. All orders shipped same day asreceived!

TERMS

CASH WITH ORDER, VISA, MASTER CHARGE. NO C.O.D.'S! PERSONAL CHECKS REQUIRE3 WEEKS TO CLEAR.

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Suite 333, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537

' TRS-80 is a trademark of Tandy Corp.% Sorcerer is a trademark of Exidy, Inc.t Apple II is a trademark of Apple Computer, Inc.

WATCH FOR MODULE 50

Circle 390 on inquiry card. byte May 1979 125

tinuing Engineering Education,Washington DC 20052.

May 23-24, The Clemson Conference onSmall Computers: Application forBusiness, Industry, Education, Medicine,

Clemson University, Clemson SC. Thisconference will be of interest to in-dividuals interested in small computerswho have a wait and see attitude. Per-sons who are already involved with smallsystems will find the conference in-teresting and beneficial. There will bediscussions on a wide variety of applica-tions, tutorials on small systems and ex-hibits of equipment. Contact William JBarnett, Associate Professor, College ofEngineering, Clemson University, Clem-son SC 29631.

May 24-26, Computers in Critical Careand Pulmonary Medicine. Yale Univer-sity School of Medicine, Norwalk CT.The purpose of this meeting is to bringtogether computer scientists, biomedicalengineers and physicians who are in-terested in the application of computertechnology to the diagnosis and treat-ment of critically ill patients. The pro-gram will consist of one day devoted torespiratory monitoring and two daysdevoted to the presentation of paperspertaining to the application of com-puter technology to the monitoring of

critically ill patients. Contact S Nair MD,Norwalk Hospital and Yale UniversitySchool of Medicine, Norwalk CT 06856.

June 3-6, 1979 International SummerConsumer Electronics Show, McCormickPlace, Chicago IL. This show serves asthe marketplace for the entire consumerelectronics industry. Contact ConsumerElectronics Show, 2 Illinois Ctr, Suite1607, 233 N Michigan Av, Chicago IL60601.

June 4-7, 1979 National Computer Con-ference, New York Coliseum, New YorkNY. NCC '79 will feature a premiershowcase of the state of the art in com-puting and data processing. Leadingorganizations, large and small, will showthe latest equipment and services in ap-proximately 1500 booths. More than 100program sessions are planned, emphasiz-ing the four major areas of management,applications, science and technology,and social implications. In conjunctionwith NCC '79, the Personal ComputingFestival of commercial exhibits, applica-tion demonstrations, and technical ses-sions on microcomputer systems and ap-plications will be held at the AmericanaHotel. Contact NCC '79, c/o AmericanFederation of Information ProcessingSocieties Inc, 210 Summit Av, MontvaleNl 07645.

NEW HEALTH INTEREST PROGRAMS...

^>eokeosy VitoFoctr

• Heart Attacks

• Blood Pressure

• Adolescence

• Teenage Drinking & Drugs

• Birth Control

• Talking About Sex

For Everyone —YOUTHADULTSPARENTS

Help yourself — your family — your friends to better health with the new Speakeasy VitaFacts Series

learning programs!

These professionaly-prepared programs include an audio cassette, a computer cassette and a

booklet. They are available through hundreds of computer stores worldwide at very reasonable prices.

Please check with your dealer or contact Speakeasy VitaFacts.

DEALERS: Please call us at the number below for the name of your distributor.

MICROCOMPUTER-ASSISTEDINSTRUCTION FOR HEALTHFUL LIVING!

Speakeasy VitoFoaV

Box 909 Kcmplvillc, Ontario, Canada K0G 1 JO (613) 258-3291

June 6-8, Twelfth Annual Association ofSmall College Computer Users in Educa-tion Conference, Denison University,Granville OH. Sessions will include thepresentation of papers and demonstra-tions of the educational use of micro-computers, computer text book surveys,discussions with authors of computertexts, administrative uses of computersin small colleges, and a tutorial onmicroprocessors. Contact DouglasHughes, Computer Ctr, Denison Univer-sity, Granville OH 43055, (614) 587-0810.

June 6-8, Eighth Annual Conference ofthe MUMPS Users Group, MarriottHotel, Atlanta GA. Papers will bepresented on all aspects of MUMPSdevelopment, implementation, and use.Contact Judith Faulkner, Program Com-mittee, Department of Psychiatry,Clinical Sciences Ctr, 600 Highland Av,Madison Wl 53792.

June 6-8, Computer Contract Negotia-tion, New York NY. This three day courseis designed to give participants soundanswers to the complex ramifications ofpreparing and negotiating computer con-tracts. Contact Brandon ConsultingGroup Inc, 505 Park Av, New York NY10022.

June 19-21, International Microcom-puters/Minicomputers/Microprocessors

'79, Palais des Expositions. GenevaSWITZERLAND. Focusing on the chang-ing state of the art in mini/microcom-puters and microprocessors, the 1979conference program will probe advancesin systems and equipment, with em-phasis on practical applications and usesof minicomputers and microcomputersas well as the techniques important totheir development.

June 20-22, The 1979 Symposium of theWilmington Section of the InstrumentSociety of America, University ofDelaware, Newark DE. The symposiumtheme, "Measurement Technology forthe 80's," is being programmed by threeof ISA's divisions: Process Measurementand Control, Analysis Instrumentation,and Water and Waste Water Industries.Contact A H Straightiff, E I Du Pont deNemours and Co Inc, (302) 366-3810.

June 27-29, Machine Processing ofRemotely Sensed Data, Purdue Univer-sity, W Lafayette IN. The symposium willfocus upon the theory, implementationand novel applications of machine pro-cessing of remotely sensed data. ContactPurdue University, Laboratory for Ap-plications of Remote Sensing, 1220 Pot-ter Dr, W Lafayette IN 47906.

July 9-20, Computing Systems Reliability.

University of California, Santa Cruz CA.Contact Institute in Computer Science,University of California Extension, SantaCruz CA 95064. ■

126 May 1979 © BYTE Publications Inc

Circle 351 on inquiry card.

Buy this book atyourfavorite com-puter bookstoreor direct fromBYTE BOOKS.™

Add 50$ per book forpostage and handling

The marvelous

computer projects that

Steve Ciarcia has constructed in his

cellar are explained in detail so that you

can make your microcomputer perform the same

useful functions. Each article is a complete tutorial,

presented in such an easy-going style that even

beginners can understand and enjoy.

,/ZjP1™

EOnNSI

"HOOKS Of INTEREST TO COMPUTER PEOPLE"

70 Main Street Peterborough, New Hampshire 03458

Circle 36 on inquiry card.

BYTE May 1979 127

TMS-9900 Monitor

Jeremy O Jones

Alan Jones

Dept of Computer Science

Trinity College Dublin

Dublin 2-IRELAND

Everyone has their own idea of what agood monitor should and should not do. OurTMS-9900 monitor is aimed at a small TexasInstruments 9900 system (without disks)with a terminal (64 by 32 character screensize) for I/O (input/output). It has beendesigned so that programs (which may becross assembled elsewhere) can be debuggedefficiently. To this end, the monitor con-tains an instant assembler, a disassembler,and comprehensive user program tracingfacilities. The instant assembler allowsmodifications in code to be made quickly,since calculating op codes is difficult becausethe op code fields are not aligned on nybbleboundaries.

The monitor occupies slightly less than256 bytes of memory and has been as-sembled to occupy hexadecimal locationsF400 thru FFFE. The monitor allows theuser to examine and change memory lo-

cations; disassemble instructions; assemblemnemonics; perform memory searches;move blocks of memory; set breakpoints;trace program operation; and other func-tions."

The Nybbles Library is an inexpensivemeans for B YTE readers to share some inter-esting but specialized forms of software.These programs are written by readers withsmall computers and printer facilities, andare therefore designed for particular systems.The algorithms and programming techniquesin these programs can be directly used byreaders with similar equipment, or can serveas an inspiration for improvisation on com-puters of different characteristics.

Potential authors of such programsshould send us a self-addressed stampedenvelope, with a request for a copy of ourGuidelines for Nybbles Authors. Paymentfor Nybbles items is based on sales andlength of the item. Rates are set at the timeof acceptance.

This month the "TMS-9900 Monitor"(# 106) has been added to the NybblesLibrary. To order your personal copy, at$3.00 postpaid, fill out the coupon below.

Please send

copies of BYTE Nybble #_

Please remit in US funds only.

Check Enclosed

Bill my BACK

Bill my MC It

Name

Street

City

at $_

postpaid.

Nyttles

_ Exp Date. Exp Date

State

Zip Code

BYTE Nybbles Library, 70 Main St, Peterborough NH 03458

You may photocopy this page if you wish to keep your BYTE intact.

128 May 1979 © BYTE Publications Inc

CLIP & ORDER

Description

Model No.

Price

Qnty

Total

16K Memory Add-On Kit

$ 95.00

S-100 3 S+P Interface Card

3 S+P-100K

$159.95

3 S+P-100A

$189.95

S-100 EPROM Programmer +3

EPR-100K

$129.95

EPR-100A

$159.95

TRS-80* to S-100 BUS

RSB-K

$249.95

RSB-A

$289.95

S-100 Video Display Board

VID-100K

$119.00

VID-100A

$139.00

TRS-80* Master Control Console

MCC-K

$159.95

MCC-A

$189.95

TRS-80* Expandor Interface

EI-80K

$329.00

EI-80A

$349.00

TRS-80* Disc Controller Module

DCM-80K

$129.95

DCM-80A

$159.95

16K RAM Kit (With purchase of DCM-80)

$ 85.00

TRS-80* EPROM Programmer +3

EPR-80K

$129.95

EPR-80A

$159.95

S-100 BUS Master Control Card

MCC-100K

$159.95

MCC-100A

$189.95

S-100 Disc Controller Card—TRS-80* Disc Drives

DC-80K

$139.00

DC-80A

$159.00

S-100 RS-232 Control Card

232-100K

$149.95

232-100A

$179.95

TRS-80* Serial Parallel I/O Module

MS10-K

$129.95

MS10-A

$149.95

S-100 Z-80 Central Processing Unit

Z-80100K

$129.95

Z-80100A

$139.95

TRS-80* To S-100 BUS Cable Adapter

CAB-80K

$ 99.95

CAB-80A

$119.95

S-100 8K Static 250NS RAM Memory Card

8K-100K

$119.95

8K-100A

$139.95

TERMS—CASH WITH ORDER, VISA, MASTERPERSONAL CHECKS REQUIRE 3 WE

charge. no <:eks to cleaf

S.O.D.'S!1.

TOTAL

□ My check (made payable to World Power Systems, Inc.) is enclosed

□ Please charge to my: □ Visa □ Master Charge No.

Signature

Exp. Date

SHIP TO: Name_

Address.

"TRS-80 is a trademark ol Tandy Corp{Sorcerer is a trademark ot Exidy InctApple II is a trademark ot Apple Computer. Inc

City/State.Phone

WORLD POWER SYSTEMS, INC.

1161 N. El Dorado Place, Suite 333, Tucson, Arizona 8571524 Hour Order Phone No: 602-886-2537

Circle 390 on inquiry card.

BYTE May 1979

129

The Intel 8275 CRT Controller

Chris Tennant119 S KasparArlington Hts IL 60005

About the Author

Chris Tennant is anelectrical engineeringgraduate of the Univer-sity of Illinois. His spe-cific areas of interestare communications andcomputer systems. As ahobby, Chris has beenbuilding theZ-80S-100microcomputer par-tially shown in thepictures.

Chris works in theUniversity s Psychologydepartment as an elec-tronic technician of theCognitive Psychophysi-ology Lab. Brain waveexperiments are run,and PDP-11 minicom-puters abound in thisenvironment. Alongwith a fellow seniortechnician he has de-signed and built dig-ital and analog devicesto interface the com-puters to the test sub-jects. Microprocessorprojects are both inprogress and on thedrawing board.

The Intel 8275 is a programmable videodisplay controller manufactured by IntelCorporation. It is sealed in a 40 pin dualin line package. The device is presentlyexpensive, but it replaces more costlycircuitry of a greater size and complexity.

The 8275 has full color capability, alight pen option, many display modes, andsimplicity in both hardware and software.This article's focus is on the ability andoverall value of an 8275 based video ter-minal. Since value is a relative judgment,frequent comparisons will be made be-tween an 8275 based terminal and otherkinds of terminals presently available.

Video terminals can be divided into twogroups:

• Dedicated memory terminals. Theseare prevalent in microprocessor sys-tems. A typical terminal contains1 K or 2 K bytes of memory forscreen data. The memory is used

almost continuously for screen re-fresh, and hence is dedicated to theterminal. The processor may haveboth read and write access to thevideo memory. Dedicated memoryterminals include bit mapped ter-minals. Every dot location on a bitmapped display is addressable. Manybit mapped terminals allow readaccess as well as write access.• Direct memory access terminals. Thiskind of terminal is connected to aprocessor bus. The video memoryactually resides in processor memory.It is not dedicated memory, so theinformation must be transferred fromthe processor to the screen for eachscreen refresh. Usually processor oper-ation is suspended for refresh, result-ing in lower processor throughput.

For the most part, this article considersthe use of an 8275 and a microprocessor

Photo I: The author's 2 board video controller using the Intel 8275 video display controller.

130 May 1979 © BYTE Publications Inc

• !•

YES!! Godbout has S-lBANK SELECT BOARDS!

We're happy to announce the new CompuKit"' memories, each with twototally independent, individually selectable and addressable banks. These arelow power, completely static, 4 MHz boards that offer Econoram quality in abrand new format.

Our memory boards are generally available in 3 forms: unkit (sockets,bypass caps pre-soldered in place for easy assembly); assembled and tested;or qualified under the Certified System Component (CSC) high-reliability pro-gram (200 hour burn-in, guaranteed 4 MHz operation over the full commer-cial temperature range, and immediate replacement in event of failure within1 year of invoice date).

Name

Econoram Xll-16Econoram XII-24Econoram XIII"

Storage

16KX824KX832KX8

Buss

Addressable on

Design

Unkit

Assm

CSC

S-100 8K boundaries staticS-100 8K boundaries staticS-100 16K boundaries static

$369 $419 $519$479 $539 $649$629 $699 $849

AND WE STILL HAVE THE BOARDS THAT MADE US FAMOUS,

ALL THE WAY TO 32K:

Name

Storage

Buss

Design

Speed

Configuration

Unkit

Assm

esc

Econoram II

8KX8

S-100

static

2 MHz

dual 4K

$149

$164

N/A

Econoram IV'"

16KX8

S-100

static

4 MHz

single 16K

$295

$329

$429

Econoram VI "

12KX8

H8

static

2 MHz

1-8K, 1-4K

$200

$270

N/A

Econoram VII ™

24KX8

S-100

static

4 MHz

2-4K, 2-8K

$445

$485

$605

Econoram IX"

32KX8

Dig Grp

static

4 MHz

2-4K, 1-8K, 1-16K

$649

N/A

N/A

Econoram X™

32KX8

S-100

static

4 MHz

2-8K, 1-16K

$599

$649

$789

Econoram XI ™

32KX8

SBC

static

4 MHz

2-8K, 1-16K

N/A

N/A

1

$1050

[SEE

CompuKit

" PRODUCTS AT YOUR LOCAL COMPUTER STORE

^S\

• FULL FUNCTIONTHE • DUAL CHANNEL l/0 BOARD$189 unkit, $249 assembled & tested

Our new I/O board gives you unparalleled flexibility and operating con-venience .. .we include features such as two independently addressableserial ports, real LSI hardware UARTS for minimum CPU housekeeping,full RS232C, current loop (20 mA) and TTL signals on both ports, crystalcontrolled Baud rates up to 19,2 KBaud, transmit and receive interruptson both channels, industry standard RS232 level converters with fiveRS232 handshaking lines per port, optically isolated current loop with pro-visions for both on board and off board current sources, full featureoperation with either 2 or 4 MHz systems, low power consumption ( + 8V@ 350 mA typ; +16V @ 70 mA typ; -16V @ 55 mA typ), no softwareinitialization required for board operation (although board parametersmay be altered by software). . . and much more.

Amazingly enough, all these features won't cost you more than othertypes of I/O boards that do a whole lot less. Want complete information?ust write, and we'll be glad to tell you all about it.

16K MEMORY EXPANSION SET $109 (3/$320)

For Radio Shack-80, Apple, Sorcerer machines. 250 ns chips for 4 MHzoperation, DIP SHUNTS, 1 year limited warranty. Includes easy-to-followinstructions.

ACTIVE TERMINATOR KIT $29.50

Our much imitated design plugs into any S-100 motherboard to treatthe S-100 buss as the RF system it really is, thereby reducing noise, glit-ches, ringing,overshoot, and other buss-related problems. Improvesreliability of data transfer, while saving power compared to standardpassive termination systems.

11 SLOT MOTHERBOARD UNKIT $90

Includes 11 edge connectors soldered in place for simplified assemblyas well as active termination for reliable data transfer with energy effi-ciency. Dimensions: 8.5" x 11".

18 SLOT MOTHERBOARD UNKIT $124

Same as above, but 18 slot version. Dimensions. 8.5" x 16.7"

JUST IN: AN EXCITING NEW CHIP FROM WESTERN DIGITAL, the 1791 MOS LSI dual density disc controller chip.

Prime part! With pinout and data, only $59,

h£)

TERMS: Allow 5% shipping, excessrefunded. Cal res add tax.VISA'-'/Mastercharge® call our 24hour order desk at (415) 562-0636.COD OK with street address for UPS(LIPS COD charge applies). Pricesgood through cover month ofmagazine.

Circle 150 on inquiry card.

CompuKit"" .rom ®i

mm

BOX 2355, OAKLAND AIRPORT, CA 94614

HOT-OFF-THE-PRESSES-CATALOCUE:

Our new catalogue is something youneed if you're into electronics. Parts,kits, computers, electronic music,specials ... it's really packed, and ifsfree. Just send us your name and ad-dress, we'll take care of the rest.

BYTE May 1979 131

CSC^

RDD-

WRD>-

AOD-

DATABUS

CD-

DIRECT MEMORYACCESS REQUEST

DIRECT MEMORY r->-ACCESS ACKNOWLEDGE

INTERRUPT O-

22

CSRDWRAO

D706D5D4D302DlDO

DRQ

DACK

IRQ

+ 5V

f

40

VCC

8275

T

CCLK

CC6CC5

COCC3

CC2CCI

ceo

LC3LC2LC ILCO

GPAOGPA I

LAO

LA I

RVV

LTENVSPHLGTHRTCVRTCLPEN

29

30

27

25

33

38

32

-<D CHARACTER CLOCK

-o

CHARACTER

-O

-o

LINE COUNT

GENERAL PURPOSEOUTPUTS

~c>\ II BUILT IN_OJ CHARACTER!

-OREVERSE VIDEO

-OLIGHT ENABLE

-O VIDEO SUPPRESS

-OHIGHLIGHT

-OH0RIZ0NTAL RETRACE

-O VERTICAL RETRACE

-CJLIGHT PEN INPUT

statistics change dynamically. Headingsof tables would be underlined. Importantstatistics would be printed as reverse videocharacters, yellow alert information wouldbe highlighted, and disaster informationwould be highlighted and blinking. Thisway, the operator can find the necessaryinformation at a glance. If one is lookingfor all disaster and yellow alert data, onecan spot it immediately, at a time whenseconds count. If one is looking for otherkinds of information, it can also be found

quickly because it, too, has its own kindof signature. Dedicated memory termi-nals and bit map terminals would all betoo slow for this application involvingemergency situations. Once the operatorhas the needed information, he or she caninitiate corrective measures through thesame terminal.

What follows is an introductory expla-nation of 8275 operation. Its merits andweaknesses are judged by comparing it toscrolling terminals, dedicated memory ter-minals and bit mapped (also dedicated mem-ory) terminals. Finally, the frequent usesof terminals in general are measured againstthe 8275's abilities. I hope to show thatthe 8275 meets most of these needs betterthan the other terminals.

Figure 1: A functional block diagram of the Intel 8275 video controllerintegrated circuit.

system as a terminal. Hence, this terminalis intended to be connected to a largecomputer. The hobbyist, on the other hand,often uses a microprocessor as a stand alonecomputer. For the hobbyist, processortime is more important than for the userof a microprocessor based terminal connect-ed to a larger computer. Therefore, thepotential homebrewer reading this articlewould understandably be skeptical of the8275 because it can rob up to 25 percent ormore of the processor's time. But after allthings are considered, I believe that even theexperimenter will be tempted by the fea-tures of the 8275 as I was.

An example of how the 8275 can beuniquely applied to a real life situationwill help to orient the reader toward itsabilities. A power generating plant couldemploy an 8275 based terminal in its maincontrol room. Many tables of data mightbe kept in the computer defining thestatus of various generators, the powerload of various points in the city and graphsof previous days and weeks' status.

The operator, using an 8275 based ter-minal, could flip between the pages ofinformation. The operator could watch

Device Description

The 8275 video controller requires twoperipheral items in order to operate: amicroprocessor and a direct memory accessdevice. The microprocessor initializes the8275 during power-up. It also shares itsmemory with the 8275. Figure 1 is a func-tional block diagram of the 8275. Thelefthand signal lines interface to the systembus. The processor communicates withthe 8275 via the bidirectional data bus andstandard handshaking. The single addressline, AO, indicates that this device occupiestwo locations in memory or I/O (input/output) space. The 8275 communicateswith the direct memory access controllervia the direct memory access request outputand direct memory access acknowledgeinput. The interrupt output is used to co-ordinate direct memory access activity.

The video control lines are describedbelow.

• Character Clock input. The characterclock tells the 8275 how fast char-acters are to be output to the screen.It also clocks the several internalcounters which provide the screentiming. Direct memory access timingis based on the character clock aswell.

132 May 1979 © BYTE Publications Inc

ForS

left

'.',■ ':-.K$?;-

«w

FILL SIZE.DUAL DENSITY. AFFORDABLE PRICE

We are offering, for a limited time, theindustry proven Remex RFD1000BDisc Drive at an introductory price of$395. This is the lowest price everadvertised for a full size disc drive. Thisdrive can operate in either single ordouble density mode and can store upto 800k bytes unformatted. It has beenon the market for three years and hasbeen proven in the field.

We are also a service center and readyto service what we sell at rates thatkeep hobbyist and small OEM budgetsin mind.

$395.00

BONUS OFFER: We will includetwo important options-OpticalWrite Protect and a Door LockMechanism-list price value$50. for only $25. for orderingpromptly. If you include checkor money order with yourorder, we will include these twooptions absolutely FREE.

The Computer FactoryP.O. Box 155Arlington Ma. 02174

Name

Address

City

State Zip

Disc Drives @ $395.

Options Packages @ $25.

Shipping ($6.00/drlve)

Tax (Mass. Residents)

TOTAL

D Check or M.O. with order(Get tree options package)

□ C.O.D. (Include 25% with order)

DM.C.I

□ Visa*

Signature

Circle 68 on inquiry card.

BYTE May 1979

133

(2a)

B27S

CHARACTEROUTPUTS

LINE COUNT

LAI

II BUILT-INCHARACTERS {OUTPUTS

U-AO

VSPLTENHGLT

DOT CLOCK

00

02CHARACTERGENERATORROM2716

03

04

05

06

HORIZ RIGHTHALF \

CHARGEN —tENABLE

tjd-

^

;;=D

zt>

O

O

:z£>

;=D-

a

VERTLINE

r^

io-

T>-

6

^N

t^==

QQ

HORIZLEFT

HALF

SHIFTREGISTER

OUT

k>-

P>7=E>

SYNCHRO-NIZATION

■VIDEO

VSP

LTEN

•HIGHLIGHT

(2b)

Figure 2: A description of the circuitry needed for generating built-in characters. The resulting characters that are output areshown in figure 2b.

Line Count outputs. These fouroutputs inform the character gen-erator which scan line the screenis tracing. At the top of a characterrow, the line count is 0. After the nextretrace, the line count is 1, and soforth. The line count tells the char-acter generator which row of dotsto output. The line count is pro-

grammable from one to 16 scanlines per character.

Character outputs. These seven bitsof output determine which one of128 possible characters is to be dis-played. They typically output theASCII code representations of thecharacters.

134 May 1979 © BYTE Publications Inc

• Two Built in Characters outputs.These signals are used to provide11 characters without the use of acharacter generator. The use of theseoutputs may add needless complexityto the video circuitry. Figure 2ashows the circuitry needed to pro-vide the characters in figure 2b.These characters are used for drawingboxes around fields on the screen.A lower chip count and several hoursof building time are sacrificed forthese 11 characters. It is recom-mended that the characters be putin the character generator read onlymemory. The 2708 programmableread only memory makes a good128 by 8 by 8 character generator.I chose a programmable read onlymemory because I could not finda character generator I liked on themarket.

• Two General Purpose outputs. Thesetwo bits can be individually pro-grammed to change logic levels at pre-determined points on the screen. Theirfunction is left to the designer.

• Reverse Video output. This bit tellsthe video circuitry that the negativeimage of the character is to be dis-played. A white character on a blackbackground is therefore displayed asa black character on a white back-ground.

• Light Enable output. When this out-put is high, an override of the char-acter generator occurs and onlywhite dots are sent to the screen.This output is used for the under-line function and to display thecursor.

• Video Suppress output. This outputhas the opposite function of lightenable. It blanks the screen. It alsoprovides blinking characters, invisi-ble retrace and "end of line" blank-ing (which will be explained later).

• Highlight output. Characters of twointensities are possible because of thisoutput.

• Horizontal Retrace output. Rastertiming is generated internally. Thisoutput synchronizes the video moni-tor's horizontal oscillator with the8275.

• Vertical Retrace output. This outputsynchronizes the monitor's vertical

NumberIC1

Type

8275

+5 V

40

GND20

-5 V

+12 V

IC2

8212

24

12

IC3

74LS165

16

8

IC4

74169

16

8

IC5

7404

14

7

IC6

7400

14

7

IC7

7486

14

7

IC8

7402

14

7

IC9

7432

14

7

IC10

7416

14

7

IC11

7408

14

7

IC12

7414

14

7

IC13

74174

16

8

IC14

74157

16

8

IC15

74157

16

8

IC16

74157

16

8

IC17

7400

14

7

IC18

74126

14

7

IC19

2102

10

9

IC20

2102

10

9

IC21

2102

10

9

IC22

2102

10

9

IC23

2102

10

9

IC24

2102

10

9

IC25

2102

10

9

IC26

2102

10

9

IC27

2708

24

12

21

19

IC28

7400

14

7

IC29

74426

14

7

IC30

74426

14

7

IC31

74426

14

7

IC32

74426

14

7

IC33

7405

14

7

IC34

7421

14

7

IC35

7486

14

7

IC36

74139

16

8

Table 1: Power pin assignments for the circuits in figures 3 thru 6.

oscillator with the 8275. The durationof both kinds of retrace is program-mable.

• Light Pen input. A positive edge onthis input latches the present row andcolumn positions. One possible lightpen circuit is shown in figure 3. Thelight pen is a phototransistor. It isconnected to a differentiator (theresistor/capacitor network) and a com-parator. The comparator detects apositive spike caused by the electronbeam intensifying the phosphor onthe screen. A Schmitt gate gives thevideo controller a clean, sharp edge.The controller now has the row andText continued on page 139

May 1979 © BYTE Publications Inc 135

Figure 3: A possible configuration of the 8275 to produce a composite video signal. The number of dots which make up acharacter is determined by the dot clock.

136 May 1979 © BYTE Publications Inc

NEW FROMMOUNTAIN HARDWARE.

THE APPLE CLOCK.

NEW UTILITY FORYOUR COMPUTER.

Until now, there hasn'tbeen a Real-Time Clockfor the Apple II*. TheApple Clock from Moun-tain Hardware keeps timeand date in 1 mS incrementsfor over one year. On-boardbattery backup keeps the clockrunning in the event of poweroutage. Software controlled interrupts aregenerated by the clock. That means you cancall up schedules, time events, date printouts.. .all in real time on a programmed schedule.EASY TO USE.

The Apple Clock is easily accessed fromBASIC using routines carried in on-boardROM. With it, you can read time andprogram time-dependent functions forvirtually any interval. From milliseconds todays, months or a year.PLUG IN AND GO.

Plug the Apple Clock into a peripheral sloton your Apple II and you're ready to go.

FEATURES.

• Time and date in 1mSincrements for periodsas long as one year.• Software for calendarand clock routines, aswell as an event timerare contained on on-board ROM.Program interrupts.• Crystal controlled accuracyof ±.001%.• On-board battery backup keeps your clockin operation even during power outage.

REAL TIME AT THE RIGHT PRICE.

At $199 assembled and tested, it's the clockyour Apple has been waiting for. And, it'savailable now through your Apple dealer.Drop in for a demonstration. Or return thecoupon below.

A COMPLETE LINE.

Mountain Hardware also offers a completeline of peripheral products for many finecomputers.

JQ Mountain Hardware, Inc.

300 Harvey West Blvd., Santa Cruz, CA 95060(408) 429-8600

Sounds great.

Send me everything I'll need to know about the Apple Clock.

I've got a computer. Send me information.

Address.

. State.

— Zip_

"Apple II is a trademark of Apple Computer, Inc.

Circle 256 on inquiry card.

BYTE May 1979 137

00000000

Figure 4: Adding the character generator circuitry to the 8275 video controller. This particular configuration has 128 prede-fined characters and 128 programmable characters.

138 May 1979 © BYTE Publications In

Text continued from page 135:

column positions latched in its in-ternal registers.

It is good to know that the two GeneralPurpose, the Reverse Video, and the High-light outputs all operate identically. Theirfunctions can be changed at the will ofthe designer. Any three of the outputscould be used to represent the primarycolors. Then either additional chromacircuitry or direct connection to the elec-tron guns' amplifiers could turn the outputbits into actual colors. This feature couldbe very important to experimenters whomay someday upgrade their systems tohave color video.

Video Display Circuitry

Since this article is primarily concernedwith the 8275's operation, discussion ofthe circuit will be limited mostly to thecomposite video output circuitry. Thepurpose of this section is to further acquaintthe reader with the 8275. Figure 3 showsone configuration for producing a compositevideo signal. A dot clock is divided down toprovide the character clock. If the dot clockis divided by n, there are exactly n dots percharacter horizontally. The character clockis connected to the 8275, but it must alsoconnect to two other points. It controls theloading of the shift register, and it clocksseveral bits through flip flops. The shiftregister turns the parallel dot data fromthe character generator to serial form forthe video display. The six bits [ReverseVideo, Light Enable, Video Suppress, High-light, Horizontal Retrace and VerticalRetrace) are delayed by one clock by passingthem through the flip flops to synchronizethem with the slow speed of the charactergenerator. They are then gated with thecharacter data through some logic gates toproduce the composite video output signal.

My character generator (figure 4) has 128fixed characters and 128 programmablecharacters. The programmable charactersare interfaced to the processor bus in sucha way that the processor has priority ofaccess over the 8275. The video controllerselects one of the 128 character groups witha General Purpose output. Note that up to512 characters are possible if both GeneralPurpose outputs are used. The simplestcharacter generator would have no inter-face to the processor bus and would consistof a single character generator.

Figure 3 gives the reader an idea of thecomplexity of the output circuit. Each boxrepresents one integrated circuit (if a simplecharacter generator is assumed), exceptfor the six flip flops, which are all contained

■acs

ici

8275

BIDIRECTIONALDATA i

BUS '

74426 (TYPICAL OF 16)

icii]

' ! ^O 0,7

O DIE

O DI5

O DI4

O DI3

O DI2

O Dll

ODIO

<n D07

■a D06

■a D05

■a D04

a D03

■a D02

■aooi

aooo

■O DIRECT MEMORY ACCESS REQUEST

■QDIRECT MEMORY ACCESS ACKNOWLEDGE

■OINTERRUPT

Figure 5: This circuitry will interface the video controller to the computer'sbus.

in a single chip. A total of about a dozenchips is required to realize the output logic.With a crystal and some resistors and capac-itors, the output circuit is complete.

Screen Format

The screen format of the 8275 is pro-grammer definable. Characters can bedisplayed either single or double spaced. The

May 1979 © BYTE Publications Inc 139

+ 5V

Figure 6: The addressdecoding circuitry is addedto the character generatorcircuitry of figure 4 tocomplete the videocontroller.

riOK IC35

! 74 86

AI5 0-

!E>

+ 5V

$ IC35

ilOK 7486

AI4 O-

3n>i

•IOK

IC3574 86

AI3D-

DE^

i

-^

,0K 7486

AIZO-

iE>

cs

MCS_ROMCS

DIRECT MEMORYACCESS CS

height of each character is programmablefrom 1 to 16 raster scan lines. The numberof characters in a row is programmable from1 to 80. The number of rows from top tobottom is programmable from 1 to 64.Unfortunately, the monitor's timing is notinfinitely flexible. Some screen formatswould be impossible for a monitor tosynchronize with. For example, a screenformat of two characters horizontally bytwo characters vertically would not bepossible. A horizontal or vertical retracesignal would come from the 8275 longbefore the monitor's beam was at the end ofthe screen. Another limitation may be thebandwidth of the monitor. If the monitorhas a low bandwidth, the characters maybecome smeared and difficult to read ifthere are too many characters in a hori-zontal row. The parameters also depend onthe character clock going into the 8275.

In spite of all this confusion, there is arange of screen and character formats whichis acceptable to the monitor, and one ofthem must be chosen before data can bedisplayed.

The screen format parameters are loadedinto the 8275 after power-up, but can alsobe changed dynamically. This means thatdifferent screen and character formats canbe used to represent different kinds ofinformation. For example, a tightly packedscreen of 4 K characters might be used forgraphics, a medium packed screen of 2 Kto 3 K characters might display text, and aloosely packed 1 K character screen mightbe a table of contents or other directivedata. The user could tell at a glance whatkind of information he is looking at just bythe screen format. Only six bytes are required

to reprogram the 8275's screen and characterformat.

Controller Circuitry

Building a direct memory access circuitrequires special care. The device is masterof the bus at one moment, a normal periph-eral the next; a situation which requiressome signal reversing. Furthermore, when itis the bus master, it can do some odd thingsto the timing.

The Intel 8257 direct memory accesscontroller will set up a memory addressand do a normal memory read by makingMEMRD low. Then, the I/O write (TOWR)will go low to strobe the data to the I/Odevice (the video controller in this case).The signal DACK informs the video control-ler that it alone is intended to receive thedata. If the designer is not careful, otherI/O devices may be accidentally addressed.Each direct memory access cycle puts a newaddress on the bus. The cycling of addressesand the strobing of IOWR will eventuallyaccess all I/O devices unless disabling of I/Odevices is designed into the system. The jobis more complex when dealing with S-100signals.

My direct memory access controller hasevolved its way out of S-100 compatibility.Stubbornly using Intel's direct memoryaccess controller meant altering boards andthe bus. Some nonstandard things needed tobe done. Indeed, my devices are not evenI/O mapped as the 8275 assumes. Ratherthan raking over the details of my circuit, Irecommend the reader check on other directmemory access devices, such as the ZilogZ-80 DM-8. It has separate cycles for reading

140 May 1979 © BYTE Publications Inc

$-100 Memory for peanuts,Artec has slashed its prices!

32K for $620,16K for$315-Assembled.

No matter what your needs, Artec has amemory board for you. You can start with 8Kof Tl 4044 memory on a 5.3" x 10" card andwork your way up to a full 32K in 8Kincrements. The access time is only 250ns.The memory is addressable in 4K blocksand is perfect for S100 and battery aug-mented systems. The Artec 32K Expand-able Memory has four regulator positions,bank select and plenty of room for allnecessary support hardware. It uses lessthan 1 amp per 8K of memory (3.9 for 32K),and only +8 volts.

LMWIWll

IIIIIIIIIIIINIIIIIHII

BOARD

KIT

ASSEMBLED

8K Memory

$150

$175

16K Memory

$265

$315

24K Memory

$400

$475

32K Memory

$520

$620

Add-ons: $135-Chips alone: $7.00

Circle 13 on inquiry card.

GP100—$20.00

Maximum designversatility along withstandard addressdecoding and buffer-ing for S100 sys-tems. Room for 32uncommitted 16 pinIC's, 5 bus buffer &decoding chips, 1DIP address selectswitch, a 5 volt reg-ulator and more. Highquality FR4 epoxy.All holes platedthrough. Reflowedsolder circuitry.

WW100—$20.00

A wire wrap bread-board, similar to theGP100. Allows wirewrap of all sizes ofsockets in any sizesof sockets in any com-bination. An extraregulator position for multiple voltage appli-cations. Contact finger pads arrangedfor easy pin insertion.

Buffering Kit—$12.65

All the necessary components to bootstrapany Artec board into your system. BufferingI/O, DIP switch heat sinks and every supportchip you need.

TO ORDER: Use your Mastercharge orBankAmericard. Or just send along a moneyorder. We can accept only U.S. currency.Please include $3 handling on all orders.California residents add 6.0% sales tax.

FOR MORE INFORMATION: For more in-formation about these or any of Artec's com-plete line of circuit boards or for either indus-trial or personal use, please call or write. Acatalog will gladly be sent.

Please send me: (Include Quantity) 32K GP100 WW100

□ I've enclosed a money order.

□ Mastercharge No.

□ BankAmericard No.

Name

Exp. Date

Exp. Date

AddressCity

.State .

-Zip-

Calit. Res.add 6% Sa/es Tax $3.00 Handling End.

/4RTCCeLGCTROMIC9,IMC.

605 Old County Rd.,San Carlos, CA 94070(415) 592-2740

BYTE May 1979 141

MEMORY MAP OF VIDEO DATA

N BY M VIDEO SCREEN

(a)

TOP DIRECT -*

MEMORY ACCESSADDRESS

(b)

BOTTOM •

DIRECT MEMORYACCESS ADDRESS

N+l

2N

TOP LINEOF SCREEN

SECONDILINE OFSCREEN

(\a

(C)

BEFORESCROLL

"\J

-CURRENTPOINTER

(d) AFTER

' ' SCROLL

^xJ

-NEWPOINTER

Figure 7: An example of scrolling and using direct memory access. The screen(7a) resides in processor memory (figure 7b). Scrolling takes place when thecurrent direct memory access pointer is moved as shown in figures 7c and 7d.

memory and writing to a peripheral. It alsoallows memory mapped I/O. Of the twodirect memory access devices mentioned, italone can be considered S-100 compatible.

Direct Memory Access

Characters which are to be displayed on avideo screen are transferred by direct memo-ry accessing from processor memory. Thedirect memory access process also retrievesthe special attributes such as reverse video,highlight, underline, blink, and two generalpurpose signals. A series of direct memoryaccess transfers occur for each character lineto be displayed. After theentire screen hasbeen written, vertical retrace occurs, and thedirect memory access is repeated. The micro-

processor must wait while the transfer takesplace. This may interfere with as much as25 percent of the processor's time. Thisfigure does not take "cycle stealing" intoaccount. (Cycle stealing is a condition wherethe processor allows the direct memoryaccess controller to take control of thesystem bus while the processor is doinginternal work.) The processor is not usingthe bus anyway, so the direct memory accesscontroller steals that clock cycle or cycles.For an 8080A, the timing diagrams seem toindicate that no cycle stealing takes place.The processor-direct memory access hand-shaking is too slow. This will be true foreither controller mentioned earlier. My25 percent figure assumes a full 2 K screenwith no cycle stealing, and using the Intelcontroller at a 2 MHz clock frequency. Thescreen is refreshed at a rate of 60 Hz.

A strong argument against the 8275 isthat it cuts into processor time while merelydisplaying a static picture. Other terminalsfor microprocessors, such as those withdedicated video memory, can operatewithout disrupting processor operation atall. The only time the processor uses up withrespect to video is the time it takes tochange the screen.

Opponents of the 8275 point out thedirect memory access problem as its greatestweakness. But using direct memory accessalso has its advantages. The reader can weighthe advantages of the 8275 against thisoverhead disadvantage. I find that, formy purposes, the flexibility and displaypower offered is worth the loss of processorthroughput. Furthermore, as will be seen,the overhead can be reduced.

With direct memory access capabilities,the processor memory is shared with videomemory but without timing conflicts.Dedicated memory video terminals, on theother hand, give the processor priority inmemory operations. If the terminal iswriting characters when the processor takesover its memory, the screen becomes unde-fined, and a "scratch" mark results. Scrolling,page changing and other operations whichrequire around 2,000 reads and 2,000 writes(for a typical 2 K screen) can producetemporary havoc on the screen. A dynami-cally changing screen can be annoying tolook at. Video memory for the 8275 can beread from or written into at any time with-out scratch marks because only one deviceoperates at a time — either the controller orthe processor.

The direct memory access controller isprogrammable to work on any section ofmemory. It can, in fact, be programmed tochange source locations at any time. Thismeans that page changes of the video screen

142 May 1979 © BYTE Publications Inc

can be made by changing the accessedaddress; a task which requires half a dozenwrites. This compares with 2,000 reads and2,000 writes of a block transfer in dedicatedmemory terminals.

With direct memory access, scrolling isautomatic. The interrupt output of the 8275is used to tell the processor that the bottomof the screen has been reached. At thistime the processor can effect a scroll bychanging the current pointer in the con-troller (figure 7). Without any actual charac-ter manipulation, the characters on thescreen are made to move up by one row.The top row swings around to the bottom.This new bottom row can then be erased.The same locations in memory are usedbefore and after the scroll. Both scrollingup and scrolling down are possible.

A different kind of scrolling is alsopossible. In this method, the addressedmemory space actually does change. If theprogrammer is dealing with 10 K bytes oftext, it could be scrolled one line at-a timeby moving the direct memory access spacedown by 80 (for an 80 character per linescreen format — see figure 8). The currentdirect memory access pointer is always atthe top of the address space. This is justanother form of page changing with most of

fX/l

BEGINNING OF-

1st LINEBEGINNING OF-2nd LINE

}r\^

}r\J

(a) (bl

BEFORE SCROLL AFTER SCROLL

the screen being common to both pages.

The 8275 is an intelligent controller.As it accesses the data, it examines theincoming characters for special commandbytes. When the most significant bit is aone, the controller knows this is a specialcommand. One command outputs oneof the 11 built-in characters. Another specialcommand sets or resets six bits corre-sponding to reverse video, underline, blink,

Figure 8: A simplifiedmemory map showingscrolling by moving thepointers to different mem-ory areas which are ac-cessed by the videocontroller.

<

(J

"O

c

CDCD

CCDCO

oO

c

CD

V

K—1

\

E3

k

\

Q.

PERSONAL COMPUTING SOFTWARE FOR APPLE®, PET®, AND TRS-80®

ou

r-

commG mnv i*t

AT ALL PARTICIPATING

ComputerLand

STORES.

Circle 75 on inquiry card.

May 1979 © BYTE Publications Inc 143

INTRODUCING — THE NEW

DUAL DRIVE MINIFLOPPY FOR PET!

/_o

NOW WITHOPTIONAL 400K(DUAL DENSITY)

CUSTOMER ORDERSARE NOW BEINGSHIPPED WITHINTEN DAYS!!!

DKH641 IS A PRODUCT OF COMPUTHINK.

• DUAL MINI FLOPPY DRIVE WITH 100K PER DISK SIDE FOR TOTAL 200K ON LINf.

• COMMERCIAL LOADING SPEEDS ' 8K LOADS IN 2.6 SECONDS COMPLETE.

• DOS REORGANIZES SPACE AFTER SAVE OR ERASE FOR EFFICIENT STORAGE.

• DISKMON ADDS OVER 20 COMMANDS TO BASIC INCLUDING DISK DATA FILES.

• DISKMON COMMANDS SUPPORT COMMERCIAL PRINTER OFF PARALLEL PORTSUCH AS CENTRONICS LINE OF PRINTERS (AVAILABLE FROM NEECO)

■ FULL DISK SOFTWARE SUPPORT ' FORTRAN & PLM COMPILERS '

• 90 DAY MANUFACTURER'S WARRANTY ON HARDWARE * READY TO USE ONDELIVERY. FULL MANUAL AND UTILITY DISKETTE INCLUDED.

• CALL OR WRITE FOR COMPLETE INFORMATION ON THE "DISKDRIVER".

• THIS SYSTEM REQUIRES EXPANDAPET MEMORY (MINIMUM 16K)

DKH642 -DUAL DRIVE SYSTEM, COMPLETE WITH DISKMON $1295.00

ASM789D — PET ASSEMBLER ON DISKETTE WITH MANUAL $49.95

•LNK456 -AUTOLINK LINKING LOADER ON DISKETTE WITH MANUAL $49.95

• PLM400 - COMPILER ON DISKETTE (AVAILABLE APRIL/MAY) $49.95

FOR300 -FORTRAN COMPILER ON DISKETTE (AVAILABLE APRIL/MAY)... $69.95

DKL067 - DISKMON ASSEMBLER LISTING/DOS $19.95

DATA100 - COMPLETE DATA BASE SYSTEM (PRICE APPROXIMATE) $400.00

BASCOMP— BASIC COMPILER ON DISKETTE (AVAILABLE MAY)

NGP200 — 20 GAMES ON DISKETTES $49.95

BKGAM - BACKGAMMON ON DISKETTE $24.95

MICRO - MICROCHESS ON DISKETTE $24.95

CEN779(1) — CENTRONICS 779-1, ROLL FEED DOT MATRIX

COMMERCIAL PRINTER $1245.00

CEN779(2) — SAME AS 779(1) BUT WITH TRACTOR FEED — PLUG INTO PET .... $1345.00AX10M -ELECTROSTATIC5.5INCHPRINTERWITHALLOFPET'SGRAPHICS $495.00

PET COMPUTER

NEECONOW OFFERSA FULL SIXMONTHWARRANTYON ALLPETS! — ANADDITIONAL3 MONTHS!

WHY NOT BUY FROM THE BEST?

8K PET $795 * NEECO IS A CUSTOMER ORIENTED, FULL SERVICE COMPANY.

—__' rh* oork* PETS RECEIVE 48 HR.'BURNIN' BY NEECO BEFORE SHIPMENT.

24K PET(8+16K) $1220* full customer service and full product support.

32KPET(8 + 24K) $1320

byCOMMODORE

ALL PRICES INCLUDE 48 HR. PRE-

SHIPMENT TESTING &

3 FREE CASSETTE PROGRAMS

PRICES SHOWN ABOVE IN-CLUDE EXPANDAPET. PMEMEMORIES WILL HAVE HIGHERPRICING.

* 48 HR MAXIMUM 'TURNAROUND' ON PET WARRANTYSERVICE ON PETS PURCHASED FROM NEECO.

* FULL PRE-PURCHASE INFO AVAILABLE FROM OUR PET INFOPACKAGE — WE ANSWER CUSTOMER QUESTIONS!

* AUTOMATIC SOFTWARE/HARDWARE UPDATES VIA OUR PETOWNERS MAILING LIST — CALL/WRITE TO BE LISTED!

* COMMERCIAL QUANTITIES AVAILABLE.

* WE ALSO MARKET REPLACEMENT RAMS & ROMS, ETC.

* OFF THE SHELF DELIVERIES (NO DEPOSIT REQUIRED).

SCHOOL INQUIRIES INVITED!

INTERNAL MEMORY I IFULLSIZED TYPEWRITEREXPANSION FOR PETSI KEYBOARD FOR PET!

EXPANDAPET1

DEALER INQUIRIESINVITED

INTERNAL MEMORYEXPANSION UNIT

•MOUNTS EASILY INSIDE YOUR PET•EASY TO INSTALL (15 MINUTES)•NO DEGRADATION OF PET SYSTEM'USES LOW POWER DYNAMIC RAMS•90 DAY PART&LABOR, 1 YR-RAMS.•30 DAY MONEY BACK GUARANTEE.•MOUNTING SLOTS FOR 4 BOARDS.•CALL/WRITE FOR ADDITIONAL INFO'DEALER INQUIRES INVITED.

EXPANDAPET PRICES

16K( + 8KPET = 24K) $42524K( + 8KPET = 32K) $52532K ( + 8KPET = 40K) $615

OPTIONAL PLUG-IN BOARDS 32K UNIT ALLOWS'8K OF4K EPROM DAUGHTER BOARD ASSEMBLY LANGUAGEUSING 2716 EPROMS .... $50 SUBROUTINES ACCESSED

VIA THE USR COMMAND.

EXPANDAPET IS A PRODUCT OF COMPUTHINK.

•COMMERCIAL QUALITY KEYBOARD WITH METAL ENCLOSURE.•BASIC TYPEWRITER DESIGN FOR TOUCHTYPISTS.•SINGLE KEY FUNCTIONS FOR ALL CURSOR CONTROLS.SHIFT/RUN, INSERT, CLEAR SCREEN/HOME CURSOR, MORE.•FUNCTIONS SIMULTANEOUSLY WITH PET'S KEYBOARD.•PLUGS DIRECTLY INTO PET'S LOGIC BOARD.•DOES NOT USE USER OR IEEE-488 PORTS.'NPK-101 IS FULLY TESTED & READY TO USE.'ATTACHES DIRECTLY TO FRONT OF PET'S FRAME.•CAN BE USED AS A REMOTE TERMINAL (SPECIAL ORDER).'30 DAYS TRIAL PERIOD ' 90 DAY WARRANTY.•CALL OR WRITE FOR FULL SPECS-INITIAL QTY LIMITED.

NOWAVAILABLE!

$139.95

NPK-101 IS A PRODUCT OF NEW ENGLAND ELECTRONICS.

WECANNOTLISTALLOF OUR SOFTWARE AND HARDWARE PRODUCTSCALLOR WRITE FOR OUR*FREE*SOFTWARE/HARDWARE DIRECTORY

| DOMESTIC & OVERSEAS DEALER INQUIRIES INVITED ON * MEMORY * KEYBOARD * FLOPPY

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

679 HIGHLAND AVE., NEEDHAM, MASS. 02194MON.-FRI. 9:30-5:30

(617)449-1760

MASTER CHARGEA/ISA ACCEPTEDTELEX 951021

144

liYTl May 1 CJ7'J

Circle 281 on inquiry card.

NEECO

PET 2001 — 32K

PROUDLY ANNOUNCES THE NEWEST

PET MICROCOMPUTERS BY COMMODORE!

The PET™ is now a truly sophisticated

Business System with theannouncement of these Peripherals.

Tlit; PET'" incorporated WW the flonjjy Disk and Puniermates an ideal business system tw most professionaluna speoateed Irakis meticma law denial reseat*

■ Dj:(■■■! ■ nn [i Dlmak I'H pnrlif,] BflUCalB 'i I n-jgy COH-

Wfvaltoo.etc iM:i'f7T"-[-, i. *3j«amasa

rrr.j'i:ir]t:rlT-"itt.i!)'. <:■■!.>...■". I■'. — ','itiofttoalltovesolBusiness prev ..i-J. ati..c"j! ■■ '.,.'." •.■ii,p'renimany limes more expensive Tho PET™ Business, •:•■'• <r-;v»> uHhe mosi cosl HhDoflt business tools

li.::iay II offers ;i wide ranut! cut appicauntislfoin leggingitSliaiegyinma-O'CO'poialions!^ . rgans and inventory control of smalt businesses Herearc |Usl a low ot the cost-saving uses m the corporaiiGn,professional office 01 sn*;ill business slock control,iv.ir.-nas:na forecasting r run nuta cluing costing customerrecords mating fets etc TnePET'" FloppyD.SfcandPrinter, a cuntpai-lile bun riess system at a reasonableprice — Take a closer look at these Peripherals

.»...» .# i..j.j..i,.i

LARGE TYPEWRITER KEYBOARDS NOW AVAILABLE!

PRODUCT

DESCRIPTION

AVAILABILITY

PET 2001—4K* 4KRAM

PET 2001 —8K' 8KRAM

PET 2001 —16Klarge keys 16K RAMPET 2001 —32KLARGE keys 32K RAMPET 2041 SINGLE FLOPPY

PET 2022 PRINTER TRACTOR/ROLLPET 2023 ROLL FEED

PET 2040 DUAL FLOPPY

8 K RETROFIT ROM KIT

' THESE UNITS INCLUDE THE C2N CASSETTE AND SMALLKEYBOARD UNITS DO NOT INCLUDE A BUILT IN CASSETTE-

SI

595

79599519559599585009550

IMMIMMIMMIMMJULY-JULY-JULY-IMMIMM

KEYBOARD. THE-ORDER C2N

EDIATE

EDIATE

EDIATE

EDIATE

AUGUST

AUGUST

AUGUST

EDIATE

EDIATE

FULL SIZE

NEECO IS NOW ACCEPTING $25 DEPOSITS ON THE SYSTEM COMPONENTS OF YOUR CHOICE! PURCHASE ORDERS ARE ACCEPTED INLIEU OF DEPOSITS. NEECO IS A FULL COSTOMER SERVICE ORIENTEDCOMPANY. PLEASE CALL FOR ADDITIONAL INFORMATION

THE NEW ^ commodore PET PERIPHERALS!

c*

i

2040

2022

Dual Drive Floppy Disk Tractor Feed Printer

The Dual Drive Floppy is the latest in Disk technologywith extremely large storage capability and excellent filemanagement. As the Commodore disk is an "Intelligent"peripheral, it uses none of the RAM (user) memory of thePET™ The Floppy Disk operating system used with thePET'M computer enables a program to read or write datain the background while simultaneously transferring dataover the IEEE to the PET'M The Floppy Disk is a reliablelow cost unit, and is convenient for high speed datatransfer. Due to the latest technological advancesincorporated in this disk, a total of 360K bytes are avail-able in the two standard SW disks, without the problemsof double tracking or double density. This is achieved bythe use of two microprocessors and fifteen memory I.C.sbuilt into the disk unit. Only two connections are neces-sary — an A/C cord and PET'" interface cord.

IMMEDIATE DELIVERY

The Tractor Feed Printer is a high specification printerthat can print onto paper (multiple copies) all the PET'"characters — letters (upper and lower case), numbersand graphics available in the PET™. The tractor feedcapability has the advantage of accepting mailing labels,using standard preprinted forms (customized), chequeprinting for salaries, payables, etc. Again, the only con-nections required are an A/C cord and PET'" connectingcord- The PET"' is programmable, allowing the printer toformal print for: width, dec mal position, leading andtrailing zero's, left margin justified, lines per page, etc.It accepts QW paper giving up to four copies. Bidirec-tional printing enables increased speed of printing.

NEW ENGLAND AREA SUB-DEALERSHIP INQUIRIES INVITED!

NEWIBMSELECTRICII

TYPEWRITERS FOR PET!(BRAND NEW IBM II)

PLUG COMPATIBLE VIA USERPORT! WORD PROCESSINGSOFTWARE AVAILABLEFROM NEECO. CALL FORINFO! IBM FOR PET$1995.

$9995

C2N SECOND CASSETTE

NEECO NOW OFFERS A FULL SIX MONTH WARRANTY ON ALL PETS SOLD BY NEECO! FEEL FREE TO CALL US FOR THELATEST INFORMATION ON THE NEW PET PERIPHERALS. REMEMBER, A $25 DEPOSIT (OR A PURCHASE ORDER) WILLBACKORDER AND HOLD ANY SYSTEM COMPONENT OF YOUR CHOICE!—WHY NOT BUY FROM THE BEST! —NEECO OF-FERS THE BEST IN CUSTOMER SERVICE! —NEECO OFFERS COMPLETE SOFTWARE (COMMERCIAL & CONSUMER) SUP-PORT!—MANY PACKAGES AVAILABLE! CALL FOR MORE INFO!—ARE YOU ON OUR MAILING LIST?

NEECO

NEW ENGLAND ELECTRONICS CO., INC.

679 HIGHLAND AVE., NEEDHAM, MASS. 02194MON.-FRI. 9:30-5:30

(617)449-1760

MASTER CHARGE/VISA ACCEPTEDTELEX 951021

Circle 282 on inquiry card.

BYTE May 1979

145

Figure 9: An example ofusing "invisible" specialcommands with the videocontroller. The outputshown in figure 9a is whatis desired. We wish tounderline the five letters inthe word "codes". Figure9b shows a memory mapwith the special codesinserted in the text. Theset underline bit com-mand will command thecontroller to underline alloutput until the bit isreset. The reset underlinebit command stops theunderlining procedure. Ifthe codes were not Invis-ible, the output wouldprobably look like figure9c. Since the special com-mand codes cannot beconverted into printableASCII characters, spacesare output on the screen.Note the extended under-line. This occurs becausethe reset underline bitcommand is printed beforethe bit is actually reset.This visible code mode isnot advisable for highquality output.

COMMAND CODES FOR VIDEOfa I

Ibl

SUB

-SPACE CHARACTERSET UNDERLINE BIT

RESET UNDERLINE BIT

SPACE CHARACTER

2 SPACES

FOR VIDEO

2 SPACES

NOTE EXTENDED

UNDERLINE

Ic)

highlight, and general purpose.

In order to underline five consecutivecharacters on the screen as in figure 9a forexample, the five characters must be pre-ceded by a special command which setsthe underline bit (figure 9b). Every characterfollowing the command is underlined for theremainder of the screen unless anotherspecial command resets the underline bit.Such a command would follow the 5 charac-ter word to terminate the underline. Note infigure 9a that the special code does notoccupy a character position on the screen.This happens with the 8275 even though thespecial codes are accessed just like thedisplayed data. The codes are "invisible."The 8275 can be programmed for eithervisible or invisible special command codes.Figure 9c is an example of a visible com-mand code.

A different kind of command is end ofline. When the 8275 reads this one bytecommand, it blanks the remainder of thecurrent line by enabling the video suppressoutput. Thus, after a scroll, the new bottomline need not be erased but only headed byan end of line command. For an 80 charac-ter per line format, one write effectivelyclears the bottom line instead of 80 writes.

The end of screen command is similar toend of line except that the remainder of thescreen is blanked instead of just one line.Thus, a clear screen operation consists ofone write instead of 2,000. The end ofscreen command would be placed at the toplefthand corner of the screen.

It has been shown that emulating a simplescrolling terminal is easy with the directmemory access controller and the 8275video controller. When using a scrollingterminal, one notices the large amount ofunused screen space that frequently exists.If the 8275 controller were to access 2,000characters when, say, only 200 characterswere being displayed, the 8275 would bewastefully cutting into processor time. Thestop direct memory access commandsanswer this problem. A short line of print isfollowed by an end of line, stop directmemory access command, which blanks theremainder of the line and discontinuesmemory transfer until it is needed for thenext line. Variable line lengths are stored inmemory, each followed by end of line, stopdirect memory access. The end of line, stopdirect memory access command allows textto be both stored in compact form and dis-played easily. Both kinds of scrolling dis-cussed as well as page changing are simplyachieved. The only difference is that variableline lengths are involved.

The last line of nonblank characters canbe followed by end of screen, stop directmemory access, which blanks all subsequentlines and terminates the transfer operation.The stop direct memory access commandsreduce overhead considerably. The processorexperiences not 25 percent delay, but fre-quently as low as 0 to 10 percent delay dueto direct memory access operation. In thisway, the direct memory access overheadargument is no longer as strong. Further-more, much processor time is actually savedby the memory access — page changes, scrol-ling, and line and screen blanking are allfaster, requiring fewer reads and writes.They take less software than most dedicatedmemory terminals. Also, visual continuity ismaintained because no scratches ever appearon the screen during reads and writes.

Interesting results can be obtained bychanging some of the device parameters. Ifthe direct memory access controller isprogrammed to transfer 4 K bytes of mem-ory, but the video controller is only pro-grammed for a 2 K byte screen, the followingresults occur.

The first scan displays the first 2 K bytesof addressed memory. The vertical retraceoccurs and the screen is redrawn. This time,the second 2 K bytes of addressed memoryis displayed. Upon the third frame, the first

146 May 1979 © BYTE Publications Inc

BYTE May 1979 147

2 K bytes is once again displayed. A doubleexposure of the two images effectivelyoccurs. Since each frame is 1/60 second, therefresh of each image is 1/30 second. Thehuman eye senses flicker below approxi-mately 24 frames per second, so no flickeris noticeable. If each frame contained agraph on identical axes, the double exposurewould be the superposition of the twographs. The graphs could be plotted byloading programmable characters into thecharacter generator and displaying them inthe proper positions on the screen.

Double exposures would double thememory requirement but have no effecton the data transfer overhead. The videodisplay is still refreshed at the same ratebut with alternating images. Triple exposurescan also be made. The addressed memorysize is three times the screen size. Someflicker would exist since each image isrefreshed every 1/20 second.

Superposition of screens cannot be donewith ordinary dedicated memory systems.Bit mapped displays can, however, super-impose any number of images withoutexperiencing screen flicker. This can bedone by ORing the images together intothe same bit map. If involved graphicsare intended for a video terminal, the bitmap displays are preferred to an 8275 baseddisplay.

Interlacing

Ordinary television sets andmonitors willinterlace the picture if the incoming signalhas interlace timing. An interlaced picturehas twice as much vertical resolution as anoninterlaced picture. For ordinary televi-sion, there are 525 scan lines in an interlacedpicture but only 262 lines in a noninterlacedpicture. Like so many video terminals, the8275 unfortunately does not provide inter-lace timing.

Cost

This topic is a bit unpleasant to theaverage hobbyist. As of midMarch, 1978, the8275 was a $100 integrated circuit. If thisdevice is like many others, its price coulddrop significantly before too long. Thedirect memory access controller is presentlyabout $28 (it has two spare channels leftover for the user's floppy disk and digitalcassette too). A character generator runs for$8 to $18. My 2 board system was under$225. All things considered, this is notvery expensive when one thinks about theprice of terminals with half the featuresof this one.

A smart way to build this circuit (or

anything else that uses expensive com-ponents) is to construct the boards first,begin testing the transistor-transistor logic,and last of all buy the 8275. This way, yougive the price a chance to come down.

Conclusions

An 8275 based terminal offers the user alarge number of features. The useful lifetimeof such a terminal is long because of itsflexibility. It can bend to meet a widevariety of requirements. Features which arenot immediately taken advantage of arealways available at a later time.

Features include outputs for reversevideo, underlining, blinking, highlighting andgeneral purposes (user defined). A light pencan be used and a cursor is provided. 11built-in characters are a mixed blessingbecause of the work involved in decodingthem. The character height (line count), thescreen format, the retrace timing, the directmemory access burst timing, and the type ofcursor to be displayed are programmable.

Upgrading the system is easy because ofits programmability. Hence, color can beadded without major complications. Thecontroller easily becomes a dual controllerfor two video monitors.

More and more "minimal systems" thatare not so minimal in their power are cominginto being. Greater need is arising for a videointerface that is small. 10 chip computerswith video are possible, and larger singleboard computers promise great performancefor their size when they use the 8275. Theprice paid for all the features of the 8275 isin direct memory access overhead. Theprocessor is halted for a portion of the timewhile the screen is refreshed. The end ofline, stop direct memory access and end ofscreen, stop direct memory access commandsreduce this overhead, dependent on howfull the screen is. The double space modecuts the overhead in half.

Direct memory access also increases thespeed of some operations. Page changingand scrolling are two examples that takealmost no processor time. To the user,they appear to be instantaneous operations.Visual continuity is maintained while theprocessor works in video memory. None ofthe "scratch" marks characteristic of dedi-cated memory terminals appear.

Feature for feature, terminals using the8275 surpass dedicated memory terminals.In text environments with only light graphicsrequirements, its speed and special attributesmake it more attractive than bit-mappedterminals. For many users, a video terminalbased on the 8275 video display controlleris the optimum choice."

148 May 1979 © BYTE Publications Inc

THE DIAGNOSIS:

MEDICAL OFFICE MALAISE

Between insuranceforms, Medicare andMedicaid forms, bills, andpatient records, the typicalmedical office today isswamped with paperwork.If the sheer volume isn'tenough of a problem, it isalso essential that all this be

done with speed andaccuracy. It has beenestimated that Doctors andoffice staff spend nearly aquarter of their timehandling paperwork. Untilnow, the only alternativeswere either hiring more per-sonnel or subcontracting

with an outside firm.Obviously, a medical database management systemhas great potential forsignificantly increasingoffice efficiency and freeingstaff for more valuableduties.

THE CURE:

MED2 FROM OHIO MICRO SYSTEMS

MED2 is a reliable,debugged program thatgenerates valuable adminis-trative reports, bills, agingaccount analysis, andinsurance forms. It is theresult of over a year ofdesign, testing, andretesting in colloborationwith medical offices. Itfeatures a large on-linecapacity and can beoperated by the existingoffice staff. MED2 issuitable for one personoffices or group practices.It adapts readily to GP's,specialists, dentists, andmedical laboratories.MED2 requires a Z80/8080microcomputer system thatsupports CP/M and it isavailable on Micropolis5.25 in. and IBM 3740 8 in.diskettes.

FREE USERS SEMINAR

WITH EVERY MED2 DISK

There is a lot to know

with microcomputers, but it is

about MED2 - more than can

specifically geared for dealers.

be explained in an ad or

MED2 provides an excellent

manual. To show you what

entry for dealers into the large

MED2 can do, how to use it,

new marketplace of medical

and why it is configured as it

offices. There is no question

is, OHIO MICRO SYSTEMS

that the need exists. Investing

makes an unprecedented offer

the time in the seminar will

- a FREE two day user's

open the doors to increased

seminar (lodging included)

hardware and system sales.

with every MED2 disk. We

The price of MED2 is

believe this is the best way for

$895. A deposit of $200, which

you to obtain a thorough

applies toward the purchase

working knowledge of MED2.

price, is required for

You get to see, question, and

registration in the seminar. If

evaluate MED2 with its

you decide to not purchase

designers. The seminar is

MED2 after the seminar, you

comprehensive and includes

owe no more. Contact OHIO

information on procedures in

MICRO SYSTEMS for

medical offices, customizing

seminar dates, registration,

MED2 for unique situations,

and further information.

technical aspects of MED2,

Phone (216) 678-5202 or write

and marketing strategies. The

to us at 500 South Depeyster,

seminar can be a complete

Kent, Ohio 44240.

course for an end-user familiar

OHIO MICRO SYSTEMS

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

Circle 284 on inquiry card.

BYTE May 1979 149

Smart Memory, Part 2

Randy C Smith

115 Crosby Ct #2

Walnut Creek CA 94598

In part 1 the principal processes of anassociative memory and processor weredescribed. These include:

• Selection — activating the desiredmemory words in parallel via theircontent (addressing by content).

• Alteration — updating all selectedwords in parallel, with multiwrite.

• Arbitration (Responder Resolution) —methods for reading content seriallyfrom potentially more than oneresponding word.

The second and concluding part of thisarticle reiterates these themes through theuse of successive black box logic diagrams.No attempt is made to specify exact devices(as in a schematic), since the idea is to

illustrate a general architecture. Once theconceptual components are understood (andthis is only one of many forms for associativememories) the personal computer enthusiastcan experiment with methods for furtherlogic reduction through the use of large scaleintegration circuits, addition of circuitryfor random access or multidimensionaladdressing, or even the application of morehardware processing power at each memorynode.

This concludes our content addressabledesign discussion. For information aboutREM, which is a 4 K byte associative mem-ory board for the S-100 bus, contact Semi-onics at 41 Tunnel Rd Berkeley CA 94705.

See figures following on pages 152 thru 760.

About theAuthor:

Randy Smith is em-ployed by SemionicsAssociates as the designengineer for the REMS-100 board and is thecoinventor of REM. Hispersonal interests in-clude artificial intelli-gence research, espec-ially language compre-hension.

Photo 2: Content addressable memory board for the S-100 bus. The 4 K byte memory board ismanufactured by Semionics Associates.

150 May 1979 © BYTE Publications Inc

SPINTERM

MEANS QUALITY IN REVERSE

Introducing Bidirectional Printing At Affordable Prices

FASTER THAN THE DEVIL!

Using bidirectional printing the Spinterm can print up to 55characters per second with the quality of a printing press. Infact, with more than 14 different optional printing "thim-bles," each with up to 128 characters, there is no end to itsprinting capabilities. In addition, during communications,there are six user selectable baud rates to 1200. Untouchable!

MULTI-FUNCTIONAL

Spinterm's many standard features include 10 or 12 pitchspacing (user selectable), normal and absolute tabs from1-136 (in either direction), adjustable line feed with sub-script and superscript capabilities and enough power toimprint the original and five copies.

Spinterm boasts an incredible graphing resolution of up to5760 plot points per square inch (120 horizontal — 48 verti-cal). Fantastic!

LONGER LIFE — QUIETER OPERATION

Having an MTFB of more than 2000 hours, the Spinterm willperform to the reliability you demand. The materials used inthe "thimble" and print hammerextend their life by 50%. The"thimble" alone provides normal element life of more than30 million impressions!

And when it comes to quiet, the Spinterm printers are -60dBwith the standard die-cast aluminum cover; 67dB or lesswithout cover — so they can be used in almost anyapplication. Unbelievable!

TOTAL ADAPTABILITY

Means compatibility. The Spinterm features five optionalinterfaces (RS232-C, standard). In addition, Spinterm's op-tions include Proportional Spacing — Tractor, Bottom and PinFeed — Nylon fabric or Multi-strike film ribbon cartridges,plus too many more to mention. Outstanding!

Now instead of a printer playing catch-up, the computersgotta pitch. See it!

For complete information about Spinterm printers see yourdealer or write: SPINTERM, Input Output Unlimited, 5922Kester Avenue, Van Nuys, CA 91411, (213) 997-7791.

Circle 1 75 on inquiry card.

Educational Sales Division: PO Box 8394, Ann Arbor, Ml 48107 • (313) 655-8514Export Sales Division: IOU Inc., Dept. IS, 5922 Kester Avenue, Van Nuys, CA 91411 • Telex/TWX 910 496 3497

ASSOCIATIVECELL I

ASSOCIATIVECELL 2

ASSOCIATIVECELL N

Note: The numbering offigures, photos and tablesis continued from part 1in April 1979 BYTE, page54.

ASSOCIATIVEWORD

MASK "-Ml, • • • , MNCOMPARAND; C I, • • • , CN

COMPARISON LOGIC FOR EXACT MATCH

Figure 4: Word parallel associative memory. Each cell of the word contains logic to compare itscontents with the respective bit of the comparand broadcast from the central processor. Thetype of comparison selected by the FNCODE is generally only exact match (=) for this archi-tecture. The result of the comparison for each bit is placed on the output line, and the separatebit results are combined by external logic into the result for the entire word. For exact match,the output lines need merely be ANDed. If the outputs are open collector, this can be imple-mented without a gate by tying the outputs together through an appropriate pull-up resistor.An N bit mask is applied to the associative cells so comparison on only part of the word (wherethe mask = I) is possible. The inset shows how the comparison logic box could be implementedfor exact match. The word read and write logic is omitted for simplicity.

152

Mav 1979 © BYT1 Publications Inc

Circle 96 on inquiry card.

BIT

BIT

CELL1

CELL2

L_.

^ND)-

N BIT

COMPARISON

LOGIC

M-f-

WORD OUTPUT

Figure 5: Word parallel associative memory with external word logic forcomparisons. By placing the comparison logic external to the memory word,the need for special memory cells Is removed, and the memory word may bean ordinary, available, and cheap random access type. The N bit comparisonlogic can be built in the form of available integrated circuit comparators.Magnitude comparisons like word > comparand (>), or word < comparand(<), etc. are now readily included with exact match in the associative func-tion set.

i 8

2 56 X 8MEMORY

D OUT

(comparand)-

8 BIT

COMPARISON

LOGIC

d

M

-h-

•X FN CODE J

WORD OUTPUT

D

TRUE/FALSE

Figure 6: Block oriented comparison logic: byte serial, block parallel. A fur-ther savings in associative logic can be realized by sharing the logic over ablock of memory words. By choosing the block size judiciously, it is possibleto use existing programmable memory circuits. Information in the block willbe considered as a unit (eg: a personnel record for one individual) and allblocks (rather than all words) in the system will be treated in parallel. Forthe rest of this article, the figures will illustrate conceptual architectures fora microcomputer add-in associative memory subsystem. Therefore, the wordsize will be eight bits. The block size is chosen as 256 words by eight bitsso it can hold enough related character information. For textual information,one ASCII character will occupy one byte. Since our processor can send onlyone byte of comparand to the memory at a time, eight bits of low address(A 7 thru A0) will select the one of 256 bytes of all blocks to be compared.This offset address can be kept conveniently in an 8 bit register and incremen-ted or changed when necessary.

See and Copy

Data

use TRcopy

WITH YOUR LEVEL II TRS^O*^

TRcopy is a cassette tape copying system that letsyou SEE what your computer is reading.

COPY ANY CASSETTE TAPE00With the TRcopy system you can copy any TRS-80 Level II cassette tape whether it is coded inBasic or in machine language. You can also copydata created by programs and you can copy assem-bler listings.

YOU CAN SEE THE DATA

As the tape is being loaded, you can SEE theactual data byle-for-byte from the beginning to theend of the program. Up to 320 bytes are displayedat one time. ASCfl characters are displayed on thefirst line and hexadecimal code is displayed on thefollowing two lines. Data is displayed exactly as ilis Input including memory locations and check sums.

IDENTIFY PROGRAMSWith TRcopy you can identify programs on cas-sette tapes without written documentation becauseyou can SEE the filename. If you forget to label atape, you can use TRcopy to display the tape contentsand identify the cassette.

VERIFY CASSETTE TAPES

With TRcopy you can verify both the original tapeand the tape copies. You can make certain that yourmachine reads the original tape correctly and that itmakes byte-for-byte copies. TRcopy also counts asit reads giving you the exact length of the data.

MAKE BACKUPS FOR YOUR PROGRAMSNow you can make backup copies of your valuableprograms. Many times a cassette that you make willload better than one that is mass produced. The

original can then be kept as a backup in case thecopy is damaged.

MAKE COPIES OF YOUR SOFTWARE

II you are in the software business you can useTRcopy to make tested copies of your programs forsales distribution. TRcopy produces machine lan-guage tapes that are more efficient than those pro-duced by the assembler itself.

RECOVER FAULTY DATAWith TRcopy you can experiment with the volumeand level controls and you can SEE what the computeris reading—even if your computer will not read thedata through normal read instructions! In this way itis possible to read and copy faulty tapes by adjustingthe volume control until you SEE that the data isinput properly.

SIMPLE - FASCINATING - FUN

TRcopy is not only a practical utility program.ltis also a fascinating graphics program that lets youSEE, for the first time, cassette data as your com-puter is reading il. And it's as simple as 1-2-3.Just load, verify and copy. You will now be able touse cassette tapes with confidence knowing thatTRcopy is there when you need it.

The TRcopy system is a machine language programwith documentation explaining tape leaders, sync-bytes, check sums and other formattingconventions.With the TRcopy system, you can SEE what you aredoing!

TRcopy System IncludingCassette Tape and Docurr

May 1979 © BYTE Publications Inc 153

CLK

PR

J

K

Q

X

L

X

X

H

t

H

L

H

Qo

t

H

L

L

L

Table 2: Partial function table of a J-K flip flop.

I

8

COMPARAND•

■+-

FNCODE J-

e

MASK /-

SAMPLE-

IT

CE WE

256 X 8MEMORY ID OUT

,8

8 SIT

COMPARISONLOGIC I

-fh

vccJ

vcc

WE CE

256 X 8

MEMORY ND OUT

,8

8 BIT

COMPARISONLOGIC N

-ih

-ih

-fh

-WORD I, OUTPUT

~7h

* P PR

0

SET

-fh

1

-WORD N, OUTPUT

^

PR0

-fh

Figure 7: The parallel selection system. Suppose the first ten bytes of each block were definedto hold the lastname of each person in our personnel file. To find all people named Smith, thecomputer would execute a series of byte comparisons: [lastname] = S, [lastname + 1] = M, etc.Lastname is the beginning offset (A 7 — A 0 = 0) of that field, and [lastname] indicates the valuestored there in each block.

For multibyte comparands we need a temporal AND of the byte comparison results, as op-posed to the spatial AND of bit comparison results in figure 5. A J-K flip flop (whose partialfunction table is given in table 2) performs the conjunction. The SET function intializes thetags of all blocks. All blocks start as responders (tag = I) because no selection criteria have beenimposed. Subsequent restrictions cause those blocks that do not meet all specifications to turntheir tags off — and they remain discarded until a new SET command is issued.

Therefore, at the end of the comparison or selection process, that subset of blocks whose tagsare still on have met all the requirements. The SAMPLE line clocks the flip flops only during anassociative compare function, and at the time when the comparison logic result becomes valid.All blocks respond to the comparison simultaneously, and as shown at this level of the design,can only read out their data for comparison purposes.

154 May 1979 © BYTE Publications Inc

• NEW PRODUCT'

64 K bytes off as t, lowpower dyna-mic RAM.MEMORYBANK SELECT

$89500

tor model DMB 6400

64K bytes offast, lowpower dyna-mic RAM.

Both our UNCommon Dynamic and our UNCommon Static RAMS have the followingfeatures and specifications:

5

$79500

lor model DM-0400

• NEW PRODUCT*

32K bytes offaster StaticRAM whichMEMORYBANK SELECT$69500

for model SMB 3200

• They are all GUARANTEED to be compatible with the following S-100systems:

CROMEMCO. IMSAI. ITHACA AUDIO. MITS. NORTH STAR. PROCESSORTECHNOLOGY. TDL.TEL VECTOR GRAPHICS, and other S-100 systems.

Both of Our UNCommon Dynamic RAM Series,the DMB-6400 and the DM-6400, feature:

• 64K bytes of dynamic RAM with on board transparent refresh.

• S-100 interface comparible. with crystal conitolled riming INDEPENDENTof bus or processor timing.

• No wait states with 8080 or Z-80 10 4MHz. Up to 5MHz with I wait state.

• Memory selectable or deselectable in 4I< byte increments.

• Low power. 8 watts maximum, in 64K byre configurarion.

Our UNCommon Static RAM Series, the SMB3200, features:

• Memory Bank select capabilities:Eithertwo(2) l6Kbytebanksofmem-ory, or one (1} 32K byte bank per board.

• 32K bytes of low power static RAM.

• No wait states with 8080. 8085. or Z-80 processors up to 5MHz.

• Addressable in 4K byte increments at 4K boundaries. Deselectable in 4Kbyte inctements.

Announcing the Model DMB-6400 Seriesof UNCommon Dynamic RAMS. This Seriesincorporates the features which are stan-dard in the DM-6400 Series and adds thefollowing capabilities:

• MEMORY BANK SELECT which is compatible with CROMEMCO.

NORTH STAR, and other systems using output pott bank select.

• 256 ports selectable (including CROMEMCO 40H and NORTHSTAR COH)

• Eight (8) 64K bytes banks of memory per output port

• Each I6K bytes of addressable memory space may be individuallyset to start at 0000. 4000. 8000. or C000 and can be set for any ofthe 8 banks on one selected output port. The bank memory sizecan be incremented from I6K bytes to64l< bytes in I6K increments,allowing 5I2K byte bank sizes.

• Total memory addressing to over 100 Megabytes by using differentI/O ports for memory control.

UNCommon Dynamic RAMS with |MEMORY BANK SELECT.

□ DMB 6400/64K RAM - »89500D DMB 4800/48K RAM - s79500

□ DMB 3200/32K RAM - ^695°°

UNCommon Static RAMS withMEMORY BANK SELECT.

D SMB 3200/32K RAM - 569500

UNCommon Dynamic RAMS

□ DM 6400/64K RAM - s79500

□ DM 4800/48K RAM - 569500

□ DM 3200/32K RAM - s595°°

Delivery Mm I, to 30 d.iv-• TRICtS SUB|tCT TO CHANGE WITHOUT NOTICE! •

All of our UNCommon Dynamic and Static SeriesRAMS feature the following:

• Inpurs are RC filtered and buffered with I LS TTL load. Compatible withterminated or unterminated busses.

• Outputs are all tti-srate.

• Disc comparible. DMA compatible.

• Phantom memory selectable on pin 67.

• DIP switch selectable addressing.

• Reliability — all boards fully tested and burned-in.

• FULL DOCUMENTATION — Schematics, layout, parts list, theory of oper-ation, timing diagrams, and option selection.

• Industrial quality design, components and construction. Glass epoxyboards. Fused, double solder masks. Silk screened legends. Gold platedconnector contacts. All IC's socket mounted.

• Guaranteed performance on parrs and labor for one year.

MEASUREMENT

systems &. controls

incorporated

directly.

867 North Main Street

Orange. California 92668

Telephone: (714) 633-4460

For the above products see your local dealer or order

ORDERS — BA. VISA. MASTER CHARGE, money orders, or personal checks. Please allow 14days for checks to clear bank. California residents please add 6% sales tax to your order.

All orders shipped postpaid. All orders in U.S. funds. Please add 10% on all orders outside theU.S.A. and Canada.

Circle 215 on inquiry card.

BYTE May 1979 155

Figure 8: Parallel processingin place: the multiwrite func-tion. New logic black boxeshave been added to the CE(chip enable) and the WE(write enable) inputs of ourmemory blocks to turn theminto CAPPS (content address-able parallel processors),which Foster (see biblio-graphy, part 1) has definedas associative memories withparallel write ability. Withoutrecourse to address, we canchange the contents of anypreviously selected blocks,whose tags are 1. When themultiwrite responders com-mand is executed, only thechip enables of those blockswhose tags are on are acti-vated. The write enable is alsoactivated during multiwrite.The value of the addressedbyte in all selected blocks ischanged to the contents ofthe comparand bus. The tagsare unaffected (no SAMPLEsignal is present). Withoutknowing the addresses of theblocks in our selected subset,we are able to change theircontents in place. Notice thischange can be common data(mark all engineers in our filefor a $100 bonus) or specific(show 550 parts on hand forstock item #36574).

MW I (WR

CELOGIC

WRITELOGIC

CE WE

2 56 X 8MEMORYD OUT

(mWj(tAG0J

COMPARAND -

FN CODE-

MASK-

8 BIT

COMPARISONLOGIC I

-r h-<f-

-fj-

WE CE

256X8MEMORY N

D OUT

,'8

8 SIT

COMPARISONLOGIC N

WR = SYSTEM MEMORY WRITE STROBEMW--MULTIWRITE , I OF FN CODE

WE =MW AWR

LOGICN

CE; ■ MW A TAGj V MW

AccessType

AddressA15thruAi2 A-|ithruA8 A7 thru A0

ResultingAccess Type

MEMWRITE

Hole FNCODE OFFSETother <address>

1 of 16 associativefunctions. Randomaccess memory write.

MEMREAD

<16 bit address>

Random access mem-ory read; any memoryin hole space must beread only.

Derivation of Associative Commands

Ai5thruAi2 A^thruAs A7 thru A0

HOLE

FNCODE

OFFSET

(Address during an associative command.)

Table 3: A clarification of the random access and associative operation definitions.

156 M,iy 1979 © BYTE Publications Inc

As your introduction to

The Library ofComputer and Information Sciences

Choose either

This $60.00 classic foronly $3.95. A saving of 93%!

ENCYCLOPEDIA OF COMPUTER SCIENCE

Edited by Anthony Ralston and Chester L. Meek. More than 1550 outsize pages ofinformation on every aspect of computer science—from algebra to automata theory,from basic terminology to string-processing languages. 470 articles by 208 experts.Over 700 charts, tables, graphs, and diagrams. Counts as 3 of your-3 books.

m^s-—OR — —i

any other 3 books for only $3.95 (values to $59.85)

if you will join now for a trial period and take only 3 more books - at handsome discounts - over the next 12 months.

39890-2. COMPUTER DATA BASE ORGANIZA-TION. 2nd Edition. James Martin. Over 200 dia-grams. Counts as 2 of your 3 books. $26.50

42303. A DISCIPLINE OF PROGRAMMING.

Edger W. Dijkstra. Impressive new programming toolsto solve problems that range from the everyday to thecomplex. $19.95

72690. THE PSYCHOLOGY OF COMPUTERPROGRAMMING. Gerald M.Weinberg. The classicstudy of computer programming as a human activity.

$10.95

42410-2. DISTRIBUTED PROCESSING ANDDATA COMMUNICATIONS. Daniel R. McGlynn.The technical and organizational components of datacommunications. Countsas2 of your 3 books. $20.75

37400. CDP REVIEW MANUAL: A Data Proces-sing Handbook. 2nd Ed. Lord and Steiner. In-depthcoverage of data processing equipment, computerprogramming and software, data processing manage-ment, and mathematics and statistics. Softcover.

$19.95

69297. PL/1 STRUCTURED PROGRAMMING,2nd Edition. Joan K. Hughes. Covers the full lan-guage with detailed case studies, practice problems,coding explanations, a glossary of over 300 terms, andan extensive chart listing of all PL/1 keywords. $18.95

41785. DEBUGGING SYSTEM 360/370 PRO-GRAMS USING OS AND VS STORAGE DUMPS.

D. H. Rindfleisch. A superior guide to storage dumpdebugging. Illustrations, examples, sample dumps.

$19.95

81845. SYSTEM/370 JOB CONTROL LAN-GUAGE. Gary DeWard Brown. Includes descriptionsof hardware devices and access methods and referenceto many useful JCL features. Softcover. $12.50

42275-2. DIGITAL SYSTEMS: Hardware Organi-zation and Design. Hill and Peterson. A classic refer-ence on hardware organization and system architec-ture. Counts as 2 of your 3 books. $23.95

54455. IMS PROGRAMMING TECHNIQUES: AGuide to Using DL/1. Kapp and Leben. Spells outspecific techniques to write application programs in anIMS DL/1 data base environment. $17.95

52900-2. HIGH LEVEL COBOL PROGRAM-MING. Gerald M. Weinberg et al. Introduces "shel-tered programming" concepts, stresses modular de-sign and maintainability of code. Counts as 2 of your 3books. $21.95

54465. I/O DESIGN: Data Management in Operat-ing Systems. Freeman and Perry. Covers I/Odevices,channel programming, device allocation, controistatements, data organization and staging, and muchmore. $18.95

62757. MINICOMPUTERS: Low-Cost ComputerPower for Management. Revised Edition. Donald P.Kenney. How to use minicomputers to cut data proc-essing costs and set up more manageable informationhandling systems. $14.95

41645-2. DATA COMMUNICATIONS: Facilities,

Networks, and Systems Design. Dixon R. Doll. Astraightforward guide that covers everything frombasic terminology to design trade-offs. Counts as 2 ofyour3 books. $25.95

62620. MICROCOMPUTER HANDBOOK.

Charles J. Sippl. Detailed reference to the technologyand applications of microprocessors. $19.95

62651-2. MICROPROCESSORS AND MICRO-COMPUTER SYSTEMS. G. V. Rao. Highlights thelatest microelectronic and microcomputer technology.Counts as 2 of your 3 books. $24.50

80150. STANDARDIZED DEVELOPMENT OFCOMPUTER SOFTWARE. Robert C. Tausworthe.How to incorporate principles and techniques of struc-tured programming in the development of large-scalesystems. $19.95

80845. STRUCTURED SYSTEMS DEVELOP-MENT. Kenneth I. On. The basic steps for analyzing,developing and installing systems with the emphasison a structured "problem-solving" approach to sys-tems building. $17.00

82560. TECHNIQUES OF PROGRAM STRUC-TURE AND DESIGN. Edward Yourdan. Over 300illustrative problems, 90 valuable references, and fourdemonstration projects. $19.50

53795-2. HOW TO MANAGE STRUCTUREDPROGRAMMING. Edward Yourdon. Offers a de-tailed step-by-step presentation of just what program-mer productivity techniques (PPT) can do for the DPmanager. Counts as 2 of your 3 books. $21.50

39970. COMPUTER ARCHITECTURE. Caxton C.Foster. Covers microprogramming, switching cir-cuitry, memory speed increases in mainframes. $16.95

(Publishers' Prices shown)

54450. THE IBM 5100 PORTABLE COMPUTER:A Comprehensive Guide for Users and Pro-grammers. Harry Katzan, Jr. Includes BASIC andAPL programs for payroll/inventory control applica-tions. $19.95

56265. INTRODUCTION TO DECSYSTEM-10ASSEMBLER LANGUAGE PROGRAMMING.

Singer. Softbound. $8.95

67175. PASCAL: An Introduction To MethodicalProgramming. Findlav and Watt. Introduction to thefundamental language features of PASCAL. Softcover.

$10.95

70093. PRIMER FOR SMALL SYSTEMS MAN-AGEMENT. Grady M. Easley. Spells out the super-visory skills needed in the day-to-day administration ofa small computer complex. $16.95

32278. ADVANCED PROGRAMMING TECH-NIQUES: A Second Course in Programming UsingFORTRAN. Charles E. Hughes et at. $14.95

82730-2. TELECOMMUNICATIONS AND THECOMPUTER. James Martin. Counts as 2 of your 3books. $29.50

MEMBERSHIP BENEFITS • In addition togetting either the Encyclopedia of ComputerScience or any other three books for only $3.95when you join, you keep saving substantially onthe books you buy. Also, you will immediatelybecome eligible to participate in our Bonus BookPlan, with savings of al least 70% offpublishers'prices. • At 3-4 week intervals (16 times peryear) you will receive the Book Club News,describing the coming Main Selection and Al-ternate Selections, together with a dated replycard. In addition, up to 3 times a year, you mayreceive offers of special selections, always atsubstantial discounts. • If you want the MainSelection, or the special selection, do nothingand it will be sent to you automatically. • If youprefer another selection, or no book at all, sim-ply indicate your choice on the card, and return itby the date specified. • You will have at least 10days to decide. If because of late mail delivery ofthe News, you should receive a book you do notwant, we guarantee return postage.

The Library of Computer 7-ainand Information Sciences

Riverside, New Jersey 08370

Please accept my application for trial member-ship and send me either the Encyclopedia ofComputer Science or any other three books, bill-ing me only $3.95. I agree to purchase at leastthree additional Selections or Alternates duringthe first 12 months I am a member, under the clubplan described in this ad. Savings range up to30% and occasionally even more. My member-ship is cancelable any time after I buy these threebooks. A shipping and handling charge is addedto all shipments.

□ Check here if you want the Encyclopedia ofComputer Science (44900-3).

□ Check here if you prefer three other volumesand indicate below by number the books youwant.

A few expensive books (noted in book descriptions)count as more than one choice.

Name_

Address_

City-

State _

. Zip_

(Offer good in Continental U.S. and Canadaonly. Prices slightly higher in Canada.)

BYTE May 1979

157

iATA IN /TO ^~

DATA

(PROCESSOR]

■ c

DATA I

(TOPROCESSOR)

OCTALE THREE-STATEBUFFER

II

(T J) 8 LIN

I I

OCTAL

THREE-STATE EBUFFER

ES

-if-~ff-

Up 8 LINE

■ I INPUT BIT SCHEME

(TAG i ) . .—

POADD

I I I I I I I

OCTAL

THREE-STATE

BUFFER

I I I M I I

RT _/~\

DRZ | (INPUT)

OCTAL

THREE-STATEBUFFER

6 p 8 LINE

S s-

-ff-

TT—

O p 8 LIN

Figure 9: Nonassociative read responder techniques. In part 1 an associative technique wasdescribed to read the contents of responders (without addresses) when there were more thanone. It consists of a daisy chain connecting all the tags in the memory into a priority list.During an associative read, only the highest priority responder (the first responder) could placeits contents on the bus to the processor. A companion function, next, to turn off the firstresponder, and the query function to determine if there are any more responders, completedthe description of necessary hardware. Implementing these priority chains would require atleast three more different logic gates per memory word and, although fast (and address free),the design becomes rather bulky.

When a random access address structure is placed on the memory words (as it usually is tofacilitate loading and unloading of the memory), a nonassociative technique for reading re-sponders is available. The responders may be read serially by taking advantage of their addressstructure. The tags of all blocks from least to highest in address may be sent in batches to thecentral processor through input ports. The processor can then scan the tags in sequence forthe next (or first) responder, and quickly derive the responding block's address in preparationfor a random access read. The tag input ports could also be arranged hierarchically, to speedsearch in cases where there are likely to be few responding words. Alternatively, all responderscould first multiwrite a I into a reserved flag bit in their memory block. Groups of tags couldbe ORed and the results for many groups sent to the processor through input ports. Findinga I in any bit of the input word tells the processor the group of blocks to search. A randomaccess, serial scan of the flag bit for each block in that group determines exactly which one(or more) responded. A random access read then fetches the information desired. The queryfunction, here, simply entails reading and testing the input words.

158 May 1979 © BYTE Publications Inc

The

TO ORDER CALL TOLL FREE 800-223-7318

MM

PET

MM

on

iv $795 $U54lD

» 14K ROM Operating system' 8K RAM Memory» 9" Video Monitor

• Built in Keyboard

• Digitally controlled tapeI Today's best value in personal computers, along with the latest]m peripherals, are always in stock at the COMPUTER FACTORY-

MFWI PET BUSINESS

fVCIrV; system

The PET is now a truly sophisticated

Business System with the FloppyI Disk and Printer which makes an

ideal cost efficient businessj system for most professional and| specialized fields: medicine,

law. research, engineering,

education, etc.

PET 2001 -

16K$995 /32K$1195/-f

• 16 or 32K Bytes Dynamic RAM , '£L

• 14K ROM Operating System

• 9"' CRT

• Upper/Lower Case andGraphics

• Full Sized Business Keyboard

• Full Screen Editing

• Operating system will supportmultiple Languages (BASICresident}

• Machine Language Monitor

• 8K ROM Expansion Sockets

" sy2

ELECTROSTATICPRINTER 2021

■ 80 column dot matrix

• Full PET graphics

• 8\'? inch paper!

Bottom and Rear Tractor FeedVz" Paper Widthi 6504 Microprocessor Controlled> 112 cps Bi-directional» 4K ROM • V2K RAMt Upper/Lower Case and Graphics• 7 x 6 Dot Matrix

PET

MUSIC BOXAdd music and soundeffects to yourprograms. Compose,play, and hear music onyour pet. Completelyself-contained (nowiring). Free 3programs including Star IWars theme, soundeffects, etc. S39.

NEW!

BILLINGS MICROSYSTEMEXPANDABLE TO 2 MEGABYTES

features:

• 12" CRT

• 64K RAM

• Z-80Dual mini

• 320 K Storage

• Graphics

• 94 Keys

• 2 RS-232 portsfloppy • 1 parallel port

BUSINESS SOFTWARE AVAILABLE!

only$3645

I PET .PRINTERS2023 $849

2022 $995

(IncludesTractors'

CompucolorH

COMPUCOLOR II Disk-Based Model 3Advanced hardware and software technologygives you:

• 13" Color Display

• Advanced Color Graphics

• 51K Disk Built-in

• 16K ROM Operating System

• 8K RAM User Memory

• 4K RAM Refresh

• 8080A Microcomputer }

• RS-232 I/O

Every unit comes with an extended DISK-BASIC that has full file management capa-bility resident in the COMPUCOLOR II in16K of ROM. Color is fantastic, but COM-PUCOLOR II has the power to handle com-plex tasks and small business applications.An impressive software library supplementsyour own creativity,

SALE!

Come In Or Call For

Special Low Prices

WE'RE MOVING TO

LARGER QUARTERS

AND MUST SELLEVERYTHING IN OURINVENTORY

$1495 Complete!16K Model add $20032K Model add $500

BUSINESS

COMPUTER

IMSAI

The low cost solution

for all small business

problems. A wide variety

of software is

available for all your needs.

PCS series include dual floppies. 32K RAM.

I/O. DOS, BASIC

• PCS-42 (400KB} $2995

• PCS-44 (780KB) S3695VDP-42 series adds video terminal, key-board and VIO to above

• VDP-42 $4795 • VDP-44 S4495

• VDP/80 S6995

DUAL DRIVE FLOPPYDISK 2040 $1095

• 360 K Bytes Storage

• High Speed Data Transfer

• Plugs into IEEE Port

• 6504 Microprocessor

• 8K ROM Operating System

• 8K ROM Encoding andDecoding

• 4K RAM

• Uses Single or Dual sidedDiskettes

ISINGLE DRIVEFLOPPY UNIT2041 $595

• Intelligent mini lloppy1 17I.5K net user storage

COBOL, PILOT, FORTRAN, IHot and tape or disk lot tompl

SORCERER

SPECIAL12" Video Monitorfor SORCERER(S299 value)

ONLY

$125 with 8K unit95 with 16K unit65 with 32K unit

The Computer of theFuture is here Now!PASCAL TM

MICROENGINE

PERIPHERALSFOR PET

' 24K Memory Expansion ,,.» 16K Memory Expansion . . _» PET to RS232 Serai

IRADIO SHACK • PET • SORCERER •lAPPLE • COMPUCOLOR • ETC.

rjnTTH^fcgjiii^iiikgiJiii^i-iiik*

| The COMPUTER FACTORY'S extensive CENTRONICS 779 . .$1045

inventory and wide selection of computer AXIOM (Parallel) 395

I printers assures you of finding the printer AXIOM (Serial) 495

1 best suited for your needs and EXPANDOR (Tractors) 425

I specifications. The following printers work INTEGRAL DATA 795

I well with all known personal computers. OUME or DIABLO ... 3400

Word Processing For PET.

With this program In hand, you cancreate text and add, delete, center,recall lines and move text around onpage or between pages. Use eitherPET or terminal keyboard. 445.00

S35 of Softwarewith purchase ol anycomputer on this page

Min Credit CardOrder $75

N.Y residents add 8% sales tax • Same dayshipment on prepaid and credit card orders• Add $5 shipping for computers. $3 foiboards. $.25 each cassette tape.

FREE

TO ORDER CALL TOLL FREE 800-223-7318

V/SA* Mon.-F

$2995

Western Digital's new 16-bit PascalComputer System

• 64K bytes (32K words) of RAM

• 2 RS-232 ports

• 2 8-bit parallel ports

• Floppy disk controller

• Floating point hardware

• Memory Mapped I/O

• Enclosed power supply

OpenMon.-Fri. 10-6Sat. 10-4

**V%°

^

TUA fVMVJIDI ITCD CAfTHDV 485 Lexington Avenue 750 Third Avenue New York, N.Y. 10017I IIC KsKJlVlr U I Cll "HV/ I \Jt\ T (212) 687-5001 (212) PET-2001 Foreign order desk - Telex 640055 .

BYTE May 1979

accessdetermination

LOGIC

-*/ ASSOC J

WRSTAT ■ SYSTEM WRITE STATUSASSOC = (AI5-AI2 s'HOLE') A WRSTAT

DETERMINATION OF ASSOCIATIVE ACCESS REQUEST

DATA OUTBUS

MASKPORT#

8 BIT

LATCH

•"T~y

i_r

OUT

MASK APPARATUS

OUTPUTSTROBE

COMPARISON

CLOCK

LOGIC

4 TO 16

DECODER

LOGIC

-► SET

-►MW

SAMPLE ■ ASSOC A FN CODE f (SET, MW ) AWR

Figure 10: Accessing the add-in associative memory. Only eight address bits (A 7 thru A0) areused for associative memory accesses. Therefore, eight bits (AJ5 thru Aj are left to specifywhether a memory access represents an associative access, and, if so, which function is involved.Let Ayj thru Ag be the FNCODE (one of 16 functions) during an associative instruction.Comparison and multiwrite instructions need data supplied by the central processor. For theseoperations, the processor must execute a memory write. If the nonassociative (random access)technique for reading responders is used, all associative functions may be initiated by a processormemory write cycle. To distinguish between random access and associative operations, a 4 Kbyte "hole" Is defined at some arbitrary 4 K boundary of address space. In general, a memorywrite to the hole indicates an associative function specified by A^ thru A„. A read of any bytein the hole is considered normal random access (although memory, if present, must be readonly). Table 3 clarifies the definition of random access and associative operations. Figure 10also illustrates the derivation of the mask and other signals used in previous diagrams. Themask, for example, can be implemented by a simple 8 bit output port, m

160

M,iy 1179 © UYTE Publications Inc

Wfc «UW OO »,\_IOE . KtXDES OUtl. OUJH EXTtNSIVE

Ltw.wt cr\a.o,Y soPTwwtB PRom. piMOnm. 8or-n->tt*t,

«»^M-L «VSTBM tOir-noRHS JO-US, CUtUXLVS COMPUTING,E.^V^'SSXi.'ESirft? »Ot=TUIkeE r«CM»N(lfi/«0(=T»,PC/

Cx«.CLE eNTSBPRisei aho man-i' othsi?. softuww puW-xshciu

PROGRAM

GALACTIC BLOCKADE RUNNER

SCI-FI GAME SAMPLER

R/T LUNAR LANDER

MICRO-TEXT EDITOR

OTHELLO III

AIR RAID

MICRO-CHESS

BRIDGE CHALLENGER

APPLE 21

STAR WARS/SPACE MAZE

RENUMBER

DISK RENUMBER

PILOT 2.0

PILOT 3.0

APPLE TALKER

APPLE LIS'NER

TIC-TAC-TALKER

FORTRAN

SYSCOP

ANDROID NIM-2

SNAKE EGG

LIFE 2

DCV-1

MUSIC MASTER

DISK MUSIC MASTER

TRS-80 CP/M

PET ASTROLOGY

PERSONAL FINANCE PKG.

TRS-80 DISK LIB. "A"

AN EXCITING SPACE WAR GAME WITH GRAPHICS

3 GAMES—LUNAR LANDER—STAR MONSTER—SPACE BATTLE

A REAL TIME LUNAR LANDER WITH GRAPHICS

FORMAT TEXT—SAVE & LOAD TO TAPE—OUTPUT TO PRINTER

A STRATEGY BOARD GAME—PLAY AGAINST COMPUTER OR OTHERS

A REAL TIME, ARCADE TYPE SHOOTING GAME IN MACH. LANG.

PLAY CHESS WITH YOUR COMPUTER—VARIOUS LEVELS OF DIFF.

DON'T WAIT FOR OTHERS TO PLAY—YOUR COMPUTER'S READY

BLACKJACK WITH HIRES GRAPHICS

SCI-FI GAMES FOR THE APPLE

RENUMBER YOUR BASIC PROGRAMS—RENUMBERS EVERYTHING

SAME AS ABOVE, BUT ON DISK

THE EDUCATIONAL LANGUAGE. IN MACH. LANG.—INC. EDITOR

THE DISK VERSION OF THE ABOVE

YOUR APPLE SPEAKS! NO NEW HARDWARE REQUIRED

SPEECH RECOGNITION THE EASY WAY—GREAT WITH THE TALKER

TIC-TAC-TOE USING SPEECH SYNTHESIS AND RECOGNITION

FOR THE TRS-80—SEE MICROSOFT'S ADS

MAKE BACKUP TRS-80 SYSTEM TAPES THE EASY WAY

GAME OF NIM WITH ANIMATED ROBOTS AND SOUND

A BETTING GAME WITH ANIMATED SNAKES AND SOUND

100 GEN. PER MIN. LIFE & BATTLE OF LIFE W/ANIMATION & SOUND

PUT SYSTEM TAPES ON DISK EVEN IF IN SAME MEM AS DOS

ENTER SHEET MUSIC—THE TRS-80 THEN COMPILES & PLAYS IT

SAME AS ABOVE BUT ON DISK W/MANY SELECTIONS

OPENS UP THE WHOLE WORLD OF CP/M SOFTWARE TO THE TRS-80

DOES ALL THE COMPUTATIONS FOR YOU

KEEPS TRACK OF CHECKS. BUDGET. COMPUTES INTEREST

9 PROGRAMS ON DISK—INC. BLOC. RON, OTHELLO ETC.BUSINESS AND APPLICATION SOFTWARE—CALL OR WRITE FOR DETAILS16K MEMORY UPGRADE FOR TRS-80, APPLE & SORCERER COMPUTERSC-10 HIGH OUALITY DATA CASSETTES W/SCREW HOUSINGSVERBATUM 5-1/2 INCH BLANK DISKETTES

9.95

7.95

7.95

9.95

7.95

14.95

19.95

14.95

9.95

12.95

14.95

19.95

14.95

24.95

15.95

19.95

19.95

$325.00

$ 9.95

14.95

14.95

14.95

9.95

14.95

24.95

$150.00

$ 14.95

$ 9.95

$ 39.95

$ 94.9510/$ 34.9510/$ 10.00

O

O

10% OFF IF YOU ORDER 3 SOFTWARE PACKAGES OR MORE SEND FOR FREE CATALOG—GIVE TYPE OF COMPUTER

AVAILABLE FROM THESE FINE MICRO COMPUTER DEALERS

JAJ ELECTRONICS LTD28 COLLI NGTON AVE.BEXH1LL-ON-SEA. E. SUSSEX, ENO.

COMPUTER VILLAGE931 SW87THAVE.MIAMI FL 33174

L. C. SALESI0OHINCHEYAVE. 8705OTTAWA. ONT., CAN. K1Y4L9

HOBBY WORLD ELECTRONICS19335 BUSINESS CENTER OR. MNORTHRIDOE CA 91324

AUGUST AUTOMATION28 MILK ST.WESTBORO MA 01381

THE CPU SHOP39 PLEASANT ST.CHARLESTOWN MA 02129

CAPITOL COMPUTER SYSTEMS COMPUTER CABLEVISION. INC.3396 EL CAMINO AVE. 26IT 42ND ST. NW 12

SACRAMENTO CA 93821 WASHINGTON DC 2O0O7

TRS-80 SOFTWARE EXCHANGE17 BR1ARCLIFF DR.MILFORD NH 03035

OP AMP TECH BOOKS1033 N. SYCAMORE AVE.LOS ANGLES CA 9003*

KENNEDY SYSTEMS74 BROAD ST.LYNDONVILLE VT 05831

ADVANCED COMPUTER PRODUCTSI3I0BE. EDINGERSANTA ANA CA 92705

TO ORDER BY PHONE OR FOR DEALER INFO—CALL—(617) 682-8131

ADD 75c SHIPPING & HANDLING • MASS. RESIDENTS ADD 5% SALES TAX

MAD HATTER SOFTWARE • 900 b SALEM RD • DRACUT, MA 01826

l

E)

CD

Circle 202 on inquiry card.

BYTE May 1979

161

PET / TRS-801 APPLE: Personal Software brings you the finest!

NEW! THE ELECTRIC PAINTBRUSH by Ken Anderson for 4K

Level I and II TRS-80s: Create the most dazzling graphics displaysyou have ever seen with a minimum of effort. The ElectricPaintbrush is actually a simple 'language' in which you can write'programs' directing your paintbrush around the screen—drawinglines, turning corners, changing white to black, etc. Once defined,these programs may be called by other programs or repetitivelyexecuted, each time varying the parameters of brush movement.

nit" * m *mm ' li t

The machine language interpreter executes your programs almostinstantaneously, allowing you to create real-time, animatedgraphics displays. The screen photos above are actually'snapshots' of the action of a single one-line program over aboutthirty seconds. Mesmerize your friends with visual effects they'venever seen on a TV screenlThere'snolimitto the variety of excitingand artistic graphics displays you can create with The ElectricPaintbrush. And it's available now for only $14.95

nnn ttnitn

MICROCHESS is the culmination of two years of chessplayingprogram development by Peter Jennings, author of the famous 1Kbyte chess program for the KIM-1. MICROCHESS 2.0 for 8K PETsand 16K APPLEs, in 6502 machine language, offers 8 levels of playto suit everyone from the beginner learning chess to the seriousplayer. It examines positions as many as 6 moves ahead, andincludes a chess clock fortournament play. MICROCHESS 1.5for

BRIDGE CHALLENGER by George Duisman for 8K PETs, Level II16K TRS-80s, and 16K APPLEs: You and the dummy play 4 personContract Bridge against the computer. The program will deal handsat random or according to your criterion for high card points. Youcan review tricks, swap sides or replay hands when the cards areknown. No longer do you need 4 people to play! $14.95

TIME TREK by Brad Templeton with sound effects for 8K PETs isPersonal Software's answer to the proliferation of Star Trek games.This is a real time action battle game which requires fast thinking aswell as sharp wits. There are no 'turns' in Time Trek: your scannersand ship's status report are constantly updated on the screen, andyou can enter commands as fast as you can press the keys. You useyour shields, phasers and photon torpedoes against enemyKlingons in a game where you can move, steer and fire at the sametime. Star Trek aficionado or not, you'll appreciate the excitementand excellence of this real time game $14.95

WHERE TO GET IT: Look for the Personal Software'" display rackat your local computer store. Over 275 dealers now carry thePersonal Software™ line—more than any other brand. If your localdealer doesn 't already carry Personal Software™ products, ask himto call us at (617) 782-5932. Or you can order direct from us bycheck, money order or VISA/Master Charge. If you have questions,please call us first at (617) 783-0694. If you know what you wantand have your VISA/MC card ready, you can use any telephone to

DIAL TOLL FREE1-800-325-6400

24 hrs In Missouri dial 1-800-342-6600 7 days

Or you can ma il your order to the address below. To add your nameto our mailing list for free literature and announcements of newproducts, use the reader service card at the back of this magazine.

Personal Software™

P.O. Box 136-B4, Cambridge, MA 02138

162 BYTE Mav1979

4K TRS-80s, in Z-80 machine language, offers 3 levels of play (bothLevel I and Level 11 versions are included and can be loaded on anyTRS-80 without TBUG). MICROCHESS checks every move forlegality and displays the current position on a graphic chessboard.You can play White or Black, set up and play from special boardpositions, or even watch the computer play against itself! Availablenow at a special introductory price of only $19.95

Circle 302 on inquiry card.

Look for Personal Software™ products at the dealer nearest you!

ALABAMA

BYTE SHOP

Huntsville. AL 35805

COMPUTERLAND

Huntsville, AL 35805

CPU, INC.

Montgomery, AL 36104

THE LOGIC STORE

Opelika. AL 36801

ALASKA

ALPHA ELECTRONICS

Anchorage, AK 99503

ARIZONA

MILLET'S TV 8, RADIO

Mesa. AZ 85204

PERSONAL COMPUTER PLACE

Mesa. AZ 85202

COMPUTERLAND OF PHOENIX

Phoenix. AZ 85016

COMPUTER SHOWROOM

Tucson, AZ 85710

ARKANSAS

COMPUTERLAND

Little Rock. AR 72212

DATACOPE

little Rock, AR 72204

CALIFORNIA

JAY-KERN ELECTRONICS

Bakersfield, CA 93305

BYTE SHOP

Burbank, CA 91506

BYTE SHOP OF SACRAMENTO

Citrus Heights. CA 95610

COAST COMPUTER CENTER

Costa Mesa, CA 92627

CAPITOL COMPUTER SYSTEMS

Davis, CA 95616

COMPUTERLAND SAN DIEGO EAST

El Caion, CA 92020

COMPUTERLAND OF EL CERRITO

El Cerrito, CA 94530

BUSINESS ENHANCEMENT

COMPUSERVE

Escondido, CA 92027

CHANNEL DATA SYSTEMS

Goleta, CA 93017

RAINBOW COMPUTING

Granada Hills. CA 91344

JADE COMPUTER PRODUCTS

Hawthorne. CA 90250

BYTE SHOP OF HAYWARD

Hayward, CA 94541

COMPUTERLAND OF HAYWARD

Hayward. CA 94541

COMPUTERLAND OF WEST LA.

Inglewood, CA 90302

COMPUTER COMPONENTS

OF SOUTH BAY

lawndale, CA 90260

COMPUTERLAND OF SOUTH BAY

Lawndale, CA 90260

A-VIDD ELECTRONICS

long Beach, CA 90815

COMPUTERLAND

Los Altos, CA 94022

BYTE SHOP

Mountain View, CA 94040

HOBBY WORLD ELECTRONICS

Northndge. CA 91324

COMPUTERS-MADE-EASY

Palmdale, CA 93550

BYTE SHOP OF TLACENTIA

Placentia, CA 92670

COMPUTER CENTER

Riverside, CA 92503

CAPITOL COMPUTER SYSTEMS

Sacramenlo, CA 95821

COMPUTERLAND

San Bernadmo. CA 92404

COMPUTERLAND OF SAN DIEGO

San Diego. CA 92111

COMPUTER MERCHANT

San Diego, CA 92115

COMPUTERLAND OF

SAN FRANCISCO

San Francisco. CA 94105

VIDEO GAMES S COMPUTERS

San Francisco. CA 94118

COMPUTERLAND OF SAN JOSE

San Jose, CA 95129

COMPUTERLAND (Central)

San Leandro. CA 94577

BYTE SHOP

San Louis Obispo, CA 93401

MARIN COMPUTER CENTER

San Ratael, CA 94903

ADVANCED COMPUTER PRODUCTS

Santa Ana. CA 92705

BYTE SHOP

Santa Clara, CA 95051

COMPUTER FORUM

Santa Fe Springs, CA 90670

THE COMPUTER STORE

Santa Monica, CA 90401

SANTA ROSA COMPUTER CENTER

Santa Rosa. CA 95404

BYTE SHOP

Suisun. CA 94585

COMPUTERS PLUS

Sunnyvale, CA 94087

BYTE SHOP OF TARZANA

Tarzana, CA 91356

COMPUTERLAND OF

THOUSAND OAKS

Thousand Oaks, CA 91360

SMALL SYSTEM SOFTWARE

Thousand Oaks. CA 91360

COMPUTER COMPONENTS

Van Nuys, CA 91411

COMPUTERLAND

Walnut Creek, CA 94598

BYTE SHOP

Westminster, CA 92683

COMPUTER COMPONENTS OF

ORANGE COUNTY

Westminster, CA 92683

COLORADO

BYTE SHOP

Boulder, CO 80301

COMPUTERLAND

Colorado Springs, CO 80917

AMPTEC

Denver. CO 80216

COMPUTERLAND

Denver, CO 80222

BYTE SHOP

Englewood. CO 80110

MICRO WORLD ELECTRONIX

Lakewood, CO 80226

CONNECTICUT

COMPUTERLAND OF FAIRFIELD

Fairfield, CT 06430

JRV COMPUTER STORE

Hamden CT 06518

THE COMPUTER STORE

Hartford CT 06103

THE COMPUTER STORE

Windsor Locks, CT 06096

WASHINGTON D.C.

COMPUTER CABLEVISION

Washington, DC. 20007

FLORIDA

COMPUTERLAND

Boca Raton, FL 33432

THE COMPUTER STORE

Bradenton. FL 33505

THE COMPUTER STORE

Clearwater, FL 33516

UCATAN

Destin, FL 32541

BYTE SHOP

Fort Lauderdale, FL 33334

COMPUTERLAND

Fort Lauderdale. FL 33308

COMPUTERS FOR YOU

Fort Lauderdale, FL 33312

DATA MOVERS

Fort Meyers, FL 33901

FOCUS SCIENTIFIC ENTERPRISES

Miami, FL 33132

GRICE ELECTRONICS

Pensacola. FL 32589

COMPUTER AGE

Pompano 8each, FL 33062

PAPERBACK BOOKSMITH

Sarasota, FL 33581

AMF ELECTRONICS

Tampa, FL 33612

MICRO COMPUTER SYSTEMS

Tampa, FL 33609

COMPUTER CENTER OF

PALM BEACHES

West Palm Beach, FL 33409

GEORGIA

ADVANCE COMPUTER TECHNOLOGIES

Atlanta, GA 30328

COMPUSHOP '

Atlanta, GA 30342

DATAMART

Atlanta, GA 30305

THE LOGIC STORE

Columbus, GA 31906

COMPUTERLAND OF ATLANTA

Smyrna. GA 30080

HAWAII

COMPUTERLAND

Honolulu HI 96813

MICROCOMPUTER SYSTEMS

Honolulu, HI 96813

RADIO SHACK (Dealer)

Lihue. HI 96766

IDAHO

NORTHWEST COMPUTER CENTER

Boise. ID 83704

ILLINOIS

COMPUTERLAND OF

ARLINGTON HEIGHTS

Arlington Heights, IL 03904

FARNSWORTH COMPUTER CENTER

Aurora, IL 60505

KAPPEL'S COMPUTER STORE

Belleville IL 62220

DOW-COM

Carbondale, IL 62901

BYTE SHOP

Champaign, IL 61820

THE ELEKTRIK KEYBOARD

Chicago, IL 60614

EMMANUEL B. GARCIA JR.

AND ASSOCIATES

Chicago, IL 60613

PERSONAL COMPUTER

Chicago. IL 61820

COMPUTERLAND

Downers Grove. IL 60515

COMPUTER STATION

Granite City. IL 62040

ORCUTT BUSINESS MACHINES

La Salle, IL 61301

ILLINI MICROCOMPUTERS

Naperville, IL 60540

COMPUTERLAND OF NILES

Niles, IL 60648

COMPUTERLAND

Oak Lawn, IL 60453

COMPUTERLAND OF PEORIA

Peoria, ll 61614

WALLACE ELECTRONICS

Peoria. IL 61614

DATA DOMAIN

Schaumburg. IL 60195

INDIANA

DATA DOMAIN OF FORT WAYNE

Fort Wayne, IN 46805

HOME COMPUTER CENTER

Indianapolis. IN 46220

PUBLIC COMPUTING

Lafayette. IN 47904

IOWA

SYNCHRONIZED SYSTEMS

Des Moines, IA 50310

THE COMPUTER CENTER

Waterloo. IA 50701

KANSAS

THE COMPUTER ROOM

Overland Park. KS 66212

PERSONAL COMPUTER CENTER

Overland Park. KS 66206

COMPUTER SYSTEMS DESIGN

Wichita. KS 67214

LOUISIANA

COMPUTER SHOPPE

Metaire, LA 70002

MARYLAND

COMPUTERLAND

Rockville, MD 20855

COMPUTER WORKSHOP

Rockville. MD 20852

COMPUTERS ETC.

Towson, MD 21204

COMPUTERS UNLIMITED

Towson. MD 21204

MASSACHUSETTS

THE COMPUTER STORE

Burlington, MA 01803

THE COMPUTER STORE

Cambridge. MA 02139

CPU SHOP

Charlestown, MA 02129

MAD HATTER SOFTWARE

Dracut, MA 01826

NEW ENGLAND ELECTRONICS

Needham, MA 02194

NEW ENGLAND ELECTRONICS

Springfield, MA 01103

MICHIGAN

NEWMAN COMPUTER EXCHANGE

Ann Arbor, Ml 48104

NEW DIMENSIONS IN COMPUTING

East Lansing. Ml 48823

COMPUTER HOUSE DIV.

Jackson. Ml 49202

COMPUTERLAND OF

GRAND RAPIDS

Kenlwood. Ml 49508

COMPUTRONIX

Midland. Ml 48640

COMPUTER MART OF ROYAL OAK

Royal Oak, Ml 48073

TRI CITY COMPUTER MART

Saginaw, Ml 48603

COMPUTERLAND

Southheld. Ml 48034

LEVEL FOUR PRODUCTIONS

Westland, Ml 48185

MINNESOTA

COMPUTERLAND

Bloommgton, MN 55431

MINN MICRO SYSTEMS

Minneapolis, MN 55454

MISSISSIPPI

OXFORD SOFTWARE CO,

Oxford, MS 38655

MISSOURI

FORSYTHE COMPUTERS

Clayton, MO 63105

COMPUTER COUNTRY

Florissant, MO 63031

GREATEST GRAPHICS

Springlield. MO 65804

NEBRASKA

OMAHA COMPUTER STORE

Omaha, NE 68127

NEVADA

HOME COMPUTERS

Las Vegas, NV 89109

NEW HAMPSHIRE

TRS 80 SOFTWARE EXCHANGE

Milford. NH 03055

COMPUTERLAND OF NASHUA

Nashua, NH 03060

BITS. INC.

Peterborough. NH 03458

NEW JERSEY

COMPUTER LAB OF NJ

Budd Lake, NJ 07828

COMPUTER EMPORIUM

Cherry Hill. NJ 08002

COMPUTER MART OF NJ

Iselm. NJ 08830

MSM ELECTRONICS

Medford, NJ 08055

COMPUTERLAND

Morris'town, NJ 07960

COMPUTERLAND

Paramus, NJ 07652

COMPUTER NOOK

Pine Brook, NJ 07058

COMPUTER CORNER

Pomplon Lakes, NJ 07442

COMPUTER ENCOUNTER

Princeton, NJ 08540

TYPTRONIC COMPUTER STORE

Ramsey, NJ 07446

NEW YORK

COMPUTERLAND

Buffalo. NY 14150

COMPUTERLAND

Carle Place. NY 11514

COMPUTER SHOP OF SYRACUSE

De Witt, NY 13214

THE COMPUTER TREE

Endwell, NY 13760

LONG ISLAND COMPUTER

GENERAL STORE

Lynbrook. NY 11563

COMPUTER MICROSYSTEMS

Manhasset, NY 11030

COMPUTER SHOPPE

Middle Island, NY 11953

THE COMPUTER FACTORY

New York, NY 10017

COMPUTER MART OF NEW YORK

New York. NY 10016

OATEL SYSTEMS

New York. NY 10036

AUTOMATIC SYSTEMS

Poughkeepsie. NY 12603

COMPUTER HOUSE

Rochester, NY 14609

THE COMPUTER STORE

Rochester, NY 14618

HOME COMPUTER CENTER

Rochester, NY 14607

THE COMPUTER CORNER

White Plains, NY 10601

READOUT COMPUTER STORE

Williamsville. NY 14221

NORTH CAROLINA

BYTE SHOP

Charlotte, NC 28212

COMPUTERLAND

Charlotte, NC 28205

FUTUREWORLD

Durham, NC 27707

BYTE SHOP

Greensboro, NC 27401

MICROCOMPUTER SERVICES

Hickory. NC 28601

BYTE SHOP OF RALEIGH

Raleigh. NC 27605

OHIO

BASIC COMPUTER SHOP

Akron, OH 44314

CINCINNATI COMPUTER STORE

Cincinnati. OH 45246

21ST CENTURY SHOP

Cincinnati, OH 45202

DIGITAL DESIGN

Cincinnati, OH 45202

CYBER SHOP

Columbus, OH 43227

MICRO MINI COMPUTER WORLD

Columbus, OH 43213

COMPUTER SOLUTIONS

Dayton. OH 45409

DAYTON COMPUTER MART

Dayton, OH 45409

ASTRO VIDEO ELECTRONICS

Lancaster, OH 43130

COMPUTERLAND OF CLEVELAND

Mayfield Heights, OH 44121

RADIO SHACK (Dealer)

SI. Clairsville, OH 43950

OKLAHOMA

HIGH TECHNOLOGY

Oklahoma City, OK 73106

MICROLITHICS

Oklahoma City, OK 73127

HIGH TECHNOLOGY

Tulsa. OK 74129

OREGON

THE COMPUTER STORE

Corvallis. OR 97330

CAMERA AND COMPUTER

EMPORIUM

Portland. OR 97205

COMPUTERLAND OF PORTLAND

Tigart. OR 97223

PENNSYLVANIA

BYTE SHOP

Bryn Mawr. PA 19010

PERSONAL COMPUTER CENTER

Frazer, PA 19355

COMPUTER AID

Lalrobe. PA 15650

THE COMPUTER WORKSHOP

Murrysville. PA 15668

P.S.: VISICALC—Howdidyouever do without it?

A B COMPUTERS

Perkasie, PA 18944

MICROTRONIX

Philadelphia, PA 19106

SOUTH CAROLINA

DATA MART

Greenville, SC 29607

TENNESSEE

MICROCOMPUTER STORE

Knoxville, TN 37919

COMPUTER LABS OF MEMPHIS

Memphis, TN 38117

DOC'S COMPUTER SHOP

Nashville, TN 37211

TEXAS

COMPUTERLAND OF AUSTIN

Austin, TX 78757

COMPUTERS 'N THINGS

Austin, TX 78731

MICRO COMPUTER SHOPPE

Corpus Chnsti, TX 78411

COMPUSHOP

Dallas, TX 75243

COMPUTERLAND

Dallas, TX 75231

RA ELECTRONICS SALES

Dallas, TX 75247

COMPUTER TERMINAL

El Paso. TX 79901

RAM MICRO SYSTEMS

Fort Worth. TX 76116

COMPUTERCRAFT

Houston. TX 77063

COMPUTERLAND OF HOUSTON BAY

Houston. TX 77058

NEIGHBORHOOD COMPUTER

Lubbock. TX 79401

COMPUTER PATCH OF SANTA FE

Odessa. TX 79762

COMPUSHOP

Richardson. TX 75080

THE COMPUTER SHOP

San Antonio, TX 78216

COMPUTER SOLUTIONS

San Antonio, TX 78229

WICHITA COMPUTER SYSTEMS

Wichita Falls. TX 76301

UTAH

ADP SYSTEMS

Logan. UT 84321

COMPUTER CONCEPTS GROUP

Salt Lake City, UT 84109

THE HI-FI SHOP

Salt Lake City, UT 84117

VERMONT

COMPUTERMART

Essex Junction, VT 05452

VIRGINIA

COMPUTER HARDWARE STORE

Alexandria. VA 22314

COMPUTERS PLUS

Alexandria, VA 22304

COW, INC.

Blacksburg, VA 24060

HOME COMPUTER CENTER

Newport News, VA 23606

COMPUTER TECHNIQUES

Richmond. VA 23235

THE COMPUTER PLACE

Roanoke. VA 24015

COMPUTER WORKSHOP

Springfield, VA 22151

COMPUTERLAND

Vienna, VA 22180

HOME COMPUTER CENTER

Virginia Beach, VA 23452

WASHINGTON

OMEGA NORTHWEST

Bellevue. WA 98004

COMPUTERLAND OF SOUTH

KING COUNTY

Federal Way. WA 98003

YE OLDE COMPUTER SHOPPE

Richland, WA 99352

THE COMPUTER SHOPPE

Seattle, WA 98115

EMPIRE ELECTRONICS

Seattle, WA 98166

PERSONAL COMPUTERS

Spokane. WA 99202

COMPUTERLAND

Tacoma, WA 98499

WISCONSIN

BYTE SHOP OF MILWAUKEE

Greenfield. Wl 53227

COMPUTERLAND

Madison, Wl 53711

MADISON COMPUTER STORE

Madison. Wl 53711

COMPUTERLAND

Milwaukee, Wl 53222

FOX VALLEY

COMPUTER STORE

Neenha. Wl 54956

WYOMING

COMPUTER CONCEPTS

Cheyenne, WY 82001

AUSTRALIA

ELECTRONIC CONCEPTS PTY. LTD.

COMPUTERLAND

Sydney, N.S.W.

CANADA

COMPUSHOP

Calgary, Alberta T2N 2A4

Circle 302 on inquiry card.

THE COMPUTER SHOP

Calgary, Alberta T2T 4T9

ORTHON COMPUTERS

Edmonton, Alberta T5N 3N3

TJB MICROSYSTEMS

Edmonton. Alberta T5M OH9

CONTI ELECTRONICS

Vancouver. B.C. V5W 2Z4

COMPUTER CITY

Winnepeg. Manitoba R3P 0H8

COMPUTERLAND

Winnepeg. Manitoba R3G 0M8

INTERACTIVE COMPUTER SYSTEMS

Frederickton, New Brunswick

MINICOMP SYSTEMS

Halifax. Nova Scotia B3K 2G1

KOBETEK SYSTEMS

Wolfville, Nova Scotia BOP 1X0

COMPUTERLAND

Burlington. Ontario

LYNTRONICS

Downsview, Ontario M2J 2W6

COMPUTER CIRCUITS

London. Ontario N6A 3H2

COMPUMART

Ottawa, Ontario K2A 1J2

COMPUTER INNOVATIONS

Ottawa. Ontario K1B 4A8

RICHVALE TELECOMMUNICATIONS

Richmond Hill. Ontario

THE COMPUTER CENTRE

Sarnia. Ontario N7T 1B4

COMPUTER MART

Toronto, Ontario M4G 3B5

THE COMPUTER PLACE

Toronto, Ontario M5V 1Z1

COMPUTER SPECIALIST

Toronto, Ontario M3K 1E7

HOME COMPUTER CENTRE

Toronto, Ontario M2M 3W2

HOUSE OF COMPUTERS

Toronto, Ontario

MARKETRON

Toronto, Ontario

MICRO-WARE

Toronto, Ontario M4E 2L2

COMPUCENTRE

Montreal. Quebec H1J 1Z4

FUTUR BYTE

Montreal. Quebec H3B 3C9

CUSTOM COMPUTING SERVICES

Saskatoon, Saskatchewan S7K 2B5

DIGITAL SERVICE

Saskatoon, Saskatchewan S7J 3A9

PUERTO RICO

MICROCOMPUTER STORE

Rio Piedras. PR 00921

ENGLAND

BYTE SHOP

llford, Essex

INFOGUIDE

London

CYTEK

Manchester M4 3E4

PETSOFT

Newbury, Berkshire RG13 1PB

KEEN COMPUTERS

Nottingham NG7 1FN

T « V JOHNSON

MICROCOMPUTERS

Camberly, Surrey

PETALECT

Woking, Surrey

J&J ELECTRONICS

Bexhill-on-Sea, East Sussex

OPTRONICS

Twickenham TW1 4RY

DENMARK

MICRO SYS

Copenhagen V1BYJ

FRANCE

SVEA

Paris 75008

GERMANY

BECK COMPUTERS

8 Munchen 70

ING. W. HOFACKER

8 Munchen 75

HOLLAND

COMPUTRON

Den Haag 2502 ER

ITALY

HOMIC MICROCOMPUTERS SRL

20123 Milano

SCOTLAND

MICRO CENTRE

Edinburgh EH3 5AA

SINGAPORE

THE COMPUTER CENTRE PIE. LTD.

Singapore 7

SWEDEN

MICROFUTURE

Stockholm 10322

SEMIDAKO

Uppsala 75353

SWITZERLAND

INTERFACE TECHNIC

Basel

INGENIEUBUREAU

Basel 1

DIALOG COMPUTER

Lucerne

ELBATEX

Wettingen

BYTE May 1979 163

EIQ ■

FIQ

FIO

(lb)

EIQ

Figure 1: The "wrap-around" queue. The queueis a method for storingdata in the form of a list:the first item into the listbecomes the first outof the list, in the samemanner as a waiting line ofpeople at a supermarketcheckout counter. Figurela shows the data for aninput queue in memorywith two pointers, FIQ(front of input queue) andEIQ (end of input queue).When an item is added tothe end of the queue, EIQis incremented by I. Inremoving an item from thequeue, FIQ is incrementedby one. Note that thequeue is ' 'upside-do wn''here; that is, the end ofthe queue is on top.When the top of the arrayin memory is reached, EIQis altered so it pointsto the bottom of thearray, thus "wrapping" thequeue around the arrayas in figure 1b. Notice alsothat pointer EIQ points tothe location that is one.beyond the end of thequeue. This enables theprogram to detect anempty or full array whenEIQ = FIQ.

W D Maurer

University Library Bldg

Room 634

George Washington University

Washington DC 20052

Simultaneous Input andOutput for Your 8080

The process of I/O (input/output) inassembly language on a typical microcom-puter system is rather crude. You input thestatus register and perform a logical ANDwith a mask consisting of one bit. If theresult is not zero, you know the bit wason and the I/O device was therefore ready.In that case, you either input or output thedata register, as appropriate. Otherwise,you loop back to input the status registeragain. On the 8080, it goes like this:

Input

ILOOP:

IN

ISTAT

AN I

IREADY

JZ

ILOOP

IN

IDATA

Output

IN

OSTAT

ANI

OREADY

JZ

OLOOP

OUT

ODATA

OLOOP:

where the quantities ISTAT, IDATA,OSTAT, ODATA, IREADY, and OREADYare what is called, in the world of big com-puters, "installation-dependent" (that is,they differ from one person's 8080 toanother). The first four of these might begiven by:

ISTAT EQU 3

IDATA EQU 2

OSTAT EQU 3

ODATA EQU 2

describing a single channel for both inputand output involving two ports, with portnumbers 3 and 2. The other two might begiven as:

IREADY EQU 1OREADY EQU 2

to denote that the rightmost bit of the status

register is the input-ready flag and the secondbit from the right in this register is the out-put-ready flag. (Your dealer must supplyyou with these values, or show you how tofind what they are, when you buy yoursystem.) You can also make these into sub-routines by adding a return as follows:

INPUT: IN

ISTAT

ANI

IREADY

JZ

INPUT

IN

IDATA

RET

OUTPUT: IN

OSTAT

ANI

OREADY

JZ

OUTPUT

OUT

ODATA

RET

This allows you to CALL INPUT to bring anewly input character into register A, or toCALL OUTPUT whenever you have a newcharacter in register A that you want to putout.

The trouble with this kind of I/O is thatit is not simultaneous. When you are doinginput, that is all you are doing; when youare doing output, that is all you are doing.Meanwhile, your system is sitting uselesslyin a loop, which it is performing severalthousands of times, or sometimes (particu-larly in the case of input) several millions oftimes. What you need in order to increasethe efficiency of your system, if you have190 bytes of read only memory and 65bytes of programmable memory to spare, isa simultaneous I/O package which allowsyou to do input, processing, and output, allat the same time.

The basic idea of simultaneous I/O is thatof the queue. Any queue can be consideredby analogy to a waiting line for a bus. (Thestory, told to this author second or thirdhand, is that in England people line up forbuses in lines that look like spirals or, more

164

May 1979 © BYTE Publications Inc

>

THE LEADER INmiCROCOmPUTER EDUCATION

PRESENTS

BEST-SELLING BOOKS

Used by Universities and Industry worldwide (ten languages}

<

AN IN1KXXOONTO PERSONALAND BUSINESSCONFUTING

r\ f\rs

w&

■

N / rodnay zak»

mieroBmessofs

C200-AN INTRODUCTION TOPERSONAL AND BUSINESS COMPUTING

Rodnay Zaks, 250 pp

A comprehensive introduction to small computers, theirperipherals, and what to select. $6.95

C201-MICROPROCESSORS: FROMCHIPS TO SYSTEMS

Rodnay Zaks, 416 pp

The basic text on all aspects of microprocessors andthe assembly of a system. $9.95

C202 - PROGRAMMING THE 6502

Rodnay Zaks, 250 pp

A complete introductory programming text for the6502 $10.95

D302 ■ 6502 APPLICATIONS BOOK

Rodnay Zaks, 200 pp

Connecting a 6502 board to the outside world: fromhome alarm to music and industrial control. $12.95

MICROPROCESSOR

INTERFACINGTECHNIQUES

ROONAVZAXS

:;

C207- MICROPROCESSORINTERFACING TECHNIQUES

A. Lesea & R. Zaks, 416 pp

How to interface a microprocessor to external devices:from keyboard to ADC to floppy disk, includingstandard busses. $11.95

XI-MICROPROCESSOR LEXICON, 125pp

All the definitions of the microprocessor world in a con-venient pocketbook format. 52.95

r

AVAILABLE AT BOOKSTORES, COMPUTER STORES, AND ELECTRONIC SHOPS EVERYWHERE!

SELF-STUDY COURSES ON CASSETTES

"The time-efficient way to learn"™

Self-study courses include two to eight audio-cassettes and a special book. They offer the fastest way to learn the topic covered(from Vi to two days). Highly effective.

<

'R

MICROPROCESSOR 5<i.F-STUDYCOURM ON CASSETTiS

5

DESIGNING A

MICROPROCESSOR

SYSTEM

3 f, 1

f mmmn I

1 * imm m I

MICROPROCESSORS

FROM CHIPS TO SVSTtMS

i.ei'.avY.. 3,

a fir Id • ■ - ss

mimmm

1-INTRODUCTORY-SHORT (2.5 hrs ea)

SI-INTRODUCTION TO

MICROPROCESSORS S29.95

S2-PROGRAMMING

MICROPROCESSORS S29.95

S3-DESIGNING A MICROPROCESSOR

SYSTEM $29.95

SI OB-INTRODUCTION TO PERSONAL AND

BUSINESS COMPUTING S21.90

2- INTRODUCTORY- COMPREHENSIVE

(lO to 12 hrs ea)SB1-MICROPROCESSORS S59.95

SB2-MICROCOMPUTERPROGRAMMING $59.95

TO ORDER

By Phone: 415 848-8233. Visa, M.C.,

Amer Express.By mall: Include payment.Shipping: add SI.50 per book (UPS) or

65c (4th class - allow 4 weeks).

Double for cassettes and overseas.Tax: In California add tax.

FREE DETAILED CATALOGUE

fsYBEXj

2020 Milvia Street

Berkeley, CA94704

Tel 415 848-8233 Telex 336 311

3 - SPECIALIZED (4.5 to 6 hrs ea)

SB3-MILITARY MICROPROCESSORSYSTEMS $49.95

SB5-BIT-SLICE $49.95

SB6-INDUSTRIAL MICROPROCESSORSYSTEMS $49.95

SB7-MICROPROCESSORINTERFACING $49.95

NAME

COMPANYADDRESS_CITY

.POSITION _

_STATE/ZIP

DC200 DC201 DC202 DC207 DD302 DS1 DS2DS3 DS10B DSB1 DSB2 DSB3 DSB5 DSB6 DSB7Dchargemy DVisa DM.C. DAmer Express

Number Exp. date

Signature

DSend CatalogueB5

Circle 356 on inquiry card.

BYTE M.iy 1979

165

IP:

IP2:

IP3:

IP4:

PUSH H

LHLD FIQ

LDA

EIQ

CMP

L

JNZ

IP3

CALL OPOLL

CALL IPOLL

JNC

IP2

MOV

A,M

PUSH PSW

INX

H

MVI

A,TIQ

CMP

L

JNZ

IP4

MVI

L,BIQ

SHLD FIQ

POP

PSW

POP

H

RET

informally, like the tail of a pig — a shapethat is in turn called queue in French, pre-sumably because it looks vaguely like theletter Q.) Consider the characters waiting forthe bus as ASCII characters, rather than aslocal town characters, and consider the busnot as a bus in the technical sense, but(for output) as the actual output device —the teletypewriter video display terminal,Selectric terminal, or whatever. When yourroutine wants to output a character, thischaracter goes on the end of the queue. Itthen has to wait for a while until the charac-ters in front of it, which were enteredearlier, get on the bus — that is, until theyare actually output — before it can beoutput.

The analogy with the bus is not a perfectone, because a real bus; when it comes along,takes everybody waiting for it all at once. Awaiting line in a supermarket at the check-out counter would be a better analogy, be-cause characters, like shoppers, leave thequeue one at a time, as well as entering itone at a time.

For input, there is another queue, butthis time the input device feeds new charac-ters onto the end of the waiting line, andthey come off the front — that is, board thebus — when they are actually used by theprogram which is asking for input. Severalcharacters might be typed before they wereactually used by the program, presumablybecause it is doing something else, such asa long computation. For output, the useof the queue is more common, becauseprograms typically produce output charac-ters much faster than they can actually beput out; these characters enter the queueand are then output from it, one at a time,

SAVE HL REGISTERFRONT OF INPUT Q TO HLEND OF INPUT.Q (LO) TO ACOMPARE FIQ(LO):EIQ(LO)IF UNEQUAL, Q NONEMPTYQ EMPTY. TIGHT LOCP(KEEP POLLING I AND O)(UNTIL IN CHAR. RECEIVED)FIRST IN Q CHAR. TO ASAVE THIS CHARACTERUPDATE FRONT OF INPUT QWRAPAROUND TEST (COMPAREFIQ(LO) AND TOP OF IN Q(LO) -- IF =, RESET TOBOTTOM OF IN Q (LO)PUT FIQ BACK IN MEMORYRESTORE INPUT CHARACTERRESTORE HL REGISTEROUT OF THIS ROUTINE

Listing 7.• Subroutine IP, written in 8080 assembler language and called whenthe user's program wants an input character. IP returns that character in theA register.

while the computer goes on to whatever ithas to do next.

Before we discuss how a queue like thisis actually implemented, let us digress abit and answer one fundamental question:how are we to handle three programs goingsimultaneously — an input program, an out-put program, and something else which isreading input and writing output? There aretwo ways, one being the use of interrupts,the other making use of a technique calledpolling. We shall use polling, mainly becauseit does not require any special hardware (notall 8080 systems have a priority interruptcontrol unit) and also allows the user whomight not have written his own monitorto use simultaneous I/O without interferingwith any interrupt conventions which hismonitor might have established.

Polling, in this case, assumes that thefunctions of watching the input device andthe output device to see if they are ready,and taking appropriate action when they areready, are subroutines of the user's program.We shall call them IPOLL and OPOLL. Theyare not to be confused with the ordinary I/Osubroutines which supply input to the user'sprogram and accept output from it; we shallcall these IP and OP. To summarize thefunctions of our four routines:

(1) IP is called when the user's programwants an input character, and IP re-turns with that character in registerA.

(2) OP is called when the user's programhas a character to be output, and thischaracter must be in register A whenOP is called.

(3) IPOLL is called every so often (in asense to be described more preciselybelow) to check whether the userhas keyed in a new character thathas to be placed on the end of theinput queue.

(4) OPOLL is called every so often tocheck whether the output devicehas completed its processing of theprevious character to be output; ifit has, the next one is sent out.

IPOLL and OPOLL are called both fromIP and OP and from the user's program.When they are called from IP and OP, theyemploy an additional feature, not discussedabove. IPOLL returns with the carry set ifa new character is placed on the input queue,and clear otherwise. OPOLL returns with thecarry set if a new character was removedfrom the output queue and put out, andclear otherwise. This information is used byIP and OP, but it is not needed by the userprogram. In fact, for the user program, thereis no need to distinguish between the func-

166 May 1979 © BYTE Publications Inc

OUR $9.95 TUTOR!

OSSB

A Computet Target GameThat Teaches Fractions While You Play!

Available on Hayden Computer Program Tapes for the PET!

Our $9.95 tutor is cheaper than a private tutor, butit's as effective as one. It's an active and fun wayof learning a boring subject. It is ideal for home useand for the whole family. It can be played individu-ally or with up to 9 competitors. And it's completelyready to run on your PET personal computer!

CROSSBOW is an effective way of lifting thebarriers that usually block understanding of frac-tions. It's effective because CROSSBOWgrabs attention and holds it

duced to the lowest common denominator. Level 3generates a fraction and requires the player to addor subtract a fraction. The resulting sum or differ-ence is the position the arrow will strike.

All these features make CROSSBOW a val-uable $9.95 tutor. It can prove to be invaluable toyour children!

CROSSBOW

by Paul J. Breitenbach,#02701, $9.95

through competitive spirit,while teaching fractions in a game situation!Three levels of play challenge all ages from 7to adult. Level 1 play teaches recognition of frac-tional quantities and allows the player to use a rulerto help determine the position of the target on thescreen. Level 2 increases judgment of fractionalquantities in that the ruler is not displayed until after4 misses. Level 2 also accepts only fractions re-

Check out these other HaydenComputer Program Tapes:

• SARGON: A COMPUTER CHESSPROGRAM • GAME PLAYING WITHBASIC • THE FIRST BOOK OF KIM

• HOW TO BUILD A COMPUTER-CONTROLLED ROBOT • MAYDAY!

Available at your local computer store!

\S\

HAYDEN yoursoftware supplier!

Hayden Book Company, Inc.

50 Essex Street, Rochelle Park, NJ 07662

Circle 160 on inquiry card.

BYTE May 1979 167

OP:

PUSH PSW

PUSH H

LHLD EOQ

MOV M,A

INX H

MVI A,TOQ

CMP L

JNZ OP2

MVI L,BOQ

OP2:

LDA FOQ

CMP L

JNZ OP4

OP3:

CALL IPOLL

CALL OPOLL

JNC OP3

OP4:

SHLD EOQ

CALL OPOLL

CALL IPOLL

POP H

POP PSW

RET

tions of calling IPOLL and calling OPOLL. Itis enough to have a single subroutine, POLL,whose only function is to call IPOLL andOPOLL and then return; the subroutinePOLL can then be called by the user program.

How often must the user program callthe subroutine POLL? The answer is that theuser program must be so organized thatthere is never a significant amount of realtime during which POLL is not called. (Howto ensure this will be described below.) Thereason, of course, is that if this is not so, wecould have the bad luck to push an inputkey during such a period of real time, andthen, since POLL was not called, that inputcharacter will never be placed on the inputqueue and will therefore never be seen bythe user's program. (Remember Murphy'slaw: if anything can go wrong, it will.)

On output, the situation is not that bad,but if there were a significant amount oftime during which POLL was not called,the output device would effectively bestopped during that period of time. If thiswere a recurrent phenomenon, you wouldsee the output device starting and stoppingin jerks, like a car that loses power.

The easiest way to call POLL often enoughfrom the user's program is to call POLL oncein every loop and at least once in every sub-routine. (If there is a subroutine call instruc-tion in a loop, we do not need to call POLLexplicitly in that loop, since POLL will becalled by the called subroutine.) Or, for amore explicitly stated method, call POLLjust before every return instruction and atevery labeled instruction to which there is abackward jump. (That is, if the label isALPHA, then somewhere later in the pro-gram there must be a jump to ALPHA.)

SAVE A-REGISTERSAVE HL-REGISTEREND OF OUTPUT QPUT CHAR. ON END OF QUPDATE END OF OUTPUT QWRAPAROUND TEST (COMPAREEOQ(LO) AND TOP OF OUT Q(LO) — IF =, RESET TOBOTTOM OF OUT Q (LO))FRONT OF OUTPUT Q (LO)TO A — IF = EOQ (LO)AFTER INCR., Q FULLQ FULL. TIGHT LOOP(KEEP POLLING I AND O)(UNTIL SMALLER OUT Q)PUT EOQ BACK IN MEMORYMAKE SURE OPOLL AND IPOLLARE CALLED AT LEAST ONCERESTORE HL-REGISTERRESTORE A-REGISTEROUT OF THIS ROUTINE

Listing 2: Subroutine OP, called when the user's program has a character tobe output. This character must be in the A register when OP is called.

This insures that POLL wi|| be called oftenenough. [In a system with a real time clock,calling POLL from the interrupt handlerfor the clock every few milliseconds willaccomplish the same end.... CH/

We now discuss the way in which we im-plement a queue in memory, namely as a"wraparound array." We start with an arrayIQ (input queue) of characters, togetherwith two 16 bit pointers, or variables whosevalues are addresses, called FIQ (front of in-put queue) and EIQ (end of input queue).Figure 1 shows a typical configuration of theinput queue. The shaded area shows thecharacters that are actually in the queue; theunshaded area shows the rest of the array inmemory. To take a character off the frontof the queue, assuming that FIQ is in registerpair HL (which we can bring about by doingLHLD FIQ), we get the character to whichFIQ points (by doing MOV A,M) and thenincrease FIQ by one (by doing INX H). Toput a character on the end of the queue,assuming that EIQ is in the HL register pair(by means of LHLD EIQ), we move it tomemory at the place where EIQ points (bydoing MOV M,A — assuming that the newcharacter is in the A register) and then in-crease EIQ by one (by doing INX H). Notethat, in a sense, the queue is "upside-down"— the end of the queue is on top. If it were"right-side-up" we would have to decreaseFIQ and EIQ by one in the above processes(by doing DCX H), rather than increasingthem by one. Of course, after either de-creasing or increasing, we must put FIQ(or, respectively, EIQ) back in memory (bydoing SHLD FIQ or SHLD EIQ).

Of course, we cannot keep increasing FIQand EIQ forever. Eventually, in figure la,EIQ will get to the top of the array in mem-ory. When this happens, we alter it to pointto the bottom of this array (this is the"wraparound" feature). After a while, thesituation looks like figure lb. Here again, theshaded area represents the characters act-ually in the queue. The first one is whereFIQ points, the next one is right above that,and so on up to the top of the array; thenwe start at the bottom of the array, and soon up to where EIQ points. We are treatingthe array as if it were cyclical, and, in fact,on big computers, this setup is often knownas a "circular array" or a "ring buffer."

We note that FIQ points to the firstcharacter in the queue, but EIQ does notpoint to the last character in the queue — itpoints to the position one beyond the lastcharacter. To see why this is so, suppose thequeue has exactly one character in it. We donot want FIQ and EIQ to be the same, be-cause we want that to happen only when thequeue is empty — when there are/70 charac-ters in it — or else when it is entirely full

168 May 1979 © BYTE Publications Inc

MicroSource™ is becoming the chosen business software producer. For all the right reasons. For example, beforeyou ever see one of our applications, it's field tested and refined. Another reason is our Operations Manuals.They're called the finest in the industry . . . you never need special training to use MicroSource. One morereason: versatility. MicroSource works with different terminals and printers. You can use your favorite terminal,and choose between speed or print quality in a printer. Add in the rest of the story — like support, enhance-ments, low cost — and you get the picture.

If your dealer stakes his business on MicroSource software, can you afford to do less?

MoneyBelt — The Money Manager™ LedgerPlus — The Company Bookkeeper™

A modular in-house bookkeeping package with gen- Also modular, with all the accounting modules of

eral ledger, accounts payable and receivable, andpayroll. Buy at your own pace . . . one at a time or allat once. Less than $8000 (under $200/mo. on a fi-nancing lease) for all hardware and first module (sugg.list). Horizon and other North Star disk based systems.

MoneyBelt, plus inventory, check reconciliation andmailing list. Each interacts with the others, but standsalone, too. A first for Vector Graphic, MZ, Apple andMicropolis disk based systems. Less than $8000(under $200/mo. on a financing lease) for all hardwareand first module (sugg. list).

Other business software packages by MicroSource: AutoScrlbe — The Paperwork Manager™, Bookkeeper —The Office Accountant™, TlmeKeeper — The Time Accountant™.

snivel \jo\j\ai \~*

1425 W. 12th Place • Tempe, Arizona 85281 • (602) 894-9247 • Cable: MICROAGETelex: 165 033 (MICRO AGE TMPE)

The following are trademarks of The Phoenix Group, Inc.:

MicroSource, Autoscribe, Bookkeeper, MoneyBelt, LedgerPlus, TimeKeeper.

DEALERSHIPS STILL AVAILABLE

Circle 228 on inquiry card.

BYTE Mav lSI7y

169

IPOLL:

IPOLL2:

IPOLL3:IPOLL4:

IPOLL7:

IN ISTATANI IREADYRZ

PUSH HIN IDATALHLD EIQMOV M,AINX HMVI A,TIQCMP LJNZ IPOLL2MVI L,BIQLDA FIQSUB LJZ IPOLL3SHLD EIQJNC IPOLL4ADI LIQCPI IFUDGEJNC IPOLL7LXI H,IACINR MPOP HSTCRET

(since these are the two cases in which specialaction has to be taken). By adopting theconvention illustrated in figure 1, both ofthese conditions can be sensed by testing forFIQ = EIQ. Of course, the entire setup offigure 1 has to be duplicated for the outputqueue OQ and its two associated pointersFOQ and EOQ.

Let us make the simplifying assumptionthat each queue is entirely within one 256byte page (from hexadecimal addresses xxOOthrough xxFF for some hexadecimal valueof xx). This means that we can compare reg-ister pair HL with the address of the top of aqueue by simply comparing register L withthe low-order eight bits of this address. Onequality, we set register L only (register Hdoes not change) to the low-order eight bitsof the address of the bottom of the queue.Here the top and the bottom refer to thearray in memory, and are distinct from thefront and the end as discussed above.

What happens when our queues get full?First of all, let us discuss how big we wantthe queues to be. The two queues and thefour addresses FIQ, EIQ, FOQ, and EOQmust of course be in programmable memory,while the four routines IP, OP, IPOLL, andOPOLL can be in read only memory. So toa certain extent it depends on how muchprogrammable memory is available in yoursystem. An input queue of n charactersallows you to type n characters ahead ofwhere the program is at any given moment;an output queue of n characters allows

GET STATUS BITS (IN)READY BIT ZERO MEANSNOTHING TYPED - OUTSOMETHING TYPED - SAVE

HL REG. AND INPUT ITEND OF INPUT Q TO HLPUT CHAR. ON END OF QUPDATE END OF INPUT QWRAPAROUND TEST (COMPAREEIQ(LO) AND TOP OF IN Q(LO) — IF =, RESET TOBOTTOM OF IN Q (LO))FRONT OF INPUT Q (LO)TO A — IF = EIQ (LO)AFTER INCR., Q FULLNOT FULL. RESTORE EIQIF FIQ-EIQ IS NEGATIVE,

ADD SIZE OF INPUT QTEST IN Q WITHIN FUDGEFACTOR (7) OF BEINGFULL. IF SO, BUMP INPUTALARM COUNTER BY 1RESTORE HL REGISTERSET CARRY (CHAR. THERE)OUT OF THIS ROUTINE

Listing 3: Subroutine IPOLL, called periodically to check -whether the userhas keyed in a new character that has to be placed at the end of the inputqueue.

your program to put out n more charac-ters than have actually been output yetby the output device at any given mo-ment. While the device is outputting these ncharacters, your system can be doing some-thing else simultaneously. There is no reasonfor the input and the output queues to bethe same size, and in a typical applicationyou might be using 10 characters in the in-put queue and 55 characters in the outputqueue. A bit of experimentation here willsatisfy you as to what is comfortable foryour application.

When the output queue gets full, it meansthat the capacity of the queue for temporarilysaving output characters has been used up.In that case we simply go back to what weused to do before we had simultaneous I/O -that is, wait for a character to be actuallyput out before we do anything else. When-ever the user's program puts a new characterinto the output queue, we perform ourincrementation, as discussed above, and thencheck to see if the output queue is full(FOQ = EOQ). In that case, we go into aloop, calling IPOLL and OPOLL untilOPOLL returns with the carry set. This indi-cates that OPOLL sensed output ready andput out a character — an operation that re-duces the size of the output queue. Theresult is that, when we enter the outputroutine OP, the output queue will never befull, and, if FOQ = EOQ, we know that theoutput queue is not full but empty.

When the input queue becomes full, weare typing too fast. Any further characterswhich we type will not be read by theuser's program. The only thing we can doin this case is to give the user a warning thatthis has happened, so that he will retype thecharacters involved. Fortunately we can dothis easily, with most output devices, byputting out a control-G (hexadecimal 07, oron some output devices 87) which willeither ring a bell or put out a high-pitchedbeep. A variation on this system, which weuse, involves putting out the control-G whenthe output queue is almost full (let us say,seven or fewer spaces remaining) so that thelast few characters do not have to be re-typed; the user simply stops typing for awhile and waits for a decent interval.

A minor technical point: We cannotsound the bell simply by calling OP. Recallthat calling OP simply puts a characteron the output queue; it may be a secondor longer before that character is actuallyput out. When we type a character thathas to be retyped, however, we need animmediate indication of this fact. We there-fore use a single-byte input alarm counterIAC which is normally zero. To specifya bell as above, we simply increment IAC

170 May 1979 © BYTE Publications Inc

THE TRS-80ASSEMBLY LANGUAGE

DEVELOPMENT SYSTEM

(A STEAL AT TWICE THE PRICE)

A short time ago,Microsoft introduced TRS-80FORTRAN— a completeANSI-standard FORTRANwith macro assembler, linkingloader, and text editor, all foronly $350. The responsehas been overwhelming.

Many TRS-80 users eventold us, "The assemblylanguage developmentsoftware alone is worth thatprice." We think they're right,of course, but we've made itan even better deal.

ANNOUNCING:THE TRS-80ASSEMBLY LANGUAGEDEVELOPMENT SYSTEMFOR $175.

For half the price of theTRS-80 FORTRAN Package,you can buy the TRS-80ASSEMBLY LANGUAGEDEVELOPMENT SYSTEM,including:

EDIT-80 A fast, randomaccess text editor that's easyto use and loaded withfeatures. Lets you insert,replace, print or delete lines;

edit individual lines;renumber lines in a file; andfind or substitute text.

MACRO-80 The bestZ80 assembler anywhere.MACRO-80 supports acomplete Intel-standardmacro facility plus manyother "big computer"assembler features: commentblocks, octal or hex listings,8080 mode, titles andsubtitles, variable input radix(base 2 to base 16), and acomplete set of listingcontrols.

LINK-80 Loads yourrelocatable assemblylanguage modules forexecution and automaticallyresolves external referencesbetween modules.

CREF-80 Gives you acomplete dictionary ofprogram symbols, showingwhere each is defined andreferenced.

The Microsoft TRS-80FORTRAN Package is stillavailable for $350. Or, forHALF PRICE, get the TRS-80ASSEMBLY LANGUAGEDEVELOPMENT SYSTEM.

Either way, it's a steal.

TO: Microsoft, 10800 N.E. 8th, Suite 819, Bellevue, WA 98004

□ Send me the works! TRS-80 FORTRAN Package for $350.

□ Send me half the works! TRS-80 Assembly LanguageDevelopment System for $175.

□ Check enclosed □ Master Charge □ VISA

CARD NUMBER

CARDHOLDER'S SIGNATURE

NAME

ADDRESS

STATE ZIP

JjJ MICROSOFT

Dealer Inquiries Invited

BYTE May 1979

171

OPOLL:

OPOLL1:

OPOLL5:OPOLL7:

IN OSTAT

AN I 0READY

RZ

LDA IAC

DCR A

JM OPOLLl

STA IAC

MVI A,CTRLG

OUT ODATA

RET

PUSH H

LHLD FOQ

LDA EOQ

CMP L

JZ OPOLL7

MOV A,M

OUT ODATA

INX H

MVI A,TOQ

CMP L

JNZ OPOLL5

MVI L,BOQ

SHLD FOQ

POP H

STC

RET

GET STATUS BITS (OUT)READY BIT ZERO MEANS

PORT STILL BUSY - OUTGET INPUT ALARM COUNTERAND DECREASE IT BY 1IF WAS ZERO, NO ALARMSTORE DECREASED VALUECONTROL-G (BELL) TO AOUTPUT (TYPING TOO FAST,

ALARM) AND EXITSAVE HL REGISTERFRONT OF OUTPUT Q TO HLEND OF OUT Q (LO) TO ACOMPARE FOQ(LO) :EOQ(LO)IF EQUAL, NOTHING IN QGET FIRST THING IN Q

AND PUT IT OUTUPDATE FRONT OF OUTPUT QWRAPAROUND TEST (COMPAREFOQ (LO) AND TOP OF OUTQ(LO) — IF =, RESET TOBOTTOM OF OUT Q (LO))PUT FOQ BACK IN MEMORYRESTORE HL REGISTERSET CARRY (WORK DONE)OUT OF THIS ROUTINE

Listing 4: Subroutine OPOLL, called periodically to check whether theoutput device has completed its processing of the previous character to beoutput. If it has, the next character is sent out.

by one, and then OPOLL checks IACbefore it does anything else (if the outputdevice is ready) and outputs a bell if IACdoes not equal 0, decrementing IAC by oneas it does so.

The complete code for IP, OP, IPOLL,and OPOLL is given in listings 1 through4, with the data definitions given in listing5 and the initialization given in listing 6.To summarize the steps needed in order touse the system:

(1) Include in your program (kept ineither read only memory or programmablememory) the subroutines given in listings1, 2, 3, and 4.

(2) Include as part of the initializationof your main program the initializationsteps given in listing 6.

(3) Include as part of your data (keptin programmable memory) the data defini-tions of listing 5.

(4) In your program, whenever you needan input character, write CALL IP to put anew character into the A register; wheneveryou have a character to put out, put it inthe A register and then CALL OP.

(5) Have a subroutine POLL in yourprogram, as follows:

FIQ: DS

2

EIQ: DS

2

FOQ: DS

2

EOQ: DS

2

IAC: DS

1

LIQ EQU

36

LOQ EQU

36

IQ: DS

LIQ

OQ: DS

LOQ

BIQ EQU

IQ MOD 25 6

BOQ EQU

OQ MOD 25 6

TIQ EQU

BIQ+LIQ

TOQ EQU

BOQ+LOQ

ISTAT EQU 3

OSTAT EQU 3

I DATA EQU 2

ODATA EQU 2

I READY

2QU 2

0READY EQU 1

CTRLG EQU 7

IFUDGE ]

3QU 7

FRONT OF INPUT Q (2 BYTES)END OF INPUT Q (2 BYTES)FRONT OF OUTPUT Q (2 BYTES)END OF OUTPUT Q (2 BYTES)INPUT ALARM COUNTER (1 BYTE)LENGTH OF INPUT QLENGTH OF OUTPUT QINPUT Q (SINGLE PAGE)OUTPUT Q (SINGLE PAGE)BOTTOM OF INPUT Q (LO)BOTTOM OF OUTPUT Q (LO)TOP OF INPUT Q (LO)TOP OF OUTPUT Q (LO)INPUT STATUS PORTOUTPUT STATUS PORTINPUT DATA PORTOUTPUT DATA PORTMASK FOR INPUT READYMASK FOR OUTPUT READYCONTROL-G (SOMETIMES 87H)INPUT FUDGE FACTOR

Listing 5: Suggested data definitions.

INIT:

LXI H,IQSHLD FIQSHLD EIQLXI H,OQSHLD FOQSHLD EOQXRA ASTA IAC

BOTTOM OF INPUT Q ISINITIAL VALUE OF FRONTAND END OF INPUT Q

BOTTOM OF OUTPUT Q ISINITIAL VALUE OF FRONTAND END OF OUTPUT Q

ZERO IS INITIAL VALUEOF INPUT ALARM COUNTER

Listing 6: Initialization of the system.

POLL: PUSHPSW

CALL IPOLLCALL OPOLLPOP PSWRET

and have your program call POLL once ineach loop and just before each subroutinereturn.

As soon as you have gotten this muchworking, it will be possible for you totinker with this system a bit further. Somesuggested ways of doing this are as follows:

(1) The sizes of the input and outputqueues can be altered. Make sure to alterthe entire data structure of listing 5 toinsure that all the routines of listings I,2, 3 and 4 operate on the same version ofthe data structure.

(2) There is a section of code in IP thatalmost duplicates a similar section of codein IPOLL. With a little ingenuity, this canbe made into a subroutine called by bothIP and IPOLL. (Hint: the first instructionis INX H, and JNZ can be replaced by RNZ.)The same thing happens with OP andOPOLL

(3) The input alarm logic can be furtherchanged. For example, two kinds of alarmscould be given: a single bell when the inputqueue is almost full, and a long string ofbells (say, ten of them) when the queueis actually full."

172 May 1l)79 © BYTE Publications Inc

S reasons why you should not buy

the electric pencil II ™

• • 1978 Michael Shrayer

Check the appropriate box(es):

You love typing the same copy 20 thousand times a day.

□ Your secretary can type 250 words per minute.

□ You're dying to spend $15,000 on a word processing system, just for thetax investment credit.

□ All your capital assets are tied up in a 10-year supply of correction fluid.

□ You never commit a single thought to paper.

If you have checked one or more boxes, you do not need The Electric Pencil.On the other hand, you may want to join the thousands of people who haven'tchecked a single box.

The Electric Pencil II is a Charac-ter Oriented Word Processing System.This means that text is entered as astring of continuous characters and ismanipulated as such. This allows theuser enormous freedom and ease in themovement and handling of text. Sinceline endings are never delineated, anynumber of characters, words, lines orparagraphs may be inserted or deletedanywhere in the text. The entirety ofthe text shifts and opens up or closesas needed in full view of the user. Thetyping of carriage returns or wordhyphenations is not required sincelines of text are formatted automatic-ally.

As text is typed and the end of aline is reached, a partially completedword is shifted to the beginning of thefollowing line. Whenever text is insert-ed or deleted, existing text is pusheddown or pulled up in a wrap aroundfashion. Everything appears on thevideo display as it occurs, which elim-inates guesswork. Text may be review-ed at will by variable speed scrollingboth in the forward and reverse direc-tions. By using the search or searchand replace functions, any string ofcharacters may be located and/or re-placed with any other string of charac-ters as desired.

Numerous combinations ofline length, page length, linespacing and page spacing permitautomatic formatting of anyform. Character spacing, boldface, multicolumn and bidirec-tional printing are included inthe Diablo versions. Multiplecolumns with right and left justifiedmargins may be printed in a single pass.

Wide screen video

Versions are available for ImsaiVIO video users with the huge 80x24character screen. These versions put al-most twice as many characters on thescreen!!!

CP/M versions

Digital Research's CP/M, as well asits derivatives, including IMDOS andCDOS, and Helios PTDOS versions arealso available. There are several NECSpinwriter print packages. A utilityprogram that converts The ElectricPencil to CP/M to Pencil files, calledCONVERT, is only $35.

Features

• CP/M, IMDOS and HELIOS compatible

• Supports four disk drives

• Dynamic print formatting

• DIABLO and NEC printer packages

• Multi-column formatting in one pass

• Print value chaining

• Page-at-a-time scrolling

• Bidirectional multispeed scrolling con-trols

• Subsystem with print value scoreboard

• Automatic word and record numbertally

• Cassette backup for additional storage

• Full margin control

• End-of-page control

• Non-printing text commenting

• Line and paragraph indentation

• Centering

• Underlining

• Bold face

Upgrading policy

Any version of The Electric Pencil

Have we got a versionfor you?

The Electric Pencil II operateswith any 8080/Z80 based microcom-puter that supports a CP/M disk sys-tem and uses an Imsai VIO, ProcessorTech. VDM-1, Polymorphic VTI, SolidState Music VB-1B or Vector Graphicvideo interface. REX versions alsoavailable. Specify when using CP/Mthat has been modified for Micropolisor North Star disk systems-as follows:for North star add suffix A to versionnumber; for Micropolis add suffix B,e.g., SS-IIA, DV- II B.

MICHAEL SHRAYER SOFTWARE, INC

1253 Vista Superba Drive

Glendale, CA. 91205

(213)956-1593

may be upgraded at any time by sim-ply returning the original disk or cas-sette and the price difference betweenversions, plus $15 to Michael ShrayerSoftware. Only the originally purchas-ed cassette or diskette will be acceptedfor upgrading under this policy.

Vers. Video Printer Price

SOL TTY or similar $225.

VTI TTY or similar 225.

VDM TTY or similar 225.

REX TTY or similar 250.

VIO TTY or similar 250.

SOL Diablo 1610/20 275.

VTI Diablo 1610/20 275.

I VDM Diablo 1610/20 275.

I REX Diablo 1610/20 300.

VIO Diablo 1610/20 300.

SOL NEC Spinwriter 275.

VTI NEC Spinwriter 275.

VDM NEC Spinwriter 275.

REX NEC Spinwriter 300.

VIO NEC Spinwriter 300.

SOL Helios/TTY 250.

SOL Helios/Diablo 300.

Attention: TRS-80 Users!

The Electric Pencil has been de-signed to work with both Level I(16K system) and Level II mod-els of the TRS-80, and with vir-tually any printer you choose.Two versions, one for use withcassette, and one for use withdisk, are available on cassette.The TRS-80 disk version is easily tran-sferred to disk and is fully interactivewith the READ, WRITE, DIR, andKILL routines of TRSDOS 2.1.Version Storage Price

TRC Cassette $100.TRD Disk $150.

SS-II

SP-II

SV-I

SR-I

Sill

DS-I

DP-I

DV-I

DR-I

Dl-ll

NS-II

NP-II

NV-II

NR-II

Nl-ll

SSH

DSH

Demand a demo from your dealer!

Circle 319 on inquiry card.

BYTE May 1979

173

Give themthe Gift ofLife

ST.JUDECHILDREN'SRESEARCHHOSPITAL

Danny Thomas, Founder

St. Jude Children's ResearchHospital is the onlyresearch institutiondedicated solely to theconquest of catastrophicdiseases of childhood.

In less than twenty years,the knowledge and newtreatment proceduresdeveloped there havebrought hope to sufferingchildren who once wouldhave been called incurable.

This knowledge is freelyshared with pediatriciansand physicians all over theworld. Children admitted toSt. Jude Children's ResearchHospital study programsreceive total medical carewithout cost.

This unique hospital needshelp to continue. Inflationkeeps eating away at thevalue of the dollar andincreases the cost ofoperation. At the same time,the very success that allowschildren under its care to livelonger means that St. Judemust provide free care to anincreasing number ofpatients.

Please join in this effort tosave children everywhere.Write: ALSAC-St. JudeChildren's ResearchHospital, 539 Lane Ave.,Memphis, TN 38105 forfurther information.

Please give these childrenthe Gift-of-Life by sending atax-deductable gift.

BYTE's Bits

Computer Chess Report

The ninth annual North AmericanComputer Chess Champsionship held atthe convention of the Association forComputing Machinery December 1978produced a new champion program. TheBelle system, developed at Bell Lab-oratories by Ken Thompson, emergedwith four wins in the Swiss SystemTournament and with top honors.

Belle was seeded fourth in thetournament, and faced defending cham-pion program Chess 4.7, the perennialfavorite written by David Slate andLarry Atkin of Northwestern University,in the second round. This match wasgenerally thought to be the finest gameof the entire event. Only the programs"knew" what was going on; neitherRobert Byrne nor David Levy, bothhighly skilled chessmasters, could eventell which program was winning.

A complete table of tournamentresults is reproduced here. The tablecontains blank entries because the 4round Swiss System does not have eachprogram play against every other pro-gram. A clear winner is produced, butthe relative ranking of contestantsfinishing in the middle of the pack isindeterminate. The seeding of entries,performed by Dr Monroe Newborn,was fairly accurate; only three gameresults were contrary to that predictedby the seeding.

Two programs in the event werewritten for microprocessors. Sargon,for the Z-80, and Mike, for the 6800,competed against programs executing onimpressively large computers. Much jestwas made over the fact that Sargon,running on a Wave Mate Jupiter com-puter, defeated the program Awit, whichwas running on a huge Amdahl 470system.

Awit had its problems, many ofwhich were caused by attempts to runthe program on several different ma-chines during the tournament. Thesaddest hard luck entry, however, wasthe Brute Force program. It was plaguedwith system crashes, program bugs (itcouldn't handle en passant pawn cap-tures made in just a particular way), andmalfunctioning "patches" to the pro-gram bugs. Brute Force lost its secondround game in three different ways.

A speed chess tournament pittinghuman chess players against Chess 4.7was held as an adjunct to the main event.The machine won two "5-minute"games from Mark Diesen, one of thefast rising young stars of Americanchess. Robert Byrne beat the machinetwice, but in "10-minute" games. Theprogrammers were honored to have hadthe program play a speed game againstEdward Lasker, at 93 years of age thegrand old man of chess. The computerwas not awed; it won the game.

Chess Endgame Research andDevelopments

Ken Thompson, the programmer ofBelle, has written other programs whichspecialize in playing chess endgames.One program plays the endgame ofKing and Queen versus King and Rook.In late December 1978, Walter Browne(see "Grandmaster Walter Browne versusChess 4.6," January 1979 BYTE, page110) played this endgame against themachine.

Browne played White, having thematerial advantage. The computer,playing a previously unknown defensivemethod, tenaciously defended its "theo-retically lost" position. According to therules of chess, Browne had to capturethe Rook within 50 moves after the startof the exercise, or the game would bedeclared drawn.

The initial position was chosen to bethe worst possible position for thecomputer's Black pieces. It is highlysignificant that despite his best efforts,

O

IT

u

o

ca

o

3Q)O

CD

a)

o

CDan

3to

3

>

oi

IDO

3

CDW01O)-J

at

c

3g

n

1. Chess 4.7

V

\

1

0

1

1

2. Duchess

0

\

Vi

X

1

3. Chaos

'/,

0

1

1

4. Belle

i

1

1

1

5. Blitz

VS

0

1

1

6. Ostrich

0

0

1

1

7. Black Knight

0

0

X

'/,

1

8. Awit

0

0

\

0

1

9. Sargon

0

\

Vi

1

10. Mike

0

54

'A

\

K

11. BS6676

0

0

Vi

1

12. Brute Force

0

0

0

0

\

Table I: Cross table giv-ing results of games inthe 1978 North Amer-ican Computer ChessChampionship.

174 May 1979 © BYTE Publications Inc

Circle 73 on inquiry card.

Browne was only able to capture theRook exactly on move 50. This enabledBrowne to quickly win the game and a$100 wager he had riding on it, but hewas not able to find the win in 31 movespredicted by the program.

In his chess programs Thompson usesa Digital Equipment Corp PDP-11 whichhas been outfitted with two specialpurpose hardware devices. One generatespossible moves, and the other evaluatespositions.■

Land Identification and InformationManagement System

The San Diego County Department ofTransportation has recently formed atask force whose objective is to for-mally define a proposed LIMS (LandIdentification and Information Manage-ment System).

The collection, analysis and display ofland related information, particularly inmap form, is a significant part of every-day county operations, not only in SanDiego or California, but nationwide. Inthe United States, county governmentsare the geographic and political units forland information and record keeping.Most land use recording and mappingsystems today are unorganized and un-coordinated, having evolved from anti-quated systems which have changedlittle since the days when America wasstill expanding westward. The currentsystems used in processing, storage, andsubsequent use of this data pertaining toland use, acquisition, assessment, anddevelopment are proving to be costlyand inefficient.

San Diego County's LIMS Task Forceis proposing to develop a land identifi-cation system which will combine theseefforts into a single, comprehensive andcost-effective system. High-speed, highcapacity computer technology whichwill permit increased data storage, rapidaccess to this data, and automateddisplay and/or printout of the desiredmap-formulated products is nowavailable. The system would provide acentral repository of all geographicallyoriented information in the county and asingular comprehensive file of landrelated data.

San Diego County is approaching thedata input problem in a way that issignificantly different from previouslyproposed or developed automated map-ping systems. The innovative method ofdata input envisioned for the LIMS pro-ject will utilize inputs based on engineer-ing calculations, in lieu of digitized in-puts. This process will produce endresults which represent real worldgeographic values instead of digitizedmap data.

The study will examine the inefficien-cies of the current land records keepingsystem, prepare new system designparameters, evaluate alternativesystems, and recommend a final designwith organizational, funding, and im-plementation plans. When imple-mented, LIMS should serve such other

county departments as the planning,assessment, records, and registry ofvoters departments. Additional users areexpected to be the municipalities withinthe county, state and federal agencieslocated in the county, and land relatedbusinesses in the private sector.

For further information on the LIMSProject in San Diego County, contactKenneth L Pyle, LIMS Task Force Direc-tor, at (714) 565-5297. ■

A Call For Educational Material

The Florida Educational ComputingProject, which is supported by the stateof Florida, has recently approved a pro-ject for the evaluation and implementa-tion of a microcomputer based instruc-tional computing system. As a memberof the evaluation committee, I amwriting to you so we may contact thosereaders whb have education orientedsoftware developed for microcomputers.

We are looking for both computeraided instruction type material and ad-ministrative support programs (eg: filmlibrary inventory/control, word process-ing, statistical analysis, etc). At this timewe do not have the funds to purchaseany software, and would therefore bewilling to certify the return or destruc-tion of any program material loaned tous.

Because of the variety of computersthese programs may run on, we wouldprefer those which are not too depen-dent on a particular hardware configura-tion or operating system (if one is re-quired). However, we would like to hearabout any programs running on 6502,6800. 8080, 8085, or Z-80 machines.

The outcome of this project will be acatalog listing all the acceptable soft-ware packages we receive, their evalua-tion, and their source of distribution.This catalog will be available to alleducational institutions in the state ofFlorida and to any other interestededucational systems. Naturally wewould like to share with those who con-tribute software for evaluation, possiblystarting an exchange program among theparticipants.

Any help we receive would not only begreatly appreciated, but would ac-celerate the exposure, use, andknowledge of microcomputers ingeneral. We feel that the microcom-puter, because of its relative small size,low cost, and dedicated one-on-oneresponsiveness, will prove to be a power-ful learning tool for the student and avaluable timesaving aid to the educator.

We hope, with the cooperation ofyour magazine and your readers, thatour efforts will show that the microcom-puter is "an idea whose time has come"in the field of education.

Those who have software they wish tosubmit for evaluation and inclusion inour catalog, or questions concerning ourproject may contact Dr Nelson ) Towle,Sarasota County Schools, 2409 HattonSt, Sarasota FL 33577, (305 953-5000 ex-tension 322."

^ PascalMICROENGINE™

16-bit P-code CPU

PASCAL PROGRAMS EXECUTE 5xFASTER THAN ON SIMILAR CPU'S

$2695*

READY TO RUN$2995 List price$2949 COD (25% down)

STANDARD:

• 16-bit P-code CPU

• 64K bytes RAM

• Floppy disk controller

• Full DMA

• Floating point hardware

• 2 serial I/O ports

• 2 parallel I/O ports

• Pascal & Basic compilers, text editor, file manager,CPU & memory diagnostics, symbolic Pascaldebugger

I / yt? Without case & power supply$1995 List price

$1949 COD (25% down)

10%

DOWN, GUARANTEESPRIORITY* PRICE

PERKIN-ELMER (Model 550)

*799'

List price $956COD (25% down) $899

$695'

SHUGART (Model SA850)s755 List price$719 COD (25% down)

LIMITED TIME

CASH DISCOUNT(IL residents add 5% sales tax)

A lull refund will be made lor any product returned within10 days.

X-pert Systems'" designed by Computexare integrated and cost efficient. Customersatisfaction is guaranteed. Write for informationon technical details and applications software.Special prices to computer clubs. Completesystems catalogue $1.

(312) 684-3183COMPUTEX

"The Computer Experts"

5710 Drexel Avenue

Chicago, IL 60637

Sales & Service

May 1979 © BYTE Publications Inc 175

Queuing Theory,

The Science of Wait Control

Part 2: System Types

Len Gorney

Box 96 R D 1

Clarks Summit PA 18411

CUSTOMERS IN > QUEUE

In part 1 we discussed the computerimplementation of row and circular queues.Now, let us take a look at the structure ofqueues in the real world and see if they canbe fitted to our previous programs. In thefollowing discussion, the word queue refersto the waiting line in the system. I he wordfacility refers to the service facility arealocated at the head of the queue.

System Types

There are four general types of queuingstructures. The first, and simplest, is thesingle queue single facility system (figure 3).In this structure, there is one waiting lineand one service area to be studied. A 1 pumpgas station with one entrance is a real worldexample of this system.

We can extend this system' to the singlequeue multifacility system (see figure 4).In this structure, customers line up in asingle waiting line and are serviced at thefirst of a series of facilities. Upon depar-ture from the first facility, the customersimmediately enter another queue to awaittheir turn at the second service facility.This insertion and deletion continues untilthe customer is eventually deleted fromthe last facility and consequently the entiresystem. This structure is not unlike a cafe-

SERVICEFACILITY

Figure 3: A single queue single facility system with one waiting line and oneservice area.

teria where you first line up for a sandwich,then line up for dessert, then for a drink,and finally, for the cash register.

Another basic queue structure is a multi-queue single facility system (see figure 5).This is the type of structure you see at atypical supermarket checkout counter area.Customers arrive at the queue with theirpurchases and choose one of many waitinglines. Each service facility offers the sameservice, that is, checking out the purchases,but each line holds different customers.

The multiqueue, multifacility system infigure 6 is a combination of the previouslymentioned structures. A number of initialqueues feed into a series of facilities. When acustomer enters a particular queue, thatcustomer travels from each facility withinthat subsystem until the eventual deletionfrom the system. Once a customer is enteredinto a subsystem, that customer causes thatsubsystem to behave as does the single queuemultifacility queue system.

Any waiting line can be fitted to one ofthe four queue structures just mentioned.Try it the next time you're waiting in a line.

After we are able to define the type ofqueue we have, the problem of analyzingthe structure and arriving at answers mostimportant in queuing problems is our nextstep. At this time we won't concern our-selves with the difference between a singleserver or a multiserver queue. The formerrepresents a grocery store checkout counterarrangement where customers enter anyline (usually the shortest or the fastestmoving). The latter fits into the situationat a barbershop. One long line feeds into

Note: The

num

Dering

of

the figures

and

listings

is

continued

from

part

1

in April

1979

BYTE,

page 132.

J

CUSTOMERS IN t> QUEUE I

SERVICEFACILITY

QUEUE 2

SERVICE I

FACILITY

I SERVICE I

FACILITY OUT

_r ~l

Figure 4: Single queue multifacility system, in which the customer waits in a queue touse a facility, then waits in another queue for the second facility, and so on until all ser-vice facilities have been used.

176

Mav W9 >S BYlt Publications Inc

a large service area where a number ofbarbers (ie: the servers) wait for you tocome to them.

Let's imagine a 1 pump gas station.At the start of the day, the operator (ie:server) opens the pump and waits for thefirst customer of the day to arrive. Aftersome period of time, the first customerarrives and immediately drives up to thepump for service. This lucky first customerhas no waiting time since the facility (atthe head of the queue) is open and free ofprevious customers. The customer requiressome period of time for service, and uponcompletion of this servicing time leavesthe system. The operator sits back andwaits for the next customer to arrive.

The second customer arrives, is immedi-ately served, and leaves the system. If theonly time a customer spends in a queue isthe time required for service, no queueforms. What we need for a queue to form isto have customers arrive while there is acustomer being serviced. Then a line willform with waiting customers. The queuewill form based entirely upon the servicerequirements of the customer at the servicearea.

Randomness

A pure queuing problem requires thatcustomer arrival and service times be differ-ent. In other words, while a customer isbeing serviced, other customers enter thesystem at random intervals during thesimulation period to form a queue.

Formally speaking, the randomness ofthese arrivals follows a Poisson distributionand exponential interarrival times. Basically,this means that an arrival has an equalchance of arriving at the tail of the queueat any time during the simulation periodof the problem. Typical nonqueue structuresdo not exhibit this random criterion. Forexample, a movie theater line is not a good

queue problem because arrivals usuallybunch up in a period 10 to 15 minutesbefore the new show starts. Therefore,during the simulation period, randomnessis a key ingredient. Randomness causes thequeue to lengthen and decrease based onlyon the service requirements of each customer.

Usually a customer must wait in a line atany business establishment before receivingthe desired service. How the businessmantreats these waiting customers is of primeimportance as to the success or failure ofmost businesses. A typical customer willtake one of the following actions whenfaced with a waiting line. The first actionis to just wait in the line until service arrives.Once in line, that customer will remain inline until the end. The businessman haslittle worry over this customer because thiscustomer will eventually be serviced andsome profit will be realized.

A second alternative open to a waitingcustomer is for that customer to jockeyfrom line to line. How many times have youseen this customer arrive at one queue, waitfor a short period of time, move to anotherqueue, wait again, then move again, and soon. This situation exists in the multiqueuesystem as is evidenced in a bank or largesupermarket with many service facilitiesavailable for customer use.

CUSTOMERS IN >-

-> QUEUE

-C> QUEUE 2

IN

-l> QUEUE n

The definition of a queuerequires that arrivals to thequeue be random.

SERVICEFACILITYI

SERVICEFACILITY2

SERVICEFACILITY

Figure 5: Multiqueue single facility system. An example of such a system isthe supermarket checkout area. The checkout area has several service facili-ties, each with a corresponding queue, that all offer the same service.

CUSTOMERS IN >-

QUEUE

SUBSYSTEM

QUEUE I

SUBSYSTEM 2

-*■ QUEUE I

SERVICEFACILITYI

SERVICEFACILITY

I

SUBSYSTEM m

SERVICEFACILITYI

QUEUE 2

QUEUE 2

QUEUE 2

SERVICEFACILITY2

QUEUE 3

QUEUE n

SERVICE

FACILITY

2

QUEUE 3

SERVICEFACILITY2

QUEUE 3

QUEUE n

SERVICEFACILITY

SERVICEFACILITY

SERVICEFACILITY

CUSTOMER OUT

CUSTOMER OUT

CUSTOMER OUT■

Figure 6: Multiqueue, multifacility system. This system has a number of initial queues feeding into a series of facilities. A cus-tomer entering a particular queue stays within that particular subsystem until leaving the system.

May 1979 © BYTt Publications Inc 177

f^^^J

We are the first manufacturer to offeryou a complete family of add-on diskdrives for your TRS-80. Select fromsingle head brdual head units. Eachcomes complete with Power Supplyand Chassis.

n ■ i

SINGLE HEAD DRIVES

TF-1X Choose Pertec FD-200 or MPITF-3 Shugart SA 400

DUAL HEAD DRIVETDH-2 Dual Headed mini floppy, includes cable

CABLESTFC-2 Cable for two disk drivesTFC-4 Cable for four disk drives

TRS-80 PERIPHERALS & SUPPLIES

$379$389

$699

$25$35

PRINTERS

LP779TR Centronics Model 779 with tractors

LP1 Centronics Model P1

CABLES

MEMORY

16KM 16K RAM Kit (specify computer or

expansion interface)

NEW PRODUCTS

AC-1 A.C. Line Interference Eliminator

NKP Numeric 16-Key Pad Kit

DISKETTES

VERBATIM 5" Soft sector

GM 5" Soft sector

$1179

$399

$39

$84

$18.95$68

$3.59$3.49

TRS-80 SOFTWARE

New TRS-80 DOSAccounts RecievableInventory ControlJob Entry/StatusMail List

$95$39$39$75$39

SEND FOR FREE PRODUCT CATALOG

BUY IT ALL... HARDWARE/SOFTWARE... FROMONE SOURCE TWO LOCATIONS TO SERVE YOU

APPARAT, INC.

6000 E. Evens Ave. Bldg. 2Denver, CO. 80222

303-758-7275

MICROCOMPUTERTECHNOLOGY INC.

2080 S. Grand Ave.Santa Ana, CA. 92705

714-979-9923

ORDERING INFORMATION: Cash, check. Money Order or Credit Card (MC or VISA) COD'Srequire 20% deposit. Orders will be processed and shipped within 3 to 10 days ot receipt ot order. Customerswill be notified ot any delay over 30 days.

The previous two actions should causelittle concern. The customer remains in thesystem and will eventually be served, there-by yielding the business some profit. How-ever, what happens when the customerleaves the system after entering or refuses toenter the system initially?

If a customer has entered the system andleaves before being serviced, that customerhas reneged. This situation occurs quiteoften when the waiting lines are moving ata rate far too slow for the customers withinthe lines. The customer and possible profitsare lost to the businessman when a custom-er's action takes him or her on this route.

The last, and most damaging to thebusinessman, is the situation where a cus-tomer doesn't initially enter the system.When a customer sees a long and slowmoving line, that customer usually balks.This customer is surely lost because hedoesn't even give the businessman a chanceat the very outset.

Since time is money, the importantquestions relating to queuing systems mustbe solved with relation to the time involvedin waiting and servicing customers.

What is the maximum amount of timea customer waits in a line? What is the aver-age amount of time all the customers areexpected to wait in line before being servedand deleted? What is the maximum amountof service time for any one customer duringa typical period of time? Any measurementinvolving customer waiting time and cus-tomer service time is vital to the successor failure of a business.

A Queuing Problem

The program shown in listing 3 is that ofa typical queuing problem utilizing thecircular queue as the queuing structure.What we may have here is a hypothetical 1pump gas station. The system will thereforebe described as a single queue single facilitystructure.

Past experience gives us some of the inputparameters required for the problem solu-tion. For example, our queue is dimensionedto ten locations, so only ten cars can fit inour service area. This parameter can beadjusted using input parameter questions atthe beginning of the program. In additionto the queue length, the program asks forthe minimum and maximum typical servicetimes. The arrivals per unit time determinehow many customers are arriving eachminute during the simulation. The simula-tion is halted after the first parameter valueis reached, namely, the amount of time torun the model.

178

May197<J © BYTI Publications Inc

Circle 217 on inquiry card.

First Time Offer for the Micro Market

MODEL 501

Go First Class

DATA-SCREEN® TERMINAL

A NEW LOW COST, MICROPROCESSORCONTROLLED CRT TERMINAL

QUALITY — APPEARANCEECONOMYONLY $995.00 (qtyd

DELIVERED CONT. USA

90 DAY WARRANTY GUARANTEES YOUYOUR EQUIPMENT WORKS PROPERLY

7 YEAR EXTENDED WARRANTYAT SPECIAL RATES

^ Our Specifications Before You Buy

DISPLAY

SCREEN CAPACITY, CHARACTERS

SPECIFICATIONS

INTERFACE

2000

CHARACTERS PER LINE 80

NUMBER OF LINES 25

SCREEN P4 phosphor (white)

TUBE S1ZEIDIAGONAL) 12 inches (30.4 cm)

VIEWING AREA 54 square inches 1137.1 cm)

CHARACTER SIZE 0.20" high x .08" wide 15.08

mm high x 2.03 mm wide)

REFRESH RATE 60 Hz 150 Hz available)

SCAN METHOD Raster

CHARACTER GENERATION 5x7 character in an 8

x 10 dot matrixCURSOR Blinking block

MEMORY

TYPE Random Access Memory

CAPACITY 2000 characters

OPERATOR CONTROLS

POWER ON/OFF SWITCH On rear of unit

BRIGHTNESS CONTROL On rear of unit

POWER REQUIREMENTS

DATA FORMAT

DATA BITS 7 serial, asynchronous

DATA BIT 8 1, 0 or deleted

PARITY Odd, even or deleted

with error displayed asDLE

STOP BITS 1 or 2

DATA TRANSFER RATE 50,75.110,134.5,150,

300,600, 1200, 1800,2000, 2400, 3600, 4800,7200, 9600 BAUD

STANDARD FEATURES

INVERSE VIDEO Operator or software

selectable

TRANSMIT MODES Half or full duplex (switch

selectable)

DATA ENTRY Top or bottom line

END OF LINE BELL Switch selectable

CURSOR POSITIONING X-Y

CURSOR ADDRESS Load and read

DISPLAYABLE CHARACTERS 126 (including space)

CURSOR CONTROLS Up, down, left, right.

home, return

Model 501Model 502

115 volts, 60 Hz, 100 watts nominal■ 230 volts, 50 Hz, 100 watts nominal

AUTOMATIC ROLL-UP . .AUTO CARRIAGE RETURNAND LINE FEED

Switch selectable

Switch selectable

MONITOR MODE Special "Monitor" Mode

NATIONAL DISTRIBUTOR FOR

allows display of control codes(first two columns) of ASCIICode Chart).

DEALER NETWORK IS NOW BEING SET UP - YOURINQUIRY IS INVITED

VISA'

^

OLDEST INDEPENDENT

COMMERCIAL CRT TERMINAL

MANUFACTURER

3S SALES, INC. P.O. Box 45944 Tulsa, OK 74145

918 - 622-1058

Circle 364 on inquiry card.

BYTE May 1979 179

Listing 3: BASIC program that simulates a single queue single facility systemsuch as a I pump gas station. The program incorporates several functionsdiscussed in part 7.

1000 DIM QUO)

1010 PRINT "MINUTES TO RUN SIMULATION^';

1020 INPUTM

1030 PRINT "MAXIMUM ARRIVALS/UNIT TIME=";

1040 INPUT A2

1050 PRINT "MINIMUM SERVICE TIME=";

1060 INPUT S2

1070 PRINT "MAXIMUM SERVICE TIME=";

1080 INPUT S3

1090 PRINT "QUEUE LENGTH=";

1100 INPUT H2

1110 PRINT "INPUT 1 FOR RUNNING OUTPUT, ELSE INPUT 0

1120 INPUTP

1130 C = 0

1140 C2 = 0

1150 C3 = 0

1160 C4 = 0

1170 M2 = 0

1180 M3 = 0

1190 S4 = 0

1200 H = H2

1210 T = H2

1220 FOR J2 = 1 TO H2

1230 Q(J2) = -9

1240 NEXTJ2

1250 Q(T) = 0

1260 T = T - 1

1270 GOSUB 1610

1280 FOR J = 1 TOM

1290 FOR J2 = 1 TO H2

1300 IF Q(J2) = -9 THEN 1330

1310 C = C + 1

1320 Q (J2) = Q (J2) + 1

1330 NEXT J2

1340 C2 = C2 + C

1350 IF C<=C3 THEN 1370

1360 C3 = C

1370 C = 0

1380 IF P = OTHEN 1410

1390 PRINT " PICTURE OF QUEUE AFTER "; J; " MINU

1400 GOSUB 1680

1410 IF Q(H)<M3 THEN 1520

1420 M2 = M2 + M3

1430 C4 = C4 + 1

1440 S4 = S4 + S

1450 IFP = OTHEN 1470

1460 GOSUB 1730

1470 GOSUB 2110

1480 GOSUB 1610

1490 IFP = OTHEN 1520

1500 PRINT "PICTURE OF QUEUE AFTER DELETE"

1510 GOSUB 1680

1520 A3 = 1

1530 A = INT (RND (1) * A2)

1540 IF A3 > A THEN 1580

1550 GOSUB 1900

1560 A3 = A3 + 1

1570 GOTO 1540

1580 NEXT J

1590 GOSUB 1730

1600 STOP

1610 S = INT (RND (1)*10) + (S3-9)

1620 IFQ(H) = -9 THEN 1640

1630 Q (H) = 0

1640 M3 = Q (HI + S

1650 IF P = OTHEN 1670

1660 PRINT "REQUIRED SERVICE TIME=";S

1670 RETURN

1680 FOR J2 = 1 TO H2

1690 PRINT Q(J2);

1700 NEXTJ2

1710 PRINT "TAIL=";T;"HEAD = ";H

1720 RETURN

1730 PRINT C4," FULLY SERVED CUSTOMERS IN "; J;'

1740 PRINT "MAXIMUM CUSTOMERS QUEUED=";C3

1750

M5 =

M2/C4

1760

PRINT "AVERAGE WAIT TIME ="; M5

1770

S5 -

S4/C4

1780

PRINT "AVERAGE SERVICE TIME = "; S5

1790

C5 =

C2/J

1800

PRINT "AVERAGE NUMBER OF QUEUED CUSTOMERS='

1810

RETURN

1850

REM

1860

REM

INSERTION ROUTINE

1870

REM

1880

REM

CHECK TAIL AND HEAD POINTER VALUES

>UT 0";

1890

REM

1900

IF H = T GOTO 1970

1910

IF H < T GOTO 2030

1920

IF T >= 1 GOTO 2030

1930

IF H = H2 GOTO 2080

1931

REM

1932

REM

INSERT ITEM AT Q (H)

1933

REM

SINCE QUEUE IS EMPTY

1934

REM

1940

Q(H2) = 0

1950

T = H2-1

1960

GOTO 2050

1970

IF T <> 0 GOTO 2000

1971

REM

1972

REM

RESET POINTERS TO HEAD OF QUEUE

1973

REM

1980

H = H2

1990

T = H2

1991

REM

1992

REM

CHECK IF Q (T) EMPTY FOR POSSIBLE INSERT

1993

REM

2000

IF Q (T) <> -9 GOTO 2080

2010

H = H2

2020

T = H2

2021

REM

2022

REM

NORMAL TAIL INSERTION

2023

REM

2030

Q(T) = 0

ES"

2040

T = T-1

2050

IF P = OTHEN 2070

2060

PRINT "ARRIVAL"

2070

RETURN

2080

IF P = OTHEN 2100

2090

PRINT "OVERFLOW-

2100

RETURN

2101

REM

2102

REM

DELETION ROUTINE

2103

REM

2104

REM

CHECK POINTER VALUES FOR POSSIBLE DELETE

2105

REM

2110

IF H = TGOTO 2150

2120

IF H > OGOTO 2190

2130

H = H2

2140

GOTO 2180

2150

IF H <> OGOTO 2180

2160

H = H2

2170

T = H2

2171

REM

2172

REM

DELETE FROM Q (H) IF Q (H) HAS AN ITEM

2173

REM

ELSE, QUEUE IS EMPTY, I. E. UNDERFLOW

2174

REM

2180

IF Q (H) =-9 GOTO 2240

2190

Q (H) = -9

2200

H = H -1

2201

REM

2202

REM

RESET POINTERS FOR NEXT DELETE

2203

REM

2210

IF H <> OGOTO 2260

2220

H = H2

2230

RETURN

2240

IF P = OTHEN 2260

2250

PRINT "UNDERFLOW-

MINUTES"

2260

RETURN

2270

END

;C5

180 May 1979 © BYTE Publications Inc

Circle 299 on inquiry card.

Conclusion

For the serious reader, the list of refer-ence material includes those texts whichplace a good emphasis on queuing theory.After digesting the ideas in this article,plunge into these texts. Now I can returnto my reading queue and get to thoselines of books and articles waiting on mybookshelf. I'm sure that somewhere outthere is a line waiting for you!"

BIBLIOGRAPHY

1. Cooper, Introduction to Queuing Theory,Macmillan, New York, 1972.

2. Cox, Smith, Queues, John Wiley and Sons,New York, 1961.

3. Gross, Harris, Fundamentals of QueuingTheory, John Wiley and Sons, New York 1974.

4. Harrison, Data Structures and Programming,Scott, Foresman, Glenview IL, 1973.

5. Hillier, Lieberman, Operations Research,Holden-Day, San Francisco, 1974.

6. Siemens, Marting, Greenwood, OperationsResearch, Macmillan, New York, 1973.

7. Wagner, Principles of Operations Research,Prentice-Hall, Englewood Cliffs NJ, 1975.

r

^

ALPHA MICROFINANCIAL ACCOUNTING SYSTEM

A generalized, interactive bookkeeping and accountingsystem created by our staff of CPAs for our accountingpractice. The system includes all of the accountingjournals, ledgers and reports necessary for a completeaccounting package (ie: payroll, receivables, payables,financial statements). It also includes a few things notfound elsewhere, and will run in either a floppy or harddisk environment.

The PJA Accounting System with documentation isavailable for $500.

J^wwne, *s<iom<m and S&Mociate&

a/wne

\>

Certified Public Accountants

447 East Fifth AvenueAnchorage, Alaska 99501(907)272-7261 or 279-2351

Dealer Arrangements A vailable

J

Solve your floppy diskinventory problems ♦ ♦ ♦

Use ours*

Verbatim/corporation

8SS»

Kybe can ship any model floppy disk, data cassetteor mag card in only two days.

You'll get the same high performance products soldby 3M, BASF, Memorex and other brand namesuppliers. The same products we've built for OEM'sfor years. Why not order direct? Our full line iscompetitively priced, backed by an unconditional90 day warranty and in stock for fast delivery.

Dealer inquiries invited.

(800)225-8715KYBE

K

V

KYBE CORPORATION

132 Calvary Street Waltham. Mass 0215-tTel (6t7t899-0O12, Telex 94-0179Offices & representatives worldwide

Circle 201 on inquiry card.

May 1979 ■?■ UYfl Publications In

181

OesfcTcp Wonders

Digits

Hal Snyder855 Fair OaksDeerfiold IL 60015

Listing 1: The Digits program, written for the Texas Instruments SR-52. Theobject of the game is to guess a number generated randomly by the calculatorin the fewest number of guesses possible.

Digits is a number guessing game writtenfor the Texas Instruments SR-52 program-mable calculator featuring cyclic permu-tation, nested loops and various space savingdevices. Hal Snyder teaches mathematics atRoosevelt University in Chicago.

Program Listing

000

LBL A'

002

4 STO 00 rtn

007

LBL E'

009

( STO - .5 )

015

EE INV EE rtn

019

LBL D'

021

10 INV log rtn

026

LBL +

028

A'

029

LBL cos

031

9 SUM 00

035

( IND RCLOQ-

041

9 INV SUM 00

046

IND RCLOO)

051

INV ifzro7T

054

INDSTO00

058

1 SUM 19

062

LBL7T

064

dsz cos rtn

067

LBL B

069

prt fix 0

072

-f-A' INV log

076

LBL sin

078

x 10 =

082

- E' IND STO 00 =

089

dsz sin

091

OSTO 19

095

SBR +

097

10PROD 19

102

A' dsz x

105

LBLx

107

RCL00 +

111

A'RCLOI (

116

LBL r

118

IND EXCOO

122

INV ifzro 2'

125

IND EXCOO

129

LBL 2'

131

dsz 1*

133

+ A'0)

137

IND STO 00

141

SBR +

143

0 = STO 00

148

dsz x

150

RCL 19 INV fix

155

prt pap HLT

158

LBL E

160

fixO A'

163

LBL SUM

165

RCL 00+ 9

170

+ STO 01

174

7yX 9x RCL 99

181

tD'"E' =

186

x D' f STO 99

192

9 INV log =

196

E'x(

199

IND STO 01 -

204

07) =

208

ifposSUM

210

dsz SUM

212

INV fix CLR HLT

216

LBL D

218

EXC99 HLT

Commentary

; number of digits

:1010

; count matching; digits

; if match, clear

; guess digit,

; increment count

: respond to guess

; fraction in display

; tens digit in; response

; cycle

; save outer loop

; index

: leave zeroed digit: in place

; retrieve outer; loop index

; pick a number

; generate random number

; by taking

; (R99 x 7») mod 1010

;get leading digit; is it in range?

; cleanup

; seed for random; note EXC is used

Instructions:

1. Enter program.

2. Start random number sequence bykeying in a positive integer and pressing D.

3. For a new game, press E. In theinitial configuration, the SR-52 selectsfour digits, all between 1 and 6, such as2361 or 5335, then displays 0 (this takesabout 120 seconds).

4. Key in your guess and press B.After a few moments (see below for approxi-mate timing), SR-52 responds with a 2 digitnumber xy, where x (tens) is the number ofdigits in your guess which are in the rightposition, and y (ones) is the number of cor-rect digits in the wrong position. Forexample, if the SR-52 had chosen 5335 andyour guess was 5351, the response would be21.

5. Repeat step 4 as many times asneeded to determine the hidden numbercompletely. If not using a Tl PC-100 printer,you should keep a written record of guessesand responses. The object of the game is touse as few guesses as possible. Step 3 starts anew game.

6. Variation: the program is initiallyset for 4 digit numbers. For any other num-ber (2 to 9) of places, set location 002 to thedesired number, say by keyingGTOA'LRNnumber LRN.

7. Variation: the program initiallyuses digits 1 thru 6. To use digits 1 thru r,enter r+1 in locations 204 thru 205, withleading 0 if r+1 is a 1 digit number. To usedigits 1 thru 7, key GTO 204 LRN 08 LRN.

Digits Versus Codebreaker

The game described above is similar toCodebreaker (copyright 1976, Texas Instru-ments), which comes in the Tl game libraryfor the SR-52. Digits, however, permitsrepeated occurrences of a digit in the hiddennumber, and can be easily modified (steps 6and 7 above) for different versions of thegame.

The Program

The Digits program is shown in listing 1.Frequently used subroutines are placed atthe front for improved speed. Subroutine

182 May 1979 © BYTE Publications Inc

Circle 85 on inquiry card.QiMiaomoioooooou800000oooOMooooooooooiooooopoWpooo^

E' shows one way to do truncation on theSR-52. A quick way to get powers of 10 isillustrated in D'. The "cycle" routine (loca-tions 105 thru 149) cyclically permutes thedigits of the guess entered with the followingmodification: any digits in the guess whichwere previously matched in the answer willhave been set to 0, and these digits will notbe moved. (Thus, 1234 becomes 4123, but1034 becomes 4013.) The outer loop (105thru 149) contains an inner loop (114 thru132), and the program listing shows how theouter index is saved on the SR-52 operationsstack when the inner loop is executing.

The random number formula (see listingcommentary) is the one used in the Tlbasic library. Key D can be used betweengames to examine or restart the randomsequence since it exchanges display contentswith the random number in memory.

Response time depends on the widthof the numbers used. As a rule, if you areusing numbers with p decimal positions,the time in seconds from guess entered toresponse displayed will be 5/3 (p^+p), whichmeans it will take about 20 and 35 secondsfor 3 and 4 digit numbers respectively, allthe way up to 150 seconds for 9 digitnumbers."

TRS-80 means business! ! !

...with CP/M, CBASIC2,& applications software.

CP/M ("the software bus") & CBASIC2 (the stan-dard for business software) bring new power andversatility to the TRS-80 for practical use.

CP/M Operating System (w/Editor, Assembler,

Debugger, Utilities & 6 manual set)

CBASIC2 Compiler (w/manual)

DSPO0L Print Spooler (w/manual)

*0sborne & Assoc. PAYROLL W/C0ST

ACCTNG

*Osborne & Assoc. ACCTS. RECEIVABLE &ACCTS. PAYABLE

*Osborne & Assoc. GENERAL LEDGER

*=CBASIC2 source programs; add $15 (each) forapplicable O & A book.

APH - Self-administered Automated PatientHistory

$145$ 95$ 75

$250

$250$250

$175

Write/call for additional software available & FREE"CP/M Primer".

CA residents add 6% tax. Visa, M/C.M/O,Check OK.

(714) 848-1922

IC.lV,IB.IE.IR.1N.|E,|T.I l,[C ;S

8041 NEWMAN AVENUE • SUITE 208 • HUNTINGTON BEACH. CALIFORNIA 92647

CP/M+TRS-80

The CP/M Operating System now availablefor Radio Shack's TRS-80

CP/M OPERATING SYSTEM

• Editor, Assembler, Debugger, and Utilities

• For 8080 and Z-80 Systems

• Up to four floppy disks

• Documentation includes:CP/M Features and FacilitiesCP/M Editor Manual

CP/M Assembler Manual

CP/M Debugger Manual

CP/M Interface Guide

CP/M Alteration GuideCPIM System Diskette and Documentation (Set

of 6 manuals) for $150.CP/M Documentation (Set of 6 manuals) only

$25.

MAC MACRO ASSEMBLER

• Compatible with new Intel Macro standard

• Complete guide to Macro ApplicationsMAC Diskette and Manual for $150.

SID® SYMBOLIC INSTRUCTION DEBUGGER

• Symbolic memory reference

• Built-in assembler/disassemblerSID Diskette and Manual for $125.

TEX® TEXT FORMATTER

• Powerful text formatting capabilities

• Text prepared using CP/M EditorTEX Diskette and Manual for $125.

HIGH-LEVEL LANGUAGES

• Basic

• Fortran

• Cobol

• Call or write for information

USER'S GROUP

• 35 disks with utilities, games andapplications

• Call or write for information

FMG ©@B[p©[jMYD©[N]

P.O. Box 16020 • Fort Worth. TX 76133 • (817) 738-0251CP M is a registered trademark ol Digital Research Corp TRS-80 is a registered trademark ot Radio Shack

Circle 136 on inquiry card.

May 1979 © BYTE Publications Inc 183

Figure 7: Diagram illustrating rotation of the vector x, y in Cartesian coordi-nates. The final position of the vector endpoint is x, y. Two different "blackboxes, " or subroutines, are used to solve various trigonometric problems bymeans of the CORDIC algorithm. Black Box 7 (BB I) calculates x and ygiven the displacement angle d. Black Box 2 (BB 2) calculates the displace-ment angle 9 necessary to rotate the vector to a given y '. These two routinesenable the programmer to calculate a variety of trigonometric functionsquickly and efficiently.

(x,y)

Trigonometry

in Two Easy Black Boxes

About the Author

John A Ball is a radio astronomer at the Center for Astrophysics, Cam-bridge MA. He has written a book entitled Algorithms for RPN Calculatorspublished by Wiley.

John A BallOak Hill RdHarvard MA 01451

If your computer can add, subtract,multiply, divide, calculate square roots,sines, cosines, tangents, arc sines, arc cosines,and arc tangents, then you are prepared tosolve any trigonometry problem. How-ever, if your computer lacks some of thesetrig functions, then this article will be help-ful, as it shows how to use CORDIC tech-niques to program two "black boxes" (aliassubroutines or processors) to performtrigonometric functions. As a bonus, youwill find that some complex and importantproblems are easier with the two black boxesthan with conventional trig functions.

Coordinate Rotations

Suppose we have a black box (call it BB 1for "black box number one") that performsrotations in Cartesian coordinates. Given x,y, and 0, BB 1 calculates x and y where:

x = xcos0 - ys'und

= (x — ytan0)cos0

y = ycos0 + xsin0

= (y + xtan0)cos0

(Eql)

These are the standard equations for a rota-tion. They can be derived from figure 1.The sign convention on the angle 0 in theseequations is such that the point (or vector)x, y rotates counterclockwise through anangle 0 in a stationary coordinate system,or alternatively, the coordinate system ro-tates clockwise through an angle 0 and thepoint is stationary. Interchanging the plus

and minus signs in equations 1 gives theopposite sign convention for 0.

Many trigonometric problems are solvableusing BB 1. The special case y - 0, x = R,for example, gives:

x

y

RcosORslnd

(Eg 2)

These are the equations for converting polarto rectangular coordinates. The special casey = 0,x = 1 gives:

x

y

COS0

sin0

(Eq3)

BB 1 will calculate sines and cosines, andfrom these the other trigonometric functionsare easy.

Now suppose we have a second blackbox, BB 2, which rotates the given coordi-nates x and y through whatever angle is

B~BB 2^

„l

Figure 2: Functional diagram of Black Box 7and Black Box 2 showing inputs and theoutputs which can be calculated from them.

184

M,iy 1979 © BYH Publications Inc

SWITCH! D-ON TftS

SYSTEMS... SUPPORT...SOFTWARE

Using the Radio Shack TRS-80 as our base, weprovide a full line of business-oriented soft-ware, plus products with the follow-onsupport necessary to insure a success-ful installation and ongoing operations. *'■■

Our program costs $100 for the docu-

mentation, an additional $50 for thesoftware on magnetic tape, and/oranother $100 for the software on diskette. ■•-■'We highly recommend that you subscribeon one form of media. In adopting this ap-proach, we're going straight for the jugular(so to speak). Within the next year, we anti-cipate a very competitive market for busi-ness software relating to the TRS-80, andwish to establish ourselves immediately in adominant position. In doing so, we arepresuming over 1,000 participants in BIZ-80.

Pricing accordingly, we're sure BIZ-80 willbecome such a fantastic bargain that fewserious businessmen intending to use aTRS-80 could possibly pass up the value of-fered. Really ... how could you pass this up?

We're sure you mustested in just whatgetting ...

be inter-you'll be

Well, just about

everything you need! Within the year, you'll receive a diskbased Inventory system, Accounts Receivable system, Ac-counts Payable system, General Ledger system,Sales and Payroll. At the same time, all sixsubjects will be covered for a tape-based sys-.*' ..•' tern. Yes! Provisions have been made so

that as your system upgrades, your database will follow with a minimum of dif-ficulty.

We're not talking about stripped-down systems, either. Elements of— BIZ-80 are already prepared and havebeen sold to satisfied customers foras much as $150. The Name/Addresssystem requires an entire diskette it-self (over 50,000 bytes) with some op-tional subroutines relegated to yet an-other disk.

Our magazine, SoftSide, has proven it can bedone: significant software can be offered at ex-traordinary prices, attracting a sufficient fol-lowing to make the effort profitable.

The Business Software People

BIZ-80 is not only competitive, but will set thestandard by which value will be compared...and that standard will be hard to meet.

The object of BIZ-80 is to develop systemsthat are easy to use, well-documented andinclude simple error-correction routines;will be inexpensive; can be used by the cus-tomer without the need for sophisticated com-puter-oriented personnel; existing employeesand management can easily learn to operate.

Our goal is to ultimately provide the complete computersystem with 1. Basic business programs on subscription basis2. Special applications business programming on contractual basis

The systems are professional quality products developed for the businessman utilizing a TRS-80 microcomputer —they are well-documented from the customer's point of view; they all tie together, i.e., Order Processing feeds Ac-counts Receivable, etc.; and they work all the time. Rerun, operation and backup procedures, as well as start-upand first time run instructions are covered in detail, from the perspective of the first-time user.

Easily followed step-by-step instructions guide you through a sample run with dummy data (providedwith every system). Start running your system at once, without the need to stumble through it try-ing to create a file in order to understand how to use it. Periodically, we upgrade the documentation toreflect improvements and/or changes in the system caused by TRS-80 enhancements. The enhancements will be availableat a nominal charge to cover distribution expenses. Updates are FREE to BIZ-80 subscribers.

Programs and systems are only as good as the documentation and people behind them. Participants in the one-year (max.)

contract wi|l receive: »12 Systems-6 tape/6 disk 'Support 'Updates 'Newsletters Our software products are oriented tofour levels of TRS-80 systems: System S-a stand alone 16K Level II with one cassette tape System l-a 32K with DOS, op-tional printer (CRT oriented) and one disk drive System I l-a 32K with DOS, line printer and two disk drives System lll-a48K with DOS, line printer, RS232 interface and three-plus disk drives. Remember, all these business systems tie togetherThey're add-on modules developed to complement one another; thebuilding blocks of your complete business microcomputer system.

The TRS-80 is a powerful tool for businessmanagement. We want to help you use this tool toyour best advantage.

BIZ-80

17 Briar Cliff Dr. Milford, NH 03055603-673-5144

Circle 28 on inquiry card.

I3YTC May T>7')

185

Write faster in BASIC,FORTRAN, or COBOL

Document & modify more easily, too

Human-engineered to do the job better. Yes, you really can get flawless codefaster, using the Stirling/Bekdorf™ system of software development tools withstructured programming concepts. The78F2,78P4, and 78C1 are human-engineeredto reduce initial errors, improve de-bugging speed, and aid concept communication.

First, use the 78F2 Flowchartrix™to lay out your original concept blocks. Thenuse it to write a finely detailed flowchart.

54% more logic cells than other flowchart forms, put far more of your programon each page. Each Flowchartrix has a full 77 logic cells, not just 50. This savespaper, and makes your finished flowcharts easier to understand. By seeing up to27 extra steps of a program on each page, you comprehend program flow moreclearly. You save money and storage space, too.

Every matrix cell in the 7x11 matrix has a specific label to help you trackbranch points. When you write program documentation, having a separate referencepoint for each cell makes your program much easier to describe clearly.

With Flowchartrix, you don't need a shape template to draw remarkably regularlogic symbols. Guides for the most-used logic symbols are right in each matrixcell, to help you draw most standard flowchart symbols entirely free-hand.

78P4 Print-Out Designers are next. When you finish flowcharting, lay out theprinted reports your program will generate. Then when you write code you blazethrough the report generation segments right along with the rest of your program.

Unique 70 x 160 matrix accommodates even proportional-spacing word processorformats. The 160-column width can handle practically any printer format. The78P4 is big, 14'2 x 22 inches, because we've scaled the cell size to human writingcomfort, not machine print, giving nearly twice the character-writing area of otherprintout design sheets.

Special 5-column area records the program line number of the code whichcreates each printed line. It shows, at a glance, exactly which line of code createseach line of your report, saving hours of needless search time when you mustchange the report format (and don't yon always have to, sooner or later7;

Every sheet of 78C1 gives you 2 form uses for the price of one. Use 78Cl'sfull 28 line x 80 column grid area to code regular program steps. Then for inter-active or instructional sections, simply keep your characters within the appropriateCRT indicator lines, and you'll automatically know where every character will showon your CRT screen.

28 line x 80 column coding capacity saves you 14 sheets out of every 100,compared to 24-line forms. 86 sheets hold more program steps than 100 sheetsof any 24-line form, yet we offer full-size 6mm x 3mm grid blocks to give youcomfortable writing room and visual space between lines.

Works with your CRT display, no matter what brand you own. Equipped forboth 16 line x 64 column and 24 line x 80 column display formats.

Available in three versions (one for BASIC languages, one for FORTRAN, anotherfor COBOL), the 78C1 is so powerful we include a 7-page instruction manual withevery order.

Every tool in the Stirling/Bekdorf system is surface-engineered to take bothpen & pencil without blotching. Our tough, extra-heavy, 22-- paper is pure enoughto use with critical magnetic ink character readers, and gives you crisp, sharp char-acters with pencil or plastic-tip pen.

Every part of our system uses eye-comfortable soft blue grids. All grid rulings,tints, and division rules are reproduced in a special shade of blue, easy on youreyes even after hours of continuous programming. If you're a professional pro-grammer, you'll particularly appreciate our improvement over the green lines you'vebeen writing on.

A 3-ring binder is one more of our secrets for your success. All your notes,logic concepts, flowcharts, code, CRT layouts, print-out designs, and documentationcan be kept together, in order, in one place. When everything you create staystogether, debugging and modification is much simpler.

Order your supply of the world's most advanced software development tools,right now, before you hatch even one more bug. I

78F2 Flowchartrix

D 2 pads dl 50- J!.911 < $2.85 pkng S slipsD 10 pads ol 50 - S34.35 * $6 45 pkng S shpg

78P4 Printout Design Sheets

D I pad ol 50 - V «5 . S3 15 pkng S shpg

D 5 pads ol 50 =-- $32 10 . S6 75 pkng & shpg

3-holl punched vinyl pockets (Of 78P4 Design Sheets

D set ol 5 [oi $2 65 + SI 35 pkng S shpgO set of 12 lor $5 00 .SI 85 pkng S shpg

78C1 Combination Coding/CRT Layouts

All are the same puce bill please check which language

loimal yon want

D for BASIC OloiFORlRAN D lor COBOL

a 2 pads ol 50- $6 35 * SI 95 pkng £ shpg□ 10 pads ol 50 = $26 85 + $3 35 pkng & shpg

leias 'esidmir pieare ado S i"-. sales tar to base p,,te We shipUPS so P 0 Boi address musl give phono number Hures shownlor parking & shipping are U S A only Inlemaiional shipping rates

□ Sample ol one sheet of each form -+-associated labels 8 litetature $2 50

Enclosed is my check for $

Name

Charge to: □ Master Charge D Visa exp. date.

Card!

Signature.

Address_City

Phone.

.State.

.Zip.

| Stirling/Bekdorf

4407 Parkwood □ San Antonio, TX 78218 a (512) 824-5643

'P ~> (ci ]9?8 Sliilini^t.doil Dm, of BlirAmin Mkt|. Cp , inc

necessary to give a specified y . So BB 2 alsosatisfies equations 1 but x, y, and y are thegiven quantities and BB 2 calculates x and8 as shown in figure 2. Equations 1 can berewritten as:

x = ± v a-2+y2 _y26 = sin-1 (y'lR)-4>

(Eq4)

where

R = *Jx2+y20 = tan-1 (yjx)x = Rcoscj)y = /?sin0

(Eg 5)

That is, R and 0 are the polar coordinatescorresponding to x and y as shown in figure1. Some combinations of x, y, and y areimpossible: if \y\ > R, then BB 2 will awardyou a demerit and write an uncomplimen-tary error message.

Two distinct solutions exist for x and 8.These solutions differ in the sign of a-', and8 is replaced by 180° - 8 - 20. BB 2 givesthe solution first encountered while rotating.Alternatively, a version of BB 2 could bewritten to give both solutions.

BB 2 is also a powerful trigonometricproblem solver. The special casey' = O, forexample, gives:

x = ±R

6 = -0 or 180°

(Eg 6)

This case gives rectangular to polar coordi-nate conversion. Also, since 0 = tan- 1(y/x),this case gives a four quadrant arc tangent.The special casey = O gives:

x = ± Vx2 —y'= xcosd

sin"

-1 07a

(Eg 7)

This case gives an arc sine and the solutionto a right triangle. And the special case x - 0gives:

< = ±V)

-y

= —ys\nd

= cos~1 (y'/y)

(Eg 8)

This case gives an arc cosine and the solutionto a right triangle.

Together with add, subtract, multiply,divide, and maybe a square root, BB 1 andBB 2 can be used to solve any solvable prob-lem in plane or spherical trigonometry.

186 Mav 1979 © BYTE Publications Inc

Circle 352 on inquiry card.

Many problems are simplified by beingwritten directly in terms of coordinate rota-tions or rectangular to polar to rectangularcoordinate conversions. Examples are con-versions of coordinate systems in positionalastronomy and problems in complex num-bers, especially complex impedances inelectronics.

CORDIC Techniques

Voider (1959) developed the originalCORDIC (Coordinate Rotation DigitalComputer) technique for use in a specialpurpose computer which solved, amongother problems, for the distance and headingbetween two points specified by their lati-tudes and longitudes on the earth. Meggitt(1962) and Walther (1971) described gen-eralizations of the CORDIC technique calledpseudo-multiplications and pseudo-divisions.(See the end of this article for bibliographicinformation about this reference and theother references cited.) Hewlett-Packard andother calculators use CORDIC techniquesinternally to calculate trigonometric func-tions [see Cochran (1972) and Egbert(1977)].

CORDIC techniques allow one to pro-gram (or to "solder" together) BB 1 andBB 2 using only adds, subtracts, and shiftsinside the loops. Outside the loops one alsoneeds one or two multiplications or divisionsin a base 2 machine, or one or two multi-plications or divisions and a square root ina base 10 machine. As a rough generalrule, CORDIC techniques are faster andeasier in a computer that has no floatingpoint hardware and no multiply/dividehardware, but does have multibit shifts.If a multibit shift must be built up fromsingle bit shifts or from a multiply, thenseries expansions to get trigonometricfunctions are sometimes preferable. Thesestatements are usually also true in a base 10machine with "digit" substituted for "bit."If you are really in a hurry, a CORDIC rota-tor can be made in hardware, as Voider(1959) describes.

With the second half of equations 1 inmind, suppose we wan"; to perform coordi-nate rotations quickly and easily. Thecosd factor multiplying the parenthesesis a scale factor for both x and y . As aspecial case, consider rotating through anangle 6n satisfying:

8„ = tan"1 [b-n) (Eq 9)

where b is the radix or the base of the num-ber system in the computer (usually b = 2 or10) and n is an integer. For these special

Up\burOutput.

TEMPOS

MULTI-TASKING!

The TEMPOS Operating System is quickly becoming the standard in Multi-User, Multi-Tasking operating systems for 8080 and Z80 microcomputers.Multi-Tasking means that, even with only one user at one terminal, morethan one job can be running on the system simultaneously! If you have everhad to go get a cup of coffee while you wait for your computer to print list-ings, you know the advantages of a system that will handle one job whileyou are working on another. TEMPOS is a true time sharing system, andthe maximum number of jobs is limited only by your memory.

MULTI-USER!

Want to share your computer with another user? With TEMPOS all it takesis another terminal... up to seven interactive terminals are allowed! Andwith Re-Entrant programs, each user does not need a complete copy inmemory. We include three Re-Entrantprograms(theOPUS/THREEHigh-Level Language, the TEXTED Text Editor, and FILES, a disc filedirectory/manipulator) or write your own! In addition, we include anassembler, a linking loader, over a half-dozen other utility programs andover 60 system subroutines, callable by the programmer!

PROVEN!

With TEMPOS, you get a package that has been tested in our facilities forover two years, and in the field at over 50 different installations. We haveused this system ourselves for everything from writing high-level languagesto developing applications to text editing to games. TEMPOS is undoubted-ly the most flexible software tool on the market. . . and you can have it formuch less than you think!

COMPATIBLE!

TEMPOS is available for many different systems; prewritten drivers mayinclude yours. Or, using our interactive System Generation Routine, youcan add your own. Call or write noiu for our free catalog and the name of adealer near you. The TEMPOS Operating System is available for $787.00,the manual set (price may be credited toward the purchase of the TEMPOSpackage) for $21.50 (prices include shipping within the U.S.).

ADMINISTRATIVE□□SYSTEMS□□□INC□□

1642 S. Parker Road, Suite 300, Denver, Colorado 80231(303) 755-9694

Circle 2 on inquiry card.

May 1979 © BYTE Publications Inc 187

ANNOUNCING

Newfrom DEC

LA34 DECwriter IV

$U99.00

• 110 or 300 baud, RS 232C serial • Upper/lower case, 9 x 7 dot matrixASCII • 10, 12,13.2,16.5 characters/inch

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

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

Newfrom DIABLO

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

High-quality daisywheel printing at45 cps.

DIABLO 1650 5 2.779.°°Receive-only $2,419.°°

Metal daisywheel printing at 40 cps.

S0R0CIQ 120 $795.°°

• RS 232C, upper/lower case fullASCII

• Numeric keypad, protected fields

• Cursor keys plus addressablecursor

• Auxiliary extension port

Teletype 43 $999.00

• RS 232C, 110 or 300 baud

• Upper/lower case full ASCII

• Pin feed, 12" x 8V2" paper

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

• 150 characters per second

• RS 232C serial interface

• Adjustable forms tractor

• Upper/lower case option $90.00

SOROCIQ140 $1,250.°°

• RS 232C and 20mA current loop

• Extensive editing features

• 25th line terminal status display

• 16 function keys (32 with shift)

To Order: Send certified check (personal or company checks requiretwo weeks to clear) including handling* and 6% sales tax if deliveredwithin California.

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

nMJCRQMflJL,

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

angles, the rotation in equations 1 simplifiesto shifts (multiplying by tan 8 n is equivalentto a right shift by n places) and add and sub-tract, except for the scale factor cos8n.Since &n becomes arbitrarily small for arbi-trarily large n, any angle 8 can be repre-sented as a sum of &„:

= ZRnen

n

(Eq 10)

where each Rn is an integer, and \Rn\ <b. Inbase 2, for example:

Bn s 45°, 26.565°, (Eq 11)

14.036°, 7.125°, 3.576°, . . .

and in base 10:

0„=s 45°, 5.7106°, (EqJ2)

0.5729°, 0.05730°, 0.005730°, ...

The set Rn represents 0 in what is called thearc tangent radix.

Given 6 and b, the set Rn is unique onlywith some additional conditions. In basesother than 2, we usually specify Rn > 0 andalso 8 > 0, which are not restrictions, since0 < 8 < 360 represents all possible angles.In base 2 we can specify Rn = ±1 (never 0)provided we begin with a 90° initial rota-lion, and provided 180° < 8 < 180°.Rotating by 90 is, of course, trivial. TheseRn in base 2 have the following advantage:The scale factor cos(Rn8n) is independentof Rn, so the product

K = n(cos0„)-1

n= 1.64676

(Eq 13)

which is the scale factor for the total 8 rota-tion, is a constant independent of Rn and 8.K depends only slightly on the number ofbits in a word, which is the range of n inequation 13.

In any base other than 2, K is a functionof Rn and we need to calculate K for each 8.Fortunately this calculation can be done alsousing only adds and shifts inside the loopand a square root outside the loop. To seethis, write:

K = n

/; \Cos9/7

R

n(\/l + tan2

(Eq 14)

R&= 11(1 +6~2") "n

188

BY 11 Publications ln<

Circle 222 on inquiry card.

Multiplying by b~^n is equivalent to a rightshift by 2/7 places.

This scheme for finding K works well forBB 1 because the square root can wait untiloutside the loop; but BB 2 is somewhatmore difficult. In BB 2 we need to know Kat each step of the loop in order to comparethe current y with the desired / (unless itis 0). Except for the needed square root, wecould use equations 14 to keep a correctlyscaled version of the desired y to comparewith the current y at each step. The needfor a square root can be eliminated by step-ping through angles of 2dn. The correctfactor for K therefore becomes (cosfl^)-2.Rotating by 2dn at each step is twice asmuch work as rotating by 6n, but any otherscheme involves still more work. BB 2 takesabout twice as much time in the loop asBB 1, but needs no square root.

As pointed out by Walther (1971) andRheinstein (1977), the CORDIC approachcan also be used to calculate hyperbolicfunctions, and, from these, logarithmic andexponential functions. In my experience,however, the conventional approach usingseries expansions for logs and exponentialsis almost always preferable.

CORDIC techniques produce arbitrarilyprecise answers if the effective word lengthis arbitrarily long. If digits lost by shiftingare rounded rather than truncated, then theprecision will usually be no worse than ±2 or±3 in the least significant digit, as discussedby Meggitt (1962).

Test Programs in BASIC

Listing 1 is a CORDIC version of BB 1and BB 2 written in BASIC. The point ofusing BASIC is that this listing is simultane-ously an algorithm (or flowchart) and a testto verify that the algorithm works. The pro-gram in BASIC has no practical value, butshould be translated into assembly language(or even hardware) to make useful sub-routines.

Statements 10 thru 60 are initialization.B is the base of the computer's number sys-tem (a special version for B = 2 is discussedbelow). M is the number of digits in a wordand also the number of places in the arctangent radix representation of angles. Thearray A is 6n (see equation 12). The value ofA should be precalcuiated and assembledinto the program as a permanent referencearray. The D array is unnecessary in a work-ing program. Instead, think of D(J)* as anoperator that produces a right shift by 2Jdigits. This is important because D(J)* isused not as a multiply, but as a shift in theloops.

The units in this program are degrees. To

5 REM BBIj 8B2/ AND R->P

6 REM ADAPTED FROM RHEINSTEIN IN BYTE 2-

10 LET B = 10

20 LET M = 6

25 DIM A(M>. D(M)

30 FOR J = 0 TO M

40 LET OCJ) = 8'C-2*J)

SB LET A(J) ■ ATNCBt(-J))*180/3.14159

60 NEAT J

8. 142 (AUGUST 1977)

7 0 PRINT "TrPE 1 FOR BBIj

80 INPUT 2

85 PRINT

90 IF Z » I GOTO 1201 00 IF Z = 2 GOTO 300105 IF H = 3 GOTO 500I 10 GOTO 70

120 PRINT "TYPE X, Y. THETA

1 30 INPUT X, Y, T

132 IF T > = 0 GOTO 135

I 33 LET T = T*360

134 GOTO 132

I 35 PRINT

155 LET K = 1

17 0 FOR J = 0 TO M

175 LET Tl = T

1 80 LET T = T-A<J)

190 IF T < 0 GOTO 250

210 LET YI ■ Y

220 LET Y = Y*X

230 LET X = X-D(J)*Y1

235 LET K = K*D(J>»»<

240 GOTO 175

250 LET T > Tl

255 LET Y ■ Y*B

2 63 NEXT J

2 6S LET K = SQR(K)

280 PRINT ••X1' = "J X/K; "j Y

290 GOTO 70

2 FOR BB2, OR 3 FOR R->P

'i Y/K/8' <.n* I )

300 PRINT

3 10 INPUT

3 IS PRINT

3 40 LET T

345 LET K

350 FOR J

370 LET

37237 43763803823843904 00402404A 10420430435436

LETLETLETLET

"TYPE X, 1, \X. Y, Y3

■ 0= Y3

■ 0 TO M• Y

= X» Y*X

= X-D(J)*Y: Y2+X2

LET Kl = K

LET K = K*D(J)*K

IF (Y-K)*(Y1-K1) <= 0 GOTO 430

LET X ■ X2-DCJ)*Y2

IF X«X1 > 0 GOTO 410

IF <Y1-K1>*X > 0 GOTO 430

LET T = T+A(J)+A(J>

GOTO 37 0

< Bt <-M* 1 )DELTA Y ■

LET Y « YILET X = Xl/BLET K ■ Kl440 NEXT J

442 IF ABSCY/K-1)

443 PRINT "ERROR!445 LET K = K/Y3

450 PRINT "X" = "t X/K*Bt(M+l)J460 GOTO 70

500 PRINT "TYPE X. Y "t

5 10 INPUT X, Y

5 15 PRINT

5 40 LET T545 LET K550 FOR J57 0 LET YI580 LET Y =590 IF Y»Y1600 LET X =610 LET T =

6 15 LET K »620 GOTO 570630 LET Y = Y1*B6 40 NEXT J

645 LET K = SQRCK)

646 IF X > 0 GOTO 6506 47 LET X = -X648 LET T = T+180650 PRINT "R = "J X/KJ660 GOTO 70

999 END

GOTO 445

J CY/K- 1 )*Y3

01

0 TO M= Y= Y-X

<= 0 GOTO 630

X*D(J)*Y1

T+A<J)

K*DCJ)*K

Listing 1: A CORDICversion of Black Box 7,Black Box 2, and a rec-tangular to polar conver-sion routine written inBASIC for the decimalnumber system. This list-ing is intended as a "flow-chart" of the CORDICalgorithm to show how itworks. Readers shouldconvert it to assembly ormachine language to makeit fast enough to bepractical.

May 1979 © BYTE Publications Inc 189

112 (AUGUST 1977)

5 REN BBli 8B2, R->P

6 REM ADAPTED FROM RHEINSTEIN Ifl BYTE 2-8.8 REM BINARY VERSION. B = 2

12 LET K = 1.64676

23 LET M = 22

25 DIM A(M). DcM)

27 LET A<0> = 90

30 FOR J = I TO M

40 LET D( J> = 2i ( l-J)

50 LET A(J) = ATNfDU) >* 180/3. 1 41 59

68 NEXT J

70 PRINT "TYPE 1 FOR BB1. 2 FOR B32. OR 3 FOR R->P "I

8B INPUT Z

85 PRINT

90 IF Z = 1 GOTO 120

100 IF Z = 2 GOTO 300

105 IF Z = 3 GOTO 500

110 GOTO 70

120 PRINT "TYPE X, Y, THETA "J

1 30 INPUT X. Y. T

131 IF T-180 < 0 GOTO 134

132 LET T = T-360

133 GOTO 131

134 IF 1* 180 ' 0 GOTO 137

135 LET T = T*36013 6 GOTO 134

1 37 PRINT

17 8 FOR J = 0 TO M

175 LET 1 = SGN(T)

17 6 LET 1 = I+1-ABSC1)

177 REM I = SGN(T) WON'T DO BECAUSE SGN(0) = 0

180 LET T = T-I*A(J)

210 LET Yl = Y

2 12 IF J > 0 GOTO 220

213 LET Y = I*X

214 LET X " - I *Y12 15 GOTO 260

220 LET Y = Y+I*D<J>*X

230 LET X = X-I*U<J)*YI

2 60 NEXT J

280 PRINT ",V = "i X/KJ

290 GOTO 70

Y' = "I Y/K

300 PRINT "TYPE X, Y. Y' ";

3 10 INPUT X. Y. Y3

3 15 PRINT

3 40 LET T = 0

345 LET Kl = Y3

3 50 FOR J = 1 10 M

372 LET 1 = SGN(<K1-Y)*X>

373 LET I = 1♦I-Abb(I>380 LET Yl = Y*I*D(J)*X400 LET X = X-I*D(J)'*Y402 LET Y - YI+I*D(J)*X404 LET X = X-I*D(J)*Y1410 LET T = T*I«CA(J)+A(J))41S LET Kl = K1*D(J)*D(J)*K1

4 40 NEXT J

442 IF ABSCY/K1-I) < 2t(-M*3> GOTO 445

443 PRINT "ERROR! DELTA Y « "; CY/K1-1)*Y3445 LET Kl = K1/Y3

450 PRINT "X' = "; X/KIJ ". THETA = "1 T

460 GOTO 70

"J

500 PRINT "TYPE X.510 INPUT X. YS15 PRINT540 LET T = 0550 FOR J = 0 TO M570 LET Yl = Y

572 LET I = SGN(Y)

573 LET I » I-U-ABS(I)57 4 IF J > 0 GOTO 58057 5 LET Y = -I*X

576 LET X = I*Y1

577 GOTO 610

580 LET Y = Y-I*D(J)*X600 LET X = X+I*D(J>*Y1610 LET T e T+I*ACJ>6 40 NEXT J

650 PRINT "R = "J X/K> ".660 GOTO 70

9 99 END

PHI = "1 T

Listing 2: A CORDIC version of Black Box 1, Black Box 2, and a rectangularto polar conversion routine written in BASIC for the binary number system.

change to radians, drop the *180/3.14159 inline 50 and replace 360 by 2tt in line 133and 180 by it in line 648.

Statements 70 thru 110 allow the opera-tor to select BB 1, BB 2, or R->P discussedbelow.

BB 1

Statements 120 thru 290 are BB 1. Theoperator types X, Y, and THETA (alias T).Lines 132 thru 134 make T positive. Thisversion can rotate only positively; negativeangles are handled by going all the wayaround. Two nested loops are necessary, aJ loop from lines 170 thru 260, which cor-responds to the n sum in equation 10, andan inner loop from 175 to 240, whichrotates and also determines Rn by the sub-traction in 180 and the test in 190. State-ments 210 thru 230 implement equation 1for 6 = 6n but with two twists: first, cos0is ignored until outside the loops, as men-tioned above; second, the Y value isactually YBJ (see line 255). This eliminatesa shift which would otherwise be in line 220.So we trade a multidigit shift in the innerloop for a single digit shift in the J loop (line255) and a multidigit shift outside theloops (in the print statement 280). This ideais described by Egbert (1977). The innerloop also calculates K, as in equations 14.Line 235 is another shift and add (not amultiply) and the square root is outside theloop in line 265. Dividing by K in line 280gives X' and Y' correctly scaled. Note thatX, Y, and T are all written over.

BB2

Statements 300 thru 460 are BB 2. Theangle T starts from 0 in line 340 and K isinitialized to Y3 (the desired y) in line 345rather than to unity as in line 155. The Jloop extends from lines 350 thru 440 andthe inner loop from lines 370 thru 420.Lines 370 thru 384 and lines 400 and 410implement the double angle rotation de-scribed above. The trick of moving one ofthe shifts outside the inner loop, as de-scribed in BB 1, is used here also, but withthe roles of X and Y interchanged (see line435).

The obscure part of this program is prob-ably the three IF statements (lines 390, 402,and 404) used to determine when to exitfrom the inner loop. Only one subtractionper cycle is needed in line 390 because theexpression Y1-K1 for one cycle is the sameas Y-K for the preceding cycle. The multiplyis not needed. Instead, the point of 390 is

190

May 1979 © BYTE Publications Inc

/TRS-80 owners!

AVAILABLE FOR IMMEDIATE DELIVERYCASSETTE SOFTWARE DISKETTE

Package # 1036 (Level II) $495.00

COMPLETE SMALL BUSINESS - This program is a complete small business program that was tailored towork for most small business applications. The program includes such things as Accounts Receivable,Accounts Payable, Invoicing, Inventory Control, Payroll and General Ledger.

Package # 1038 (Level II) $ 99.95

ACCOUNTS RECEIVABLE

Package # 1039 (Level II) $ 99.95

ACCOUNTS PAYABLE

Package # 1044 (Level II) $125.00

INVENTORY CONTROL

Package # 1045 (Level II) $ 99.95

INVOICING

Package # 1046 (Level II) $ 99.95

PAYROLL

Package # 1047 (Level II) $ 99.95

MAILING LIST

Package #1024

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR I - BANNER - UFO ATTACK - PILE UP -

BIORHYTHM - AUTO RACE and WORDS.

Package #1026

(Level II, DISKETTE) $24.95

Includes the following:

SPACEWAR II - CIVIL WAR - TRAP THE TRIBBLE -

LIFE - KNIGHT - CONCENTRATION and LUNAR

LANDER.

EDUCATION

OVER 150 EXCITING PROGRAMS* MORE EVERY DAY *

ELECTRONICS

MARKETING

Also available for PET and APPLE.All SOFTWARE-80 programs are guaranteed.

Programs available in Level I and Level II Basic.All of our business programs will operate with printer; custom programs also available.With certified check or money order, all orders shipped within 24 hours.Personal checks allow 2 weeks. Send for our complete catalogue.

===== SOFTWARE-80 —

18228 Cabrillo CourtFountain Valley, CA 92708

ALL PRICES AND PROGRAMS ARE SUBJECT TO CHANGE WITHOUT NOTICE

Circle 321 on inquiry card.

BYTE May TJ71) 191

to determine whether the sign of Y-K differsfrom the sign of Y1-K1 and, if so, to go toline 430. These signs differ only if the lastrotation has carried past the proper stoppingpoint. K and K1 in line 390 are the desiredy scaled by the same factors as Y and Y1.The subtractions would be meaningless if thescale factors were different.

Even if the signs of Y-K and Y1-K1 inline 390 are the same, the rotation mightstill have carried past the proper stoppingpoint. This occurs if Y1-K1 is positive and Xhas changed from positive (XI) to negative,or if Y1-K1 is negative and X has changedfrom negative (XI) to positive. These twocases correspond to rotating through 90° or270° and are tested for in lines 402 and 404.The multiplications in 402 and 404 againneed not be done, and the subtraction in404 has already been done in 390. An alter-native would be to perform the addition inline 410 and then test T.

Statement 442 tests whether the desiredy has been achieved. If not, the desired yis too large (\y'\ > R) and your reward is in443. K needed to scale X' is calculated inline 445, this time without a square root.However, there is a problem: Y3 (the desiredy) must not be 0. This version of BB I can-not work with the desired y ' = 0.

R^P

The special case y = 0 in BB 2 is the veryuseful rectangular to polar (R-*P) coordinateconverter. Although the preceding generalpurpose BB 2 will not handle y = 0, a spe-cial program for y - 0 is actually easier andfaster than BB 2. Statements 500 thru 660are R^P. No new tricks are needed: R-*P isquite similar to BB 1. The IF statement inline 590 determines whether or not the signof Y has changed. The reversed signs in lines580 and 600 change the sign of the angle togive 0 rather than d as the answer (see equa-tions 6). Statements 646 thru 648 are neces-sary because X can be negative.

Figure 3: The side-angle-side problem in plane trigonometry (given a, b, C;find A, B, c) can be solved as follows:

Call BB1 (b, 0, C; t7, \2) t7 and \2 are the rectangular coordinates corres-ponding to a vector of length b at an angle C(equation 2 in the text).

Call R^P (a - t/, t2; c, Bj a - t7 and \2 are the rectangular coordinates

corresponding to a vector of length c at an angleB.

Base 2 is Special

A binary version with Rn = ±1, as shownin listing 2, allows some simplifications butalso presents some problems. For BB 1 andR^P, K is the constant in line 12. With noinner loop, just a J loop, no advantage comesfrom shifting only X or only Y. So D(J)* isan operator causing a right shift by J-1 bits.

This binary version of BB 1 can rotateeither positively or negatively, but only upto 180°; hence the reason for lines 131 thru136. I is the direction to rotate and is equalto the sign of T (see line 175); so multiply-ing by I in lines 180, 213, 214, 220, and 230is really just selecting whether to add or sub-tract. The special case for J = 0 in lines 213through 215 is a preliminary 90° rotation,as mentioned above.

In BB 2, J can start at 1 rather than 0(line 350) because each rotation step isdouble the normal angle. The direction torotate is positive if K1-Y has the same signas X and negative if these signs differ (seeline 372). As before, K1 is the desired ywith the same scale factor as Y.

Most of the rest of this program is thesame as the previous version in listing 1.

Examples

This section contains two examples ofproblems solved using BB 1 and BB 2. I usethe following notation:

Call BB 1 [x,y,6;x',y')Call BB2 (x,y,y';x',e)Call R->P (x,y; R, 0)

(Eq 15)

In each case above, the given quantities pre-cede and the answers follow the semicolon(see figure 2). When using the actual pro-grams, remember that the given quantitiesoften are written over.

Consider first a plane triangle. Given twosides and the included angle, find the otherside and two angles (see figure 3). This prob-lem is known as SAS for side-angle-side: A,B, and C are angles; a, b, and c are the oppo-

A= 180'- B- C

the sum of the interior angles of a triangle is180°.

192 May 1979 © BYTE Publications Inc

Le;

ak;

■ " Progi ————

Payroll with Cost Accounting #09-8 $15.00

Accounts Payable and Accounts Receivable #13-6 $15.00

General Ledger #20-9 $15.00

These books feature complete, quality applications software for small-to-medium

sized businesses. Each book includes fully documented program listings, sample

printed reports, installation instructions and user's manual.

Written in an extended Wang BASIC (write to ask us

about our CP/M CBAS1C version and other

conversions).

Volume 0 - The Beginner's Book

Volume I — Basic Concepts

Some Common BASIC Programs #06-3 $8.50t

76 short practical programs, most of which can be usedon any microcomputer with any version of BASIC.Complete with program descriptions, listings, remarksand examples. 200 pages. #06-3 $8.50t

MEW PET Cassette

All 76 programs from Some CommonBASIC Programs are now reprogrammedready to run on the Commodore PET.Available on cassette only. Thebook is necessary for programdocumentation and userinstructions. #25-X $10.00

18080A185Assembly Language Programming

6800 Assembly Language Programming

Z80 Assembly Language Programming

| 6502 Assembly Language Programming| 8080 Programming For Logic Design

6800 Programming For Logic Design

| Z80 Programming For Logic Design"

PAYROLL WITH COST ACCOUNTING

Accounts Payable and Accounts Receivable

General Ledger

8080A/8085 Assembly Language Programming #10-1 $8.50t

6800 Assembly Language Programming #12-8 $8.50t

MEW Z80 Assembly Language Programming #21-7 $9.50c0!v\\MG 6502 Assembly Language Programming

These books describe how to program a microcomputer using assembly language.They discuss classical programming techniques, and contain simplified program-ming examples relevant to today's microcomputer applications. 400 pages each.

Volume 0 - The Beginner's Book

If you're not familiar with computers, but would like to be, then this is the bookfor you. Computer logic and terminology are introduced in a language the begin-ner can understand. Computer software, hardware and component parts are de-scribed, and simple explanations given for how they work. Text is supplementedwith creative illustrations and numerous photographs. 300 pages. #08-X $7.95

Volume 1 - Basic Concepts

A must for anyone in the computer field, this best selling text explains hardwareand programming concepts common to all microprocessors. Its universal appealis reflected by its having the greatest yearly sales volume of any computer text.350 pages. #02-2 $8.50t

Volume 2 - Some Real Microprocessors*

Provides objective, commercial-free descriptions of virtually everymicroprocessor on the market today. Lets you know what's available, how theywork (or sometimes don't work), and how to use them. More detaileduser/designer information than provided by most manufacturers.

#04-7

$8.50t

#05-5

$8.50t

#11-X

$8.50t

8080 Programming for Logic Design6800 Programming for Logic DesignZ80 Programming for Logic Design

These books describe the meeting ground of programmers and logic designers;written for both, they provide detailed examples to illustrate effective usage ofmicroprocessors in traditional digital applications. 300 pages each.

Volume 3 - Some Real Support Devices*

Same objective, in-depth coverage as Volume 2, but applied to support devicesthat might be used in any microprocessor system: memory, data communicationdevices, data converters, direct memory access controllers, busses, and muchmore.

*Volume 2 and Volume 3 Updates

To cope with the rapid evolution of microprocessor products. Volumes 2 and 3have their own series of six bimonthly updates, allowing you to remain currentwith all parts as soon as they are really available. Update subscriptions sold sepa-rately.

Volume 2, 1400 pgs. loose leaf #15-2 $25.00

Volume 2 binder #16-0 $ 5.00

Volume 3, 700 pgs, loose leaf #18-7 $15.00

Volume 3 binder #19-5 $ 5.00

Volume 2 update only $25.00/yr.

Volume 3 update only $25.00/yr.

Volume 2 and 3 updates $40.00/yr.

t As of July 1,1979 all $8.50 book prices increase to $9.50. If ordering after July I, 1979 please use $9.50 price,ooooooooooooooooooooooooooooooooooooooooooooo

I ' . . !

oooooooooooooooo

OSBORNE & ASSOCIATES, INC.

630 Bancroft Way, Dept. 120Berkeley, CA 94710

(415) 548-2805TWX 910-366-7277

Book/Cassette

Price

Quantity

.STATE.

PHONE

SHIPPING (Shipping for large orders to be arranged)Vol. 2 and Vol. 3 update subscriptions:

□ $4.00 foreign air mail shipping per update subscriptiona No charge in the U.S. - 4th class mail ONLY

Books & Binders:

a All foreign orders $4.00 per book for airmail

□ $0.45 per item 4th class (allow 3-4 weeks in the U.S.)a $0.75 per item UPS in the U.S. (allow 10 days)

a $1.50 per item special rush shipment by air in the U.S.

Calif, residents add 6% sales lax.

S.F. BART residents add 6-1/2 % sales tax.

No tax on update subscriptions.

Subtotal

California residents tax

Updates:

Payment in advance must be enclosed for purchases of up to $70.00. Invoicing U.S.purchases over $70.00 available upon approval of your account. All foreign ordersmust be prepaid in U.S. dollars drawn on a U.S. bank.

Shipping

TOTAL AMOUNTENCLOSED

Cassettes:

□ No additional charge in thea $1.50 each foreign air mail

Please send the following information:U.S. □ Becoming an O&A dealerd School discounts

□ List of foreign distributors

a Current catalog

a CP/M CBAS1C business programs

Circle 292 on inquiry card.

BYTE May 1979 193

site sides. Given a, b, C; find A, B, c. Thesolution can be written as:

Call BB 1 (b,0,C;f\,t2)Call Rr+P{a-f\,t2;c, B)A =180° -B- C

(Eq 16)

The ts are intermediate answers. As a testcase: a = 50, b = 70.71, C = 105°; get A =30°, B = 45°, and c = 96.59. This test case isin listing 3. The derivation of this algorithmis left as an exercise for the reader; startfrom the equations in any trigonometrybook.

As a somewhat more difficult example,consider the problem Voider (1959) origi-nally solved: given the latitudes and longi-tudes of two points on the earth, find thegreat circle distance between them and theinitial heading. This problem comes up, forexample, in long-distance ham radio in deter-mining where to point the antenna beam.Given the longitude X-| (west longitudes are+) and latitude 0-| (north latitudes are +) ofstation 1 (home) and the longitude X2 ar|dlatitude $2 of station 2, the algorithm belowcalculates A, the initial heading or pointingangle (north reference clockwise azimuth)

RUN

TYPE I FOR BBl, 2 FOR 8B2. OR 3 FOR R->P ? 1

TYPE X, Y, THETA ? 70.71? 0? 105

X1 = -18.3009 , V = 68.3011

TYPE 1 FOR BB1. 2 FOR BB2, OR 3 FOR R->P ? 3

TYPE X, Y ? 68.3009? 68.3011

R = 96.5922 , PHI = 45.0001

TYPE 1 FOR BBl. 2 FOR BB2, OR 3 FOR R->P ?

STOP 6 80

PRINT 180-45.0001-105 29.9999

from station 1 toward station 2, and D, thegreat circle distance between stations.

Call BB1 (1,0, <p2;C2,S2)

Call BB 1 (C2, 0, Xi -X2;f1,r2)

Call BB 1 (f1, 52, -01; f3, f4) (Eq 17)

Call R-+P(t4,t2;t5,A)

Call R^P(f3, t5;t6, d)

As a test, £6 = 1. The angle d is the dis-tance D in angular units. If d is in degrees,multiply by 60 to get D in nautical miles; by69.1 to get statute miles; or by 111.2 to getkilometers. This algorithm is approximatebecause it assumes a sphericai earth. As atest case: Xi = 71.05°, <t>\ = 42.367°(Boston), X2 = 70.667°, 02 = -33.417°(Santiago de Chile on the west coast ofSouth America); get A = 179.7° (slightlyeast of south) and D = 5237 statute miles.This test case is shown in listing 4.

The derivation of this algorithm is alsoleft as an exercise for the reader. [As a hint:two approaches are possible. One approachbegins with figure 6 in Smart (1962) anduses spherical trigonometry. Another ap-proach, mentioned by Voider (1959), usesrotation matrices and views the problem interms of coordinate transformations. Calcu-lator algorithms for this and some similarproblems are in Ball (1978), appendixA.7.]"

REFERENCES

Listing 3: Test case solution to a side angleside triangle problem.

PRINT 7RUNTYPE 1TYPE X,X' = •TYPE 1TYPE X,X- = .TYPE 1TYPE X.X' = .TYPE 1TYPE X,R = .9TYPE 1TYPE X.R =TYPESTOPPRINT 7

1.05-70. 667

.383

1

FOR 8B1, 2 FOR BB2, OR 3 FOR R->P ? I

Y, THETA ? 1? 0? -33.417834679 • Y' = -.SS0739FOR BB1. 2 FOR BB2, OR 3 FOR R->P ? 1

Y. THETA ? .834679? 0? .38383466 < Y1 = 5.57898E-3FOR BBl. 2 FOR BB2, OR 3 FOR R->P ? 1

Y. THETA ? .83466? -.550739? -42.367245545 . Y1 = -.969374FOR BBl, 2 FOR BB2. OR 3 FOR R->P ? 3

Y ? -.969374? 5.S7898E-36939 » PHI = 179.67

FOR BBl. 2 FOR BB2. OR 3 FOR R->P ? 3

Y ? .245S45? .96939« PHI = 75.7858

FOR BBl, 2 FOR BB2, OR 3 FOR R->P ?

80

5.7856*69. 1 5236.8

Listing 4: A test case for the algorithmthat gives great circle distance and headingbetween points on the earth.

1. Ball, J A, "Pointing and Range on a PocketCalculator," Ham Radio Magazine, February1978, page 40.

2. Ball, J A, Algorithms for RPN Calculators, JohnWiley Co, 1978.

3. Cochran, D S, "Algorithms and Accuracy in theHP-35," Hewlett-Packard Journal, June 1972,page 10.

4. Egbert W E, "Personal Calculator AlgorithmsII: Trigonometric Functions," Hewlett-PackardJournal, June 1977, page 1 7.

5. Meggitt, J E, "Pseudo Division and PseudoMultiplication Processes," IBM Journal, April1962, page 210.

6. Rheinstein, J, "Simple Algorithms for Calcu-lating Elementary Functions," BYTE, August1977, page 142.

7. Smart, W M, Textbook on Spherical Astron-omy, 5th Edition, Cambridge University Press,England, 1962.

8. Voider, J E, "The CORDIC TrigonometricComputing Technique," IRE Transactions onElectronic Computers, September 1959, page330.

9. Walther, J S, "A Unified Algorithm for Elemen-tary Functions," Proceedings, Spring JointComputer Conference, 1971, page 379.

194 May 1979 © BYTE Publications Inc

"HOT" NEW BOOKS FORMICRO-COMPUTER PROS!

The latest in microcomputer books that people waited in line to buy!Now available by mail for the first time.

„..w™.'~" --- •-"

How to Buy & Use Minicomputers &Microcomputers

By W. Barden, Jr.Explores the basics; covers hardware,software, peripheral devices, programminglanguages & techniques; use for fun or profit!240 pgs. #27357 ... $9.95

Microcomputer Primer

By M. Waite & M. PardeeExplains it all: central processing unit, mem-ory, input/output interfaces, programs. Dis-cusses well-known models & shows how toprogram your own. 224 pgs. #21404. ..$7.95

Basic Primer

ByM. Waite & M.Pardee

Covers BASIC fundamentals, program con-trol, organization, functions & variations. Witha game program & data on numbering sys-tems & ASCII character codes. 192 pgs.#27586... $8.95

How to Program Microcomputers

By W. Barden, Jr.Examines assembly-language programmingof 8080, MC6800 & MCS6502 models. Ex-plains concepts, operation & architecture.With precanned operations. 256 pgs.#27459 ... $8.95

Fundamentals of Digital Computers(2nd Ed.)

By D. SpencerExplains computers, programming, hard-ware, BASIC, FORTRAN & COBOL lan-guages, advanced concepts & computercenter operation. 320 pgs. #27534 ... $9.95.

The 8080A Bugbook : MicrocomputerInterfacing and Programming

By Rony, Larsen & TitusEmphasizes the computer as a controller.Covers principals & 4 basic tasks of computerinterfacing. BUGBOOK® is a registeredtrademark of E&L Instruments, Inc., Derby,Conn. 06418.416 pgs. #27447... $70.50

Circle 332 on inquiry card.

DBUG: An 8080 InterpretiveDebugger

By C. Titus & J. TitusHow to use DBUG (a software debuggingpackage) to develop & test programs. Withdocumented hexadecimal & octal listings. 112pgs. #27536... $4.95

Introductory Experiments in Digital

Electronics and 8080A

Microcomputer Programming and

Interfacing

By Rony, Larsen & Titus

Covers basic gates thru microcomputer inter-rupts, with hardware & software examples.Experiments re: breadboarding, circuits, etc.over 416 pgs. each. Book 1: #27550 ...$72.95. Book 2: #27557 ... $70.95.Both: #27552... $20.95

NCR Data Communications Concepts

By NCR Corp.Explores concepts, techniques & limitations ofdata communications: telephone-based &others. 208 pgs. #27548 ... $6.95

NCR Data Processing ConceptsCourse

By NCR Corp.Intro to data processing, computers & digitallogic. Covers input/output devices, memories,control. 256 pgs. #27547 ... $7.95

Understanding CMOS IntegratedCircuits (2nd Ed.)

By R. Melen & H. GarlandBegins with basic digital ICs; coverssemiconductor physics, CMOS fabricationtechnology & design, & advanced CMOS ap-plications. 144 pgs. #21598 .. . $5.95

Transistor-Transistor Logic (2nd Ed.)

By G. FlynnDiscusses digital logic & different types oflogic circuits used in the TTL functional class.With block diagrams, schematics, logic truthtables. 288 pgs. #27572... $6.95

SAVE 10% when you order 3 or more!Examine any book(s) at NO RISK for15 Days!

Clip Out-Mail Today!

YES—Please send me the book(s) indi-cated below. If I'm not completely satisfied, Imay return any or all within 15 days of receiptfor full credit or refund. Add sales tax whereapplicable. Q 21534 Q 21552

□ 21447 □ 21548

□ 21536 □ 21547

□ 21550 □ 21598

□ 21551 □ 21572

□ I have checked 3 or more titles and de-ducted my 10% savings.

D 21351

□ 21404

□ 21586

□ 21459

Name

IIIIIIIIIII

(Please Print)

Address

-Total: $_

State Zip Code

□ Check □ Money Order □ Master Charge

□ Visa/BankAmericard

Exp. Date

Account No.:

Interbank No.:

(Master Charge only)

Signature: _

Minmum credit card purchase: $10.00 MY 53

MAIL TO:

Howard W. Sams & Co., Inc.

4300 W. 62nd St.Indianapolis, IN 46206

Prices subject to change 6 months after issue date.

BYTE May 1979 195

Tic-Tac-Toe:

A Programming Exercise

Delmer D Hinrichs2116 SE 377th AvWashougal WA 98671

Computer and calculator games serve atleast four useful functions:

• Developing logic and mathematicalskills.

• Demonstrating programming methods.

• Demonstrating operation of the com-puter.

• Providing entertainment

Keeping these possibilities in mind, let usexamine the problem of developing a pro-gram to enable the computerto play tic-tac-toe with the user.

The game of tic-tac-toe at first appearsto be a trivial game. New players quicklylearn that a game played rationally by bothsides must end in a draw. But being un-beatable does not mean you have masteredthe game. The skilled player sets traps inthe form of forks so that there are two waysto complete a row of three, only one ofwhich can be blocked by the opponent.There are 15,120 different sequences for thefirst five moves alone, counting rotations andreflections, but these may be reduced to amanageable number of possibilities. Thereare only three basic opening moves: center,side, and corner. The corner opening isstrongest; only by taking the center can thesecond player avoid an immediate trap. Witha side opening or with a center opening, thesecond player has four choices to avoid animmediate trap. For the side opening game,these safe choices are the three adjacentcells or the opposite side. For the centeropening game, the safe choices are the fourcorners.

There are a number of tic-tac-toe pro-grams already available, so why write an-other one? Many of these programs play avery passive game, and some even allow theuser to win. If the user can win, it followsthat the computer response was a mistake.Actually, the computer response may be amistake even if it does not allow a user win(it may fail to take advantage of an oppor-tunity to set a trap). I have designed an ag-

gressive program that allows no user wins,and that takes every possible opportunity toset a trap. The user has to play a perfectgame to get even a draw.

System Considerations

It is assumed that either a printer or avideo terminal is to be used for input andoutput. The user's responses to programquestions may be entered as Y or N (for yesor no), and user moves during the game maybe entered as single digits 1 thru 9. Eachdigit represents one of the nine cells of theplaying board (see figure 1a). The printeror video terminal allows a 2-D display of thetic-tac-toe playing board, including the posi-tions of all computer and user moves.

Program Planning

There are several possible ways of pro-gramming a tic-tac-toe game. One way isto identify all possible board configurations(as is done in the game of Hexapawn) andthen to make the proper response for eachconfiguration. For tic-tac-toe, this wouldinvolve an unreasonable number of possibili-ties. Another approach is to check the centercell, take it if it has not been taken, andotherwise take a corner cell, etc. This leadsto a passive and irrational game.The algorithmused in my program is as follows:

1. Randomly select a center, side, orcorner opening move.

2. Check the user's response to be sure itis a legal move before entering it ontothe board.

3. Based upon the user's response, selecta sequence of forcing moves so thatthe user must next make a predeter-mined move or lose the game.

4. If possible, set a trap (fork).

5. For variety, randomly select alternatestrategies for setting traps.

6. After either a computer win or a drawgame, print an appropriate message(remember that it is not possible forthe user to win).

196 May 1979 © BYTE Publications Inc

Circle 3 on inquiry card.

Circle 313 on inquiry card.

TRS-80 LEVEL II AND DOS

GENERAL SUBROUTINE FACILITIES GSF'Collection of last easy-to-use machine language routines.

IN-MEMORY SORT with multiple variables and keys.

SORT 1000 - Element array in 9 seconds.

ARRAY read/write to tape, compress/uncompress/move data.

SCREEN scrolling, save screen displays, and more

DISK SORT PROGRAM DSP.'

SORT/MERGE multi-diskette files. Fast and easy to use.

MULTIPLE variables and keys. User input/output sort exits.

Includes GSF machine language in-memory sort. etc. 32 or 48K.RENUMBER WITH REMODEL' - MERGE WITH PROLOAD'

REnumber any section or an entire program.

MOve program segments. DELete program lines.

All line references readjusted as required.

COMBINE programs with renumber and merge.

LOAD or SAVE any portion ol program from tape.COPY SYSTEM TAPES WITH COPSYS'

COPY and VERIFY machine language object tapes.

MERGE object tapes to form single load module.MICROCOMPUTER CASSETTES C-20Y

SPECIAL formulation optimized for microcomputers.

Extremely broad FREQUENCY response. Clean recordings.

Exceptional DENSITY characteristics. Broad range. Consistency.Dealer Inquiries InvitedREMODEL Order TS21 Dat

REMOOEL + PROLOAD Order TS22Dat S34.95

GENERAL SUBROUTINE FACILITIES Order TS25Daf S24.95DISK SORT PROGRAM Order TS26Dal S34.95

Must specify 16. 32. or 48K on above. System house discounts.COPSYS [Not DOS] Order TS24ual S14.95

For TAPES that TEST best Order 10 ea at S14.95

User Manuals S3.00 refundable on program purchase.F- n.prT -3 Check. VISA. M/C. C.O.D.^-HALtl COMPUTES"^ calif, residents add 5%702 Palmdale, Orange CA 92665 [714] 637-5016

READY-TO-RUN SOFTWARE

FOR YOUR NORTH STAR COMPUTER

NEW! LANGUAGE TRANSLATOR PKG. $60.00

ENGLISH TO JAPANESE - Teaches rudimentaryconversational Japanese - easy to use, easy to learn.

TUTORIAL III $40.00

Release version 4, covers many new commands pluscustomizing program for BASIC.

INTEGRATED BUSINESS SYSTEM $175.00

Designed for dual floppy drive system - contains A/P;A/R; Pay; Gen. Ledger; Letter Generator; Bus Stat;Inventory; Sales/Sales Analysis.

MEDICAL/PROFESSIONAL BILLING $35.00

Doctors, Lawyers and Dentists - use this to issuestatements, track receivables, age accounts, etc.

MAILING LABEL PROGRAM $35.00

Lots of help for your direct mail program. Add, delete,maintain mailing list and print labels.ALL SOFTWARE PACKAGES ARE WRITTEN IN BASIC ONDISKETTE ONLY

Send for Free Catalog

Packages containing Program Listings only are available.

QEJ

(714)774-1270

i m AJA SOFTWARE

P.O. Box 2528 • Orange, CA 92669

/To further improveservice to our customers wehave installed a toll-freeWATS line in our^Peterborough, NewHampshire office.If you would.like to order a^subscription to\% BYTE, or if

Toll-free

i

BYTEs New

SubscriberW.A.T.S. Line

(800)258-5485

We thank you and lookforward to serving you.

^XXSLSLSLSLSLSLSLSULSJLSLSlSLSULSlSl^^

I

you have aquestion relat-ed to a BYTEsubscriptionyou are invitedto call(800)258-5485between 8:00 AM and4:30 PM Eastern Time.(Friday 8 AM-Noon)* Calls from continental U.S.

only, yf o

9178°

SJULSULSmSUO

JJIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIllllllllll Minima

1 T.D.Q. I

1 TAPE DATA QUERY

I PET-8 K SOL-IIA TRS-80-LEVELII 1

1 *FILE MANAGEMENT SYSTEM

= —UTILIZES DUAL AUDIO CASSETTE RECORDERS

| INTERACTIVE QUERY LANGUAGE

= —ENGLISH-LIKE COMMANDS

= —POWERFUL INFO RETRIEVAL CAPABILITY

| "COMPUTERIZED BUSINESS & PERSONAL RECORDS

—CUSTOMIZE YOUR OWN FILE STRUCTURES

—CREATE* MAINTAIN DATA FILES §

—NO PROGRAMMING EXPERIENCE REQUIRED

= "IMPLEMENTED IN BASIC |

| T.D.Q. CASSETTE WITH MANUAL & REF. CARD $50.00 |

THE FOLLOWING PRE-DEFINED T.D.Q. FILE STRUCTURESARE AVAILABLE TO SOLVE YOUR DATA PROCESSING NEEDS:

INVENTORY CONTROLACCOUNTS RECEIVABLEACCOUNTS PAYABLEORDER PROCESSINGCUSTOMER DIRECTORYAPPOINTMENT SCHEDULING

$35.00$35.00$35.00$35.00$25.00$25.00

EACH WITH CASSETTE AND MANUAL

SEND SELF-ADDRESSED STAMPED ENVELOPE FORCOMPLETE SOFTWARE CA TALOCUE.SEND CHECK OR MONEY-ORDER TO:

H. GELLER COMPUTER SYSTEMS

DEPT. B, P.O. BOX 350NEW YORK, NY 10040

(NEW YORK RESIDENTS ADD APPLICABLE SALES TAX)

? iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii;

Circle 142 on inquiry card. byte May 1979 197

There are a number of special cases thatcomplicate things. The program must cor-rectly handler// possibilities.

Implementation

The program first checks to see if theoperator needs instructions for playing thegame. If so, they are printed out, including a

Listing 1: Tic-tac-toe program written in BASIC.

tic-tac-toe board with the number of eachcell indicated. Note that the board array (B),which holds the contents of all nine boardcells, is not a string array; instead, the num-ber which corresponds to the desired ASCIIcharacter is stored and then converted to anASCII character at board display time.Program initialization is necessary to in-sure that the first and all subsequent gamesstart off correctly. The initial computermove is selected by using the RND function,Text continued on page 202

10

20

30

40

50

60

70

80

85

90

100

110

120

130

*** RATIONAL TIC-TAC-TOE ***'!

A PROGRAM BY D D HINRICHS IN TDL 8 K BASICAPRIL 1977

'DO YOU WANT INSTRUCTIONS (Y OR N) " ;"N" THEN 230 : REM

A$SKIP

INSTRUCTIONS

REM SET EACH BOARD CELL TO ITS NO.

PRINT

REM

REM

REM

PRINT

INPUT'

IFA$ =

N = 48

FOR I = 1 TO 9

B(I) =N + I

NEXT I

PRINT

PRINT "THIS PROGRAM PLAYS AN AGGRESSIVE GAME OF TIC-TAC-TOE. IF"

PRINT "YOU MAKE ANY MISTAKE, THE COMPUTER WILL WIN. IF YOU PLAY"140 PRINT "A PERFECT GAME, YOU WILL GET A DRAW. THE PLAYING BOARD IS"145 PRINT "DISPLAYED AS FOLLOWS:"

150 GOSUB 1780 : REM DISPLAY PLAYING BOARD

160 PRINT

170 PRINT "TO MAKE YOUR MOVE, ENTER THE DIGIT (1 - 9) THAT REPRESENTS"180 PRINT "THE BOARD CELL YOU WISH TO OCCUPY, THEN ENTER A CARRIAGE"190 PRINT "RETURN. THE COMPUTER WILL THEN CALCULATE ITS RESPONSE AND"DISPLAY THE UPDATED BOARD. AT THE START, THE COMPUTER WILL"-RANDOMLY CHOOSE A CENTER, CORNER, OR SIDE OPENING MOVE."

195 PRINT

200 PRINT

205 PRINT

210 PRINT "COMPUTER MOVES ARE:

220 PRINT "YOUR MOVES ARE:

230 F = RND(-l)

250 DATA 4,6,8,2,3,7,0,9,0,0, 7,3,1,4,9,3,7,6,9,4

260 DATA 2,8,6,4,1,9,0,7,0,0, 1,9,3,7,2,7,3,8,9,2

270 DATA 9,1,8,2,7,3,7,1,2,9, 8,2,1,9,6,4,0,3,0,0

280 DATA 9,1,6,3,4,1,9,7,4,3, 6,4,2,8,7,3,0,1,0,0

290 DATA 5,8,7,3,6,4,0,9,0,0, 5,8,6,4,1,9,0,7,0,0

300 DATA 1,3,5,9,8,5,8,3,1,7, 1,3,7,4,6,0,9,0,8,0

X"

O"

310 DATA 3,1,5,7,8,5,8,3,1,7,

320 DATA 1,5,7,4,6,3,6,5,7,4,

330 DATA 4,7,5,6,9,5,9,7,4,3,

340 DATA 5,9,2,8,3,3,2,9,5,6,

350 DATA 2,3,5,8,9,9,5,3,2,6,

360 DATA 7,4,3,5,2,3,2,7,4,5

440 REM

450 REM ENTRY POINT TO INITIALIZE FOR A NEW GAME

1,3,5,8,9,0,0,0,0,03,1,5,8,7,0,0,0,0,09,5,7,8,4,7,4,9,5,85,9,3,2,7,2,3,5,8,93,2,5,9,7,7,4,5,3,9

455 RESTORE

460 E = 0

465 F = INT(RND(1)*2)

470 G = 1

475 H = 0

480 Cl= 10

490 C2= 10

500 N = 0

510 FOR I = 1 TO 9

520 B(I) = 32

530 NEXT I

550 REM INITIAL COMPUTER MOVE IS 0

570 C = INT(RND(1)*3)

580 IF C = 0 THEN C = 5

590 U= 10-C

600 GOSUB 2100

630 IFC = 5THEN 1720

640 IFC = 2 THEN 1320

650 IF U = 5 THEN 940

670 R= 10*U+ 140

680 IF U > 5 THEN R = R - 10

700 E = 1

720 IF F = 1 THEN R = R + 5

740 F = 1 : REM

742 IF R = 0 GOTO 770

745 FOR I = 1 TO R

750 READC : REM

760 NEXT I

REM RESET DATA POINTER TO STARTREM SET FLAG TO 0 OR 1

: REM SET BOARD CELLS TO BLANKS

OR 2 (0 THEN CHANGED TO 5)

REM SELECT INITIAL MOVE

REM CENTER OPENING GAME

REM PUT COMPUTER MOVE IN CELL,

REM DISPLAY BOARD, ACCEPT 1ST USER MOVE

REM CENTER OPENING GAME

REM SIDE OPENING GAME

REM CORNER GAME, 1ST USER MOVE 5

REM FIND RESPONSES FOR CORNER GAME

REM REENTRY POINT FOR 5-UNIT RESPONSES

REENTRY POINT FOR 7-UNIT RESPONSES

INCREMENT DATA POINTER TO 1ST RESPONSE

Listing 7 continued on page 200

198 May 1979 © BYTE Publications Inc

Circle 31 on inquiry card.

BUSINESS APPLICATION SOFTWARE

ACCOUNTS PAYABLE

ACCOUNTS RECEIVABLE

GENERAL LEDGER

. COMPATIBLE MODULES

. ALSO INDEPENDENTLY INSTALLABLE

PROGRAMS IN EACH MODULE ALLOW:

All File Maintenance

Utility File Listing

Individual Account Incjuirins

Original-Journal*

Automatic Master F.le updating

A/B ; CUSTOMER STATEMENTS

AGEING 8. TRIAL BALANCESALES/ C/R JOURNALS

A/P : CHECK WRITING

AGEING 6. TRIAL BALANCEACCT. = VERIFICATION

G/L : DETAIL HISTORY INQUIRYTRIAL BALANCEP8-L & BALANCE SHEET

BUSINESS APPLICATION SOFTWARE

Programs onAR, AP, GL

■CP'M CBASIC Co"'NAME

A/R

$1000 n

S55 00 I IS90 00I S3D0 00 COD c

S10 00

$55.00 l I590 00 I ■

, CA 95030

$ 19.00 '160.00 I250.00 I

.:..■ f. Ol>

code

Circle 32 on inquiry card

SHOULD it be a Heathkit ?

Whether you are considering the purchase of anadditional peripheral or your first computer youshould know more about Heath& computer products.Heathkit*-' has a continuing commitment to sellingwell-documented computer kits and software. Arethey for you? How can you find out?

Read Buss: The Independent Newsletter of HeathCo. Computers, where information on new productsis printed as it leaks out of Benton Harbor, notheld back to suit a marketing plan. Buss is nota company-controlled publication, so it can dealwith weaknesses of Heathkit& products as well astheir strengths. It features news of compatiblehardware and software from other vendors. EveryBuss issue has candid accounts of experiences ofHeathkit^ owners. Results of their discoveries,which often include hardware modifications, savesubscribers headaches—and money. That's provenby two years' experience. So Buss can guaranteea full refund any time you're not satisfied.

Buss is mailed first class (by airmail outsideNorth America). The 2k-issue subscription givesyou the choice of starting with the latest issueor with available back issues (about 8 are stillin stock). Send $ 8.00 for 12 issues or $ 15.25for 24 (overseas, $10.00/12; $19.25/24 US funds)to: Buss

325-B Pennsylvania Ave., S.E.Washington, DC 20003

The Independent newsletterof Heath Co. Computers

Announcing . . .

SMALL BUSINESS COMPUTERS Magazine

The magazine for users and potential users ofsmall business computer products and services

• Thy monthly magazine for businessmen in the process of purchasing or installing their first com-puters

• The practical how to publication written in non technical language and stressing business applicalions for small computer systems. Each monthly issue includes:

FEATURE SURVEY REPORTS: Such as. Software Packages lor Small Business App/icafions,Small Manufacturing Systems. Inuentory Control Sysfems. Microcomputer Business Appliactions,and so on

APPLICATION STORIES: Real life examples of computer applications in the small business environment capabilities, benefits, what to watch for, and much more of direct interest to the smallbusinessman

COMPUTER PROFILES • IDEAS AND INNOVATIONS • INFORMATIVE ADS

SPECIAL CHARTER SUBSCRIPTION12 issues (» 50% off

Receive the next 12 issues of Small BusinessComputer Magazine for just $9 SCnoffthecover price

Mail the coupon today to: SMALL BUSINESS COMPUTERS Magazine33 Watchung Plaza • Montclair. NJ 07042

SMALL BUSINESS COMPUTERS Magazine • 33 Walchung Plaza • Montclair, NJ 07042□ YES Enter my charter subscription at the ',. price cost of $9 for 12 monthly issues.D Check enclosed. □ Bill me.

Name

Organization .Address

City/Stale

Circle 82 on inquiry card.

-Zip.

ED SMITH'S SOFTWARE WORKS

ANNOUNCES MMMM,®

AN M6800 SYSTEM RELOCATABLE RECURSIVEMACROASSEMBLER & LINKING LOADER

ATTENTION ALL PROGRAMMERS: if you have

been looking for an assembler with real macro capabilities, then11IB1EA® is the one for you.

Character replacement is the crux of macro expansion. JSSMAEallows unlimited character replacement in any field of a macromodel statement. JSBlMIASS's argument notation can specify replace-ment from any field, subfleld, sublist or substring of the macro callstatement. 3slSlM!A(S's set of macro directions supports both globaland local set symbols. Set symbols can be based on either arithmeticexpressions or character expressions. Macro model statements candetermine attributes of set symbols or macro arguments. 3EEIHSA©allows macros to define new macros and to call other macros. Macrocalls can be recursive, that is, a macro may call itself.

ElKUSSA© contains a mini co-resident editor, allows spooling ifdesired, supports insert files, retains TSC Text Editor source codecompatibility, plus many other programmer convenience features.

BUEBEA63 can be furnished on cassette or mini-floppy in either SSBor Mini-Flex format. Comes complete with linking loader, Instruc-tion Manual/Programmers Guide Se an extensively commentedassembly listing.

M68RR . . . .cassette . . . .$150.00M68RR-D ... SSB disc . . . 8160.00M68RR-F . .FLEX disc . .J180.00

A 6800 to 6809 cross assemblerversion of ®3ES3A(B will beavailable In June.

Order directly by check or MC/Visa. California residents add 6%sales tax. Customers outside of U.S. or Canada add $5 for air postage& handling.

Dealer inquiries welcome.

Ed Smith's SOFTWARE WORKS

P.O. Box 339, Redondo Beach, CA 90277, (213) 373-3360

Circle 327 on inquiry card.

BYTE May 1979 199

Listing 7 continued from page 198:

770 REM REENTRY POINT FOR LOOP TO SELECT COMPUTER RESPONSES780 F = F - 1

790800810820830840850860870880890900910920930940950960970

F = F*F

READC

C2 = C 1

C1 = C

N = N + 1

IF C = 0 OR C = U THEN 770

B(C)= 88

IF C2 = 0 OR C = H THEN 1160

IF F = 1 THEN 2070

IF E = 0 THEN 900

IF N = 5 THEN 2070

GOSUB 1780 : REM

GOSUB 1980 : REM

GOTO 770 : REM

REM

REM CORNER OPENING GAME, FIRST USER MOVE WAS 5

REM FLIP FLAG (0 TO 1 OR 1 TO 0)

REM SELECT COMPUTER RESPONSE FROM LIBRARY

REM UPDATE PREVIOUS COMPUTER RESPONSEREM INCREMENT RESPONSE NO.REM IF SPACER OR MATCH, TRY AGAINREM PUT COMPUTER MOVE IN CELL

: REM DRAW GAME

: REM COMPUTER WINS

: REM COMPUTER WINSDISPLAY UPDATED BOARDACCEPT NEXT USER MOVELOOP TO SELECT NEXT RESPONSE

U = 1

GOSUB 2100

IF U = 3 OR U = 7 THEN 1220980 IF U = 4 OR U = 8 THEN G = 0990 GOSUB 2100

REM PUT COMPUTER MOVE (9) IN CELL,

REM DISPLAY BOARD, ACCEPT 2ND USER MOVE

REM SECOND USER MOVE IS 3 OR 7

REM SECOND USER MOVE IS 4 OR 8

REM CALC RESPONSE, DISPLAY, 3RD MOVE

1030 C = 7

1040 IF G = 0 THEN C = 3

1050 IF C <> U THEN 2060

1060 GOSUB 2100

1090 IFG = 0THEN 1130

1095 C = 2

1100 IFB(2) <>32THENC = 6

1110 IFB(C) = 32THEN2060

1120 GOTO 1150

1130 C = 4

1135 IF B(4) <> 32 THEN C = 8

1140 IF B(C) = 32 THEN 2060

1150 C= 10 -U

1155 B(C) = 88

1160 GOSUB 1780

1163 PRINT

"CONGRATULATIONS - YOU GOT A DRAW THAT GAME"'DO YOU WANT TO PLAY ANOTHER GAME (Y OR N)"; A$"Y" THEN 450 ; REM GO TO START NEW GAME

: REM SET UP TRIAL COMPUTER MOVES: REM TRIAL CORRECT, COMPUTER WINSREM OTHERWISE, CALC RESPONSE, DISPLAY, 4TH MOVE

REM SET UP TRIAL COMPUTER MOVESREM TRIAL CORRECT, COMPUTER WINS

REM SET UP TRIAL COMPUTER MOVESREM TRIAL CORRECT, COMPUTER WINSREM CALC FINAL MOVE FOR DRAW GAMEREM PUT COMPUTER MOVE IN CELLREM DISPLAY BOARD FOR DRAW GAME

"SO LONG UNTIL NEXT TIME THEN'

1167 PRINT

1170 INPUT '

1180 IFA$ =

1190 PRINT

1195 PRINT '

1200 STOP

1210 REM CORNER OPENING GAME, 1ST USER MOVE 5, 2ND USER MOVE 3 OR 7CO = 2

: REM SET UP TRIAL COMPUTER MOVESREM CALC RESPONSE, DISPLAY, ACCEPT 3RD USER MOVE

1220123012401250

IF U = 3 THEN CO = 4

GOSUB 2100

C = C01260 IF U = C THEN C = C + 41270 GOTO 20601310 REM1320 REM SIDE OPENING GAME REENTRY POINT

: REM ADJUST TRIAL COMPUTER MOVESREM COMPUTER WINS WITH ADJUSTED TRIAL MOVE

1330 IF U = 8 THEN 1420 : REM

1340 R= 10 *U + 60 : REM

1350 IF U = 1 THEN R = 80

1360 IF INT(U/2) = U/2 THEN 700

1370 IF U > 6 THEN E = 1

GOTO 740

REM

REM SIDE OPENING GAME, FIRST USER MOVE IS 8

SKIP IF FIRST USER MOVE IS 8FIND RESPONSES FOR SIDE GAME

REM RETURN TO SELECT RESPONSES

138014001410142014301440

REM RETURN TO SELECT RESPONSES

COMPUTER RESPONSE IS 9DISPLAY UPDATED BOARDACCEPT SECOND USER MOVE

COMPUTER RESPONSE IS 3DISPLAY UPDATED BOARDACCEPT THIRD USER MOVE

REM COMPUTER RESPONSE IS 1 OR 6REM COMPUTER WINS

B(9) = 88 : REM

GOSUB 1780 : REM

GOSUB 1980 : REM

1450 IFU < 4 THEN 15601460 IFU> 5 THEN 1630

1470 B(3) = 88 : REM

1480 GOSUB 1780 : REM

1490 GOSUB 1980 : REM

1500 C= 1

1510 IFU= 1THENC = 61520 GOTO 20601540 REM

1550 REM SIDE OPENING GAME, 1ST USER MOVE IS 8, 2ND USER MOVE IS 3 OR 11560 F = 01565 H = 6

1570 IF U <> 1 THEN 1600 : REM SET UP LAST 5 REPONSES

1580 F= 11590 H = 4

1600 R = 140 : REM SET RESPONSE ENTRY POINT

1610 GOTO 700 : REM RETURN TO SELECT RESPON!

1620 REM

1630 REM SIDE OPENING GAME, 1ST USER MOVE IS 8, 2ND USER MOVE IS 6 OR 71640 B(l) = 88 : REM COMPUTER RESPONSE IS 1

200

May 1979 © BYTE Publications Inc

Listing 7 continued on page 202

Circle 93 on inquiry card.

Circle 79 on inquiry card.

22 START-AT-HOMECOMPUTER BUSINESSES

in "The Datasearch Guide to Low Capital,Startup Computer Businesses"

CONSULTING • PROGRAMMING • SOFTWARE PACKAGES

• COM • FREELANCE WRITING • SEMINARS • TAPE/DISCCLEANING • FIELD SERVICE • SYSTEMS HOUSES •LEASING • SUPPLIES • PUBLISHING • TIME BROKERS •HARDWARE DISTRIBUTORS • SALES AGENCIES •HEADHUNTING • TEMPORARY SERVICES • USEDCOMPUTERS • FINDER'S FEES • SCRAP COMPONENTS •COMPUTER PRODUCTS AND SERVICES FOR THE HOME.Plus — Loads of ideas on moonlighting, , mmmmm,,going full-time, image building, revenuebuilding, bidding, contracts, marketing,professionalism, and more. No careerplanning tool like it. Order now. If notcompletely satisfied, return within 30days for full immediate refund.

• 8% x 11 ringbound • 156 pp. • $20.00Phone Orders 901-382-0172

cgMKttmwmtut

DATASEARCH

incorporated5694 Shelby Oaks Dr., Suite 105, Dept. B, Memphis, TN 38134

Rush copies of "Low Capital Startup Computer Businesses" at $20

per copy to me right away.

NAME/COMPANYADDRESS

CITY/STATE/ZIP _D Check Enclosed

D Bankamericard D Master Charge

PET WORD PROCESSOR

This program permits composing and printing letters,flyers, advertisements, manuscripts, etc., using theCOMMODORE PET and a printer.Script directives include line length, left margin, cen-tering, and skip. Edit commands allow the user toinsert lines, delete lines, move lines and paragraphs,change strings, save onto cassette, load from cassette,move up, move down, print and type.The CmC Word Processor Program addresses an RS-232 printer through a CmC printer adapter.The CmC Word Processor program is available for$29.50. Add $1.00 for postage and handling per order.

Order direct or contact your local computer store.

(0

CONNECTICUT microCOMPUTER

150 POCONO ROAD

BROOKFIELD, CONNECTICUT 06804

(203) 775-9659

TLX: 7104560052

• North Star DOS and BASIC now fully supported on double density 8" drives.More than 500K storage per disk now possible.

TIMESHARING

for the Horizon —

The only true interrupt-driven, bank

switching timesharing software available

for the Horizon.

Supports as many as four 5ki" drives,four 8" drives, and as many as fourCRTs with 16 to 48 K RAM per CRT.Interrupts at 26 ms. Spooler and filelocking to be supported in the nearfuture.

Specify single (Release 4) or doubledensity (Release 5).

Requires additional memory in computer.

A machine language program

on S%" disk $49.95

Complete business application softwareauailable. Write for additionalinformation. Dealer discounts auailable.

Circle 204 on inquiry card.

Thinker Toys dual density 8" drive and

controller $1149

Additional drives $795

8" disk drive connector software on51/," disk included with drive(s) andcontroller without additional charge,or, separately $49.95

PerSci dual and quad density dual 8" drives to besupported in the near future.

Specify CPU clock speed and Release 4 BASIC orRelease 5 BASIC.

North Star DOS and BASIC licensed for use with

North Star disk controller only.All software shipped on 5'.," North Star ONLY.

Write for information about COMPUCORPcomputers.

Micro Mike'sPROGRAM LIBRARY

A one-time fee of $500 (soon to beincreased) buys for the purchasercontinuous unlimited access to theprograms, updates and revisions in thePROGRAM LIBRARY.

In stock: Intertec Intertubes .. $874 ea.Slightly used (demonstrator ADM-3ACRTs, full upper & lower case $695 ea.

JUAAfe's

Micro Mike's,Incorporated

905 South Buchanan

Amarillo, Texas 79101

806-372-3633

BYTE May 1979 201

1

2

3

4

5

6

7

8

9

Figure la: Cell numbersfor the tic-tac-toe board.

i Io I x i x

— + — +...

I X I o

-. - + — + —

I O I X

I I

Figure lb: A typical print-out of a tic-tac-toe board.

Listing 7 continued from page 200:

Text continued from page 198:which calculates a random (actually pseudo-random) number between 0 and 1. Thisnumber is then multiplied by 3, and only theinteger part saved to form a random 0, 1, or2. Then 0 (later changed to 5), designates acenter opening game, 1 a corner openinggame and 2 a side opening game. Variable F(flag), which selects alternate computerstrategies, is also randomly set to 0 or 1.In this program, the response library isentered with DATA statements. The pro-gram's opening move and the initial userresponse are used to determine where tostart reading in the response library. Thelibrary contains sequences of digits whichrepresent the program's forcing moves. For13 of the 24 possible combinations ofopening move and user move, there are twopossible winning strategies for the program,one of which is selected depending uponthe status of variable F. Thus, even withthe same opening move and the same initialuser move, the program's responses mayvary. Each of these winning strategies,which results in a fork, has five digits. These

digits are selected sequentially for the pro-gram's responses. If the selected response isthe same as the user's move, the user hasblocked that row and the next digit isselected by using a loop. The digits in theeven numbered positions and the fifth (last)digit represent winning responses, and con-trol is diverted to a win routine which printsthe board and the computer winningmessage.

Two more of the 24 possible combinationshave only one strategy for a sure programwin, but the program responses are handledin the same manner.

Six of the 24 possible combinations donot have a forced win strategy. These arehandled by a 7 digit string of forcing movesthat may end in a draw. These 7 digit stringshave a 0 spacer inserted before the seventhdigit to trigger diversion to the draw routine.The latter prints the board and a draw mes-sage after the seventh digit has been selected.A separate test causes a jump to the nextdigit if a zero spacer is detected as a programresponse.

That leaves three cases that require spe-

16501660167016801690170017101720173017401750176017701780179018001810182018301840185018601960197019801990200020102020202520302040205020552060207020752080209021002110212021302140215021602170

DISPLAY UPDATED BOARDACCEPT THIRD USER MOVE

COMPUTER RESPONSE IS 3 OR 5COMPUTER WINS

RETURN TO SELECT RESPONSESRETURN TO SELECT RESPONSES

GOSUB 1780 : REM

GOSUB 1980 : REM

C = 3

IF U = 3 THEN C = 5 : REM

GOTO 2060 : REM

REM

REM CENTER OPENING GAME REENTRY POINT

R = U * 10 - 10 : REM FIND RESPONSES FOR CENTER GAME

IF U > 5 THEN R = R - 10

IF INT(U/2) = U/2 THEN 700 : REM

GOTO 740 : REM

REM

REM DISPLAY SUBROUTINE TO PRINT UPDATED PLAYING BOARD

PRINT

PRINT TAB(4) "I I"

PRINT TAB(2) CHR$(B(1)) ; " I ";CHR$(B(2)) ; " I " ; CHR$(B(3))

PRINT " + + "

PRINT TAB(2) CHR$(B(4)) ; " I ";CHR$(B(5)) ; " I " ; CHR$(B(6))

PRINT " + + "

PRINT TAB(2) CHR$(B(7)) ; " I ";CHR$(B(8» ; " I " ; CHR$(B(9))

PRINT TAB(4) "I I"

RETURN

REM

REM SUBROUTINE TO ACCEPT AND CHECK NEW USER MOVE

INPUT "YOUR MOVE IS" ; U

IF U < 1 OR U > 9 THEN 2030

IF INT(U) <> U THEN 2030

IF B(U) < > 32 THEN 2030

B(U) = 79

RETURN

PRINT "YOUR MOVE IS ILLEGAL. TRY AGAIN"

GOTO 1980

REM

REM ROUTINE FOR WHEN THE COMPUTER WINS THE GAME

B(C) = 88 : REM PUT COMPUTER MOVE IN PROPER CELL

GOSUB 1780 : REM DISPLAY BOARD FOR WINNING GAME

PRINT

PRINT"***** I WON *****"

GOTO 1170 : REM NEW GAME?

REM

REM SUBROUTINE FOR COMBINED CALC, ENTERING, BOARD DISPLAY, USER MOVE

C= 10 -U

B(C)= 88

GOSUB 1780

GOSUB 1980

RETURN

END

202 May 1979 © BYTE Publications Inc

cial handling. One is similar to the six casesof the preceding paragraph except that thelast move is not a forcing move. To avoid afalse win-test on the sixth (even) digit, zerosare inserted as spacers before the sixth andalso before the seventh response digits.The last two cases are more difficult,and somewhat similar. In each case it wouldbe possible to use a series of forcing movesending in a draw if the user simply blockedeach potential row of three as it occurred.In each case, it is also possible to forego afirst response forcing move, and instead toset a trap if the nonforced user move is notcorrect. I used the latter method in thisprogram. This requires checking the seconduser move and then making the correctresponse to that move. A number of extraprogram steps are required to do this, butthe program now plays a rational game.

Other Systems?

Some BASICs may not have some of thefeatures used in this program, such as logicaloperators, ASCII code to character conver-sion, string variables, prompting INPUTstatements, or PRINT TAB. These opera-tions can normally be duplicated in otherBASICs by slight program changes. If youwould like a copy of this program in itsHewlett-Packard HP-67 programmable cal-culator form, send me two blank magneticcards and a stamped, self-addressed enve-lope, and I will send it to you along with theslightly different instructions.

Conclusions

This game program exercise demonstratesthe programming requirements for even afairly simple problem:

1. Thoroughly evaluate the problem, tobe sure that all possibilities are allowedfor.

2. Consider the limitations and specialfeatures of the system to be used.

3. Decide exactly what you want toprogram to do, and then program todo it in a logical, straightforwardmanner.

4. Plan for ease of input and clarity ofoutput.

5. Document so that others (and yourselfat a later date) can readily understandthe program.

In programming for this game, you mayhave found some pointers on logic and pro-gram planning. In any case, the completedprogram may be used to demonstrate systemoperation while entertaining your familyand friends."

SUPERSOFTWARE!

MICROWARE 6800 SOFTWARE ISINNOVATION AND PERFORMANCE

v /

I NEW I LISP Interpreter

The programming language LISP offers exciting new possibilities formicrocomputer applications. A highly interactive interpreter that useslist-type data structures which are simultaneously data and executableinstructions. LISP features an unusual structured, recursive function-oriented syntax. Widely used for processing, artificial intelligence,education, simulation and computer-aided design. 6800 LISP requiresa minimum of 12K RAM.Price $75.00

A/BASIC Compiler

The ever-growing A/BASIC family is threatening old-fashionedassembly language programming in a big way. This BASIC compilergenerates pure, fast, efficient 6800 machine languagefrom easy towrite BASIC source programs. Uses ultra-fast integer math, extendedstring functions, boolean operators and real-time operations. Output isROMable and RUNS WITHOUT ANY RUN-TIME PACKAGE. Disk ver-sions have disk I/O statements and require 12K memory and host DOS.Cassette version runs in 8K and requires RT/68 operating system.Price: Disk Extended Version 2.1 $150.00Cassette Version 1.0 $65.00

INEWI A/BASIC Source Generator

An "add-on" option for A/BASIC Compiler disk versions that adds anextra third pass which generates a full assembly-language outputlisting AND assembly language source file. Uses original BASIC namesand inserts BASIC source lines as comments. SSB and SWTPCMiniflex version available.Price: $50.00

[NEW1 A/BASIC Interpreter

Here it is—a super-fast A/BASIC interpreter that is source-compatiblewith our A/BASIC compiler! Now you can interactively edit, executeand debug A/BASIC programs with the ease of an interpreter—thencompile to super efficient machine language. Also a superb stand-alone applications and control-oriented interpreter. Requires 8K RAM.The cassette version is perfect for Motorola D2 Kits.Price: $75.00

RT/68 Real Time Operating System

MIKBUG—compatible ROM that combines an improved monitor/debugger with a powerful multitasking real-time operating system.Supports up to 16 concurrent tasks at 8 priority levels plus real timeclock and interrupt control. Thousands in use since 1976 handling alltypes of applications. Available on 6830 (MIKBUG-type) or 2708(EPROM-type) ROM. Manual is a classic on 6800 real-time applicationsand contains a full source program listing.Price: RT68MX (6830) $55.00RT68MXP (2708) $55.00

6800 CHESS

A challenging chess program for the 6800. Two selectable difficultylevels. Displays formatted chess board on standard terminals. Re-quires 8K memory. Machine language with A/BASIC source listing.Price: $50.00

ELIZA

6800 version of the famous MIT artificial intelligence program. Thecomputer assumes the role of a psychoanalyst and you are the patient.This unusual program is unique because the dialog with the com-puter is in unstructured plain English. An impressive demonstrationprogram.Price: $30.00

Our software is available for most popular 6800 systems on cassette or disketteunless otherwise noted. Disk versions available on S.S.B., SWTPC, or MotorolaMDOS. Please specify which you require. Phone orders are welcomed. We acceptMASTEHCHARGE and VISA. We try to ship orders within 24 hours of receipt.Please call or write If you require additional Information or our free catalog.Microware software is available for OEM and custom applications.

MICROWUtE

SYSTEMS CORPORATION

P.O. BOX 4865

DES MOINES, IA 50304

(515) 265-6121

Circle 211 on inquiry card.

May 1979 © BYTE Publications Inc 203

Slobs ancNewsletters

The BirminghamMicroprocessor GroupComputer Club

The Birmingham MicroprocessorCroup Computer Club meets on thefourth Sunday of each month. Meetingtime is 2 PM at the Park MemorialBranch of the public library, 1814 11thAv S, Birmingham. The rear entrance tothe building should be used. Member-ship dues are $6 per year which includestheir newsletter. For more information,write POB 8072, Birmingham AL 35218

New Apple Computer Clubin North Carolina

A new Apple computer club, theCarolina Apple Core, has been foundedin the Durham-Raleigh-Chapel Hill NCarea. The meeting format consists ofmonthly meetings on the third Tuesdayof each month at different locations.Annual dues are $5 with a monthlynewsletter and software library deve-loping. At least two Apple computerswith dual disk drives will be attendant ateach meeting. Dynamic programs featur-ing Apple captions are scheduled mon-thly, with seminars on Apple topics

scheduled at other times during themonth for the novice or the professional.The club is interested in exchanging in-formation and software with other clubs.Contact Carolina Apple Core, 5212 In-glewood Ln, Raleigh NC 27609.

MUMPS Users Group

In an attempt to reach a largerMUMPS area, the MUMPS Users Crouphas switched to a controlled circulationmagazine format. The intention is topublish the magazine quarterly witheach issue featuring a major MUMPS ap-plications package, a number of uniqueapplications, facts on new implemen-tations, information on the annualmeeting and on available MUMPStutorials, and whatever items prove of in-terest to the readers. For more informa-tion about the MUMPS Users Group,write to POB 208, Bedford MA 01730.

Triangle AmateurComputer Club

The TACC (Triangle Amateur Com-puter Club) in Raleigh NC is dedicated tothe advancement of interest in amateuror personal computers. Membership isopen to all who support these ideas. Theclub meets on the last Sunday of themonth at 2 PM in the Dreyfus Audi-torium, Research Triangle Institute,Research Triangle Park NC. For furtherinformation about the club, write POB17523, Raleigh NC 27514.

Apple Users Groupin Boston Area

The Boston area now has its own Ap-ple Computer Users Group. NEAT (NewEngland Apple Tree) supports a regularnewsletter containing the latest informa-

tion in the world of Apple, programmingtips and techniques, program listings,reviews, tutorials, and more. Monthlymeetings are held the third Wednesdayof each month in the Mitre Corpcafeteria, Rt 3, Bedford MA, for softwareexchange, information sharing, andguest speakers. They also have availablesoftware for the Apple. Annual dues are$6. For further information, contactMitch Kapor, 31 Birch Rd, WatertownMA 02172.

Boston Computer SocietyMembership Increases 281%

According to the latest issue of TheBoston Computer Society newsletter,the 8CS Update, their club's member-ship has increased from 80 to 225members in a five month period. Con-gratulations! The club has a wide rangeof interests, ideas and interesting people.New computers and programs are dis-played at meetings, rumors and factsare exchanged, free magazines and in-formation are available, and guestspeakers keep members up to date withnew systems and applications. Addi-tionally, the club fosters a PET usergroup. For meeting information, write toThe Boston Computer Society, 17Chestnut St, Boston MA 02108.

Attention French ComputerEnthusiasts

A new club called Microtel-club forthe hobbyists in microcomputer andtelecommunication areas has been form-ed in France. Their intentions are todevelop the interest of the Frenchpopulation in these technical areas, togive the members the chance to use andcompare microcomputers, to support themost interesting projects of its users,and to promote the exchanges betweenthem. More than ten Microtel-clubs exist

$95 MORSE TRANSCEIVER

SEND:

" 1 to 150 WPM (set fromterminal)

• 32 character FIFO bufferwith editing

• Auto Space on word boundriesGrid/Cathode key output

• LED Readout for WPM andBuffer space remaining

SERIAL INTERFACE:

• ASCII (110, 300, 600,1200)or Baudot (45, 50, 57, 74) compatible

Simplex Hi V Loop or T2Lelectrical interface

Interfaces directly with the XITEX®SCT-100 Video Terminal Board;Teletypes9 Models 15, 28, 33, etc.;or the equivalent

MRS-100 CONFIGURATIONS:

$95 Partial Kit (includes Microcomputer componentsand circuit boards; less box and analog components)

$225 Complete Kit (includes box, power supply,and all other components)

$295 Assembled and tested unit (as shown)

■ Overseas Orders and dealer inquires welcome ^^

COPY:

" 1 to 150 WPM withAuto-Sync.

Continuously computesand displays Copy WPM

• 80 HZ Bandpass filter

• Re-keyed Sidetone Osc.with on board speaker

Fully compensating tocopy any 'fist style1

See your local dealer orcontact XITEX® direct.

MC/Visa accepted

»XIT€X CORP

1362H Neutron • P. 0. Bun 402110

Dallas, Texas 75240* 1214) ;!86-:l859

204 May 1979 © BYTE Publications Inc

Circle 400 on inquiry card.

in France. In Paris the club owns sixmicrocomputers, many training kits, alibrary, and three laboratories with elec-tronic equipment. The club is open everyday and a newsletter is published twice amonth. A new Microtel-club will beformed in Palo Alto CA to develop ex-changes between France and the UnitedStates. The membership cost is $35 peryear. For further information, writeMicrotel-club Administration, 9 rueHuysmans, 75006 Paris FRANCE 0 544 7023.

Newsletter for

ProcessorTechnology

Computers

Proteus/News, formerly Solus News, is anindependent newsletter for owners andusers of Processor Technology Corpora-tion computers. A sampling of the con-tent of this one page newsletter includes:a "Review of PTDOS 1.5"; "An Introduc-tion to Programming in Pascal"; a bookreview of 45 BASIC Programs by Didac-tix; "Development of the SLAC PascalCompiler"; description of the SLACPascal Solus/Cuter utilities; and otherfeatures. The bimonthly subscriptionrate is $12 per year. Contact Proteus,1690 Woodside Rd, Suite 21'J, RedwoodCity CA 94061.

Free Timeshare Access

The 8080 Etc compatible users grouphas expanded its services to both the per-sonal computer user and commercialfirms. Free access to over 85 types ofbusiness, medical, accounting, research,and hobby software programs is offeredto members who have a communicationsmodem. Acoustic couplers or the IDScard for the S-100 bus are recommendedand they must be set at the transmissionrate of 300 bps. The system can be ac-cessed by dialing (209) 638-6392 and typ-

ing the following passwords; Hello-w101,8080 Etc. The users group also publishesa quarterly journal of group activitiesand general debugging notes and alwayshas need for tidbits and notes frommembers or interested people. For a freelist of program titles, send a self address-ed stamped envelope and include thetype of system and specific components,along with any questions to Membership,The 8080 Etc, POB 894, Fresno CA 93714.

Microcomputer BusinessUsers Group

BUG (The Microcomputer BusinessUsers Group) is an association ofbusiness men and women and data pro-cessing professionals who meet monthlyto educate themselves about themethods of achieving solutions tobusiness problems with microcomputers.The primary emphasis is upon educationrelated to application software,although system software and hardwareget some attention. Vendors are invited

to speak and are encouraged to giveeducational talks. The group is gearedtowards end users and vendors or pro-spective vendors of software. The BUGnewsletter keeps members informedabout activities, happenings, forth-coming speakers, hearsay informationand previous meetings. Meetings areheld 7 PM on the first Tuesday of eachmonth at Baruch College, 46 E 26 St,New York NY (3rd floor computerlibrary). Contact The MicrocomputerBusiness Users Group, 161 W 75 St, NewYork NY 10023.

Chicago TRS-80 Users Group

TRS-80 users in Chicago will be pleas-ed to know of the existence of theChicago TRS-80 Users Group (Chicatruc).The group meets the third Wednesday ofevery month and a monthly newsletter isavailable to members who have paid the$9 membership fee. Contact EmmanuelB Garcia Jr and Associates, 3950 N LakeShore Dr, Apt 2310, Chicago IL 60613.

BYTE's Bugs

FFT BASIC Problem

Some users have experienced pro-blems in running the BASIC programfrom "Fast Fourier Transforms on YourHome Computer" by William D Stanley(December 1978 BYTE, page 14). The dif-ficulties are caused by differences in thebehavior of BASIC interpreters whenthey encounter additional statements onthe same line following an IF-THENstatement.

Many BASIC systems act in this man-

ner; in cases where the condition testedby the IF is false, program flow proceedsto the next line of the program, skippingover additional statements on the sameline as the IF-THEN (following the colonor backslash). However, some BASICswill execute statements on the same lineas the IF-THEN, even if the condition isfalse.

If you have the second type of BASICinterpreter, the following program linemust be inserted for the program to runcorrectly:

1075 IF C > X4 THEN 1090.

[Thanks to Dana Tremblay, I7S CountySt, Apt 6, Attleboro MA 02703, for poin-ting out this problem.] ■

MONITOR *139, 12" B&W

COMPLETE KEYBOARD TERMINAL *350

Full Kit $295 (includes SCT-100)

SCT-100 VIDEO BOARD FEATURES

64x16 line format with 128 displayable characters

Serial ASCII or BAUDOT with multiple Baud rates• $187 Assembled or $157 Kit (Partial Kit $95)• Full cursor control with scrolling and paging• On board power supply• Serial interface RS232 or current loop• Purchase SCT-100 alone or complete terminal

»XIT€XCORP x<

13B28 Neutron P.O. BOX402H0 \:~

Dallas. Texas 75240 (2141 386-3859 I^MJ^M

^2 '^S

ORDER BY PHONE/Overseas orders & dealers welcome

Circle 401 on inquiry card.

May 1979 © ISYTE Publications Inc 205

LanguagesFopum

APL and the Greatest Common Divisor

Bill ciaxton ' reac^ the article "Pascal versus BASIC:

431 Mishier Rd An Exercise" in August 1978 BYTE, page

Mogadore OH 44260 168. Upon examining the Pascal, BASIC

and FORTRAN listings on page 172 for thegreatest common divisor between twointegers, I was curious about how an APLprogram would compare. I submit my APLversion in listing 1 (several example runsare shown in listing 2). A detailed step bystep analysis of the APL program is givenwhich shows some of the power inherent inthe APL language.

Analysis of Program

The explanation is given for the functionGCD 6 8 14. The greatest common divisoramong a series of integers as contained invector V is necessarily less than or equal inmagnitude to the smallest one of the inte-gers. The smallest integer is easily selectedin APL using the floor reduction l/V, whichin our example would result in selecting thenumber 6. One could proceed by dividing allof the elements of V by this smallest integerand testing each division for a remainder of0. This again is easily implemented usingA/( (l/V) | V)=Q , wherein, for our exam-ple, the 6 residue of vector 6 8 14 given by6 | 6 8 14 returns the vector 0 2 2. Whenthis vector is logically equated to 0 the vec-tor 1 0 0 results. The logical AND reductionof this vector a/1 0 0 returns the number

V GCD V

[i] <GCD= ',T(<hL/n[(A/((4nL/T)°.ln=o)ii]v

Listing 7

GCD 391 238 1887 1003GCD= 17

GCD 637 735 343 49 6468GCD= 49

GCD 6 8 14GCD= 2

0. One could next subtract 1 from thesmallest element, 6, and repeat, whereuponone would find that a/( 5 | 6 8 14) = 0also returns the number 0. Obviously, thefirst integer in the decreasing series of inte-gers thus obtained that returns the number 1will be the greatest common divisor.

In our example 16 gives the vector 1 2 34 5 6. Thus if we reverse this vector, we havethe desired elements for successive divisors.This is done in APL for our example usingthe vector reversal $i 6. This gives the vector6 54321.

The outer product in APL is called out bythe two symbols " ° .", precisely the oper-ation needed here since the outer productwill take each of the elements on the leftand apply it in turn to the primitive functionon the right. Thus in our example, 6 5 4 32 1 o. I 6 8 14 returns the matrix:

0

2

2

1

3

4

2

0

2

0

2

2

0

0

0

0

0

0

When this matrix is logically compared to 0we obtain:

1

0

0

0

0

0

0

1

0

1

0

0

1

1

1

1

1

1

Listing 2

The AND reduction, a/ , applies to therows of a matrix. Hence we will return inour example the vector 0 0 0 0 1 1 whenapplied to the last matrix above. The posi-tion of the first 1 that occurs in this vectorwill reference the position in the vector ofdivisors (4>i L IV) . If this position index isappended as a subscript, (4>i L/tOL . .index. . ] ,■ the greatest common divisor will be dis-played. The first occurrence of 1 in thevector for our example is obtained by thedyadic use of the index operator iota on thevector 0 0 0 0 11 i 1, which returns a 5.The fifth element of vector 6 5 4 3 2 1 is 2,which is the greatest common divisor of6 8 14."

206 May 1979 © BYTE Publications Inc

APL Aids Instructors

Prof Selby EvansPsychology DeptTexas Christian UniversityFort Worth TX 76129

Fortunately, I did not know that APLwas unsuitable for computer aided instruc-tion, so I started using it four years ago. Itworks fine. Professor Gerhold's "Teachingwith a Microcomputer" (December 1978BYTE, page 124) falls far short of convinc-ing me that I should learn another specialpurpose language just to handle computeraided instruction.

Professor Gerhold found the interpre-tation of responses to simple yes-no ques-tions formidable in BASIC. None of myprograms ask that kind of question as part ofthe instruction, but rather as the start uproutine. Here's how I handle it:

[10] -+SKxi '/V'=l +Q,0'WANT YOUR MISSION ORDERS?1

I don't try to handle variants of expres-sion because I find that beginning students,told to answer yes or no, do it. I haven'tprotected against expressions like yesterday,yetti, or you blasted idiot, because I've neverseen inexperienced students answer thatway. Semisophisticated students may try tospoof the system with things like that, butas far as I am concerned, they are welcometo whatever they get.

When I present a question calling for aword or two as response, I use a functionthat tests for the presence of key letters inspecified order. Thus, a judicious selectionof key letters makes the function tolerantof some misspelling and typographicalerrors. The function checks the list of al-ternatives and responds differently depend-ing on whether the response matches thefirst or one of the subsequent alternatives.

Professor Gerhold believes that such afunction would be too slow. I find no basisfor that belief. On a Sigma-9 in a timesharingenvironment with 30 users, the function hasno discernable impact on terminal responsetime. Under those conditions the responsetime does not exceed the carriage returntime and so is perceived as immediate. Ifa dedicated microprocessor can't match that,I am going to be disappointed.

Aside from permitting me to work ina familiar and powerful language, using APLfor computer aided instruction allows meto use functions already developed. For ex-ample, when I need to plot histograms, Isimply copy the histogram function frommy statistical workspace. This came in

handy in the writing of my StarTrek game inwhich I had to figure a confidence intervalfor the mean, in order to spread the phaserenough to have a reasonable chance ofhitting the Klingon.

A third advantage of APL is that it letsme write complex programs very easily."

The Problem

of Software Piracy

Revisited: A Proposal

Vernor VingeAssoc Prof of MathematicsSan Diego State UniversitySan Diego CA 92182

One of the greatest problems facing indi-viduals who own computers is to legallyacquire inexpensive, high quality software.The fact that it is often possible to acquiresuch software for free illegally is one of thereasons we have the problem, for if a payingmarket existed, some extremely useful pro-grams would be written for it. (There arerumors that Bell Labs LSI-11 UNIX maynever be released: if it costs hundreds of

Main/Frames $200

Main/Frames l$200

• 14 Basic Models Available

• Assembled & Tested

• Power Supply:8v@15A, ±16v@3A ,

• 15 Slot Motherboard(connectors optional)

• Card cage & guides

- Fan, line cord, fuse, power& reset switches, EMI filter8v@30A, ±16v@10Aoption on some models

Rack

mounted

from $200

Desk topfrom $235

Write or call for ourbrochure which includes our

application note:'Building Cheap Computers'

INTEGR4ND

8474 Ave. 296• Visalia, CA 93277• (209) 733-9288We accept BankAmericard/Visaand MasterCharge

Circle 179 on inquiry card.

May 1979 © BYTE Publications Inc 207

thousands of dollars to develop a systemwhich can then be stolen and sold for $10,there is scarcely a reason to market it at$500 to $1000, prices that would yield agood profit on an "honest" market.)

Most illicit copying is done casually andin a spirit of friendly (nonprofit) cooper-ation between fellow users. I believe that thefollowing suggestion, if adopted by sellersof major software products, would drasti-cally reduce the risk of such copying.

Let P be the price the seller has currentlyput on one unit of his or her product. (Pwould be related to the seller's estimate ofwhat the traffic could bear if no illicitcopying were possible.) When customersbuy the product, they have the option ofnaming (on the sales form) any person whois already a registered purchaser of the soft-ware. The person so named would thenreceive an r? dollar "software bounty"from the seller, where r is a number between0 and 1 announced by the seller when theproduct is introduced. (It might take someexperience to decide the best value for r.My opinion is that some value greater than0.5 would be optimum for the seller. Theprice P could be changed with time, but afixed r would help consumers maintainconfidence in the bounty.)

Retro-Graphics™

For your Dumb Terminal. The Retro-Graphics PC card mounts easily in the LearSiegler ADM-3A to provide you with an afford-able graphics computer terminal.Features:

Z-80 Based512 by 250„Dot MatrixSimple Plug-inInterconnect

• Point Plotting

• Automatic VectorGeneration

■ Optional TEKTRONIXSoftware Compatibility

You will be impressed with the packaging, per-formance and price of the Retro-Graphics card.Write or phone today for complete specifications.

DIGITAL ENGINEERING, INC.

1787 Tribute Road, Suite K

Sacramento, CA 95815

(916)920-5600

The r? software bounty would havemany effects. Suppose Tom buys the pro-duct. If he can convince Jan to buy, Tomcan recover a substantial portion of hisexpense (assuming that r is reasonablylarge). But why would Jan name Tom onthe sales form? Presumably because Tomhas promised Jan some fraction of thebounty; that is their affair. If Tom is anenterprising individual (and if the productis much in demand) then he might be ableto recover his entire purchase cost andpossibly make more.

Of course, Jan and all the others thatTom has won bounties on may be doingthe same thing. This is a secondary effectof the scheme. It turns present marketingrealities upside down: the software bountywould reward those who purchase early,and leave procrastinators with the riskthat there may be no bounties left to winwhen they get around to buying.

Notice that although the arrangementsbetween customers and prospective cus-tomers may be quite complicated andnovel, the situation would be simple forthe seller. He or she must keep a mailinglist of registered purchasers—also necessaryfor sending out software updates and main-tenance fixes. If n units are eventually sold,the seller will receive at least n? - {n~])rPfor his efforts. (If P changes with time, theresult is only slightly more complicated.)

The software bounty scheme will notstifle those whose moral fiber is not merelyweak, but nonexistent. An outright criminalwho copies the product and sells it at a lowprice could make a lot of money. Two fea-tures of the plan might tend to discouragethis, however. The person receiving thebounty must be named by the new pur-chaser on a bona fide sales form. Thusanyone buying a bootlegged product wouldknow that he was doing so and would knowthat he could not obtain any bounties of hisown; in fact, he would have to undertakeequivalent criminal activity if he wished tomake any money from disseminating theproduct. Secondly, outright bootleggingdirectly damages legitimate bounty huntersand is therefore more likely to be reportedthan under present marketing strategies."

A creative suggestion, to be sure. But ifto purchase a score of a great symphony onehad to pay the same amount as the originalcomposer's stipend, very few people wouldhave ever heard a number of masterpieces.A commission sales arrangement is exactlyhow such works of art are sold by a myriadof dealers — and there is no reason whysoftware works of art cannot be sold on asimilar basis. . . .CH

208 May 1979 © BYTE Publications Inc

Circle 84 on inquiry card.

Circle 359 on inquiry card.

Machine Language Puzzlep

An Added Attraction

Christopher StrangioCAM I Research43 Bailey RdWatertown MA 02172

Using any instructions in the Intel 8080instruction set except ADD, ADI, ADC,ACI, and DAD, write a program that addstwo 8 bit binary numbers. Assume thatthe addend and augend have been preloadedinto the B and C registers, respectively. Thesum should be located in the accumulatorwhen the addition is completed, and thenthe processor should be halted. The pro-gram should have a minimum number ofinstructions and should execute with thegreatest possible speed. Puzzle a bit on thisproblem and when you figure out how todo it, turn to page 217."

» Have you gotten one of* ® Don Lancaster'sINCREDIBLE SECRETMONEY MACHINES

, yet?

-***J i V-W j i^' V^L The Incredible Secret Money Machine

J vy^^-T^flft *s a Get-Rich-Quick book that shows

_Lj) It-qL. j£b \WT~ tested and proven ways to reduce or

""SS^ ^==^-'?7VsJAf eliminate taxes, get free insurance,

eliminate utility bills, to pickup paid-forvacations & win at"investments. "The Incredible Secret Money Machine is a self-help, how-to cookbookessential for anyone setting up their own craft, computer or technicalbusiness.

The Incredible Secret Money Machine is the only book that dares tellall about the honchee guidelines, the steam calliope fund, the perfecttinaja quest, the Deadly J-Dollar, and the dangers of two crossedgranfalloons.

The Incredible Secret Money Machine is the seventh and latest book byDon Lancaster. He has half a million books in print so far.

Synergetics, Dept. B-85, Box 1112, Parker, AZ 85344

I Please send me INCREDIBLE SECRET MONEY MACHINES at S6.95 each postpaid

J Price includes SI postage & handling.

i C ) I enclose a total of $ , check or moneyorder or

J C ) You can charge my Bank Americard/ Visa card no.:

expiration date:.

_ signature:.

BYTE

BACK ISSUES

FOR SALE

The following issues are available:

1976: July, November

1977: May thru September, November

1978: February thru October, December

1979: January thru March.

Cover price for all issues thru August 1977 is

$1.50 plus $.25 postage and handling ($3.50 total foreign).

September 77 thru 79 issues are $2.00 plus $.50

postage and handling ($4.00 total foreign).

Send requests with payment to:

BYTE Magazine

70 Main St, Peterborough NH 03458

Attn: Back Issues

P.S- SOFTWARE HOUSE

FORMERLY PETSHACK

PET™ SCHEMATICS

FOR ONLY $24,95 YOU GET:

24" X 30" schematic of the CPU board, plus oversized schematics of the VideoMonitor and Tape Recorder, plus complete Parts layout - all accurately andpainstakingly drawn to the minutest detail.

PET™ ROM ROUTINES

FOR ONLY $19.95 YOU GET:

Complete Disassembly listings of all 7 ROMS, plus identified subroutine entry

points; Video Monitor, Keyboard routine, Tape Record and Playback routine, Real

Time Clock, etc. To entice you we are also including our own Machine Language

Monitor program for your PET using the keyboard and video display.

You can have the Monitor program on cassette for only $9.95 extra.

PET to PARALLEL INTERFACE with 5V .8A power supply $74.95

PET to 2nd CASSETTE INTERFACE $49.95

Send for our free SOFTWARE BROCHURE. Dealer inquiries welcome.

PET™ EXPANDOR PRINTERPRINTER PRICE with pet interface $525

• Small size of 4.5"H x 12V4"W x aw'D

• Impact printing - 3 copies

• Prints 80 columns wide

• Print Cylinder - not a matrix

• Uses 8'A" paper, pressure or pin feed

• Easy to maintain yourself, or return to us

• Regular Paper - Coated paper not required

• Lightweight, 11'/2 lbs. with cover

• Prints 10 characters per second

• 64 Character ASCII Character Set

• Full Documentation Included

This is the ideal, low cost, reliable, self maintainedprinter with which to complete your PET system.

P.S. SOFTWARE HOUSE

P.O. Box 966 Mishawaka, IN 46544

Tel: (219) 255-3408 33

Circle 303 on inquiry card.

May 1979 © BYTE Publications Inc 209

Circle 82 on inquiry card.

F

T

I

II

I

I. -'■■'I' "•'

II

V::; RNE riC

n i cro

svsi em: •

PRESENTS!

"} l_ffC-?04O SERIFS.

HtK't IS 1 H^

/■■-■• rz? Jfr? S3 -fSS /">/ "T -S:

,'TFRS

BSBtKS

The world's onlysingle-chip LSI UniversalPrinter Controller is here!

The very low-cost 40-pin CY-480 controls ANY standard 5 x 7 dot matrixprinter with print speeds up to 200 cps! The CY-480 Universal PrinterController from Cybernetic Micro Systems is the tirst—and only—40-pin LSIdevice which will controi and interface any standard 5" x 7" dot matrix printer(including those from Victor, IRC, Practical Automation and Amperex) having aprint speed up to 200 cps. It operates from a single +SV power supply and willinterface a printer with any microcomputer or minicomputer system throughstandard 8-bit ports. The CY-480 accepts either serial (RS232C) or parallel ASCIIinput from the host system's data channel.

The CY-480 replaces bulky, expensive dedicated controllers. The small, singleLSI package offers a 5 x 7 dot matrix character generator, full upper and lowercase ASCII 96-character font, and a 48-character (expandable by daisy-chaining)internal line buffer storage: Standard are a 10,12or 16 characters/inch variablecharacter density command, 2-color selectable print command, forward/backwardprinting command, and horizontal and vertical independently expanded printcommand. The CY-480 provides graphics capability and includes a "flip-print"operating mode for 180° viewing. Ready lines provide full asynchronouscommunications with handshaking.

Low price! $35 a single unit!

CYBERNETIC MICRO SYSTEMS

2378- B Walsh Ave. • Santa Clara, Calif. 95050

Phone (408) 249-9255

CP/M™

LOW-COST

MICROCOMPUTER

SOFTWARE

CP/M™ OPERATING SYSTEM:

• Includes Editor, Assembler, Debugger and Utilities.

• For 8080, Z80, or Intel MDS.

• For IBM-compatible floppy discs.

• $100-Diskette and Documentation.

• $25-Documentation (Set of 6 manuals) only.

MAC™ MACRO ASSEMBLER:

• Compatible with new Intel macro standard.

• Complete guide to macro applications.

• $90-Diskette and Manual.

SID™ SYMBOLIC DEBUGGER:

• Symbolic memory reference.

• Built-in assembler/disassembler.

• S75-Diskette and Manual.

TEX™ TEXT FORMATTER:

• Powerful text formatting capabilities.

• Text prepared using CP/M Editor.

• $75 Diskette and Manual.

(1 DJGJTflL RESEARCH

P.O. Box 579 • Pacific Grove, California 93950C408) 649-3896

Technics!Fopum

Periodic Answers

Mark ZimmermannCaltech 130-33Pasadena CA 91125

I would like to comment on the questionBYTE posed in reference to Jef Raskin'sarticle "Unlimited Precision Division" (Feb-ruary 1979 BYTE, page 156). The questionconcerned decimal expansion of 99991/99989.

By using several tricks from An Intro-duction to Number Theory by HaroldStark, in conjunction with an HP-25 calcu-lation to do 10 digit arithmetic, I foundthat the period of the decimal expansion of99991/99989 is 99988.

The theorem states that for any pair ofnumbers m and n which have no factors incommon except 1, and which have no com-mon factors with 10, the rational numberm/n has a purely periodic decimal expansionand the length of the period is ordn (10).The function ordn (10) is defined as follows(paraphrasing Stark):

if 10b leaves a remainder of 1 whendivided by n, and b is the smallestpositive integer for which this occurs,then ordn (10) =b. For example,ord99 (10) =2 since 102 leaves a re-mainder of 1 when divided by 99.Therefore, by Stark's theorem, 1 /99has period 2 in its decimal expansion.

Stark also gives some hints which reducethe amount of work in finding the smallestworking value of b. For the case n=99989,there are 11 candidates for b, of which onlyb=99988 works.

During all stages of the calculation, onecares only about the remainders after div-ision by 99989, so a calculator that canhandle 10 decimal digits is adequate.

Thanks for suggesting an interestingpuzzle! ■

210 Mav 1979 © BYTE Publications Inc

Circle 95 on inquiry card.

Circle 297 on inquiry card.

A Y Le Maout48 rue P J Proudhon78370 PlaisirFRANCE

A Hard Way

to Hard Copy

Suppose you have glued a light emittingdiode (LED) on each key of your type-writer, then connected those LEDs to theoutputs of a decoder, then connected thedecoder to the output ports of your favoritemicrocomputer. Each time a character isdisplayed on the output LED light, you pushthe key and the character is printed. Youmust not forget some auxiliary functionindicators for things like space, new line,etc. I think it is the most economical way toobtain a good printout from a microcom-puter or a personal computer. In my opinionthe achievable speed is nearly two charactersper second.

The cost of such an adaptation should beless than $25, assuming bargain basementLEDs and a typewriter you already own. Itcould be possible to extend the functionby adding a touch contact on each key.

I have only one reservation: in a fewyears it might be more common to own amicrocomputer than a typewriter."

Other Early Computers

G B Lane

Computer Science Dept

Manchester University

Oxford Road

Manchester ENGLAND

Keith Reid-Green's article "A ShortHistory of Computing" (July 1978 BYTE,page 84) neglected to mention a number ofvery significant machines. On reading thearticle one gets the impression that priorto this decade no computers were builtoutside the USA, and that any machinewithin the USA was in all probability builtby IBM. Of course in a short article onecannot hope that a complete history willbe presented, but I do not feel that theauthor presented a correct view of thedevelopment of computers.

Since my own knowledge of the historyof computing is limited to mainly Britishmachines, I too will no doubt leave outmany machines that others would include.The following are some of the machinesthat I feel should have been mentioned:

• Konrad Zuse's electromagnetic com-puters built in Germany before andduring World War II.

the ULTIMATE inCHEAP VIDEO

BOOK & KITONLY $42.95

Don Lancaster's "Cheap Video"concept allows almostunlimited options, including:

* Scrolling- Full performance cursor.

* Line/Character formats of 16/32, 24/80, 32/64....or almost anything.

* Graphics-up to 256 X 256 B&W; 96 X 128 COLOR

C requires low-cost option modules )

* Works with 6502 , 6800 and other micros.

SPECIAL OFFER: Buy the Kit Cupper case alphanumeric option included ) & get the Book at 1/2 price.

.ELECTRONICS, DEPT.5-B, 1020 W. WILSHIHE BLVD.. OKLAHOMA CITY. OK 73116

I'm Sold, PLEASE RUSH C ) SEND FREE CATALOG

C ) TVT 6 5/8 Kit & Cheap Video Cookbook $42.95 (enclosed!C ) TVT-6 5/8 Kit only Cbook required for assembly] -$39.95

address:,city:

. state:

, zip: .

ELECTRONICS 0EPT.5-B, 1020 W.WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116

16K STATIC RAM

Kit price

$285 450 nsec

$320 250 nsec

Memory Chips

Add $25 for assembled, tested, Guaranteed.

Static TMS 4044- Fully Static 4Kx1 Memory chips for better dataintegrity and DMA compatibility.

Fully S-100 Bus Compatible-All lines fully buffered, Dip SwitchAddressable in two 8K blocks, 4K increments. Write Protect-able in 2 blocks, Memory Disable using Phantom (pin 67) orstrappable to any other pin.

Bank Select-Using Output port 40H (Cromemco software compati-ble)-addressable to 51 2KB of RAM or for time share. Also hasalternate port 80H-making over 1 million byte of RAM available.

Quality Components-First quality parts, fully socketed. Glassepoxy board with silk screened legends, solder masks, GoldContacts.

Guaranteed-parts and labor for 1 year. You may return theundamaged board within 1 0 days for a full refund. Foreign andkit purchasers-parts only guaranteed; no return privilege.

Orders- You may phone for Visa, MC, COD orders. ($4 handlingcharge for COD orders only) Personal checks must clear prior toshipping. Shipping-Stock to 72 hours normally. Will notifyexpected shipping date for delays beyond this. Illinois resi-dents add 5% tax. Please include phone number with order.

S. C. digital

P.O. Box 906Aurora, IL 60507

Phone:312-897-7749

Circle 331 on inquiry card.

May 1979 © BYTE Publications Inc 211

Circle 205 on inquiry card.

argains

IMSAI • Cromemco • SWTPC •Lear-Siegler • Problem Solvers •

RCA • North Star • Verbatim •ALPHA Micro Systems and others

Fast, off the shelf delivery.

Give us a call TOLL FREE

800/523-5355

MARKETLINE SYSTEMS, Inc.

2337 Phllmont Ave., Huntingdon Valley, Pa. 19006215/947-6670 • 800/523-5355

Dealer Inquiries Invited

r

TERMINALSFROM TRANSNET

PURCHASE ^

FULL OWNERSHIP AND LEASE PLANS

PURCHASE PER MONTH

DESCRIPTION PRICE 12 MOS. 24 MOS 36 MOS

LA36 DECwriter II $1,595 $ 152 $ 83 $ 56

LA34 DECwriter IV 1,295 124 67 45

LA120 DECwriter III, KSR .... 2,295 219 120 80

LS120 DECwriter III, RO 1,995 190 104 70

LA180 DECprinter I, RO 1,995 190 104 70

VT100 CRT DECscope 1,695 162 88 59

VT132 CRT DECscope 1,895 181 97 66

TI745 Portable Terminal 1,875 179 98 66

TI765 Bubble Memory Term. . 2,795 267 145 98

TI810 RO Printer 1,895 181 99 66

TI820 KSR Printer 2,395 229 125 84

ADM3A CRT Terminal

875

84

46

31

QUME Letter Quality KSR 3,195 306 166 112

QUME Letter Quality RO 2,795 268 145 98

HAZELTINE 1410 CRT 895 86 47 32

HAZELTINE 1500 CRT 1,195 115 62 42

HAZELTINE 1520 CRT 1,595 152 83 56

Dataproducts 2230 7,900 755 410 277

DATAMATE Mini Floppy.

1,750 167

91

61

FULL OWNERSHIP AFTER 12 OR 24 MONTHS10% PURCHASE OPTION AFTER 36 MONTHS

K

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS • MODEMS • THERMAL PAPERRIBBONS • INTERFACE MODULES • FLOPPY DISK UNITS

PROMPT DELIVERY • EFFICIENT SERVICE J

TrahsNet Corpora tion

2005 ROUTE 22, UNION, N.J. 07083

201-688-7800

• The code breaking computers(COLOSSI) built in Bletchley ParkEngland, during World War II.

• The Manchester University Mark 1(1948) and the Cambridge EDSAC(1949). The Mark 1 was the firststored program computer. The firstprogram written for it was to deter-mine the highest proper factor of 218.It succeeded in solving this problemin a 52 minute run on June 21 1948.It used as memory the electrostaticWilliams Tube which was later usedunder license by IBM for the 701 and702 computers. The EDSAC machineintroduced the concept of subroutines.

• Two transistorized computers werebuilt at Manchester in 1953 and 1955.These machines led to the MV950computer which was used commer-cially, six being built and used for aperiod of five years.

• The Atlas computer (1962). This wasdesigned at Manchester by a team ledby Prof Kilburn who was part of theteam that built the Mark 1 and alsowrote the program mentioned above.When Atlas was finished it was said tobe the most powerful computer in theworld and it introduced concepts suchas paging and virtual storage. Thismachine was also sold to a number ofusers and one was still in full time useup to a couple of years ago. Themachine made such an impression thateven today the power of a computer isoften quoted as so many Atlases.

• No mention was made of the Bur-roughs machines with their uniquearchitecture.

• What ever became of DEC?

If any one is interested in a fuller accountof the development of computing machines,there are several books that should be read.They are:

• History of Manchester Computers by SLavington, published by the NationalComputing Center, Manchester Eng-land and distributed in the USA byThe Hayden Book Company Inc, 50Essex St, Rochelle Park NJ. This bookdescribes the development and con-struction of all the computers built atManchester University.

• The Origins of Digital Computers:Selected Papers, second edition BRandell (ed), published by Springer-Verlag, New York, 1975. This bookcontains many reprinted and some un-published papers on the developmentof early digital computers."

212 May 1979 © BYTE Publications Inc

Circle 374 on inquiry card.

Circle 304 on inquiry card.

Compare

New Processors

Carefully

David P Kemp1307 Beltram CtOdenton MD 21113

I would like to compliment you on thearticle "A Microprocessor for theRevolution: The 6809, Part 1: DesignPhilosophy" by Terry Ritter and JoelBoney (January 1979 BYTE, page 14).Although most of us will never be in aposition to design an LSI micro-processor, an article on designphilosophy is quite appropriate. Thesame considerations faced by themicroprocessor designer are faced bythe system designer trying to choose thebest microprocessor for his system, andthe user (including the hobbyist) tryingto choose the best system for his ap-plication.

Ritter and Boney do an excellent jobof presenting the criteria to be used injudging a microprocessor, but their con-clusions — that the 6809 is "the best 8bit machine so far made by humans"and "definitely superior to the 8 bit com-petition" — are by no means beyondquestion. Their attitude can perhaps beexcused by the fact that they are theproud fathers of a new "baby", but it hasbeen said with considerable justificationthat there is no "best" microprocessorfor all applications. It is unlikely thatwhen the 6809 becomes available thesituation will be any different. For exam-ple, Synertek's upgrade of the 6502, the6516, could prove superior to the 6809 inmany applications.

It is true, but perhaps not immediatelyobvious, that increasing the number ofaddress modes available on a micro-processor does not necessarily make itmore useful. The autoincrement andautodecrement modes, in particular, arepowerful and appropriate on a 16 bitmachine like the PDP-11, but they canactually decrease the power of an 8 bitmachine by introducing two types of in-efficiencies.

First, because an exotic instruction setrequires a complex architecture, it in-

Need Intelligence in your

488 Instrumentation System ? ? ?

Get it with your favorite S-100 computerand the P&T-488 Interface Board.

The P&T-488 Interface Board gives your S-100 computer theability to be a talker, listener, or controller on the IEEE-488instrumentation bus. Three software packages are available: 1)Driver for North Star DOS/BASIC 2) Driver for CP/M which canbe used by MBASIC or CBASIC 3) Driver for direct assemblylevel programming (for generating customized systems.) Price ofthe P&T-488, assembled and tested with anyone of the software packages, is $400.

PICKLES & TROUT

P.O. BOX 1206, GOLETA, CA 93017, (805) 967-9563

Algol 60

•tm

for Z80 based computers under CP/M

The Algol 60 compiler from Research Machinesprovides a breakthrough in size/performance for usersof microcomputers:

• Structured high level language comparable withPascal

• Combines fast execution with efficient use ofmemory

• Fully operational in 21K CP/M system with onedisk drive

• Very easy to use with powerful I/O routines andextremely fast floating point software

• Burned in compiler — also available in PDP8 andPDP11 versions

• Available now on CP/M 8" diskette for $299

• Users manual separately, $20 refundable withorder

CP/M is a trademark of Digital Research

Orders and information:

RESEARCH MACHINES

P.O. BOX 75, OXFORD, ENGLAND

(865)-49792

Circle 324 on inquiry card.

Mav 1979 © BYTE Publications Inc 213

Circle 325 on inquiry card.

VAK-4 16K STATIC RAM BOARD

• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers

• Two separately addressable 8K-blocks with write protect.

• Designed for use with the VAK-1 or KIM-4* motherboards

• Has provisions for mounting regulators for use with an unregulated power supply

• Made with 1st quality 2114 static ram chips

• All IC's are socketed

• Completely assembled, burned-in, and tested

We manufacture a complete line of high quality expansion boards. Use reader servicecard to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00U.S.) for airmail delivery of our complete catalog.'Product of MOS Technology

VAK-4 DUAL 8K-RAM $379.00VAK-2 8K-RAM (V2 populated) $239.00

i]RNB>

ENTERPRISES

INCORPORATED2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564

creases both the die size (and cost) ofthe device and the overhead (instructiondecode, internal transfers, and thus ex-ecution time) required to perform agiven operation. Second, it necessitatesthe use of page prefixes or 2 byte opcodes, because a single byte instructiondoes not have enough bits to describeall combinations of operations that canbe performed. Thus, many 6809 instruc-tions require four bytes to specify.

By contrast, the 6516's instruction setis more compact and includes only 8 bitop codes. Does this mean that it is lesspowerful than the 6809? Not necessarily.Ritter and Boney indicated that loadsand stores were by far the most pre-valent operations encountered in theirstatic analysis of 6800 source code. Thefollowing example illustrates how the6516 would handle a load auto-increment instruction for which it doesnot have a specific address mode.Similar sequences would be used for ac-cumulator offset and PC (programcounter) relative modes, and of courseboth the 6502 and 6516 have true index-ed modes which operate much fasterthan the 6809's constant offset modes:

6809: LDAA.Y +

6516: LAY

INY

load accumulator with con-tents of location addressedby Y, then autoincrement Y.requires two bytes and sixcycles.

load accumulator with con-tents of location addressedby Y.

increment Y.

requires two bytes and fourcycles total.

In addition to requiring the sameamount of memory and executing 50percent faster, the unbundled 6516 ap-proach is more flexible. Suppose theprogrammer wishes to use the same in-struction but the index register isdecremented after use. The 6516 codewould be LAY, DEY but since the 6809does not support postdecrement mode,a longer and slower sequence of instruc-tions (four bytes and nine cycles) mustbe used.

For the most complex address modes(eg: LDAA [,-X]) the 6809 does have anadvantage in memory and speed. There-fore, the user must determine if his ap-plication requires a large enough pro-portion of such operations to make the

PET PRINTER ADAPTER

GET HARD COPY FROM YOURCOMMODORE PET USING ASTANDARD RS-232 PRINTER

1200B

1200C

The CmC ADA 1200 drives anRS-232 printer from the PETIEEE-488 bus. Now, the PETowner can obtain hard copylistings and can type letters,manuscripts, mailing labels,tables of data, pictures, in-voices, graphs, checks, needle-point patterns, etc., using astandard RS-232 printer orterminal.

$98.50 ADA1200B

Assembled and tested

$169.00 ADA1200C

With case, power supplyand RS-232 connector

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

O CONNECTICUT microCOMPUTER

(flfj) |=) 150 POCONO RD, BROOKFIELD. CT 06804

La (2031 7759659 TLX: 7104560052

214 May 1979 © BYTE Publications Inc

Circle 79 on inquiry card.

Circle 379 on inquiry card.

CONVERT ANY TV

TO A HIGH QUALITY MONITOR

- NE» "

MICH QUALITY

TTTTTTT V

T V V

T V V

7 V

• Hot Chassis or Transformer sets

• 64-80 characters per line

• By-passes tuner & I.F.

• Normal viewing unaffected

• Safe—Easy installationACVM Hi-Resolution $24.95 pod

"POLYGRAFIX

A completely self-contained, highdensity graphics system forS-100buss users of Polymorphic VTI-64video board. —512H by 128Vresolution. Total software control.Assembled & tested. . . .$245.00Write for details and avail, options.

VAMP Inc. Box 29315Los Angeles, Calif. 90029

The "EXTERMINATOR"

All New Dual Function Boar.d:Serves as an extender card & alsoterminates S-100 buss. Eliminatescrosstalk, overshoots & noisewhich can scramble data. Occupiesonly a single slot.. Fully fused.

VTE-100-K (Kit) $49.95

VTE-100-A (Asmb.) .... 74.95Extender Card (w/conn.). . 24.95

Add $2 shipping & handlingCalif. Residents add 6% Sales Tax

6809 the most effective choice,remembering that all operations usingthe common address modes (direct andextended) require the same or fewerbytes of code and at least one less cycleof execution time on the 6516.

The next most frequent operations inRitter and Boney's static analysis, afterloads and stores, were subroutine callsand returns. A comparison of the twoprocessors' capabilities in that areafollows:

Type of

S809

6516

Addressing

Byt

e Cycles

Byte

Cy

cles

extended

3

8

3

5

rel, 8 bit

2

7

2

4

rel,16 bit

3

9

3

6

indirect

3

14

3

7

system

1/2

19/20

1

6/7

RTS

1

5

1

4

RTI

1

6/15

1

5

Other

all

ndexed

address

must

modes available be calculated

As mentioned in the article, the use ofsoftware interrupts for breakpoints andoperating system calls is a good pro-gramming practice. The 6809 providesthree software interrupt instructions;two require two bytes and all save all

registers on the stack. The 6516 has sixBRK instructions; all 1 byte instructions.They save no registers for flexibility andspeed, but only one byte and ten addi-tional cycles are required, if necessary,to save all registers.

Authors Ritter and Boney indicatedthat a major effort was made to "cleanup the 6800 instruction set and make itmore consistent," and cite the instruc-tion TFR R1, R2 as an example. It is notclear to me that remembering 42 com-binations like TFR A,B, TFR X,Y is anyeasier than remembering 42 mnemonicsof the form TAB, TBA, and TXY, and the6809 user will pay a heavy price for suchconsistency. The TFR instruction re-quires two bytes and seven cycles foreach register transferred, as opposed toone byte and one cycle on the 6516.Moreover, if the programmer insists onusing a TFR type format, a 6516assembler could certainly be written toaccept it.

Another advantage of the 6516 is the16 bit data handling capability. Asidefrom the ADDD, SUBD, and CMPD in-structions, the 6809 has no facilities forcomputing with 16 bit data. All 6516

Technical Forum is a fea-ture intended as an interactivedialog on the technology ofpersonal computing. The sub-ject matter is open-ended, andthe intent is to foster dis-cussion and communicationamong readers of BYTE. Weask that all correspondentssupply their full names andaddresses to be printed withtheir commentaries.

VAK-1 MOTHERBOARD

• Designed specifically for use with the AIM-65, SYM-1, and KIM-1 microcomputers

• Standard KIM-4* Bus

• Fully buffered Address and Data Bus

• Provides 8 expansion board slots

• Complete with rigid card-cage

• All IC's are socketed

• Provides separate jacks for one audio-cassette, TTY, and Power

• Completely assembled (except for card-cage)

We manufacture a complete line of high quality expansion boards. Use reader servicecard to be added to our mailing list, or U.S. residents send $1.00 (International send $3.00U.S.) for airmail delivery of our complete catalog."Product of MOS Technology

PRICE: $129.00

We also carry the SYM-1Microcomputer with manuals $269.00

iJRNB>

ENTERPRISES

NCORPORATED

2967 W. Fairmount Avenue • Phoenix, AZ 85017 • (602) 265-7564

Circle 325 on inquiry card.

May 1979 © BYTE Publications Inc 215

Circle 287 on inquiry card.

yOU DIDNT KNOW!

OAE'S new PP-2708/16PROM Programmer is theonly programmer with allthese features:

• Converts a PROM memorysocket to a table top pro-grammer: No complex inter-facing to wire —just plug itinto a 2708 memory socket*

• A short subroutine sendsdata over the address linesto program the PROM

• Programs 2 PROMS for lessthan the cost of a personal-ity module. (2708s and TMS2716s)

• Connect 2 or more in paral-lel — super for productionprogramming

• Complete with DC to DCswitching invertor and 10

*Pat s Pending

turn cermet trimmers (forprecision pulse width andamplitude alignment)

• All packaged in a handsomealuminum case

PP-2708/16 ..A & T$325.

PP-2716 (Programs Intel's2716) A & T$325.

OAE

Oliver Advanced Engineering, Inc.

676 West Wilson Avenue

Glendale, Calif. 91203

(213) 240-0080

WE SHIP FROM STOCK-EVERYTHING FACTORY FRESH, FULLY WARRANTEED

TELETYPE MODEL43TTL $985

RS232 $1,045

(We stock Teletype Paper and Ribbons)

HAZELTINE 1500 assembled $945

1510 $1,085

Also available with French, German or Danish character sets.

PER SCI

Model 277 Dual Disk Drive, single density $1,210

Slimline cabinet w/power supply $299

MARINCHIP SYSTEMS M9900 CPU

The Complete, Compatible 16 bit CPU for the S-100 Bus

Kit Assembled

M9900 $550 $700

We configure systems to suit your individual requirements.IMS MEMORY

High speed, fully static, 8K $180

MODEM

Originate/Answer. The "CAT" from Novation $190

INTERTUBE

Smart terminal for intelligent users $800

DEC LA 34

High quality I/O Printer $1,159

9900 S-200 INTERFACE BOARD

Provides interface from Technico to S-100 components $59

64K MEASUREMENT SYSTEMS & CONTROLS MEMORY

High speed, fully static, on ONE board $695

S-100 MAINFRAME 12slotTEI Model MCS-112 $433

To Order: $10 shipping for Terminals, Per Sci and Mainframe. $3 shipping for other items. 24hr. shipping upon receipt of certified check or money order. Personal checks: allow 10 days.Credit cards: 4% charge. NY residents add tax.

WE EXPORTWe have no reader inquiry number. Please call or write.

john d. OWENS ASSOCIATES, inc.

147 NORWOOD AVENUESTATEN ISLAND, NEW YORK 10304

DAY, EVENING, WEEKEND, HOLIDAY CALLS WELCOME!

(212) 448-6283

(212) 448-6298

arithmetic and logical instructions(ADD, ADC, SUB, SBC, CMP, ORA, AND,EOR) operate on both 8 and 16 bit data.The 6516 can operate on two bytes inmemory as a 16 bit quantity, using asingle rotate, shift, increment, or decre-ment instruction. Equally important, the6516's index registers can be used as 8bit quantities for true indexing andcounting applications, and data frommemory can be added directly to theindex registers for fast address calcula-tions. Finally, the 6516 has a direct-page-indirect address mode which allowsmany pointers to be maintained entirelyin memory without involving the indexregisters at all.

In short, I am not convinced that the6809 is "definitely superior" and wouldsuggest that careful consideration begiven to the merits of all processorsbefore such claims are made for any oneof them. ■

Puzzling Rotation

Ken Barbier

Borrego Engineering

POB 1253

Borrego Spgs CA 92004

Listing 7. 10 print

20 Y=0: X = INT((1/7)* 1E + 06)

30 FOR K = 1 TO 7

40 Y=Y + X

50 PRINT Y

60 PRINT

70 NEXT K

80 END

The program in listing 1 is more a puz-zle than a useful routine. The only prac-tical application I can foresee would beto entice some computer hobbyist withmore mathematical ability than I, to ex-plain why the resulting numbers havethe same digits in the same order. Doesthe same digit rotation occur for similaroperations in other number bases?

Line 20 starts with a 6 digit integerformed from the first six digits of thereciprocal of that magic number, seven.This number is repeatedly added toitself to form a column of 6 digitnumbers with curious properties.

I won't show these results here. Youwill have to try it on your computer. Ifyour version of BASIC insists, you mighthave to enter 1E+06 in line 20 as1000000. ■

216 May 1979 © BYTE Publications Inc

Solution to Machine Language Puzzler (See page 209)

Addition can be performed without anADD instruction by subtracting the two'scomplement of the addend from the augend.Specifically:

X + Y= X- (-Y) = X- Y*

where Y* is the two's complement of Y.A simple approach is as follows (assumethat X is in register C, and that Y is inregister B):

MOV A, BCMAINR AMOV B, AMOV A, CSUB BCMCHLT

A shorter solution is not quite as obvious:

MOV A, BCMASUB CCMAHLT ■

C/PM SOFTWARE TOOLS

ED-80 TEXT EDITOR

THE PROGRAMMERS MOST IMPORTANT SOFTWARE TOOL WHY NOT MAKE IT YOUR BEST?

ED-80 encompasses the features found on large mainframe and minicomputer editors,such as the IBM 370, CDC 170, UNIVAC 1100, and the DEC PDP-11 series computers,plus additional features designed for floppy disk based operating systems. It is acontext editor which is compatible with C/PM and its derivatives, including IMDOS,DOS-A, CDOS, etc.

Over 50 commands are provided, including forward or backward LOCATE, CHANGE,and FIND commands; INSERT, DELETE, REPLACE, APPEND, PRINT, LIST, MACRO,upper and lower CASE, SCALE, TABSET, and WINDOW commands; and GET and PUTcommands for repositioning, duplicating, concatenating, and managing text files andlibraries. Sophisticated search and change techniques are provided for managingBASIC, FORTRAN, COBOL, PL/I, ALGOL, APL, PASCAL, ASSEMBLER. TEXTFORMATTED, and other file types.

The WINDOW command allows instantaneous full screen displays of both the currentand surrounding lines for further editing, and provides for forward and backwardscrolling in the full screen mode. Designed for today's high speed CRT's and videomonitors, the WINDOW command separates ED-80 from all other available editors,and is not hardware dependent.

Up to three MACRO commands may be defined for iterative execution of concatenatededitor commands. Once defined, they may be subsequently executed, or recalled forobservation. A MACRO may also be defined and executed in a single operation.Configurable parameters for tailoring the editor to the user's keyboard and environmentare provided through the use of the C/PM Dynamic Debus Tool (DDT). The WINDOW,WINDOW NEXT, WINDOW PREVIOUS, NEXT LINE, and PREVIOUS LINE commandsfall in this category. These commands are considered so important to text editing thatonly one key has to be depressed to cause any one of them to execute.A CURRENT LINE NUMBER is internally maintained by the editor for displaying whenprompting for input and with certain other commands. Line numbers are dynamicallyadjusted as the result ot line inserts and deletes, and may be used for positioning withinthe file. They are not stored or associated with the text in any manner.ED-80 is thoroughly documented with a User's Manual of over 35 pages describing eachcommand and feature, and includes numerous examples. It .s 9.5K bytes in size, and aminimum C/PM operating system of 20K is recommended. A User's Manual and standardsize single density diskette are $69.00. A User's Manual is $7.50, refundable withpurchase. COD and money orders shipped next day. COD orders require 10% deposit.Personal checks must clear before shipment. Include $2.00 shipping/handling per order.

SOFTWARE DEVELOPMENT AND TRAINING, INC.P. O. Box 4511 — Huntsville, Alabama 35802

C/PM" is a trademark of Digital Research

NO FRILLS! NO GIMMICKS! JUST GREAT

DISCOUNTS

MAIL ORDER ONLY

HAZELTINE

1400 $ 650.00

1500 995.00

Mod 1 1495.00

CENTRONICS

779-1 954.00

779-2 1051.00

700-2 1350.00

761 KSR tractor 1595.00

703 tractor 2195.00

NORTHSTARHorizon I assembled.. 1629.00

kit 1339.00

Horizon II assembled.. 1999.00

kit 1599.00

Disk System 589.00

TELETYPE

Mod 43 995.00

IMS16K Static Memory... 459.95

DIGITAL SYSTEMS

Computer $4345.00

Double DensityDual Drive 2433.00

IMSAI

VDP 80/1000 $5895.00

VDP40 3795.00

VDP 42 3895.00

VDP44 4195.00

16K Memory assem... 399.00

PCS 80/15 679.00

15% oti on all other Imsai products

CROMEMCO

System III $1000 oft .. 4990.00

10% off on all other Cromemco products

TEXAS INSTRUMENTS

810 Printer 1595.00

CENTRONICS

Microprinter 495.00

Most items in stock for immediate delivery. Factory-fresh, sealed cartons.

DATA DISCOUNT CENTER po box 100

135-53 Northern Blvd., Flushing, New York 11354, 212/465-6609

N.Y.S. residents add appropriate Sales Tax. Shipping FOB N.Y.I BankAmericard, Master Charge add 3%. COD orders require 25% deposit.

apple computer

SOFTWAREFOR BUSINESS

includes:

Mailing List

* General LedgerPayroll

Phone Directory

* Customer InformationInvoice WriterInventory

* Check Writer

* Complete Business SystemMaster Business System

Available Soon Word Processor

vidEo|:slwoRld

2224 N. University, Peoria, II. 61604Phone 309/686-9352

"Trademark of Apple Computer Co. Inc.

Circle 91 on inquiry card.

Circle 386 on inquiry card.

May 1979 © BYTE Publications Inc 217

Guess who buildsthis great $19.95Logic Probe.

\ #,-, With this easy-to-build Logic

Vfjl I Probe Kit from CSC and just aIV^WIb few hours of easy assembly-thanks to our very descriptive step-by-stepmanual—you haveafull performance logicprobe. With it, the logic level in a digital circuittranslates into light from the Hi or Lo LED;pulses as narrow as 300 nanoseconds arestretched into blinks of the Pulse LED, triggeredfrom either leading edge. You'll be able to probedeeper into logic with the LPK-1, one of thesmarter tools from CSC.

Complete,easy-to-followinstructionshelp make this aone-night project.

dMlMMWKl*

CONTINENTAL SPECIALTIES CORPORATION

70 Fulton Terr., New Haven, CT 06509 (203) 624-3103, TWX 710-465-1227OTHER OFFICES: San Francisco: (415) 421-8872, TWX 910-372-7992Europe: CSC UK LTD. Phone Saffron-Walden 0799-21682. TLX 817477Canada: Len Finkler Ltd.. Ontario

Call toll-free for details1-800-243-6077

'Suggested U S resale Available at selected local distributorsPrices, specifications subject lo change without notice©Copyright 1979 Continental Specialties Corporation

Circle 81 on inquiry card.

The

Hobby

Unwrap

Ralph Stirling7401 Garland AvTakoma Park MD 20012

The Hobby Wrap Model BW-630 wirewrap gun, manufactured by the OK ToolCompany, 3455 Conner St, Bronx NY10475, is a useful tool for experimenters.One feature I missed, though, is the abilityto unwrap wrong connections. The HobbyWrap is powered by a DC motor run ontwo C cells. If the batteries are installedbackwards, the motor runs in the reversedirection. It can then unwrap wire wrapconnections. But removing the batteriesand replacing them backwards is a veryinefficient way to do unwrapping. Somebetter method of reversing battery polarityis required.

A double pole double throw (DPDT)switch can be used to change the polarityof the motor connections. The HobbyWrap is dismantled by removing the twobolts and the metal ring around the batterycompartment. I have found that a RadioShack 275-407 (or equivalent) DPDT sub-miniature slide switch can be mounted in acutout made in the thin plastic square at the

NOTE:

GLUE TABS ONSWITCH TOPLASTIC SHELLWITH EPOXY

Figure 2: Installation ofdouble pole double throwswitch in the Hobby Wrapgun.

218 May 1979 © BYTE Publications Inc

Circle 86 on inquiry card.

Figure 1: A modification to the Hobby Wrap Model BW-630 wire wrap gun manufactured by the OK Tool Com-pany. A double pole double throw switch is used toreverse the direction of motor rotation, enabling the userto unwrap wire wrap connections.

-=- BATTERY

MOTOR I O

DPDT SWITCH

rear of the top side of the tool. The switchshould be mounted in the left half of thecase (when viewed from the rear of the gun).This allows the right half to be removedcompletely without upsetting the batteryconnections. The slide switch is glued inposition with epoxy, because mountingholes would be difficult to drill. The wholemodification takes less than two hours.

Step by Step Instructions

1. Remove right half of case (two boltsand ring).

2. Remove motor (pop off rubber beltand gently remove motor from driveshaft).

3. Unsolder wires connecting the motorwith the battery connectors.

4. Solder wires (30 gauge wire wrap)diagonally across the switch as shownin figure 1.

5. Solder two wires from the motor tothe middle two contacts on the switch,and two wires from the battery con-nectors to one of the outer pairs ofcontacts on the switch.

6. Trim out the thin section of plastic onthe left half of the case (figure 2) andglue the switch into this slot withepoxy.

7. Remount the motor, route the wirespast the bolt hole, replace the righthalf of the case in its original position,and label the switch positions.

You now have an unwrapping tool when-ever you need it. To unwrap, slide the switchto the unwrap position, place the tool overthe wire wrap post as in wrapping, and pressmore firmly than usual while giving themotor a brief burst. The wrap should comeright off."

LSI-11 TIME

It's TIME you brought your LSI-11 up to DATE. TIME and

DATE, two important parameters in the computer world, areavailable to your LSI-11 on one DUAL SIZE BOARD Whenrequested, the TCU-50D will present you with the date (monthand day), time (hour and minutes), and seconds. Turn yourcomputer off and forget about the time — your battery sup-ported TCU-50D won't, not for 3 months anyway. The correctdate and time will be there when you power up.

The TCU-50D is shipped preset to your local time, but can be setto any time you want by a simple software routine.

AT $295YOU CANT AFFORD TO IGNORE TIME

Time is only one way we can help you upgrade your LSI-11 orPDP-11 system. We'd also like to tell you about the others. Socontact Digital Pathways if you're into -ll's. We are too.

DIGITAL PriTHWVM IMC.

4151 Middlefield Road • Palo Alto,California 94306 • Telephone (415) 493-5544

3m

■■■COmPANY

Scotch

BRAND

Diskettes AtSUPER Lo wPrices!

10-40 quantity

$4.25 eachin boxes of 10

10-40 quantity

$4.20 eachin boxes of 10

3M-740-0-H

8" IBM 3740-Type

Soft-sectored

in Hard box

(reg $6.50 each)

3M-744-0-H

3M-744-10-H

3M-744-16-H

5" in Hard box

(reg $6.50 each)

50-190 quantity$3.50 each

in boxes of 10

50-190 quantity$3.50 each

in boxes of 10

Write or call for quantities price schedule.Terms:

• On orders under $50, add $2 handling charge.

• We pay UPS shipping within continental U.S. on prepaid orders.

• On C.O.D., $1 plus shipping charges will be added.

• Foreign customers please ask about additional shipping charges.

• N.Y. State residents add appropriate sales tax.

• Prices subject to change without notice.

• Allow 3 weeks for personal checks to clear.

• Send check or money order to CSD.

CSD

Computer

Systems

Distributors

3470 Erie Blvd. EastSyracuse, N.Y. 13214

• Floppy Diskettes

• For your Microcomputer andMinicomputer needs

• Fast delivery - we ship from st

• Save by buying in volume

• Authorized factory distributor

• To place orderscall 24 hrs./7 daysTOLL FREE:800-448-5523

800-962-5887

All states exceptN.Y.. Alaska,

Hawaii

N.Y, state only

Circle 70 on inquiry card.

May 1979 © BYTE Publications Inc 219

Circle 315 on inquiry card.

The

Rothenberg

INTEGRATED

FINANCIAL

SYSTEM

underCP/M*

• GENERAL LEDGER

• ACCOUNTS RECEIVABLE

• ACCOUNTS PAYABLE

• PAYROLL

• INVENTORY CONTROL

Easy to use, self-guided.You don't have to b"e a CRA!

Price: $500 eachComplete manuals: $8 eachImmediate DeliveryRequires only 32K system

Requires CBASIC** ■

Prepaid or COD only

Send CP/M serial # with each order

Also available:

Complete Legal Billing System

Only $1995. Manual $12.

Rothenberg

INFORMATION SYSTEMS, INC. WO0

260 Sheridan Avenue

Palo Alto, CA 94306

(415) 324-8850

*CP/M is a trademark of Digital Research**Add $100 if CBASIC is also needed

Programming Quickies

SwTPC 6800 Display Routine

Mike Hayes

Tektronix

3311 Roselawn

San Antonio TX 78226

Listing 1: 6800 programfor displaying and readingX number of bytes.

The SwTPC 6800 computer requires theuse of the MIKBUG M function to load anddisplay the contents of memory. The pro-gram in listing 1 allows immediate displayor loading of X number of bytes, and ismuch easier on the programmer than theMIKBUG subroutines. I hope this programwill be of some service to readers."

0000100002

•

CHANGE ALLOWS USER TTY INPUT OF MANY BY I tbAT ONCE. USE MIKBUG "G" FUNCTION TO JUMP TO

00003

•

S0100

THEN TYPE IN THE FIRST ADDRESS . CHANGE

00004

•

WILL DISPLAY THAT ADDRESS AND ITS DATA . . .

00005

*

00006

»»**

DISPLAY MODE

• * " •

00007

•

ENTER A SPACE TO SHOW NEXT BYTE IF IN DISPLAY

00008

•

MODE

, OR TO ENTER NEXT BYTE IF IN LOAD MODE.

00009

•

00010

•

ENTER ";" INSTEAD OF SPACE TO SWITCH FROM

00011

•

DISPLAY TO LOAD MODE OR VICE VERSA. IN EITHER

00012

*

MODE

, ENTERING A CARRIAGE RETURN STARTS A

00013

■

NEW LINE.

00014

"***

EXIT FROM THE PROGRAM ****

00015

*

THE USER MAY EXIT AT ANY TIME FROM DISPLAY

00016

*

MODE BY INPUTTING ANY CHARACTER EXCEPT ";" ,

00017

*

SPACE, OR THECARRIAGERETURN...

00018

*

EXIT FROM THE LOAD MODE BY TYPING IN AN ILLEGAL

00019

*

BYTE

. ALSO CAN GO BACK TO CHANGE ENTRY POINT,

00020

.

FROM LOAD MODE, BY TYPING IN AN ILLEGAL USERRESPONSE AFTER BYTE ENTRY.

00021

E047

BADDR

EQU

SE047

00022

E055

BYTE

EQU

SE055

00023

E1AC

INCH

EQU

$E1AC

00024

EOCC

OUTS

EQU

SEOCC

00025

E1D1

OUTCH

EQU

SE1D1

00026

EOBF

OUT2H

EQU

SEOBF

00027

EOCA

OUT2H3

EQU

SEOCA

00028

E0C8

OUT4HS

EQU

SE0C8

00029

E07E

PDATA1

EQU

SE07E

00030

*

00031

»

00032

A00C

ORG SA00C

00033

A00C

00

XHI

FCB

00

00034

A00D

00

XLOW

FCB

00

00035

*

00036

1000

ORG S1000

00037

1000

CHANGE

EQU

•

BEGIN WITH USER INPUT ADDRESS

00038

1000

CE

1061

LDX

■'•-STRING

00039

1003

BD

E07E

JSR

PDATA1

00040

1006

BD

E047

JSR

BADDR

00041

1009

8D

46

CHA51

BSR

ADD0

PRINT CURRENT ADDRESS

00042

100B

BD

EOBF

CHA31

JSR

OUT2H

PRINT CURRENT DATA

00043

100E

FF

A00C

STX

XHI

00044

1011

BD

E1AC

JSR

INCH

GET USER RESPONSE

00045

1014

81

20

CMPA

=$20

00046

1016

27

F3

BEQ

CHA31

IF RESPONSE-" " THEN PRINT NEXTDATA BYTE

00047

1018

81

0D

CMPA

=$0D

00048

101A

27

ED

BEQ

CHA51

IF RESPONSE'CR THEN START NEWLINE

00049

101C

81

3B

CMPA

00050

101E

27

01

BEQ

CHA71

IF RESPONSE ";" THEN ENTER LOADMODE

00051

1020

3F

SWI

IF RESPONSE WAS NONE OF ABOVE,RETURN

00052

'

00053

1021

BD

E055

CHA71

JSR

BYTE

WAIT FOR USER INPUT OF TWO HEXCHAR

00054

1024

09

DEX

00055

1025

A7

00

STAA X

STORE IN LOCATION POINTED TO BY

X-1

220 May 1979 © BYTE Publications Inc

Circle 90 on inquiry card.

Listing J, continued:

00056

1027

OD

E1AC

CHA75

JSR

INCH

WAIT FOR USER DIRECTIVE

00057

102 A

81

20

CMPA

-$20

00058

102C

27

OA

BEQ

CHA81

ON SPACE INPUT PREP FOR LOADANOTHER BYTE

00059

102E

81

3B

CMPA

00060

1030

27

OD

BEQ

CHA91

TRANSFER BACK INTO DISPLAY MO

00061

1032

81

OD

CMPA

=$0D

00062

1034

27

OF

BEQ

CHA95

ON CARRIAGE RETURN PRINT NEWADDRESS

00063

1036

20

C8

BRA CH( i ■!

IF NONE OF ABOVE, GET NEW

ADDRESS TO START

00064

"

00065

1038

08

CHA81

INX

00066

1039

08

INX

00067

103 A

FF

AOOC

STX

XHI

00068

103D

20

E2

BRA

CHA71

00069

103F

08

CHA91

INX

00070

1040

FF

AOOC

STX

XHI

00071

1043

20

C4

BRA

CHA51

00072

1045

8D

OA

CHA95

BSR

ADDO

00073

1047

BD

EOBF

JSR

0UT2H

00074

104 A

09

DEX

00075

104B

09

DEX

00076

104C

FF

AOOC

STX

XHI

00077

104F

20

D6

BRA

CHA75

00078

•

00079

1051

ADDO

EQU

•

00080

1051

CE

1061

LDX

sSTRING

PRINT "@",CR AND LF

00081

1054

BD

E07E

JSR

PDATA1

00082

1057

CE

AOOC

LDX

=XHI

00083

105A

BD

E0C8

JSR

0UT4HS

00084

105D

FE

AOOC

LDX

XHI

00085

1060

39

RTS

00086

•

00087

106110621063106410651066

ODOA00004004

STRING

FCB

SD,$A,0,0

'@,4

00088

END

TOTAL ERRORS 0

6800 Register Display

The program in listing 1 solves a majorpoint of frustration for users of the 6800processor with the MIKBUG operating sys-tem. With such systems, the user must in-sert the software interrupt (SWI, #$3F)instruction into the code and stop theprogram execution at that point every timea register display is desired. A softwareinterrupt causes MIKBUG to gain controlafter outputting the contents of the regis-ters. Note that after using the softwareinterrupt, the user must reset the programcounter and other registers and run theprogram again. There is no practical way tosingle step through a program or to havelights which allow one to view registersduring execution of a program.

DISPL solves this problem when calledas a subroutine. It prints all register contentsat the point of call and then returns controlto the calling program with all registersrestored.

Slight modifications will allow DISPLto do elaborate and useful functions. In-cluding a small supervisor routine in theDISPL routine will allow conditional regis-ter printing, or conditional software inter-rupt. Conditional printing is useful when

Mike Hayes

Tektronix

3311 Roselawn

San Antonio TX 78226

IT'S HERE..

anti-magneticprotection forcassette-storeddata

TAPE* SAFE

METAL CASSETTE SHIELDS

Don't risk the erasure of valuable cassette-storeddata through accidental magnetic-field exposure.Such irretrievable loss can occur during storage ortransit if unprotected tapes are exposed to the mag-netic fields produced by motors, transformers, gen-erators, electronic equipment—even the intensetransient fields induced by electrical storms. TAPE*SAFE Cassette Shields are constructed of the samespecial magnetic alloy used to shield cathode raytubes and other magnetic-sensitive components.Heliarc-welded seams and hydrogen annealing as-sure optimum shielding properties. Each attractively-finished TAPE'SAFE Shield accommodates one cas-sette in its original plastic box. The handsome FILEDECK, in contrasting color, stores six TAPE'SAFEShields (One FILE DECK sent FREE with each six Cas-sette Shields). Order direct from this ad.

TAPE'SAFE Cassette Shields—$14.95 ea., postpd.Six or more at one time—$12.95 ea., postpd.Inquire about quantity discounts

Data-Safe Products, Inc.

4737 Darrah St., Phila., PA 19124 • 215/535-3004Dealer Inquiries Invited

SPECIAL INTRODUCTORY OFFER

Ship TAPE'SAFE Shields at $ 4

Ship FILE DECK Racks at $ ea.

Total Enclosed S-

-(check or money order)

Pa Residents add 6% Sales Tax

Name-

Address

L£!y

Zin-

— : i

May 1979 © BYTE Publications Inc 221

Listing 1: 6800 registerdisplay program. Use ofreferences to MIKBUGmakes this program fullyposition independent.

the user desires to display the registers justthe first ten times through a loop, or perhapsjust after the 100th time through a loop.This is implemented with just a simplecounter and branch if greater than. Condi-tional software interrupt is extremely usefulwhen the user knows that at a certain placein a program, a particular register shouldnot exceed a given value.

Obviously there are many variations onthe sorts of small supervisor routines whichcan be added on to this basic program. Mostare easy to implement. The idea for DISPLwas derived from certain functions availablewith the Motorola Exorcisor system. Un-fortunately, no listings of those systemprograms were available to me, so I wrotethe basic idea."

00001

NAM

DISPL

00002A

0200

ORG

$200

00003

E0CA

A

OUT2HS

EQU

$E0CA

PRINT 2 CHAR FROM X

00004

E0C8

A

OUT4HS

EQU

$E0C8

PRINT 4 CHAR FROM X

00005

E1D1

A

PRINT

EQU

SE1D1

PRINT A CHAR FROM A

00006A

0200

00

A

SAVCC

FCB

0

SAVE CONDITION CODES

00007A

0201

00

A

SAVBR

FCB

0

SAVE B REGISTER

00008A

0202

00

A

SAVAR

FCB

0

SAVE A REGISTER

00009A

0203

0000

A

SAVX

FDB

0

SAVE X REGISTER

00010A

0205

0000

A

SAVPC

FDB

0

SAVE PROGRAM COUNTER

00011A

0207

07

DISPLY

TPA

TRANSFER CC TO A REGISTER

00012A

0208

07

TPA

00013A

0209

B7

0200

A

STAA

SAVCC

00014A

020C

32

PULA

STORE IN . ..

00015A

020D

B7

0202

A

STAA

SAVAR

SAVCC SAVAR SAVBR SAVX

00016A

0210

F7

0201

A

STAB

SAVBR

CC A B X

0001 7A

0213

FF

0203

A

STX

SAVX

00018A

0216

30

TSX

STACK HOLDS PC ON ENTRY

00019A

0217

A6

00

A

LDAA

0,X

00020A

0219

B7

0205

A

STAA

SAVPC

00021A

021C

A6

01

A

LDAA

1,X

00022A

021 E

B7

0206

A

STAA

SAVPC+1

STORE PREVIOUS PC IN SAVPC

00023A

0221

CE

0200

A

LDX

#SAVCC

00024A

0224

BD

E0CA

A

JSR

OUT2HS

00025A

0227

BD

E0CA

A

JSR

OUT2HS

00026A

022A

BD

E0CA

A

JSR

OUT2HS

00027A

022D

BD

E0C8

A

JSR

OUT4HS

00028A

0230

BD

E0C8

A

JSR

OUT4HS

OUTPUT CC,B,A,X,P

00029A

0233

86

0D

A

LDAA

#$D

00030A

0235

BD

E1D1

A

JSR

PRINT

00031A

0238

86

0A

A

LDAA

#$A

CR,LF OUT

00032A

023A

BD

E1D1

A

JSR

PRINT

00033A

023D

B6

0202

A

LDAA

SAVAR

00034A

0240

F6

0201

A

LDAB

SAVBR

00035A

0243

FE

0203

A

LDX

SAVX

00036A

0246

36

PSHA

RESTORE ALL REGISTERS

00037A

0247

B6

0200

A

LDAA

SAVCC

00038A

024A

06

TAP

00039A

024B

32

PULA

00040A

024C

39

RTS

00041

END

TOTAL ERRORS 00000.

^ \w

■[■ . i'i-M'V ■- ■':■■

l

m

U.I

2 I A

t Invented by Forrest Mozer222 May 1979 © BYTE Publications Inc

Introducing—New, Low-cost, Fixed Vocabulary

Speech Synthesizers

for Computer Hobbyists or OEM useFEATURES

Two 64-word vocabularies available:— Full spoken numerics plus a variety of—ASCII characters: numerics, alphabet,Clear, highly intelligible male voiceAll MOS-LSI circuitry6-bit parallel strobed inputNo external clocks requiredInputs are TTL compatibleAnalog Speech output signalCustom vocabularies can be produced

measurement wordspunctuation

179

00

Boards with numbers &calculator functions...only $95.00 *

I

*Plus state sales taxes where applicable

TELESENSORY SYSTEMS, INC.

3408 Hillview Ave., P.O. Box 10099, Palo Alto, CA 94304Telephone (415) 493-2626

Circle 362 on inquiry card.

Text continued from page 8:siderations already discussed in the forumpublished with your comment. Remem-ber, all programming languages areequivalent (eg: to a Turing machine),so there are no programs that will run inPascal that won't run in BASIC.

I don't mean to defend BASIC. It'sslow and archaic. Butit(and FORTRAN)have lasted much longer than any of theblock structured languages: ALGOL,PL/1, SIMULA, etc. (By "last," I meanthat it is still in popular use.) Howlong will Pascal last? The ideas behindblock structured languages are great, butthey have yet to be implemented in anoptimal form.

John Beetem

Quillen 4-1

Escondido Village

Stanford CA 94305

Several comments. You are consider-ing the cost of a system from the groundup. Many people already have systemswith large amounts of memory, andtherefore the Pascal system addition isonly $200. If you own a small business,the cost of buying a complete Pascalsystem versus a smaller system usingBASIC is probably less once program-ming time is considered. Also, Pascal isnow running on the Apple II computer.The Apple cuts off the cost of a terminaland brings you down to an 1800 dollarcomputer. . . RGAC

PASCAL COMMUNICATIONREQUESTED

We are busy with the implementationof a high level language compiler andwould like to get in touch with othergroups who pursue similar goals. Here is ashort summary of our project.

The language at which we are aiminghas the full expressional power of Pascaland will run on a p-code interpreter for avirtual machine. As our language willhave special features to support the com-piler writer's task, we have chosen thename COSY-Pascal to distinguish ourPascal from the strictly defined language.We have planned additional features forthe following compiler subtasks: syntaxdefinition, attribute propagation, anddefinition table options. Design criterionsfor the extensions were economy ofmemory usage, user convenience andsimplicity of implementation.

Based on recursive descent LL(1)techniques, syntactic rules may be for-mulated in Backnus-Naur Form. Thegrammar is compiled almost as is, andwill be interpreted at runtime.

As with attributed grammars, variablesmay be associated with every nonterminalof the grammar, such that the variables ofthe dynamically last nonterminals are ac-cessible to the programmer. Errormessages produced by other errors will besuppressed by the system.

Presently we want to implement astrongly simplified version of Pascal.Most of the interpreter (6502 processor)and some support routines are imple-mented, but they are not yet intensively

tested. A detailed specification of most ofPascal has been worked out and will bediscussed.

We hope to have some simple programscompiled and running soon.

Bernhard Miller

Mozartstr 1

1744 Kandel

Norbert Gireitzke

Lenzstr

75 Karlsruhe

WEST GERMANY

IMPROVING STATISTIC ACCURACY

Alan B Forsyth's article "Elements ofStatistical Computation" (January 1979BYTE, page 182) pointed out hownumerical errors can accumulate whencomputing means and standard devia-tions. Readers interested in more infor-mation about this topic should consult theDecember 1978 issue of PPC journal, themonthly publication of the Personal Pro-grammers Club for Hewlett-Packard pro-grammable calculator users.

The article, "More Accurate Statis-tics," discusses in detail a method for ac-cumulating sums of data to computemeans and standard deviations. Therecurrence formulas, which can be used tostore or delete data using the new method,are given, as well as the formulas whichshow how to compute other statistical

parameters associated with the line of bestfit for a group of data and the correlationcoefficient. An HP-67/97 program isgiven which shows how to implement thenew technique, and numerical examplesare discussed. The method given can beprogrammed on any calculator or com-puter.

John Robert Kennedy

11692 Chenault St #310

Los Angeles CA 90049

SOME INSIGHTS ON INFORMATION

Thank you for publishing the fine arti-cle by Andrew Filo, on the biology ofrobots "Designing a Robot fromNature," (February and March 1979BYTE). His article "turned on a littlelight." One light turned on in my head perday, or even per week, makes it all worthwhile.

He reports that frog skin was movedfrom back to stomach, and from stomachto back. Irritating the stomach then caus-ed the frog to scratch his back, and ir-ritating his back caused the frog to scratchhis stomach.

I say: Aha. Packet-switching. Headers,with source address.

The telegram, the telephone call, or thecomputer packet all come with a sourceaddress; a necessity if the informationcomes in on a port that has multiple users.

READ THE MAGAZINETHE PROS READ.

For over 20 years DATAMATION hasbeen the magazine for the data processingprofessional. Now DATAMATIONmagazine is available to hobbiests, busi-ness men, accountants, engineers, pro-grammers ... anyone with a deep curiosi-ty about the real world of data process-ing.

Written by the data processing pro-fessional for the data processing profes-sional, DATAMATION magazine's arti-cles cover a wide range of subjects . . .industry trends, "how to do it better"articles, budget and salary surveys, newcomputer applications, advanced tech-nology, new products and services aswell as a monthly department on person-al computing.

Whether your interest in computers isfor fun or profit, DATAMATION maga-zine has a world of information for youevery month . . . plus an annual Special

Edition, the Industry Profile featuringthe "DATAMATION 50" — the topU.S. DP companies.

TECHNICAL PUBLISHING COMPAN\A Dun & Bradstreel Company35 Mason St., Greenwich, CT 06830(203) 661-5400

I 1

FOR A ONE YEAR SUBSCRIPTION

(13 ISSUES) SEND $32.

TO: SUZANNE A. RYAN

DATAMATION magazine666 FIFTH AVENUENEW YORK., NY 10019

Name

AddressCity

State/Zip .

magazine

Circle 94 on inquiry card.

May 1979 © BYTE Publications Inc

223

Aha #2) I have always wondered howthere could be as many nerves in my spineas there are sensors below. If things areparty-lined, there don't have to be asmany wires.

Aha #3) Our sensors, for the mostpart, have very low data rates. Normallywe are not irritated on many parts of ourskin at once. Thre is plenty of time formany sensors to share a trunk in a party-line architecture. We are, I think, con-fused by an over-abundance of signals atonce. By stimulating large areas of skin atone time, you know that something ishappening, but you may not be able toseparate the points.

Aha #4) Think acupuncture. I have adoctor who, though educated on the USmainland, is Chinese. Dr Lam has studiedacupuncture, and practices it, in conjunc-tion with normal medicine. My wife hadcramps in her stomach area. They per-sisted. Dr Lam couldn't localize the trou-ble because a large area of muscles werefighting. He got out his needle and spun itinto her foot, in a spot which he says isrelated to the stomach area. Within fiveminutes the muscles had relaxed. The re-maining pain was isolated in a small area.He could feel this area, and he diagnosedthe pain as gall-bladder. A subsequentoperation proved him right: many largegall-stones, one of which had plugged upthe duct. What had the doctor done? Hehad biased (pushed the break button) the

nerve from the stomach area to the brain,by getting at the nerve from another port.The brain didn't know the foot-signalfrom any other signal on the same trunk.The brain decided that there was nolonger any pain in the stomach.

Aha #5) This suggests that there aremany party-lines in higher animals (and Iam a computer man: I have no idea howhigh) and each of these goes to maydiverse sensors.

Aha #6) Today airplanes are usinghigh-bandwidth coax from a string of sen-sors to the controls. They're on the righttrack.

Give us enough time, and mix togetherenough scientists and engineers, give usthe help of magazines like BYTE, and wemay figure ourselves out yet.

N | Thompson

1615 Wilder #401

Honolulu HI 96822

PASCAL UNEXPANDABLE

Your position in favor of UCSD Pascalis valid only from the perspective of thebuyer of a complete computer system whowants the manufacturer to supply all ofthe operating system software. This buyeris willing to accept the limitations of thesoftware in order that he may take advan-tage of its being off the'shelf. The trendtowards bundled packaging of Pascal, as

NOW, FROM MOUNTAIN HARDWARE.

THE 100,000 DAY CLOCK.

■,■■■■■■

Put your S-100 Computeron the clock.

A real time clock could double theutility of your computer. Time eventsin 100/uS increments for up to 100,000days (over 273 years). Program eventsfor the same period with real timeinterrupts that permit pre-programmed activities to takeplace...without derailing on-goingprograms. Maintain a log of computerusage. Call up lists or appointments.Time and date printouts. Time events. Anon-board battery keeps the clock running inthe event of power outage.

Mountain Hardware also offers a complete lineof peripheral products for many fine computers

s

Available at your dealer's. Now.

Mountain Hardware, Inc.

300 Harvey West Blvd.Santa Cruz, CA 95060 (408) 429-8600

well as other major operating systems andlanguages, places the buyer of such a pro-duct in the position where he or she in-itially gets a very good deal on a powerfulsystem, but is then unable to expand thatinitial hardware and software withoutbuying a whole new system. Of course, nosuch expansion need be contemplated bythe majority of customers. But some peo-ple may prefer that their initial investmentin a system be of continuing value asfuture additions are made. Although lesselegant than UCSD Pascal, there areother software packages one can startwith which allow users to implement theirown expansions, such as the IPS systemdescribed in your January issue. Thus,while valid from the perspective of certainusers, your position should be qualified toreflect the limitations of that perspective.

George Lyons

280 Henderson St

Jersey City NJ 07302

As a user of UCSD Pascal for severalmonths now, I have yet to find an im-penetrable wall —a fundamental functionthat was not in the system. To be sure,there are implementation dependentaspects which I find less than perfect. Animplicit file name search over all volumesmounted in the system would be a conve-nience and a slightly larger maximum sizefor procedure blocks would be mostuseful. But the system is fundamentallywell thought out, and complete as a basisfor much productive programming....CH

APL NOT DESIRED

Periodically I see APL programs inBYTE. I would like to discourage as muchas possible all usage of APL.

When I was an undergraduate at RiceUniversity, I had occasion to use APLquite a bit —first as the language I cut myprogramming teeth on, then as a graphicslanguage, and finally, tutoring otherstudents who were cutting their program-ming teeth. I saw these students acquirethe same bad habits which I had learnedfrom the language, and have just as harda time breaking these habits as I did.

APL can be wonderful fun when youfirst use it, and it has some marvelouslypowerful constructions which allow youto do many things very concisely.Graphics is a good example. But this sameconciseness and the lack of control struc-tures encourage students to have competi-tions for one-liners. Everyday some poorsoul would be elated about a new, com-pletely obtuse line of APL which wouldgenerate the first n prime numbers, orsome such foolishness. This was fine, aslong as these one-liners remained the pro-perty of the programmer. But have youever tried to decipher another person'sAPL programs? It is literally easier toread an assembler program than a foreignAPL program. Even commercial APLsoftware is written obtusely.

I spent a good portion of a week tryingto decipher a workspace of graphicsroutines written by a well-known andwell-respected manufacturer, and finallygave up. I've also found that I have a hard

224 May 1979 © BYTE Publications Inc

Circle 257 on inquiry card.

time understanding programs that Imyself have written more than a monthago in APL. I've found that I no longerneed APL, because I have a program-mable calculator, and it is my belief thatAPL would never have existed hadHewlett-Packard come out with theHP-65 before IBM decided that FOR-TRAN was not all that the engineerneeded.

Please let me encourage you not to spoilany of your good articles with an obtuse,unreadable, inefficient one-liner in APL.If APL persists, and our civilizationperishes, APL will one day be dug up by afuture archaeologist, who will try todecipher it, and find it more unreadablethan Linear B.

David A Stephens

POB 877

Pecos TX 79772

GENEALOGICAL INFORMATION

Help! I am a genealogist with aPDP-10, expanded memory and disk andpaper tape storage. Where can I find pro-grams for the genealogist to use?

Mrs G Creaser

4 Sunny Hill Rd

Northboro MA 01532

Could any readers help trace some pro-mising programs?.. .RGAC

FAST FOURIER TRANSFORMS ONYOUR HOME COMPUTER

I was pleased to see the article byStanley and Peterson on the fast Fouriertransform, "Fast Fourier Transforms onYour Home Computer" (BYTE Decem-ber 1978, page 14). Aside from havingmany useful applications, this techniqueis complex enough to provide some funand surprises when just playing with it. Iwould like to share some observationsand prejudices which have arisen out ofmy personal experience with the FFT(fast Fourier transform).

Although the Fourier transformsometimes gives unexpected results andmay be used to couch propositions in avery elegant fashion, it may not alwaysbe the best approach to use. Everyoperation in frequency space has anequivalent operation in real space;therefore any procedure utilizing theFourier transform may, in fact, be per-formed without it. Sometimes resultswhich appear to be profound becomejust common sense when approached inthis way.

I think that authors should emphasizestrongly (as did Stanley and Peterson)that the FFT is not an approximation, butjust a faster way to compute the DFT(discrete Fourier transform). Approxima-tions occur only in the sense that theDFT is used to approximate the con-tinuous transform of a continuous (oranalytic) function. These approximationsarise from two sources, a finite samplinginterval and a finite total sampling time.By their very nature, computers cannotcalculate a continuous Fourier

transform, and we are always forced touse the DFT.

I personally would like to see the"sampling theorem" banned. At best itsinvocation obscures a perfectly clearconcept, and at worst it is a tautology.The useful content of the theorem is con-tained in the observation that two pointsare needed to specify a sine wave of agiven frequency. Used in this way, thetheorem is misleading when it impliesthat we can safely discard parts of asignal (above a given frequency) becausethey "contain no information." I think itis more correct to say that the lost partsof the signal contain information that wedo not want, cannot get, or do not need.In one sense "information" is a conceptthat we bring to a signal, not a propertyof the signal itself. In another sense, allfrequencies contain some information,and a portion of that information isalways lost during the sampling process.

The sampling theorem is meaninglessif, in the literal sense, a signal really con-tains no information above a given fre-quency (ie: all Fourier amplitudes are 0).It is then obvious that a knowledge of allamplitudes below this frequency isequivalent to knowing the signal.

For a number of reasons the high fre-quency part of the DFT differs from thecontinuous transform we would like it toapproximate. It turns out that the DFT isequivalent to sampling a segmental

linear function, that is, to a linear inter-polation between data points. High fre-quency components (ie: near the limitdecreed by the sampling rate) may bebetter approximated by multiplying thetransform by a low pass filter function.The shape of a given filter correspondsto a particular method of interpolatingbetween data points, and conversely anyinterpolation scheme yields its own filterfunction.

Some other references which I havefound very useful are:

• Cooley, J W, P Lewis, and P DWelsh, "The Fast Fourier Trans-form and its Applications," IEEETransactions on Education 12,1969, page 27.

• Higgins, R J, "Fast Fourier Trans-form: An Introduction with someMinicomputer Experiments,"American journal of Physics 44.1976, page 766.

• Bice, P K, "Speed Up the FastFourier Transform," ElectronicDesign 9, 1970, page 66.

I would be interested in any responseto these comments.

Kenneth H Douglass Phd

Division of Nuclear Medicine

Johns Hopkins Hospital

Baltimore MD 21205 ■

Health Insurancefor Your Floppies!

Problem: Dust, Smoke, Solution: The Flex 80and Warpage will Ruin System will Protect, Index,

Your Floppy Disks. and File Your Floppy Disks

Quickly and Easily.

f \/f T/"

Ah

For Further Information

and a

Free Copy of Our "Policy"

CALLTOLL FREE800 323-0254

ADVANCE ACCESS GROUP

10526 W. Cermak Westchester, IL 60153 312 562-5210"Manufacturers of Information Processing Supplies"

Circle 6 on inquiry card.

May 1979 © BYTE Publications Inc 225

Bccfc Reviews

Dan Wingren

2714% Greenville Av

Dallas TX 75206

Practical Microcomputer Programming:The INTEL 8080

by W J Welter, A V Shatzel, and H Y Nice

Northern Technology Books

Evanston IL 1976

306 pages hardcover, 61A by 9% Inches

$21.95

There was my new computer runningcorrectly, lights twinkling alluringly, andthere was my first serious problem: howwas I to introduce keyboard written codeinto the thing? I was (that was three yearsago) a green novice suddenly required tocreate a program in machine language,and the available literature helped not atall. The assembly manuals were written inlanguage that a child could follow, but theapplications manuals were written in therunes of the software priesthood, all abbre-viation and ellipsis. How I wished for a bookto bridge the gap!

Well, here it is. In fact it has existedsince the end of 1976, but without the fan-fare it deserves. It introduces 8080 machinelanguage and assembly language program-ming to the novice. The authors know thatthere is a difference between novice andninny. They never talk down. They merelytalk in clear English, in sentences with rec-

CATCH THE

S-100INC.

BUS!

k

\ V \ V

OUR

v S-IDD /

SPECIAL

LIST

CASH

S.D. Versafloppy DiskController Kit

PRICE

PRICE

135.00

159.00

I.M.C. "Pro" Dual

Extender Card

39.00

33.00

Ithaca Audio TRS-8016K

Memory Upgrade Kit

140.00

119.00

T.E.I. 22 Slot Mainframe

Fully Assembled with

All Edge Connectors

845.00

633.00

Dynabyte MSC 16K Static

250 NS Memory - Assembled

and Tested

555.00

440.00

IMSAIS-10 2-1 Kit -

Serial Intertace

125.00

106.00

IMSAI l-KB-1 Microprocessor

Controlled Keyboard

395.00

•170.00

Call for Our Prices

on:

Cromemco, IMSAI, Vector Graphic

North Star, Sanyo

Hazeltine, IMC plus

MostOthi

r Major Lines.

Subject lo Available Quantities • P

rices Qui

)ted Include Cash

Discounts

Shipping & Insurance

Extra

Bus..

s-

JDD,ir

1C.

Address..

7Wh

ite Place

Clarl

<, N.J. 0706

6

Interface..

201-C

J82-1318

ognizable nouns and verbs, and they spellout words fully. They move fast, but theyhave time for colorful illustrations and allu-sions. They introduce binary operations witha passing reference to Paul Revere's lantern("One if by land . ...") and with the case of"If the shade is up don't come in. My hus-band is home." Examples abound in theform of short assembly language programs.These are always cogent and often relatedto actual problems that confront the typicalhome computer owner, such as how to reada keyboard. What's more, the book is apleasure to handle: hardcover, sewn in sig-natures (so that it can lie on the desk openat any page), printed in clear book type oncreamy matte paper.

The first chapters focus on binary oper-ations, the Intel mnemonics, the elementaloperations that they instigate, and the con-ventions of assembly language programming.On every page the authors spot and clearup the small ambiguities of technical jargonthat can block understanding. For example,the Intel instruction MOV A,B only copiesthe contents of B register into A registerand nothing gets transported bodily.Throughout, they use the word copy in pref-erence to move. They point out the factthat the zero flag in the status register readszero when the result of an operation isnonzero and is one when the result is zero.And they explain that there is a differencebetween carry and overflow in the statusregister even though, as they point out,"the Intel literature has used them inter-changeably and in some places errone-ously."

They go on, chapter by chapter, to shedlight on binary arithmetic; multiplicationand division in binary; the use of the stackpointer; the use of subroutines, arrays, andtables; how to convert between binary anddecimal (and why the instruction DAA isnot often used); a detailed explanation ofinput/output (I/O) and communication witha terminal; analog I/O; interrupt drivenprocesses; and the debugging of programs.With this kind of introduction, the readeris then quite able to benefit from the manybooks and manuals that are directed towardthe professional.

The reader will learn best by actuallytrying the little programs that accompanythe text, but in doing so should be pre-pared for some snags. The source listingsfrequently contain pseudoinstructions thatare peculiar to the cross assembler used bythe authors: ZAR, LLA, JEQ, and about adozen others. These can be translated evenby a beginner (with the help of the index)into conventional Intel instructions, butone wishes it were not necessary. The cross

226 May 1979 © BYTE Publications Inc

Circle 316 on inquiry card.

assembler was written by the authors for aComputer Automation LSI-2 machine. Thehome computerist might wish they had usedone of the resident assemblers commonlyavailable to home users, but evidently thebook is aimed not only at the hobbyist butalso at the college classroom, where the bigequipment is more likely to be available.Almost a third of the book is devoted to acomplete source listing of the cross as-sembler.

Another substantial source listing, foundin Appendix A, is the authors' "HexadecimalDebug" program, and you may well wantto put it into operation in your own system.It's nifty. Debug is an 880 byte programthat enables the user to inspect and alterthe contents of memory, to inspect and alterthe registers, and to set breakpoints, all inunusually convenient ways. Remember,however, to mark all the odd pseudo-operation codes and replace them. You mayalso have to replace subroutine labels thatduplicate the designations of registers A, B,D and H, if your assembler gets confused bysuch duplication, as mine does. Line 254contains a misprint: the printed instructionis CPI ' ', whereas it should read CPI '.';perhaps the period got lost when the dotmatrix printout was reproduced."

Structured Programming in APL

by Dennis P Geller and Daniel P FreedmanWinthrop Publishers Inc, 1976Englewood Cliffs NJ $9.95

Structured programming began with twoinsights: one embodied in a formal proofthat any possible program logic could be ex-pressed in terms of a conditional branch anda conditional loop, and the other, Dijkstra'sobservation that the quality of programmers'work is a decreasing function of the numberof GOTOs in their code. From these two in-sights has sprung a revolution in program-ming style among those who have acceptedthem, and angry arguments from those whohaven't, and who feel put upon by thosewho insist on eliminating GOTOs altogether.

This book simply shows how to use APLin such a way that only structured programsresult, and makes virtually no mention ofthe term structured programming outside itstitle. It is written as an introductory text-book, interweaving lessons on APL functionsand operators among chapters on IF state-ments and DO loops, other features of APLsuch as terminal use, workspace managementand debugging aids, and apt quotations fromLewis Carroll's The Hunting of the Snark.

Coverage is thorough, and the level is ele-

64KB MICROPROCESSORMEMORIES

• S-100 - $695.00 • SBC 80/10 - $750.00

• LSI 11 - $750.00 • 6800 - $750.00

CI-S100 — 64K x 8 on a single board.Plugs directly into the IMSAI, MITS,TDL, SOL and most other S-100 Buscomputers. No wait states even withZ80 at 4Mhz. Addressable in 4K in-crements. Power requirement 6 watts.Price $695.00.

CI-1103 — 8K words to 32K words in asingle option slot. Plugs directly intoLSI 11, LSI 11/2, H11 & PDP 1103.Addressable in 2K increments up to128K. 8K x 16 $390.00. 32K x 16 $750.00qty. one.

CI-6800 — 16KB to 64KB on a singleboard. Plugs directly into Motorola'sEXORcisor and compatible with theevaluation modules. Addressable in4K increments up to 64K. 16KB $390.00.64KB $750.00.

CI-8080 — 16KB to 64KB on singleboard. Plugs directly into Intel's MDS800 and SBC 80/10. Addressable in4K increments up to 64K. 16KB $390.00.64KB $750.00

CI-S100 64K x 8

liiiiliVp --,ijMffiN

frfis^

CI-1103 32K x 16

i>MiFiilIP[ll]|l!|!llll

CI-6800 64K x 8

CI-8080 64K x 8

Tested and burned-in. Full year warranty.

Chrislin Industries, Inc.

\ j Computer Products Division

31352 Via Colinas • Westlake Village, CA 91361 • 213-991-2254

€

Circle 47 on inquiry card.

May 1979 © BYTE Publications Inc 227

fk'fsi'i-sP-G

StructuredProgramming

in AW-

I r C ft"lit***'

\t * *r*

r^?

■.. . ^ ■

mentary. Anyone who absorbs all the mate-rial of this book will need only study andpractice on a variety of applications in orderto be a competent programmer, somethingthat cannot be said of most language man-uals which define the language but do notshow the right manner of using it. The chap-ter on documentation is especially valuable,and would make an excellent addition toevery APL public library system.

Another useful feature of the book is thecareful demonstration of the program devel-opment process, especially after the programis working and various features are beingincorporated into the design, many in exer-cises for the student. Included in programdevelopment is provision for error checkingof input, with various indicators of error orprompts to try again. This is an area inwhich APL excels if the programmer knowshow to do it and takes the trouble.

Functions can check their arguments anduser inputs for type, size, range and othererrors before performing any operations thatcould adversely affect data or otherwisecause trouble, and a general utility functionto do this is provided that accepts as itsarguments a condition to be checked and amessage to print when the condition holds.

The method used to diagram programstructure is one that enforces the discipline

of structured programming. It permits thenesting of loops and decisions, but does nothave provision for going from one point inthe program to any other. Once a programhas been laid out in this manner, it is a trivialtask to code the branch statements; and thuscorrect structure, though not efficiency, isassured. This is one of the sore points amongnonstructured programmers. It is, of course,not mentioned in the text, except for a notein the preface expressing the hope that stu-dents will learn from the text to write work-ing (ie: correct) programs here, whether ornot they may learn to write more compact,faster or more aesthetic programs later.

The foreword claims that students usingthe material of this book learn more, faster,at lower cost in human and machine timethan those using other approaches. I have noway of directly testing this myself, but I cansay that it would not surprise me if it weretrue. This is the only APL textbook that is aprogramming textbook first and a languagemanual second; this is rare in any program-ming language. The only book I can compareit with is APL: An Interactive Approach, byGilman and Rose, on the basis that bothteach the language to the user, on line, givingexamples and experiments to try. Gilmanand Rose go more deeply into the language,but neglect programming style and tech-

r\

B^TfE IS COMPLETELY INDEXED!

h

Relax...you no longer have to do a sequentialsearch to order reprint articles. In addition tothe 1975-1976 index, the 1977 and 1978 indicesare now available.

To receive your BYTE INDEX/REPRINTCATALOG(S) send 50 C for postage and hand-ling to BYTE INDEX, 70 MAIN STREET,PETERBOROUGH NH 03458.

1

An order form is included in the index packagefor convenient ordering of reprint articles. Justfill it in, enclose payment and return it toBYTE.

.«- "k

A FEW OF THE BEST

1977

Making Hash with Tables

T Dollhoff

An Inexpensive Joystick Interface

T Buschbach

Newt: A Mobile Cognitive Robot

RHollis

How lo Pick Up a Dropped Bit

D Maurcr

An APL Interpreter for Microcomputers M Wimble

Control the World

S Ciarcia

How to Implement Space War

D Kruglinski

Kompuutar

D Brader

Building a Computer from Scratch

H Jones

The Computers of Star Trek

K Schmucker

The Digital Cassette Subsystem Rampil & Breimier

Give Your Micro a Megabyte

R Grappel

Structured Program Design

D Higgins

Floating Point Arithmetic

B Hashizunie

1978

Brains of Men and Machines E Kent

Program Your Next EROM in BASIC S CiarciaA Programmable Character Generator L Weinslein

Give an Ear to Your Computer B Georgiou

How to Choose a Microprocessor L Frcnzcl

Who's Afraid of Dynamic Memories L Hauck

Let Your Fingers do the Talking S CiarciaA Tiny Pascal Compiler Chung & Yuen

WADUZ1TDO L KheriatyComputer Chess Programming the Spracklens

Tune in & Turn On S Ciarcia

Three Dimensional Plotting M Gottlieb

Add a Voice to Your Computer S Ciarcia

Designing Structured Programs C Weems

228 May 1979 © BYTE Publications Inc

nique; they are not writing for novice pro-grammers as Geller and Freedman are. If youare confident of your style, read Gilman andRose. If you are just starting, or don't knowmuch about structure, design and documen-tation, Structured Programming in APL isthe one for you. Better yet, read both.

Mokurai Cherlin

APL Business Consultants

POB 478

Mt Shasta CA 96067"

The Cheap Video Cookbook

by Don LancasterHoward W Sams and CoIndianapolis IN, 1978$5.95

Don Lancaster stays on the sequel band-wagon with his new "cookbook." This time,the recipe is for a 7 integrated circuit designcalled TVT 6 5/8. This $20 circuit, alongwith software and module customizing,allows a wide variety of alphanumeric (suchas 24 lines by 80 characters) or graphic

(256 by 256) displays on standard televisionsets. A little extra software gives youmultiple cursors, scrolling, and full editingfeatures.

The book's first chapter introduces theconcept of "cheap video," and has a briefexplanation of its two novel tricks: SCANand upstream tap. Chapter 2 covers varioussoftware routines needed for a good display,each routine building on the last. The readeris encouraged to write improved versions.Routines covered include cursors, scrolling,graphics loaders, memory repacking (for 40or 80 character lines), and the all-important(to "cheap video") SCAN "microinstruc-tion." Upstream taps, data-to-video con-version, bandwidth reduction, sync circuitry,and other hardware, as well as televisionmodifications, are in chapter 3. Constructiondetails in chapter four describe the maincircuit and several "personality" modules.The fifth chapter addresses transparency,or how to do other things such as runBASIC, when the computer is not workingwith the display.

The TVT 6 5/8 is designed around a6502 microcomputer (KIM), but withmainly software changes a 6800 systemshould work just fine. Other processors,such as the Z-80, 8080, 1802, and 2650should be usable, but would require more

SPECIALIZING IN

QUALITY MICROCOMPUTER HARDWARE

INDUSTRIAL • EDUCATIONAL • SMALL BUSINESS* PERSONAL

BUILDING BLOCKS FOR MICROCOMPUTER SYSTEMS, CONTROL & TEST EQUIPMENT

R2 I/O

2K ROM2K RAM

3 Serial Ports1 Parallel Port

16 K RAM

FULLY STATICMEMORY

ECT-100-F

RACKMOUNTCARD CAGES

ECT-

«s ""taw. *_

1 «*„/

'^.•l,,,,,/,

"$y

POWER SUPPLIES, CPU'S, MEMORY, OEM VARIATIONS

TT-10

TABLE TOPMAINFRAMES

763 RAMSEY AVE.HILLSIDE, N.J. 07205

ELECTRONIC CONTROL TECHNOLOGY (am en-mo

Circle 1 20 on inquiry card.

May 1979 © BYTE Publications Inc 229

work. Although the TVT 6 5/8 is built fromonly seven integrated circuits, and the circuititself only costs approximately $20, there ismore to it than first meets the eye.

The author makes a few importantassumptions. It is assumed that you alreadyown a microcomputer (KIM in this case)that has sufficient programmable memory(up to 8 K bytes for 256 by 256 black andwhite graphics) to store the display. Theremust also be enough memory left over torun any cursor, loader, or other applicationssoftware. You must be willing and able tomodify your microcomputer's memory toadd a clever trick called an "upstream tap."Finally, you mustn't mind giving up 5 per-cent (for a single 32 or 40 character linedisplay) to 50 percent (for 16 by 80 alpha-numeric displays) to 50 to 95 percent(256 by 256 graphics) of the processor'stime so that it can control the display. Asfar as the television is concerned, you mayhave to adjust the horizontal hold and/ordefeat the sound trap for a really good 24 by80 display. Still, you get only a 5 by 7 dotmatrix (it uses less bandwidth than a 7 by 9matrix) and, if you aren't careful, the dis-play may still flicker. Cheap video is cheapbecause the memory (the single largestexpense for a video display) is assumed to be

available at no cost, and the processor isassumed to be available between 5 and 95percent of the time to provide displaytiming.

Whether you stick with the older all-hardware interface using counters and gatesand registers, or try your hand at thisapproach of letting the processor do mostof the dirty work, or even if you just arecurious about how video displays work, thisis a good reference book. It has several hintsand tricks for reducing bandwidth require-ments, for generating suitable video and syncsignals, and for making more general(module programmed) circuits which easilycan be changed to provide different displayformats. It even has complete schematics,printed circuit board patterns, and "nutsand bolts" instructions on how to buildyour own TVT 6 5/8. Proofreading was laxin the schematics section, though, so youhave to be on your toes and understandbasic electronics to catch and correct themany discrepancies in component typesand values, as well as to follow the fewunexplained circuit changes made fromschematic to schematic.

Glen E Monaghan

1405 C Paegelow

Scott AFB IL 62225"

Get Vour DocumentationTogether!

BITS INC. PROUDLY PRESENTS THE BITS PROGRAMMER PADFOR ASSEMBLY LANGUAGE PROGRAMMERS

Improve your style with Bits Programmer's Pads.

One side is an ingenious form, custom-tailored tothe microprocessor you're programming: 8080A,6800, Z-80, 6502 or 1802. The microprocessor's arch-itecture is laid out along with contiguous memory Ispaces to allow you to work out critical memory al-locations, data movement, tables, and stack manipu-lations. This adds another dimension to your docu-mentation.

The other side is for your program, with pre-num-bered lines and columns for addresses object code,labels, instructions, and those essential comments.If you're hand assembling your programs, thesepads are a life saver! Write your source code firstand later assemble by filling in the object codes andassigning memory addresses. To relocate or reviseyour program, just renew the address column withtypewriter correction tape and renumber.

Each 50 page pad is printed on a durable stock paper that can stand up toerasers and they're punched for a 3 ringed notebook, too. Protect your programs,make them easier to write, use, and understand. Catch those bugs early and run aclean program. Only $2.50 each (Please include $.75 for postage and handling)

8080A

BITS

•••

'

Bits S3"—

...

u-

•—

....

""

.......

-

._:

I

—.

-

-

^

^J

-

-

;

'

::

-■

- :

-

FOR YOUR CONVENIENCE USE ORDER FORM ON PAGE

RSVGTSG SidG

IOC 25 Rt. 101 Peterborough, N.H. 03458 — Dial Bank Card orders 800-258-5477 (in NH call 924-3355)

230 May 1979 © BYTE Publications Inc

Microcomputer-Based Designby John B PeatmanMcGraw-Hill, New York540 pages, 6'A by 9!6 inches$24.50

Microcomputer-Based Design by John BPeatman is a combination text and referencebook aimed at engineers who wish to learnhow to design systems using microprocessor.It is written not in a dull, dry tone, butrather in a light style. The minimum re-quired background for this text is a rudi-mentary knowledge of logic (ie: transistor-transistor logic gates and flip flops) and thebasic concepts of computer programming.The book develops hardware and softwaredesign skills upward from that point to apractical and useful level. A key feature ofthis book is the logical, lucid presentationof arguments present in the many illustrateddesign decisions.

Microcomputer-Based Design is dividedinto seven chapters and six appendices. Thechapters are fairly complete, in-depthentities and each contains a set of practicaldesign problems and additional references.The references may be difficult to find forreaders without access to an engineering

library since many of the references arearticles in engineering journals or manu-facturers' application notes.

Chapter one is an overview of micro-computer applications focusing primarilyon the distribution of "intelligence" toinstruments and tools.

Chapter two, "Microcomputer Registersand Data Manipulation", includes a briefdiscussion of numbering systems and thevarious, commonly encountered modes ofaddressing. This is followed by a goodpresentation of machine language instruc-tions, assembly language, and assemblylanguage programming techniques.

Chapter three considers computer hard-ware organization. Several different philo-sophies of commercially available micro-processor families are described. The char-acteristics of various logic families are con-sidered with an eye towards interconnectioncompatibility. Bus structures and theirelectronic implementation are describedin some detail. Flags, interrupts, directmemory access control and programmabletimers are also described with examples.

Chapter four reviews the various char-acteristics of memory components and sys-tems. Included are sections on the imple-mentation of main power failure battery

video*

III

12" BLACK & WHITELOW COST VIDEOMONITOR$149.00 LIST

• Ideal for home, personal and business com-puter systems

• 12" diagonal video monitor

• Composite video input

• Compatible with many computer systems

• Solid-state circuitry for a stable & sharp picture

• Video bandwidth—12 MHz ±3 DB

• Input impedance—75 Ohms

• Resolution—650 lines Minimum IN Central 80%of CRT; 550 Lines Minimum beyond central 80%

of CRT ref EIA RS-375

• Dimensions—11.375" high; 16.250" wide;11.250" deep (exclude video input connector)

• Weight—6.5 KG (14.3 lbs) net

AVAILABLE FOR IMMEDIATE DELIVERY!

LEEDEX Corporation

,^L20

2300 East Higgins Road • Elk Grove Village, Illinois 60007 • (312) 364-1180 • TLX: 25-4786

Generous dealer discount available

Circle 203 on inquiry card.

May 1979 © BYTE Publications Inc 231

backup systems and floppy disks.

Chapter five examines peripherals. Thereare sections on 10 control and handshaking,timing and buffering. There are also dis-cussions of specific common microcomputerperipherals: keyboards, phototransducers,circuit testers, analog to digital and digitalto analog converters, pressure transducers,optical displays, relay drivers, synchro-motors and printers. Finally, there aresections on universal asynchronous receiver-transmitters (UARTs), line drivers, theHPIB-IEEE 488 bus and self-test hardware.

Chapter six describes the various optionsthat exist in hardware and software develop-ment packages from prototyping boardsto disk based operating systems. There isalso a brief discussion of high level languagesfor microcomputers.

Chapter seven describes in detail thealgorithms for solutions to several commonmicrocomputer software problems. Algo-rithms are described to read and to parse afunctional keyboard input, self-test routinesand number system conversion and mani-pulations. Real time programming con-straints are also considered.

The set of appendices describes the char-acteristics of specific microcomputers. Eachappendix covers the architecture and organi-zation of a particular processor integrated

circuit. The rest of the integrated circuit set(memory, 10, etc) is also briefly covered.Appendices are included on the 4004, F8,8080, 6800, COSMAC, and PPS-8 pro-cessors. It is refreshing to see that theseappendices are more than just a reprintingof the manufacturers' specification sheets.

On the negative side, there is a disturbingabsence of discussion of any of the higherperformance integrated circuits that werecertainly available when this book waswritten. There is also inadequate treatmentgiven to bit slice and microprogrammingtechniques. Software development by emu-lation is also omitted. The balance is, how-ever, overwhelmingly positive. This isa text which starts off quietly, never growsdull, and yet contains a great deal of sub-stance. There are sections on using esotericdevices like first in first out stacks (FIFOs)that I have previously never seen in a designtext.

Microcomputer-Based Design is a wel-come development. I recommend this bookto advanced experimenters, undergraduateengineering students and practicing engi-neers.

Ira Rampil

2412 Independance La

Apt #103

Madison Wl 53704"

PERSONAL INFORMATIONMANAGEMENT SYSTEM

Personal Informa-tion ManagementSystem is indeed adata base manage-ment program. It'scarefully customizedfor the small systemowner. You can de-fine and constructyour own data bas-es. Each record cancontain up to tenfields. You definewhat goes in each.Then modify itwhenever you wantthrough use of just three commands. Youcan search, list, sort and also sum col-umns of numbers. Complete source list-ing is included. Check No. 10 on thecoupon. ONLY $9.95*

Z80 INSTRUCTIONHANDBOOK

ZBO

Your complete guideto the powerful Z80instruction set. Ma-chine codes are pre-sented in both octaland hexadecimalformat. A conveni-ent index lists allinstructions alpha-betically along withmachine codes andtiming information.Industry standardmnemonics are usedthroughout. A prac-tical guide for the novice, intermediateor advanced programmer. Pocket size.Check No. 20 on coupon. JUST $4.95*

CALCULATINGWITH BASIC

Here's a variety ofprograms in BASIClanguage to help thestudent, scientist,engineer, technicianor hobbyist applythe language topractical problems.Covers mathematics,finance and statis-tics, mechanical en-gineering and elec-tronics. For fun be-tween such seriousapplications. Hang-man and Space Cap-ture games are also provided. A real stealat such a low price. Order now. Availablefor shipment in March. Check No. 30 oncoupon. ONLY $7.95*

LEARN MICROCOMPUTERS

A new multimedia information package. Includestext (Understanding Microcomputers) plus high-quality cassette. For the beginner. Covers all thebasics quickly, easily and enjoyably. All the funda-mentals behind the operation of virtually everymicrocomputer. Clear. Concise. Tells what to lookfor in buying a microcomputer. Companion tapeincludes chapter-by-chapter synopsis of the book.Check No. 40 on coupon. JUST $14.95*

6800 & 8080 SOFTWARECOOKBOOKS

Now you can cook up mouthwatering programs.Delectable "how to" facts include 8080 or 6800instruction sets. How to manipulate stacks. Flowcharts. Source listings. General purpose routinesfor multiple precision operation. Programmingtime delays for real time. And much more. In-cludes floating point arithmetic routines. CheckNo. 50 (6800) and No. 60 (8080) on coupon.

ONLY $10.95* EACH

4HH SCELBI Publications

[^ P. O. Box 133 PP STN, Milford, CT 06460

♦IMPORTANT ORDERING INFO! Include 75 cents postage/hand-ling for each item. Prices shown are for North American customers.Master Charge, VISA, Postal and Bank Money Orders preferred. Per-sonal checks delay shipping up to 4 weeks.

□ No. 10 □ No. 20 □ No. 30 □ No. 40 □ No. 50 □ No. 60

Name (please print)

Card No.

Address

Bank No.

Exp.

City/State.Signature _

Zip

Amt. Enclosed

232 May 1979 © BYTE Publications Inc.

Circle 318 on inquiry card.

A Mini-Disassembler for the 2650

Software development in machine lan-guage is a difficult task. A substantial partof the frustration can be traced to thedifficulties of debugging a program whenone must work from a printout that hasno flow, no mnemonics, and bears littleresemblance to any real world logic system.A disassembler can save the programmercountless headaches by correcting thesedeficiencies. This particular disassemblerwas constructed to aid in the developmentof software for a dedicated controller foran amateur radio repeater.

The basic requirements for our disassem-bler are that it use a small amount of memory(this version uses less than 750 bytes of mem-ory, satisfying our definition of small), andthat it provide a readable listing that includesmnemonics. The only restriction of this ver-sion is that it will print a maximum of only

Edward R TejaGary Gonnella2140 Lullaby LaAnaheim CA 92804

hexadecimal FF addresses (eg: hexadecimal0400 to 04FF) without being restarted.

Using the Disassembler

The disassembler is employed in a straight-forward manner:

1. Load the program from the listing.

2. Using the Signetics PIPBUG monitor,GOTO the initial address of the dis-assembler.

3. Input a 4 digit address for the programto be listed (include leading zeroes).

4. Input a 2 digit stop address.

Text continued on page 236

New North Star Software

• DOS+ $35

Enables any program to execute all North StarDisk and/or Meca Tape commands. Allowsbatch command list and more.

• PRO-TYPE WORD PROCESSOR $75Easy to learn. Combines text input, editing andprinting in one program. Features right marginjustification, tabs, paging, underlining,relocation of text blocks, etc. Requires only 8Kof memory. Manual alone, $25.

• GUIDE TO BASEX $33A new interactive compiler similar to BASICfor 8080-type microcomputers (Z-80,8085).Executes programs up to 10 times faster thanequivalent programs while requiring about halfthe memory space. Features include: arrayvariables; string manipulation; arithmeticoperations on signed 16 bit intergers; andversatile I/O communication functions.Manual alone $8.

• BASEX TAPE and DISK GUIDE $35Allows your BASEX programs to access up tofour North Star Disk and/or Meca Tape drives.All operations can be executed from thekeyboard. Manual alone $20.00.

Specify:

North Star Disk/Meca Tape/OtherSend for Free LiteratureINTERACTIVE MICROWARE INC.P.O. Box 771 -M-

State College, PA 16801 ■■■■■

(814) 238-8294 ■ Ujl

Circle 1 75 on inquiry card.

May 1979 © BYTE Publications Inc 233

Listing I: A 2650 disassembler. Technically, this listing is a disassembled assembly listing of a disassembler. The program isdesigned to take Signetics 2650 machine language code and transform it into an assembler-like listing.

Hexadecimal

ddress

Code

0440

76

40

0442

77

02

0444

06

FD

0446

3F

02

24

0449

01

044 A

CE

64

00

044 D

DA

77

044 F

06

FE

0451

0E

63

FF

0454

C1

0455

3F

02

69

0458

DA

77

045A

3F

03

5B

045 D

04

02

045F

CC

04

FC

0462

OD

84

FD

0465

06

F8

0467

04

03

0469

07

DB

046B

CC

04

FB

046 E

OE

63

F3

0471

E1

0472

98

OE

0474

CF

04

F9

0477

04

09

0479

CC

04

FA

047C

3F

05

E4

047 F

1F

04

DO

0482

87

03

0484

DA

68

0486

04

01

0488

CC

04

FC

048B

04

OC

048 D

CC

04

FA

Operator

PPU

PPL

LODI

BSTA

LODZ

STRA

BIRR

LODI

LODA

STRZ

BSTA

BIRR

BSTA

LODI

STRA

LODA

LODI

LODI

LODI

STRA

LODA

COMZ

BCFR

STRA

LODI

STRA

BSTA

BCTA

ADDI

BIRR

LODI

STRA

LODI

STRA

Operand

Hexadecimal

Address

Code

0490

06

FC

0492

OE

63

F7

0495

E1

0496

98

09

0498

CF

04

F9

049 B

3F

05

E4

049 E

1F

04

DO

04A1

87

03

04A3

DA

6D

04A5

F5

10

04A7

18

03

04 A9

1F

05

15

04AC

F5

08

04AE

1C

05

00

04B1

07

AB

04 B3

04

14

04B5

06

02

04B7

E1

04B8

99

09

04BA

CF

04

F9

04BD

3F

05

28

04 CO

1F

05

D2

04C3

84

04

04 C5

87

OC

04C7

FA

6E

04C9

84

17

04CB

D8

68

04CD

1F

00

00

04 DO

3F

00

8A

04D3

OC

04

FE

04 D6

E4

01

04 D8

1E

00

00

04DB

OD

04

FF

04DE

E1

Operator

LODI

LODA

COMZ

BCFR

STRA

BSTA

BCTA

ADDI

BIRR

TMII

BCTR

BCTA

TMII

BCTA

LODI

LODI

LODI

COMZ

BCFR

STRA

BSTA

BCTA

ADDI

ADDI

BDRR

ADDI

BIRR

BCTA

BSTA

LODA

COMI

BCTA

LODA

COMZ

Operand

22

1

0

3

3

3

3

2

1

0

3

1

0

3

0

2

1

1

3

3

3

0

3

2

0

0

3

3

0

0

2

1

1

RADIO SHACK COMPUTER OWNERS

TRS80

• PRACTICAL APPLICATIONS

• BUSINESS

• GAMBLING • GAMES

• EDUCATION

• PERSONAL FINANCE

• BEGINNER'S CORNER

• NEW PRODUCTS

• SOFTWARE EXCHANGE

• MARKET PLACE

• QUESTIONS AND ANSWERS

• PROGRAM PRINTOUTS AND MORE

MONTHLYNEWSLETTER

24

HOUR ORDER LINE

(914) 425-1535

WORD PROCESSING PROGRAM

(Cassette or Disk)

For Writing Letters, Text, Mailing Lists, Files, Etc.With Each New Subscriptions or Renewal

©

iCQMRJTHQNXCSt

MATVSWmCAl- APOuCAnCr^B SeFMCE~

Box 149

New City, New York 10956

ONE YEAR SUBSCRIPTION $24

TWO YEAR SUBSCRIPTION $48

SAMPLE OF LATEST ISSUE $4

START MY SUBSCRIPTION WITH ISSUE

(#1 - July 1978 • #7 - January 1979)NEW SUBSCRIPTION RENEWAL _

CREDIT CARDNUMBER

EXP. DATE

SIGNATURENAME

ADDRESS

Send for FREE Software Catalogue (Including listings of hundredsof TRS-80 programs available on cassette and diskette).

234 May 1979©BYTE Publications Inc

Circle 159 on inquiry card.

Circle 266 on inquiry card.

Listing 7 continued:

04DF

9E

00

00

BCFA

2

04 E2

1F

04

4F

BCTA

3

04 E5

00

LODZ

0

04 E6

00

LODZ

0

04E7

00

LODZ

0

04 E8

00

LODZ

0

04 E9

00

LODZ

0

04 E A

00

LODZ

0

04 EB

12

13

SPU

04ED

74

75

CPU

04EF

76

77

PPU

04F1

B4

B5

TPU

04F3

40

HLT

04 F4

92

LPU

04F5

93

LPL

04F6

CO

NOP

04F7

00

LODZ

0

04 F8

30

RDCZ

0

04 F9

EA

09

PPL

04FB

03

LODZ

3

04FC

01

LODZ

2

04FD

04

FE

LODI

0

04FF

*

12

0500

04

20

LODI

0

0502

07

93

LODI

3

0504

E1

COMZ

1

0505

99

06

BCFR

1

0507

CF

04

F9

STRA

3

050A

1F

05

28

BCTA

3

050D

87

03

ADDI

3

050 F

84

1F

ADDI

0

0511

D8

71

BIRR

0

0513

1B

72

BCTR

3

0515

04

10

LODI

0

0517

07

7B

LODI

3

0519

E1

COMZ

1

051A

99

06

BCFR

1

051C

CF

04

F9

STRA

3

051 F

1F

05

28

BCTA

3

0522

87

03

ADDI

3

0524

84

1F

ADDI

0

0526

D8

71

BIRR

0

0528

F5

OC

TMII

1

052A

CO

NOP

052B

98

OF

BCFR

0

052D

04

03

LODI

0

052 F

CC

04

FC

STRA

0

0532

cc

04

F7

STRA

0

0535

04

06

LODI

0

0537

CC

04

FA

STRA

0

053A

1B

37

BCTR

3

053C

F5

08

TMII

1

053 E

98

OF

BCFR

0

0540

04

02

LODI

0

0542

CC

04

FC

STRA

0

0545

CC

04

F7

STRA

0

0548

04

09

LODI

0

054A

CC

04

FA

STRA

0

054D

1B

24

BCTR

3

054 F

F5

04

TMII

1

0551

98

11

BCFR

0

0553

04

02

LODI

0

0555

CC

04

FC

STRA

0

0558

04

01

LODI

0

055A

CC

04

F7

STRA

0

055D

04

09

LODI

0

055F

CC

04

FA

STRA

0

0562

1B

OF

BCTR

3

0564

04

01

LODI

0

0566

CC

04

FC

STRA

0

0569

04

00

LODI

0

056B

CC

04

F7

STRA

0

056E

04

OC

LODI

0

0570

CC

04

FA

STRA

0

0573

3F

05

8A

BSTA

3

0576

04

01

LODI

0

0578

CC

04

FB

STRA

0

057B

07

77

LODI

3

057D

OC

04

F7

LODA

0

0580

83

ADDZ

3

0581

CC

04

F9

STRA

0

0584

3F

06

02

BSTA

3

0587

1F

05

D2

BCTA

3

Listing 7 continued on page 236

CAMAC

Complete CAMAC interface handles up to 10CAMAC crates

Complete system consists of one S-100 CircuitBoard and one Byte Control Station per CAMACcrate

Cabling - 50 conductor ribbon-cable,daisy-chained. Max. cable length - 150 ft.

Full interrupt capability with RST address switchsettable on S-100 Circuit Board

Data transfer through 8 input/output ports ormemory locations

■JiL.J.-ii ,., J _

DELIVERY FROM STOCK

S-100 CIRCUIT BOARD$250.00

BYTE CONTROL STATION$750.00

XYBASIC$475.00

NANOMETRIC SYSTEMS, INC.451 SOUTH BLVD.. OAK PARK, IL 60302. (312) 524-1348

The

ftlfiQ fiUHl

%J l\# \# ! ELECTRONICS

An S-100 Bus Adapter/Motherboard

fortheTRS-80

plus a whole lot more!!!

%"*

S-100 BUS INTERFACE6 SLOT MOTHERBOARD

The HHIII allows a Radio Shark TKS-HIl computer to beinterfaced in I he |jopular SHU) I In si fur memory expansioniind extended I'll capabilities, Km- example, you an noweasily add man memory, floppy disc systems. PIIOMboards, printer interfaces, multipurpose VQ boards. ACdevice controller*, and a whole hoot of other varied periph*

The B1O0 hw Ite own built-in <> slot motherboard which

include* our unique card guide .system which keeps theboards in their places.

The 811111 bus support circuitry and sockets for eightlliK dynamic RAM chips allowing you to expand (he mem-ory of yourTKS Ho bv lliK without lutvnu; to buy any S-100RAM boards

• SERIAL RS232/20ma I/O

• PARALLEL INPUT AND OUTPUT

• SPACE FOR 16K DYNAMIC RAM

• CAN USE LEFT OVER 4K CHIPS

• LOW COST- PRICES START AT S185*

• AVAILABLE IMMEDIATELY

If you purchased an expansion memory kit Tor TRS-Rtlyou could M lefl with eight -IK RAM chips and nowhere toput them] Well, they can no in the RAM sockets instead!That's right, you can use either 4K or l«K chips and kd-dress them anywhere you like.

The SlIH) fair, .< lull RS-j;i2 2U ma serial interface whVsfeatures include: RSS3S and 20 ma current loop interface,software programmable baud rate from DC lo 66K baud,Software programmable modem control lines, on boardl)B-"J5 connector and much more

The slOO also has an 8 bit parallel input port anilan 8 bit parallel output port. Both are latched, have bcthpusitive and negative si mix- inputs and outputs and haveplenty of drive capability

PRICES START AS LOW AS $185* (S-ioo BUS INTERFACE ONLY)

Ruh)

S ELECTRONICS

1429 Maple St.

San Mateo, CA

94402

(415) 573-7359

DEALER INQUIRIES INVITED

•Extra S-100 connectors. RAM support.I/O circuitry optionalUSA DOMESTIC PRICE ONLY.

Circle 172 on inquiry card.

May 1979 © BYTE Publications Inc 235

Circle 265 on inquiry card.

With our new IEEE-488 Interface

Our popular series 40 printers are now available with anIEEE-488 compatible interface or an industry standard BufferedParallel interface. Both interfaces include a line buffer andsoftware addressability. Featuring our famous commercialquality construction, the new models start at $585 in singles.Other models available are the low cost Parallel ASCIIstarting at $425 and an RS232/Current Loop interface begin-ning at $5 75. Generous OEM discounts are available. Allmodels are complete stand-alone units with a 40 columnimpact dot matrix printer and a 64 character ASCII set.Includes power supply, casework and interface electronics.

For more information write to:

MPI 2099 West 2200 South.Salt Lake City. Utah 84119or call (801) 973-6053

(1%

TSN

d

TRS-80 OWNERSLISTEN TO THIS..

There's a CT-1

SPEECHSYNTHESIZER

for you.

V

O 0

1

^

f^^^^^^^^S r=^\

That's right. The famous ComputalkerCT-1 Speech Synthesizer that produceshighly-intelligible natural soundingspeech can now be installed on yourTRS-80.

Completely self-contained, the ModelCT-1T comes with its own chassis andpower supply, on-board audio amplifier(2 Watts), CSR1 software, and inter-connect cable. The CT-1T comes withcomplete documentation and is avail-

able on either 5'A inch diskette orcassette. TRS-80 Level Hand 16Kwordsmemory required, 32K words recom-mended.

SAVE $100

SPECIAL INTRODUCTORY PRICE

$495

236 May 1979 © BYTE Publications In

Suggested retail price is $595Calif, residents add 6% sales tax.

COMPUTALKERCONSULTANTS

1730 21st St., Suite ASanta Monica, CA 90404(213) 392-5230

Circle 48 on inquiry card.

Text continued from page 233:

The Listing

Format

Example:

0765 04 20 00 LODI 0

T f |

j. A i

Add re

SS

First Byte

[op code)-1

Secon

i Byte (if used) '

Third ByteMnemonic;

/ I-F . i, J\

^ 1 1 LoL.U J

p/\/

K/V

Listing 1

continued

Hexadecimal

Address

Code

Operator Operar

058A

06

OC

LODI 2

058C

0E

65

9B

LODA 2

058 F

E1

COMZ 1

0590

98

05

BCFR 0

0592

04

01

LODI 0

0594

CC

04

FC

STRA 0

0597

FA

73

BDRR 2

0599

1F

05

A9

BCTA 3

059C

14

RTCI 0

059 D

15

RTCI 1

059 E

16

RTCI 2

059 F

17

RTCI 3

05A0

34

RTEI 0

05A1

35

RTEI 1

05A2

36

RTEI 2

05A3

37

RTEI 3

05A4

94

DARI 0

05A5

95

DARI 1

05A6

96

DARI 2

05A7

97

DARI 3

05A8

00

LODZ 0

05A9

F5

03

TMII 1

05AB

98

07

BCFR 0

05AD

04

33

LODI 0

05AF

CC

04

F8

STRA 0

05B2

1B

1B

BCTR 3

05B4

F5

02

TMII 1

05B6

98

07

BCFR 0

05B8

04

32

LODI 0

05BA

CC

04

F8

STRA 0

05BD

1B

10

BCTR 3

05BF

F5

01

TMII 1

05C1

98

07

BCFR 0

05C3

04

31

LODI 0

05C5

CC

04

F8

STRA 0

05C8

1B

05

BCTR 3

05CA

04

30

LODI 0

05CC

CC

04

F8

STRA 0

05CF

1F

05

E4

BCTA 3

05D2

CO

NOP

05D3

07

01

LODI 3

05D5

3F

03

5D

BSTA 3

05 D8

0C

04

F8

LODA 0

05DB

3F

02

B4

BSTA 3

05DE

3F

00

8A

BSTA 3

05E1

1F

04

D3

BCTA 3

05E4

0E

04

FC

LODA 2

05E7

0D

84

FD

LODA 1

05EA

3F

02

69

BSTA 3

05ED

07

01

LODI 3

05EF

3F

03

5D

BSTA 3

05F2

0D

04

FE

LODA 1

05F5

85

01

ADDI 1

05F7

CD

04

FE

STRA 1

05FA

FA

6B

BDRR 2

05FC

OF

04

FA

LODA 3

05FF,

#

3F

03

5D

BSTA 3

0602

0E

04

FB

LODA 2

0605

0D

04

F9

LODA 1

0608

0D

25

9B

LODA 1

060 B

3F

02

B4

BSTA 3

060 E

FA

78

BDRR 2

0610

07

01

LODI 3

0612

17

RTC

3

Listing

7 cor

tinued.

0613

-5A

-49

-52

-41

-4C

-4F

-44

-45

-4F

-52

-41

-4E

-44

-49

-4F

-52

0623

-41

-44

-44

-53

-55

-42

-53

-54

-52

-43

-4F

-4D

-42

-43

-54

-42

0633

-53

-54

-42

-52

-4E

-42

-53

-4E

-42

-43

-46

-42

-53

-46

-42

-49

0643

-52

-42

-44

-52

-00

-00

-00

-52

-54

-43

-52

-44

-43

-52

-54

-45

0653

-52

-52

-52

-52

-44

-45

-52

-44

-44

-00

-00

-00

-00

-00

-00

-44

0663

-41

-52

-57

-52

-43

-00

-00

-00

-52

-52

-4C

-57

-52

-45

-57

-52

0673

-44

-54

-4D

-49

-00

-00

-55

-53

-50

-4C

-43

-50

-55

-43

-50

-4C

0683

-50

-50

-55

-50

-50

-4C

-54

-50

-55

-54

-50

-4C

-48

-4C

-54

-4C

0693

-50

-55

-4C

-50

-4C

-4E

-4F

-50

-0E

-OE

-OC

-8E

-OC

-8B

-4B

-2D

In any command dealing with registers,the R/V column represents the registernumber. In all other cases the R/V columnrepresents the V (value or condition) field.

The total memory used in this listing isfrom hexadecimal 0440 to 069A. Areas04EB to 04F2 and 04F3 to 04F6 are used astables of unique codes. 04F7 to 04FF is ascratch pad storage area (eg: STOP, STARTaddresses). The area from hexadecimal 059Cto 05A7 contains a table of op codes thatare one byte long but which have a formatof two bytes. Hexadecimal 0613 to 069A isused for storage of ASCII characters whichare used for mnemonics.

Storage Area Definitions

04F7 = Address mode 00=Z, 01=1, 02=R,03=A

04F8= R/V of op code

04F9 = Indexing for mnemonics print

04FA= Number of spaces between data and

mnemonic04FB = Number of letters in mnemonic04FC = Number of bytes in command04FD= High order start address04FE = Low order start address04FF= Stop address

This is not a refined program by anymeans: with some work it could reside inless memory and perhaps be more efficient.Its only intent is to be a development tool,and it does this well. It has helped makesoftware development for our controllermore like higher level languageprogramming."

RAM CHIPS

4044

TYPE

4Kby1 — 18-pin — 5V, 5% supply

These are the same factory prime chips used in ourpremium quality RAM boards. May be 4044, 4041,5257, 6641, or 9044, depending on manufacturer. Allhave 4044 pinout and timing specs. All guaranteed 30days.

1-31 chips32-6364-99100-499

250 nsec.

$7.506.505.755.50

450 nsec

$6.505.504.754.50

Circle Inquiry number for free newsletter.

i Seattle Computer Products, Inc.

^■■♦-^ 1114 Industry Drive, Seattle, WA. 98188(206) 575-1830

Computer Lab of New Jersey

Computer Lab sells the best S-100 Bus products at the bestpossible prices. Not only are our prices great, so is our deliv-ery. We offer a 10% discount on most major lines, plus a 5%additional discount for a cash purchase.

LISTPRICE

OURCASHPRICE

SSM I/0-4 Kit

$149.95

$128.20

Integral Data Systems IP-22S PrinterP1210 Option-addGraphic Option - add

$949.00

$811.39$ 33.34$127.39

Vector Graphic 8K Ram

$245.00

$209.47

Thinker Toys Speakeasy I/O Kit

$130.00

$111.15

Subject to available quantities. Prices quoted include cash discount.Shipping and Insurance extra

Call for our prices on:

Cromemco, Godbout, IMSAI, IMC, Meca, Micropolis, ProblemSolver, SSM, Sorcerer, Vector Graphic

Computer Lab of New Jersey

141 Route 46 • Budd Lake, N.J. 07828Phone:(201)691-1984

HOURS: Mondays Friday: 12 to 6, Tuesday-Thursday: 12 to 9Saturday: 10 to 5

Call or write for our free catalog & price list

Circle 330 on inquiry card.

May 1979 © HYTE Publications Iiil

237

Aids for Hand Assembling Programs

BRAVEC

The program takes a 16 bit number ORigin and adds two to it. The new numberthen is subtracted from another 16 bit number, DEstination. The difference, whichmay be positive or negative, in two's complement, is stored in POINTL. The differenceis also examined to determine if it is larger than +127 (if positive) or smaller than —127(if negative). If this is the case, FF is loaded into POINTH; otherwise 00 is loaded.POINTH and POINTL are then displayed by transferring control to the (KIM) opera-ting system.

Listing 1: Program descrip-tion for BRAVEC. Thisdescription should be thefirst step taken when writ-ing a program.

Erich A Pfeiffer PhDWells Fargo Alarm ServicesEngineering Center1533 26th StSanta Monica CA 90404

Resident assembler programs and inter-preters for high level languages are avail-able increasingly for microcomputersystems based on the more popular micro-processors. Nevertheless, many operatorsof small microcomputer systems are unableto use such programs because their systemsare not large enough to support them.Unless they are lucky enough to haveaccess to a timesharing service or to somelarger computer which supports a crossassembler, their only way of developinga usable object program is to assemble itby hand.

While the mere idea of such an endeavormight horrify any programmer who isused to working with large machines, thehand assembly of shorter programs for8 bit microprocessors actually is not verydifficult. It has been my experience thatthe assembly of programs can be greatlysimplified and the likelihood of errors canbe reduced by using some simple aids inthe assembly process.

One of these aids is in the form of hard-ware and consists of a special programassembly form. The software aids are severalshort utility routines which run even on thesmallest microcomputer systems. Develop-

ment of the assembly method described inthis article is based on experience gainedfrom working with programmable calcu-lators of the keyboard language type.Matt Biever of the Pro-Log Corporationhas long been advocating some of the tech-niques that I am using. The article's as-sembly method is used for program develop-ment for a KIM-1 microcomputer. It can beadapted easily for other microcomputersystems as long as they use an 8 bit pro-cessor. The assembly method will be demon-strated with a sample program.

Before writing a program, it is a goodidea to put down in writing what the pro-gram is supposed to do. Such a programdescription, as shown in listing 1, mightstate any limitations on the magnitude ofvariables used or might indicate whathappens if these limitations are exceeded.

The next step is to develop a concept ofthe program in the form of a flowchartas in figure 1. While the symbols used insuch charts are standardized, the chart'sdegree of detail is a matter of personalpreference. From program descriptions andflowcharts, one can determine how manymemory locations or registers will be nec-essary to store data and temporary results.These locations should be written in theprogram register table as shown in table 1.This table also contains the addresses of sub-routines or registers of the monitoringsystem that are called by the program, orof PIA registers that will be addressed.The table is similar to the symbol tableprinted by the computer during the machineassembly of a program.

238 May 1979 <B BYTE Publications Inc

After a program description is developedthe actual writing of the program can begin.The programmer, who writes a symboliclisting for machine assembly, arranges aprogram in the form of lines. Each line issuccessively numbered, contains onemnemonic for an operation (unless it is an"all comment" line) and later will be punchedinto one punch card for computer entry.Because the operation described by themnemonic can have a length of one, two orthree bytes, each line eventually results in

one, two or three machine instructions.Therefore, there exists no simple relationbetween the line number and the addressat which the machine code is stored in thecomputer memory. For the hand assemblyof programs, it is advantageous to use adifferent format for the program listing inwhich there is a one to one relationshipbetween program line and memory location.The writing of the symbolic program and theassembly into machine code is greatly simpli-fied by the use of a special program assembly

Figure 1: Flowchart of the program de-scribed in listing 7. The circled numbersrefer to the comment numbers in listing 2.

f START J

add two

to

ORigin

o

/^tronifsr teA /T\

I MONITOR J \*J

load OO

into

POINTH

(transfer toAMONITOR J

©0

Use

Label

Location

ORigin

ORLOORHI

000001

DEstination

DELODEHI

0203

"open cell"

POINTLPOINTH

FA from listing ofFB KIM monitor

Transfer toKIM monitor

START

1C4F from listing ofKIM monitor

Table 7: Program re-gister table for programBRA VEC. This table con-tains all descriptions ofall memory locations usedby the program.

Build The World's Most

Powerful 8-Bit Computer \'%$J*I§

Featuring The Famous Intel 8085!

Explorer/85™

Starting for just $129.95 you can now buildyourself a sophisticated, state-of-the-artcomputer that can be expanded to a levelsuitable for industrial, business andcommercial use. You learn as you go. . . insmall, easy-to-understand, inexpensive levels!

• Features Intel 8085 cpu/100% compatible with8080A software!

• Onboard S-100 bus (up to 6 slots)!

• Onboard RAM and ROM expansion!

• Built-in deluxe 2K Monitor/Operating ROM!

• Cassette/RS 232 or 20 maJA-112 8-bit parallelI/O and timer all on beginner's Level "A" system!

As featured inPOPULAR ELECTRONICS

EXPLORER/85 shown wiffi Video Monitor and Kevhnaul/

CHOICE OF HEX KEYPAD OR TERMINAL INPUT

It you plan lo customize EXPLORER toi dedicated use. we recommend tnat you orderhex keypad inpul. But. it you are planning (o go whole nog and blow EXPLORER upinto a lull size, stale-ot-lhe-an syslem with 8K or extended basic (coming soon), upto 64K ol memory, floppy disks, telephone interlace, printers and an sons oi S-100plug-ins—you'll be beiier otl wilh me Keyooard/Video Terminal input 1 he $149 95EXPLORER Keyboard/Video Terminal includes lull ASCII decoding -Mtft 128 4SCHupper/lower case set 96 printable characters, onboard regida'Ofs and sellabledisplay formats—3?xi6 lor tvseiof 64k 16 lor video monitor (not included)EXPAND EXPLORER, LEVEL-BY LEVEL

Level "B". at $49 95. adds S-100 signals plus onboard RAM/POM oeccdingIncludes all parts necessary lo generate the signals for S-100 0u< accessories Jusladd two S-100 bus connectors and you have a complete S 100 compatible compute'with a world ot add-ons al your lingeries Choose from hundreds oi products toEXPLORER/85 gives you big computer features immediately without fuming you satisly your individual needs Level B kit also includes the address decoders torinto an appliance operator, doomed lo run pre-deveioped sollware for life Simply onboard RAM and ROM expansion, which are addressable anywhere in the 65K fieldconned EXPLORER lo a terminal video monitor or iv set and 8 volt power supply and |_BVfl| ■•(«< expansion, at $39 95 expands the S-iOQ bus lo allow a lolai ol sixstart running programs the very lust mghl1 Level "A" teaches you machine s-100 cards to be plugged into EXPLORERS molherdoaid and contained mlanguage and computer fundamentals if lets you rim exercise programs including EXPLORER'S sleel cabinet Includes all hardware, mounting btackets board guides,programs to examine Ihecpu regtslers. examine memory fill memory, move memory e|C jUsl add Ihe number of Sl 00 bus connectors you needand makeup games you can load and play back ihese programs on an ordinary tape itw\ ■■[)■■ expansion, al $69 95. gives you 4K ot onboard sialic RAM uiili/mgcasselle—and display your efforts on any iv scteen videomonitor or printer (S8 95 2U4ICs Your board will also accept lour 2716 EPROM s which can ne purchasedRF modulalor reguired tor iv use ) The simplified architecture ot ihe Intel 8085 separately You now have an advanced mainframe thai can he customized with ihemakes EXPLORER tar easier lo understand than compuiers using the older more peripherals ol your choice lo til any for all) specilic requirements Each level olcomplex bul less powerful 8080A Then, when you re ready. EXPLORER can be EXPLORER is separately regulated lor the ultimate m stability Factory servceexpanded—by you—lo rival Hie power ol any 8-bif compuler on earth Or you can auil||anie |r0m Netromcs Order your EXPLORER today!customize it to perform a dedicaled task Ihanks to onboard _ _ _ — — — ORDER FROM THIS COUPON TODAY! - — — — '

' Neuronics R&D Ltd., Oopt BY-5,333 Litchfield Road, New Milford, CT 06676

EXPL0RE"/85.

prototyping. RAM and ROM expansion capabililiesLEVEL "A" SPECIFICATIONSEXPLORER s Level "A' system lealures an advanced Intel8085 cpu whicn is 50% tasier than its 8080A prede-cessor, yel 100% compalidle with 8080A sollwarewhich, you'll discover, exists by Ihe ton Big compulet"features include an 8355 ROM with 2K deluxe momlor/operating syslem which has two programmable S-bitbidirectional parallel I/O ports, buillm casselle interfacewith lape control circuitry lo allow labeling casselle dies,and commands which include "display contents olmemory, ' run a! user location (go to), insert data.'"move contents ol memory, "examine registers individ-ually or all, fill command (to fill Ihe conlents ol memorywilh any variable), automatic baud rale selection program-mable characters per line display oulput lotmat, and more'An 8155 RAM—I/O chip contains 256 bytes ot RAM. twoprogrammable 8-bil Bi-direclional and one programmable6-Dil bi-directional I/O pons plus programmable 14-bilbinary counter/timer, user interrupt and reset swilchesOnboard expansion provisions exist lor up 10 six S-tOObeards. 4Kol RAMandSKolROM. PROM or EPROM

D Level A" EXPLORER/85 kit (specify D lermmal or D hex keypad mpul). $129.95 plus$3 p&li

□ Power Supply kit. 5 amp. + 8 volt. $34 95plus $2 p&h

□ Intel 8085 User's Manual $7 50 ppd

□ ASCII Keyboard/Video terminal kit, $149 95plus $3 p&h

□ Hex Keypad ki! lor hex version, $69 95 plus$2 p&h

D Level "B" S-100/Onboairt RAM/ROM Decoderkit (less S-100 connectors), $49,95 plus $2p&h

□ Level "C" S-100 5-Card Expander kii (lessconneciorsl. S39 95 plus $? o&h

□ S-100 Bus Connectors (gold) $4 85 each

D Level D" 4K Onboard RAM Ml $69 95 plus$2 p&h

D Deluxe Steel Cabinet$39 95 plus $3 p&h

D Deluxe Steel Cabinet lor Keyboard /Video ter

mmal $19 95 plus $2 50 p&hD RE Modulator kit, $8 95 ppdG Total Enclosed (Conn res add taxi $U VISA D Master Charge Exp OateAccount* „

PHONE ORDERS CALL (203) 351-9375

Pi ml

Name

. DEALER INQUIRIES INVITED _

Circle 280 on inquiry card.

May T979 © BYTE Publications Inc 239

Circle 381 on inquiry card.

MORE

BANG

PER

BUCK

The PERKIN-ELMER BANTAM

$799.00

All the Features of theHazeltine 1400 & LSI ADM-3APlus

Upper/Lower Case Tab Function

7x10 Char. Matrix Backspace Key

White or Black Char. ShiftlockKeyTransparent Mode Print Key

Integrated NumericPad

Jp4- I .t) I per month

Lease-Purchase

$1095.00

TELETYPEMODEL 43KSR

with RS23210 or 30 CHAR/SEC

132 COLUMNSUPPER/LOWERCASE

USR-310

Originate

Acoustic

$149.00 Coupler

0-300 Baud Stand Alone

Crystal Controlled RS232

USR-330OriginateAuto-Answer$324.00 Modem

FCC Certified for Direct Connectionto Phone LinesUSR-320 Auto-Answer

Only Modem $299.00

All Units include a 120 day warranty.Optional Maintenance package available.

Any Product may be returnedwithin 10 days for a full refund.

U.S. RDBDTICS, INC.

1035 W. LAKE ST.

CHICAGO, ILL. 6D6D7

Sales (312)733-0497

General Offices (312) 733-0498Service (312)733-0499

form. The form I developed for our KIM-1system is shown in listing 2. (Similar formsare available from the Pro-Log Corporation;order Nr CF-1.) Each line of the coding formcorresponds to one memory location withthe least significant hexadecimal digit ofthe address preprinted in the ADD column.The form can be used with any computersystem that uses a hexadecimal machinecode. For octal notation, a different layoutis advantageous.

The programmer starts writing a programby adding the other digits of the programstarting address in the ADD and Page

Listing 2: Program listing of BRA VEC using the author's hand assembly formfor the KIM-1. This form can be used with any hexadecimal based micro-processor.

Program: 6RAVECPage 1 of 2 Date:

Programmer:

Page

ADD

0PC

Label

MNE

Mode

Operand

N

Comment

06

00

0£co

1

1

OR.HI

I bATA

2

6BL0

f /tes-isT^^. s

3

be/tt

J

4

//?

Cue

w_

5

4<7

Lt>A

#

a-

6

02

^

7

IS

AbC

Z-

O&LO

8

00

^^

9

010

act

k£LO

A

02

^"

B

£&

ZAtC

;z-

OA.HI

C

0 1

_^-"'

D

*S

bBLO

S7A

■z-

04^0

E

oo

^~

V

F

W

see

Q

/0

AS

Lt>A

Z-

D&-0

1

02.

<^-*'

2

B5

sac

Z-

OteO

3

00

^y

\

4

?S

STA

Z-

P0//tTL

a

5

PA

"'

i

6

AS

LbA

zz-

DBMI

-*?

7

03

^y

8

5S

ssc

;z.

06HI

9

01

^y

A

*s

tf>A

5Z.

P0/A7Z

B

f*A

S

r

C

ft?

Bc&

At&Gr

D

o4

^y

E

to

fiTL-

oirr

F

01

VA-BECC Program Assembly Form

240 May 1979 © BYTE Publications Inc

columns. It should be noted that the Pagecolumn refers to memory pages while thePage-of heading indicates pages of codingforms. The program is written by enteringthe mnemonic of the first instruction intothe MNE column of line 0. Many of theinstructions of a microprocessor can occurin more than one addressing mode. Duringmachine assembly, the assembler programdeducts the addressing mode from the for-mat of the operand or the definition of asymbol. When hand assembling a programit is advantageous to specify the addressingmode in the Mode column. Immediate

Listing 2 continued:

Program: 6/tAl/adPage 2 of 2- Date:

Programmer:

Page

ADD

OPC

Label

MNE

Mode

Operanc

N

Comment

•20

*1

FLAG-

LbA

#

MFF

i

f

1

FF

^*

2

8^

stA

Z

POIWH

3

F3

^-^

i

'

4

4C

SMP

A6$

STAfiT

f

5

4F

^^

6

tc

^\

'

7

10

A/5G-

6 PL

FLAG-

8

F7

^^

9

4<?

oar

L-OA

■#■

00

f

A

00

B

95"

STA

•z.

PO/fTTH

C

F3

^-"^

1

D

4C

TMP

A8S

STAkT

?

E

4F

<>

T

F

1C

^

i

0

1

2

3

4

5

6

7

8

9

A

B

C

D

E

F

VA-BECC Program Assembly Form

Circle 366 on inquiry card.

inr

zsssisi-

Immediate Dallas Openings

Texas Instruments has immediateopenings for highly motivated,talented individuals with interest inthe areas of robotics and patternrecognition. You will be a member of ateam whose function is to developand apply advanced technologies,design and implement working sys-tems, and develop state-of-the-arttools and procedures for a broad rangeof industrial automation applications.

We have positions for innovativeindividuals with background in:Hardware/Software

Computer ArchitectureOperating SystemsSystems ProgrammingMini/Micro Assembly Language

ProgrammingElectro Optics/Video Display

SystemsApplicationsRobotics

Computer Vision SystemComputer Speech I/OIntelligent MachinesServo Systems

If you have an Associate or higherdegree, or equivalent experience, andare looking for a challenging op-portunity in any of the above areas,send your resume in complete con-fidence to: Staffing Manager/P. O. Box225474, M.S. 217/Dallas, TX 75265.

Texas Instruments

INCORPORATED

An equal opportunity employer M/F

May 1979 © BYTE Publications Inc 241

mode addressing is commonly indicated bythe symbol #. For other addressing modes,suitable abbreviations of the column head-ings in the programmer's reference cardshould be used. For operations which haveonly one addressing mode, the Mode columnis left empty. The addressing mode deter-mines how many address bytes will have tofollow the op code byte. After filling in theMode column, the programmer should crossout the appropriate number of lines in theMNE column. This reserves the correspond-ing memory locations for the address oroperand part of the instruction.

The Label column will carry an entry fortwo conditions only:

• If the line contains the start of asubroutine.

• If the line is the destination of aconditional or unconditional jump orbranch instruction.

While assembly programs sometimes putcertain limitations on the choice of labels,any suitable word or letter and numbercombination can be used as a label for handassembly. However, it makes sense to picka word or abbreviation that indicates what

Get your PC mastersin as little as 2 weeks

At Echo Design your circuit drawings can be con-verted into finished artwork masters in only 2 to 6weeks, depending on complexity.

We do board layouts for many of the biggest namesin the business.

And we have broad capability. Such as computerboards having 450 ICs.

Choose any or all these services:

• Layout (to digitizing •

standards if desired) •

• Tape-up (artwork) •

• Fab drawing •

Assembly drawingSchematic drawingBill of materialPrinted board

Place a call now to John Offenbacker or Al Chewand get your new board moving at competitive prices.

FREEAsk fora copy

Basic

Guidelines

for

Printed

Circuit

Partitioning

echo

DESIGN ANDDEVELOPMENTCORPORATION

195 EAST GISH ROAD • SAN JOSE, CA 95112

408-292-0918

We also provide contract technical personnel world wide

the subroutine or branch destination isdoing in the program, (ie: "WAITLOOP,""COUNT," or simply "LOOP 7").

The next column to fill in is the one withthe heading Operand. When writing pro-grams for machine assembly, the program-mer enters a symbolic label in this field andleaves it up to the assembly program tofigure out what to do with it. When writingfor hand assembly, the programmer canmake the task easier by being a bit morespecific. The operand can be one of thefollowing things:

1. In the immediate addressing mode, itis simply the number that is to be enteredby the operation. Rather than give thisnumber a symbolic name which is definedsomewhere in a symbol table, it is mucheasier to enter it directly in the Operandcolumn. One has to be careful to rememberwhich number system is being used. A num-ber without a prefix indicates decimalnotation. The prefix % indicates binarynotation. A bit mask for bit 2 and 0, forexample, would have the operand % 00000101. If the number is in hexadecimalform, the prefix $ would normally beused, but in this case it is much simpler toenter the hexadecimal number directlyin the OPC column of the followingline.

2. With a jump or branch instruc-tion, the operand symbol indicates thedestination of the operation. The oper-and of such an operation must have acounterpart in the label column some-where in the program. The only ex-ception is when the program calls sub-routines that are stored in read onlymemory (as I do frequently with sub-routines of the KIM monitoring sys-tem). In this case, the operand symbolhas to have a counterpart in the storedprogram.

3. With any other memory refer-enced instruction, the operand mustsymbolize a memory location. I havefound it useful to think of these loca-tions as registers even though, unlikethe registers of the processor, they arephysically located somewhere in mem-ory. As a matter of fact, their loca-tion, if possible, is in page zero of thememory to take advantage of theshorter addressing mode. For reg-isters used in stock subroutines, Ihave assigned locations which beginat the upper end of page zero andwork their way downward. They arelisted in a master register list andcare has been taken that subroutinesthat are likely to be used in the

242

Mav 1979 © BYTE Publications Inc

Circle 102 on inquiry card.

same program do not occupy the sameregister addresses. The symbolic names forregisters that will be used in the main pro-gram are noted in a program register table(table 1) with the addresses to be assignedlater. The symbols again should be words orabbreviations which indicate the meaningof the data contained in the register, such asSTARLO to mean starting address, loworder byte.

The column N of the program assemblyform can be used to indicate the number ofcycles it takes to execute the instruction.This is necessary, for example, to determinethe time of timing loops. In most cases,however, this column will be left empty.

Finally, the Comment column shouldbe used to explain the function of the opera-tion listed in the current line and sometimessome following lines. While this informationmay not be needed by the programmer, itis tremendous help for any other persontrying to understand what the program isdoing. If the program has been flowchartedfirst, which is highly recommended for allbut the shortest programs, the commentcan simply be a number which refers to anequally numbered symbol on the flowchart.

In this way the programmer worksdown the lines of the program assem-bly form. Every time a 0 is encount-ered in the ADD column, (s) he addsthe most significant bit. If that addi-tion makes the ADD column is alsoadvanced. Eventually the program willbe completed and the hand assemblycan begin. Like the computer, I dothis in a number of passes.

The first pass is the easiest one.Using a listing of the instruction set, orthe programmer reference chart, themnemonic and the entry in the Modecolumn is used to look up the op codeof the instruction, which is entered in-to the OPC column of the line. A fre-quent error during this operation is tomistake an 8 for a B or vice versa, andI double check op codes with thesesumbols. The programmer's referencecards supplied by the manufacturers,although they fit nicely into a shirtpocket, were apparently not intendedfor use by programmers over 40 yearsof age. The listing of the instructionset in the data sheets or system man-uals is usually printed in a more reason-able letter size.

The second step is to assign absoluteaddresses to the symbols of the programregister list. First, all registers and theiraddresses used in stock subroutines tobe called by the program are transferred

from the master register list to the programregister list. Then absolute addresses areassigned to all other registers listed, makingsure that no duplication occurs. Registerswhich contain the low and high order bytesof numbers, or registers which containsuccessive bytes if multiple precision opera-tions are used, have to be arranged in such away that their absolute addresses are ad-jacent in increasing order (STARLO = B3,STARHI = B4).

With the completed program registerlist one can go over the program again.For each memory referenced instructionother than branch and jump instructions, theprogram register list will contain an absoluteaddress tor the symbol in the operandcolumn. This hexadecimal number is nowentered into the OPC column of the follow-ing line. For registers located outside of pagezero (such as the registers in PI As) theaddress will be entered in two lines and carehas to be taken to enter the low order bytefirst, followed by the high order byte.During this pass I also check all lines with a# in the Mode column and, if necessary,convert the binary or decimal operand intohexadecimal notation which is entered inthe OPC column of the following line.

Parallel Processing Power

for the S-lOO bus

Discussed and dreamed about bycomputer scientists for years, Con-tent-Addressable Memory (CAM)is now here at an affordable price.CAMs have been so costly to buildthat few have actually been pro-duced. Now Semionics has devel-oped a simplified design, loweringthe cost by two orders of magnitude.This new memory is called Recogni-tion Memory (REM), since (like thehuman brain) it can recognize words,patterns, etc.

Adding a REM board to an ordinarymicrocomputer converts it into a verypowerful machine known as a Con-tent-Addressable Parallel Processor(CAPP).Features:4K bytes per boardStatic—no refresh neededCan be used as ordinary RAMor as CAM

RAM access time: 200 ns ;

CAM access time: 4 /as A

Multiwrite—writing into multiplelocations with one instructionMasking—for individual bitaccess

Multiple REM boards accessedin parallel

Adds 17 associative memory func-tions to instruction set of Z-80 or 8080.Applications:

Pattern Recognition • InformationRetrieval • Compiling & Interpreting• Natural Language Processing •Code Compression • Artificial Intel-ligencePrice: $345

2K firmware package of REMroutines: $40

J SEMIONICS

41 Tunnel Road • Berkeley »CA 94705(415) 548-2400

Circle 320 on inquiry card.

May 1979 © BYTE Publications Inc 243

With this step completed, the OPC columnshould show a hexadecimal number in mostlines. The next step is to pass over theprogram listing another time.

Any line with an open OPC columnwhere the mnemonic indicates a branchinstruction will require that the branchvector for the relative addressing mode becalculated. For short forward branchesthis poses no problem because the offsetcan easily be counted off (beginning at thesecond line following the one which containsthe branch instruction, and continuing tothe line which has the corresponding symbolin the label column). For longer branches andespecially backwards branches, if memorypages are crossed it is very easy to make amistake and miss by one count in eitherdirection. I have found it advantageous to letthe microcomputer perform this operationbecause, after all, it is much better in hexa-decimal calculations than any programmer.

The example program BRAVEC receivesthe origin and destination of a branch andcalculates the branch vector in two's comple-ment notation. A flag is set if the relativeaddressing range is exceeded. The programis loaded from cassette tape beginning atmemory location 0000. Loading beginshere because this location in the KIM-1system can be addressed easily by pressingthe space bar of the connected terminal.The first four locations are actually dataregisters into which the low and high orderbytes of origin and destination of the branchare entered.

When the program is executed beginningat location 0004, it displays or prints thebranch vector in two's complement as thelow order byte of the address field. Thehigh order byte of this field normallyshows 00, while FF indicates that the reachof the relative addressing mode has beenexceeded.

While the program, as listed, is writtenfor the 6502 microprocessor, only instruc-tions that have an equivalent in the instruc-tion set for the 6800 were used. The pro-gram, therefore, can be converted easily.However, the registers POINTHI andPOINTLO, which are displayed as an addressin the LED display of the KIM-1 micro-computer, are specific for this system.For other computers the user will have tofind another way of displaying the result ofthe calculation.

After all branch vectors have been calcu-lated in this fashion and entered in theappropriate lines, the only open spaces inthe OPC column should be the address parts

of jump instructions. For jumps within themain program, it is easy to find the linewith a matching entry in the label columnand to enter the address of this line into theOPC columns of the lines following the onecontaining the jump instruction. For sub-routines called from read only memory,the address has to be looked up in thesubroutine listing.

Stock subroutines which have beenwritten on some other occasion and whichcan be loaded from magnetic or paper tapefrequently can be used. Normally such sub-routines will be tacked on after the lastmemory location occupied by the mainprogram. The KIM-1 system has a relocatingloading routine for loading from magnetictape. If this feature is not available, somearea in the memory should be set aside intowhich the subroutines are loaded. A moveprogram then can be executed to pull upthe subroutine. For the 6502 processor Iuse a program called MOVBLO which re-quires only 14 program steps due to onevery convenient addressing mode of thisprocessor.

Unless one is very pressed for memoryspace, it is a good idea to have all subrou-tines start in lines with a 0 as the least signi-ficant digit because it is easier to keep trackof the starting address after relocation. Inorder to be relocatable, a subroutine maynot contain any absolute jump instructionsand only relative addressing within the sub-routine is permitted.

After the last addresses for the stocksubroutines have been entered in the pro-gram assembly form, the hand assembly iscompleted. I have never clocked the opera-tion, but by following the methods de-scribed, it goes much faster than one wouldexpect. With all op codes being listed in asingle column it is much easier to enter theminto the machine, either from a hexadecimalkeyboard or from the keyboard of a ter-minal. This is another occasion in whichoperator errors can easily occur and Iproofread all programs after entry. Thisoperation is again greatly simplified by theuse of the assembly form which showsaddress and op code in adjacent columns.

The assembly method and the assemblyaids described have been in use for severalmonths and have been found to greatlyreduce the likelihood of assembly errors.Unfortunately, this method does not protectfrom programming errors and the debuggingof the program still is a time consumingbut necessary step to follow the assembly ofa program."

244 May 1979 © BYTE Publications Inc

Circle 29 on inquiry card.

AT LAST!

The High Density Color GraphicsYou've Been Waiting For!

• Plugs directly into your S-100 bus

• Eight different colors

• Eleven software selectable modes

• Display densities ranging from 64X32 to 256X192 Blocks

• 6K bytes of on board screen refresh memory

• Bank select

• Board protect

• Composite video

• Software graphics driver routines for the 8080/Z80

Introductory Offer:

BCG-800K (Kit) $285.00

BCG-800A (Assembled) $385.00

BCG-800B (Bare board W/S68047) $ 45.00

VISA & MASTER CHARGE • Calif. Res. Add 6% Sales TaxCall or Write for Details:

• Biotech Electronics

P.O. Box 485Ben Lomond, CA 95005(408) 338-2686

Circle 74 on inquiry cardTM 1

NEW! for the PEl

HIGH RESOLUTION GRAPHICS!

Now there Is a complete Software Package and a simple, low cost Logic Circuit thatgives the PET 2001 HIGH RESOLUTION GRAPHICS. It can plot 3-D images, pict-ures, fancy graphs, maps-almost anything! Points are plotted on a high resolutionmatrix of 236h.x191v. Graphic displays can be stored on tape cassettes.

Do it yourself with the Graphics Hardware Manual from Conley Graphics. Completehardware information, diagrams, and easy to understand explanations allow you tobuild your own Logic Circuit for the affordable price ol ONLY $15. Parts are readilyavailable from popular electronics stores. Now, high resolution graphics opens upa world of new uses for the PET!

Complete Software Package and Graphics Hardware Manual $19.95

MMKMm. CONLGY GRAPHICS

211 Purdue Avenue, Kensington, CA. 94708

Calif, residents add 67. Sales Tax PET is a trademark of Commodore Business Mach.

Dealers, Computer Retailers and Bookstores:

Let the BOSS work for you!

Computer retailers and bookstoresare invited to take advantage of Bits'One Stop Service — BOSS. Our entirestock of books, software, posters andproducts are available at wholesaleprices to you.

We review literally hundreds of bookspublished today in the microcomputerfield for technical accuracy and reada-bility. The result is a catalog of over 200books from more than 60 publishers ofthe best selling, most asked for books.Plus a complete line of Personal Soft-ware ™ for Apple, TRS-80 and Pet, the

most advanced and sophisticated soft-ware available today. Plus popular,hard-to-find posters. Plus ProgrammersPads ™ available exclusively from Bits.Plus items-of-interest products.

Because we buy in volume we can of-fer you wholesale prices usually equal toor lower than publisher discounts if youordered yourself. Now you can havethose wholesale prices and a wide vari-ety too from one source! One call on ourtoll free 800-258-5477 puts your order onits way in 48 hours.

With BOSS'S comprehensive select-

The BOSS processes.,

locates.,

packages.,

ion and fast friendly service, isn't it jtime you gave your customers and your-self the very best? Call or write today ]for information on the wholesale pro- jgram.

Bits, Inc.

Books to erase the impossible

PO Box 428

25 Route 101 West

Peterborough, NH 03458

603-924-3355

and ships for fast service!

BYTE May 1979 245

Spring into Bits'Garden of New Delights!

THE ART OF PROBLEM SOLVING, ACKOFF'S FABLESby Russell L. Ackoff□ Most of us, in our rush to apply the computer in trying to solve our real world pro-blems, jump to find the right language or the proper algorithm. Perhaps a prepara-tory step could help us toward realizing the most direct, creative, and efficient solu-tion. Ackoff's book is a lesson in creative problem solving (Part One) with examplesin the application of this art (Part Two). It is an enlightening book. 214 pp. $13.95Hardcover.

y amsmtmi

Z-80 INSTRUCTION HANDBOOKby Nat Wadsworth

□ Moving over to a more powerful pro-cessor? Learn the full capabilities of theZ-80 instruction set quickly with thisnew Scelbi publication. It is a practicalreference, using the original Zilogmnemonics, and is meant to serve as aguide for the novice, intermediate, orexperienced programmer. 117 pp. $4.95

THE ANATOMY OF A COMPILER(Second Edition)by John A. N. Lee

□ This new edition reviews all areas ofcomputer language translation and goeson to cover the syntex of complex lan-guages and their compilation. The textis designed to educate the users of highlevel languages to a position where theycan understand, diagnose or implementa compiler. Lee accomplishes this endwith a lively and graphic style. 470 pp.$19.95.

BASIC WITH STYLE:

PROGRAMMING PROVERBS

by Henry Ledgard

□ Programmers can and should writeprograms that work the first time. Thisstatement may sound idealistic to thoseaccustomed to long hours of debugging.Yet it is the theme of this book. It con-tains a unique collection of "proverbs"or rules and guidelines for writing moreaccurate error-free programs. Newly re-written, the book now emphasizesstructural programming and all ex-amples are in BASIC. 134 pp. $5.95.

BASIC MICROPROCESSORS AND THE 6800by Ron Bishop

□ This book is for people who would like to knowmore about microcomputers, and who do not havea technical background. Building on a foundationof basics, Ron Bishop explains the essential micro-computer parts and programming concepts. Thetext centers around the Motorola M6800 processorand explores in detail its instruction set, address-ing modes and use. A very comprehensive intro-duction. 262pp. $11.95.

9900 FAMILY SYSTEMS DESIGN AND DATA BOOKby Texas Instruments

□ This is a comprehensive design manual/data book for Texas In-struments' family of 16-bit microprocessor products. Nine chapterscover basic decisions in system design, hardware design, softwaredesign, the 9900 instruction set, program development, and appli-cation examples. Here is a complete information package (1000 +pages)on Tl's powerful new processor. $9.95.

SOURCE BOOK FOR PROGRAMMABLE CALCULATORSby Texas Instruments

□ Tl has put together over 60 example problems for solution ontheir TI58 and TI59 programmable calculators. Each example con-tains a description of the problem, the calculator program, guidesfor using the program, example solutions and references for furtherinvestigation. The problems cover topics in: number theory, algebraand trig, calculus, statistics, business,economics, biology, engine-ering, and physics. 416 pp. $16.50.

CONTENT ADDRESSABLE PARALLEL PROCESSORSby Caxton C. Foster

D Content addressable memory arrays and parallel processing of all memory ele-ments simultaneously are techniques which offer the advantages of speed and easeof programming as the cost of logic and memory elements continues to decrease.This book by Caxton C. Foster covers the theory, structure, and capabilities ofCAPP machines; the known algorithms for parallel processing; applications ofCAPP's; a survey of papers on distributed parallel processing; and descriptions ofreal CAPP machines. It is a comprehensive text, and a good introduction to the sub-ject. 233 pp. $13.95.

246 BYTE May 1979

THE INCREDIBLE SECRET MONEY MACHINEby Don Lancaster

□ This book tells you how to set up your own Incredible Money Ma-chine — computer, technical, craft or other small-scale businessand keep it going strong. The author explodes a lot of myths andpacks a goldmine of irreverent information into 160 lightheartedpages. He shows you how to reduce your taxes as much as you want,how to get free insurance and vacations, and the*iltimate solution tofinancing. Lancaster has been successfully running his own moneymachine for years, and now he's sharing what he knows. 159 pp.$5.95.

CONSUMER'S GUIDE TO PERSONAL COMPUTING

AND MICROCOMPUTING

by Stephen Freiberger and Paul Chew

□ Getting into personal computing can be confusing when one isconfronted with the multitude of microcomputers, languages andperipherals available today. This current guide lives up to its nameand provides an introduction to microcomputers, reviewing over 60microcomputer products. Let Consumer's Guide to Personal Com-puting and Microcomputing aid you in selecting your computer. 164pp. $7.95.

THE LITTLE BOOK OF BASIC STYLEby John Nevison

□ Structure, style, correctness, maintainability. Attributes of gooaprogramming are getting much attention, and well they should.Here these concepts are explained, along with 19 rules and manyexamples in BASIC to help improve your programming style. 151pp. $9.95.

COMPUTER CRIMEby August Bequai

□ In 1976100,000 cases of computer crimes were filed in our federalcourts, and it is estimated the computer felon steals more than $100million annually from ourcitizenry. In this highly readable and fullyreferenced work Professor Bequai, a practicing attorney specializ-ing in legal aspects of technology, addresses the history and presentdilemma posed by this new breed of criminal. 210 pp. $15.00.Hardcover.

PROGRAMMING THE 6502by Rodnay Zaks

□ Here is the 6502 microprocessor from top to bottom. This book isa systematic course in 6502 assembly language programming, in-cluding exercises and application examples. Solid for you Kim andApple users! 304 pp. $10.95

A FORTRAN COLORING BOOKby Dr. Roger E. Kaufman

D Who says learning Fortran can't be fun? Here you'll find every-thing you need to know about programming in Fortran, in a veryclever instructional style. Learn Fortran programming painlessly.285 pp. $6.95

THE PSYCHOLOGY OF COMPUTER VISIONby Patrick Henry Winston, Editor

□ This book is a collection of major works in computer vision re-search: image conversion, noise reduction, determination of curvedsurfaces, scene analysis, and visual analysis. Here under one coveris today's scientific basis for tomorrow's seeing robots. 282 pp. $22.Hardcover.

THE BASIC WORKBOOK - CREATIVE

TECHNIQUES FOR BEGINNERS

by Kenneth Schoman, Jr.

□ This book contains lecture notes, exercises and problems forpeople learning BASIC. In a hands-on workbook style, KennethSchoman covers statements, loops, functions, variables, input/out-put and strings, simulation and plotting. Runnable in virtually anyversion of BASIC. 117 pp. $5.50.

STAR SHIP SIMULATIONby Roger Garrett

□ Star Ship Simulation is a design for a program to simulate the op-erations of the starship Enterprise, as defined on the original TVprogram, on a computer. The program is presented in a generalstructured form with information to aid the user in implementing itfor a particular hardware/software set-up. 122 pp. $6.95

LEARN MICROCOMPUTERSby Scelbi Computer Consulting Inc.

□ This two-part information packet contains Understanding Micro-computers and Small Computer Systems by Nat Wadsworth. It ex-plains the basic operation of a microcomputer; instructions, inputand output devices, and system considerations. Also included is anaudio cassette tape which contains a chapter-by-chapter talking syn-opsis referenced to the book. 300 pp. (plus audio cassette) $14.95.

BITS

inc

Books to erase the impossible

POB 428, 25 Route 101, Peterborough, NH 03458

NAME.

ADDRESS_CITY

_STATE_

^ZIP_

Number of Books.

$.75 per item USAPostage & Handling $1.00 per item Foreign $-

(to a maximum of $3.00)□ Credit Card #

Grand Total $_

Expires_

□ Check enclosed

SIGNATURE-

■ DIAL YOUR BANK CARD ORDERS

• ION OUR TOLL-FREE HOT LINE: 1-800-258-5477

(In New Hampshire call 924-3355)

Prices subject to change without notice

BYTE May 1979

247

$5

Sophisticated

Personal

Software

TEN PROGRAMS

Finance Manager

Checkbook Balancer

Personal Budget

SENETGame

Blackjack Game

TIC-TAC-TOE

Destroyer

X-Y Plot

Fourier Analysis

Multi-math DrillOrder your copy — Send $5.00 to

COMPUTALL CORPORATIONS

P.O. Box 536Atlantic, Iowa 50022

apple tv & computing

GRAND OPENING

SALE!

An introductory salel Every PETordered this month will come with

Full size

BIG KEYBOARD 1 6K ... .ONLY $895

or, the standard 8k PET $775

NEW!! ... PET MiniFloppy . . . $595

PET 2021 Printer 80 column

electrostatic w/graphics $549

PET 2022 Printer forms

tractor, & full graphics $995

Dual drive PET MiniFloppy .... $1295

TRS-80 to S-100

interface (kit) $190

We Have The

BALLY Computer System.

And SOFTWARE for BALLY BASIC on

audio cassettes. Write for list of titles.

apple tv & computing

1213)5594268

2606 S. Robertson Blvd.

Los Angeles, Celifornia 90034

FRUGAL FRONT PANEL SERIES

S-100 DISPLAY-SENSE BOARD KIT

Board and Manual S29.95 Kit S89.95

REMOTE HEX PANEL

Board and Manual S22.95

REMOTE BINARY PANEL

Board and Manual S22.95

Assembled Versions Available

Kit S69.9S

COMPUTER CANOPY DUSTCOVERS

APPLE II S12.95

H-8, H-11, HORIZON,

INTEGRAND SOOD S14.9S

SWTPC CT-82, ADM-3, H-9, ACT IVb,PET, HAZELTINE 1500/1510/1520 S16.95

TRS-BO —

Keyboard-Monitor-Cassette 3 pc S25.95

-ira.fj'.iii

J

Digital Dynamic*. Inc.Department B310C BraaaportSan Antonio. TX 78216(512) 341-B782

Circle 49 on inquiry card.

Circle 10 on inquiry card.

Circle 87 on inquiry card.

6800/6801

MICRO SOFTWARE

* * * CROSS SOFTWARE * * *

6800/6801 assembler $ 800

PL/Wcompiler $1400

cross linker $ 400

math/science $ 500

simulator $ 800

* * * RESIDENT SOFTWARE * * *

editor/assembler $ 95

industrial 4K BASIC $ 95

in ROM $299

WltVIBK

Corp.

317-742-6802

902 N. 9th St., Lafayette, IN 47904

RS 232C Computer CompatiblePaper Tape Transmitter/Model 612

Stops & starts on character at all speeds, usesmanual control or X-on, X-olf 90-260 V; 50-60 Hzpower. 50-9600 baud, up to 150 char/sec syn-chronous or asynchronous; gated internal or ex-ternal clock; RS 232C, current loop or paralleloutput, reads 5-8 level tape, 7-11 frames/char,even or odd parity. Desktop or rack mount.

ADDMASTEH CORPORATION

416 Junipero Serra Drive

San Gabriel, CA 91776

(213) 285-1121

Telex 674770 Addmaster SGAB

APPLE OWNERS!

the ARESCOASSEMBLER/TEXT EDITOR

is now available

* Line-numbered text editor

* One-Pass Assembly withoptional second pass

* Compatible with Disk orCassette

* Sixty pages of Documentation

* Only $29.95

Check, MC, VISA or UPS

collect all OK

SASE for more information

Dealer inquiries are invited

Also available for KIM & TIMWrite for details

ARESCO

BOX 1142

COLUMBIA, MD 21044

(215) 631-9052

Circle 389 on inquiry card.

Circle 4 on inquiry card.

Circle 12 on inquiry card.

SPACEWAR

FOR THE

TRS-80

Dynamic real-time action game in-cludes two spaceships (with forwardand side thrusters) plus torpedoes, allmoving in the strong gravitationalfield of the sun. User-adjustablegame speed, thruster power, torpedospeed, and initial orbital radius andeccentricity. Excellent for teachingNewton's Laws — all motion is cor-rectly simulated. Z-80 machine-language program for Level II. Re-quires only 4K memory.

For Level II cassette tape send $15.00

PODOSOFT

9 Smith Street

Wellesley, MA 02181

30-day moneyback guarantee.residents add $0.75 sales tax.

Massachusetts

Don't Forget!

Our New 4K Byte Non-VolatileMemory Boards Won't Let You!

• 30 days minimum guaranteeddata retention

• Ultra low power 450 NSECstatic CMOS RAM IC's

• On-board regulator, powermonitor and battery

• S-100 bus compatible

Assembled and Tested$395.00

Remember. ..

to send for details!

1395 Golf StreetDayton, Ohio 45432

T-BUG™ accessories

Machine language programs linking with yourcopy ol the Radio Shack TRS-80tm monitorSuper TLEGS: Onboard relocater moves T-BUG toyour choice of RAM. Now you can examine,modify any formerly coincident material.

LL-0 16K Level II 9.95

TSTEP: Single steps for T-BUG, enables an implicitkeypad including backspace. A clearablebefore/after display shows all instruction-setaspects ot machine status; CPU registers, Hags,stack elements, as you SPACE through memory inprogram How sequence. TLEGS relocates.

LL-1 16K Level II 11.95

Pee Wee Backspace: Very tiny, very handy.T-BUG internal, turns on f key under #M com-mand. Stroke shows previous memory location,like inverse ENTER. TLEGS relocates.PW-1 4K Level II 4.95

Includes cassette, instructions, examples.Add .75 each shipping, CA include 6%.

® Allen Gelder5914 California StreetSan Francisco, CA 94121

T-BUG, TRS-80 tm Radio Shack/Tandy Corp.

Circle 305 on inquiry card.

Circle 88 on inquiry card.

Circle 140 on inquiry card.

Minidisk Library Case

The Minikas-ette/10 is a minidisksized version of the Kas-ette/10 DisketteLibrary Case. The cases safeguardrecorded data by protecting againstcontaminants such as dust and debris,and offer temperature and humiditycontrol for storage or shipping. Durablyconstructed of extra strong polyprolene,the library cases are finished in a beigeleather type texture. Additional featuresinclude: flexible fan tabs which providea firm vertical hold while allowing foreasy media access and replacement, andthe pop-up easel design places media

New Electric Wire Wrapping Tool

This new EW-8 electric wire wrappingtool from OK Machine and Tool Corp isinterchangeable with its previous modelEW-7D and incorporates a number ofimprovements at no increase in price.Rated to accept bits for wire sizes 22-30AWG, the Model EW-8 features a re-inforced Lexan housing, radio frequency(RF) interference reducing circuitry, anda high reliability motor and indexingmechanism. The tool is double insulatedand weighs 14 ounces. It is available withaccessory tool VIT-1 which permits easyresetting of indexing position in 45degree increments.

The EW-8 is priced at $85.11 andthe VIT-1 costs $15. Contact OK Ma-chine and Tool Corp, 3455 Conner St,Bronx NY 10475."

Circle 645 on inquiry card.

within convenient view and reach ofuser. Both library cases are availablefrom The Minicomputer Supplies Com-pany, 963 Holmdel Keyport Rd, HolmdelNJ 07733."

Circle 644 on inquiry card.

Where Do New Products ItemsCome Frdm?

The information printed In thenew products pages of BYTE Isobtained from "new product" or"press release " copy sent by pro-moters of new products. If In ourjudgment the Information mightbe of interest to the personalcomputing experimenters andhomebrewers who read BYTE, weprint it In some form. We openlysolicit releases and photos frommanufacturers and suppliers tothis marketplace. While we wouldnot knowingly print untrue or In-accurate data, or data from unre-liable companies, our capacity toevaluate the products and com-panies appearing in the "What'sNew?" feature is necessarily lim-ited. We therefore cannot beresponsible for product quality orcompany performance.

Printer Controller Supports Centronicsand Dataproducts Printers

The DEC PDP-11 Line PrinterController (DLP 11), designed to sup-port either Centronics or Dataproductstype printers, operates on any DigitalEquipment Corporation PDP-11 com-puter without software or hardwaremodification.

The DLP 11 comes complete with allnecessary cabling and connectors tointerface directly to the printer used. Inorder to simplify installation and testing,a self-test mode is provided. Low powerrequirement is another feature of thecontroller, which incorporates lowpower Schottky transistor-transistorlogic.

Priced at $750 in single quantities,the DLP 11 is available from DataSystemsCorp, 8716 Production Av, San DiegoCA 92121."

Circle 646 on inquiry card.

An S-100 Compatible 6802/09

Micro Data Systems has announced theMD-690A, a new processor board whichadds three features to those found ontheir MD-690. These features are: 6809compatibility, 10 K bytes programmableread only memory, RS-232 interfaceprovision and S-100 bus compatibility.

The MD-690A gives the user moremonitor flexibility and the option of up-grading the board to accommodate the6809 processor by Motorola. It comescomplete with MONBUG, a 1K byte pro-grammable read only memory monitorprogram which is software compatiblewith the standard Motorola MIKBUGmonitor and designed to interface withmost memory mapped video and graph-ics cards for fast input and output (IO).The board can accommodate up to 10 Kbytes of 2716 erasable read only mem-ory which may be used for 8 K byteBASIC or other firmware.

The price for the board with the2400 bps cassette interface, 1 K bytemonitor and 1 K bytes of programmablememory is $198 in kit form and $258assembled and tested. Complete doc-umentation including assembly andtroubleshooting instructions and a com-prehensive user's guide are provided. Forfurther information write to Micro DataSystems, POB 36051, Los AngelesCA 90036. ■

Circle 647 on inquiry card.

May 1979 © BYTE Publications Inc 249

What's New?

MASS STORAGE

CALCULATORS

Multikeyed Indexed Sequential FileControl

The keyed indexed sequential search(KISS) system enables multikey accessto a user's disk files. KISS provides userselected variability of key and datalengths. The KISS system includes anindexed sequential file manager (ISFM)and a direct access file manager (DAFM).The absolute maximum number of diskaccesses to retrieve any record undercontrol of KISS is three. The system isimplemented in assembler language andis designed to operate on the 8080/8085and Z-80 based systems.

KISS is distributed as a relocatableobject module on user specified format-ted floppy disk. Configurations areavailable for IMSAI (DOS-A) and ISIS-IIusing PL/M, FORTRAN, assembler, andExtended BASIC. The 3 section illus-trated user guide, which includes tech-nical concept, user interface control, andfile control code examples for variouslanguages, is included in the price of$485. The user guide can be purchasedseparately for $22.50 plus $2.50 forpostage and handling. Contact MorrowComputer and Electronic Design Inc,315 Wilhagan Rd, Nashville TN 37217."

Circle 544 on inquiry card.

Specialized Programming Aids forTI-59 Handheld Calculator

Specialized computer programmingaids are now available from TexasInstruments for use with the Tl pro-grammable 59 handheld calculator.These aids offer easier conversion ofASCII and EBCDIC codes, routines for

debugging and analyzing TMS 9900 andIntel 8080 processor programs, and anumber of general programmer aidscovering base conversions and logicaland arithmetic operations.

The Programmer's Aid Pakette is a64 page booklet providing detaileddocumentation for six full length pro-grams: EBCDIC code converter, ASCIIcode converter, ASCII and EBCDICencoder, TMS 9900 disassembler, Intel8080 disassembler and Tl programmersimulator. All require a TI-59 withattached PC-100A thermal printer, plusblank TI-59 magnetic program cards,into which the user keys the code listsfor automatic entry into the calculator.The booklet format includes programlistings which are keyed into the user'sown magnetic cards; no additionalprogramming is required.

Pakettes are also available on securi-ties, statistical testing, civil engineering,electronic engineering, blackbodyradiation, oil/gas/energy, astrology andTI-59/PC-100A printer utilities.

All pakettes are priced at $10 with a$1.50 handling charge plus state andlocal taxes. For further informationwrite to Texas Instruments Inc, ServiceFacility, POB 53, Lubbock TX 79408."

Circle 545 on inquiry card.

BYTEs Bits

About the March 1979 Cover

In the flurry of January's snow-storms, we neglected to put in an "AboutThe Cover" text elaborating more thanthe title of Robert Tinney's March coverpainting Through The Trapdoor. One ortwo readers took us to task for thisomission, perhaps because it was not asobvious to them as to us. The letteringon the wooden block puzzle as assembled(if you could do so) spells out the wordplaintext, in two lines. As the plaintextis cranked through the black box of atrapdoor algorithm, it becomes a jumbledform known as ciphertext. Here we sym-bolize the trapdoor by a hole in a sheetof translucent material, and the trapdoorjumbles the puzzle parts as they fallthrough the hole.

This of course brings up a challenge.Who will be the first reader with skills atwoodcrafts to rationalize the design ofsuch a woodblock in order to create areal puzzle? The actual pieces should beclose to those_ imagined in this picture,but certainly not identical since thereis no way to assemble the pieces showninto a cube which spells "plain" and"text" along two rows."

250 May 1979 © BYTE Publications Inc

ITHACAAUBK)

THE OEM MARKETPLACE

Assembled and TestedAdded at Ithaca Audio

Field-provenreliable engineering

Over 15,000 boards worldwide prove IthacaAudio provides the quality and reliability youdemand.

Ithaca Audio Boards are fully S-100 com-patible, featuring gold edge connectors andplated-through holes. All boards (except theProtoboard) have fully buffered data andaddress lines, DIP switch addressing, soldermask and parts legend.

• Z-80 CPU Board still the most power-ful 8 bit central processor available. Featuringpower-on-jump, provision for on-board 2708.Accepts most 8080 software.

A&T 4 mHz $205.00

A&T 2 mHz $175.00

Blank PC $ 35.00

• Disk Controller Board controls up

to 4 single or double sided drives. Supportedby a host of reliable software packages:K2 FDOS, Pascal, Basic and complete diag-nostics.

A&T $175.00Blank PC $ 35.00

• K2 FDOS Disk software in the DECtradition. Includes character oriented texteditor (TED), File Package (PIP), Debugger(HDT), Assembler (ASMBLE), HEXBIN, 1COPY, System Generator (SYSGEN) andmore. Command syntax follows Digital'sOS-8/P.T-11 format. First in a family of highlevel software. Basic and Pascal availablenow. Soon-to-be-released Fortran.

K2Disk $ 75.00

• Video Display Board features the

full 128 upper/lower case ASCII characterset. Easy-to-read 16 line x 64 characterformat can be displayed on an inexpensivevideo monitor or modified TV set. IncludesTTY software. Add our powerful K2 FDOS tocreate a versatile operator's console.

A&T $145.00Blank PC $ 25.00

• 8K Static RAM Board High speed

static memory at a reasonable cost per bit.

Includes memory protect/unprotect and

selectable wait states.

A&T 250 ns $195.00

A&T 450 ns $165.00

Blank PC $ 25.00

• 2708/2716 EPROM Board indis-pensable for storing dedicated programs and

often used software. Accept up to 16K of2708's or 32K of 2716's.

A&T (less EPROMs) $ 95.00

Blank PC $ 25.00

2708 EPROMs $ 11.00

Circle 190 on inquiry card.

The leading manufacturer of blank S-100boards is adding a new wrinkle—now all theirboards are available assembled and tested."This is a natural progression for the com-pany" according to Mr. James Watson,President. "Actually we've been supplyingassembled and tested for some time to ourvolume customers and OEM's, particularlythose overseas. Our production staff is nowfully up to speed, so just about everything isavailable from stock." The company sched-uled 6 months to phase in assembled andtested to allow time to build base inventories,before offering the boards to the public. "Wefeel this is quite important. A lot of companieshave earned themselves a bad name in thisbusiness by announcing products they can'treally deliver. We simply won't do that." Mr.Watson further explained that Ithaca Audiointends to remain leader in blank boards andexpects to release a minimum of 6 newdesigns by August, which will be offered bothblank and assembled and tested.

Memory PricesTumble

Ithaca Audio first to break1<t/Byte Barrier

By cutting prices for 32K of RAM to $319Ithaca Audio becomes the first computervendor ever to offer high speed memory forless than a penny a byte. Commenting on theannouncement, Steve Edelman, Director ofEngineering said "Just a few years agopeople were wishing for a penny a bit, andeven now memory for most large computerscosts about 2C/byte and that's only in 1Megabyte chunks." In fact it's the relativemodest capacity of the 32K board that makesit so interesting. Users need not buy the full64K to take advantage of the low price per bit.Furthermore, the board is available both as akit and assembled and tested.Delivery is stock to two weeks. Pricing is:

• 32K kit $319

• 32K A&T $359

• 64K kit $645

• 64K A&T $695

8" Disk Drives

Shugart compatible Memorex 550's are in

stock.

Single and double density compatible, 330K

bytes capacity with our controller or use your

own.

Either way $456

Protoboard Universal wire-wrap boardfor developing custom circuitry. Room forthree regulators. Accepts any size DIPsocket.

Blank PC $ 25.00

Pascal/Z Ready

The first Pascal Compiler for the Z80, and thefastest Z80 Pascal ever is now ready. Overone year in development, Ithaca Audio wasobviously pleased with the results. "We reallyhave outperformed them" states JeffMoskow, Director of Software Engineering,beaming over the recently released bench-marks, in which Pascal/Z averaged betterthan five times the speed of a recent P-codeimplementation.

"Pseudo-code means a vendor only has tosupply one compiler to lots of people usinglots of different machines, and that makes hislife very easy, but it also means users' pro-grams execute significantly slower. There-fore, we chose to write a native compiler thatdelivers fast re-entrant ROMable code, withno need for an intermediate language andinterpreter. That's where our speed comesfrom." As a matter of fact, Pascal/Z is oftentwenty times as fast as UCSD's implementa-tion and may well be faster than dedicatedPascal machines such as the recentlyannounced Western Digital Pascal Micro-engine.™ Unlike the Microengine, Pascal/Zdoes not require any new special CPUhardware and has the added benefit of com-patibility with existing Z80 software.

Operational requirements of Pascal/Z arethe Ithaca Audio K2 Operating system and48K of memory during compiles. The outputis standard Z80 Macrocode which is linkedand run through the Ithaca Audio Macro-assembler. Binary files may be as small as2.5K, or even less if the full library is not used.The compiler, including the Macroassembler,is available on an 8" K2 floppy disk. Priceincluding full documentation is $175.00. TheMacroassembler is available separately for$50.00. Delivery is from stock.

More Software:

For those that don't require the speed of acompiler like Pascal/Z, Ithaca Audio alsooffers the convenience of BASIC. BASIC/Z,an extended version of TDL's Super Basic,runs in slightly over 12K and is supplied on an8" K2 disk for $75.00.

SAVE Even More -

When you buy your software as a package

K2 and Pascal/Z $225

SAVE $25

K2, Pascal/Z and Basic/Z $275

SAVE $50

HOW TO ORDER

Send check or money order, include $2.00 shipping per order.N.Y.S. Residents include tax.

For technical assistance call or write to:

ITHACAAUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/257-0190

BYTE May 1979 251

%\v.S »:..£■ '..-.■..-;."".

What's New?

MASS STORAGE

Double Density Floppy Disk StorageSystem

This new double density floppy diskstorage system, the Delta-!, has been

il

, ........ ^

| delta-l |

'^^^^^\^^M

~; j. - A

^#V^^Wfcl

WJy»^ttMP»lW^Mliyt|a

irf I

iSiliMM^W^1

WKRM&.WVU^n

i

^.^^-

"^1

W"^ ^

' «a*

-ISafe ■ ^

introduced by Meca, POB 696, 7026 OldWoman's Spring Rd, Yucca Valley CA92284. The Delta-1 provides up to 200K bytes of storage on a single 514 inchdrive. Included with the Delta-1 disksystem is the MFM S-100 disk controllerwhich supports up to three SA-400 diskdrives. Individuals who now own a MecaAlpha-1 tape system can use the MFMdisk controller to combine the Alpha-1and Delta-1 into a fully integrated tapeand disk storage system. North Starowners may take advantage of theavailability of the MFM disk controllercard to double disk storage space from90 K to 180 K bytes. The price for thecontroller card alone is $199.

Available software includes a CP/Mdisk operating system with editor,assembler, debugger and BASIC-E for$98. Microsoft Extended Disk BASIC isoffered for $195. Several applicationsprograms are available which operatewith both the Delta-1 and Alpha-1. Anintroductory price of $699 includes theminifloppy single-sided disk drive, MFMdisk controller, power supply, connec-tors and cable, complete documentation,and Meca disk operating system."

Circle 603 on inquiry card.

Dual and Single Drive Expandable Floppy Disk Systems

A new family of expandable floppydisk systems, called EXP, is available fromMicromation Inc, 524 Union St, SanFrancisco CA 94133. EXP is a completefloppy system using standard 8 inch disksand a write protect and front panel activ-ity light as standard. The system usesdrives supplied by Memorex. Each driveoffers a full 265 K bytes of storage inIBM 3740 soft sectored format.

EXP is fully supported by software.Users are offered CP/M as one option.BASIC, FORTRAN, or complete busi-ness application and word processingpackages are also offered.

EXP is a complete, fully assembledand tested floppy disk storage system.The total system includes drives, S-100controller, power supply, and wood andmetal enclosure. The EXP-1 single drivesystem is priced at $1195 and the EXP-2dual drive system is $1895, and an op-tional double density controller (for$300) permits doubling the actual den-sity of data on each disk.B

Circle 604 on inquiry card.

Floppy Disk System from Charles RiverData Systems

Charles River Data is offering itsMF-11 LSI-11 floppy disk systemwith the DEC LSI-11/2 and associatedDigital Equipment Corp (DEC) plug-in memory. The MF 11/2 is functionallyidentical in performance characteristicsto the PDP 11VOS but uses only lOHinches of panel height and is available ata lower price. The 10!4 inch enclosureholds the DEC processor, two Shugartfloppy disk drives with controller,

power supply, slides for rack mounting,and the DEC H9270 back panel. An 8quad slot backplane is also available.

The controller and interface cardprovides total software and mediacompatibility between the DEC proces-sor and the floppy disk system, whichallows use with any of the PDP 11V03software packages. It also providesbootstrap loader, self-test and IBM 3740formatter. Contact Charles River DataSystems Inc, 4 Tech Cir, Natick MA01760.-

Circle 605 on inquiry card.

252 May 1979 © BYTE Publications In

Circle 51 on inquiry card.

ALL THE MOST WANTED FEATURESIN A COMPACT DVOM

m I c iv o iv

n HIGH LCD DISPLAY

USE INDOORS OR OUT

200 HOUR 9V BATTERY LIFE

AUTO ZERO, POLARITY,OVERRANGE INDICATION

100 mV DC F.S. SENSITIVITY

19 RANGES AND FUNCTIONS

X10Difor pr6t

SPECIFICATIONS:

DC VOLTS (5 RANGES): 0.1 mV to 1000V; Accuracy

±0.5% rdg ±0.5% f.s.; Input imped: 10MO; Max.

input 1kV except 500V on 200mV range.

AC VOLTS (40Hz to 5kHz): 0.1 V to 600V; Accuracy:

±1.0% rdg ±0.5% f.s. (-2dB max. at 5kHz); Max.

input: 600V.

RESISTANCE (6 LOW POWER RANGES): 0.1 nto

20Mn; Accuracy: ±0.5% rdg ±0.5% f.s. (±1.5% rdg

on 20Mn range); input protected to 120VAC all

ranges.

DC CURRENT (6 RANGES):.01nA to 100mA;

Accuracy: ±1.0% rdg ±0.5% f.s.

DIMENSIONS AND WEIGHT: 5-7/8" x 3-3/8" x

1-3/4", 12 oz.; POWER: 9V batt. (not incl.) or Hickok

AC adapter; READ RATE: 3/sec. OPERATING

TEMPERATURE: 0°-50°C.

THE HICKOK ELECTRICAL INSTRUMENT CO10514 Dupom Avenue » Cleveland. OWo 441061216! 541-8060 • TWX 810-4B1-8S88

On-the-Spot accuracy,wherever and when-ever you need It. TheHickok LX303 is idealfor any field service,industrial mainte-nance or personalapplication. Rug-ged, Reliable. Easyto read in any light,this exciting, new,3Va digit Mini-Multi-meter weighs only12 ounces and car-ries a full one yearguarantee. Fea-tures previouslyfound only in ex-pensive units . . .at a price under$75.00! AnotherAmerican madetest equipmentbreakthrough fromHickok, The ValueInnovator for over 60years. Order Today!

;kok distributor or order below

,"-—;— ' i

COMPUTER COMPONENTS INC.

3848 SEPULVKDA BOULEVARD, VAN NUYS. CAL. B1411TELEPHONE (213) 736-7*11

i ,-.■..i: SEND ME 9HI wBm

.Hickok LX303 Digital Multimeters @ 74.95 ea.

.RC-3 AC Adapter, 115VAC (220VAC avail.) @ 7.50 ea.

.CC-3 Deluxe Carrying Case @ 7.50 ea.

.VP-10 X10 DCV Probe Adapter @ 14.95 ea.

.CS-1 10A DC Current Shunt @ 14.95 ea.

VP-40 40 KV DC Probe @ 35.00 ea.

□ Bill my company, P. 0. attached (D & B rated firms only) net 30 days

□ Payment enclosed Bill my: □ Master Charge Q VISA

J Account No Exp. Date Name Signature I

I Address

\ City State Zip

J Add $3.00 Postage and Handling. CA Residents Add 6% Sales Tax.

What's New?

MEMORY

S-100Card Holds and Programs 2716,2708 Programmable Read Only Memories

A maximum of eight TMS 2716 or2708 16 K or 8 K bytes programmableread only memories are held on this newprogramming and storage board calledthe Databank. The board will also pro-gram memories by means of two specialsockets. One of these sockets provides aconnection to an external programmingstation while the other socket allows theprogramming of memories on the Data-bank. Each of the eight memories maybe individually switched into or out ofthe system address space. The entireboard can be disabled and enabled byI/O (input/output) commands.

In addition to the programmable readonly memories, the Databank will hold

Associative Computer Memory Availablefrom Semionics Associates

Content addressable or associativecomputer memory is available fromSemionics Associates, 41 Tunnel Rd,Berkeley CA 94705. Called REM (recog-nition memory), it differs from con-ventional memory by eliminating serialsearching. An item may be accessedsimply by being named. REM can bewritten into and read from like ordi-nary memory, but has parallel processingfunctions, including six types of recog-nize and multiwrite. The recognitionoperations replace serial searching, whilemultiwrite allows the processor to writeinto multiple locations with a singleinstruction. Individual bit masking maybe applied to all of the operations, in-cluding ordinary (location accessed) readand write. A data processing system withthese functions is known as a CAPP(content addressable parallel processor).Ideal for pattern recognition and in-formation retrieval applications, it isalso capable of performing parallelarithmetic operations.

Semionics' first product is an add-inrecognition memory for microcomputershaving the S-100 bus. Called REM S-1 00,the board converts the microcomputerto a CAPP by adding new instructionsto the instruction set of the processor.The board is organized to make theseadditional instructions possible withoutany alteration to the processor.

Recognition memory is organized in8 bit words and 256 word REM records.It is a static memory with an access timeof 200 ns for a single memory location,and recognize or multiwrite time, for allREM records of 4 fis. This time does notincrease with size of memory. In a sys-tem with multiple REM boards, all ofthese are accessed in parallel during arecognize or multiwrite operation.

The REM S-100 add-in recognitionmemory board has a capacity of 8 Kbytes and is priced at $525."

Circle 533 on inquiry card.

1 K or 2 K bytes of 2114 programmablememory. The memory will operate asbus memory or can be substituted bysoftware command for any of the pro-grammable read only memories. A mem-ory in the programming socket also hasthis substitution ability. All program-ming voltages are provided by the Data-bank board circuitry.

The board is available in kit form

at the following prices: DB00 (with-out programmable memory) $199.95;DB08 (1 K byte programmable memory)$219.95; DB16 (2 K byte programmablememory) $239.95 with shipping chargesof $5 in the US and Canada and $25overseas. For further information, con-tact Objective Design Inc, POB 20325,Tallahassee FL 32304."

Circle 531 on inquiry card.

Two New Boards for S-100 Systems

This 8 K byte read only memory andprogrammable memory board is ideal forS-100 systems which require both typesof memory. It will replace two boards inmost systems, reducing cost, inventory,and motherboard slots. The independentaddressing and wait state control makethe board as flexible as two separateboards. The control and I/O board has12 inputs and four high current outputs.

The Triac control allows direct computercontrol of AC equipment. Counters arevaluable for process control or countinginstruments and the built-in timer givesthe computer a dual count per minute(or second) capability.

Assembled and tested, the boards sellfor $195 each. OEM quantity discountsare available. For more information, con-tact Tri Mark Engineering, 12402 WKingsgate, KnoxvilleTN 37922."

Circle 532 on inquiry card.

Low Price 16 K ByteStatic Memory Board

This 16 K byte static memory board,designated SupeRam 16, has been de-signed for S-1 00 microcomputersystems.SupeRam is a complete kit featuringfour independently addressable and

write-protectable 4 K byte blocks. Thecompact control design uses only 11integrated circuits. All signals are fullybuffered, including address and datalines. SupeRam 16 K byte is priced at$299 and available from Thinker Toys,1201 10th St, Berkeley CA 94710."

Circle 534 on inquiry card.

tmrnnrmatfffl

M1MH

254 May 1979 © BYTE Publications Inc

OvJLIU ol A I t oALto . . . J&nn€H&nce& a &8bea&tfn<i€taA in 'So^nfuUet. &eohtio4<ia^

A PICTURE MAY BE TAKEN BY OUR CAMERA,

STORED IN A COMPUTER IN REAL TIME AND THEN

DISPLAYED ON A CRT AT AN AFFORDABLE PRICE

VIDEO COMPUTER

PROCESSINGSYSTEM

THIS REMARKABLE VP-1 COMPUTER/INTERFACE KIT HAS THE FOLLOWING:

FEATURES

• IT PRODUCES COMPOSITE VIDEOOUTPUT IN A 128x128 MATRIXFROM A DIRECT MONITOR CONNEC-TION USING 8K OF MEMORY

• THE SYSTEM USES A STANDARDS 100 BUSS

• WILL NOT TIE UP COMPUTERSOFTWARE WHEN NOT ADDRESSED

• IT DISPLAYS CONTINUOUSLY IWHEN NOT ADDRESSED

• IT MAY PRODUCE PSEUDO COLORAND/OR GRAPHICS (UP TO 16 GREYLEVELS, 4 BIT BINARY)

GRAY LEVELS

THE CAMERA WILL TAKE BETWEEN15 AND 100 FRAMES/SECOND.THE CAMERA CONNECTS TO THEPROCESSOR WITH SEVEN LINES. THISINCLUDES VIDEO AND TIMING SIGNALSAPPLICATIONS

• CONTINUOUS SURVEILLANCE

• INSPECTION OF MOVING PARTSWITH PROPER STROBING

• VISUAL GRAPHIC INPUT TO ACOMPUTER

• CHARACTER OR PATTERNRECOGNITION

• PICTURES MAY BE TAKEN DIRECTLYFROM A TV WITHOUT ELECTRICALCONNECTIONS

• THE INTERFACE KIT MAY BE USEDSEPARATELY AS A 128 X 128

16 LEVEL GRAPHIC DISPLAY

OUR VP1 VIDEO SYSTEM CONSISTSOF THE FOLLOWING KITS:

• CCD 202C SOLID STATE VIDEO CAMERAKIT ASSEMBLED & TESTED . . .. $49900

9 VP-1 COMPUTER/VIDEO INTERFACESYSTEM (3 BOARDS) ASSEMBLED &TESTED $99900

• ASSEMBLED 8K MEMORY BOARD(OPTIONAL) $23500

THIS VIDEO COMPUTER KITCAN WORK WITH THE GE,REDICON, OR ANY OTHER128 X 128 SENSOR CAMERA

REGULATEDPOWER SUPPLIES

POWER SYSTEMS H PS1111

115-230V 50/60 cy. in 5v DC at 35A out.

6"x 16K"x 15Vi" 26 lbs. shipping weight $55-00

POWER SYSTEMS f PS1106

115-230V 50/60 cy. in 12v DC at 15A out.

5"x 16K"x 5" 19 lbs. shipping weight. $49.00

(OV PROTECT)

4001400!•1006400?4009401040114012401340144015401640174018

C/MOS (DIODE CLAMPED)

.18 4020

95 4031

18 4022

37 4023

.37 4024

.18 4025

IB 4027

29 4028

.75 4029

75 4030

.29 4035

1.05 4042

.90 4049

37 4050

.90 4053 -

90 4055 -

90 4066 -

18 4069 -

75 4071 -

18 "°72 -

'° 4076 -

~I 4516 -

80 4520

.95 74 COO -

33 74C02-

.97 74C08-

65 74C10-

35 74C73-

.45

.35 74C741.10 74C831.25 74C86

.70 74C93

■45 74C15

18 74C160 1.05■21 74C161 1.05

95 74C174 1.05

70 74C175 1.05.22 74C192 1.20

22 74C193.22 74C901.27 74C902.65 74C914

1.15

1.40

1.20

TITISlAIICSMH'Tnti

TMSMMNCBOfilTSD

CO«VSHT -

2N 3820 P FET $ 45

2N 5457 N FET $ 45

2N2646 UJT S .45

ER 900 TRIGGER DIODES' 4 SI 00

2N G028PROG UJT ^65

MINIATURE MULTI-TURN TRIM POTS100, IK, 2K, 5K, 10K, 20K, 50K,200K, IMeg, 2Meg, $.75 each 3/S2.00

CHARGED COUPLE DEVICES

CCD 201C 100x100 ImogoSunsor $95.00

CCD 202C 100x100 Image Stinsor $145.00

VERIPAX PC BOARD $4.00

This board Is a 1/1fi"slnglo sided paper epoxyboard, 4'/i"x6'/i" DRILLED and ETCHED whichwill hold up to 21 single 14 pin IC's or 8,16 or LSIDIP IC's with busses for power supply connector.

FP 100 PHOTO TRANS $ .50

RED, YELLOW, GREEN, or AMBER

LARGE LEO'S. 2" 6/S1.00

TIL-118 0PTO-ISOLATOR S .75

MCT-6 OPTO ISOLATOR $ .80

1 WATT ZENERS: 3.3, 4.7. 5.1, 5.6,9.1,

10, 12, 15, 18, or 22V 6/$1.00

MCM 6571A 7x9 character gen . . S 10.75

UNIVERSAL 4Kx8 MEMORY BOARD KIT

$69.95

32-2102-1 fully buffered, 16 address lines, on

board decoding for any 4 of 64 pages, standard

44 pin buss, may boused with F-8 & KIM

TRANSISTOR SPECIALS

2N6233-NPN SWITCHING POWER $ 1-95MRF-8004 a CBRF Transistor NPN * 75

2N3772 NPN Si TO-3 $ 1.00

2N1546PNP GE TO-3 $ .75

2N4908 PN'P Si TO-3 S 1.00

2NS086 PNP Si TO-92 4'S 1.00

2N3137 NPN Si RF $ .55

2N3919 NPN Si TO-3 RF . S 1.50

2N1420NPN Si TO 5 3/$ 1.00

2M3767 NPN Si TO 66 S .70

2N2222 NPN S. TO-18 . 5'S 1 00

2N3055 NPN S> TO-3 S .50

2N3904 NPN S. TO-92 . 6/$ 1.00

2N3906PNPSi TO 92 6/$ 1.00

2N5296 NPN Si TO-220 S 50

2N6109 PNP Si TO-220 S .55

2N3638 PNP Si TO-5 5/S 1.00

MPSA13NPNSi 4/$ 1.00

TTL IC SERIES «« <* »«'- «

Full Wave Bridges

1.20

1.75

1.00

DIP SOCKETS

B PIN .17 24 PIN .35

14 PIN .20 28 PIN 4q

16 PIN ,22 40 PIN .6018 PIN .25

SANKEN AUDIO POWER AMPS

Si 1010 G 10WATTS $ 7.80

Si 1020 G 20WATTS $15.70

Si 1050 G 50 WATTS $28.50

TANTULUM CAPACITORS

Silicon Power Rectifiers

4.000 MMi5.000 MHt6.000 MHl8.000 MHi10.000 MH*JOJOO^y^

RIBBON CABLEFLAT (COLOR CODED)f/30 WIRE26 cond. - .50/per fool40 cond. - ,75/por foot50 cond. • .90/per foot

CTS 206-8 eight position dip switch $1.60

CTS 206-4 four position dip switch $1.45

LIGHT ACTIVATED SCR's to 18.200 V 1A. .$.70

SILICON SOLAR CELLS2K" diameter ,4V at 500 ma $4.00

FND 359 C.C. .4" $ .60 LED READOUTSFCSS024 A digit DL-704C.A. .3" $.75

C.C. 8" display $5.95 DL 747 C.A. .6" $1.25

FND 503 C.C. .5" $ ,85 HP3400 .8"CC $1.95FND510C.A. .5" $ .85 HP3405-8"CA $1.95DL 704 .3" C.C. $ .85

_24QA

3 70 5,00

6.50

6 50 9.50

12.50 20.00

i REDICON 1021 Jlage

RS232 DB 25Pmale

CONNECTORS DB 25S femaleHOODS . . .

S2.95. $3.50

. $1.50

REGULATORS323K-5V3A. .$5.75 34K-12, 15

309K $1.10 or 24 V.

723 $ .50

320T-

5, 12, 15

$ 1.10

.$ 1.10340T-5,6,8, 12

15.18or24V$ 1.1078 MG $1.35

74158- .65

IMS - -B5

74?79 -74MA-74JOB -74301 -74376 -

DATA CASSETTES 1/2 HR £ .95

14 pin headers

MM 5387AA new clockdrive LED's 12/24 hrs..

:hip which will directlysupply & alarm $5.95

NO. 30 WIRE WRAP WIRE SINGLESTRAND 100' $1.40

.22UF 35V 5/$ 1.00.47UF 35V5/$1.00.68UF 35V5/$1.001UF 35V 5/S1.002.2UF20V6/$1.003.3UF 20V4/$1.004.7UF 15V5/$1.00

74LS SERIES

6.8UF 35V4/S1.0010UF 10V $.2522UF 25V $.4015UF 35V 3/$1.00

30UF 6V 5/$1.0033UF 20V $.4047UF 20V $.3668UF 15V $ .50

74LSO0 -

741S03 -

74LS90 - ,67

MLSIB1 -I41S1B] -HLS104 -

MLS1JS -

ULSWI -

7«LSW7 -

UlSSM -

74LSM9 -

HUM

74LSJ91

LINEAR Clfl

LM 10!LM30WJ4BLM30?LM 30BLM31ILM31BLM 324LM 339LM3S6LM 370LM377LM 3B0LM 3B2LM386LM 387LM 537LM 353 -LM 555LM566NE540L -

75

AlCO MINIATURE TOGGLE SWITCHESMTA 105 SPDT .... , S .95

MTA 206 DPDT S 1.70

MTA 206 P-DPDT CENTER OFF * 1pg5

MSD 206 P-DPDT CENTER OFF

LEVER SWITCH $ 1.86

PRV

1A

10A

25A

1.5A

6A 35A

100

.40

.70

1.30

.40

50 1.20

200

.70

1.10

1.75

.60

.70 1.60

400

1.10

1.60

?60

1.00

1.20 2.20

600

1.70

2.30

3.60

1.50 3.00

SOLID STATE SALES

P.O.BOX 74B

SOMERVILLE, MASS. 02143 TEL. 1617) 517 7053

WE SHIP OVEB 95%

OF OUR ORDERS THE

DAY WE RECEIVE THEM

Circle 340 on inquiry card.

BYTE May 1979 255

Mo)

LOGIC

for graphics!

SOFTWARE...

Graphic drivers for Dazzler,Matrox ALT-256 and 512, andVector Graphics.

Plus 3D Graphics for Apple II,TRS-80, 8080 and Z80, M6800,and BASIC.

HARDWARE...

Matrox ALT-256 and ALT-512display boards.

The engineering& graphicspeople

(217)367-0299

LOGIC

ox V, Savoy, IL 61874

Circle 357 on inquiry card.

DATA PROCESSINGSUPPLIES

Std. or Mini Floppy. . 2.98 ea.TRS-80 Cassette. . . . 1.49 ea,ANSI (notch)

Cassette 4.90 ea.

QumeorlBM6240

Ribbon 29.95 dz.

OTHER SUPPLIESAT SIMILAR BARGAINS

Order Now from

John Richards

KEY SUPPLY CO.

2101 S. IH 35 Suite 300

Austin, Texas 78741

(512)443-1347

All products from major manufac-turers, fully guaranteed. No limitwhile quantities last!

Circle 168 on inquiry card.

SEE US NOW!

INDUSTRY-WIDEOPENINGS

* Field Service Engineers-Local/National+ Software Engineers

* Systems Engineers

* Mechanical Engineers

* R A D EE Project Engineers

* Systems Analysts

* Project Leaders

* Programmers (All Levels)

Please contact us for further infor-mation on over 1200 industry-widepositions. All fees client paid.

CORICO CORPORATION

Technical Recruiters

301 South BroadwaySalem, NH 03079(603) 893-4511 or(617)729-0660

vaf

Circle 40 on inquiry card.

What's New?

MISCELLANEOUS

MIT Offers Video Tape Course inSemiconductor Devices

A course in semiconductor devicesby Professor Clifton Fonstad is beingoffered by Massachusetts Institute ofTechnology in the form of tutored videoinstruction. The course consists of 381 hour MIT classes plus problem sets,quizzes and solutions.

Starting with a basic presentation ofthe energy band viewpoint, this coursedeals with the physics, modeling, fabri-cation and application of semiconductordevices. Silicon devices are emphasizedin the context of integrated circuits.Physical models for devices are devel-oped to a point sufficient for viewersto understand the design and use ofsemiconductor devices. The course be-

gins with a presentation of much of therequired physics, so that students witha wide diversity of backgrounds shouldbe able to use the course effectively.

The video tapes are delivered in fourshipments of nine to ten tapes each.They may be kept up to six weeks, orthe course may be accelerated by re-questing earlier shipment of the nextcourse and returning tapes of thecompleted section.

The fee for participating in TVI is$900 plus $150 per noncredit student.There is no additional charge if thenumber of students exceeds 25. ContactDr John T. Lynch, director, TutoredVideo Instruction, Room 9-267, Massa-chusetts Institute of Technology,Cambridge MA 02139.■

Circle 608 on inquiry card.

Logic Probe for TTL and CMOSTesting from Heath

Heath Company has released theIT-7410/ST-7410 Logic Probes whichare designed for in circuit testing of TTL(transistor-transistor logic) and CMOSintegrated circuits. Features includeswitch selection of threshold levels for

either TTL or CMOS circuitry and lampsthat turn on when the input voltagecrosses the appropriate level. A memorycircuit is incorporated in the design ofthe unit to turn on a light emitting diodewhen either threshold level is crossed.

The new probes provide true logiclevel detection at high frequencies (noAC coupled) and detection of pulses asshort as 10 ns. Upper frequency limitsare 100 MHz (TTL or CMOS at 5 VDCsquarewave) and 80 MHz (CMOS at15 VDC squarewave). Power for theLogic Probe is drawn from the circuitunder test via two spring loaded, insu-lated clips. A ground lead is provided forhigh frequency operation. Probe over-load protection is 50 VDC continuousand 175 VDC for 5 seconds.

The IT-7410 is the kit version and ispriced at $39.95 and the ST-7410 is theassembled version and sells for $64.95.For more information about the LogicProbes, write to the Heath Company,Dept. 350-690, Benton Harbor Ml49022."

Circle 609 on inquiry card.

Speak to Me in MICR

This kit of magnetic ink characterrecognition letters makes it possible topersonalize your own shirts, tote bags,jeans, director's chair covers, and othercanvas or cotton items with a householdiron. The software applications kit isdesigned to help the authors of suchphrases as APL polisher, computersimulation, loose circuits, terminal case,and bubble logic, communicate creativelyeven when away from the computer.Each kit contains 118 letters, 40 num-bers and 44 computer widgets withcomplete instructions for application.The kit is $3.95 or $7 for two (add 10%for postage). Contact Martha Herman,114 W 17th St, New York NY 10011.Specify blue or white type whenordering."

Circle 658 on inquiry card.

•••••

•••••••...•••••••••••••••

•••••

$••••

••••■

•••••

•••••

§•••«.

•••••

:....

•••»■

•••••

•••••

:••••••••■

••••••

•••••■

••••••

••••••

•••••-

••••••

:••••••••••

•••••■

••••••

•••••■

••••••

••••••

§••••■

••••••

•••••■

••••••

•••••■••••-■•••••<

•••••■

••••••

••••••

••••••

£•••••

••••••

•••••■

•••••■

$•••••

••••••

•••••■

••••••

••••••

••••••

•••••<

•••••■

••••••

#•••■■•••••■

••••••

••••••

••••■•

•••••■

•••••■

•••••■

•••••■

§•••••

•••••

•••••■••••■•••••

• ••••

• •••••••••#•••••••••

••••■

:••••■•••••••••••••••••••••••••

•••••

•••••••••••••••

•••••'

•••••

••••••

•••••<

§••••

••••■

§>••••

•••••

•••••

••••■

•••••

•V

16K EPROM CARD-S 100 BUSS

V 8K LOW POWER RAM KIT-S 100 BUSS250 NS SALE!

'ADD $5FOR250NS!

OUR

BEST

SELLING

KIT!

USES 2708's!

Thousands of personal and business systems aroundthe world use this board with complete satisfaction.Puts 16K of software on line at ALL TIMES! Kit featuresa top quality soldermasked and silk-screened PC boardand first run parts and sockets. All parts (except 2708's)are included. Any number of EPROM locations may bedisabled to avoid any memory conflicts. Fully bufferedand has WAIT STATE capabilities.

OUR 450NS 2708'SARE $8.95 EA. WITHPURCHASE OF KIT

ASSEMBLED

AND FULLY TESTED

ADD $25

$129

KIT

(450 NS RAMS!)

Thousands of computer systems rely on this rugged, workhorse, RAM board. Designed for error-free, NO HASSLE,systems use.KIT FEATURES:

1. Doubled sided PC Board with soldermask and silk screen layout.Goldplated contact fingers.

2. All sockets included.

3. Fully buffered on all address and datalines.

4. Phantom is jumper selectable to pin67.

5. FOUR 7805 regulators are providedv on card.

Blank PC Board w/Documentation

$29.95

Low Profile Socket Set...13.50

Support ICs (TTL & Regulators)

$9.75

Bypass CAP'S (Disc & Tantalums)

$4.50

ASSEMBLED AND FULLYBURNED IN ADD $30 ,

16K STATIC RAM KIT-S 100 BUSS

*295

KIT

FULLY

STATIC, AT

DYNAMIC PRICES

WHY THE 2114 RAM CHIP?

We leel the 2114 will be the next industry standardRAM chip (like the 2102 was) This means price,availability, and quality will all be goodl Next, the2114 is FULLY STATIC! We (eel this is the ONLYway to go on the S-100 Buss! We've all heard theHORROR stories about some Dynamic RamBoards having trouble with DMA and FLOPPYDISC DRIVES Who needs these kinds olproblems' And finally, even among other 4KStatic RAM's the 2114 stands out! Not all 4K staticRams are created equal! Some of the other 4K'shave clocked chip enablelinesandvarioustimingwindows just as critical as Dynamic RAM's. Someof our competitor's 16K boards use these "tricky"devices. But not us! The 2114 is the ONLY logicalchoice (or a trouble-free, straightforward design

KIT FEATURES

1. Addressable as four separate 4K Blocks.

2. ON BOARD BANK SELECT circuitry(Cromemco Standard!) Allows up to 512K online!

3. Uses 2114 (450NS) 4K Static Rams.

4 ON BOARD SELECTABLE WAIT STATES.5. Double sided PC Board, with solder mask andsilk screened layout. Gold plated contact fingers

6 All address and data lines fully buffered

7 Kit includes ALL parts and sockets.

8. PHANTOM is jumpered to PIN 67

9. LOW POWER: under 2 amps TYPICAL from the«6 Volt Buss

10. Blank PC Board can be populated as anymultiple of 4K.

BLANK PC BOARD W/DATA—$33LOW PROFILE SOCKET SET—$12 ASSEMBLED & TESTED-ADD $30SUPPORT ICS & CAPS—$19.95 2114 RAMS—8 FOR $69.95

COMPLEMENTARY POWER TRANSISTORS

SILICON NPN AND PNP. TO-220 CASE.VCEO - 40V PD - 30 WATTS

FOR AUDIO POWER AMPS, ETC

TIP29 - NPNTIP30- PNP

YOUR CHOICE

3 FOR $1

16K DYNAMIC RAM CHIP

16K X 1 Bits 16 Pin Package. Same as Mostek 4116-4. 250 NS access. 410NS cycle time. Our best price yet (or this state of the art RAM 32K and 64KRAM boards using this chip are readily available These are new. fully-guaranteed devices by a major mfg. VERY LIMITED STOCK'

8 FOR $89.95

NOT ASSOCIATED

WITHDIGITAL RESEARCH

OF CALIFORNIA,

THE SUPPLIERS OF

CPM SOFTWARE.

450 ns. 2708 EPROMS

Now full speed! Prime new units from a major U.S.Mfg. 450 N.S. Access time. 1K x 8. Equiv. to 4-1702A's in one package.

$15.75 oa. $J)95 4 FOR $50°°

PRICE CUT J

NATIONAL SEMICONDUCTOR NEW!

CAR CLOCK MODULE - #MA6008

$6

99

Originally used by HYGAIN to indicate time andchannel on an expensive C.B. Mini size, selfcontained module. Not a Kit. Four digits pluseach flashing indicator for seconds. Includes MM5369and 3.58 MHZ crystal for super accurate time base.With hookup data.

MFGR's CLOSEOUT

INCLUDES CRYSTAL TIMEBASE!WORKS ON 12 VDC!

LIMITED QTY.

Z-80 PROGRAMMING MANUAL

By MOSTEK, or ZILOG. The most detailed explanationever on the working of the Z-80 CPU CHIPS. At leastone tull page on each of the 158 Z-80 instructions. AMUST reference manual for any user of the Z-80. 300pages. Just off the press $12.95

EXPERIMENTER'S HEATING PLATE

Large Manufacturers Surplus. 5'/ix10V2 in. Madeof 3/8 in. tempered glass with heating elementlaminated on back. Works off 120 VAC.Protected by thermostat and two thermal fuses.Rated 120 Watts. Use for any heatingapplications. Perfect for heating ferric chlorideto increase PC Board etching efficiency. Unitsare brand new, non-submersible.

WHILE THEY LAST—$2.99 each

MALLORY COMPUTERGRADE CAPACITOR

30,000 MFD 15WVDC

Small: 3x2 Inches

$1.99 ea. 3 For $4.99

GENERAL INSTRUMENTFULL WAVE BRIDGE /^

4 AMP 600 PIV <\sP ■

3/4 IN SQUARE - WITH LUGS

75$ - 3 FOR $2

New' REAL TIMEComputer Clock Chip

N.S. MM531 3. FeaturesBOTH 7 segment andBCD outputs. 2B PinDIP. $4.95 with Data

"THE COLOSSUS"FAIRCHILD SUPER JUMBO LED READOUT

A full .80 inch character. The biggest readout we have

ever sold! Super efficient. Compare at up to $2 95 each

from others' YOUR CHOICE

FND 843 Common Anode ^ . .„

FND 850 Common Cathode * I ea (6 for $6.95)

.V

Digital Research Corporation

m (OF TEXAS)

P.O. BOX 401247Y GARLAND, TEXAS 75040 • (214) 271-2461

TERMS: Add 30C postage, we pay balance Orders under $15 add 75c handling NoCOD We accept Visa. MasterCharge, and American Express cards Tex Res add5% Tax. Foreign orders (except Canada add 20% P & H 90 Day Money BackGuarantee on all items

•••••••

•••••

■••••

•••••

•••••

•••••

•••••

•••••

■••••

•••••

•••••

•••••

•••••

•••••

■••••

■•••••

•••••

•••••

•••••

•••••

•••••

••••••

'•••••

••••••

••••••

■•••••

■•••••

••••••

••••••

••••••

••••••

■•••••

■••■••■•••••

••••••

••••••

—•••••••••

■•••••

•■••••

■•••••

••••••

■••••■

—•••■•••••

••••if

••••••

■••••«

•••••■

•••••■

•••••§

■•••••

••••••

•••••«

••••••

■••••«

—••f

•••••I•••••I

■••••«■••••a••••••

•••••I

■••••••••••«

••••••

■■•••«••••••

••••••

■■••••

•■••••

••••••

•••••«

••••••

•••••■

•••••«

•••••■•••••

■ ..•«•••••■

••••••

■••••<

-•••t

•••••a

■••••4

• •••«■••••I

■•••••

•••••f

••••••

•••••■

•••••■

•••••€

■•••••

••••I

• •••1

••••••

•••••■

•••••

'•••••

••••••

■•••••

■•••••

••••«

Circle 92 on inquiry card.

BYTE May 1979 257

What's New?

of INTEREST to DESIGNERS

Switching Power Supplies With PowerFail Signal

Circle 559 on inquiry card.

High Speed Monolithic 8 BitDigital to Analog Converter

A 10 ns settling time enablesMotorola's new state of the art MC-10318 to convert digital informationinto analog signals in high speed instru-mentation, digital displays, storage oscil-loscopes, radar processing and televisionbroadcast applications.

Accurate to 8 bits [±Vi leastsignificantbit), and monotonic over a 0 to 70° C(32° to 158° F) temperature range,the new digital to analog converter canoperate in systems with data rates above25 MHz. Inputs are compatible withMECL 10,000 logic, for direct inter-facing with high speed processing sys-tems. Operating from a standard —5.2 Vpower supply, the integrated circuitscomplementary outputs can produce51 mA full scale over a compliancerange from —1.3 V to +2.5 V, while dis-sipation is typically less than 500 mW.Maximum nonlinearity is ±0.19 percentof full scale.

The 16 pin ceramic dual-in-line pack-age device is priced at $26 in quantitiesof 100 thru 999. For further informa-tion, contact Motorola SemiconductorProducts Inc, POB 20912, Phoenix, AZ85036.-

Circle 561 on inquiry card.

This new series of switching powersupplies has been designed for smallcomputers utilizing nonvolatile mem-ories. The DS151 series features a powerfail signal as standard feature. Should apower failure of one half cycle occur,the TTL compatible power fail signalwarns the computer (for example withan interrupt) that primary AC power hasbeen lost allowing the program in thesystem to store the state of the machinein nonvolatile memory before DC powerfails several milliseconds later. This powerfailure warning feature thus allows for"fail safe" operation when power isinterrupted. Three models are presentlyavailable: 5 V at 30 A, 12 V at 12 A,or 15 V at 10 A. All are regulated towithin plus or minus 0.1%. The powersupplies will operate within a wide inputvoltage range from 100 to 130 VAC. Thepower fail series is priced at $194 inproduction quantities (1000) and $289for prototype quantities. Contact DigitalPower Corp, 2060 The Alameda, SanJoseCA 95126."

Guide to Texas Instruments Line ofOptoelectronic Devices

A publication entitled Optoelec-tronics Master Selection Guide is avail-able free from Texas Instruments Inc,POB 5012, M/S 308, Dallas TX 75222.CL-346 is a 56 page product selectionguide and catalog designed to providedesigners with a reference to Tl's lineof optoelectronic devices.

This publication covers infraredemitters and detectors, light emittingdiodes, optocou piers, arrays and as-semblies, single digit displays, multidigitdisplays, hermetic displays, and electro-optical components. Packaging infor-mation and key features of all Tl opto-products are included. Basic featuresand descriptions are presented in shortform to help in the selection of theproper devices. A complete cross-reference guide and an alphanumericindex of all devices in the guide areincluded."

Circle 562 on inquiry card.

Floppy Disk Read AmplifierFrom Motorola

Motorola's new MC3470 floppy diskread amplifier combines linear and digi-tal functions ordinarily requiring severalintegrated circuits to accurately extractdigital information from magnetic floppydisk read heads. The disk signal, whichmay be noisy and exhibit a number ofwaveform variations, is processed by theintegrated circuit to produce a standard-ized logic output.

Accepting a differential input fromthe magnetic head, in the presence ofcommon-mode noise, the signal is ampli-fied, routed through an external RC (re-sistor capacitor) filter network, and thensharpened by an active differentiator.Peaks are detected by a comparator,which drives a digital time domain filterconsisting of pulse generators, a oneshotmultivibrator and a D type flip flop. Theresulting digital output exhibits none ofthe amplitude variations and jitter pre-sent in the input, and can drive standardlogic forms with a guaranteed maximumpeak shift of 3.5 percent.

The MC3470 floppy disk read am-plifier is available in an 18 pin plasticdual-in-line package at the 100 pieceprice of $5.95. For more information,contact Motorola Semiconductor Prod-ucts Inc, POB 20912, Phoenix AZ85036.■

Circle 560 on inquiry card.

Video Speed Analog to Digital Converter

This new analog to digital converterintegrated circuit, the TDC 1014J, fea-tures 6 bit resolution and a 30 MHzsample rate. Packaged in a 24 pindual-in-line package, the device providesvideo speed data conversion without theneed for an external sample and holdcircuit.

The TDC 1014J requires only a singleconvert command to digitize an analogwaveform between 0and-1 V. Includedin the circuit are 63 strobed com-parators, encoding logic, and a 6 bitdata latch with TTL outputs. Outputmode controls provide either straightbinary or two's complement data.

The TDC 1014J is priced at $186in quantities of 100. Contact TRWLSI Products, POB 1125, RedondoBeach CA 90278."

Circle 563 on inquiry card.

258 May 1979 © BYTE Publications Inc

CaMFornja DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

Hazeltine1400

cost effective

CRT TERMINAL

*735

plus

shipping

The Hazeltine 1400 Vidio Display Terminal is designed tooptimize interactive real-time operations. The interface iscapable of either local or remote connection through an EIARS232-C interface at baud rates that are switch selectableup to 9600 baud. '

• All 128 ASCII Codes | ■-1 o | » | ■ | ■ | t | . | u | i|~| • |.j.| .— |

• 64 Displayable Characters |„.| » I , I ,1 ,1 „ I ,1 , I iKI • I ■ I-. I

• 24 Lines; 12 inch Screen I I I I I I I I i 1 - 1 . i * I T I

• 80 Characters per Line I I | I ' I c I " I ' I " I » I I If I" 1~1

• Self Diagnostic Test | |

Immediate Delivery

100 Mother Board

IB slotIMS*

I MODEL 43

Even II we have to give them■ way, we're Koine, to ship more43's in 1979 than the aicrefateof atl our competitor!.

Model 43AAAEACH 1_j_

875.

(TTL)10

850.

*925. 875. 850. 825.

RS-232 Interface"*:" Add*75P0 thfw'nc ' ITS. } I

CONNECTORS

C^ «°» !

ninnnnninfl

H j 7>

Uv.v.v.v.v.-.v;°1

your choice

0B25P

male plug & hood

or

DB25S female

»3.95

Qty. fe. male hd.10 3.45 2.45 1.1525 3.15 2.25 1.05100 2.15 1.90 .95500 2.25 1.(0 .15IK 1.97 1.37 .73

EdgeConnectors

GOLD100 PIN

IMSAI/ALTAIR

lanai aolder .1251.250Imial w/w.l25center*•Italr eoldertail.MOrowSPECIALS22/44 Kim eyelet.150"25/50 solder tab .150"36/72 wide post w/w .156

•4.95 3/tlO.OO• 4.55 3/413.0045.95 3/115.00

41.95 3/45.0041.09 3/(2.0041.95 3/45.00

r$

A1 CpntKh certified oigitai,*L bCOtCn CASSETTES

*3.85 BRAND

Diskettes

8inchSoft(IBMi8 inch 32 sectorMini Soft sec.Mini 10 sectorMini 16 sector

Won't drop a BIT!

MEMORY

Shugart Associates

SA800-R Floppy Disk Drive

The most cost effective way to store data proc-essing information, when random recall is aprime factor. The SA800 is fully compatiblewith the IBM 3740 format. Write protect cir-cuitry, low maintenance & Shugart quality.

$44950

'24.88

., . .vs, $ UNlVACKEYBOARD

TRS-80 §|

APPLE II

16k memory (8)4116's

APPLE RS-232

Serial Interface *59.95

InterfacesApple II toTeletype orother seri-al printer.

ELECTRONICSYSTEMS

DISKETTES

VCrDdTim Mini - Soft sect

sector

World PowerTRS-80 Interface

MSIOa I/OModual §129.95

MCCa master control. .. $149. 95

RSBa S-100 interface $289. 95

EPRSOa Eprom prog $159. 95

EPRlOOa Eprom prog. . . $159.95Data sheet available upon request

SPECIAL

APPLE II

3K MET

COLOR • GRAPH II

$1024

IBK MEMORY

COLOR • GRAPHICS* SOUND

Mlc.Sug.Retail....

PLUS SHIPPING

DiqiCASTA/V-lOO

R.F. MODULATOR

$*)QCjC Broadcast bothefc*J. **audio and vidioon your existing colortelevision. Recommend-ed for the Apple II.

Extender Board

mullen 34 s

Facilitates design and trou-bleshooting of all S-100 mi-crosystems. Includes logicprobe along with high-lowand pulse LED display.Also available, the MullinCB-1 controller board $88.

Attention TRS-80 Owners

• As you may be aware, publishersrequire advertisers to submit theirad copy 60 to 90 days prior to "press"date. That much lead time in a volatile market place,such as memory circuits, makes it extremely difficultto project future cost and availability.To obtain the best pricing on memory we have madevolume commitments to our suppliers, which in turnaffords us the opportunity to sell these circuits at themost competitive prices. Please contact us if youif you have a demand for volume state of the art mem-ory products.

32-99 100-5C -999

STATIC

21L02 450nS.21L02 250nS.2114 1KX4 4502114 1Kx4 3004044 4Kxl 450

4044 4Kxl 250

4045 1KX4 4504045 1KX4 2505257 low pow.

1-311.491.696.958.955.959.958.959.957.95

1K+

1. 191.496.508.505.509.508.509.507.50

1.051.456.258.005. 009.008.009.007.05

.95

6.00 5.75

SPECIAL CIRCUITS

Z80A 4 MHz.

8080A CPU

8085

8086 Intel 16 bits

TMS9900 16 bits

24.95

9.95

22. 50

AY5-1013A UART 4.95Floppy Disc ControllersWD 1771 single D. 39. 95WD 1781 Double D 65.00WD 1791 D/D3740 *

E PROMS 1-15

1702A 2K 4.95

2708 8K 9.95

2716 16K 19.95

2532 32K »

16-634.50

64+4.009.00

WORDPROCESSING

TERMINAL

LAWYERS, BUSINESSMEN This terminal, when properly

interfaced to your computer, allows you the flexibility of gener-ating computerized error free correspondence. Gives your clientsand business associates the impression that each letter was per-sonally typed for the recipient. Compose your correspondenceand "Fill-in" forms on your computer, edit on your screen andwhen your text is letter perfect instruct your computer to printan error free copy on your terminal.

The heart of this terminal is the durable IBM Selectric Type-writer. If maintenance is ever required, the World Wide networkof IBM service centers is at your disposal. The terminal is func-tional as a regular office typewriter when not performing com-puter work.

Over the next several months 150 of these terminals will be re-moved from service, returned to the manufacturer, inspectedand brought into perfect condition. Last Spring we offered forsale two-hundred Diablo printers. Within three weeks every unitwas sold. Don't pass this opportunity to purchase a word pro-cessing terminal at an excellent price.

Selectric Terminal $650 (FOB Los Angeles). Shipping to the Eastcoast aprox. $35. Combined TRS-80 interface and power supplyavailable. Documentation will be supplied to those individuals whowant to do their own custom interfacing.Sorry, but credit cards will not be accepted on this purchase.

•19.98

S-100 PROTOTYPE BOARD |

OPIOO-MaxImum design ver- c *satilltv along wllti standardaddress decoding and buf-fering tor S100 SYllems.Room tor 32 uncommitted 16pin IC's. 5 bus buffer tt de-coding chips. 1 DIP addressselect switch, a 5 volt regu-lator and morewwioo-wire wrap bread-board, similar to the GP100.Allows wire wrap of all sinsof sockets in any slies ofsockets In any combinationAn euro regulator positionfor multiple voJloge op plica-

Thumbwheelpdra. switch

Ten position

BCD

'139,,.

o!co

I

10 50

U",9 .89

CAPACITORS

ELECTROLYTICS

jt. 10 50

$.98

your choice

50 100 Ml

80,000/lOv. 395 349 2.954500/50v.S»9 13S 119

1000/15v S.5S 49 45anal

5,88 .81.73 .66 |SPDT Miniature Toggles

7101 C8.K ON-HONE OH

7107 jbt ONOFFInmt.OH) I

7108 CK ON-(moment. OH)

Becker IBT DPDT

Rotary 3P-4-Pos.

Rotary 3P-6-POS.

Push B (N.0.) 5.39ea.4/51

DIP Switch

SPST

DISCOUNT ' |

Wire WfQpXenter

IC SOCKETS

Wire wrapea. 25 50

low profileea. 25 50

i

17< 16 15

14

37' 36 35

18 17 16

16

38 37 36

19 18 17

24

99 93 85

36 35 34

40

169 155 139

63 60 58

son.

'.98

rWNARwiSr

500 1,000 11,00059. 515. 5105.

VISA

(213)6799001

. COD's. Orderi residents add '

Circle 39 on inquiry card.

• payment, art.1 shippe

What's New?

PERIPHERALS

New Video Product Line fromEnvironmental Interfaces

Environmental Interfaces' new videoproduct line digitizes video data fromstandard EIA or NTSC TV cameras,

deposits the data in the computermemory via the S-100 bus, and uses thedigital data to reconstruct a picture ona monitor. The data is digitized into 16gray levels with a maximum resolutionof 512 pixels per line by 256 lines.

The Real Time Video Digitizer (RT)digitizes the picture in 1/60 second anddeposits it in the main memory as asingle operation using direct memoryaccess. The Gray Level/Graphics MonitorInterface (Ml) displays pictures in 16gray levels or displays graphics in blackand white. The Ml uses block directmemory access control between com-puter main memory (requiring an addi-tional interface) to develop the videosignals for the monitor. In combination,the RT and Ml can simultaneouslydeposit a picture in computer memoryand display it, providing flicker-freedigitized motion pictures or a frozen

image. The Programmable Video Digitizer(PVD) digitizes the image in a linebypass fashion under software control.Resolution of the PVD is completelyvariable up to 512 pixels per line by 256lines. If the RT or Ml is used, horizontalresolution must be 64, 128, 256, or 512pixels per line, and vertical resolutionmust be 64, 128, or 256 lines. Resolu-tion is varied by DIP switches.

The RT, PVD and Ml each consist oftwo printed circuit boards which pluginto the S-100 bus, utilizing one slotfor each board. A combined RT and Mlis available which consists of threeboards. The prices are as follows: PVD,$495; RT, $595; Ml, $595; and the RTand Ml, $850. For further informationwrite to Environmental Interfaces,23414 Greenlawn Av, Cleveland OH44122.-

Circle 535 on inquiry card.

Call Me Tuesday at Four!

A combination of crystal derivedreal time clock, hardware interrupts,and programmable read only memorysoftware come together in the Time-minder, an S-100 compatible boardby Objective Design Inc, POB 20325,Tallahassee FL 32304. Timeminder soft-ware will maintain a list of user requestedwake up calls and alert the indicatedroutines at appointed times. Intervalsrange from ms to days. User calls canalso be based on the Timeminder timeof year calendar. Wake up requests arethen given as time and date. Becausethis is an interrupt driven device, thecomputer is always available for non-timed activities while waiting for thenext alarm. Timed interrupts may alsobe applied to control of time criticalhardware and software.

Timeminder software is held in onboard programmable read only memory,with scratchpad programmable memoryalso available on the card. The inter-rupts and the required CALL instruc-tion vectors are all generated on board.Additional interrupts are free for generalsystem use.

The Timeminder in kit form, whichincludes one programmable read onlymemory, is $224.95 with shippingcharges of $5 to Canada and $20 forother foreign countries."

Circle 536 on inquiry card.

PerCom Manufactures Add-On DiskDrive for Radio Shack TRS-80

PerCom has recently announced anadd-on 5 inch floppy disk drive for theRadio Shack TRS-80 computer. The Per-Com unit, which includes the drive, drivepower supply, and enclosure, is identicalin all important respects to the TRS-80Mini Disk System. The drive itself is theShugart SA-400. The data transfer rate is125 thousand bits per second, and accesstime is a fraction of a second. The drivepower supply features overload currentlimiting and thermal protection.

Interfacing of disk drives to the TRS-80 computer is accomplished with theRadio Shack TRS-80 Expansion Inter-face, which accommodates up to fourdrives (and other peripherals), and in-cludes controller electronics and a fourdrive cable. Operating software for alldrives is obtained by the user with the

purchase of the first drive from RadioShack.

The PerCom unit sells for $399. Forfurther information, contact PerComData Company Inc, 4021 Windsor,Garland TX 75042."

Circle 537 on inquiry card.

Buffered APL/ASCII Video Terminal

Offering protected formats, videoenhancements and APL overstrike andASCII underscore, the Datamedia Elite3045A is a microprocessor based, fullybuffered, APL/ASCII video terminal. Itfeatures: character interactive, line orpage mode communications; 103 and202 modem compatibility and switchselectable EIA and optional 20 mAcurrent loop interfaces; underscore inAPL or ASCII mode; formatted dataentry with protect capability; directconnect through RS-232C or 20 mAcurrent loop or remote connectioncompatible with Bell 103 or 202modems; cursor addressability and re-mote position sensing; ten user functionkeys; multiple level video display capa-bility; no memory address space requiredto support screen enhancements; de-tached keyboard to provide expandedapplications flexibility; and 15 data

transmission rates, up to 9600 bps,selectable from keyboard.

The Elite 3045A is priced at $1995.Contact Datamedia Corp, 7300 NCrescent Blvd, Pennsauken NJ 08110."

Circle 538 on inquiry card.

260 May 1979 © BYTE Publications Inc

Ji

Read this

andsaveover

ii

oo

Introducing the

Vista V80 Mini Disk System

C 23% MORE STORAGE CAPACITY — Increases your usablestorage capacity 23% from 55,000 to 67,800 bytes on drive one.

□ FASTER DRIVE — Electronically equal to the TRS-80 Mini-Disk System, butup to 8 times faster (Track-to-track access in 5ms for the V80 versus 40msfor TRS-80).

□ DOES NOT VOID TRS-80 WARRANTY — V80 also has 90-day warranty

□ HERE'S WHAT YOU GET:

Minifloppy disk drive/Power Supply/Regulator board/Compact case

□ DOUBLE DENSITY FOR DOUBLE STORAGE — The V80 willwork with the Vista double-density expansion unit when available.

□ SHIPPED TO YOU READY TO RUN — Simply take it out ofthe box, plug it in and you're ready to run.

P*Pu

PLUS MORE GOOD NEWS - Vista has a new support team, new address, newtelephone, and a new owner, Vista is now part of Advanced Computer Products.

ALSO AVAILABLE FROM THE NEW VISTA.

Vista V-200 Double Density Mini Floppy System with S-100 Controller, CPM on 5%",

power supply & case $699.00

Vista V-250 Dual Shugart 8" Floppy System with S-100 Controller, CPM, BASIC "E",power supply & slimline case $2199.00

SpecialIntroductoryPrice:

Vi/ta

Vista Computer Company

1320 E. St. Andrews Place, Unit I

Santa Ana, CA 92705

(714)751-9201

TWX 910-595-1565

Circle 9 on inquiry card.

BYTE May 1979 261

What's New?

PERIPHERALS

^m^

■OMPCTSCTM .tACPMttriSn

DEC LA 36 Compatible AcousticCoupler

Designated A242A/36, this newacoustic coupler designed with TTLis made specifically for Digital Equip-ment Corporation's LA 36 teleprinterterminal. The A242A/36 offers fullduplex 103/113 operation at up to450 bps. The A242A/36 features posi-tive handset lock, direct microphonehandset coupling and direct connectionto terminal via permanently attachedJ4 cable.

To increase accuracy of transmittedand received data, the unit features built-in quartz crystal controlled circuitry,double flange seals, special circuitry forreduction of sidetone effects, and specialrubber feet for extra vibration isolation.

The A242A/36 is housed in a com-pact, lightweight case and is priced at$265. For further information contactAnderson Jacobson lnc,521 Charcot Av,San Jose CA 95131."

Circle 539 on inquiry card.

Turnkey Video Interface Board

The CRT-1000 is a complete 16 lineby 64 character video interface. It in-cludes a 1 K by 6 bit programmablememory, a 64 by 7 by 5 row scancharacter generator, and a video pro-cessor, in addition to the supplemen-tary logic. It accepts TTL data levelsin ANSI standard ASCII and providesa composite video output which canbe directly connected to any standardvideo monitor.

Power required by the CRT-1000 is5 V at approximately 350 mA. Videoand synchronous levels (positive ornegative) are switch selectable. Syn-chronous timing is crystal controlled;however, the dot frequency (characterwidth) may be adjusted to accommodatedifferent video screen widths and scanrates.

The CRT-1000 responds to a largegroup of cursor control commands,including: erase page and home cursor,home cursor, erase to end of line andreturn cursor, return cursor, cursor left,cursor right, cursor up and cursor down.An erase line function which does notaffect the cursor position is provided.When the cursor reaches the bottom lineof the display and a line feed code isactivated, the entire display is shiftedup one line. Additionally, a roll screencommand is available which causes thebottom line to be replaced by what waspreviously at the top of the screen insteadof a blank line as in line feed.

The CRT-1000 measures 3.5 by 5inches (8.89 by 12.7 cm). The price is$11 9.95. For further information contactNucleonic Products Company, POB1454, Canoga Park CA 91304."

Circle 540 on inquiry card.

Acoustic Coupler for Personal ComputerUse

This acoustically coupled modem as-sembly set has been developed specific-ally for the personal computer market.According to the manufacturer, the

mocjem can be assembled in less than 15minutes with a screwdriver and a pair ofpliers. No soldering is required. Since allcomponents are tested, calibrated andburnt in, test equipment is unnecessary.

The coupler will operate in both orig-inate and answer modes, with full andhalf duplex capability. An RS232C/20mA interface is standard. No special tele-phone lines are required, and the deviceis fully compatible with telephone com-pany 300BPS equipment (103/113series).

The price is $169.95 and the companyoffers a 20 day, money back guarantee.An additional 120 day warranty on partsand labor is also provided. For furtherinformation, contact Dynamic Devices,1087 Mississippi St, San Francisco CA94107.-

Circle 541 on inquiry card.

LDM 404B Synchronous LimitedDistance Modem

The Model LDM 404B limited dis-tance modem is designed for full duplexsynchronous communication at 4800bps out to 50 miles. LDM 404B oper-ates over 4 wire voice grade 3002 lines(conditioned or unconditioned), T Car-rier and most other carrier systems. Thetransmitter uses quaternary amplitudemodulation followed by frequency trans-lation to a narrow band centered in thevoice channel. The receiver uses delayequalization with digital filtering tech-niques. The alignment is performed witha built-in tuning meter and it has a self-checking capability. Installation requiresno special tools or test equipment. TheLDM 404B is available as a stand-aloneunit or in a rack mounted version. Formore information, contact GandalfData Inc, 1019 S Noel, Wheeling IL60090."

Circle 542 on inquiry card.

Light Pen for Commodore PET 2001

A self-contained light pen whichplugs directly into the Commodore PET2001 user port has been announced bythe 3G Company Inc, 37a WilliamsCanyon Rd, Gaston OR 97119. This lightpen makes it possible to bypass thePET's keyboard and interact directlywith the information displayed on thevideo screen. The light pen adds versa-tility to most graphics programs. It alsoadds unique capabilities for applicationprograms aimed at the noncomputeroriented person.

The light pen is complete and readyto plug into the PET. A sample programand programming instructions come withthe pen. The entire package sells for$24.95."

Circle 543 on inquiry card.

262 May 1979 © BYTE Publications Inc

P.O. Box4430X Santa Clara, CA 95054

RCA Cosmac Super Elf Computer $106.95

Compare features before you decide to buy anyother computer. There is no other computer onthe market today that has all the desirable bene-fits of the Super Ell for so little money. The SuperElf is a small single board computer that doesmany big things. It is an excellent computer fortraining and for learning programming with itsmachine language and yet it is easily expandedwith additional memory, Tiny Basic, ASCIIKeyboards, video character generation, etc.The Super Elf includes a ROM monitor for pro-gram loading, editing and execution with SINGLESTEP for program debugging which is not in-cluded in others at the same price. With SINGLESTEP you can seethe microprocessorchip opera-ting with the unique Quest address and data busdisplays betore, during and after executing in-structions. Also, CPU mode and instruction cycleare decoded and displayed on eight LED indicatorlamps.

An RCA 1861 video graphics chip allows you toconnect to your own TV with an inexpensive videomodulator to do graphics and games. There is aspeaker system included for writing your ownmusic or using many music programs alreadywritten. The speaker amplifier may also be usedto drive relays for control purposes.A 24 key HEX keyboard includes 16 HEX keysplus load, reset, run, wait, input, memory pro-

tect, monitor select and single step. Large, onboard displays provide output and optional highand low address. There is a 44 pin standardconnector for PC cards and a 50 pin connector forthe Quest Super Expansion Board. Power supplyand sockets for ail IC's are included in the priceplus a detailed 127 pg. instruction manual whichnow includes over 40 pgs. of software info, in-cluding a series of lessons to help get you startedand a music program and graphics target game.Many schools and universities are using theSuper Elf as a course of study. OEM's use it fortraining and research and development.Remember, other computers only offer Super Elffeatures at additional cost or not at all. Comparebefore you buy. Super Elf Kit $106.95, Highaddress option $8.95, Low address option$9.95. Custom Cabinet with drilled and labelledplexiglass front panel $24.95. NiCad BatteryMemory Saver Kit $6.95. All kits and optionsalso come completely assembled and tested.Questdata, a 12 page monthly software publica-tion for 1802 computer users is available by sub-scription for $12.00 per year.

Tiny Basic for ANY 1802 System

Cassette $10.00. On ROM $38.00. Super Elfowners, 30% off. Object code listing with man-ual $5.00. Object list, manual and paper tape$10.00. Original ELF Kit Board $14.95.

Super Expansion Board with Cassette Interface $89.95

This is truly an astounding value! This board hasbeen designed to allow you to decide how youwant it optioned. The Super Expansion Boardcomes with 4K of low power RAM fully address-able anywhere in 64K with built-in memory pro-tect and a cassette interlace. Provisions havebeen made for all other options on the sameboard and it fits neatly into the hardwood cabinetalongside the Super Elf. The board includes slotsfor up to 6K of EPROM (2708, 2758, 2716 or Tl2716) and is fully socketed. EPROM can be usedfor the monitor and Tiny Basic or other purposes.A IK Super ROM Monitor $19.95 is available asan on board option in 2708 EPROM which hasbeen preprogrammed with a program loader/editor and error checking multi file cassetteread/write software, (relocatible cassette file)another exclusive from Quest. It includes registersave and readout, block move capability andvideo graphics driver with blinking cursor. Breakpoints can be used with the register save featureto isolate program bugs quickly, then follow withsingle step. The Super Monitor is written withsubroutines allowing users to take advantage ofmonitor functions simply by calling them up.

Improvements and revisions are easily done withthe monitor. If you have the Super ExpansionBoard and Super Monitor the monitor is up andrunning at the push of a button.Other on board options include Parallel Inputand Output Ports with full handshake. Theyallow easy connection of an ASCII keyboard to theinput port. RS 232 and 20 ma Current Loop forteletype or other device are on board and if youneed more memory there are two S-100 slots forstatic RAM or video boards. A Godbout 8K RAMboard is available for S135.00. Also a 1K SuperMonitor version 2 with video driver for full capa-bility display with Tiny Basic and a video interfaceboard. Parallel I/O Ports $9.85, RS 232 $4.50,TTY 20 ma i/F $1.95, S-100 $4.50. A 50 pinconnector set with ribbon cable is available at$12.50 for easy connection between the SuperElf and the Super Expansion Board.The Power Supply Kit for the Super ExpansionBoard is a 5 amp supply with multiple positiveand negative voltages $29.95. Add 54.00 forshipping. Prepunched frame S5.00. Case$10.00. Add $1.50 for shipping.

Auto Clock Kit $15.95

DC clock with 4-.50" displays. Uses NationalMA-1012 module with alarm option. Includeslight dimmer, crystal timebase PC boards. Fullyregulated, comp. instructs. Add $3.95 for beau-tiful dark gray case. Best value anywhere.

RCA Cosmac VIP Kit $229.00

Video computer with games and graphics.Fully assem. and test. $249.00

Not a Cheap Clock Kit $14.95

Includes everything except case. 2-PC boards.6-.50" LED Displays. 5314 clock chip, trans-former, all components and full instructions.Orange displays also avail. Same kit W/.60"displays. Red only. $21.95 Case $11,75

GO Hz Crystal Time Base Kit $4.40

Converts digital clocks from AC line frequencyto crystal time base. Outstanding accuracy. Kitincludes: PC board, IC, crystal, resistors, ca-pacitors and trimmer.

Digital Temperature Meter Kit

Indoor and outdoor. Switches back and forth.Beautiful. 50" LED readouts. Nothing like itavailable. Needs no additional parts for com-plete, full operation. Will measure -100° to+ 200CF, tenths of a degree, air or liquid.Very accurate. $39.95

Beautiful woodgrain case w/bezel $11.75

NiCad Battery Fixer/Charger Kit

Opens shorted cells that won't hold a chargeand then charges them up. all in one kit w/fullparts and instructions. $7.25

PROM Eraser Will erase 25 PROMs in15 minutes. Ultraviolet, assembled $34.50

Rockwell AIM 65 Computer

6502 based single board with full ASCII keyboardand 20 column thermal printer. 20 char, al-phanumeric display, ROM monitor, fully expand-able. $375.00. 4K version $450.00. 4K Assem-bler $85.00, 8K Basic Interpreter 3100.00.Power supply assembled incase $60.00.

TERMS: $5.00 min. order U.S. Funds. Calif residents add 6% lax.BankAmericard and Master Charge accepted.Shipping charges will be added on charge cards.

7J16IN71162N

71163N7-H74N

74175N

Ml »0N74192N

74298N74365N74366N74367N

74LS00 TTL

74LS00N7-1LS02fJ74LS0-1N74LS05N74LS0BN74LS10N74LS.13N74LS14N7.1LS2QN74LS22N74LS28N741S30N74LS33N74LS38N74L57-1N74LS75N74LS9QN74LS93N74LS95N74LS107N74LS112N74LSII3NMLS132N74LS136N74LS15TN74L5155N74LS157N74LS162N74LS163N74LS174N74LSI90NMLS221N74LS2S8N74LS367N

LINEAR

CA3045

CA3046

CA3081

CA3082

CA30B9

LM301AN AH

LM305H

LM307N

LM30BN

LM309H

LU309K

LM311H'H

LM317T.K

LM31B

LM320K-5

UM323K-5

LM320K-12

LM32K'15

LM330T-5

LM320T-B

LM320T-12

LM320T-15

LM324N

LM339N

LM340K-5

LM340K-8

LM340K-12

LM340K-15

LM340K-24

LM340T-5

LM340T-8

LM3J0T-I2

LM340T-15

LM340T-1B

LM34QT-24

LM343H

LU350

LM370

LM377

LM2902LM3900NLM390S

LM3909N

MCI 458V

NE540L

NE550N

NE555V

NESS8A

NE565A

NE566V

\E567V 1.;

NE570H 5.1

NE571H 5.1

78L05 .(

78L08 .(

79L05 :,

78M05 .(

75108 1 i

75491CN .£

7549,'CN .£

75494CN .8

AloD CONvERTEfl

803BB 4 5

8700CJ 13 3

8701CN 220

875CCJ 13 9

LD13D 99

9400CJV/F 7 4

ICL7I03 9.5

ICL7107 14.2

CMOS

CD34Q0I Fair. .5

C04000 .1

CD4D01 .2

CD-1002 .2

CD.1096 1 1

CD4007 .a

CD4008 .2

CD4009 .3

CD4010 .3

CO4011 .2

CD4012 2

CO4013 .3

CD4014 ,8

CO4015 .81

CO-1016 .31

CD4017 .9,

CO-MI a 9.

CD4019 .2

CDJ020 1 0;

CD4021 1 u;

CD4022 .Si

CD4023 2

CD4024 7!

CD4025 2:

CD4U2G 1 5

CD-1027 3(

CO 4028 7!

CD-1029 1.0;

CD4Q30 2'

CD-1035 1 o;

CDJ040 |,0!

CD4042 7i

CD-1043 6:

C04044 .6:

CO4046 161

CD4D49 .31

CO405O 31

CD-1051 l.i:

CD.1UGD 1.4J

CD406G .71

CD406B ,4C

CD40G9 M

CD4O70 .4C

CD4071 .'1

CD4072 .21

CD4073 .21

CD4075 .21

C0407G US

CD4078 .40

CO40B1 .21

CD-10B2 .21

C04116 .47

CD4490 5 K

CD4507 100

CO4S0O 4.25

CD4S10 1.02

CO-1511 .9-1

CD451S 2.52

CD4516 1 :DCD4518CD452QC04527CD4528C045HC049B6CD-15B3

8T108113BT20BT238T24BT25BT26

2102-1

2102AL-4

21L02-!

21F02

2104A-4

2107B

2111-1

PROM1702ANB2S23N82S123

NB2S125

N82S129

N82S131

N82S136

N82S137

2708

DM8577

8223

2716T1

2716 Intel

4 95

2 MHz

4 mi

10 95

13 95

9.953 50

MM5320

MM5330

PD411D-3

PD41ID-4

P5101L

4200A

82S25

91L02A

HD0165-5

MM57100

r.lAY3B500-1

Mi:M6S71A

9368

4100

416

CLOCKS

MM5309

MM5311

MM53IJ

MM5313

MM531J

MM5315

MM5316

MM5318

MM5369

MM5841

MMSB65

CT7001

CT7002

CI70I0

CT7015

MM5375AAN

MM5375A6/N

7205

7207

7208

7209

DSO026CN

DS005GCN

MM53104

MICROPROCESSOR0800 17.50

6802 24.95

enaoA with daia 8.95

8085 27.DO

5 MHz10 MHi18MHj20 MH;« 32 MHz6 3<> 3276S MH;« 1.8432 MHZ3.00 3.5795 MH;3 95 2.0100 MHz5 94 2 097152 Mil;

2 4576 MHz

3 2763 MHz5,0586 MHz5.185 MHz5.7143 MHz6.5536 MHi14.31818 MHz18 432 MHz22.1184 MHz

1.50

villi transformer anaswitches Very compact with 50 and.84" Digits

MAI0D2A. Cot £ .50 £.95

102P3 Transformer 2.25

MA1010A. C or E .84' 11.95

1D2P2 Tranitormer 2.25

Special Irantformei and ill

switches when purchatsd

wimodule 2.95

MA1003 cat module .3

gtean floor, display

RESISTORS '-.watt 5%

10 t«r type .03 1000 per type 012

25uDMype .025 350 pi100 pet type 015 5 per type 6 75KEYBOARDS

56 key ASCII keyboard kfl S67.5D

Fully assembled 77.50

53 key ASCII keyboard kil 60.00

Fully assembled 70 00 Enclosure 14.95

LEDS

RedTOIB .15

Green. Yellow T018 .29

Jumbo Red .23

Green. Orange. Yellow Jumbo .25CNplite LED Mounting Clips 551.25(specily red. amber, green, yellow, dear)CONTINENTAL SPECIALTIES In HockCom oleic line ol breadboard (Ml (quipMAX-toil 8 dlgll Freq. Clr. $128.95OK WIRE WRAP TOOLS In I toe ItPortable Multimeter Si8.ua

DIGITAL THERMOMETER $40.50-

Ball oper. General purpose or medical32-230 F Disposable probe coue'* .2 accuracy. Comp. Assy incompact case. Switches Iram F to CCOMPUTER BOARD KITS8K RAM Board Kit4X EPROM Krl10 Board Krt 44 50

Extender Boaro wconnector 12.50

16K EPROM board kit w.o PROMS 74 50North Star Floppy Disk KI1 $665.90

Additional Drive Kit 415.DO

SPECIAL PRODUCTSMM5865 Stopwalcn Timer 9.00PC board 7 50

SwllcfiEs Mom Pushbutton 273 pos slide 25

Encoder HD0165-5 6.95

3 Digit UniversalCourtier Board KitOperates 5-18 Volt DC to 5 MHztyp. ,125'LEDdispiay 10.50Voice actuated switch .50

Paralronlci 100A LogicAnalyzBi KI1

S135 00

J224.0

CONNECTORS'""" 44 pm edge 2 75u,uu 100 pin edge 4 50100 pin edn.e WW 5.25

3.00

360 KEYBOARD ENCODERS

489 AY5-2376

3 60 AY5-3500

390 74C922

4-00 74C923

5 00 HD0165-5

Model 10 Trigger

Expander KilModel 150 Bus

Grabber Kit S3

Sinclair 3tt Dlgll

Multimeter S

Clock Calendar Kit S

TRANSFORMERS6V 300 ma

12 Volt 300 ma irartslormei12.5V CT 600 ma12V 250 ma wall plugJU 12V CT 250 ma wall plug3 5o 2-fV CT 400 ma5 50 10V 1.2 amp wall plug

$229.0

12V 66 95 DISPLAY LEDS

MAN1 CA 270 2.

MAN3 CC 12510 MAN72/7-I CA/CA .300 I

47 DL704 CC .300 1

-47 DL707/DL7O7R CA 300 1

25

2.50

19.752.90

1 -0 8253

1.02 8255

1.02 8257

151 B259

.79 1B02CPplas.

3.50 1802DPplas.

2.25 1861P

4.50 COP1802CO

2N1893

2N2222A

2N2369

;'fl2G04A

2U2907A

2N3053

2N363B

2N3643

2N3904

2N3906

2N3055

2N4400

2N4401

2N4402

D Connectors RS23225 Pin Sub iD825P

UB?=S

RS232 Complelc Set 6.50 12000

OE9P 1.50 350O0

DE9S 1.95 55M0

DA15P 2.10 82000

DA15S 3.10 60000

DL727/72B

OL747.750

DL750

FND359

FNDtiUCI r;il7FN[)5iJ3:)'('

FHO80O/M7

3 tltgil Bubble

4 digit bubbleDG8 FluorescentOG10 Fluorescent

5 digit 14 pm displayNSN69 9 digil display7520 ClairuK ntKitiicu!!:;TIL311 Hex

CA-CC .500 1

CA-CC .600 1 95

CC 600 1.95

CC .357 .70

CC/CA .500 1.35

CC/CA .509 .90

CC/CA .800 2.20

GO

80

COMPUTER GRADE CAPS

1500

mid

200V

2000

mid

45V

3200

50V

5500

25V

5800

40V

3 95 9400

Multi-volt Computer Power Supply

8v 5 amp, »18v .5 amp. 5v 1.5 amp, -5v.5 amp, 12v .5 amp, -12 option. ±5v, *12vare regulated. Kit $29.95. Kit with punched frameS34.95. Woodgrain case $10.00.

Video Modulator Kit $8.95

Convert your TV set into a high quality monitorwithout affecting normal usage. Complete kitwith full instructions.

2.5 MHz Frequency Counter Kit

Complete kit less case $37.50

30 MHz Frequency Counter Kit

Complete kit less case $47.75

Prescaler kit to 350 MHz $19.95

79 IC Update Master Manual $35°o

Complete IC data selector, 2500 pg. master ref-erence guide. Over50,000 cross references. Freeupdate service through 1979. Domestic postage$3.50. Foreign $5.00. 1978 IC Master closeoutS19.50.

Stopwatch Kit $26.95

Full six digit battery operated. 2-5 volts.3.2768 MHz crystal accuracy. Times to 59min., 59 sec, 99 1/100 sec. Times std.. splitand Taylor. 7205 chip, all components minuscase. Full instructions.

Hickok 3V2 Digit LCD Multimeter

Batt/AC oper. 0.1mv-1000v. 5 ranges. 0.5%accur. Resistance 6 low power ranges 0.1ohm-20M ohm. DC curr. .01 to 100ma. Handheld, W LCD displays, auto zero, polarity, over-range. $74.95.

S-100 Computer Boards

8K Static RAM Kit Godbout $135.00

16K Static RAM Kit 265.00

24K Static RAM Kit 423.00

32K Dynamic RAM Kit 310.00

64K Dynamic RAM Kit 470.00

8K/16K Eprom Kit (less PROMS) $89.00

Video Interface Kit $139.00Motherboard $39. Extender Board $8.99

FREE: Send lor your copy of our NEW 1979QUEST CATALOG. Include 28c stamp.

Circle 311 on inquiry card.

BYTE May 1979 263

What's New?

PUBLICATIONS

Tl Publishes Third Edition of Under-standing Solid-State Electronics

A new and updated edition of Under-standing Solid-State Electronics, 270pages, is available from the Texas Instru-ments Learning Center Library,POB3640, MS 84, Dallas TX 75285.The softback is priced at $3.95.

This third edition covers today'ssemiconductor technologies and prod-ucts and reviews earlier electronic de-vices and integrated circuits to providethe reader with a basic understanding ofsolid-state electronics. Written in non-technical language, Understanding Solid-State Electronics is a self-teaching text-book complete with quizzes and glossa-ries.

New additions include comprehensivediscussions on MOS (metallic oxide semi-conductors) and LSI (large scale inte-grated circuits); how an MOS transistorworks, how it compares to a bipolartransistor and how MOS transistors havemade microprocessors and microcomput-ers possible. New details are also pro-vided on linear integrated circuits; the

techniques used to fabricate them andhow they are used.

The book explains how diodes, tran-sistors, thyristors and integrated circuitsare made; how they work; and how theyare used in systems. Other topics coveredare: what electricity does in systems;how circuits make decisions; and howsemiconductors relate to systems."

Circle 526 on inquiry card.

1978/1979 Catalog fromCramer Electronics

This comprehensive catalog fromCramer Electronics lists the components,systems, peripherals, instruments andtools that are available at local Cramerstocking centers. Listed in the 1978-79Cramer Buyer's Guide are products madeby such companies as Allen-Bradley,Amphenol, Bournes, Erie, Fairchild,General Electric, ITT Cannon, Mostek,Motorola, RCA, Sprague, Texas Instru-ments and about80 more manufacturers.Cramer offers components in over 50product categories covering all active andpassive areas plus a wide range of acces-sories. For a copy of this catalog, writeto Cramer Electronics, 85 Wells Av,Newton MA 02159."

Circle 527 on inquiry card.

How to Find the Personal ComputerYou Want

A 24 page publication entitledPersonal Computers for the Business-man explains what a personal compu-ter is and how it differs from a mini-computer. It also describes a shoppingstrategy to follow when the decisionis made to purchase a system. A majorpart of the report is an overview of thebest known manufacturers currentlyin the personal computer market. Theconfiguration of each system is given aswell as the price range. There is also alist of manufacturers and suppliers inthe back of the publication. The pur-chase price of the report is $7.50.For further information contact Manage-ment Information Corp, 140 Barclay Ctr,Cherry Hill NJ 08034."

PERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONALPERSONAL

COMPUTERS fORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPLJTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FORCOMPUTERS FOR

THE BUSINESSMANIMF BUSINESSMAN

THE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINES5MANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMANTHE BUSINESSMAN

i?ig

Directory of PET Related Products

A comprehensive hardware and soft-ware reference service for users of theCommodore PET computer has beenannounced by Channel Data Systems,5960 Mandarin Av, Goleta CA 93017.The Channel Data Book is a user orienteddirectory of PET related products in-cluding: software, hardware and periph-erals, literature and periodicals of specialinterest to PET users, listings of usergroups and distributors, and crossreferences by product type and supplier.The Channel Data Book provides di-viders and color coding to organizeprograms, articles, and newsletters ofspecific interest to each user.

The book includes a 3 ring binderand updated supplements with instruc-tions for filing new and revised material.The Channel Data Book is priced at$19.95, which includes an updateservice through calendar year 1979."

Circle 529 on inquiry card.

SI!

■/

Circle 52B on inquiry card.

New Microcomputer Magazinefrom Germany

Chip is a new German language maga-zine for microcomputer users interestedin computer construction, programmingand application. Published every othermonth, this appealing publication has atleast 65 pages of editorial material deal-ing with software and hardware, ready-for-use devices, instructions for circuitconstruction, programming, and storiesin words and pictures. Every issue iscomplete with book reviews, trainingmethods and instructions, and a forumfor exchanging experiences and opinions.The cost for six issues of Chip isDM 24.00. For more information, writeto Vogel-Verlag, Max-Planck-Str, 7/9,Postfach 6740, D-8700 Wurzburg 1,GERMANY."

Circle 530 on inquiry card.

264 May 1979 © BYTE Publications Inc

10-DAY FREE TRIAL

Send for ourFREE Catalog

*&

P€T S79» $750

14K ROM, 8K RAMFast Microsoft BASICIntegral Tape & CRTGraphics & Lower caseReal-time clockIEEE and Parallel I/O

IN STOCK NOW!

32K PET — $675.00

with the trade-in of yourworking PET

Normally $1,195.00 /J 'ftHHj

The most computer value you can buy in a single box,the PET is a complete system. It's our most popularcomputer.

THE PET

CONNECTION

SECOND CASSETTE FOR PET$95

READERPUNCH

We have interfaced ourreconditioned reader/punch units to give youthe fastest and most reli-able unit at these lowprices. Interfaces includepower supply, cables andcabinet.

TTL PARALLELREADER/PUNCH

RS-232 SERIALREADER/PUNCH

$750$950

CENTRONICS779 PRINTERS

Selectable for 10 or 16.5char/in. 80 or 132 char/8 "line. Print speeds up to110 cps. Parallel interfacewith handshake.

CENTRONICS 779-1with friction feed

$1035

CENTRONICS 779-2with tractor feed

$1140

3eeoe' — PET controlled

S2<195

Peiunia — Play music Irom

your PET

S29 95

Video BuMe' — Outpui lot

S39 95

Combo - Petunia Video

S49 9S

appleII

RS-232 Modem Interlaces <or PEOriginate Answerback

DAA Modem

Duaf Pon RS-232

Bidirectional InterlaceSingle Port RS-232

Bidirectional InterlaceCadmei tor above interlacesSerial Punier Interface with

5320

5280524 0

SORCERERfor $895

OF THEMONTH

The most powerful computer you can attach to your TVNCE CompuMart now carries the popular Apple

II microcomputer system. It easily attaches toany TV and can be used for either business orgames. To see why the Apple II continues to bethe leader in TV-display computers, write formore information.

16K Apple II Computer $1195

48K Apple II Computer $1795

Disk Drive & Controller $ 595

Second Disk Drive only $ 495

FREE MICROVERTER $35 value

UHF Modulator-worksbetterthan VHF (Ch.3) types

with purchase of an APPLE computer

Hazeltine1400

rtrvCt*o>N Only^&°c $699.00

Now a 5th Generationin Terminals:Immediate Delivery

Hazeltine 1500 full of features $1049

Hazeltine 1510 with buffer logic $1149

Hazeltine 1520 with printer interface $1499

or write for more information

9" SANYOMONITOR

with purchase of a16K or 32K SORCERER

INTEGRAL DATA IMPACT PRINTER!

Now you can print on plain paper and make multiplecopies on a low-cost printer. The friction-feed IP-125and the tractor-feed IP-225 80 column, dot-matrixprinters are perfect for parallel or RS-232 serial ap-plications at baud rates up to 1200. Graphics, printdensity and buffer options are available to fit everysystem's needs. Write for information on options.

IP-125 $799 IP-225 $949

Datel ISelectricTable-top *g^Terminals

S3K

S*9S

«*/«*

NCE/CompuMart

1250 North Main Street, Department BY49P.O. Box 8610 Ann Arbor, Michigan 48107

(313) 994-3200

>o?^ List $279-95

's*V£ $189.95

S-100 MPA

S-100 MPA gives your PETcomplete control of the S-100bus (even DMA). Get anassembled unit at kit price.

KTM-2new conceptin terminalsOnly $349.00

SyneMek s uniQue new terminal lookslike a keyboard but il contains all (helogic to display 24 lines ol 40 charac-ters Upper Lower case and 128 specialgraphic characters may be outpui to amonitor (or TV with AF modulaiorlLocal editing (erase line or screen) ad-dressable cursor scrolling wrap-around aulorepeai optional interlaceand baud rales to 9600 make this youibest buy m terminal boards

e

SANYOMONITOR

VM42099 ouaMymon.U.i $169

KIM-1

$169.95^.^, $214_95|

EXPAND YOUR KIM

SYSTEM:

KIMSI

KIM to S-100 BoardAssembled $169

Connector Set 15

KIM 4Expansion board 89.95

MICRO TECH POWER SUPPLYAssembled 134.0S

KIM ENCLOSURE

$23.50

CAT COUPLER

New 300 baudOriginate/AnswerbackAcoustic Coupler.Looks good, worksgreat and salepriced at <£-* qq

Smqie boa-d

VIDEO TERMINALby XITEX

aNOW$1B7

• Michigan residents add 4% saies lax • Add 4%shipping and handling for all domestic orders

• Foreign orders (except Canada) add 10%additional handling (U.S. currency only) • P.O.'s ac-cepted Irom D & B rated companies — shipmentcontingent upon receipt of signed purchase order

• Phones open from 9:00 a.m. to 7:00 p.m. ESTMonday-Friday. 10:00 a.m. to 5:00 p.m. Saturdays

• Open accounts invited — call for credit applica-tion • Most items in stock for immediate shipment— call for delivery quotation • Sorry, no C.O.D.'s

• All prices subject to change without notice • Inthe Ann Arbor area? Retail store open 11:00 a.m. to7:00 p.m. Tuesday-Friday, 10:00 a.m. to 5:00 p.m.Saturdays (Closed Sunday and Monday)

SEND FOR FREE TERMINAL FLYER

Circle 283 on inquiry card.

BYTE May 1979 265

What's New?

SOFTWARE

SAL-11 Structured Assembly Language

The SAL-11 Structured AssemblyLanguage software is a MACRO-11 pre-processor which operates on DECLSI-11s and PDP-11s under RT-11.SAL-11 is a midlevel language suitablefor systems and applications program-ming which requires the advantages ofassembly language.

SAL-11 facilitates the use of struc-tured programming techniques; providesa standard interface between FORTRANand MACRO-11 modules; provides string

Play 4 Person Contract Bridge Againstthe Computer

Bridge Challenger, for 8 K byte PETs,16 K byte Level II TRS-80s and 16 Kbyte Apples, lets you and the dummyplay 4 person contract bridge against thecomputer. The program will deal handsat random or according to your criteriafor high card points, and you can savehands on cassette and reload them forlater play. You can review tricks, rotatehands east-west, shuffle only the defensehands, or replay hands when the cardsare known. Bridge Challenger is pricedat $14.95 and is available from PersonalSoftware, POB 136, Cambridge MA02138."

Circle 548 on inquiry card.

handling capabilities; handles recursiveand reentrant modules; and providescommands for stack manipulation, regis-ter saving and restoring, and for passingparameters and control between modules.

The structured programming facilitiesprovided by SAL-11 include the classiccontrol structures for conditional execu-tion, iterative execution, case statements,program block definition and environ-ment setup.

Included in the $515 binary licensefee is a copy of the user's guide and 1year warranty which includes technicalassistance and maintenance support. Formore information contact GEJAC Inc,3322 Stanford St, Hyattsville MD20783."

Circle 546 on inquiry card.

Structured Programming for the TRS-80

SLIC (structured language for inter-active computation) is a high levellanguage interpreter offered by RTGData Systems, 309 Santa Monica Blvd,Suite 312, Santa Monica CA 90401.SLIC features a complete set of con-trol statements for structured pro-gramming; modular programming usingfunctions with arguments; dynamicvariable allocation for efficient memoryusage; device independent input andoutput (IO) using unit numbers (byte,record and variable IO are all pro-vided); programs that can read andwrite cassette data files; character,integer and real variables; one- andtwo-dimensional arrays; keyword com-pression; 28 built-in functions; cas-sette motor control and many morefeatures.

Sample SLIC program listings areincluded. SLIC is available on TRS-80cassette and requires a 16 K Level Imachine. The price is $50 and theuser's manual may be ordered separatelyfor $10."

Circle 549 on inquiry card.

Compiler for 6500 MicrocomputerFamily

A systems implementation languagecalled CSL/65 has been developed byComputer Applications Corporation(COMPAS) for the 6500 microcomputerfamily offered by Rockwell, Synertekand MOS Technology. The languageresembles PL/1 and ALGOL in generalform, but has been specifically designedfor microcomputer users. Versions arecurrently available for the RockwellSystem 65 development system andany PDP-11 using the RT-11 operatingsystem.

CSL/65 is a midlevel language de-signed to combine the power and flex-ibility of assembler language with thestructuring potential of a high levellanguage. All language features are

aimed at improving the productivityof the systems programmer by sim-plifying the development of programsnormally written in assembler. CSL/65produces assembler code rather thanobject code. This allows the programmerto enhance or optimize at the assemblerlevel if necessary as well as enabling theprogrammer to drop into assemblerwhenever necessary. CSL/65 output isthen passed to the assembler, which ispart of the System 65 monitor, or to theMINmic assembler, which is availablefrom COMPAS for the PDP-11.

The price for either the System 65or PDP-11 versions of CSL/65 is $1000.The MINmic 1165 assembler (requiredfor PDP-11 users) is $900. For furtherinformation contact Computer Applica-tions Corp, 413 Kellog, Ames IA 50010."

Circle 551 on inquiry card.

Game Series Available for Apple II

The Intelligent Game Series #1 isavailable for the Apple II computer. Thethree software packages include: Battle-ship and 3-dimensional Tic Tac Toe;Hangman and Concentration; and CasinoRoyale (includes 1 arm bandit, crapgame, blackjack and roulette). All threepackages feature Apple II low and highresolution graphics with instructions in-cluded. Each program package costs $12and individual program listings can beobtained for $3 per program. For moreinformation contact Stuart Frager,POB 13331, Baltimore MD 21203. ■

Circle 547 on inquiry card.

Zilog BASIC Interpreter Supports Z-80Based Microcomputers

Zilog's extended BASIC interpretersupports the firm's MCZ series of micro-computers introduced to date (theMCZ-1/05, MCZ-1/60 and MCZ-1/90)and its new line of development systems(the 4 MHz ZDS-1/40 and 2.5 MHzZDS-1/25).

Programs can be interactivelyentered, edited, run and debugged com-pletely within the BASIC interpretersubsystem. Zilog's BASIC allows theuser to manipulate real, integer andstring data with full file capabilities,including both string and record randomaccess. BASIC includes two mathematicspackages: a binary package with sevensignificant digits, and a binary codeddecimal data version with 13 significantdigits.

The interpreter interfaces with theRIO operating system of Zilog's micro-computers, which use the Z-80 pro-cessor. Programs can be interfaced withPLZ or assembly language proceduresand can be chained to other BASICprograms.

For more information contact Zilog,10460 Bubb Rd, Cupertino CA 95014..

Circle 550 on inquiry card.

BASIC for Fairchild F8 FeaturesFloating Point

Micro Business Systems Inc hasannounced a full BASIC interpreter foruse with Fairchild's F8 processor. CalledMBS-BASIC, the new product features9 digit precision and floating pointarithmetic.

Including all standard arithmeticoperations and relations, MBS-BASIC iscompetitive in speed and efficiency withthe 8080 and Z-80 BASIC interpreters.MBS-BASIC version 1.0 has a licensefee of $179.95. The MBS-BASIC inter-preter is distributed on ASR33 compat-ible paper tape and is provided withdocumentation. Contact Micro BusinessSystems Inc, POB 8255, JFK Sta,Boston MA 02114."

Circle 552 on inquiry card.

266 May 1979 © BYTE Publications Inc

rnatt Venus 2001 Video Board

)M.mM^^ ^ Assembled and Tested $259.95 • Complete Unit with 4K^A^^ffll of Memory and Video Driver on Eprom assembled

VflALM and tested $339.95

**'**kiti99'5

OPTIONAL: • Sockets $10.00 • 2K Memory $30.00 • 4KMemory $60.00 • Video Driver Eprom $20.00 • TextEditor Eprom (Includes Video Driver $75.00)

5-7 00 Plug-In • Parallel Keyboard Port

On board 4K Screen Memory (Optional). On boardEprom (Optional) for Video Driver or Text EditorSoftware.

Up and Down Scrolling through

Video Memory . «#'#*..

Reverse Video, Blinking Characters. -American Or European TV Compafl-

Display: 128 asch Characters 64 x 32 or 32 x ble (CRT Controls Programable)

16 Screen format (Jumper Selectable). 7 by 11 Dot , . ...

Matrix characters Dealer Inquires Invited

WlMIIIfllllllll

GRAND OPEN I HI & SPECIAL!

15 MHZ DUAL TRACE

PortableScope

BIG PRICE w - - .i

BREAKTHRU^ _•*■*

MODEL MS-215

• Battery or A.C. Operated • External and Internal Trigger

• Time Base—.1 m Sec./Div. Into 21 Calibrated Ranges •3% Accuracy. Input Impedence 1 M Ohms • Completewith Input Cables, Battery and Charger.OPTIONAL: • Leather Case $45.00 • 10:1 Probe $27.00(2 for $49.00) Prices Good through 5/31/79

MS-15 Single Trace Scope $299.

e

31/2 DIGIT DMMLCD Readout

SIZE: 1.3" H 2.7" W 4.0" D

• .5% Accuracy • AC-DC1-1000V • Ohms 1K-10M

• Current lmA-1 Amp

• 100% Overload ProtectionOPTIONAL: • Leather Case $20.00

• NiCad Battery and Charger $16.00

3.5 LED DIGITS

Panel Meter

• .5% Accuracy

• Voltage Range0-1000V

•Power: +5V 200mA

• Auto Zero • Update Rate: 3 Rdg. / Sec.

Circle 130 on inquiry card.

MODEL LM-350

'139

95

'52.

MODEL PM-349

ASCII Keyboard Kit $77.

Assembled and Tested $93.00

• Single +5V Supply • Full ASCII Set (Upper and LowerCase) • Parallel Output • Positive and Negetave Strobe •2 Key Rollover • 3 User Definable Keys • P.C. BoardSize: 17-3/16" X 5" • Control Characters Molded on KeyCaps • Optional Provision For Serial OutputOPTIONAL: Metal Enclosure $27.50 • Edge Con. $2.00 •Sockets $4.00 • Upper Case Lock Switch $2.50 • ShiftRegister (For Serial Output) $2.00

Dealer Inquiries Invited

Apple II I/O Board Kit

Plugs into Slot of Mother Board

• 1 8 Bit Parallel Output Port (Expands to 3 Ports) • 1 InputPort • 15mA Output Current Sink or Source • Can beused for peripheral equipment such as printers, floppydiscs, cassettes, paper tapes, etc. • 1 free software listingfor SWTP PR40 or IBM selectric.

PRICE: 1 Input and 1 Output Port $49.001 Input and 3 Output Ports $64.00Dealer Inquiries Invited

SHIPPING $3.50 / California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

15820 Hawthorne Boulevard

Lawndale, CA 90260

(213) 370-5551

TRS-80ESSERIAL I/O

• Can input into basic

• Can use LLIST andLPRINT to output, oroutput continuously •RS-232 compatible •Can be used with orwithout the expansionbus • On board switchselectable baud ratesof 110,150,300,600,1200, 2400, parity orno parity odd or even,5 to 8 data bits, and 1or 2 stop bits. D.T.R.line • Requires +5,-12 VDC» Board onlySI 9.95 Part No. 8010,with parts $59.95 PartNo. 801OA, assembledS79.95PartNo.S010C. No connectors pro-vided, see below.

EIA/AS-232 con-nector Part No.D625PS60O,witti9'. 8 conductorcabla 310.95 PartNo OB23P9.

3" ribbon cablewith auacnod con-necters totitTRS-BO and our aerialboard 519.93 PartNo. 3CAB40.

RS-232/ TTLttINTERFACE

• Converts TTL to RS-232, and converts RS-232 to TTL • Two sep-arate circuits • Re-quires -12 and +12volts • All connectionsgo to a 10 pin goldplated edge connector

• Board only $4.50Part No. 232. withparts S7.00 Part No.232A 10 Pin edgeconnector S3.00 PartNo. 10P

w SHfe*

modem-::-

• Type 103 • Full orhalf duplex • Works upto 300 baud • Origi-nate or Answer • Nocoils, only low costcomponents • TTL in-put and output-serial

• Connect 8 ft speak-er and crystal mic.directly to board •Uses XR FSK demod-uletor • Requires +5volts • Board only$7.60 Part No. 109,with parts $27.50 PartNo. 109A

VERBATIMMINIDISK

Vferbalim

Box of 10

$29.95

RS-232/ TTYtt

INTERFACE

• Converts RS-232 to20mA current loop,and 20mA current loopto RS-232 • Two sep-arate circuits • Re-quires + 12 and -12volts • Board only$4.50 Part No. 600.with parts $7.00 PartNo. 600A

f*ART'W'0 6V0

S-100 BUS"ACTIVE TERMINATOR

Board only $14.95 Part No. 900, with parts$24.95 Part No. 900A

APPLE ll#SERIAL I/OINTERFACE

Baud rate is continuously adjustable from 0to 30,000 • Plugs into any peripheralconnector • Low current drain. RS-232 inputand output • On board switch selectable 5 to8 data bits, 1 or 2 stop bits, and parity or noparity either odd or even • Jumper selectableaddress • SOFTWARE • Input and Outputroutine from monitor or BASIC to teletype orother serial printer • Program for using anApple II for e video or an intelligent terminal.Also can output in correspondence code tointerface with some selectrics. • Alsowatches OTR • Board only $15.00 Part No.2, with parts $42.00 Part No. 2A, assembled$62.00 Part No. 2C

8K EPROM puceon

Saves programs on PROM permenently (untilerased via UV light) up to 8K bytes. Programsmay be directly run from the program saversuch as fixed routines or assemblers. • S-100 bus compatible • Room for 8K bytes ofEPROM non-volatile memory (2708's). • On-board PROM programming • Addressrelocation of each 4K of memory to any 4Kboundary within 64K • Power on jump andreset jump option for "turnkey" systems andcomputers without a front panel • Programsaver software available • Solder mask bothsides • Full silkscreen for easy assembly.Program saver software in 1 2708 EPROMS25. Bare board $35 including custom coil,board with parts but no EPROMS $139, with4 EPROMS $179, with B EPROMS $219.

WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD willdrive shugart, pertek, remic 5" & 8" drives

up to 8 drives, on board PROM with powerboot up, will operate with CPM (notincluded). PCBO $42.95

FPB-1 Front Panel. (Finally) AMSAI size hexdisplays. Byte or instruction single step.PCBLT $42.95

MEM-1A BKxB fully buffered, S-100, uses2102 type RAMS.PCBD $24.95. $168 Kit

QMB-12 MOTHER BOARD, 13 slot, termi-nated, S-100 boerd only $34.95

$89.95 Kit

CPU-1 8080A Processor board S-100 with

8 level vector interrupt PCBD .. $25.95

$89.95 Kit

RTC-1 Realtime clock boerd. Two independ-ent interrupts. Software programmable.PCBD $25.95, $60.95 Kit

EPM-1 1702A 4K EPROM

card PCBD $25.95

$49.95 with parts less EPROMS

EPM-2 2708/2716 16K/32K

EPROM card PCBD $24.95

$49.95 with parts less EPROMS

OMB-9 MOTHER BOARD. Short Version of

QMB-12. 9 Slots PCBD $30.95

$67.95 Kit

MEM-2 16KxB Fully Buffered 2114 BoardPCBD $25.95. $269.95 Kit

T.V.TYPEWRITER

• Stand alone TVT

• 32 char/line, 16lines, modifications for64 char/line included

• Parallel ASCII (TTL)input • Video output

• 1K on board memory

• Output for computercontrolled curser •Auto scroll • Non-destructive curser •Curser inputs: up, down,left, right, home, EOLEOS • Scroll up, down

• Requires +5 voltsat 1.5 amps, and -12volts at 30 mA • All7400, TTL chips •Char. gen. 2513 •Upper case only •Board only $39.00Part No. 106, withparts $145.00 PartNo. 106A

UARTfi

BAUD RATE

GENERATORS

• Converts serial toparallel and parallel toserial • Low cost onboard baud rate gener-ator • Baud rates:110, 150, 300, 600.1200, and 2400 •Low power drain +5volts and -12 voltsrequired • TTL com-patible • All characterscontain a start bit, 5to 8 data bits, 1 or 2stop bits, and eitherodd or even parity. • Allconnections go to a 44pin gold plated edgeconnector • Board only$12.00 Part No. 101,with parts $35.00 PartNo. 101 A, 44 pin edgeconnector $4.00 PartNo. 44P

TAPEINTERFACE

• Play and record Kan-sas Dty Standard tapes

• Converts a low costtape recorder to adigital recorder • Worksup to 1200 baud •Dig-ital in and out are TTL-serial • Output ofboard connects to mic.in of recorder • Ear-phone of recorder con-nects to input on boerd

• No coils • Requires+5 volts, low powerdrain • Board only$7.60 Part No. 111,with parts $27.50 PartNo. 111A

HEX ENCODEDKEYBOARD

E.S.This HEX keyboardhas 19 keys, 16 encod-ed with 3 user defin-able. The encoded TTLoutputs, 8-4-2-1 andSTROBE are denouncedand available in trueand complement form.Four onboard LEDsindicate the HEX codegenerated for eachkey depression. Theboard requires a single+5 volt supply. Boardonly $15.00 Part No.HEX-3. with parts$49.95 Part No. HEX-3A. 44 pin edge con-nector $4.00 Part No.44P.

DC POWER supply-::-

• Board supplies a regulated +5volts at 3 amps., +12, -12, and -5volts at 1 amp. • Power required isB volts AC at 3 amps., and 24 voltsAC C.T. at 1.5 amps. • Board only$12.50 Part No. 60B5, with partsexcluding transformers $42.50Part No. 6085A

"IV*. C\Tfii\V■ Mention part number, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISAIw \J\ Uwl a number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents sdd 6.5% for tax. Outside USA add 10% for air mailpostage and handling, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs, components, and circuitboard. Documentation is included with^all products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "ComputerParts." Deeler inquiries invited. 24 Hour Order Line: 1408) 826-4064 * Circuits designed by John Bell

For free catalog including parts lists and schematics, send a selt-addressed stamped envelope.

ELECTRONIC SYSTEMS D^B, P- O. Box 21638,SanJose, CAUSA 95151

268 BYTE May 1979

Circle 125 on inquiry card.

lliclXVIVlKANS

A completely refurbishedIBM Selectric Terminal withbuilt-in ASCII Interface.

II

Features:

• 300 Baud

• 14.9 characters per secondprintout

• Reliable heavy duty Selectricmechanism

• RS-232C Interface

• Documentation included

• 60 day warranty-parts andlabor

• High quality Selectric printingOff-line use as typewriter

• Optional tractor feed available

• 15 inch carriage width

HOW TO ORDERDATA-TRANS 1000

1. We accept Visa, MasterCharge. Make cashiers checks orpersonal check payable to:

DATA-TRANS

2. AH orders are shippedF.O.B. San Jose, CA

3. Deliveries are immediate

For orders and information

DATA-TRANS

2154 0TooleSt.

UnitE

San Jose, CA 95131

Phone: (408) 263-9246

ASCII KEYBOARD

By Cherry Products

• • Mounted to DECWRITER PanelASSEMBLED 89.95

TIDMAX

• Tape Interface DirectMemory Access • Re-cord and play programswithout bootstrap load-er (no prom) has FSKencoder/decoder fordirect connections tolow cost recorder at1200 baud rate, anddirect connections forinputs and outputs toa digital recorder atany baud rate • S-100bus compatible • Boardonly $35.00 Part No.112, with parts $110Part No. 112A

KS23

ASCII to Correspondence code converter

This bidirectional board is a direct replacement for the boardinside the Trendata 1000 terminal. The on board connectorprovides RS-232 serial in and out. Sold only as an assembled andtested unit for S330.00. Part No. TA 1000C

ffappta

With16K $1024.00

T.V. INTERFACE

• Converts video toAM modulated RF,Channels 2 or 3. Sopowerful almost notuning is required. Onboard regulated powersupply makes this ex-tremely stable. Ratedvery highly in DoctorDobbs' Journal. Recom-mended by Apple •Power required is 12volts AC C.T., or +5volts DC • Board only$7.60 part No. 107,with parts $13.50 PartNo. 107A

(Illegal whereprohibited by law.)

IX OrHpr ■ 'vlentlon Part numDer, description, and price. In USA, shipping paid for orders accompanied by check, money order, or Master Charge. BankAmericard. or VISA■V wl %Jwl ■ number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6.5°/o for tax. Outside USA add 10°/o for air mailpostage and handling, no C.Q.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs. components, and circuitboard. Documentation is included with.all products. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "ComputerParts." Dealer inquiries invited. 24 Hour Order Line: (408] 226-4064 -"- Circuits designed by John Bell

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

ELECTRONIC SYSTEMS Dept- B' P- °- Box21638, San Jose, CAUSA95151

Circle 125 on inquiry card.

BYTE May 1979 269

"CRT INTERFACES"black - white/color

Monitors • Combination Rcyr/monitor sets• Modulator kits * B-w Cameras • ColorCameras " Audio Subcarrier kits • Parts

WRITE or PHONE (or DETAILS & PRICING.

DIAL: 402-987-3771

Dealers welcomed. Well established program.

—&—e/V)

13-B ATV Research Dakota City,Broadway ., rj.f^i NE. 68T3I

T

Circle 19 on inquiry card.

L

5 APPLE)

SUPER SALE

16K Apple II $1039.95

Integral Data

IP225 Printer .

with graphics $1095.00

Apple Soft Cards $149.95

Carrying Case $29.95

Super Mod $29.95

UCATANCORP.

P.O. Box 1000

Destin, Fla. 32541

904-837-2022Credit Cards Accepted

RECYCLE(D)COMPUTERS

BUY £ SELL £ SWAPHardware & Software

MEW PRODUCT ANNOUNCEMENTS

Mailed 1st Class every 3 Weekslyr. (18 issues) %? $3.75

ON LINE

w

O.iur Uctltr Puulislin - i'sMUlishrb 1975

24695 Santa Cruz Hwy.. Los Gatos, CA 95030

Circle 288 on inquiry card.

Pascal Micro Engine $2695.00

hiiiiiiiiiiiiiiiiimiiiiiiiiiiiiimiNiiiiiiiiiiiiiiiiiiiiiii

Discounts on

Xitan, Cromemco, SD Systems,Vector, TEI, North Star, Apple,Hytype II, Qume, Axiom, Tl,Centronics, Integral Data Systems,Soroc, Lear Siegler, Intertec,Micromation, PerSci, Micropolis,SSM, Computalker, Heuristics,Mountain Hardware, Summagraphics,

iiiiiiiiiiiiiimiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii

miLiKE] \umj

Microcomputers. Peripheralsand Software

1015 NAVARRO

SAN ANTONIO. TEXAS 78205512/222 1427

COMPUTER MARTof NEW HAMPSHIRE, Inc.

. SPECIALIZING IN BUSINESS &1 AND PERSONAL COMPUTERS *

"ptMUtUp

DATA GENERAL microNOVA®XITAN, NORTH STAR HORIZON,MICROMATION, IDS PRINTERS,APPLE II

S-100 Bus ProductsSOFTWARE currently available:AR, GL, AP, Inv., Payroll,Word Processing, and DentalOffice Manager.

□

170 Main StreetNashua, NH 03060603/8832386

□

Circle 76 on inquiry card.

SHORT CASSETTES

C-10

J

List 31.00 10forS7.50 50 tor $32.50

/ MICROSETTE CO. \777 Palomar Ave. • Sunnyvale, CA 94086

Duplication Services

Microsette also offers professionalduplication services for Commo-dore PET and Radio Shack TRS-80Level I and Level 11 cassettes. Ourservice provides mastering, qualitycontrol, all material including two-piece box, affixing of your labels orsupplying our blank labels and ship-ping. Prices start at $2.00 each in100 quantity.

MICROSETTE CO.

777 Palomar Ave. • Sunnyvale. CA 94086

Circle 380 on inquiry card.

Circle 221 on inquiry card.

Circle 229 on inquiry card.

FLOPPY DISKREPAIR

• PerSci and Shugart

• Quick turnaround

• Factory trained onPerSci

COMPUTER SERVICE CENTER

7501 Sunset Blvd

Hollywood CA 90046

213-851-2226

Circle 77 on inquiry card.

TRS-80 16K MEMORY EXPANSION KIT

INCLUDES 8 TESTED t GUARANTEED M5K 4H6 3 16K DAMS.PROGRAMMING PLUGS & EASY-TO-FOLLOW INSTRUCTIONS. $72°° PER KIT

6800 64K BYTE RAM SET AND CONTROLLER

CHIP SET MAKE 64K BYTES OF MEMORY FOR YOU!)6S00. THE CHIP SETS INCLUDE:*n„,-™ 32 M5K 4116-3 16K RAMS.$295°i> 1 MC3480L MEMORY CONTROLLER.

PFR rnilPIFTF SFT 1 MC3242AP MEMORY ADDRESSPER COMPLETE SET. MULT,pLEXER/C0UNTER.

DATA 8 APPLICATION SHEETSPARTS TESTED « GUARANTEED.

16K DYNAMIC RAMS

M5K 4116-3 200NSEC

ACCESS TIME/375NSEC

CYCLE TIME.TESTED i

BURNED-IN.

|g50 EACH/MIN.QTY. 8

4K STATIC RAMS

EQUIV. TO TMS40L44-30

300NSEC ACCESS TIME/CYCLE TIME FOR 4MHZZ-80 OPERATION.J75J) EACH/MIN.QTY 8TESTED S GUARANTEED

QUANTITY DISCOUNTS AVAILABLEALL ORDERS POSTPAID. U.S. FUNDS. CHECK OR MONEYORDER. VISA,BA.MASTERCHARGE-SEND ACCOUNT NOEXPIRATION DATE , INTERBANK NO, & SIGNED ORDER.PHONE ORDERS: 714/633-4460

MEASUREMENT SYSTEMS & CONTROLS.inc

MEMORY DEVICES DIVISION, DEPT. B3

867 NORTH MAIN ST., ORANGE, CA 92668

Circle 216 on inquiry card.

SURPLUS ELECTRONICS

ASCII

ASCII

IBMSELECTRIC

BASED I/O TERMINAL

WITH ASCII CONVERSION

INSTALLED $645.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A,5V35A Others, • Displays

• Cabinets • XFMRS • HeatSinks • Printers « ComponentsMany other items

Write for free catalogWORLDWIDE ELECT. INC.130 NORTHEASTERN BLVD.NASHUA, N.H. 03060Phone orders accepted using VISAor MC. Toll Free 1-800-258-1036In N.H. 603-889-7661

Circle 391 on inquiry card.

HICKOK LX303$7495*

$318.

MS-15

MINISCOPE

Rtcfitrgrabla BMtlttft A Chttg*r Unit

• 15 megahertz bandwidth.

• External and Internal trigger.

• Time base — .1 microsec. to 0.5 Sec/div - 21settings . -3%.

• Battery or line operation

• Automatic & line sync modes.

• Power consumption < 15 watts

• Vomcal Gam — 01 to SO Vffliv ■ 12 tailing* ± 3%

• Case Si.-g 2 7"H . 6 *"W ■ 7 5"D. 3 poundi

•

PROBEK

PROBE IC with the

purchase of SCOPE

and .the MENTION 01

this MAGAZINE

• 5%, 3Va digit 19

Range DVM. '/«" LCD displays

runs 200 hrs on 1 battery. 10 Meg

Ohm Input. 1 yr. guarantee, made in

U.S.A., test leads included.

Available Accessories

RC-3 115V AC Adapter $7.50

CC-3 Deluxe Padded Vinyl

Carrying Case 57.50

VP-10 X10 DCV Probe Adapter/

Protector 10Kv $14.95

VP-40 40Kv DC Probe $35.00

CS-1 10 Amp Current Shunt $14.95

*FREE

Just tor Asking.FREE BATTERY with your meter.

i MS-215 Dual Trace Version of MS-15 $435.

UNGARmatic"

Controlled Soldering StationTHREAD-TOGETHER MODULAR DESIGN FORQUICK, ON-LINE HEATER OR TIP CHANGE

• Available in 3 preset temperatures;600*F.. 70CPF or BOO'F. lor iny application

• Closed loop, non magnetic control

• Low voltage system: 3 wire grounded

• Blomechanlcal designed handle wilh cool grip for operator comfort.Co'd is super Nexible 3 wire grounded, treat resisiant.

• Large capacity snap-on tray and sponge: removable tot opnonal plaee-

■ Long lite interchangeable t ns. iron clad, chrome plated, pro-tinned.

• Designed lor use on sensitive components.

COMPLETE STATION AND REPLACEABLE HEATER SELECTION GUIDE

Ttmn§r»iuri Compltli SUIMn ConlroDtd Mull/ No

60O*F S0T6 »76

70O'F. 50T7 177

BOO'F. 50TB #78

Each of the above stations Include- i70B Power Supply with on/oll switch.Indicator light, and 3 wire power cord, 171 Handle with 3 wire heat resisiantsecondary cord; #B9 Tray and Sponge: «72 Iron Holder; Controlled Healerwith «B7 Screwdriver tip 1/16'

MS TIP ADAPTER Tip Adapter -•' lor special micro applications ThisAdapter is designed for the use o! t'B" Ihread-m Princess NibsControlled Heaters: S14.SS Each. Tlpa; S2.25 Each. Adapter; SI.30 Eactt

List $59.50 OUR PRICE $52.50

HICKOK LX303 $74.95

SD EXPANDORAM

lie. tUtimoit. S-fOO TKowvuf.

The EXPANDORAM is availableIn versions from 16K up to 64K, sofor a minimum investment youcan have a memory system thatwill grow with your needs. This isa dynamic memory with the in-visable on-board refresh, and ITWORKS!

• Bank Selectable

• Phantom

- Power 8VDC, ± 16VDC, 5 Watts

• Lowest Cost Per Bit

• Uses Popular 4116 RAMS

• PC Board is doubled soldermasked and has silk-screenparts layout.

ItiiMT

• Extensive documentation clear-ly written

• Complete Kit Includes allSockets for 64K

• Memory access time: 375ns,Cycle time: 500ns.

• No wait states required.

• 16K boundries and Protectionvia Dip Switches

• Designed to work with Z-80,8080, 8085 CPU's.

EXPAND0 64KIT(4116)

16K $245.00

32K $310.00

48K $375.00

64K $440.00

Plugboards

A! MM mrctocompuin

Price$29.50

1/16 lk(M BOARD

.042 dia holes on

0.1 spacing for IC's

♦

8800V

Universal Microcomputer/processorplugboard, use with S 100 bus Com-plete with heat sink & hardware 5.3" x10' «1/16

1-4 5-9 10-24

119 95 $17 95 S15.96

8801-1

Same as 8800V excepl plain 'less powerbuses & heat sink

1-4 5-9 10-24

$14 95 S13 46 81196

3682 9.6"x4.5"

$10.97

3682-2 6.5" x4.5"

$9.81

Hi-Density Dual-ln-LinePlugboard lor Wire Wrapwith Power & Grd. BusEpoxy Glass 1/16" 44pin con. spaced .156

3677 9 6" x 4.5'

$10.90

3677-2 6.5" x 4.5"

$9.74

Gen. Purpose D.I.P.Boards with Bus Patternlor Solder or Wire Wrap.Epoxy Glass 1/16" 44pinccn. spaced .156

3662 6.5" X 4.5"

$7.65

3662-2 9.6" x 4.5"

$11.45

P pattern plugboards torIC's Epoxy Glass 1/16"44pincon spaced .156

3690-12CARD EXTENDER

Card Extender has 100 con-tacts 50 per side on .125centers-Attached connec-tor-is compatible withS-100 Bus Systems. $25.833690 6.5" 22/44 pin .156ctrs. Extenders .... $13.17^

Phenolic

PRICE

PART NO.

SIZE

1-9 10-19

64P44XXXP

4.5x6.5"

$1.56 $1.40

169P44XXXP

4.5x17"

$3.69 $3.32

Epoxy Glass

64P44

4.5x6.5"

$1.79 $1.61

84P44

4.5x8.5"

$2.21 $1.99

169P44

4.5x17"

$4.52 $4.07

169PS4

8.5x17"

$8.03 $7.23

i same as 315but with 14" bar toaccomodate "S100"boards.PRICE:$IZ95

TRS-80

MEMORY EXPANSION KITS4116'sRAMS

(16Kx1 200ns)

8 for $69.00

STANDARD I ^H^^ ^^L^-

BASEC&n V«*^^ Perfectly balanc

2708

8K 450 ns

EPROM

FACTORY PRIME

$12.00 EA.

25 + Call ForPrice

14 & 16 PIN

'GOLD 3 LEVEL

\WIRE WRAP

SOCKETS

>14-G3 100 for

$30.00

16-G3 100 for

$30.00

50 of each for $32.00

Sockets are End & Side stackable,closed entry

PRICE:$12.95

PANAVISE TILTS, TURNS, ANDROTATES TO*ANY POSITION.IT HOLDS YOUR WORK. EXACTLY WHERE YOU WANT IT,

IM-10A List $89.00I SPECIAL$56.95 with tube

balanced fluorescent lightingwith precision magnifier lens. Toughthermoplastic shade. Easy lens re-moval. New wire clip design permitseasy Installation and removal offluorescent tube. Comes with plasticshield to protect tube from soiling anddamage.

Colors: Gray, Black, and Chocolate Brown.Comes with one 22 watt T 9 decline fluores-Oftflt lube. 3 diopter lens. _

$0- I

WRAP POST

lor .042 dia. holes JI (all boards on this page)IT44/C pkg 100 .. $ 2.34|T44/M pkg

1000 .... S14.35 'IA-13 hand Installing

tool j 2.94

2102LPC

450ns Low Power RAMS$1.00 Ea.in lots of 25

2102LHPC

250ns Low Power RAMS$1.25 Ea. In lots of 25

ORDER TOLL FREE

1 8004235633

{213) 894-8171

FND 503

Common

Cathode

FND 510

Common Anode

Vt" 7seg LED

59c^ 10/s450

n^c^c

PRIORITY IONEI ELECTRONICS

16723B Roscoe Blvd. Sepulveda CA 91343

Terms. VISA. MC. BAC. check. Money Order. COD . U S. Funds Only CA residents add 6% sales lax Mini-mum order $10 00 Orders less lhan $75 00 include 10% stripping and handling; excess refunded. Just in caseplease include your phone no Good Thru May 1979

phone orders welcome (213)894-8171 oEMandmstitutionahnqui

Send lor our latest brochure.

24 PIN DIP PLUGSWITH COVERS

3/$1.0040/$10.00

HICKOK LX303 $74.95

HICKOK LX303 $74.95

our new retail location

The EXPANDORAM is availablein versions from 16K up to 64K, sofor a minimum investment youcan have a memory system thatwill grow with your needs. This isa dynamic memory with the in-visable on-board refresh, and ITWORKS!

• Bank Selectable

• Phantom

- Power 8VDC, ± 16VDC, 5 Watts

• Lowest Cost Per Bit

• Uses Popular 4116 RAMS

• PC Board is doubled soldermasked and has silk-screenparts layout.

)ISC DRIVES

SD EXPANDORAM

74e tOtcmatc S-fOO %**<w?

i T-"'•'' i "Y. ;

w*. J**...

r»j*BPi"W ..

ill;,

Sugart SA400 51/."S29500

I GSI/Siemans|'FDD100-8 8"

S39500

'equivalent to Sugart 801

Siemens FDD200-88"double-sided| double density

$599.00

DISC CONTROLLERSD "VERSAFLOPPY" Kit

II ..;, .n.;;!1::'!!!!!!

^J^ONllNtNIM^Ptc'TAnTisTcTpo'SWc^

The Versatile Floppy DiskController

Only s15901

FEATURES: IBM 3740 Sotl Sectored Compati-ble. S-100 BUS Compatible tor Z-80or 8080. Con-trols up to 4 Drives {single or double sided).Directly controls the lollowlng drives:

1. Shugart SA400/450 Mini Floppy

2. Shugart SA800/850 Standard Floppy.

3. PERSCI 70 and 277.

4. MFE 700/750.

5. CDC 9404/9406.

6. GSI/Siemans FDD100-8

34 Pin Connector tor Mini Floppy. 50 Pin Con-nector tor Standard Floppy. Operates withmodified CP/M operating system and CBasicCompiler. The new "Versalloppy" from SD.Computer Products provides complete controltor many of the available Floppy Disk Drives.Both Mini and Full Size. FD1771B-1 Single Den-sity Controller Chip. Listings tor Control Soft-ware are included In price. A

• Extensive documentation clear-ly written

• Complete Kit includes allSockets for 64K

• Memory access time: 375ns,Cycle time: 500ns.

• No wait states required.

• 16K boundries and Protectionvia Dip Switches

• Designed to work with Z-80,8080, 8085 CPU's.

EXPANDO 64 KIT (4116)

16K $245.00

32K $310.00

48K $375.00

64K $440.00,

^CONTlNtNIAL SPtCIALTItS COBPOPADON

• 20 Hz-100 MHz Range

• .6" LED Display

• Crystal-controlled timebase

• Fully Automatic

• Portable • completelyself-contained

• Size - 1.75" x 7.38" x 5.63"

• Four power sources, i.e. batteries,110 or 220V with charger 12V withauto lighter adapter and external7.2-10V power supply.

_£t34;9lSale $120.00

ACCESSORIES FOR MAX 100:

Mobile Charter Ellmlnater use power from

car battery. Model 100—CLA $3.95

Charger/Eliminator use 110 VACL Model 100 - CAI $9.95

LOGIC MONITOR r

Trace signals through all types of digital circuits. Unitclips over any DIP IC up to 16 pins. Each of its 16 contactsconnects to a single-bit level detector that drives a high-intensity, numbered LED readout activated when the ap-plied voltage exceeds a fixed 2 V threshold. Logic "1"turns LED on; logic "0" keeps LED off. A power-seekinggate network automatically locates supply leads andfeeds them to the LM-1's internal circuitry. Saves minutes,even hours In design, troubleshooting, debugging ofequipment. Voltage Threshold: 2 V * 0.2 V. Input Im-pedance: 100,000 ohms. Input Voltage Range: 4-15 V max.across any two or more inputs. Current Drain: 200 m A at 10V. Size: 4" I. x 2" w. x 1.75" d. when open. Weight: 3 ozs.CSC Model LM-1 Logic Monitor—Complete.|Lis"t Price $54.95

^CONTINENTAL SPECIALTIES CORPORATION

Logic Probes and Digital Pulsers

LOGIC PROBES

CSC logic probes are the ultimate tool lor breadboard design and testing.These hand-held units provide an Instant overview ol circuit conditions.Simple to use; just clip power leads to circuit's power supply, set logicfamily switch to TTUDTL or CMOS/HTL. Touch probe to test node. Tracelogic levels and pulses through digital circuits. Even stretch and latch foreasy pulse detection. Instant recognition of high, low or Invalid levels, opencircuits and nodes. Simple, dual-level detector LEDs tell It quickly, correct-ly. HI {Logic "1"): LO (Logic "0"). Also incorporates blinking pulse detector,e.g., HI and LO LEDs bl'nk on or off, tracking "1" or "0" states at squarewave Irequencies up to 1.5 MHz Pulse LED blinks on lor '/> second duringpulse transition. Choice of three models to meet individual requirements;budget, project and speed of logic circuits.MODEL LP-1

Hand-held logic probe provides Instant reading ol logic levels lor til. PTL.HTL or CMOS Input Impedance: 100.000 ohms. Minimum Detectable Pulse:50 ns. Maximum Input Signal (Frequency): 10 MHz. Puis* Detector (LED):High speed train or single event. Pulse Memory: Pulse or level transitiondetected and slored. ^^^-e"

^CSC Model LP-1 Logic Probe—Nel Each JS#£95 $42.70

s^£ ^^

MODEL LP-2

Economy version ol Model LP-1. Safor than a voltmeler. More accurate thana scope. Input Impedance: 300.000 ohms. Minimum Detectable Pulse: 300ns. Maximum Input Signal (Frequency): 1 5 MHz. Pulse Detector (LED): Highspeed train or single event. Pulse Memory: None. .^

CSC Model LP-2 Logic Probe—Net Each »4^5 $23.70

MODEL LP-3

High speed logic probe. Captures pulses as short as 10 ns. Input Im-pedance: 500,000 ohms. Minimum Detectable Pulse: 10 ns Maximum InputSignal (Frequency): 50 MHz. Pulse Detector (LED): High speed train orsingle evenl. Pulse Memory: Pulse or level transition detected and stored.CSC Model LP-3 Logic Probe—Net Each tfXft^* $66.45

DIGITAL PULSER

The ultimate In speed and ease of operation. Simply connect clip leads topositive and negative power, than touch DP-1's probe to a circuit node:automatic polarity sensor detects circuit's high or low condition. Depressthe pushbutton and trigger an opposite polarity pulse into the circuit. Fasttroubleshooting Includes injecting signals at key points in TTL. DTL. CMOSor other popular circuits. Test with single pulse or 100 pulses per secondvia built-in dual control push-button; button selects single shot or con-tinuous modes. LED indicator monitors operating modes by (lashing oncetor single pulse or continuously tor a pulse train. Completely automatic,pencil-size lab/field pulse generator for any family of digital circuits, Out-put: Trislate. Polarity: Pulse-sensing auto-polarity. Sync and Source: 100mA Puis* Train: 100 pps. LED Indicator: Flashes for single pulse; stays litlor pulse train.CSC Model DP 1 Digital Pulser-Nei Each (?■&$ $71.20

4007

DEC LSM1, PDP8. PDP11.Heath H-11, P Pattern EpoxyGlass. Plug Board B.43"x5.1B7'Dual 36 pin DEC/HEATHConnectors.1-4 5-9 10-24

10,95 17.96 15.96

VECTOR-PAK ASSEMBLEDMICROCOMPUTER CASES

Adjustable packaging system for S-100 busmicrocomputers, compatible with Altai.8800 and IMSAI 8080 size, cards.

• Smart looking, deluxe cases unmarred byunsightly screws or fasteners.

• Finished in dark blue textured vinyl.

• Instantly accessible interiors with slip outcovers.

• Removable recessed rear and frontpanels.

• Fully adjustable interior mountingsystems tor any card or card spacing withinsize limitations. No cutting or drillingnecessary.

• Perforated bottom cover tor cooler opera-tion.

DESCRIPTIONAssembled case with perforated bottomcover. Installed mounting struts tor cardguides and receptacles or mother boardCards top loaded, spanning front to back.Card guide (12 pair) and chassis plate sup-plied uninstalled.

8801-1Plain no etched circuitry except contacts. Pro-duces maximum flexibility.1-414.95

8802-1Pad per 2 holes. Two-holE pads allow tack solder-ing ot socket, plus second hole for componentleads.

8804

"ANY DIP" has full power and ground planes backto back. Board accommodates 3. 4, 6. 9" Oips.1-4 5-9 10-24

21.95 19.76 17.56

VP-1$163.00

Shipping Weight 25 lbs

VP-2$159.00

Same as VP1 except

cards oriented side

to side.

PRIORITY

8801

Idual tinned square pads surround most holes.

Ideal for mounting components by "tack soldering"

Top of board pod free for mounting I/O connectors.

1-4 5-9 10-24

19.95 17.95 15.96

ELECTRONICS

4608Is form and size compatible with IN-TEL SBL80 Series and NATIONALBLC 80 Series microcomputerboards. Power and Ground buses onboth sides

1-4 5-9 10-24

45.00 40.50 36.00

4608-1

Same as 4608. except plain less

power buses.

104 5-9 10-24

34.00 30.60 27.20

Send for our latesl brochure

16723B Roscoe Blvd. Sepulveda CA 91343

Terms VISA. MC. BAC check. Money Order C 0 D . J S Funds Only CA residents add 6% sales lax Mini-mum order $10 00 Orders less man $75 00 include 10% snipping and handling, excess relunded Just in caseplease include your phone no Good Thru May 1979

phone orders welcome (213) 894-8171

OEM and Institutional inquiries invited

%

Visit our new retail location!

Circle 312 on inquiry card.

Visit our n<

r S-100 BUS EDGE CONNECTORS sioo-stg somoo Cont. .125 oirs. Dl

SOLDER TAIL on .250 spaced rows forVECTOR and MASI motherboards GOLDplated

S100WWG 50/100 Cont. .125 ctrs. 3LEVEL WIRE WRAP .025" sq. posts on.250 spaced rows. GOLD PLATED.1-4 5-9 10-24

S4.00 S3.75 S3.50

S100ALT 50/100 Cont. .125 ctrs. DIPSOLDER TAIL on .140 spaced rows torALTAIR motherboards. GOLD plated.1-4 5-9 10-24

$4.00 «3.75 J3.50

1-4

$3.50

5-9

$3.25

S100SE 50/100 Cont.SOLDER EYELET I

1024$3.00

.125 ctrs. PIERCED. GOLD

1-4 5-9 10-24

55.00 $4.50 $4.25

S-100-CRM 50/100 Cont. 125 ctrs. 250spaced rows SMALL DIP SOLDER TAILPINS tor CROMEMCO motherboard.14 5-9 1024

$6.25 $6.00 $5.76

OTHER POPULAR EDGE CONNECTORS

All Edge Card Connectors are GOLD PLATED (not Gold Flash) Bodies are non brittle, Solventres., G.E. Valov. Contacts are Bifurcated; Phos/Bronze: GOLD over Nickel.

ABBREVIATIONS: SE - Solder Eyelet WW = 3 Level Wire Wrap ST - Solder Tell

.100" Contact Center Connectors

PRICE

PART NO.

TYPICAL APPLICATION

1-4

5-9

10-24

D132S-1SE

Imssl M10. SIO

2.10

1.85

1.75

D22441WW

Vector Plugboards

4.00

3.80

3.60

D2SKMSE

Imsal P10. Intel Multibuss

3.00

2.80

2.60

D2550-1ST

Imsal P10. Intel Multibuss

3.00

2.80

2.60

O3M0-1WW

Intel Multibuss

4.00

3.80

3.60

D38721SE

Vector Plugboards

5.00

4.80

4.60

D3872-1ST

Vector Plugboards

4.00

3.75

3.50

D3672-1WW

Vector Plugboards

4.80

4.60

4.30

04060-1SE

PET

4.80

4.50

4.30

04060-1ST

PET

4.90

4.60

4.25

D40W-1WW

PET

5.00

4.65

4.35

D43M-1SE

Cos. ELF

5.00

4.75

4.50

M3M-1ST

Cos. ELF

5.10

4.85

4.60

D4M6-1WW

Cos. ELF

4.95

4.70

4.45

DSO'HMWW

Cos. ELF

4.80

4.60

4.30

.125" Contact Center Connectors

PRICE

PART NO.

TYPICAL APPLICATION

1-4

5-9

10-24

D40M-2W/W

Vector 4350 -

5.20

•5.00

4.60

S100-STG

S-100, Imial. Vector Motherboards

3.50

3.25

3.00

S100-WWG

S-100 Wire Wrep

4.00

3.75

3.50

S100-ALT

S-100 Allalr

4.00

3.75

3.50

S10OCRM

S-100 CROMEMCO

6.25

6.00

5.75

.156 Contact Centers Connectors

PRICE

PART NO.

TYPICAL APPLICATION

1-4

5-9

10-24

S6X-5SE

Pel. NSC CLK Modules

1.30

1.10

1.00

D612-5SE

Pet, NSC CLK Modules

1.35

1.15

1.05

D1020-5SE

2.00

1.80

1.60

D1224- 5SE

Pet

2.15

1.95

1.75

D1224-5ST

Pet

2.15

1.95

1.75

D1530-5SE

Vector Plugboards, GRI Keybrds

2.25

2.05

1.85

D1530-5ST

Vector Plugboards. GRI Keybrds

2.25

2.05

1.85

D18365SE

2.40

2.20

2.00

D22445SE

Vector, Kim. etc.

2.20

2.00

1.80

02244-5ST

Vector, Kim. etc.

2.20

2.00

1.80

D22445W/W

Vector, Kim, etc.

2.40

2.20

2.00

03672-5SE

Vector Plugboards

3.50

3.30

3.10

D3872-5ST

Vector Plugboards

3.50

3.30

3.10

D3672-5WW

Vector Plugboards

4.00

3.80

3.60

D4366-5ST

Mot 6800. Intel Multibuss

5.00

4.75

4.50

D4388-5WW

Mot 6800, Intel Multibuss.

NSC

pacer

5.00

4.75

4.50

CG-1

Imsal Style Card Guides

5/1.00 or 100/10.00

RS232 & "D" TYPE CONNECTORS

P = Plug-Male S = Socket-Female C = Cover-Hood

PRICE

PART NO.

DESCRIPTION

1-4

5-9

10-24

DE-9P

9 Pin Male

1.45

1.35

1.25

DE-9S

9 Pin Female

2.00

1.90

1.80

OE9C

2 pc. Grey Hood

1.25

1.15

1.05

DA15P

15 Pin Male

2.00

1.90

1.80

DA15S

15 Pin Female

2.60

2.60

2.40

DA15C

15 Pc. Grey Hood

1.50

1.40

1.30

DB-25P

25 pin Male

2.25

2.15

2.05

DB2SS

25 pin Female

3.25

3.05

2.75

D851212-1

1 pc. Grey Hood

1.30

1.20

1.10

0B12281A

2 pc. Black Hood

1.40

1.30

1.20

DB110983-3

2 pc. Grey Hood

1.40

1.10

1.20

DC37P

37 Pin Male

3.70

3.50

3.35

DC37S

37 Pin Female

5.00

4.75

4.40

DC37C

2 pc. Grey Hood

1.95

1.85

1.75

DDS0P

50 pin Male

4.40

4.30

4.10

OD50S

50 pin Female

4.90

4.70

4.50

DDSOC

1 pc. Grey Hood

2.30

2.20

2.10

D20416-S

Hardware Set

.75

.70

.65

Connector lor CENTRONICS 700 SERIES:

Amhoenol 57-30360 lor back of Centronics 700 Series printers 1-4—

$9.00 5-up-

-$7.50

DIP PLUGS

PRICE

PRICE

Pen « No. ot

1-24 25-99 100-499

Part • No.

ol 1-24

25-99

100-491

Pull

Pine

P08P02 8

.41 .36 .29

P22P02 22

.75

.67

.63

P14P02 14

.46 .42 .34

P24P02 24

.79

.71

.66

P16P02 16

.55 .47 .36

P29P02 28

1.10

.93

.81

P18P02 16

.67 .57 .46

P40P02 40

1.25

1.07

.94

GOLD SOLDERTAIL STANOARC

1-24 25-49 50-99

1-24

25-49

50-99

8STG

.30

.27 .24

22STG

70

.63

.57

14SQ

.35

.32 .29

24STG

70

.63

.57

16STG

38

.35 .32

28STG

1.10

1.00

.90

18STO

.52

.47 .43

40STG

1.75

1.55

1.45

20STG

60

.56 .52

TIN SOLDERTAIL - LOW PROFILE

1-24 25-49 50-99

124

25-49

50-99

8CS2

.25

.16 .15

22CS2

37

.36

.35

14CS2

25

.18 .16

24CS2

38

.37

.36

18CS2

25

.20 .18

28CS2

45

.44

.43

1BCS2

.29

.28 ,27

40CS2

63

.62

.61

20CS2

.34

.32 .30

3 LEVEL GOLD WIRE WRAP SOCKETS

Sockets purchased in multiples of 50 per type may be combined for best price.

124 25-49 50-99

100-249

250-999

1K-5K

Spin*

.41 .38

.35

.31

27

.23

14 pin*

.39 .38

.36

.32

29

.27

16 pin*

.43 .42

.39

.35

32

.30

16 pin

.63 .58

54

.47

42

.36

20 pin

.80 .75

.70

.63

58

.53

22 pin*

.90 .85

.80

.70' .68

81

.57

24 pin

.90 .84

.78

83

.58

28 pin

1.10 1.00

90

.84

76

.71

40 pin

1.50 1.40

1.30

1.20

1.04

.89

All sockets are GOLD 3 level closed entry. 'End and side stacable. 2 level Tail, Low Profile, TinSockets and Dip Plugs available. CALL FOR QUOTATION.

PRIORITY

^.unbeatable GREAT JUMPERS

FLAT RIBBONCABLE ASSEMBLIESAT AFFORDABLE PRICES

■ Choice of 3 types of end connectors moldedon and factory tested.

■ Daisy chain and single-end also available.

■ 5 popular sizes to choose from:20, 26, 34, 40 and 50 contacts, eachwith line-by-line probe access holes.

■ Choice of 2 cable types and 5 lengths.

FLAT RIBBON CABLEStranded, 28 AWG with laminated PVC insulation,

"Electric Pink" cable has red stripe on one edge for ori-entation. Used only on double-end and daisy chain as-semblies

"Rainbow" cable is coded in standard 10-color se-quence on Iront. Serpentine striping on back aids in identi-fying wire number and wire group during tear down sepa-ration (or discrete wire terminations. Used only on single-end jumpers,

PCB JUMPERS

CARD-EDGE JUMPERS

No,Contacts

DOUBLE END

Electric Pink

6"

SINGLE END

Rainbow

36"

DAISY CHAIN

13 connectorsl

EloctricPink

6"

20

924052 06 R$5 69

924062-36 fl$4 11

924092 06 R

$8.42

26

924053 06 R56 46

924063-36 R$4 88

924093 06 RS9 54

34

924054 06 RS7 96

924064-36-R

$6.15

924094 06 R-511 74

40

924055 06 R$9 29

924065 36 R

57 20

924095 06- RS1370

50

924056 06 flS10 10

924066 36 R

$8 21

924096 06 RS1486

SOCKET JUMPERS

No

Contacts

DOUBLE END JUMPER ASSEMBLIES

Electric Pink Cable

6' 18" 36"

SINGLE END

Rainbow

36"

DAISY CHAIN13 connectorslElectric Pink

6"

20

924002 06 R$3 70

924002 18 R$ 4 16

924002 36 R$ 4 85

924012 36 HS3 12

92407206 R$ 544

26

924003 06 R54 78

924003 18 R$ 538

924003 36 RS 6 28

924013 36 R$4 04

924073 06 R5 7 02

34

924004 06 R$6 25

924004 IB RS 705

924004 36 R$ 8 25

924014 36 RS5 30

924074 06 R

$ 9 ta

40

924005 06 R$7 33

924006 06~H59 15

924005 18 RS 8 27

924005 36 RS 968

924015 36 R56 22

924075 06 H$10 76

50

924006 18 R$1031

924006 3fi R$12 05

924016 36 R57 73

924076 06 R$1343

double-rOW Ideal mates for

JUMPER HEADERS "greatjumpers"

Solder to PC boardsfor instant plug-inaccess via socket-connector jumpers

.025" square posts aremolded into plasticheader strip on a.10" x .10" matrix

Choice of straightor right angle con-figurations

i—*.'—u—\/-^J—V—-y—V—u—v—\/—-j—VT\ (

JiMllffiliil?,

STRAIGHT

tt

No.Posts

Dim."A"

Dim."B"

PartNumber

Price2 sets

20

1.0

0.9

923862 R

S .38

26

1.3

1.2

923863 R

$ 1.28

34

1.7

1.6

923864 R

S 1.64

40

2.0

1 9

923865 R

S 1.94

50

2.5

24

923866 R

$2.36

■»,» RIGHT-ANGLE

'ft* Y? .'»' ' —tr->

I0OTYP - - H^ I

-- 0»SO TYP ||

(j ji i j ? i ii r' i iM-.-

DIP JUMPERS

FLAT RIBBON CABLE ASSEMBLIESWITH DIP CONNECTORS

• Availablo with 14,16,24 and 40 contacts.

• Mate with standard IC sockets. '

• Fully assembled and tested.

• Integral molded-on strain relief.

• Line-by-line probeability.

No.Posts

Dim."A"

Dim."B"

20

1 0

0.9

26

1 3

1 2

34

1 7

1 6

40

20

1 9

50

25

24

PartNumber

923872 R

923873 R

923874 R

923875 R

923876 R

Price2 sets

$ 1.20S 1.52S 1.965 2.30$ 2.82

A P DIP Jumpers are the low-cost, high-quality solution for jumpering within a PC

SINGLE-ENDEDDIP JUMPERS

board; interconnecting between PC boards,backplanes and motherboards; interfacing In-put/Output signals; and more.

All assemblies use rainbow cable. Stan-dard lengths are 6,12,18,24 and 36 inches.

y- A,,o« Dcnolei P,n No I

DOUBLE-ENDEDDIP JUMPERS

F?

No.Contacts

Length36"

14

924102 36 RS2 33

16

924112 36 R$2 59

24

924122 36 R$4 00

40

924132 36 R$6 71

No.

Contacts

Length8"

Length

12"

Length18"

Length24'

Length36"

14

924106 6-RS2 41

924106-12-R$2 61

924106 IB RS282

924'06 24-R$3,02

92410636R$343

16

924116 6 R$2 65

924116 12-R$2.88

924116-18R$3.11

92411624 fl$3.34

924116 36- R

$3.BO

24

924126 6 R$4.15

924126 12 R$4 50

924126 18-R$4.85

924126 24-R$5 20

924126 36 R

$5.90

40

924136 6R

$6.93

924136 12-R$7.52

924136 18-R$8.11

92413624-R$8.73

924136 36 R$9 88

ELECTRONICS

Send (or our latest brochure

16723B Roscoe Blvd. Sepulvedo, CA 91343

Terms VISA. MC. BAC. check Money Order COO . US Funds Only la residents add 6% sales lax Mini-mum order $10 00 Orders less ihan $75 00 include 10% shipping and handling, excess relunded Just in caseplease include your phone no Good Thru May 1979

phone orders welcome (213) 894-8171

OEM and Institutional inqui

Circle 312 on inquiry card.

Visit our new retail location!

HAZELTINE1400

only

$649.95!

• Verbatim Mini Diskettes $3.70each (boxes of 10)

• Two-tier walnut formica enclo-sure for SA-400 Shugart.. . $39.95

• Typewriter Ribbons (many makessuch as Diablo, Centronics, DECand print wheels)

• TRS-80 16KExpansion Kit.. .$89.95

• Centronics 779 tractor -$1150.00

• Horizon II ass. - $1999.00

Mail TORA SYSTEM INC.Order 29.02 23rd Avenue°nlv- Astoria NY 11105(212) 932-3533

Circle 371 on inquiry card.

TERMINAL

DATA

CORPORATION

MODEL 1200 RS 232 DATA SPLITTER

available in kit form

Model 1200K gives the terminal or micro-processor user a second interface for a printer,plotter, cassette or tape drive. It operates at anyspeed & isolates the two output devices fromeach other, while providing 2 RS-232 interfacesfrom the terminal or microprocessor.

The kit consists of 3 RS-232 connectors,printed circuit board, all necessary components,enclosure, mounting hardware & assembly in-structions $59

write or call

TERMINAL DATA CORP.

11B78 Coakley Cir.

Rockville, MD 20852

(3011 081 7655

Circle 361 on inquiry card.

BASIC

SUBROUTINE

LIBRARY

Volume 1

VM Professional ApplicationSoftware, Ltd.2703 Bainbridge AvenueBURNABY, B.C. V5R 2S7

" ARRAYS - minimum, maximum, sums,searching, sorting.

• MATRIX ALGEBRA - addition, subtrac-tion, multiplication, transposition,determinant, inversion.

• SIMULTANEOUS EQUATIONS - non-symmetrical, symmetrical, ba n ded,three-diagonal.

Any routine you'll ever need, involvingarrays, matrix algebra or simultaneousequations, can be found in this com-prehensive Collection of subroutines,compatible with any version of BASIChaving subscripted variables.Numerous examples show how io< incor-porate those subroutines into your pro-grams or how to use ihem as standalone programs.

Order now and save days of work.$18.00 U.S. plus S2.00 for handlingand postage.

ENGINEERINGPROGRAMMERS

Don't Come To Mass...

Unless you enjoy challenging microsoftware development projects withsome of the fastest growing commer-cial systems manufacturers in the U.S.Our clients offer generous salaries,flexible hours, profit sharing, etc. toexperienced or degreed assemblyprogrammers In areas such ascommunications, diagnostics, textediting, graphics, compiler, and O.S,design. Starting salaries 18-28K. Allfees, relocation and Interviewingexpenses assumed by the companies.

Please contact Dave Adams(617) 246-2815 (collect callsaccepted). N.E. Recruiters, 6Lakeside Office Park, Wakefield,MA 01880.

Fee paid consultants

Catf*

How did you everdo without it?

© 1979 PS Inc.

Circle 302 on inquiry card.

rr

L

THE

RECREATIONALPROGRAMMER

A

QUALITY SOFTWARE!

Tl & HP Program ma blesBASIC for most computers

LU

Q.

OCO

(/)

cc

GAMES-ALGORITHMS PUZZLESSTOCK ANALYSIS AND MORE!

OVER 30 PAGES BIMONTHLY!

ANNUAL SUBSCRIPTION ONLY:512 within USA & APO/FPO's

524 Foreign by AIRMAILSingle Issue tor S3 Incl P&H

VISA and MASTERCHARGE OKICALL (616) 343-3546 NOW IBon 2571 Kalamazoo Ml 49003

ffP^BllKM*

\ TRS-80 y

SPECIAL PROMOTION SALE

SAVE 10%, 15% or more on ALLComputers, Peripherals, Software,and ALL other fine Radio Shack®products.

NO TAXES on out-of-state ship-ments.

FREE Surface delivery in U.S.

WARRANTIES will be honoredby your local Radio Shack® store.Offered exclusively by

Radio Shack8

Authorized Sales Center

1117 Conway

Mission, Texas 78572

(512) 585-2765

\

J

Circle 314 on inquiry card.

)Texas Instruments

INCORPORATID

THERMALPRINTER

$4995

HANDLING CHARGEINCLUDED

• 12 characters/line

• 5 x 7 dot matrix

• Alphanumeric capability

• Weighs 6 ounces

• Uses 2% inch thermal paper

Send check, money order, or Master Charge orVISA number and expiration date to:

BOOTSTRAP ENTERPRISES

P.O. Box 614

Richardson, Texas 75080

Circle 34 on inquiry card.

MUSICAL PET

with Built-in Sound Generator

$775 (8 K Model)

Sold Separatelyfor $39.95

Discounts available

on the new

16 K/32 K

Models

Meets music standards proposed by "ThePaper" and "Cursor." Supplied with completeinstructions and demo tape.

Offered jointly by:

AMPTEC INC.

S975 N Broadway

Denver, CO 80216

I303) 571-0833

MICRO WORLDELECTRONIX

6340 W Mississippi

Lakewood, CO 80226

(303) 936-4407

Circle 385 on inquiry Card.

Circle 323 on inquiry card.

Circle 232 on inquiry card.

^

PRECUT WIRE

WIRE WRAP TOOLS

#30 WIRE KITS

#1 $7.95 #2 $19.95

250

3"

100

41/2"

250

21/z"

250

5"

250

31/2"

100

5"

500

3"

100

5V2"

100

4"

100

6"

500

3Va"

250

6"

500

4"

100

61/2"

250

41/2"

100

7"

#3

$24.95

#4 $44.95

500500500500

2W

3"

4"

500 41/2"500 5"500 51/2"500 6"

1000 21/2" 1000 41/2"1000 3" 1000 5"1000 3Va" 1000 51/2"1000 4" 1000 6"

Choose One Color or Random Assortment:

Red, Blue, Green, Yellow, White, Orange, Black.

s

' #26 Prices on Request

' 830 Kynar stripped 1" on each end. Lengths are overall.

Colors: Red, Blue, Green, Yellow, Black. Orange, White.Wire packaged in plastic bags. Add 25C/length for tubes.

In.

2!*

33VS

4

4V5

5

5 V,6

9

9'/,10

1001.041 081.131.18

1 231.281 321.37

1.601.661.731.78

1821.871.921.99

15

500

1000

5000

2.98

5.16/K

4.67/K

3.22

5.65/K

5.06/K

3.46

6.14/K

5.46/K

3.20

6.62/K

5.87/K

3.95

7.12/K

6.25/K

4.20

7.61/K

6.62/K

4.48

8.10YK

7.03/K

4.72

8.59/K

7.43/K

5.37

9.84/K

8.48/K

5.63

10.37/K

8.91/K

5.89

10.91/K

9.33/K

6.15

11.44/K

9.79/K

641

11.97/K

10.19/K

6.76

12.51/K

10.62/K

6.93

13.04/K

11 05/K

7.26

13.57/K

11.48/K

HOBBY

WIRE WRAP TOOL

BW 630 (Back Force) $34.95

BT 30 Extra Bit 2.95

BT 2628 #26 Bit 7.95

Batteries & Charger 11.00

INDUSTRIALWIRE WRAP TOOL

BW928

BW 928BF (Back Force)#30 Bit & Sleeve#26 Bit & SleeveBatteries & Charger

$49.95*

52.95*29.5029.5011.00

ELECTRICAL INDUSTRIALWIRE WRAP TOOL

EW7D

EW 7D BF (Back Force)#30 Bit & Sleeve#26 Bit & Sleeve

$85.00*

92.90*

29.50

29.50

"Industrial Tools do not include Bit & SleeveSpring Loaded bit on Back Force models.

d

EDGE CARD CONNECTORS

44 pin Solder Tail $1.95 $17.50/10 ALLareGold100pin Solder Tail $3.95 $35.00/10 100pin are IMSAI100 pin Wire Wrap $3.95 $35.00/10 spacing.

TTT

b

r

INTERCONNECT CABLES

A

Ribbon cable connectors tor connecting boards to front panels, or board to board.

SINGLE ENDED

DOUBLE ENDED

14 pin 16 pin 24 pin

14 pin 16 pin

24 pin

6"

124 134 2.05

2.24 2.45

337

12"

133 1.44 2.24

2.33 2.55

3.92

24"

152 165 2.63

2.52 2.76

4.31

48"

1.91 2.06 3.40

2.91 3.17

5.08

OK PRODUCTS

WD 30

50 ft.

Wire Dispenser Red

White. Blue.

or Yellow

$3.75

WD-30-TRI

TRI Color Dispenser

5.50

R-30-TRI

Refill for TRI Color

3.75

INS 1416

14 & 16 pin Insertion Tool

3.25

MOS 40

40 pin Insertion Tool

7.50

EX-1

IC Extractor Tool

1.49

H-PCB-1

Hobby PC Board

4.99

WSU 30

Hand Wrap/Unwrap/Strip

Tool

6.25

WSU 30M

V

Same

as WSU30 with Modified Wrap

7.50

SOLDERLESSBREADBOARDSSK 10 $16.50

2.2" x 6.5"

MB10

$18.95

SK10 mounted on boardW74 Binding Posts &Rubber Feet

WIRE WRAP SOCKETS

1-9 10-24 25-99 100-249 250-999

8 pin"

.40

.36

.34

.31

.27

14 pin"

—

.39

.37

.34

.32

16 pin"

—

.42

.40

.36

.34

18 pin"

.70

.60

.55

.50

.45

20 pin

.90

.80

.75

.65

.62

22 pin"

.95

.85

.80

.70

.65

24 pin

.95

.85

.80

.70

.65

25 pin strip

1.25

1.15

1.00

.95

.90

28 pin

1.25

1.15

1.00

.95

.90

40 pin

1.65

1.45

1.35

1.20

1.10

Gold 3-Level Closed Entry Design

End & Side Stackable

>-.

2-Level sockets Availab

e

ulU lOlIM GIMME!

135 E. Chestnut St. #5 Monrovia1, CA 91016 (213) 357-5005

Ordering Information:

• Orders under $25 and COD'S add 52

• All others, shipped Ppd in U.S. via UPS'• For Blue Label (Air) or 1st Class, add $1

• We accept Visa & Mastercharge

Catalog available on request.

LOGIC PROBE

PRB-1

$34.95

• Compatible with allLogic Families

• 10 Nsec pulse response

Dealer Inquiries Invited

Circle 298 on inquiry card.

BYTE May 1979 275

i

Computer Products

}

* DISK DRIVES *

B51 5%" $295.00

by Micro Peripherals, Inc. OperatesIn eithei single density (125KB,unformatted) or double density(250KB, unformatted) modes, upto 40 tracks, with a track-to-trackaccess time of only 5 ms.SA801R $495.00

by Shugart Slngle-slded 8" floppydisk drive.

FD8-100 $395.00

GSI/Siemens. Runs cooler andQuieter than 801 (8")

SA400 $325.00

Single density 5V., 35-Track drive.Cabinet and power supply available

1791 B01Dual Density Controller Chip

$49.95

LOGIC PROBES

Mod.l LP

ft ,„,„„

111 ■ in

Minimum

DiiKiiblt

""'" w*

CSC Mad*

LP 1 log*

MODEL L

? 3

fiOOuXX)

Minimum

ILEOI M

CSC Mad*

LP 3 Lo»i

' TWO SIEMENS/GSI 8 FLOPPY

DRIVES" POWER SUPPLY FOR ABOVE- JAOE/TARBELL DISK CONTROL

KIT IS100I' CP/M OPERATING SYSTEM WITH

BASIC E' PACKAGE OF 10 BLANK

B DISKETTESPrice II purchased separately

S1192.50

JADE SPECIAL PACKAGE DEAL

SI 050.00

3-LEVEL GOLDWIRE WRAP SOCKETS

14 PIN 39* each

16 PIN 43d each

100 for $35

Sockets are (Mid and side slackable, closed entry.

S-100 MOTHER BOARDS

JADE 6-SLOT

Kit

Assembled & Tested

Bare Board

$41.95$56.95$24.95

9-SLOT "

LITTLE MOTHER'

Kit

AssembledBare Board

& Tested

$85.00$99.00$35.00

13-SLOT 'QUIET MOTHER"Kit $95.00

Assm. & Tested $110.00

Bare Board $40.00

22-SLOT "STREAKER"

Assm. & Tested $149.00

S-100 EDGE CONNECTORS

Soldeitail S3.25 each

10 for $35.00Wire wrap $4.00 each

10 for $40.00

TRENDCOM lOO

Intelligent Printer

Interface & Cablefor TRS-80

$45.00

40 character per second rateLow cost thermal paper96 character setMicroprocessor controlledBidirectional look-ahead printing

• Quiet operation • No external power supplies • Only twodriven parts • High reliability • Clear 5x7 characters

• Attractive metal and plastic case 2 rolls of paper for $5.00

Interface & Cable

for Apple

$60.00

EXPANDOR'S BLACK BOX PRINTER

This 64-character ASCII impact printer /

with 80-column capability is portable .^-^^_ /

and uses standard 8V2" paper and reg-ular typewriter ribbon. Base, coverand parallel interface are included.Assembled and complete with manualand documentation. , *.,« nn

only $470.00

(90 day manufacturer's warranty)

TRS 80 Interface Cable for Black Box Printer

Willi m.itiruj CorinettOlS: $46.00

(must be uicd with t>xpanS'on module, • 8v ■ 1

diup poyVOi Supp'y n-quiri'Cl. 1

Power Supply for TRS-80/Black Box Printer $49.00

/

VIDEO INTERFACE

S-100 Compatible Serial Inter-face with Sockets Included.Kit $117.95

Assembled & Tested $159.95Bare Board w/manual $ 35.00

Z80A SPECIAL

4MHz CPU Chip^f $14.95 ^

TJ-l

Convert your T.V. set into a

Video Monitor

Kit $8.95

PARALLEL/SERIALINTERFACE

5100 compatible 2 serial I/Oports, 1 parallel I/O.

Kit JG-P/S $124.95

Assembled & Tested:JG-P/SA

Bare Board w/Manual

Products

MAINFRAMES

Accomodates all S—100Mother Boards. Built-in cardcage with card guides. Lightedreset switch. Rotron whisper fan.

Includes heavy duty powersupply. (+ 8 volts DC @ 30 AMPS,+ 16 volts DC @ 4 AMPS, -B voltsDC may be added.

only

$389.00

3M^ or VERBATIMFLOPPY DISKS

5V. in. Minidiskettes

Soft sector. 10 sector, or 16 sector

$4.40 each or

box of 10 for $40.00

8 in. Standard Floppy Disks

Soft Sector

$4.75 each—10 for $42.50

$179.95$ 30.00

FLOPPY DISK INTERFACE

JADE FLOPPY DISK (Tarbellboard)

Kit $195.00

Assembled & Tested £250.00

S.D. Computer ProductsVERSA-FLOPPY

Kit S159.95

Assembled & Tested S239.00

IntegralData Systems

€>

Check the impressivefeatures on Integral'sIP-125 Impact Printer

only $799

LOADED WITH EXTRAS AT NO EXTRA COST

■ Microp

ocessor

rn

nlroller

• Ser

al

RS232C ir

ter (ace

■

Pjral

ei T

i

level

in

p,

face

• Full

upper an

a lower

ca

e A5CII

cfiai

ac

er iet (96 c

iaiacte

SI

■In

i a .'

1 ii

en w

de

P

per

■ Li

length o

80 colu

TH

i at 10 c

lara

te

S per inch

Impac

nniin

)■ /

x/

dot m

atr

X

. (J

dirtj

y

paper roil, fanio

d

• 5«

Dana rate

u 1200

Is pe

secu

a Mu

l.r

of 256 i

naracter

insianta

ml rate to

100 cr

11

aciers

sec

ond i

W

WMtiOut

adjustme

it

■ Reinkinq nDDi

n mechams

i ■ f-ro

It

opei

r con

At

ract

table lop

console

IP-125 Integral Data System IP-125 Friction Feed Printer

• 96 upper & lower case ASCII character set

• Enhanced character control

• Serial RS232C Interface (std. factory wiring)

• Parallel TTL Interface (factory wired on req.)•80 column line

•256 byte multiline buffer $'99

IP-225 Integral Data System IP-225 Tractor Feed Printer

• All standard features of IP-125

• Tractor feed paper drive

• Forms Control Option (P1250) $949

pem Plugboards

8800V

J n i vena I Microcomputer/processorplugboard. Use with S-100 bus. Com-plete with heat link & hardware.5.3" « 10" * 1/16".

V

3690-12CARD EXTENDER

Card Extender hat 100 contacts. 50 per sideon 125 centers. Attached connector is com-patible with S-100 Bui Systems . $26.003S90 6.5" 22/4 pin. 15t ctn.EKtender* S12.0Q

Gen, Purpose D.I.P. doardtwith Bus Pattern for Solder orWire Wrap. Epoxv Glass 1/16"44 pin con. spaced .156.

8801-1

Same as 8800V excepr plain,power buses Bt hear sink

3677 9.6" » 4.5" . .3877-2 6.5" « 4.5".

(10.90. $9.74

IIOOV 19.95 17.95 15.9611011 14.95 13.46 11.96

P partem plugboards for IC'sEpoisy Glass 1/16" 44 pin con.spaced .166.

3662 6.5" x 4.5" $7.65

3662 2 9.6" « 4.5". . . S11.45

|

Hi De

nsitv

Dual-in

Line Plug-

board for

Wire

Wrap with

Power &

Grd

us Epoxv

Glass 1/16'

44 pin

con. spaced

.156

3682 9.6" m

4.5" .

. . $10.97

3682

2 6.5'

x 4.5"

. . . $9.81

276

BYTE May 1979

Circle 195 on inquiry card.

c

PLACE ORDERS TOLL FREE

800/421-5809800/282-1710

LEEDEX MONITOR

• 12" Black and White

• 12MHZ Bandwidth

• Handsome Plastic Case

$139.00

i uw once include!)

KIM i Moduli: rnooiltflUllKJldlTlb blU'Ml I"?04H HOM Byitb DM''Manual *aii m/i Sinemain Haidwdit:Matn:difpuypdinmmg MaiiumHuxjiammeis KeteiHum~Z1 "™ "* T Card ^eyftidin UimjIjhCASES - S29.95

$179

i i:

$245

6502 — based single boardcomputer with keyboard/dis-play, KIM-1 hardware compa-tible, complete documentation.

SYM—1 CASE $39.95

2MHz)I (4MH2)

MICROPROCESSORS

F8

Z80 12MHz)

Z80A (4MHz)

COP1802CD

6502

6800

6802

8008-1

8035

8035-8

8080A

8085

TMS9900TL8080A SUPPORT DEVICES

8212

8214

8216

8224

8224-

8226

8228

8238

8243

8251

8253

8255

8257

8259

8275

82 79USRT

S2350UARTS

AY5-1013A

AY5-1014A

TR1602B

TMS6011

IM6403BAUD RATE GENERATORS

MC14411

14411 Crystal6800 PRODUCT

6810P

6820P

682 IP

6828P

6834P

6850P

6852P

6860P

6862P

6871P

6875P

6880PCHARACTER GENERATORS

2513 Upper (-12*5)

2513 Lower (-12*5)

2513 Upper (5 KBIt]

2513 Lower (5 volt)

MCM6571 up scar

MCM6571Adown senPROMS

1702A

2708

2716 (5*12) Tl

2716 (5v) INTEL

2758 (5»jDYNAMIC RAMS

416D/4116 (200ns)

2104/4096

2107B-4

TMS4027/4096 (300ns)STATIC RAMS 1-15

21L02 (450ns) $ 1.50

21L02 (250ns)

2101-1

2111-1

2112-1FLOPPY DISK CONTROLLERS

1771B01

1791

KEYBOARD CHIPS

AY5-2376AY5-3600MM5740

$ 1.75

$ 2.95

$ 3.25

$ 2.95

$10.95

$ 5.25$ 8.25$ 5.25$ 5.95i 9.00

$10.00$ 4.95

$ 4.00$ 6.60$ 6.60$11.25$16.95$ 8.65$11.00$ 9.25$12.00$28.75$ 8.75$ 2.50

$ 6.75$ 6.75$ 9.75$10.95$10.95$10.95

$ 8.00$ 9.95$60.00$60.00$23.40

$12.50$ 4.00$ 3.95$ 4.0016-100$ 1.20$ 1.50$ 2.60$ 3.00$ 2.65

$39.95$49.95

$13.75$13.75$18.00

NEW!

Naked Terminal

FEATURES & BENEFITS

• Industry standard 80 characterby 24 line format (Model 57)

» Completely self contained termi-nal electronics, just add CCTVmonitor and keyboard.

■ No support software required.

■ Switch selectable modes: HalfDuplex, Full Duplex, Blockmode.

■ Block mode allows editing be-fore transmit.

• Keyboard interface provided,including regulated +5 volts and-12 volts.

• Video Is switch selectable as"Black-on-White" or "Whlte-on-Black".

• Fully assembled, socketed, tes-ted, burned in, and guaranteedfor a full year from date ofpurchase.

JADE Z80 BOARD

IMPROVED DESIGN ANDFEATURES

ON BOARD 2708 or 2716 EPROM• VERY RELIABLE AT 4 MHZ OR

• POWER ON JUMP AND RESET

• ON BOARD USART (8251)

2MHi

Kit

Assembled & Tested4 MHzKit

Assembled & TestedBare Board

Continental U.S.

Inaid* California I

•V T 'f '¥ '* 'f '» '» '»V

Jade memory <Expansion Kits lor ,trs-80 and Applet ,

4116*1

Everything a person needs to *add 16K of memory. Chips 4come neatly packaged with 4easy to follow directions. Inminutes your machine is *,ready for games and more 4advanced software.

$75.00 i4

* Call for discounts on larger quantities

^ a -♦- +~ -♦- A A ^^>

uista V80 mini dishSystem lor TRS-80

$395.00

Includes disk drive, power supply, regular boardcompact case, and cable. The V-80 offers 23% morestorage capacity. Simply take It out of the box andit's ready to go! Requires 16K, Level II, EX. R.

rTEXTOOL

ZIP*

DIP® II

Sockets

(jgfmirinrTrj;[p ii ii ii ii ii ing)

*ZEROINSERTION FORCE

sockets

I PRICES:

16 pin Zip Dip II S5.S01

24 pin Zip Dip II $7.50

40 pin Zip Dip II S10.2S

Computer Products

4901 W ROSECBANS AVENUEDepartment "F" 3

HAWTHORNE. CALIFORNIA 90250U.S.A.

Telephone:

(213) 679-3313

(BOO) 421-5809 Continental U.S.

(800) 262-1710 Inside California

Cash, checks, money orders, and credit cards accepted. Addfreight charge of $2.50 for orders under 10 tbs. and $1.00 servicecharge for orders under $10.00. Add 6% sales tax on all partsdelivered in California. Discounts available at OEM quantities.

WRITE FOR OUR FREE CATALOG

All prices subject to change without notice.

"IMSAI"-TYPI CARDGUIDE SPECIAL:

Regular Price 204 each

SPECIAL: 10 for $1.00!

7U#* 'P'tice*

DYNAMIC RAM BOARDSEXPANDABLE TO 64K32K VERSION »KITS

Uses 4115 {8Kxl, 250ns) DynamicRAM's, can be expanded in 8Kincrements up to 32K:

8K $159.0016K $199.00

24K $249.0032K $299.00

4115 SALE8 for $39.95

64K VERSION* KITS

Uses 4116 (16Kx 1, 20Ons) DynamicRAM's, can be expanded in 16Kincrements ud to 64K:

16K $249.0032K $369.00

48K $469.0064K $569.00

+ STATIC RAM +SPECIALS

2114's, low power (1024x4)

1-15 16-99 100 +

450ns I 8.00 1 6.9S I 5.50

300ns 9.00 8.00 6.50

TMS4044/MM5257, low power

450ns300ns

8.009.95

7.508.75

6.508.00

4200A (4Kxl, 200ns)19.95 I 8.50

8.00

410D (4K x 1, 200 ns)

18.25 I 7.00 16.75

STATIC RAMBOARDS

JADE 8K

Kits: 450ns $125.95

250n> $149.75

Assembled & Tested:

450ns $139.75

250ns $169.75

Bare Board: $ 25.00

16K - Uses 2114's (low power)

Assembled & Tested:

RAM 16 (250ns) $375.00RAM 16B (450ns) $325.00

16K with memory management

Assembled & Tested:

RAM 65 (250ns) $390.00RAM 65Bt450nii $350.00

32K Static

Assembled & Tested:

250ns $795.00

450ns $725.00

250ns Kit $575.00

Circle 19 5 on inquiry card.

BYTE May 1979 277

Circle 384 on inquiry card.

iMinniiniTiTniinimiiTHiinT]

Sela

corp. MORE DATA PER DOLLARi

QTRS-80 Complete System

Includes: CPU/Keyboard, Power Supply,Video Monitor, Cassette Recorder, Manual,and Game Cassette.

©Line Printer©Mini Disk SystemQC-10 Cassettes© Verbatum Diskettes

Description

TRS-80 Complete SystemLevel II-4K RAMTRS-80 Complete SystemLevel II-16KRAMExpansion InterfacePertec FD200 Disk DriveBASF 6106

Centronics 779 PrinterCentronics 101 PrinterAnadex DP-8000 PrinterCentronics P1 Printer560 (selectric) PrinterMemory Unit (installed)

(kit)Verbatum Diskettes

Maxell Diskettes

C-10 Cassettes

ea.

310ea.

310

52512

Each 1 MEG +$628 20 of DISK MEMORY

$ 889.20$ 269.10$ 385.00$ 495.00$1299.00$1400.00$ 995.00445.00975.00138.0098.004.9512.0037.007.5021.0060.004.5018.7523.95

$$$$$$$$$$$$$

on line for TRS-80$2195

Includes—Operating System (CP/M)

HUH Electronic S-100 Interface

to TRS-80

Kit $280.00 Assembled $350.00

Outlet Hours: Mon.-Fri.; 9 am.—7 pm.

Sat. 12—5 pm.Write or call for new innovations—Printers, Disks, Etc.

777 Henderson Boulevard N-6Folcroft Industrial ParkFolcroft PA 19032(215) 461-5300

C-30 Cassettes

Paper (9V2"x 11" fanfold,

3500 sheets) $ 29.95

Instruction offered in Level II Basic—$49.95; and DOS/Disk Basic—$69.95

In Washington, DC area:(703) 938-1099

Classroom

^intniiMiiiiininmnrmimf<

Forcomputer

supplies

da

can't bebeat

♦ QUALITY name brand products

♦ SERVICE 24hr shipping

♦ PRICES to fit your budget

CHARGE IT

Master Chargeand Visa accepted

HAZELTINE

CRT Specials

1400- S735Q0Modular I - $1550oo1500- CallDRA1510- for. 1520 - Prices

Introducing the 1410with up to 2 yearwarranty

iFromMEMOREX"4 CASSETTES - ALL TYPES" S4.80-S6.00

DATA CARTRIDGES -

$19.50

MARKETTE'Flexible DisksFALL TYPES $3.25-55.50 J

ksf J

1 MEMOREX and MARKETTE are registered trademarks of Memorex Corporation

Send for FREE Price List

Data Research Associates, Inc.

River Rise Road New City, New York 10956

& 800-431-2302or 212-220-4747

BYTE May 1979

Circle 92 on inquiry card.

Circle 11 5 on inquiry card.

8" Siemens FDD120-8 Drive

All Siemen's options includedin this drive which can be con-figured hard or soft and singleor double density. (Others giveonly stripped unit) $425.00

"Power One" Model CP206Floppy Power Unit For two

drives going full-out, and poss-ably more on less severe service.2.8A@24V, 2.5A@5V, 0.5A@-5V.Beautiful quality. $99.00

Electrolabs

POB 6721, Stanford, CA 94305

415-321-5601 800-227-8266

Visa, American Express, Master

Low Profile Socket Spectacular!!!

Featuring a kind of "Mexican Hand-shake" principle, these sockets willNOT let your IC's vibrate out!! In8,14,16,18,20,22,24,28 &40 let/pin1000+: .75/pin, 20,000+: .65/pin

,,,-MTBf

10 MegabyteSUPER DISK!!!

DISKETTES (Standard)

Boxed 10Boxed 10

S39.00

S34.95

&

Tarbell ("It Works") Interface

(Includes cable set for 2 drives)S265.00 but ONLY $219.00with purchase of two drives.

Cable Kits 10' with SO cond.cable and connectors and alsoMolex connectors and powercable: For one drive: $27.50For two drives: $33.95, andfor three drives: $38.95

CABINETS for FDD120 and801 R Drives, or CP206 powersupply. Matte finish in marresistant black epoxy paint.Stacking type design. $29.99

SHRINKSyour mediaRELIABLY!!

NEW

PRODUCTRELEASE !!!

NEW BreakthroughInSize, Weight (39lbs)Power (125W) Perform-ance (3600rpm) andcost effectiveness (10MBy and controllerfor $6750.00) ForPDP-11, LSI-11

AND

S 100 machines

Used Sylvania 12" VideoMonitors. Composite video15mhz, 115vac, 50/60hzNew Tube. As shown $109OEM style without case:S99, Anti-glare tube optionadd $12. Specify p4 orp39

ESAT200B (Bi-Lingual) 80X24Communicating Terminal

Scrolling, Full Cursor, Bell, 8X8matrix, 256 addressable characters

110-19,200 baud, etc, etc

This terminal has been purchasedby many agencies, universities &companies. Fully stand-alone, it isthe only dual font terminal of anykind for less than $2500.Supplied complete and fully guaran-teed: (many graphics applications)

$349.00

'MOM' "

I

-1,If

.11

ii;if

I*

,*>■! iJJJ

%. - ■■■:

COMMERCIAL GRADE PERIPHERALS FOR THE MICROCOMPUTER

PRINTERTERMINALS

• •; •. /.! - I

MODEMS

TAPE DRIVES

•ASCII SELECTRIC PRINTER/TYPEWRITER: Why settle for less thanletter-quality printout from your computer? Refurbished IBM Model 725can be used as off-line typewriter or on-line printer. Complete with solenoids,power supply, case and ASCII interface card (TTL to CPU parallel port.)Interface includes programmable ASCII translation table on EPROM with up to8 tables for use with various type spheres. Feedback signals on completion ofeach print cycle insures fastest printing speed (1 5 cps.)Price: programmed w/3 translation tabjes (one type sphere): $695.00

• SELECTRIC I/O TERMINALS (by GTE/Information Systems). Both ASCII& IBM code versions with microcomputer interface software & hardware (RS-232 connector.) Cassette drive models permit up to 2400 baud data transferrate as welt as off-line data storage, use as memory typewriter, & use as dataentry device for office personnel familiar with Selectric typewriters but notcomputers. Wide-carriage, interchangeable type spheres; optional built-inmodem. All units cleaned, adjusted & warranted.

Model 5541 (IBM Correspondence code) $695.00

Model 5550 (corres. code, built-in cassette drivel $1195.00

Model 5560 (ASCII code, built-in cassette drive) $1295.00

• IBM SELECTRIC 725 TYPEWRITER I/O w/solenoids switches & magnetdriver PCB (from GTE/IS terminal) plus instructions for 8080 printer-driverinterface hardware & software.

a) Typewriter mechanism complete, cleaned & adjusted .... $375.00

b) Case from terminal & power supply(+24V, + 12V, +5V @>5A). . $ 75.00

• DIABLO HYTYPE I Model 1200 PRINTER MECHANISM: used, completeand tested. Requires power supply, case & mCPU interface. 15 day returnprivilege - no other warranties. LIMITED QUANTITY! $750.00

-6' Ribbon cable & connector for printer Main Logic PCB $10.00

-14-pin Winchester connector & 1 8" power supply cable $5.00

-"As-is" spare printer PCB's for parts (Logic, Heat Sink, Control): ea. $20.00-New Pin-feed Platen (14"): $50 if bought w/printer; separately . . . $100.00

• POS 103/202 "MIX or MATCH" MODEM: BELL 103 and/or BELL 202FREQUENCIES: Unique POS control design permits use in one housing ofboth Bell-compatible 103 (0 - 300 baud) and 202 (0 - 1200 baud) modemmodules originally made by VADIC Corp. for a telephone company subsidiary.FEATURES: RS-232 serial interface, auto-answer, auto-dial, LED display,telephone line interface via acoustic coupler, manual DAA, or auto-answerDAA (sold separately.) FULLY ADJUSTED; no special tools required.3,000 mile range over standard dial-up telephone lines.

-POS 103 MODEM (with Auto Answer, Auto Dial). $199.95

-POS 202 MODEM (Half-Duplex with Reverse Channel) $249.95

-POS 202 MODEM (Half-Duplex w/Rev. Ch., Auto-Answer) S279.95

-POS 103/202 MODEM (Auto-Answer, Auto-Dial) $399.95

• POS-100 NRZ1 TAPE DRIVE CONTROLLER/FORMATTER: Designed asinterface between S-100 bus mCPU and 9-track, 800 BPI, NRZ1 tape drive.Allows microcomputerist to read and write IBM-compatible Vi" mag tapes.Software provided for 8080 or Z-80 systems. Requires modification for drivesof various mfrs.

Price: (Includes S-100 card, controller card, 10'cable, software listing) . $750.00

• NRZ1 TAPE DRIVE by WILLARD LABS. 9-track, 800 BPI, NRZ1 format,12"/sec, 1200 ft. reels (10 megabyte capacity) Fully tested and warranted $599.00

•CONVERT IS" IBM OFFICE SELECTRIC TO I/O TYPEWRITER: Kitincludes assembled solenoids, switches, wire harness, magnet driver PCB plusinstructions for installation and mCPU interface $200.00

• DIGITAL CASSETTE DRIVE (from GTE/IS Terminal): 1800 baud, 6"/sec;AC motor; fwd/rewnd circuitry plus tape head, no read/write electronics $25

•FORMS TRACTORS, Moore Variable width "Form A-Liner" for print terminals:

alModel 565P for 15" Carriage IBM Selectrics (new): $50.00

blModel K81 for QUMEor DIABLO Hytype I or II printers (new): .... $90.00

•POWER SUPPLIES for Disk Drive, mCPU, tested under load shown:-No. 519 (w/fan & AC cord): +5V reg„ ±1 2V reg., +24 V. @4A (10 1b.). . $29.95

-LAMBDA No. LMEE5 w/OV protect: +5V reg. @ 25A (35 lb.) $59.95

__^_______^^_______^__ NO RISK! 15DAY -""""■■-■ Q ~„~,-r„.

Full documentation included PLUS interface instructions ¥• PACIFIC OFFICE SYSTEMS, INC. M Call or write for details, quantity prices, catalog. 1 5 daywhere indicated. All equipment is shipped insured FOB 1?2| 2600 El Camino Real, Suite'502 ' ia return privilege PLUS 90 day no charge replacement ofPalo Alto within 14 days after check clears or COD (S. Palo Alto, Calif. 94306 ;=| defective parts. All orders shipped from stock. No back

order is received. Prices may change without notice. f\ (415)321-3866 f[ orders, no substitutions. M/C & VISA accepted.

Circle 296 on inquiry card.

HYTE May WJ

279

7400 TTL

SN7400NSN7401NSN7402NSN7403NSN7404NSN74Q5NSN7406NSN7407NSN7408NSN74Q9NSN7410NSN7411NSN7412NSN7413NSN7414NSN7416NSN7417NSN7420NSN7421NSN7422NSN7423NSN7425NSN7426NSN7427KSN7429NSN7430NSN7432NSN7437NSN743BNSN7439NSN7J40NSN7441NSN7442NSN7443NSN7444NSN7445NSN7446NSN7447NSN744BNSN7450NSN7451NSN7453NSN7454NSN7459ASN7460N20% Discount

SN7470NSN7472N

16 SN7473N

18 SN7474N

.18 SN7475N

18 SN7476N

18 SN7479N

.20 SN74B0N

29 SK7482N

29 SN7463N

.20 SN74B5N

20 SN748BN

IB SN74B9N

.25 SN7490N

.25 SN7491N

.40 SN7492N

.70 SN7493N

,25 SN7494N.25 ' SN7495N

.20 SN7496N

.29. SN7497N

39 SN74IO0N

25 SN74107N

.29 SN74109N

.29 SN74J16N

.25 SN74121N.

39 SN74122N

20 SN74123N

.25 SN74125N

.25 SN74126N

.25 SN74I32N

.25 SN74I36N

.20 SN74141N

.89 SN74142H

.49 SN74143N

75 SN74144N

.75 SN74145N

.73 SN74147N

.69 SN7414BM

.59 SN74I50N

.79 SN741SIM

.20 SN74152N

.20 SN74153N

.20 SN74154N

.20 SN74155N

.25 SN74156N

.20 SN74157N

100 pci combined order

.35 SN74I60N .89

.35 SN74161N 69

.49 SN74162N 1.95

.35 SN74163N .89

5.00 SN74164N .69

.50 SN74165N .89

.99 SN74166H 1.25

.59 SN74167N 1.95

.79 SN74170N 1.59

.35 SN74172H 6 00

1.75 SN74173N 1.25

.45 SN74174N .89

.59 SN74175N .79

.43 SN74176N .79

.43 SN74177N .79

.65 SN74179N 1.95

.65 SN74180N .79

65 SN741B1N 1.95

3.00 SN741B2N .79

89 SN74184N 1.95

.35 SN74185N 1.95

,59 SN741B6N 9.95

1.95 SN74188N 3 95

.35 SN74I90N 1 25

.39 SN74191N 1.25

.49 SN74192N .79

49 SN74193N 79

.49 SN74194N 69

.75 SN74195N 69

75 SN74196N .89

79 SN74197N .89

2 95 SN7419BN 1 49

2 95 SN74199N I 49

2.95 SN74S20O 4.95

.79 SN74251N 1 79

1.95 SN74279N .79

1.29 SN74263N 2.25

.89 SN74284N 3.95

.59 SN74285N 3.95

59 SN74365N .69

.59 SN74366N 69

99 SN74367N 69

79 SN74368N .69

.79 SN74390N 195

65 SN74393N 1.95

25% -1000 pel combined order

C04000C04001

CO40O2CD4O06CD4007CD-! 009CD4010C04011C04012CQ4013CD4014CD4015CD4016CD40I7CO4018CD4019CD4020CO4021CO4022CD4023CD4024CD4025CD4026CD4027

.23

74C0074C0274C0474C0874C1074C1474C2074C3074C4274C4874C73

£££-

1.95.39

39195

2.49

78MGLM106HLM300HLM301CN/HLM302HLM3D4HLM305HLM307CN/HLM308CN/HLM309HLM309KLM310CNLM311N/HLM312HLM317KLM318CN/HLM319NLM320K-5LM320K-5 2LM320K-12LM320K-15LM320K-1BLM320K-24LM320T-5LM320T-S2LM320T-8LM320T-12LM320T-15LH320T-18LH320T-24LM323K-5LM324NLM339NLM340K-5LM340K-6LM340K-8LM340K-12LM340K-15

74LSD074LS0174LS0274LS0374LS0474LS0574LS0674LS0974LS1074LS1174LS1374LS1474LS1S74LS2074LS2174LS2274LS2674LS2774LS2874LS3074LS3274LS37

V74LS42

C/MOS

CD4028CO4029CD4030C04035CD40JOCD4041CD4042CD4043CD4044C04046C04047CO404BCD4049CD4050CD405ICO4053CD4056CO4059CD4060C04066CO4068CD4069

CD407Q

CD4071

CO4072

CO4076

CD4081

CO4082

CD4093

CD4Q98

MC14409

MC14410

MC14411

MC14419

MC14433

MCI 4506

MC14507

MCI 4562

MC145B3

C04508

C04510

C0451I

CD45I5

CD4518

CD4520

CD4566

74C00

74C8574C9074C9374C9574C10774CI5174C15474C15774CI6074C161

1.252.903.002.152.492.49

74C16374C16474C17374C19274C19374C19574C92274C92374C92574C926B0C95B0C97

2.492.492.495.956 25

1.50

LINEAR

LM340K-18 1.35LM340K-24 1.35LM340T-5 1.25LM340T-6 1.25LM340T-8 1.25LM340T-12 1.25LM340T-15 1.25LM340T-18 1.25LM340T-24 1 25LM358N 1.00

LM370N 1.95

LM373N 3.25

LM377N 4.00

LM380N 1.25

LM380CN .99

LM381N 1.79

LM382N 1.79

NE501N 8.00

NE510A 6.00

NE529A 4.95

NE531H/VNE5367NE540LNE544NNES50NNE555VNE556NNE56QBNE561BNE5626NE565N/HNE566CNNE567V/HNE570NLM703CN/HLM709N/H

2.95

3.956.006.004.95

LM710NLM711NLM723N/HLM733NLM739NLM741CN/HLM741-14NLM747N/HLM748N/HLM1310NLM1458CN/HMC1468N 1 39MC14S9M 1 39LM1496N .95

LM1556V 1.75HC1741SCP 3.00LM2111N 1.95LM2901N 2.95LM3053N 150LM3065N 1.49LM3900N(3401) 49LM39Q5N 89

LM3909N 125MC5558V .59

LM75450N

75451CN

75452CN

75453CN

75454CN

75491CN

7S492CN

75493N

75494CN

RC4136

RC4151

RC4194

HC4195

.49

74LS0OTTL

74LS47

74LS51

74LS54 '

74LS55

74LS73

74LS74

74LS75

74LS76

74LS78

74LS83

74LS85

74LS86

74LS90

74LS92

74LS93

74LS95

74LS96

74LS107

74LS109

74LS112

74LS123

74LS125

74LSI 32

74LS136

74LS13874LSI 3974LS15174LS15574LS15774LS16074LSI6174LS16274LS16374LS16474LS17574LS18174LS19074LS19174LS19274LS19374LS19474LS19574LS25374LS25774LS25874LS26074LS27974LS36774LS36674LS670

EXCITING NEW KITS!

Regulated Power Supply

5 to 15 VDC

DigitalThermometer Kit

•Full 1.5 amp at 5-10Voutput — Up to .5 ampat 15V output

•Heavy duty transformer

•3 terminal I.C. Volt. Reg.

•Heat sink provided forcooling efficiency

•PC Board construction

•120 VAC input

•Size: 3K"Wx5"Lx2"H

JE210 5 to 15 vdc $19.95

ALSO AVAILABLE:

JE900 Digital Stopwatch Kit . $39.95

JE301 6 digit Clock Kit .... S19.95

■ Dual tentors-switchlng control for In-door/outdoor or dual monitoring

■ Continuous LED .8" ht. display

■ Rongo: -40"F to 199°F / AC'C to 100°C■Accuracy: ±1°norninal

■Set for Fahrenheit or Celsious reading•Sim. wolnui caso - AC wall adapter Incl.

■ Size: 3-1/4"Hx6-5/8"Wx1-3/8',D

JE300 $39.95

JE730 4 digit Clock Kit . . . $14.95JE2206B Func. Generator Kit . $19.95JE747 Jumbo 6 dgt. clock kit $29.95

DISCRETE LEDS

XC556RXC556GXC556VXC556C

XC22RXC22GXC22Y

yellowclear.200- dla.red

green

yellow

.170" dla.

I OB red A

.015- dla.10 red 6

INFRA-RED LEO

1/1-x1/4-k1/16- flat

5/S1

5/It1/S1

Ml

4/SI

5/S14/SI4/SI

XC209RXC209GXC209Y

XC526RXC526GXC526VXC526C

XCI1IRXC1I1GXC111VXC111C

green

yellow

185- dla.red

flreenyellowclear

.190- dla.

red

rjreen

yellow

5/$t4/$14/SI

5/S14/SI4/SI4/SI

Ml4/S14/SI4/SI

TIMEXT1001LIQUID CRYSTAL DISPLAY

IELO EFFECT

4 DIGIT - .5" CHARACTERSTHREE ENUNCIATORS2.00" X 1.20" PACKAGEINCLUDES CONNECTOR

TIODI-Trinsmiuive S7.9S

T1001A Reltectrva 8.25

DISPLAY LEDS

TYPEMAN 1MAN 2MAN 3MAN 4MAN7GMAN 7YMAN 72MAN 74MAN 82MANB4MAN 3620MAN 3630MAN 3640MAN 4610MAN 4640MAN 4710MAN 4730MAN 4740MAN 4810MAN 4840MAN 6610MAN 6630MAN 6640MAN 6660MAN 6660MAN 6660MAN 6710

POLARITY ■ |

Common An ode-red5 x 7 Dai Matrix-redCommon Calhode-iBi)Common Cathode-redCommon Anode-greenCommon Anode-yellowCommon Anode-redCommon Camode-redCommon Anode-yaHowCommonCatnode-yellDwCommon Anode-orangeCommon Anode-orange * ICommon Camode-orangeCommon Anode-orangeCommon Cathode-orangeCommon Anode-redCommon Anode-red : 1Common Cathode-redCommon Anode-yellowCommon Cainode-yeflowCommon Anode -orange -D D.Common Anode-orange • 1Common Calhode-nfange-D 0Common Calhodo-orange : 1Common Anode-orangeCommon CalhDde -orangeCommon Anode-red-D D

PRICE2.954.95

.251.95

1.25

TYPE

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 6780

DL701

DL704

DL707

DL72B

DL741

DL746

DL747

DL749

DL750

DL33B

FND70

FN035B

FND359

FND503

FNO507

5082-7730

HOSP-3400

HDSP-3403

5082-7300

5082-7302

5082-7304

5082-7340

POLARITY

Common Anode-ted t 1Common Caltiofle-red-D D.Common Cathode-red t 1Common Anode-redCommon Cathode-redCommon Anode-red ± tCommon Cathode-redCommon Anode-redCommon Cathode-redCommon Anode-redCommon Anode-red t 1Common Anode-redCommon Caltiode-ted i 1Common Cam ode-redCommon Cathode-redCommon CathodeCommon Cathode i 1Common CalhodaCommon Cathode)FND5O0)Common Anode (FN0510)Common Anode-tedCommon Anode-redCommon Caihode red4 x 7 sot. Digil-RHDP4 x 7 Sgl Digil-LHDPOverrange cfia'scter {-1)4 x 7 Sgl Oigil-Hexadetimal

2.102 101995

199515 0022 50

RCA LINEAR

CA3013TCA2023TCA3035TCA3039TCA3046NCA3059NCA3060NCA3080ICA3081N

2.15 CA3082N

2 56 CA3083N2.48 CA3086N1.35 CA3089N1.30 CA3130T

3 25 CA3140T3.25 CA3160T

65 CA3401N

2 00 CA3600N

CALCULATOR

CHIPS/DRIVERS

MM5725 S2.95

MM5738 2.95

0MB864 200

DM8865 1.00

DM8887 75

DM8689 759374 7 segC.A LED driver

CLOCK CHIPS

MMS309 $4.95

MM53II 4 95

MM5312 4.95

MM5314 4 95

MM5316 6.95

MM5318 9.95

MM5369 2.95

MM53B7/1998A 4.95

MM5641 995

MOTOROLA

MCI40BL7 S4 95

MC1408L8 575

MC1439L 2 95

MC3022P 2.95

MC3061P 350

MC4016I74416) 7.50

MC4024P 395

MC4040P 6.95

MC4044P 4.50

B pin LP

4 pin LP

5 pin LPB pin LPB pin LP

4 pin STB pin ST3 pin STt pin ST

B pin SGi pin SGB pin SGi pin SG

B pin WW0 pin WWt pin WW

5 pin WW

3 pin WW

IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS) 50-100 1-24

22 pin LP J -37

24 pin LP .3828 pin LP 4536 pin LP -60

SOLDERTAIL STANDARD (TIN) 40 P'n LP M

28 pin ST S 9936 pin ST 1.3940ptnST 1.59SOLDERTAIL STANDARD (GOLD)

24pin5G 1 ?0

25-49 50-100

26 pin SG36pinSG40 pin SG

1.10

WIRE WRAP SOCKETS(GOLD) LEVEL #3

22 pin WW | 95

24 pin WW 1 05

28 pin WW 1 4036 pin WW 1 5940 pin WW 175

1/4 WATT RESISTOR ASSORTMENTS -5%

ASST. 1ASST. 2ASST. 3ASST. AASST. 5ASST. 6ASST. 7

10 OHM 1? OHM 15 OHM 18 OHM 22 OHM

2? OHM J3 OHM 39 OHM J.' OHM % OMM

6B OHM a? OHM 100 DHM 120 OHM 1!il) OHM

(fill OHM ??0 OHM m OHM HO OHM 390 OHM

470 OHM 560 OHM 680 OHM H?0 OHM 'K

I.2K 1.5K l.flN ?.2K B.7H

3.3K

1,9"

5.6m

$1.75

1.75

1.75

1.75

1.75

1.75

so res 1.75ASST. 8R Includes Resistor Assortments 1-7 (350 PCS.) $9.95 ea.

50 PCS50 PCS50 PCS50 PCS50 PCS50 PCS

S10.00 MINIMUM ORDER— U.S. Funds Only Spec Sheets - 2!ii'

California Residents — Add 6% Sales Tax 1979 Catalog Available—Sand 41C stBmp

ameco

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE

1021 HOWARD AVENUE. SAN CARLOS. CA 94070

ADVERTISED PRICES GOOD THRU MAY

TELEPHONE/KEYBOARD CHIPS

AY-5-9100 Push Burton Telephone Dialler

AY-5-9200 Repertory Dialler

AY-5-9500 CMOS Clock Generator

AY-5-2376 Keyboard Encoder (88 keys)

HD0165 Keyboard Encoder (16 keys

74C922 Keyboard Encoder (16 keys

4.951

S14

14.954.95

14.957.955.95

ICM7045ICM7205ICM7207ICM720BICM7209

ICM CHIPS

CMOS Precision TimerCMOS LED Stopwatch/TimerOscillator ControllerSeven Decade CounterClock Generator

24.9519.95

7.5019.95

6.95

NMOS READ ONLY MEMORIES

MCM6571 128 X9X 7 ASCII Shitted with Greek 13.50

MCM6574 128 X 9 X 7 Math Symbol 8 Pictures 13.50

MCM6575 128 X 9 X 7 Alphanumeric Control 13.50

Character Generator

MISCELLANEOUS

TL074CN Quad Low Noise bi-let Op Amp 2.49

TL494CN Switching ReguLitor 4.49

TL496CP Single Switching Regulator 1.75

11C90 Divide 10/11 Prescaler 19.95

95H90 Hi-Speed Divide 10/11 Prescaler 11.95

4N33 Photo-Darlinoton Opto-lsolator 3.95

MK50240 Top Octave Freq. Generator 17.50

DS0026CH SMru 2-phase MOS clock driver 3.75

TIL308 .27-red num. display w/integ. logic chip 10.50

MM5320 TV Camera Sync. Generator 14.95

MM5330 iVt Digit DPM Logic Block (Special) 3.95

LDttO/ttl 3Vi Digit A/D Converter Set 25 00/set

LITRONIX ISO-UT 1

Photo Transistor Opto-lsolator

(Same as MCT 2 or 4N25)

2/990

SN 76477

SOUND GENERATORGenerates Complex SoundsLow Power - Programmable

3.95 each

TV GAME CHIP AND CRYSTAL

AY-3-8500-1 and 2.01 MHZ Crystal (Chips Crystal , __ ,

inclmlm; score display. G names and select angles, elc 7.95/S(?t

XR205XR210XR215XR320

XR-L555 1.50XR555 .39

XR556XR567CPXRS67CTXR1310P 1.30XR1468CN 3.85XR14S8 1.39XR1489 1.39

58.404.404.401.55

25

EXAR

JE2206KA 14.95

JE2206KB 19.95

XR18O0 3.20

XR2206 4.40

XR2207 3.85

XR2208 5.20

XR2209 1.75

XR2211 5.25

XR2212 4.35

XR2242CP 1.50XR2264 4.25

XR2556XR2567XR3403XR4136XR4151XR4194XR4202XR4212XR4558XR4739XR4741

3.202.991.251.252.854.953.602.05.751.151.47

TYPE

1N746

IN751

1N752

IN 753

1N754

IN 757

1N759

1N959

1N965

1N5232

1N523J

IN5235

IIJ5236

IN 52-12

1N52J5

1N456

1N45B

1N485A

1N-IQ01

DIODES

VOLTS W

3 3 400m

5.1 400rn5 6 400m

6.2 400m6.6 400m90 400m

120 400m

8 2 400m

15 400m

5.6 500m

6.2 500m

7.5

500m500m500m5O0m

50 PIV 1 AMP

PRICE4/1.004/1.00

4/1.004/1.004/1.004/1004/1.004/1.004/1.002826

6/1.006/1 005/1 00

12/1.0

TYPE

1N40O21144003

1N40O41N40O51N40061N40071N36001N41481N41541N43051N47341N47351N47361N4738JN47421N47441N1183IM11B41N11651N11B6

iNnea

VOLTS W

100 PIV 1 AMP200 PIV 1 AMP400 PIV 1 AMP600 PIV 1 AMP800 PIV 1 AMP1000 PIV 1 AMP200m

10m

l Dm

PflIK12/1.0012/1.0012/1 0010/1.0010/1 0010/1.00

6/10015/1.0012/1 0015/1.00282B

12 1w

15 1w

50 PIV 35 AMP100 PIV 35 AMP150 PIV 35 AMP200 PIV 35 AMP400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C360 15A (a 400V SCR(2N1849)

C38M 35A (a 600V SCR

2N2328 1.6Af«300V SCR

MDA 980-1 12A ui 50V FW BRIDGE REC

MDA 980-3 12A (« 200V FW BRIDGE REC

C106B1

MPSA05

MPSA06

TIS97

TI598

40409

40410

40G73

2N918

2N2219A

2N2221A

2N2222A

PN2222 Plastic

2N2369

2N2369A

MPS2369

2N2484

2N2906

2N2907

PN2907 Plastic

2N2925

MJE2955

2N3053

TRANSISTORS

SI 95

1.95

1.95

5/1.006/100

6/1.00

1.75

4/1 002/1.004/1.005/1.007/1.005/1.004/1.005/1.004/1 004/1.005/1 007/1.005/100

1.25

2N3055

MJE3055

2N3392

2N3398

PN3567

PN3558

PN3569

MPS3638A

MPS3702

2N3704

MPS3704

2N3705

MPS3705

2N3706

MPS3706

2N3707

2N3711

2N3724A

2N3725A

2N3772

2N3823

CAPACITOR

1.00

5/1.005/1 003/1.004/1.004/1.005/1 005/1.005/1 005/1 005/1.005/1.005/1.005/1.005/1.005/1.00651.00

5/1 00

2N3904

2N39052N39062N40132N4I23PN4249PN42502N44002N440I2N44022N44032N44092N50B62N50872N50882N50892NS129PNS134PN513B2NS1392N52102N5449

2N59S

4/1.00

4/1.004/1 003/1 006/1.004/1.004/1.004/1 004/1.004/1.004/1 005/1.004/1.004/1 004/1.004/1.005/1.005/1 005/1.005/1.005/1.003/1.00

47 pi

100 pi220 p!470 01

OOlmf00220047ml,01mf

1/35V

.15/35V22/35V

.33/35V47/35V68/35V1.0/35V

47/50V1 0/5OV3.3/50V4.7/25V10/25V10/50V22/25V22/50V47/25V47/50V100/25V100/50V220/25V220/50V470/25V1000/ 16V2200/16V

50 VOLT CERAMICDISC CAPACITORS

_ lfl£L04 .03 OOljiF04 .03 0047^F04 03 OVF.04 .03 022MF04 03 047^F.04 .035 Apt100 VOLT MYLAR FILM CAPACITORS10 07 022ml047ml

CORNER

L9 ipji9 lOJii05 04 035.05 04 035

.05 .04 .035.06 05 04

.06 .05 .0412 09 .075

.07

,1ml

,22ml

♦ 20% DIPPED TANTALUMS (SOLID! CAPACITORS.28 .23 .17 1 5/35V .30

.28 -23 .17 2.2/25V 31

.28 .23 .17 33/25V 31

28 .23 .17 4 7/25V 32

28 .23 .17 6.B/25V 36

2B .23 .17 10/25V 40

28 .23 17 15/25V 63

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS

.27

13 .10

.70 .62 ,55

.47/25V.47/50V1.0/16V1.0/25V

1.0/50V4.7/16V4.7/2SV4.7/50V10/16V10/25V10/50V47/SOV1O0/16VIO0/25V100/50V220/16V470/25V

Radlil Lud

15

13

.283^

280 BYTE May 1979

Circle 200 on inquiry card.

Transistor Checker

— Completely Assembled —— Battery Operated —

The ASI Transistor Checker is cap-able of checking a wide range oftransistor types, either "in circuit"or out of circuit. To operate,simply plug the transistor to bechocked Into the front panelsocket, or connect it with the alli-gator clip test leads provided.The unit safely and automaticallyidentifies low, medium and high-power PNP and NPN transistors.Siio: 3Jj" x 6%" x 2""C" cell battery not included.

Trans-Check s29.95 ea.

Custom Cables & Jumpers

Part No.

DB25P-4-PDB25P-4-SDB25S-4-S

DJ14-1DJ16-1DJ24-1DJ14-1-14

DJ16-1-16DJ24-1-24

DB 25 Series CablesCable Length Connectors Price

4 Ft.4 Ft.4 It. 2-DP25S

Dip Jumpers

2-DP25P S15.95 ea.

1-DP25P/1-2SS $16.95 ea.

$17.95 ea.

1 ft.

1 It.

1 ft.

1 ft.

1 ft.

1 ft.

-14 Pin1-16 Pin1-24 Pin2-14 Pin2-16 Pin2-24 Pin

$1.59 ea.1.79 ea.2.79 ea.2.79 ea.3.19 ea.4.95 ea.

For Cuitom CyMtj a Jumpant, Sea JAMECO 1979 Catalog tor Pricing

'■."■.

CONNECTORS

25 Pin-D Subminiature

DB25P (as pictured) PLUG (Meets P.S232) J2.95

DB25S SOCKET (Meets RS232) $3.50

DB51226-1 Cable Cover for DB25P or OB25S $1.75

PRINTED CIRCUIT EDGE-CARD

156 Spaonfl-Tm-OouO* Rsad-Oul — Bifuracled Contacts — Fits OM to .070 PC Cards

15/30

1B/36

22/44

50/100 (.100 Spacing)

50/100 (.125 Spacing)

PINS (Solder Eyelet)PINS (Solder Eyelet)PINS (Solder Eyelet)PINS (Wire Wrap)PINS (Wire Wrap)

$1.95$2.49$2.95$6.95R681-1 $6.95

Solar Cells2x2cm

■ 0.4 volts

■ 100mA• 41 MW

Can be added in series forhigher voltage or parallel forhigher current.

#SC2x2 Sl.95ea.or3/S5.00

the 3rdHand

MAKES CIRCUIT ASSEMBLY A BREEZE!

Lets you work with both hands. £ A AC g%n

Sturdy Aluminum Construction, v*"*?** "di

• Clamp "3rd Hand" on edgeof bench, table or work-board. Insert circuit board,position components.

• Flip circuit board to flatposition for soldering andclipping.

• Bright .300 ht. comm. ceth-ode display

• Usee MM5314 clock chip

• Switches for hours, minutesand hold modes

• Mrs. easily viewable to 20 ft.

• Simulated walnut case

• 11 5 V AC operation

• 12 or 24 hr. operation■Incl. all components, case &

wall transformer

• Size: 6K" x 3-1/8" x 1 H"

JE701

6-Digit Clock Kit $19.95

REMOTE CONTROLTRANSMITTER * RECEIVER

$19.96

INSTRUMENT/CLOCK CASE

This case is an injection moldedunit that is ideal (or uses suchas DVM, COUNTER, or CLOCKcases. It has dimensions of 416"in length by 4" in width by1-9/16" in height. It comes,complete with a red bezel.

.PART NO: IN-CC $3.49 each

MICROPROCESSOR COMPONENTS

S 9.953.2S5.953.493.953.495.95

9.9519.9519.95

■ ■—8M0A7BD80A SUPPORT DEVICES"

aoaoA cpu

8212 8-fltl Input/Output

8214 Priority Interrupt Control

8216 Bi-Olracl.onal Bus Driver

8224 Clock Generator/Driver

8226 Bus Oliver

8228 System Controller/Bus Driver

8238 System Controller

8251 Prog. Comm. 1/0 (USART)

8253 Prog. Interval Timer

8255 Prorj. Periph. 1/0 (PPI)

8257 Prog. DMA Control

8259 Prog. Interrupt Control

' 6800/6800 SUPPORT DEVICES

MC6800 MPU SI 4.95

MC6802CP MPU with Clock and Ram 24.95

MC68I0API 123X8 Static Ram 5.95

MCS821 Peripn. Inter. Adapt (MC6820) 7.49

UC6828 Priority Interrupt Conlroitef 12 95

MC6B30L8 1024X8 Bit ROM (MC68A30-B) 14.95

MC6B50 Asynchronous Comm. Adapter 7.95

MC6852 Synchronous Serial Data Adapl. 9.95

MC6860 0-600 Dps Digital MOOEM 12.95

MC6862 2400 Dps Modulator 14.95

MC6880A Quad 3-Stale Bus. Trans. (MC8T26) 2.25

MICROPROCESSOR CHIPS—MISCELLANEOUS

Z80(7flOC) CPU 519.95

Z80A(7S0-1) CPU 24.95

COP1802 CPU 19.95

2650 MPU 19.95

6035 8-Bit MPU w/clock. RAM. 1/0 lines 19.95

P80B5 CPU 19.95

TMS990OJL 16-Bit MPU w/hard ware, multiply

& JmdB 49.95

SHIFT REQISTERS

Dual 25 Bit Dynam:c J.50

Din! 50 Bit Dynamic .50

Dual 16 Bit Static .50

Dual 100 Bit Static .50

Dual 64 Bit Accumulator 50

500/512 Bit Dynamic .89

1024 Dynamic 3.95

Hei 32 Bit Static 4.95

Dull 132 Bit Static 2.95

512 Sialic .99

1024 DynamicDual 256 Bit StaticDull 250 SialicDual 240 Bit StaticQuad 80 Bit Sialic1024 StaticHfo

4X4 Register File (Instate) IMHTS

-MICROPROCESSOR MANUALS-

M-ZflO User Manual

M-CDPI8Q2 User ManualM-2650 User Manual

The IncrediblePennywhistle 103'

-ROM'S -

2513{2M0) Characler Generator(upper case)

2513(3021) Character Generator(lower case)

2516 Character Generator

MM5230N 2048-Bit Read Only Memory

MM500H

MM503H

MM504H

MM506H

MM510M

MM5016H

2504T

2518

2522

2524

2525

2527

2528

2529

2532

2533

3341

74LS670

11011103

2101(8101)

2102

21L02

2111(8111)

2112

2114

2114L

2114-3

2114L-3

5101

5280/2107

7489

T4S2O0

93421

UPD414

(MK4027)JPD416

(MK4I16)TMS4044-

45NLTMS40452117

MM5262

256X1

1024X1

256X4

1024X1

1024X1

256X4

256X4

1024X4

1024X4

1024X4

1024X4

256X4

4096X1

16X4

256X1

256X1

4K

- RAM'S

Static

Dynamic

Static

Sialic

Static

Static

Static MOS

Static 450ns

Static 450ns lo* power

Static 300ns

Static 300ns low power

Sialic

Dynamic

Static

Static Tristale

Static

Dynamic 16 pin

Dynamic 16 pin

Static

Static

Dynamic 350ns(house marked)Dynamic

4.95

9.9510.9510.95

- PROM'S-

2 95

2.954.004.002.952.956.95

1702A

TMS2S16

(2716)

TMS2532

270B

2716 T.l

A-Y-5-1013 30KBAUD

5203 2048

6301-1(7611) 10246330-1(7602) 256B2S23 32X8

82S115 4096

82S123 32X8

74186 512

74188 256

74S267 1024

2048 FAM0S

1BK* EPR0M(lntel 2716)

'Requires single < 5V power supply4KX8 EPR0M

8K EPR0M

16K" EPR0M

'Requires 3 voltages, —5V. +5V.

FAM0S

Tristate Bipolar

Open C Bipolar

Open Collector

Bipolar

Tristate

TTL Open Collector

TTL Open Collector

Static

12V

89.9510.9529.95

3.959.95

3.952.95

ESSIE CONTINENTAL SPECIALTIES

PROTO BOARDS

Proto Board 203

SV'Li6*"W>2V'll

$75.00

number

PB-6 6.

PS-100 6

PB-101 6

LlWxH

(Inchai)

0x4.5x1.40x4.5x1.40x4.5x1.4

PrlcaS15.95S19.95$22.95

Proto Board 203A

'H2D1I Hbj

ISVDC

VOC 0.5A .upnl.ai. aach will.InteinillY and ndaaandanlly jiI]uiiabia oulpul ..in:... Rlppliand nama' ' and -ISV lupohaa lOmV at0.25A

r-B 203A

9124.95

ModelHumnerPB-102PB-103PB-104

LxWxH(Inchai)

7.0x4.5x1.49.0x6.0x1.49.8x8.0x1.4

Price

crsr

S44.95(54.95

BSSMSM

Model 2800$99.95

Comas with tesileads, operating m.inualand spare 'use

3'A-Dlgil Portable DMM

• Overload Prolecled

• 3" high LED Display

• Battery or AC operation

• Auto Zeroing

• Imv. IVa, 0 1 ofim resolulion

• Overange reading

■ 10 meg inpul impendence

• DC Accuracy I", typicalRanges: DC Voltage -0-IOO0V,AC Voltage 0-1000V

Frerj Response 50-400 H2DC/AC Current: 0-100mAResistance 0-10 meg ohmSize 6 4" » 4 4' k 2'

Accessor! as:AC Adapter BC-28 $9.00Rechargeable

Batteries BP-26 20.00Carryinrj Case LC-28 7.50

JE200

5V-1AMPPOWER SUPPLY

-Uses LM309K*Heat sink provided*PC Board const ruction*Provides a solid 1 amp

up 5 volts*Can supply up to ±5V,

+ 9V and +12V with

JE205 Adapter•Includes components,

hardware & instructions

JE200 $14.95 *Si«..3J4"x5"x2"H

100 MHz

8-Digit

. 20 Hz-100 MHz Range COUfltCr

■ .6" LED Display . four power souces. i.e.. Crystal-controlled limehase Batteries. 110 or 220V with

. fully Automatic charger 12V with aulo

i Portable — completely iighter adapter and external

sell-contained 7.2-tOV power supply

. ^-,75-^38- max-iooj134 gB

ACCESSORIES FOR MAX 100:Mobile Charger Eliminator

use power Irom car batteryCharger/Eliminator

use 110 V AC Modal 100 — CAI 19.95

Modal 100 - CLA 13.95

REGULATED POWER SUPPLY «&

JE205

ADAPTER BOARD

- Adapts to JE200 -

+5V,±9Vand±12V■DC/DC converter w/

+ 5V input■Toriodal hi-speed

switching XMFR•Short circ. protect ion-PC Brd. construction-Piggy-back to JE200

board•Size:3SS"x2"x9/16"h

JE205 $12.95

$10.00 Minimum Order — U.S. Funds OnlyCalifornia Residents — Add 6% Sales Tax

Spec Sheets - 2H

1979 Catalog Available—Send 41C Hemp

ameco

ELECTRONICS

lKL£CTRONIC8o(Caliro

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE1021 HOWARD AVENUE, SAN CARLOS, CA 94070ADVERTISED PRICES GOOD THRU MAY

$139.95

Kit Only

The Purniywrtfetle 103 is capable ol recording data to and from audio tape wllhout

critical speed requirements (or the recorder and It Is able (o communicate directly with

another modern and terminal lor telephone "hamming" and communications. In

addition .lllslree of critical adjustments and Is built with non-precision, readily available

parts.

Data Tremmlulun Method Frequency-Shift Keying, full-duplex (hail-duplex

selectable).

Maximum Data Rate 300 Baud.

Data Formal Asynchronous Serial (return to mark level required

between each character),deceive Channel Frequencies .. .2025 Hz lor space; 2225 Hz lor mark.Transmit Channel Frgqtjtndit . .Switch selectable: Low {normal) ■ 1070 space.

1270 mark. High - 025 space, Z225 mark.

Receive Sensitivity -46 dbm accousticaily coupled.

Trirumll Level -15 dbm nominal. Adjustable Irom -6 dbm

to -20 dbm.Receive Frequency Tolerance ...Frequency reference automatically adjusts to

allow for operation between 1800 Hz and 2400 Hz.Olgltel Date Interface ElA RS-232C or 20 mA current loop (receiver is

optoIsolated and non-polar).

Power Requirement! t20 VAC, single phase, 10 Watts.

Physical All components mount on a single 5" by 9''

prinled circuit board. All components included.Requires a VOM. Audio Oscillator, Frequency Counter and/or Oscilloscope to align.

TRS-8016K Conversion Kit

Expand your 4K TRS-80 System to 16K. Kitcomes complete with:

* 8 each UPD416-1 (16K Dynamic Rams) 250NS

* Documentation for conversion

TRS-16K

$99.95

COMPUTER CASSETTES

. 6 EACH 15 MINUTE HIGHQUALITY C-15 CASSETTES

• PLASTIC CASE INCLUDED12 CASSETTE CAPACITY

. ADDITIONAL CASSETTESAVAILABLE #C-15-$2.50 ea

(JrYS^TBf*!»

...... I.......

-'\ CAS-6, $14.95

i (Case and 6 Cassettes)

SUP 'R' MOD II

UHF Channel 33 TV Interlace Unit Kit

Wide Band B/W or Color System

* Converts TV to Video Display tqthome computers, CCTV camera,Apple II, works with Cromeco Daz-zler, SOL-20, IRS-80, Challenger,etc,

MOD II is pretuned to Channel 33(UHF).

* Includes coaxial cable and antennatransformer.

MOD II

$29.95 Kit

&m**w®E®

Model P180 includes 2-100' spools #28 AWGwire wrap wire

Supplies insulated wire from spool to wrap-posts without prping and precutting using "daily chain" method.

Model P180 Tool $24.50

P180A Replacement Bit $12.95

W28-2 Replacement wire (3 spool pkg.) . . $2.75 ea.Specify color: A-green B-red C-c/ear D-Blue

IDEAL FOR TRS 80

"Plug/Jack Interface to anycomputer system requiringremote control of cassettefunctions"

Tne CC100 controls cassettemotor functions, monitorstape location with its internalspeaker and requires nopower. Eliminates the pluggingand unplugging of cables dur-ing computer loading opera-tion from cassette.

CASSETTE CONTROLLER

#CC-100

$29.50

63-Key Unencoded Keyboard

This is a 63-key. terminal keyboard newly manufactured by alarge computer manufacturer. It is unencoded with SPST keys,unattached to any kind of PC board. A very solid molded plastic 13x 4" base suits most application. IN STOCK §29 95/eacfl

Hexadecimal

Unencoded

Keypad

19-key pad includes 1-10 keys,ABCDEF and 2 optional keys and ashift key. $10.95/each

Circle 200 on inquiry card.

BYTE May 1979 281

Circle 30 on inquiry card.

n

BECKIAN ENTERPRISES

dk

All Prime Quality - - New Parts OnlySatisfaction Guaranteed

EDGE CARD CONNECTORS: GOLD PLATED. (Not Gold Flash)BODY: Non brittle, Solvent res., G.E. Valox.CONTACTS: Bifurcated: Phos/Bronze: Gold over Nickel.ABBREVIATIONS: S/T Solder Tail: S/E Sold. Eyelet:

W/W Wire Wrap 3: SW/W Short W/Wrap:

PART It Description

5010 50/100 S/T ALTAIR

5020 50/100 S/T IMSAI

5030 50/100 W/W IMSAI

5040 50/1 00 S/E ALT/IMSAI

5050 50/100 S/T CROMEMCO

1450 IMSAI CARD GUIDES

■ 100" Contact Center Connectors.

102010401050106010651070107510801085109010931095

13/26 S/E Imsai MIO:25/50 S/E25/50 S/T36/72 W/W Vector.36/72 S/T Vector.40/80 S/E PET40/80 W/W PET40/80 S/T PET43/85 S/E Cos.ELF43/86 S/T Cos.ELF43/86 S/T Cos.ELF43/86 W/W Cos.ELF

POLARIZING KEYS: For Above.156" Contact Center Connectors.

1550 6/- S/E PET,Etc

1560 6/12 S/T PET:NSC.

1575 12/24 S/E PET

1580 12/24 S/T PET

1590 15/30 S/E GRI Keybd.

1620 18/36 S/E

1 650 22/44 S/E KIM,VECTOR

1660 22/44 S/T KIM,VECTOR

1 670 22/44 W/W KIM,VECTOR

1690 36/72 W/W

1710 36/72 S/E

1720 36/72 S/T

1730 43/86 S/T Mot. 6800

1740 43/86 S/T Mot. 6800

1 750 43/86 W/W Mot. 6800

POLARIZING KEYS: For Above

Row Sp.

.140.250.250.140.250

.140.140.140.200.200.140.200.140.140.140.200.200

.140.140.140.140.140.140.140.140.200.200.140.200.140.200.200

1-4

3.753.954.105.006.250.16

2.102.953.004.804.004.805.004.905.005.104.955.500.10

1.301.352.152.102.252.402.202.002.403.903.503.304.404.354.450.10

5-9

10-24

3.50

3.30

3.75

3.50

3.90

3.70

4.50

4.25

6.00

5.75

0.14

0.12

1.852.752.804.603.754.504.654.604.754.854.705.200.10

1.101.151.951.902.052.202.001.802.203.753.303.104.154.104.250.10

1.752.502.604.303.504.304.354.254.504.604.454.900.10

0.900.951.751.701.852.001.801.702.003.503.102.903.903.854.100.10

RS232 & D' TYPE SUBMINIATURE CONNECTORS:

QUANTITY

DE9P MaleDE9S FemaleDE1 10963-1DA15P MaleDA1 5S FemaleDA5121 1-1DA1 10963-2DB25P MaleDB25S FemaleDB51212-1DB51226-1ADB1 10963-3DC37P MaleDC37S FemaleDC110963 4DD50P MaleDD50S FemaleDD51216-1DD1 10963-5

2pc. Grey Hood

1 pc. Grey Hood2pc. Grey Hood

1 pc. Grey Hood2pc. Black Hood2pc. Grey Hood

2pc. Grey Hood

1 pc. Grey Hood2pc. Grey Hood.

D20418-2 Hardware Sets

1-4

1.451.931.201.952.801.251.222.203.201.301.401.353.704.901.954.404.902.302.400.75

5-9

1.351.801.101.802.601.151.102.103.001.201.301-253.504.701.854.304.702.102.200.70

10-24

1.251.701.001.702.401.101.051.902.701.101.201.153.354.401.754.104.501.902.000.65

I.C. SOCKETS. GOLD.WIRE WRAP 3 TURN.14 pin SO.36 ea.16 pin 0.38 ea.

I.C. SOCKETS.

Dip Solder. Tin.14 pin $0.1 5 ea.1 6 pin 0.1 7 ea.

8080 PRIME

2708 EPROMS PRIME

CONNECTORS FOR CENTRONICS 700 SERIES:

Amhpenol 57-30360 For Back of Centronics '700' Series:

Price: $9.00ea. 5 pes. $7.50ea.

WHISPER FANS: Excellent for Computer cabinet cooling. Extremely quiet.Dim. 4-3/4" x 1-1/2" thick. U.L. Listed. JL4 JL9 10-24

$22.00 $19.00 $18.00WRITE FOR LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES AREWELCOME.

WE ARE CONNECTOR (EDGE CARD) SPECIALISTS. IF YOU DO NOT SEEWHAT YOU NEED IN THIS ADVERTISEMENT. PLEASE WRITE US. WE WILLREPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All ordersover $25.00 in USA and Canada: WE PA Y THE SHIPPING.NOTE: CA residents please add 6% sales tax.

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.

MAIL0RDERST0:Beckian EnterprisesP.O. Box 3089Simi Valley, CA 93063

COMPUCOLOR II IS HERE!!

HERE IS A SURPRISINGLYAFFORDABLE COMPUTERTHAT MAKES THE COMPE-TITION LOOK TWICE I!

STANDARD FEATURES

* 13" COLOR CRT

* SPECIAL GRAPHICS PKG.

* EXTENDED DISK BASICMINI DISK DRIVE

* 8K RAM MEMORY

* 72 KEY KEYBOARD

PRICE & OPTIONS

MODEL 3- 8K USER RAM-1495.ooMODEL 4-16K USER RAM-1695.00MODEL 5-32K USER RAM-1995.002nd DISK DRIVE -400.oo

EXPANDED KEYBOARD -13 5 .00

FORMATTED DISKETTE - 5.00

MANY PROGRAMS AVAILABLE *

TO ORDER

SEND CHECK OR MONEY ORDERCALIF. RES. add 6% TAXshipping 1% all orders

HOLLYWOODSYSTEMS

CATALOG - 50*

9100 SUNSET BLVD.

SUITE 112

LA. CALIF. 90069

282 BYTE May 1979

Circle 174 on inquiry card.

Circle 387 on inquiry card.

WAMECO

THE COMPLETE PC BOARD HOUSEEVERYTHING FOR THE S-100 BUSS

* FPB-1 FRONT PANEL BOARD * EPM-2 16K or 32K BYTE EPROM

Hex Displays, IMSAI Replaceable $54.95 2708 or 2176 interchangeable $30.00

* FDC-1 FLOPPY DISC CONTROLLER BOARD * QMB-9 9 SLOT MOTHER BOARDControls up to 8 Discs $45.00 Terminated $35.00

*MEM-1A8K BYTE 2102 RAM Board ..,$31.95 *QMB-12 12 SLOT MOTHER BOARD

* MEM-2 16K BYTE 2114 RAM Board ....$31.95 Terminated $40.00

*CPU-1 8080A CPU Board * RTC REALTIME CLOCKWith Vector Interrupt $31.95 Programmable Interrupts $27.95

*EPM-1 4K BYTE 1702A EPROM $29.95

FUTURE PRODUCTS: 80 CHARACTER VIDEO BOARD,IO BOARD WITH CASSETTE INTERFACE.

DEALER INQUIRIES INVITED, UNIVERSITY DISCOUNTS AVAILABLE

AT YOUR LOCAL DEALER

wmc

tflC. WAMECO INC. 111 GLENN WAY *8, BELMONT. CA 94002 (415)592-6141

J3337

FORMERLY CYBERCOM/SOUD STATE MUSIC.

CB-1 8080 Processor Board. 2K of PROM 256 BYTERAM power on/rest Vector Jump Parallel port with

status. Kit $125.95 PCBD $28.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100

buss. Kit 450 NSEC $123.95. PCBD $24.95

MB-7 16KX8. Static RAM uses U.P410 Protection.

fully buffered KIT $299.95

MB-8A 2708 EROM Board, S-100, 8K8X or 16KX8

kit without PROMS $75.00 PCBD $28.95

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or82S129 PROM kit without RAMS or PROMS $72.00IO-2 S-100 B bit parallel /IO port, % of boards is for

kludging. Kit $46.00 PCBD . $26.95

IO-4 Two serial I/O ports with full handshaking20/60 ma current loop: Two parallel I/O ports.

Kit. $130.00 PCBD $26.95

VB-1B 64 x 16 video board, upper lower case Greek,composite and parallel video with software. S-100.

Kit $125.00 PCBD $26.95

Altair Compatible Mother Board. 11x11'/! x'/b"

Board only $39.95. With 15 connectors $94.95

Extended Board full size. Board only $ 9.49

With connector $13.45

SP-1 Synthesizer Board S-PCBD $42.95

82S23 $1.50

82S123 1.50

82S126 1 95

82S129

1.95

82S130

3.95

82S131

3.95

MMI6330

IM5600

IM5603

IM5604

IM5610

IM5623

IM5624

1.501.501.953.951.50

1.95

3.95

KIT

$135.95

PRIME SUPPORT

8080A $ 9.95

8212 3.25

8214 6.50

8224 3.49

2114 (450 NS) Low PWR 7.252114 (250 NS) Low PWR 7.99

2102A-2L 1.60

2102A-4L 1.25

2708 450 NSEC ... 8.95

1702A-6 3.50

4116 (Apple RAM) .12.958/89.95

W7I7C

/ne.

WAMECO INC.

FDC-1 FLOPPY CONTROLLER BOARD will driveshugart, pertek, remic 5" & 8" drives up to 8 drives,on board PROM with power boot up, will operatewith CPM (not inclulded).PCBD $42.95

FPB-1 Front Panel. IMSAI size, hex displays. Byte.

or instruction single step.

PCBD $47.50

MEM-1 8KX8 fully bullered. S-100, uses 2102 type

rams PCBD $25.95

QM-12 MOTHER BOARD. 13 slot, terminated, S-100

board only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector interrupt PCBD $26.95

RTC-1 Realtime clock board. Two independent in-terrupts. Software programmable. PCBD ..$25.95EPM-1 1702A 4K Eprom card PCBD . . $25.95EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $25.95

QM-9 MOTHER BOARD. Short Version of QM-12.

9 Slots PCBD $30.95

MEM-2 16Kx8 Fully Buffered

2114 Board PCBD $26.95

16K RAM BOARD by CCS fully buffered, bank se-lect standard to IEE buss gold fingers, solder mask,plated thru holes, silk screened PCBD $26.95KLUDGE BOARD by CCS for S-100 glass epoxyover 2600 plated through holes. 4 regulators withCAPS all S-100 lunctions labeled, gold fingers.PCBD $29.95

CM

(415) 592-1800419 Portofino Drive San Carlos, California 94070

Please send for IC. Xistorand Computer parts list

MAY SPECIAL SALEON PREPAID ORDERS

(charge cards not included on this offer)

WAMECO REAL TIME CLOCK BOARD. Kit with

all factory marked parts $54.95

PCBD $23.95

FPB-1 with Mikos #14

Front Panel Kit $124.95

MIKOS PARTS ASSORTMENTWITH WAMECO AND CYBERCOM PCBDS

MEM-2 with MIKOS #7 16K ram

with L2114 450 NSEC $235.95

MEM-2 with MIKOS #13 16K ram

with L2114 250 NSEC $269.95

MEM-1 with MIKOS #1 450 NSEC 8K

RAM $123.95

CPU-1 with MIKOS #2 8080A CPU 89.95

MEM-1 with MIKOS #3 250 NSEC 8K

RAM 144.95

QM-12 with MIKOS #4 13 slot mother

board 89.95

RTC-1 with MIKOS #5 real time clock 60.95

VB-1B with MIKOS #6 video board less

molex connectors 99.95

EMP-1 with MIKOS #10 4K 1702 less

EPROMS 49.95

EPM-2 with MIKOS #11 16-32K EPROMS

less EPROMS 59.95

QM-9 with MIKOS #12 9 slot mother

board 75.00

MIKOS PARTS ASSORTMENTS ARE ALL FACTORY PRIMEPARTS. KITS INCLUDE ALL PARTS LISTED AS REQUIREDFOR THE COMPLETE KIT LESS PARTS LISTED. ALL SOCKETSINCLUOED.

VISA or MASTERCHARGE Send account number, interbanknumber expiration dale and sign your order. Approx. postagewill be added. Check or money order will be sent post paid inUS II you are not a regular customer, please uaa charge,cashier's check or postal money order. Otherwise (here willbe a two-week delay for. checks to clear. Calit. residents add6% tax. Money back 30 day guarantee. We cannot accept re-turned IC's thai have been soldered to. Prices sublect tochange without notice. S10 minimum order. 11.50 service chert*on orders leaa than 110.00.

Circle 230 on inquiry card.

BYTE May 1979

283

Circle 365 on inquiry card.

ATTENTION TRS-80 & APPLE USERS

A PRINTER FOR YOUR COMPUTER

TERMS: VISA, MASTERCHARGE,Cashier Check or Money Order.C.O.D. with 10% down.Shipping Via Air or Truck collect.

3 S SALES

P.O. BOX 45944TULSA, OK 74145918/622-1058

$99500

MODEL 3S-80 for TRS-80Ready to plug into yourexpansion interface.

MODEL 3S-PP

for computers with 8 bit serialport.

MODEL 3S-SS

for computers with RS-232port.

*109500 for

MODEL 3S-AA

Includes RS-232 card for ApplellSpecify model number on order.

• Ready to plug into yourcomputer

• Very high quality print

• Completely refurbishedIBM 731 I/OSelectric terminal

in a new table

• Upper & lower caseremovable type ball

• Special I/O interface

• Heavy duty re-mfg. IBMpower supply

PET 2001 COMPUTERQuite portable, very affordable aod un-believably versatile, the PET computermay very well be a lifetime invest-

ment....

2001 4K bytes memory

$595

2001-8 Computer 8K bytos with Integral cassette and calculator

type keyboard $ 795.00

2001-16N Computer 16K bytoi. large keyboard w/ieperate numeric

pad and graphic* on keys S 995.00

2001-16B Computer As above but standard typewriter keyboard.

No graphics $ 995.00

2001-32N Computer Identical to 2O01-16N except has 32K bytes

of memory $1195.00

200.1-32B Computer Identical to 2001-16B except has 32K bytes

of memory $1195.00

2021 Printer 80 column dot matrix electrostatic printer, fullgraphics capability $ 549.00

2022 Printer 80 column dot matrix printer with plain paper orforms handling tractor feed, has full graphics . . . .$ 995.00

2023 Printer BO column dot matrix printer, plain paper printerwith full graphics $ 849.00

2040 Floppy Disk Dual drive Intelligent mini floppy system.343K net user storage $1095.00

2041 Floppy Disk Single drive intelligent mini floppy with 171.5Knet user storage $ 595.00

C2N External Cassette Cassette player/recorder to use withPET 2001/8/16/32 $ 95.00

MANUAL User Manuel 160 page covering all facets of user operation,programming and I/O for PET computers $ 9.95

E^H^^I

SOCERER COMPUTER

FEATURES: 2B0 - 4K ROM - 1BK RAM

CuHtta I/O - 30 Linn of 64 Character! -

fiiMd Charwrtan and 64 Unr Daflnad Chi

I 240 Gr.plilc RMolulion - Edga Card

S-100 But - Swiil and Patallal I/O.

Vidao DltplayEPROMPacSundisrd flatic Hae

DP4001 Canatti

DP6004DPGOOBOPSO0T

Standard Bask ManualTechnical Manual8-100 Expansion Unit ManualDavaloainarrt ManualWord Procoalng Manual

$8.40

4.404.401.622.70

XR206XR210XR215XR320PXR34SCPXR565CPXRLS5BCP 1,50XR6&6CP .86XR567CN 1.51XR1310P 1.31XR1310EP 1.31XR1458CP .86XR1468CN 3.84XR1488N 1.42XR1488P 1.31XR1409AN 1.42XR1489AP 1.31

LJ2

XR2201CN $1.53

XR2201CP 1.33

XR2202CP

XR2203CP

XR2204CP

XR2206CN

t.331.331.336.36

XR2206K8 19.95

XR2206N 11.20XR2207CN 4.28XR2207CPXR2207NXR2207PXR2208CN 5.60XR2208CP 5.20

XR2208N $8.8XR2209CP 1.7XR2211CN 6.2XR2211CP 6.2XR2212CP 4.3XR2216CN 6.4XR2240CN 3.6

3.325.254.28

XR2240CP 3.4XR2240N 6.2XR2242CN 1.6XR2242CP 1.6XR2264CP 4.2XR2265CP 4.9XR2271CP 1,1

XR2272CPS1.15XR2656CN 3.52XR2556CP 3.20XR2567CN 3.71XR2567CP 2.76XR3403CP 1.22XR3524CP10.70XR4136CN 1.61XR4136CP 1.22XR4151CP 2.85XR4194CN 3.81XR4195CP 1.42XR4212CP 2.05XR4558CNXR4558CPXR4739CN 1.53XR4739CP 1.12XR4741CP 1.47

Intersil LED or LCD

3V2 DIGIT PANEL

METER KITS

BUILD A WORKING OPM IN 1/2 HOUR WITHTHESE COMPLETE EVALUATION KITS

Tair lha» now pafla lor yourniif »iln inlcuiii low coilproioiyping kilt, complete wiih A/D converlm and LCD display(lor lha 71061 O' LED duplay (foe tha 7107). Km provide allmalarial*, including PC board, lor a

jCtTtOMW [LCD) $29.95

ICL7107 (LED) $24.95

1

FUNCTION GENERATOR KITXR2206KB

OPERATES ON EITHER" SINGLE 12V SUPPLY

• t6V SPUT SUPPLY

INCLUDES ALL, PARTS

TO BE MOUNTED ON

PC BOARD.

$19.95

1802 SERIES

1802 L18221.1824L1&S2L

Ceramic -65 to 4Epoxy -40° to +I S19.95

7.75

8.26G.oS

11.70

6.60

5.-30

6*6

S.6S

1S22LE1B24LEIB52LEIB53LE1854LE1B56LE1B57LE1B58LE1B59LE

SYM-1

l $269.00

Ballantine Model 1010ADual Channel/X-Y Scope

A professional oscilloscope

■MaaaaaaaaWj to

* a a

i y°ur

^j. basic

;*/ * needs

l±X*Ji& $695

KIM 1 MICROCOMPUTER

$17900

IncludlniDoeumentetlon

GR

753K

753A

756K

756A

771

716

701

702

753MF

756MF

SA1A

I KEYBOARDS AND ACCESSORIES

53 Key plume Stylo Kybd w/lower case $ 65.95

Seme es ebove except Assembled and tested 79.95

56 Key, Full ASCII Keyboard KIT 69.95

Same as above except Assembled and tested 82.95

Key, Deluxe Kybd in Enclosure, Assm end tested 149.95

16 Key Hex Pad, Assembled end tested 29.95

Plastic Enclosure for 753/756 15.00

Steel Enclosure for 763/766 29.95

Mounting Frame for 753 6.95

Mounting Frame for 756 6.95

Converts 753/756 to Serial Output 89.95

15 Megahertz PORTABLE MINI-SCOPES

MS-215

$43500

■|*I'i*E !B- MS-15

$31800

with RECHARGEABLEPORTABLE (2.7"H x 6.4"W x 7.6"D) BATTERIES & CHARGER

AVAILABLE OPTIONS-usable on both the MS215 and the MS1541-140 Leather Carrying Case $45.00— 41-141 10 to 1 Probe $24.50

LIQUID CRYSTAL DISPLAYLCD106$17.30

Ultra-Low Power Consumption-Rapid Response Time-ReflectiveAluminum Foil-Superior MTBF—High Contrast Ratio-Wide View-ing Angle—Proven Sealing Tech-niques— £ in. Digit Height.

DECODER/DRIVER/LATCH

CMOS 7-Segment decoder driverIncorporating Input latchet and bi-polar NPN output circuits, eachsegment capable of sourcing 25mAto drive LED, Incadescent, fluores-cent, gas discharge or LCD displaysdirectly.

MD4311BE(HEX) *-««

MD4511BE(BCD) §2.08

LED Bar Graph Array & Driver

GL-112R3 LED Array Is a red LEDarranged In a 12 dot graph configur-ation. When used In comblnetionwith the IR-2406, linear level Indi-cations con be generated.

1-24 25 up 100 up

$6.00 $4.90 $4.00

GL.-112R3

IR2406 LED Driver Is an Integrated

circuit LED driver with 12 outputs.

Each successive output turns tha

LED's on In steps equal to:

VrefCMax.) - Vref(Mln.)/131-24 25 up 100 up

$5.40 $4.50 $3.60

HICKOK

LX303

DIGITALMULTIMETER

Compact. Accurate. Dependable. With easy-reed V," liquid crystal display for convenient iIn any kind of light. Weighs only "Operates up to 200 hrs on a single 9 volt battery.Nineteen ranges Including 200mV to 10O0VDC,100 to 10 Megohms, 100 and 1000 VAC ranges,IOuA end 10mA ranges. Excellent overloed pro-4_. Qr taction, color coordinated case and*/49t> color coded panel.

I—l HYBRID AUDIOUTI'ffll POWER AMPLIFIER

* MatchingP/N Power Transformer

SI-1010GI10W) $ 6.95 TRIO $ 7.90SI-1020GI20W) $13.95 TR20 $10.90A-SI-8(Socket for above) .96

SI-1030G(30W) $19.00 TR30 $12.90SI-1050GI50VU $27.80 TR50 $17.90

A-sl-10(Socket for above): One Transformer can power two audio amplifiers.

.95

$1.69

5% CARBON FILM

RESISTORS

All values from JO&to 10 Mil- Only in multiples of tOOpcs per value

$1.79

Send Check orMoney Order to:P.O. Box Z208V, Culver City, CA 90230. California resi-dents add 6% sales tax. Minimum Order; $10.00. AddS1.00 to cover postage and handling. Master Charge andVisa welcomed. Please include your charge card number, Interbanknumber and expiration date. PHONE ORDERS 1213) 641-4064

ARIZONA

AIMCRONA

1518 E. etoidwiy

rucion. AZ8S711

(602) SB 1-2348

CANADA, B.C.

ANCnONA5656 FrasarSt.

CALIFORNIA

OREGON

ANCRONA

ANCRONA

ANCRONA

11060 Jafftrwn Blvd.

1300 E. Gliingn Ava.

1126 N.E. B2nd Ava.

Santa Ana, CA 97706

11'131 390-3595

[7141 547-8424

15031 2645541

GEORGIA

TEXAS

AIMCRONA

ANCRONA

ANCRONA

064 E. El Camlno Rail

3330 PlaOmonl Rd. N.E.

204B Rlcftmond

Atlanta. GA 30306

Houiton, TX 770178

(408) 243-4121

U04) 261-7100

1713) 528-3480

284 BYTE May 1979

Circle 8 on inquiry card.

'MEMORY SALE! have it your way

m m

16K $295.00!! (4MHz)(Reg.$370.00) 32K $485.00!! (4MHz) (Reg.$620.0O

M_L BOARDS ASSEMBLED AND TESTED . . .

. . . (KIT PRICING AVAILABLE)

Extended addressing allows board

• Static, of course

to exist anywhere in 256K memoryon standard S-100 bus

. • Phantom line• Each 4K block locateable

LOW Power, 1.6 amp per 16K9 Regulators for perfect heatdistribution

anywhere• Fully tested and burned infor 48 hours

ADD-ON MEMORY CHIPS - $4.95 EACH!! (TMS 4044 or MM 5257) - 8 Chips - Minimum Order♦Sale ends June 1,1979

Z-80 CPU (one serial chip set, less eprom) $195.00 (Reg. $280.00)

• 2 Parallel + 2 Serial Port

• 2 MHz or 4 MHz Switch Selectable

• Baud Rates 150-9600

• Power on Jump to On/Board Eprom (2708 or 2716)

• Memory Management on A16 and A17

VIDEO TERMINAL SIMULATOR $295.00 (Reg. $400.00)

• Plugs into S-100 Bus and simulates all functions of aSoroc or other RS-232 type terminal. A simple videomonitor such as a Sanyo or Sony TV will perform as asmart terminal by writing into an IO Port.

• 2K Eprom, 4K Ram (2 video pages on 16 x 64)

• Lower Case Descenders (16 x 64 or 24 x 80)

• Tabs, protected fields, home/load cursor, blink, reversevideo, underline, page erase, etc. (Intel 8275 CRTcontroller)

DOUBLE DENSITY DISC CONTROLLER $385.00

• CPM* Compatible, TARBELL Pin-out compatible

• On/Board Boot

• 2 or 4 MHz Jumper Selectable

• 8 inch Single or Double sided (5.25 inch available)

• 52 Sectors, runs CPM*, IBM Format

"CPM is a trademark of Digital Research, Inc.

West:

DELTA PRODUCTS

1653 E. 28th StreetLong Beach, Calif 90806

Tel (213) 595-7505

ORDER NOW ! !

SALES

AND

SERVICE

East:

DELTA PRODUCTS

1254 South Cedar RoadNew Lenox, Illinois 60451

Tel (815) 485-9072

Circle 89 on inquiry card. Dealer inquiries invited.

Personal checks must clear before shipment • 90 day unconditional warranty

BofA.M/COkay

Unclassified Ads

SEW UNCLASSIFIED POLICY

Readers who have equipment, software or other itemsto buy. sell or swap should send in a clearly typed noticeto that effect. To be considered for publication, an adver-tisement must be clearly noncommercial, typed doublespaced on plain white paper, contain 75 words or less, andinclude complete name and address information.

These notices are free of charge and will be printed onetime only on a space available basis. Notices can be ac-cepted from individuals or bona fide computer users clubsonly. We can engage in no correspondence on these andyour confirmation of placement is appearance m an issue ofBYTE.

Please note that it may take three or four months for anad to appear in the magazine. ■

FOR SALE: 8080A S-100 microprocessor withMorrows processor and I/O (input/output) boards,Processor Technology VDM-1 video, 8 K staticprogrammable memory, and ASCI! keyboard.BASIC running, programs included. Full doc-umentation! Cost over $850, asking $500 plusshipping. Milan D Chepko, 119 Belleville Ct, ThiefRiver Falls, MN 56701.

FOR SALE: Digital Group parallel I/O (input/output) card. Adds four input and four outputports to any Digital Group system. Add joysticks,printer, digitizer, etc to your system. $75 or bestoffer. John Case, 6703 Timberhill, San AntonioTX 78238, (512) 681-7504.

WANTED: Maintenance manual or schematicinformation for Frteden Flexowriter model 2301Aor similar unit. Will pay $5. for schematic or $25for manual. William A Brown, 79 Salem HI Rd,Howell NJ 07731, (201) 364-6532.

GAMES FOR SALE: Programs on cassette forLevel I TRS-80. Star Trek (so compact it runs on4 K) $10. Ping-Pong (4 K) $5. Lunar Lander(4 K) $5. Add $5 for cassette and shipping. MFeeley, 150-15 Ave, Iberville Quebec CANADA,J2X 1A3.

FOR SALE: Digital Group Z-80 system with 8inch disk and Diskmon, 34 K static memory,keyboard and monitor. All in Digital Groupcabinets. $2950 or best offer. John Ciaccia, 5707Valley Pt, San Antonio TX 78233, (512) 654-0338evenings.

FOR SALE: Apple II 32 K, Disk II, Applesoftread only memory card, carrying case, disk binder,with over 100 programs, three months old. $1975.Ship UPS. Peter Sils, 2065 California St, Apt #1,Mountain View, CA 94040, (415) 965-2775.

FOR SALE: Heathkit H8 and H9 with cassetterecorder, I/O (input/output) interface. 8 K withmanual set. Extended Benton Harbor BASIC.Unit up and running. $1100. Will deliver free any-where in Northeast from Virginia north. .R DMorgan, 2433 Hepplewhite Dr, York PA 17404,(717) 767-4770.

FOR SALE: Hewlett-Packard HP-25C program-mable calculator with continuous memory. Re-charger/AC adaptor. Programming pad. 120 pageowners handbook, 161 page book of applicationsprograms. Like new with case, originial box andstand. Cost new $199. I'll pay UPS and ship it toyou for $100. Greg Glau, POB 1627, PrescottAZ 86302, (602) 445-3212.

MOTOROLA D2 USERS: A manual of experi-ments on 6800 microcomputers containing 73Assembly language problems. A step-by-stepapproach to learn to use the 6800 assembly lan-guage, digital I/O (input/output), interrupts andmany programming techniques with solutions. $5.K K Rao, Dept of Physics, Western MichiganUniversity, Kalamazoo Ml 49008.

FOR SALE: H11 (LSI processor) with arithmeticchip and 16 K. Manuals and softwear. New cost(kit) $1,850. Would like $1,600. Also H10A; newcost (kit) $350, but have had trouble. Will sell for$200, with manuals. James L Achord, 2500North State St, Jackson MS 39216.

FOR SALE: Tl Microterminal for use with TM990series microcomputers. $75. 12 inch modified lineisolated video processor. $60. Quality keyboardcase. $25. Miscellaneous character generators,2102s, 1702As. K Zandler, 481 N ArmisteadSt, Alexandria, VA 22312, (703) 664-6460 duringday.

HELP; Need Memorex Model 1240 terminal ser-vice manual. Also print cartridge and print cartridgedrive belt. Johannes Oelke, 8852 Rock Forest Dr,St Louis MO 63123, (314) 421-5055 (Mon thruFri) or (314) 843-5609 evening.

WANTED: New or used dumb video display orPET. Also a modem for either. Jonathan Gutten-burg, 125 E 72 St, New York NY 10021.

FOR SALE: Heath H8, 16 K, serial I/O (input/output), video display terminal, and all Heathsoftware. Working great. Bargain at $1000. JeffLambros, 7 Parkshore Cir, Sacramento CA 95831,(916)422-7802.

FOR SALE: KIM-1, TVT-6 and an ASCII Key-board wired with software for use as an ASCII con-trolled video terminal. Complete documentation.Plus First Book of KIM, Cheap Video Cookbook,KIM-1 User Notes, Microchess and other utilityand game programs on cassette. Will pay shipping.$250. John Dobiac, QTRS 770-2, Ft Ritchie, MD21719, (301) 241-4744.

FOR SALE: Heath H9 video terminal. Up andrunning, all documentation included. $425. DrBauman, 509 Wolcott Rd, Wolcott CT 06716(203) 879-3855.

WANTED: Information on the IBM Cardatypetypewriter, type 866 and 868 or on the IBMelectric typewriter Model 11C. I would likemanuals, parts, or other data to help me convertthis machine to a printer for a 6800 microcom-puter. John Kluth, 1060 DeLeone Dr, Kent OH44240.

WANTED: Operations manual and schematic fora Dumont Labs type 350-R oscilloscope. Will payany reasonable price for copies. James Brown, 15New Ocean St, Lynn MA 01902.

FOR SALE: TMS-9900 16 bit Techinco startersystem with monitor. Assembler, 1.5 K power,manuals. $450. Datel Selectric terminal with fullASCII I/O Onput/output) RS-232, extensivemanual $700. Power Supply ± 5 V ± 12 V com-mon ground at 1.3 A regulated and protectedS50. David Lynn, 1913 Kingsland Av, Orlando FL32808, (305) 293-4074 after 6 pm.

WANTED: Back issues of Software-Practice andExperience, Computer Graphics, Computer Jour-nal, SIAM journals; other computer journals ex-cluding ACM. William G Hutchison Jr, PrinctonArms N 191, Cranbury NJ 08512, (609) 443-6631.

EMPLOYMENT WANTED: Graduated December1978 from Central Michigan University with aBachelor of Independent Study degree in Elec-tronic Sound Synthesis (minor in ComputerScience). Also hold Associate degree in IndustrialElectronics. Seeking employment in electronicsound synthesis but will consider other areas. Ihave an excellent background in microcomputers.Steven Petersen, 3111 Bird Av NE, Grand RapidsMl 49505, (616)361-6083.

FOR SALE: Heath H10 reader/punch assembledand tested. Never bought rest of Heath system.$280. Also Scientific Devices digital capacitancemeter, factory built, $60. Jeff Duntemann, 6208 NCampbell Av, Chicago IL 60659, (312) 764-5069evenings, 648-1668 days.

FOR SALE: TRS-80 owners. The exciting game ofOthello in 4 K Level. Two variations on onecassette: you play computer or you play opponent.Games on cassette plus documentation. Guaranteed.$5. Chuck Malmquist, 915 Aberdeen Dr, Sunny-vale CA 94087.

FOR SALE: Several Digital Group Real Worldinterface systems. Interfaces to any 8 bit machinewith parallel I/O (input/output) ports. Has plug-ins for AC and DC controllers, analog-to-digitaland digital-to-analog converters, temperature andcurrent probes, and prototyping boards for customcircuits. A B Neel, 400 S Lipan # 2, Denver CO80223.

FOR SALE: Two complete control data RPC4000 computers with some spare circuit boards.Also two autotypists with card punch. Make offer.Frank Booth (501) 452-4946.

FOR SALE: Complete ELF II, almost new. In-cludes computer board with five edge connectorsand case. Giant I/O (input/output) cassette andmonitor board, two 4 K memory boards, casedASCII keyboard, power supply, modulator, con-nectors, software. Worth over $600. Asking $400,vyill listen to offers. Contact R J Crafts, POB139, Oak Bluffs MA 02557, (617) 693-2175.

FOR SALE: Paratronix model 100A logic an-alyzer, new, assembled and working, $165 (factoryprice: $229 kit, $295 assembled). I bought aParatronix 150. C J Drost, Cornell University,College of Vet Med, Ithaca NY 14853, at office:(607) 256-2121, or at home (607) 272-2458.

FOR SALE: Heathkit owners; assembled 12 Kprogrammable memory board for H8. $180. (God-bout Econoram VI). Darrell Mears, 201 ProspectSt, Blacksburg VA 24060.

FOR SALE OR TRADE: Integrand S-100 rackmountable mainframe. Includes 11 slot mother-board, five connectors, in place, 15 A powersupply, and fan. Never been used. First check ormoney order for $220, or I will trade it for aKIM-1 like new with power supply and all manuals.David Minuk, 467 E College St, Murfreesboro TN37130, (615)890-1701.

WANTED: Operating manual, service manual, andused disk packs for an IBM 2311 disk drive. Alsoany information pertaining to a source for theabove or use of the 2311 in a hobby computer.Mike Braun, 200 N Adams, Mt Pleasant IA 52641(319)385-2000.

WANTED: Technical data on a Foto-Mem Inc videodisplay terminal. Has Ball Brothers video displaymodel TV-12C 7-012-0100, micro switch keyboardSW-10255 and auxiliary keypadSW-10112. Display80 characters, 24 lines. Fred Or'dway, POB 5946,Bethesda MD 20014.

FOR SALE: Digital Group 10 K Z-80 system withtwo Phi-Decks 64 character-video. Javelin monitor,keyboard, power supplies. No cabinets. Fullyfunctional. $1,500. or best offer. Grant Youngman,3731 Bramblevine Cir, Lithonia, GA, 30058 atoffice (404) 586-8727, or at home: (404) 981-6640.

MEMORY: Static 16 K byte memory board forS-100 computer made by Vandenberg Data Pro-ducts, uses UPD410 circuits addressed in 4 Kblocks. Assembled, works perfectly. $200. SteveGoldband, 58 Inwood PI, Buffalo NY 14209. (716)886-1020.

FOR SALE OR TRADE: BYTE magazine 16issues Volume 1 thru Dec 76, excellent condition.$125, or swap for KIM-1, Heath ETS3400, ELF II,TI-58, or in part for challenger IP, AIM 65, TI-59.After 5 PM and weekends. Ralph Reinke, 3007Heron Ave, Wausau Wl 54401, (715) 842-0196.

286 May 1979 © BYTE Publications Inc

Circle 354 on inquiry card.

BUILD YOUR OWN LOW COSTMICRO-COMPUTER

POWER SUPPLIES

FOR S-100 BUS, FLOPPY DISCS, ETC.

POWER TRANSFORMERS (with mounting brackets)

ITEMNO.

USED INKIT NO.

PRI. WINDINGTAPS

SECONDARY WINDING OUTPUTS2 x8 Vac 2x 14.5 Vac 2x25 Vac

SIZE

UNIT

Wx D x H

PRICE

3%" X35/8" X31/8"

19.95

3%"x4%"x31/8"

25.95

3%"x4%"x3W

27.95

3% " x35/8" X31/8"

19,95

T1

T2T3T4

OV, 110V, 120V0V, 110V, 120 V0 V, 110V, 120V0V, 110V, 120V

2x9A

2X13.5A

2X10A

2x4.5A

2X2.5A2x3.5A2X2.5A

2x2.5A2X4.5A

POWER SUPPLY KITS (open frame with base plate, 3 hrs. assy, time)

ITEM USED FOR @+8Vdc @-8 Vdc @+16Vdc @-16Vdc @+28Vdc

SIZEWxDxH UNIT PRICE

KIT 1 18 CARDS SOURCE 18A

KIT 2 SYSTEM SOURCE 25A

KIT 3 DISC SYSTEM 18A

KIT 4 DISC SOURCE 8A

1A1A

2.5A

2.5A

3A

3A

2A

2A

4A8A

12"x6"x47/s"12"x6"x4%"14"x6"x4%"10"x6"x4%"

46.9554.9562.9544.95

EACH KIT INCLUDES: TRANSFORMER, CAPACITORS, RESIS., BRIDGE RECTIFIERS, FUSE & HOLDER, TERMINAL BLOCK, ALUM.CHASSIS PLATE, ALL NECE. MTG. PARTS AND INSTRUCTIONS.

SHIPPING: FOR EACH TRANSFORMER: $4.75.

FOR EACH KIT: $5.00 IN CALIF., $7.00 IN OTHER STATES. CALIF. RESIDENTS ADD 6% SALES TAX.MASTER CHARGE, VISA & OEM WELCOME.

MAILORDER:P.O. Box 4296

Torrance. Ca. 90510

SUNNY INTERNATIONAL

(TRANSFORMERS MANUFACTURER)Telephone: (213) 633-8327

7245 E. Alondra Blvd.

Paramount, Ca. 90723

STORE HOURS: 9 AM-6 PM

HOBBY WORLD

CALL TOLL FREE: (800) 423-5387IN CA, HI, AK: (213) 886-9200

S-100 COMPUTERBOARDS

1601 CCS/M-XV1 16K STATIC RAM MODULE

KIT $275

1602 as above, a&l

1603 as above, bareboard1500 HUH/S-100 MPA kit

1503 MH PROPROM, 8K EPROM

BOARD * $214

1504 6834 EPROMS (or above $ 10

1505 MH 100,000 DAY CLOCK, a&t . $219

1506 MH INTROL, 64 chan remote

control a&t $329

1507 WMC/QM1 12 SLOT MOTHERBOARD ...$ 39

1508 as above, with connectors . . . .$ 80

1509 WMC/MEM1 8K STATIC RAM BOARD . . .$ 28

1510 parts only for above $ 80

1403 SSM/CB1 8080A CPU BOARD KIT $134

1408 SSM/5B1 MUSIC SYNTHESIZER KIT $ 145

1411 SSM/104 2 PARALLEL + 2 SERIAL

PORTS KITS $139

1414 SSM/I02 IO UNIVERSAL BOARD KIT .$ 48

1417 SSM/VB1B VIDEO INTERFACE KIT $129

1425 SSM/MB3 2/4K EPROM BOARD KIT . $ 541420 SSM/MB4 2 MHZ STATIC RAM KIT $ 89

1427 SSM ALTAIR IMSAI EXTENDER

BOARD $ 10

1428 connector for above $ 4

1429 SSM/OB1 VECTOR )UMP & PROTO-TYPING CARD KIT $ 47

TRS-80 LEVELBASIC $42

As advertised in MarchInterface. Loads on topof level II, turns yourTRS-80 into, a powerfulsystem. Solves loadingproblems, cures keyboard"bounce". Software cas-sette, has the power ofa hardware modification!Guaranteed satisfaction!Cat No. 1332

CCS = California Computer Systems

WMC = Wameco

IA = Ithaca Audio

SSM = Solid State Musk

SDS = SD Systems

SPL = Speech lab

HUH = HUH Electronics

MH = Mountain Hardware

a&t=assembled & tested

1432 SSM/MT1 15 SLOT MOTHERBOARD ...$ 39

1433 SSM/MB8A 16K (2708) EPROM BOARD

KIT $88

1436 SSM/MB9 4K STATIC PROM/RAM

BOARD KIT $ 64

1438 SSM/VB2 VIDEO BOARD KIT $139

1511 IA 2708/2716 EPROM BARE-

BOARD $ 28

1512 IA Z80 CPU BAREBOARD $32

1513 IA 8K STATIC RAM BARE-

BOARD $ 28

1514 IA S-100 WIREWRAP BOARD . .$ 281600 CCS S-100 WIREWRAP BOARD .$29

1516 SDS VERSAFLOPPY KIT $159

1517-0 SDS EXPANDORAM KIT $185

1517-16 as above, with 16K RAM.. . .$249

1517-32 as above, with 32K RAM' $330

1517-48 as above, with 48K RAM $425

1517-64 as above, with 64K RAM $500

1165 NEWTECH MUSIC BOARD a&l $ 57

1518 SPL 32 WORD SPEECHLAB a&t..$189

1520 SPL 64 WORD SPEECHLAB a&t $299

1222 uSOUNDER SOUND EFFECTS BOARD

a&t $149

COMPUCRUISE 1

MICROPROCESSORS

$165

RAMS

Navigational computerfor mobile or marine

Order by type

no.

use! Features cruise

80S0A

$9,00

control, fuel manage-

6800

$ 9.00

ment, trip computer.

z-aoA

$14.50

timer/counter, Warns

1702 A

$ 3.00

low fuel! Compensates

2708

$ 9.50

21LO2-450

$ 1.25

Mounts easily on dash.

21LO2-6S0

.90

2114-200

2114-300

$ 9.50

2114-450

$ 8.50

Cat No. 1166 ^pj

. 4116

$11.00

California Computer Systems

MEMORY ADD-ON16K $80

For APPLE. TRS-80, EXIDY

Everything you need!Installs in minutes, nospecial tools, no solder-ing! 250 usee.Cat No. 1156

8" DISKS

• Single density• IBM Compatible

$40 box of 10

Cat No. Type

1145 32 sector holes,

1 index hole

1146 IBM 32, 3740, 3540,* 3770, 3790

AND V

order b7805 T7812T7815T7905T7912T7915 TLM308VLM311NLM324NLM358NLM386NLM389NNE555VLM556NLM567VLM703NLM723NLM1458N

.R. SALE!

Y type

10.

2 for

$1.50

2 for

$1.50

2 for

$1.50

2 for

$1.70

2 for

$1.70

2 for

$1.70

2 for

$1.30

2 for

$1.30

2 for

$1.20

2 for

.65

2 for SI.50

2 for

$2.00

4 for

$1.00

2 for

$1.50

2 for

$1.40

2 for

.60

2 for

.SO

2 for

.70 ,

SHUGART SA-400MINIFLOPPY DRIVE$275

Hard and soft sectoring,single density, 35 track.Requires power supply.Cat No. 1154

VERBATIM

51/4" DISKETTES

$29.95 box of 10

Cat No. Type Use

1147 Soft sector TRS-80, Apple

1148 Hard, 10 hole North Star

1149 Hard, 16 hole Micropolis

DATA CASSETTES10 for $17

Highest quality, leader-less! With protectiveplastic case.Cat No. 1142

FREE CATALOG!

New, hot off the press!Top quality, low costfactory fresh IC's, leds,readouts, semis, compu-ter add-ons, boards, testequipment, books, soft-ware, PC aids, - andmore!

19355 BUSINESS CTR DR.-6B5 NORTHRIDGE, CA 91324

Pay by check, COD, Visa or Mastercharge.Order bv phone or mail. Please include phorno. USA add SI.SO for shipping/handling, i$2.50 for air. Foreign add 53.00 for surface,$5.00 tor air. COD's add 35t. All items guaran-teed satisfaction for 120 days!

Circle 170 on inquiry card.

BYTE May 1979

Heariep Service

To get further information on the products advertised in B YTE, fill out the reader service card with your name and address. Then circlethe appropriate numbers for the advertisers you select from the list. Add a 15 cent stamp to the card, then drop it in the mail. Not only doyou gain information, but our advertisers are encouraged to use the marketplace provided by B YTE. This helps us bring you a bigger B YTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

1

426357

a

15"10

11121319223029

28343132

36

373945475350484951527068

7576667773747879814080828588

Aaron Associates 1 24 91

Addmaster Corp 248 94

Administrative Systems 1 87 96

Advanced Access Group 225 92

AJA Software 197 90

Alladin Automation 27 93

Altos 45 89

Ancrona 284 87

Apple Computer 1 3 84

Apple tv 248 ' 86

AP Products 87 95

Aresco 248 100

Artec Electronics 141 102

ATV Research 270 115

base 2, inc. 79 120

Beckian Enterprises 282 125

Biotech Electronics 245 1 30

Bits Inc 230, 245, 246, 247 134

Biz-80 185 136

Bootstrap Enterprises 274 140

Business Applications Software 199 142

Buss/Charles Floto 199 150

BYTE Back Issues 209 152BYTE Books 1 16, 119-122, 127, 213 151

BYTE WATS Line 197 159

California Computer Systems 34, 35 160

California Digital 259 162

Central Data 69 170

Chrislin Industries 227 174"COMPRINT" (Computer Printers Intl) 37 172"Compucolor" (Div Intelligent Sys) 25 171

Computalker 236 173

Computall Corp 248 169

Computer Components Inc 253 175

The Computer Cookbook 47 177

Computer Enterprises 21 9 179

Computer Factory (MA) 133 175

Computer Factory (NY) 1 59 190

Computer Lab of NJ & PA 237 195

Computerland 8, 9, 143 ' 200

Computer Mart of NH 270 168

Computer Mart of NJ 49 201

Computer Service Center 270 203Computex Corp 1 7 5

Conley Graphics 245 202

CT Micro Computer 86 205

CT Micro Computer 201, 214 215

Continental Specialties Corp 218 216

Corico Corporation 256 217

Cromemco 1,2 219

Cybernetic Micro Systems Inc 210 220

Cybernetics Inc 183 222

Cygol 248 221

Data Discount Center 217 204

Datamation 223 229Data/Print Publishing 153 "

Data Research (TX) 278 228

Data Safe Products 221 211

DataSearch 201 231

Delta Products 285 232

Digital Dynamics 248 230

Digital Engineering 208 236

Digital Pathways 219 255

DRC (CAI 210 256

DRC (TX) 257 257

Echo Design & Development 242 265

Electrolabs 2 79 266

Electronic Control Tech 229 269

Electronic Systems 268, 269 281

Electronics Warehouse 267 282

Federal Communications Corp 61 280FMG Corp 183

Allen Gelder 248 283

H Geller 197 . 285Godbout Electronics 131

Graham Dorian Enterprises 51 284

GRT41 286

H & E Computronics 234 287Hayden Book Publishers 167Hickok Electrical Instrument Co 2 53 288

Hobby World 36, 287 292

Hollywood Systems 282 290HUH Electronics 235

Industrial Micro Systems 105 296

Info 2000 99 298Information Terminals (Verbatim) 31 297

Input Output Unlimited 151 299

Integral Data Systems 108, 109 301

Integrand 207 302

Interactive Microware Inc 233 303

Ithaca Audio 251 304

Jade Co 276, 277 305

Jameco Electronics 280, 281 312

Key Supply Co 256 300

Kybe 181 311

Leedex Corp 231 313

MacMillan Book Clubs 157 314

Mad Hatter Software 161 322

Marketline Systems 212 323Measurement Sys & Controls 1 55 324

Measurement Sys & Controls 270 325

Micro Computer Technology 178 315

Micro Diversions 5, 91 316Micro Focus Ltd 1 1 3

Micromail 188 332

Micro Mart 270 331

Micro Mike's 201 318

Microsette 270 *

Microsoft 171 330

Micro Source 169 320

Microware 203 319The Micro Works 90

Micro World Electronix 274 333

Mikos 283 327

Mini Computer Suppliers Inc 115 328

Morrow/Thinker Toys 1 5 329

Mountain Hardware 137 321Mountain Hardware 224

mpi 236 340

Nano Metric System Inc 235 350

Nat'l Small Computer Show 77 351

NEECO 144 335

NEECO 145 - 352

Netronics Research 239 353

New England Recruiters 274 357

Newman Computer Exchange 265 364

North Star Computer 57 356

NRI Schools (Electronics Div),65 99

Ohio Micro Systems 149 359

OK Machine & Tool 71 360

Oliver Advanced Engineering 2 1 6 363

onComputing 17 262

On Line 270 361

Osborne & Associates 193 366

OSI CIV, 23 368

Owens & Associates 216 364

Pacific Office Systems 279 365

Page Digital 275 371

PAIA Electronics Inc 21 1 374

Payne, Jackson & Associates 181 380

Per Com Data 54, 55 "

Personal Software Inc 162, 163, 274 381

'P. S.' 209, 274 379

Pickles & Trout 213 383

Podosoft 248 386

Priority I 271, 272, 273 9

Processor Technology 18, 19 385

Quest Electronics 263 384

RACET Computes 197 387Radio Shack Authorized Sales Center 274 388

RCA 59 389

The Recreational Programmer 274 390Research Machines 213

RNB Enterprises 214, 215 391

Rothenberg Information Systems 220 400

S-100lnc226 401St Jude 1 74

Howard E Sams (Div ITT Publishing) 1 95S C Digital 21 1

Scelbi Computer Consulting Inc 232Scientific Research 89Seattle Computer Products 237Semionics 243

Michael Shrayer Software 173Shugart 6, 7

Small Business Computers Magazine 199Ed Smith's Software Works 1 99Smoke Signal Broadcasting 29Softape 53Software 80 191

Software Development & Training Inc 217Solid State Sales 256Southwest Technical Products Corp CllSpeakeasy VitaFacts 1 26SSM 63

Stirling Bekdorf 1 86Structured Systems Group ClllSub Logic 256Sunny International 287Sybex Inc 1 65Synchro Sound 95Synergetics 209Tarbell Electronics 85Technical Systems Consultants 81Telesensory Systems 222Terminal Data 274Texas Instruments 2413/M Company 393 S Sales Inc 1793 S Sales Inc 284Tora System Limited 274TransNet Corp 212Ucatan 270

University Micro Films 147US Robotics 240Vamp 215

Vector Graphic Inc 107Video World 217Vista Computer Co 261V M Professional Applications 274VR Data 278Wameco 283Western Digital Corp 20Wintek 248

World Power Systems 21, 73, 97, 111,125, 129

Worldwide Electronics 270Xitex 204Xitex 205

*Correspond directly with company.

ecMe-

GYTE's Ongoing Monitor Box

Article No.

ARTICLE

1 Johnston: Computer Generated Maps

2 Blum: Representing Three-Dimensional Objects in Your Computer

3 Ciarcia: Communicate on a Light Beam

4 Morgan: The Superboard II

5 Haas: Single Chip Video Controller

6 Halsema: Bubble Memories

7 Lentz: 6800 Disassembler

8 Beard: Spacewar in Tiny BASIC

9 Tennant: The Intel 8275 CRT Controller

10 Smith: Smart Memory

11 Maurer: Simultaneous Input and Output for Your 8080

12 Gorney: Queuing Theory

13 Ball: Trigonometry in Two Easy Black Boxes

14 Hinrichs: Tic-Tac-Toe: A Programming Exercise

15 Stirling: The Hobby Unwrap

16 Teja, Gonnella: A Mini-Disassembler for the 2650

17 Pfeiffer: Aids for Hand Assembling Programs

288 May 1979 © BYTE Publications Inc

PAGE

10

14

32

50

52

102

104

110

130

150

164

176

184

196

218

233

238

Video Out in Front

Voting on the February 1979 BOMB cardwas rather close. The first and second placewinners placed 8.75 and 8.46 points abovethe standard deviation. The third and fourthplace articles were 7.38 and 7.09 pointsabove the standard deviation.

In first place was Timothy Loos for hisshort hardware article entitled "Use a Tele-vision Set as a Video Monitor." In secondplace was John Giacomo for his "SteppingMotor Primer." These authors will receive$100 and $50 respectively.

Placing third was "A Microprocessor forthe Revolution," by Terry Ritter and JoelBoney followed closely by Steve Ciarcia's"Build a Computer Controlled SecuritySystem."

SSG's general accounting, data inquiry, mailing, andcommunications software packages are bringing realcomputer power to hundreds of businesses rightnow. They are ready to go to work for your business.

The Honest-To-Business $12,000 Computer

Our software will power DYNABYTE, CROMEMCO,IMSAI, NORTHSTAR, ALTOS, MICROMATION, DIGITALSYSTEMS, or other Z-80 or 8080 based computersthrough your General Ledger, Accounts Receivable, andAccounts Payable. And maintain a conversationaldata-base query system, store and print your mailing listand labels, produce and edit correspondence, addressit from your mailing list, and more.The price for a totalsystem—hardware and SSG software—ranges from$8,000 to $14,000.

Real Business Computing

Our Business Software packages are designed to be upand running and working for you in a matter of hours.Without expensive reprogramming, technical staff addi-tions, or costly trial-and-error. Our quality is high, ourdocumentation practically self-instructive. The applica-tions are flexible and extensive, designed to meet andexceed the requirements of most small to medium busi-nesses. Real computer solutions at microcomputer prices.

Some Pleasant Surprises

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

The SSG product line includes these outstanding packages:

General Ledger LETTERIGHT Letter Writer

Accounts Receivable NAD Mailing System

Accounts Payable QSORT Sorting System

CBASIC-2 WHATSIT? Data/Query System

Structured Systems Group

INCORPORATED

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

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

Circle 353 on inquiry card.

The Microcomputersyou should take seriously.

The C3 Series is the microcomputerfamily with the hardware features, highlevel software and application programsthat serious users in business and in-dustry demand from a computer system,no matter what its size.

Since its introduction in August, 1977,the C3 has become one of the most suc-cessful mircocomputer systems in smallbusiness, educational and industrialdevelopment applications. Thousands ofC3's have been delivered and today hun-dreds of demonstrator units are set up atsystems dealers around the country.

Now the C3 systems offer featureswhich make their performance com-parable with today's most powerful mini-based systems. Some of these featuresare:

Three processors today, moretomorrow.

The C3 Series is the only computersystem with the three most popular pro-cessors— the 6502A, 68B00 and Z-80.This allows you to take maximum advan-tage of the Ohio Scientific softwarelibrary and the tremendous number ofprograms offered by independent sup-pliers and publishers. And all C3's haveprovisions for the next generation of 16bit micros via their 16 bit data BUS, 20address bits, and unused processorselect codes. This means you'll be ableto plug a CPU expander card with two ormore 16 bit micros right in to your ex-isting C3 computer.Systems Software for threeprocessors.

Five DOS options including develop-ment, end user, and virtual data filesingle user systems, real time, timeshare, and networkable multi-usersystems.

The three most popular computerlanguages including three types of BASIC

Circle 290 on inquiry card

plus FORTRAN and COBOL with morelanguages on the way. And, of course,complete assembler, editor, debuggerand run time packages lor each of thesystem's microprocessors.Applications Software for SmallBusiness Users.

Ready made factory supported smallbusiness software including AccountsReceivable, Payables. Cash Receipts.Disbursements, General Ledger, BalanceSheet, P & L Statements. Payroll, Per-sonnel files. Inventory and Order Entry asstand alone packages or integratedsystems. A complete word processorsystem with full editing and output for-matting including justification, propor-tional spacing and hyphenation that cancompete directly with dedicated wordprocessor systems.

There are specialized applicationspackages for specific businesses, plusthe vast general library of standardBASIC, FORTRAN and COBOL software.OS-DMS, the new software star.

Ohio Scientific has developed aremarkable new Information Manage-ment system which provides end user

The C3 Seriesfrom Ohio Scientific.

C3-S1

intelligence far beyond what you wouldexpect from even the most powerful mini-systems. Basically, it allows end users tostore any collection of information undera Data Base Manager and then instantlyobtain information, lists, reports,statistical analysis and even answers toconventional "English" questions perti-nent to information in the Data Base.OS-DMS allows many applications to becomputerized without any programming!The new "GT" option heralds the newera of sub-microsecondmicrocomputers.

Ohio Scientific now offers the 6502Cmicroprocessor with 150 nanosecondmain memory as the GT option on all C3Series products. This system performs amemory to register ADD in 600nanoseconds and a JUMP (65K byterange) in 900 nanoseconds. The systemperforms an average of 1.5 million in-structions per second executing typicalend user applications software (andthat's a mix of 8. 16 and 24 bit.instruc-tions!)-Mini-system Expansion Ability.

C3 systems offer the greatest expan-sion capability in the microcomputerindustry, including a full line of over 40expansion accessories. The maximumconfiguration is 768K bytes RAM. tour 80million byte Winchester hard disks. 16communications ports, real time clock,line printer, word processing printer andnumerous control interfacesPrices you have to take seriously.

The C3 systems have phenomenalperformance-to-cost ratios. The C3-S1with 32K static RAM. dual 8" floppies.RS-232 port, BASIC and DOS has a sug-gested retail price of under $3600.80 megabyte disk based systems start atunder $12,000. Our OS-CP/M softwarepackage with BASIC FORTRAN andCOBOL is only $600. The OS-DMSnucleus package has a suggested retailprice of only $300. and other options arecomparably priced.

To get the full story on the C3 systemsand what they can do for you. contactyour local Ohio Scientific dealer or callthe factory at (216) 562-3101.

C3-B wins Award ol Merit atWESCON 78 as the outstandingmicrocomputer application lor"mall Business