Byte Magazine Volume 03 Number 09 - Graphic Manipulations

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

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

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

Created with abbyy2epub (v.1.7.2)

$4,495.00

/

c

a

s.

40K Bytes RAM Memory

1,200,000 Bytes Disk Storage

Desk with laminated plastic surface

DOS and BASIC with random and sequential files

TERMINAL—Upper-Lower case and full control character decoding

T

t

SOUTHWEST TECHNICAL PRODUCTS CORPORATION

219 W. RHAPSODY

SAN ANTONIO, TEXAS 78216 circle 350 on in

Circle 350 on inquiry card.

Model Z-2

Up to 512K of RAM/ROM

Model Z-2D

One or two disks

Up to 512K 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 you get not only the industry's finest microcomputers but also the industry's widest microcomputer selection.

What's more, you get a computer from the manufacturer that computer dealers rate #1 in product reliability.*

Your range of choice includes our advanced System Three with up to four 8" disk drives. Or choose from the System Two and Z-2D with 5" drives. Then for ROM-based work there's the Z2. Each of these computers further offers up to 1/2 megabyte of RAM (or ROM).

We say these are the industry's most professional microcomputers because they have outstanding features like these:

• Z-80A microprocessor — operates at 250 nanosecond cycle time — nearly twice the speed of most others.

Up to 512 kilobytes of RAM and 1 megabyte of disk storage

•Rated in The 1977 Computer Store Survey by Image Resources, Westlake Village, CA.

/ Mt

\

11

llll

0 ■ r • i ■ m i m a u e

3

System Three

Two to four disks

Up to 512K of RAM/ROM

Up to 1 megabyte of disk

30-amp power supply — more than adequate for your most demanding application.

21 card slots to allow for unparalleled system expansion using industry-standard S-100 cards.

S-100 bus — don't overlook how important this is. It has the industry's widest support and Cromemco has professionally implemented it in a fully-shielded design.

Cromemco

incorporated Specialists in computers and peripherals 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040

• Cromemco card support of more than a dozen circuit cards for process control, business systems, and data acquisition including cards for A-D and D-A conversion, for interfacing daisywheel or dot-matrix printers, even a card for programming PROMs.

• The industry's most professional software support, including COBOL, FORTRAN IV, 16K DiskExtended BASIC, Z-80 Macro Assembler, Cromemco MultiUser Operating System — and more coming.

• Rugged, professional all-metal construction for rack (or bench or floor cabinet) mounting. Cabinets available.

FOR TODAY AND TOMORROW

Cromemco computers will meet your needs now and in the future because of their unquestioned technical leadership, professionalism and enormous expandability.

See them today at your dealer.

There's no substitute for getting the best.

see next \\ page]/

(415) 964-7400

Circle 80 on inquiry card.

BYTE September 1978 1

SEE YOUR LOCAL CROMEMCO DEALER

aiaskadihrsimiodicitai

COMPUTERLAND OF HUNTSVTUE

RUSINESS COMPUTER SYSTEMS

PRODUCTS UNIIMItED

rite shot or pi

COMPUIIR RESEARCH CORP.

COMPUIIR WARS, IN

.. =■_-.!.=:--■ COMPUTER COMPANY

COMPlJItNIANDDUlLIN

CQMPunRtANn u c insno

• 11. I'.I i !■ i '■ IN COMPUTING

COMPUUKLANDOF

AEGORITHMPIRSONAL

COMPUIERIANDO

IE SHOP Ot LAWKDAli

COMPUTER! AND SOUTH it

I Nil (PR lift, INC.

COMFIJIIRIANDLOSAL

american recorder'

ijiih"-mi

ITIMflKl'mANIMAiraiUAOtVLV

lITdliMlM. IV COMPUTER

inioiMi.viiw

RITE SHOP PALO ALTO

MICKOIICIIEtPORIS

M1CR OC O MPU11R A PP11C AT IONS SYS

COMPUTIRLANDOFSANEHEGO

IHI COMPUTER CENTER

COMPUTERLAND OF SAN fRANCTSCO

Tilt COMPUTER STORE Of U.

COMPUTER TERMINAl

GRANITE RUSINESS SY

■I CREATION AT COMPUTE* CI

COMPUIlllAND 1000 OAKS

COMPUTERLANDOEH

inMIUllll COMPONENTS

RY1I SHOP COMPUTERS OE DtARUJ VI

COMPUTERLAND W

■ t li SHOP Of ARAPAIIO COUNEV

COMPUIIRLANUOIEAEREIEED

HE COMPUTER STORE

COMPUEtRLAND Of NEWCASTLE CI

COMPUTERSfORYOU.INC.

rAADMINISIRAIORS.INC

MICRO COMPUTER SYSIIMS, INC.

MICXO COMPUTER SYSTEMS

AIECHHICTRONICS

ATLANTA COMPUTER M

EDUCATIONAL DATASERVICIS

COMPUTERLAND MAHIETTA

MICROCOMPUTER

■ III SHOP CHAMPAIGN

IRONSON A I* ATTON, IS

COMPUTER A CONTROL Af FICIATIS. IN

MIOWES1 MICROCOMPUTERS. INC

ILUN1 MICROCOMPUTERS

COMPUTERLAND NlliS

COMPUTE RE AND OP OAK I AWN

DAEA DOMAIN SCHAUMRUIG

DAT* DOMAIN OHORI W

DATA DOMAIN 01 INDIANAPOLIS

DATA DOMA1NOI WEST tAPATETTE

COMPUTERLAND Of LOUIIVIUI

DATA DOMAIN Of LOUiiVIH t

PRACMATECH

MICRO IUSINESS SIS 11 All, ISC.

1TPHYR DAEA SYSTEMS INC

COMPUTERLAND Of GAIIHIRSRUAC.

CIM EN Gil

CAM ENGINEERING. INI.

COMfUTtn (TC.

NEWMAN COMPUII* FICEIANGI

TEIE COMPUTER STORE

UNITIDMICROSYSItMSCORP,

COMPUTERLAND GRAND R<

COMPUTER MARIO

COMPUTERLAND SOtllHIItlD

MINNESOTA MICRO IYS1IMS, INC

COMPUTTRStSllMSCERSI II

COMPUTERLAND CHERRY HI

COMPUII t MART Ol NEW EtRSIV

COMPUHR1AND Ol

CORSON COMPUII* CORP. II

COMPUTER SHOP Of

LOUIS SCIIAEEFt R

SYNCHRO-SOUND EN 1 UPRISES

COMPUTERLAND OF ITHACA

COMPUTER MART Of NEW YORK

DIGITAL DESIGN

lilt CENTURY SHOP

MIDWLSIERNDK.IlALEIECmONICS

COMPUTER SOLUTIONS

OHIO MICRO StSIEMS

COMPUIERl AND Of Ctf VE1AND EASI

RUE SHOP OIIEAVIRION

IN COMPUTER CO.

COMPUIfRtAND

MARRCTIINi SYSTEMS, INC

COMPUIIR MART Of PINMSYIVANIA

E1ICIRONICSP1ACI

RYIISHOPOI COIUM1IA

COMPUTER SIORE

SURYA CORPORATION

COMPUTER CORNER. INC

CC1MPUIIRIANDAU1IIN

COMPUTERS N THINGS

MICRO SYSTEMS SERVICES, INC

COMFUIIRLANDOIS.W.

COMPUTERll I

COMPUTER MART Of W. TEXAS

THIMJCROSEORt

UllCOMPtlTIRWORRS

COMPUTERS PLUS, IN

COMPUTER SYSTIMS It

COMPUIER1ANO SOUTH KING CITY

Till REIAIL COMPUTERS!

IOMPUTERI.ANUTACOMA

SOUND WORLD, INC

till MADISON COMPUTER ST

COMPUIERI AND MADISON

MILWAUKEE: COMPUTtR STORE

OMICRON MIC ROC OMPUTERS

COIORTRONTV

INTERNATIONAL I

SONTRON INSTRUMENTS

COMPUTER ARI A EDUCATION

COMPUTER PRODUCTS

RORO-TROWCS

HUM CANADIAN COMPUTER ST

COMART LIMITED

COMPUTER IHli:111)1 i

RYEISIIOPSOCOH

I'll I.I I III I-..

Ill CORPORATION

DUISION SYSTEMS CORP.

DAIORISERINGKONSUETAI

COMICRO AC

ISMICROCOMPUIER VERIRIEI

DIGItRONICEOMPUTIRSYSIEME

^DENOTES SYSTEMS THREE DEALER

BYTE Seplember 1978

Q

Cromemco

incorporated Specialists in computers and peripherals 280 BERNARDO AVE., MOUNTAIN VIEW, CA 94040 • (415) 964-7400

Circle 80 on inquiry card.

/

\

In the Queue

EITI September 1978

Volume 3 Number 9

PUBLISHERS Virginia Londoner

Foreground

Gordon R Williamson EDITOR IN CHIEF Carl T Hclmers )r

VICE-PRESIDENT, PRODUCTION Judith Havey

58

A "TINY" PASCAL COMPILER, Part 1: The P-Code Interpreter

PRODUCTION MANAGER Karen Gregory ADVERTISING DIRECTOR

Software—Chung- Yuen

94

LET YOUR FINGERS DO THE TALKING: Scanner Applications

John Hayes CIRCULATION MANAGER

Software—Ciarcia

Gregory Spiufadcn SENIOR EDITOR

102

S2L: AN ALTAIR (S-100) TO LSI-11 BUS ADAPTER

Christopher P Morgan EDITOR

Hardware Design—Bondy

Raymond G A Cote PRODUCTION EDITORS

166

WADUZITDO: How To Write a Language in 256 Words or Less

Nancy Salmon

David William Hayward

Languages—Kheriaty

PRODUCTION ASSISTANT Cheryl A Hurd PRODUCTION ART Stephen Kruw Wai Chiu Li

Background

Dorothy Shamomky Ellen Shamonsky NEW PRODUCTS EDITOR CLUBS, NEWSLETTERS Laura A Hanson

22

THE MATHEMATICS OF COMPUTER GRAPHICS

ASSISTANT ADVERTISING DIRECTOR Patricia Clark

Graphics—Posdamer

ADVERTISING PRODUCTION COORDINATOR

40

APL AND GRAPHICS

Thomas Harvey ADVERTISING ASSISTANTS

Software—Kellerman

Noreen Bardsley JillCallihan

68

SOME WORDS ABOUT PROGRAM STRUCTURE

COMPTROLLER Kevin Maguire

Software—Hearn

ASSISTANT TO COMPTROLLER Ruth M Walsh EDITORIAL ASSISTANT

82

ANTIQUE MECHANICAL COMPUTERS: The Torres Chess Automaton

History—Williams

Gale Britton

CIRCULATION ASSISTANTS

114

MATH IN THE REAL WORLD

Christine Dixon Ann Graves

Software—Boney

Pamela R Heaslip

Agnes E Perry

156

GRAPHIC MANIPULATIONS USING MATRICES

DEALER SALES Ginnic F Boudrieau

Graphics—Hunger ford

TRAFFIC MANAGER Rick Fuette RECEPTIONIST Jacqueline Earnshaw DRAFTING

Nucleus

Tcchari Associates DRAWING EDITOR Kent Richard TYPOGRAPHY Goodway Graphics

4

In This BYTE

PHOTOGRAPHY Ed Crabtree

6

On Entering Our Fourth Year

PRINTING

The George Bama Company

10

The NCC '78 Personal Computer Show

ASSOCIATE EDITOR Daniel Fylstra

17

Letters

ASSOCIATES

54

BYTE's Bits

Waller Bank* Steve Ciarcia

54

BYTE's Bugs

David Fylstra

120

Event Queue

BOOK DIVISION:

123

Programming Quickies: Plugging the KIM-2 Gap

PUBLISHER

124

Clubs and Newsletters Directory

Thomai J Herman PRODUCTION MANAGER

145

Book Reviews

EdmondC Kelly |r EDITOR

147

Technical Forum: Making an H9 Understand Lower Case

Richard Shuford PRODUCTION ASSISTANT

177

What's New?

Kathcrinc LaHive

206

Unclassified Ads

ADVERTISING SALES REPRESENTATIVES: EAST, MIDWEST

208

BOMB ,!!!>„

Hajar Associates Inc

208

Reader Service •?/^Tnr^,'°

Mm*

17 Durant St

West Roxbury MA 021 32

(617) 325-5380

■p °

100 W Chicago Av

Chicago IL 60610

(312)337-8008

BYTE is publi

hed monthly by BYTE Publications Inc. 70 Main St. Peterborough IMH 03458. Address all mail except sub

WEST, SOUTHWEST

scriptions to above address: phone (603) 924-7217. Address all editorial correspondence to the editor at the above address. Unacceptable manuscripts will be returned il accompanied by sufficient first class postage. Not responsible for lost manu

Buckley /Boris Associates Inc 912 South Barrington, Suite 202 Los Angeles CA 90049

scripts or photos.

Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of

(213) 826-4621

address. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 590, Martinsville NJ 08836. Second class

postage paid at Peterborough NH 03458 and at additional mailing offices-USPS Publication No. 102410, Canadian second

DISTRIBUTORS:

class registration No. 9321. Subscriptions are $15 for one year, S27 for two years, and $39 for three years in the USA and its

EASTERN CANADA RS-232 Distribution Company 186 Queen St W, Suite 232

possessions. In Ca

nada and Mexico, $17.50 for one year, S32 for two years, and $46.50 for three years. $25 for a one year

subscription by sl

rface mail worldwide. Air delivery to selected areas at additional rates available upon request. $25 for a one

Toronto ONTARIO

year subscription

by air delivery to Europe. Single copy price is $2.00 in the USA and its possessions, $2.40 in Canada and

WESTERN CANADA Kitronic Ltd

Mexico, $3.50 in

Europe, and S4.00 elsewhere. Foreign subscriptions and sales should be remitted in United States funds.

Printed in United

States of America. Each separate contribution to this issue and the issue as a collective work copyright ©

26236 26th Av RR 5

1978 by BYTE Publication Inc. All rights reserved.

Aldergrove BC VOX 1A0

C

Subscription WATS Line: (800) 258-5485

f

J

September 1978 <0 BYTE Publicitions Inc 3

In This

BITE

About the Cover. . .

The computer artwork for the cover of this issue of BYTE is the work of Ed Kellerman, whose article appears on page 40. It was done using the facilities of IBM in Endicott NY, with the APL language as the major tool and a Tektronix plotter for producing the black images for the various colors of the line drawing component of the cover.

But we looked at the resulting artwork, and then asked Ed if he would allow us to provide some additional hand coloration by Ellen Shamonsky of our art department. (Ellen is the person responsible for the airbrush work on July 1978's cover, which we forgot to credit in that issue.) Ellen provided the multicolored airbrush background for the present cover, using the artwork supplied by Ed as the guide for positioning the various zones.

A background in vectors and matrices can give you a set of powerful tools for manipulating shapes on a graphics display. Read Jeffrey L Posdamer's The Mathematics of Computer Graphics. You may find that the mathematics is not as difficult as you think. page 22

As other articles in this issue demonstrate, matrix operations are one

method of manipulating graphics. The manipulations become simpler when the implementation language is designed to work with matrices. APL is such a language. Eduardo Kellerman gives us a taste of what happens when you mix APL and Graphics.

page 40

In this issue Kin-Man Chung and Herbert Yuen start a series of articles detailing the design and construction of A "Tiny" Pascal. Part 1 contains an overall view of the project along with a detailed look at an interpreter for pseudocode which is what the Pascal source program will be compiled into. The Pascal project emphasizes the portability of the language by compiling from Pascal to pseudocode which will then have an individual interpreter for every different machine. page 58

What constitutes a program, and what is the proper way to write one? Proper is a loaded word, but if ease of thought and unambiguity are goals of the effort, Some Words About Program Structure by Albert D Hearn will be a good starting point for the novice. page 68

This month we conclude Dr James Williams's three part scries on Antique Mechanical Computers with Part 3: The Torres Chess Automaton. Incredible as it may seem, Leonardo Torres built a working chess automaton in 1911. After a discussion about early concepts in the first "thinking" machines, the chess automaton is described in detail in this article. Dr Williams concludes the series with some philosophical speculations about automata. page 82

Steve Ciarcia completes his description of a non-contact scanner by describing the software that will Let Your Fingers Do the Talking.

page 94

In an extended Technical Forum discussion, Jonathan Bondy presents a preliminary design for S2L: An

Altaic (S-100) to LSI-11 Bus Adapter.

Here is a starting point for those interested in taking advantage of numerous personal computing peripherals in combination with the 16 bit Digital Equipment Corporation LSI-11 computer. page 102

If you intend to use your computer for arithmetic operations it is necessary to have a floating point arithmetic package. Joel Boney's article on implementing a binary floating point package will help you implement Math in the Real World if you don't have an appropriate package at your fingertips in a high level language or program library, page 114

A displayed object can be defined within a matrix in a program. Once the object has been so defined it is a simple matter to perform Graphic Manipulations Using Matrices as described by Joel Flungerford.

page 156

Are you faced with the prospect of owning a just built computer system bare of all niceties such as BASIC or even assembler? Somehow, it is difficult to impress noncomputer people by adding 1 to I to get 10. Larry Kheriaty has an interesting language to solve this problem. For Larry's solution read WADUZ1TDO-. How to Write a Language in 256 Words or Less. page 166

September 1978 IB BYTE Publications Inc

Circle 75 on inquiry card.

BYTE September 1978

Articles Policy

BYTE Publications Inc is continually seeking quality manuscripts written by individuals who are applying personal computer systems, designing such systems, or who have knowledge which will prove useful to our readers, tor a more informal description of procedures and requirements, potential authors should send a self-addressed, stamped envelope to BYTE Authors' Guide, 70 Main St, Peterborough NH 03458.

Articles which are accepted are purchased with a rate of $45 per published page, based on technical quality and suitability for the intended readership. As to articles appearing in BYTE magazine, each month, the authors of the two leading articles in the reader poll (BYTE's Ongoing Monitor Box or "BOMB") are presented with bonus checks of $100 and $50. Unsolicited materials should be accompanied by full name and address, as well as return postage.*

Editorial

On Entering Our Fourth Year

By Carl Helmers

With this issue, we begin our fourth year of publication of BYTE magazine. The project remains as exciting, if not more so, than when we first put together an issue of the magazine in the summer of 1975. A lot has changed as the people involved with this publication have grown and learned about the process of magazine production. Yet a lot remains similar.

The basic goal of this magazine is not likely to change: to provide readers with a continuing stream of novel ideas and information about computers and related fields.

The assumption made about the BYTE reader is that he or she possesses curiosity combined with a willingness to experiment with and learn about topics related to computers and computing. To this end we provide a wealth of tutorials on hardware and software aspects of computer science — as well as specific "do it yourself" items on neat projects which can be done by the reader. And all this is lied together with an emphasis on the fun which can be had through the use of computing technology in various ways.

We started out with this idea about the goals of the magazine, and no real knowledge about how far we could take it. After all, the skeptics (on occasion including myself) would ask, can there be that many people interested enough in computers to buy your magazine? But, reflecting the growth of personal computing manufacturing, we went from a 96 page black and white first issue to a 208 page typical current issue, from essentially 0 circulation as of the decision to start the magazine to a present circulation in excess of 140,000 paid copies per month. Perhaps we even played a small part in promoting that growth by providing our advertising and editorial content as a service to the industry."

September 1978 & BYTE Publications Inc

Circle 175 on inquiry card.

HORI

THE COMPLETE CO

LookToThe North Star HORIZON Computer.

HORIZON™— a complete, high-performance microprocessor system with integrated floppy disk memory. HORIZON is attractive, professionally engineered, and ideal for business, educational and personal applications.

To begin programming in extended BASIC, merely add a CRT or hard-copy terminal. HORIZON-1 includes a Z80A processor, 16K RAM, minifloppy™ disk and 12-slot S-100 motherboard with serial terminal interface —all standard equipment.

WHAT ABOUT PERFORMANCE?

The Z80A processor operates at 4MHZ — double the power of the 8080. And our 16K RAM board lets the Z80A execute at full speed. HORIZON can load or save a 10K byte disk program in less than 2 seconds. Each diskette can store 90K bytes.

AND SOFTWARE, TOO

HORIZON includes the North Star Disk Operating System and full extended BASIC on diskette ready at power-on. Our BASIC, now in widespread use, has everything desired in a BASIC, including sequential and random disk files, formatted output, a powerful line editor, strings, machine language CALL and more.

EXPAND YOUR HORIZON

Also available —Hardware floating point board (FPB); additional 16K memory boards with parity option. Add a second disk drive and you have HORIZON-2. Economical serial and parallel I/O ports may be installed on the motherboard. Many widely available S-100 bus peripheral boards can be added to HORIZON.

QUALITY AT THE RIGHT PRICE

HORIZON processor board, RAM, FPB and MICRO DISK SYSTEM can be bought separately for either Z80 or 8080 S-100 bus systems.

HORIZON-1 $1599 kit; $1899 assembled.

HORIZON-2 $1999 kit; $2349 assembled.

16K RAM—$399 kit; $459 assembled; Parity option $39 kit; $59 assembled. FPB $259 kit; $359 assembled. Z80 board $199 kit; $259 assembled. Prices subject to change. HORIZON offered in choice of wood or blue metal cover at no extra charge.

Write for free color catalogue or visit your local computer store.

North Star * Computers

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

Circle 285 on inquiry card.

BYTE September 1978

.

1

ji

1

HeiosI

'■mLi ■ IM

,ern,,na'Computer

nHBH

soi:

The small computer that won't

fence you in.

A lot of semantic nonsense is being tossed around by some of the makers of so-called "personal" computers. To hear them tell it, an investment of a few hundred dollars will give you a computer to run your small business, do a great amount of financial planning, analyze a host of data in the engineering or scientific lab and when day is done play games by the hour.

Well, the games part is true. The rest of the claims should be taken with a grain of salt. All of the personal computers will help you learn about computers and how they work in general and the kinds of things they can do for you. Only a few have the capacity to grow and handle meaningful work in a very real sense. And they don't come for peanuts.

Remember, there's no free lunch.

So before you buy any personal computer, consider Sol," the small computer. Consider it because it costs more at the start so in the end it costs less. Consider it because it can grow with the complexity of the tasks you ask it to perform and grow with your ability to use it. No, it's not cheap. But it's not a delusion either.

From the very beginning, Sol small computer systems were designed to be at the very top of the microcomputer spectrum. We designed them so you wouldn't have to add costly extras to do many jobs. We designed them so you could add quality peripherals and more memory to take care of more complex tasks. We designed them

to use the best fully supported disk operating system on the market today, PTDOS, which we also designed. We designed them to use our Helios II mass memory. And for Sol small computer systems we designed new and adapted existing software to give you the choice of the best on the market today.

Build computer power with our software.

No system is complete without software, and at Processor Technology we have tailored a group of high level languages, and assembler and other packages to suit the wide capabilities of our hardware.

Take a look at our exclusive Extended BASIC as an example. In cassette form, this BASIC features string and advanced file handling, special screen commands, timed input, complete matrix, logarithmic and trigonometric functions, 8 digit precision and square root. The language handles serial access files, provides tape rewind and offers cursor control for graphics capability.

The disk version has all the number crunching talents of the cassette BASIC plus instant access to data and programs on floppy disks. It includes random as well as sequential files and a unique ability to update sequential data in place.

Processor Technology FORTRAN is similar to FORTRAN IV and has a full set of extensions designed for the "stand alone" computer environment. Thousands of special application programs available through books and periodicals have

already been written in this well established language.

Processor Technology PILOT is an excellent language for teachers. It is a string-oriented language designed expressly for interactive applications such as programmed instruction, drill and testing.

No wonder we call it the serious solution to the small computer question.

It's the small computer system to do the general ledger and the payroll. Solve engineering and scientific problems. Use it for word processing. Program it for computer aided instruction. Use it anywhere you want versatile computer power!

Sold and serviced only by the best dealers.

Sol Systems are sold and serviced by an outstanding group of conveniently located computer stores throughout the United States and Canada. They are also available in Australia, Europe, the United Kingdom, Central America, South America, Japan and Singapore.

For more information contact your nearest dealer listed on page 123. Or write Department B, Processor Technology Corporation, 7100 Johnson Industrial Drive, Pleasanton, CA 94566. Phone (415) 829-2600.

In sum, all small computers are not created equal and Sol users know it to their everlasting satisfaction.

Circle 305 on inquiry card.

Processor feci

The NCC 78 Personal Computer Show

Chris Morgan, Senior Editor

Photo I: Complex high resolution graphics created with UCSD Pascal.

Photo 2: Color graphics being generated by Exidy 's new Sorcerer personal computer.

Photo 3: 8 K content addressable memory board from Semionics. The $525 price tag is the lowest we've seen for this type of memory.

The official attendance was 57,240— that's how many people came to the National Computer Conference in Anaheim CA June 5 thru 8.

Easily the biggest computer show in history, the NCC overflowed the huge Anaheim convention center into a neighboring garage annex converted to handle the extra booths. The personal computing section of the show has grown into a major show of its own in just two years: the crowds there were no less impressive than at the main show.

A diversity of products greeted visitors to the show: everything from digitizers to compilers; Pascal to peripherals; color video systems to surplus parts; and so on. One of the most significant hardware devices on view was an 8 K content addressable memory board for the S-100 bus from Semionics in Berkeley CA. In a normal memory, the address of data is input, and the memory reads from (or writes to) its

10 September 1978©BYTE Publications Inc

The % Center

The IMSAI VDP-80

Until now, owning real computing power meant paying unreal prices. The IMSAI VDP-80 Video Data Processor is a complete computer, intelligent terminal and megabyte floppy disk mass storage system including disk operating system (IMDOS) and BASIC software. All in one compact cabinet. All for just $6995.* A complete desk top DP center.

For small business applications, the VDP-80 places a stand-alone computer at your fingertips. And, our full line of add-on peripherals assures that the system can be expanded as your needs do.

For the large business user, with an existing central mainframe, the VDP-80 is the ultimate remote processor. You have the advantage of powerful local processing capability, plus the epitome in cost-effectiveness for implementing a distributed data communications network.

Take a close look at the following features. Then you'll know why we call our VDP-80 the desk top DP center.

a Powerful, High-Speed, Central Processor. 3mHz Intel 8085 microprocessor. 32K or 64K RAM memory. Parallel and serial I/O. Asynch, synch, and bisynch communications. Programmable baud rates (.05-56 KB).

□ Megabyte Mass Storage. PerSci dual floppy, double density disk drives standard. One million byte storage capacity. Three dual floppy drives can be added-on providing 4 million bytes of on-line storage.

n Drives, Printers, Plotters, Terminals, Modems and Tape Drives. Supports up to six terminals or modems, and four tape drives. Drives plotters, serial printers and line printers (up to 300 1pm).

IMSAI Manufacturing Corporation

14860 Wicks Boulevard

San Leandro, CA 94577

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

Circle 175 on inquiry card.

□ 12" CRT, 24x80 Field, Memory-Mapped, EPROM Controlled Font. Character and line insert/delete allows fast program correction and text editing. Inverse video and programmable field allows highlighting or enlarging graphic information display. Titled fields protect information blocks from being written over accidentally. EPROM controlled font (up to 256 different characters) allows foreign language and special purpose character forms. Video board includes 4K memory-mapped refresh RAM.

D Alphanumeric Intelligent Keyboard. 62-pad main keyboard. Programmable 12-pad control keyboard. Standard typewriter and calculator keyboard layouts. N-key rollover reduces operator error during high-speed data entry.

□ Commercial BASIC, FORTRAN IV, IMDOS Software. Built-in ROM monitor allows extensive debugging and diagnostics. BASIC, interactive or compiler version. FORTRAN IV, Level 2 Ansi compiler. IMDOSIMSAI's multi-disk operating system.

Distributed processing, financial reporting and analysis, word processing, whatever your application, the VDP-80 is your answer.

Visit your dealer for information, or dial (415) 483-2093 and we'll tell you how you can put our $6,995 DP Center on your desk top. When it comes to small business computers, Just Ask IMSAI.

•Base price VDP-80/1000 $6,995, with 32K RAM memory and dual double density floppy disk drive. U.S. Domestic Price Only. Features and prices subject to change without notice.

The Standard of Excellence in Microcomputer Systems

IMSAI EUROPE

Europa Terrassen

8 Rue Jean Engling

Dommeldange, Luxembourg 43-67-46

Telex 1428

BYTE September 1978 11

Photo 4: A throng of people attends the Micro Mouse Maze heat being run by James Hamblen's large economy size "mouse," shown, which traversed the maze in 4:32:28 minutes — the second best time for the show.

Photo 5: Compucolor Model 3 with optional keyboard displaying some unseasonal color graphics. The unit is undoubtedly one of the most cost effective full color graphics systems on the consumer market. Only 117 more shopping days left.

Photo 6: Color expansion board for the RCA Cosmac VIP computer. The board costs $89 and generates eight colors as well as musical tones.

Photo 7: Homebrew 3 voice computer controlled music synthesizer built by John Pratt and Don Shertz of Monterey CA.

m

* BUM ^ m

r

contents at that address. In a content addressable memory, the data being sought is presented to the memory, and the memory returns the address of that data (or a suitable code if the data cannot be found.)

The UCSD Pascal Project people Were on hand with some impressive graphics displays generated using the Pascal language, and John Pratt and Don Shertz of Monterey CA displayed their homebrew computer music synthesizer which sounded very good.

Mary Ann Dugannc and Hal Glicksman displayed a program designed to help Mary's 7 year old son John who has cerebral palsy. Two widely spaced keys on the keyboard are activated by John's fists to move a cursor on a screen and spell out words. For more information, write Hal Glicksman, 76 Market St, Venice CA 90291.

The first entries competed in the amazing Micro Mouse Maze contest, cosponsored by IEEE Computer and Spectrum magazines. The object was to design a self-powered electronic "mouse" that could solve a maze in the fastest possible time. The sponsors of the contest were amazed (pun intended) at the response to the contest call: over 6000 people wrote for contest kits. Maze trials will be conducted at various computer shows over the next two years before a winner is declared.

These are just some of the highlights of a tremendous show. Next year the NCC will be in New York City. If attendance figures continue to climb at this rate, they'll have to hold the show in Madison Square Garden."

12 September 1978uBYTE Publications Inc

"Our goal was to produce 100% reliable business programs/'

-nai>

"eFe«EM

CE IVIAis,

OA£_

&&

&**>

flCCOUflTS RCCClUMMu*

REFERENCE MANUAl

Rwwvubk:

^

*£>*>

"What do we mean by reliable programs? Three things: good program design, documentation, and full support.

DESIGN Good program design meets a wide variety of customer needs without reprogramming.

Keith Parsons, President

Alan Cooper, VP, Systems Development

Circle 351 on inquiry card.

Our programs are comprehensive yet retain their flexibility. They allow convenient backup, are easy to use and have been thoroughly tested and field proven.

DOCUMENTATION We consider the quality of the documentation to be as important as the programs themselves. That's why our manuals are clear, concise and complete.

SUPPORT And when it comes to support we're second to none. We release periodic updates, answer your questions and are available to provide technical assistance. Now that's reliable." Our growing Business Systems series currently includes: GENERAL LEDGER, ACCOUNTS RECEIVABLE, NAD (Name and Address File system), QSORT (full disk sort/merge), and CBASIC (a powerful business Basic). For details, contact our sales manager, Richard Ellman.

Structured Sy/tem/ Croup

5615 KALES AVE. DEPT. B6 OAKLAND, CA 94618 (415)547-1567

All systems are compatible with any 7. 80 or 8080 CP/M,M system.

Why Apple! st selling pei

h the world's tonal computer.

'hich personal computer will be most enjoyable and rewarding for you? Since we delivered our first Apple® II in April, 1977, more people have chosen our computer than all other personal computers combined. Here are the reasons Apple has become such an overwhelming favorite.

Apple is a fully tested and assembled mainframe computer. You won't need to spend weeks and months in assembly. Just take an Apple home, plug it in, hook up your color TV* and any cassette tape deck—and the fun begins.

To ensure that the fun never stops, and to keep Apple working hard, we've spent the last year expanding the Apple system. There are new peripherals, new software, and the Apple II Basic Programming Manual. And wait till you see the Apple magazine to keep

owners on top of what's new.

Apple is so powerful and easy to use that you'll find dozens of applications. There are Apples in major universities, helping teach computer skills. There are Apples in the office, where they're being programmed to control inventories, chart stocks and balance the books. And there are Apples at home, where they can help manage the family budget, control your home's environment, teach arithmetic and foreign languages and, of course, enable you to create hundreds of sound and action video games.

When you buy an Apple II you're investing in the leading edge of technology. Apple was the first computer to come with BASIC in ROM, for example. And the first computer with up to 48K bytes RAM on one board, using advanced, high density 16K devices. We're working to keep Apple the most up-to-date personal computer money can buy. Apple II delivers the features you need to enjoy the real

satisfaction a personal computer can bring, today and in the future.

15 colors & hi-resolution graphics, too.

Don't settle for a black and white display! Connect your Apple to a color TV and BASIC gives you instant command of three display modes: Text, 40h x 48v Color-graphics in 15 colors, and a 280h x 192v High Resolution array that lets you plot graphs and compose 3-D images. Apple gives you the added capability of combining text and graphics, too.

Back to basics, and assembly language too.

Apple speaks three languages: fast integer BASIC, floating point BASIC for scientific and financial applications, and 6502 assembly language. That's maximum programming flexibility. And, to preserve user's space, both integer BASIC and monitor are permanently stored in 8K bytes of ROM, so you have an easy-to-use, universal language instantly available. BASIC gives you graphic commands: COLOR=, VLIN, HLIN, PLOT and SCRN. And direct memory access, with PEEK, POKE and CALL commands.

Software: Ours and yours.

There's a growing selection of preprogrammed software from the Apple Software Bank—Basic Finance, Checkbook, High Resolution Graphics and more. Now there's a User Section in our bank, to make it easy for you to obtain programs developed

by other Apple owners. Our Software Bank is your link to Apple owners all over the world.

Alive with the sound of music.

Apple's exclusive built-in speaker delivers the added dimension of sound to your programs. Sound to compose electronic music. Sound to liven up games and educational programs. Sound, so that any program can "talk" back to you. That's an example of Apple's "people compatible" design. Another is its light, durable injection-molded case, so you can take Apple with you. And the professional quality, typewriter-style keyboard has n-key rollover, for fast, error-free operator interaction.

Apple is the proven computer.

Apple is a state-of-the-art single board computer, with advanced LSI design to keep component count to a minimum. That makes it more reliable. If glitches do occur, the fully socketed board and built-in diagnostics simplify troubleshooting. In fact, on our assembly line, we use Apples to test new Apples.

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

*In California, call 408/996-1010.

Apple peripherals are smart peripherals.

Watch the far right column of this ad each month for the latest in our growing family of peripherals. We call them "intelligent interfaces." They're smart peripherals, so you can plug them in and run them from BASIC without having to develop custom software. No other personal computer comes close to Apple's expandability. In addition to the built-in video interface, cassette I/O, and four A/D inputs with two continuously variable game paddles, Apple has eight peripheral slots, three TTL inputs and four TTL outputs. Plus a powerful, state-of-the-art switching power supply that can drive all your Apple peripherals.

Available now.

Apple is in stock and ready for delivery at a store near you. Call us for the dealer nearest you. Or, for more details and a copy of our "Consumer's Guide to Personal Computers," call

800/538-9696** or write Apple Computer, Inc., 10260 Bandley Drive, Cupertino, CA 95014.

nquiry card.

■gcippkz computer

Programming is a snap! I'm halfway through Apple's BASIC manual and already I've programmed my own space wars game.

Those math programs I wrote last week-ljust rewrote them using Apple's mini-assembler and got them

to run a hundred times faster.

New from Apple.

Introducing Disk IP: instant access to your files.

Our newest peripheral is Disk II, a high-density 5W floppy disk drive for fast, lowcost data retrieval. It's perfect for storing large bodies of data such as household finances, address files and inventories; you can find any record in just half a second. No more searching through stacks of cassettes; with a few keystrokes, your system will load, store and run any file by name.

Disk II consists of

interface cards and fourteen drives, for control of nearly 1.6 megabytes of data, with no expansion chassis. The combination of ROM-based bootstrap loader and an operating system in RAM provides complete disk handling capability, including these special features:

• Soft sectored • Random or sequential file access • Program chaining capability

• Universal DOS command processor works with existing languages and monitor

• Full disk capability in systems with as little as 16K RAM • Storage capacity: 113 kilobytes/diskette.

See Disk II now at your Apple dealer. Sold complete with controller and DOS at $495.'

Peripherals in stock

Hobby Board (A2B0001X), Parallel Printer Interface (A2B0002X), Communication Interface (A2B0003X), Disk II (A2M0004X).

Coming soon

High speed Serial Interface, Printer II, Printer IIA, Monitor II, Modem IIA.

' Price subject to change without notice.

Circle 15 on inquiry card.

Apple's smart peripherals make

expansion easy. Just plug 'em in and

they're ready to run. I've already

added two disks, a printer and the

communications card.

A Solid State Keyboard as Modem as Your Computer

Solid state electronics has moved the computer quickly from the business world into personal uses. Meanwhile, computer keyboards have hardly moved at all.

Now TASA introduces a keyboard as modern as your computer. Don't confuse it with ordinary flex switches. It is fully solid state and self-contained, ready to plug in and use. Since it has no mechanical moving parts, it responds quickly to your touch. And it provides full ASCII coding in TASA's exclusive color-keyed layout that makes it easier to say what you want to say to your computer.

This is the TASA Micro Proximity Keyboard, and it sells for only $49.95. Despite the price, CMOS/LSI integrated circuits make it totally reliable inside. With the sensors behind a shield of polycarbonate —the most rugged plastic ever developed—it is also durable and reliable outside.

The TASA Keyboard contains all the features you would expect in a professional keyboard—shift, shift lock, control functions, and a normal typewriter format.

If you're tired of costly mechanical keyboards and kits you have to assemble, bring your computer up to date the easy way. Plug in a TASA Keyboard. It will never come between you and your computer.

the

1

Micro Proximity Keyboard

$49

95

The TASA Keyboard

Features: D 51 Keys, with entire 128 position ASCII code output.

□ All keys identified as to Unshift, Shift and Control outputs.

□ Full 8-bit ASCII output with selectable positive or negative parity.

□ Single power supply, 12.5 20V unregulated.

□ Output TTL, DTL and CMOScompatible.

□ Full solid state design with no moving parts.

□ Standard PC edge connecter.

D Use on any flat surface, or with D Optional plastic support stand (as shown)

Touch Activated Switch Arrays, Inc. 2346 Walsh Avenue, Santa Clara California 95050 (408) 247-2301

NAME

ADDRESS

CITY

STATE

ZIP

Enclosed is my check for $ to cover:

- TASA Keyboards @ $49.95— $.

. Optional stands @ $12.00— $.

Shipping and handling

charge at $5.00

per keyboard— $.

SUBTOTAL—$.

Sales Tax, 6%—$ (California residents only)

TOTAL ENCLOSED $

9/78

Price subject to change without notice

Circle 363 on inquiry card.

WANTED: A RANDOM NUMBER CIRCUIT

Writing a really good pseudorandom number generator is not an easy thing to do; Knuth devoted half a volume to the process. Also, if you base a computer game on a pseudorandom number generator, you have the awkward problem of supplying a seed for each game. For these reasons, I would like a way of getting truly random numbers into a microprocessor. One way to do this is to have the computer increment a counter while waiting for the user to enter something. If the computer is fast enough, the low order bits of the counter will be random. However, this method is not good for generating large numbers of random numbers, since the user must be consulted for each one. What I really want is a circuit which generates random bits. I've heard that such circuits exist, based on something called "noisy" diodes. Where can I get details?

Scott D Johnson

241 Linden Av

Ithaca NY 14850

Certain processors, like the Zilog Z-80, have methods of apparently forming a random seed number. Since the hidden refresh counter for dynamic memory is always in operation it can be paged whenever a seed for a pseudorandom number generator is required. Within certain constraints it may also be possible to use a series of these numbers as pseudorandom numbers.

WHAT A SMALL COMPUTER CAN

DO FOR THE MULTIPLY

HANDICAPPED

Being extremely green at this computer game and having no hardware experience (come to think of it no experience whatever) I have only had my Apple about three weeks, but I have a glimpse of the tremendous possibilities now open to me.

Since breaking my neck whilst on National Service in Germany, I've been able to move my head, left, right and slightly backwards and forwards and that's my lot. If anyone tries lying on the floor on his back, using the above movements and tries writing his name with a pen in his mouth (holding a pad above) they will quickly realise there's not a big variety of things someone in my position can do.

Now imagine the same person with the keyboard of a computer in front of him you find the limits go up tenfold.

I know there are machines like "Possom" issued in certain cases by the UK government. It will connect the disabled to TV telephone, it will open doors and curtains, and work a typewriter, about a dozen functions and it costs between £1,400 and £1,600 depending on the number of functions.

The processor I have is an "Apple II" 16 K and because I have to work with a stick in my mouth, the shift and control keys have had to be modified so that they work like a typewriter and use two movements to lock and release.

The Apple has opened up a new world I didn't know existed. It now makes jobs possible, the design and colour graphics and all the games (and don't knock the games, remember your capabilities while lying on the floor) and all this at a touch with a stick, and at costs comparable with "Possom."

All I have to do now is buckle down and do a lot of studying and practicing.

I hope this gives some of your readers a glimpse of what a computer could do for the disabled and severely disabled. Also wonder if they have the same problem I have of doing a bit more, and a bit more to find it's 3 AM, or later, and that you have to force yourself to turn that switch off.

Charles Smith

222 West Ct

The Thistle Foundation

Edinburgh EH16 4EB

SCOTLAND

SOME NOTES FROM JAPAN

You may be interested in details of two recent Tokyo shows. At the Business Machines Show Sharp featured a new programmable calculator, the PC1300. This features magnetic card program storage, alphanumeric printer and display. It has 26 memories (A thru Z), program size is up to "256 steps," two levels of subroutine nesting are allowed, size is 44 by 123 by 220.5 mm (1.7 by 4.8 by 8.7 inches), weight is 680 grams (8 ounces). Numeric format is 10 digit mantissa, 2 digit exponent. Display scrolling (programmed?) was demonstrated at the show. Display and printer are both 16 characters wide.

Continued on page 66

September 1978 © BYTE Publications Inc

17

Considering a Microcomputer?

Be Sure to Check Out the Product Offerings of the World's Largest Full Line Microcomputer Company.

All Ohio Scientific machines come with microcomputing's fastest full feature BASIC-in-ROM or on-Disk for instant use.

Challenger I Series

Economical computer systems that talk in BASIC. Ideal for hobbyists, students, education and the home.

Superboard II — World's first complete system on a board including keyboard, video display, audio cassette, BASIC-in-ROM and up to 8K RAM Challenger IP — Fully packaged Superboard II with

power supply Challenger IP Disk — Complete mini-floppy system expandable to 32K RAM

Challenger IIP Series

Ultra high performance BUS oriented microcomputers for personal, educational, research and small business use. C2-4P — The professional portable C2-8P — The world's most expandable personal machine

for business or research applications C2-4P Disk — The ultimate portable C2-8P Single Disk — Ideal for education, advanced

personal users, etc. C2-8P Dual Disk — Most cost effective small

business system

Challenger II Serial Interface Series

Same great features as Challenger IIP Series for those who have serial terminals: small business, education, industry. C2-0—Great starter for users with a terminal C2-1 — Great timeshare user accessory; cuts costs

by running simple BASIC programs locally C2-8S— Highly expandable serial machine, can add disks, etc.

Challenger III The Ultimate in Small Computers

The unique three processor system for demanding business, education, research and industrial development applications.

Minimum Configuration

Base

Price

4K RAM $ 279

4KRAM $ 349

16KRAM $1190

4KRAM 4KRAM

16KRAM 16KRAM

598 799

$1464 $1738

32K RAM $2597

4KRAM 4KRAM

298 498

4KRAM $ 545

32 K RAM dual floppys

32K RAM dual floppys

48K RAM dual floppys

48K RAM dual floppys

$3590

$3590

$5090

$11,090

C3-S1 — World's most popular 8" floppy based

microcomputer C3-OEM — Single package high volume user version

of C3-S1 C3-A — Rack mounted multi-user business system

directly expandabe to C3-B C3-B — 74 million byte Winchester disk based system

World's most powerful microcomputer

OHIO SCIENTIFIC also offers you the broadest line of expansion accessories and the largest selection of affordable software!

Compare the closest Ohio Scientific Model to any other unit you are con sidering. Compare the performance, real expansion ability, software and price, and you will see why we have become the world's largest full line microcomputer company.

I'm interested in OSI Computers. Send me information on:

□ Personal Computers □ Small Business Computers

□ Educational Systems □ Industrial Development Systems

□ I'm enclosing $1.00 for your 64-page small computer buyer's guide.

Ohio residents add 4% tax.

Name

Address

City

State _

-Zip

OHIO SCIENTIFIC

1333 S. Chillicothe Road

Aurora, Ohio 44202

(216) 562-3101

Phone

Thi

C2-4P

The Professional Portable by Ohio Scientific

ri.!t.-.i:.»ii,t!li'i.

VmtlUW.-r.nUM 41

t*< ii ww* <onv«wij«.iiiHo.i», U 4W1HI '« •* •■"•ft." ii fr«mtl-t.l WtlMtl IU

u tl»t» 40 •*>'*•*'

•war. +.«!,-. MIW

wiscnmnc

II you • • -I In »■■ ulif t high p«r

I3tm»nct ptrirjntl compultr which c*nt>» -■< a ■■>■ .

lull* ••cmrjtd lo imjinlramaclMi micro- •■■■"■■■■■

»»t»m. cenildn Ihi CJ-8P, " "•»*«'

UBSCNWcanwHcwl-Knott OnivWOl

TheC3-B

yOhc>Sr*

iHfc

Thi world's rnwl povnrtut TnlcroLOMfHitsT lyitm li fir mora ■hHHM

thin you miy think:

n.moDI.. inclining i MKlZMMd

■ iDKnfnigiiKihUitniitui'clUW

' Hiq-i OO-illty a~ ItoOM't p'e>*» piofiiim ana 0«u mcbinlv liom

I Con|i>e!rtf B>«gullt I— £tMnl

"WH <n th» IS1 t [.mill [j«e"ri.-»irBOi51pU «■>«*«• *

w.lurrww ui in*(Uia lin TlH) -<uai UM ffw CD ! » In J it It •M

•JlKbHlr '»:01tu4*a co"|-Dll.r BOO J»a.c»l»»ft.0ll IfllXlliaKOU

qIvm t-i,, Itu! iui»

I Ui-rclly

IH>-Mt>)lr I o< Jut /UK ,.' RAM

18

BYTE September 1978

C2-8P

An exceptional value in personal computing

fell

jiwm ntn.m

'I «»ri

.(£»-«• mil, ill Wirt

■r4

If you are interested in an ultra high performance personal computer which can be fully expanded to a mainframe class microcomputer system, consider the C2-8P.

Features:

■ Minimally equipped with 8K BASIC-in-ROM, 4K RAM, machine code monitor, video display interface, cassette interface and keyboard with upper and lower case characters. (Video monitor and cassette recorder optional extras.)

I The fastest full feature BASIC in the microcomputer industry.

; Boasts the most sophisticated video display in personal computing with 32 rows by 64 columns of upper case, lower case, graphics and gaming elements for an effective screen resolution of 256 by 512 elements.

! The CPU's direct screen access, coupled with its ultra fast BASIC and high resolution, makes the C2-8P capable of spectacular video animation directly in BASIC. ■ Fully assembled and tested: 8 slot mainframe class microcomputer, six open slots for expansion. Supports Ohio Scientific's ultra low cost dynamic RAM boards or ultra high reliability static RAMs.

The C2-8P can support more in-case expansion than its four nearest competitors combined.

The C2-8P is the only BASIC-in-ROM computer that can be directly expanded today to a complete business system with line printer and 8" floppy disk drives.

It is the only personal class computer that can be expanded to support a Hard Disk! (CD-74)

The C2-8P is the fastest in BASIC, has the most sophisticated video display and is the most internally expandable personal computer. Therefore, it should be the highest priced?

Wrong: The C2-8P is priced considerably below several models advertised in this magazine. The C2-8P is just one of several models of personal computers by Ohio Scientific, the company that first offered full feature BASIC-in-ROM personal computers.

For more information, contact your local Ohio Scientific dealer or the factory at (216) 562-3101.

1333 S. Chillicothe Road • Aurora, Ohio 44202

Circle 290 on inquiry card.

BYTE September 1978

19

The OSI48 Line BUS

SCIENTIFIC offers the broadest line of BUS compatible microcomputer boards. This line includes several new and exciting products which are not available anywhere else, such as a three processor CPU board, dual port memories and a multiprocessing CPU expander,

FIC has delivered approximately 100,000 boards based on our 48 line BUS and is now delivering thousands per week in 17 models of computers and dozens of accessories.

OHIO SCSENTIFIC'S BUS design incorporates high band width, high density and mass production technology to achieve a truly remarkable performance to cost ratio.

Here is just a sampling of the many OSI 48 BUS compatible boards available for the systems user, prototyper, OEM user and experimenter.

Power Supply

Board & Doc.

Assembled Product |

Product Description

Special Features

Voltages Req'd

Part#

Price

Part*

Price

CPU

• Challenger II CPU BASIC-in-ROM

• Can use four 2716 EPROMS

+ 5/-9

500

39.00

C2-0

298.00

6502 based CPU with serial I/O

instead of BASIC or can be

4K RAM. machine code monitor

configured for disk

• Challenger III CPU has 6502A. 6800

• 1 megabyte memory man

+ 5/-9

510

NA

C3-0

490.00

and Z80 micros. RS-232 serial port.

ager, sollware program

machine code monitor

mable vectors

• 560Z multiprocessing CPU

• Runs concurrently with

+ 5/-9

560Z

125.00

NA

NA

expander runs PDP-8. Z80 and

another OSI CPU

8080 code

RAM

• 16K static RAM (Ultra low power)

• 215NS access time automatic power down standby mode

+ 5/+12/-9

520

35.00

CM-3

498.00

• 8K static RAM (low cost)

• Expandable to 16K

+ 5

—

—

CM-7

198.00

• 16K static RAM (low cost)

• Can be expanded to dual port operation

+ 5

525

35.00

CM-8

339.00

• 24K static RAM (high density)

• 20 address bits

+ 5

527

35.00

CM-9

NA

• 4K static RAM (2102 based)

• Can be populated for 4Kby 12 bits

+ 5

420

35.00

CM-2

125.00

• 16K dynamic (ultra low cost)

• Uses 4027 RAMS

+ 5/4-12/-9

530

NA

CM-4

249.00

• 32K dynamic

• 20 address bits

+ 5/ + 12/-9

530

NA

CM-5

698.00

• 48K dynamic (high density) EPROM Boards

• 8K 6834 EPROM board

• 20 address bils

+ 5/ +127-9

530

NA

CM-6

990.00

• 16 line parallel port and on

+ 5/-9

450

35.00

NA

NA

board programmer

• 4K 1702A EPROM board

• 16 line parallel port

+ 5/-9

455

35.00

NA

NA

I/O Boards

• Audio Cassette interlace Kansas

• Expandable lo CA-7C

+ 5/-9

430

35.00

CA-6C

99.00

City standard 300 baud

• RS-232 port board

• Expandable to CA-7S

+ 5/-9

430

35.00

CA-6S

99.00

• Combination audio cassette two

• Also Features 8 parallel

+ 5/-9

430

35.00

CA-7C

399.00

8 bit DACs. one fast A/D and 8

I/O lines

channel input mux

• Combination RS-232 two 8 bit DACs.

• Also features 8 parallel

+ 5/-9

430

35.00

CA-7S

399.00

one last A/D and 8 channel

I/O lines

input mux

• 32 by 32 character video display

• Keyboard input port

+ 5/-9

440

35.00

NA

NA

interface

• 32 by 64 character video display

• Upper/lower case graphics

+ 5

540

NA

CA-11

249.00

interface

and keyboard port

• 16 port serial board RS-232 and/or

• 75 10 19.200 baud and

+ 5/-9

550

35.00

CA-10X

200.00

high speed synchronous

250K and 500K bit rates individually slrappable

to 900.00

• Parallel (Centronics) Line

• With cable

+ 5/-9

470

NA

CA-9

249.00

Printer Interface

• 96 Line Remote Parallel Interlace

• Interface "Front End" remotable via 16 pin ribbon cable

+ 5

—

CA-12

249.00

• Voice I/O board with Votrax'

• Fully assembled voice

+ 5/-9

CA-14

525.00

module

output, experimenlal

DISKS

voice input

• Single 8" floppy disk. 250

• Complete with operating

+ 5/-9

470

NA

CD-1P

790.00

Kbytes storage

system software and disk BASIC

• Dual 8" floppy disk. 500

• Complete with operating

+ 5/-9

470

NA

CD-2P

1390.00

Kbytes storage

system software and disk BASIC

• 74 Million byte Winchester disk

• Complete with OS-65U

+ 5/-9

—

CD-74

6000.00

and interlace

operating syslem

OTHER

• 8 slot backplane board with

• Can be daisy-chained

_

580

39.00

NA

NA

connectors

to n-slots

• Prototyping board

• Handles over 40 16 pin IC's

_

495

29.00

_

• Card Extender

• With connectors

—

498

29.00

—

—

For more information, contact your local OHIO SCIENTIFIC Dealer or the factory at (216) 562-3101

OHIO SCIENTIFIC

1333 S. Chillicothe Road • Aurora, Ohio 44202

20 BYTE September 1978

TheC3-B

by Ohio Scientific

The world's most powerful

microcomputer system

is fer more affordable

than you may think:

STANDARD FEATURES:

■ 74 million byte Winchester technology disk drive yields mainframe class file access speeds and capacity.

■ High level data file software makes high performance file structures like multikey ISAM easy to use.

Triple processor CPU with 6502A, 6800 and Z-80 gives the programmer the best of all worlds in performance and versatility.

The included 6502A based extended disk BASIC by Microsoft out-benchmarks every micro available, including 4 MHz Z-80 and LSI-11 with extended arithmetic.

48K of high reliability static RAM is standard.

High density 8" floppys provide program and data mobility from machine to machine.

■ Completely integrated mechanical system with UL-recognized power supplies; continuous duty cycle cooling; modular construction and rack slide mounted subassemblies.

■ Based on a 16 slot Bus-oriented architecture with only 7 slots used in the base machine.

■ Directly expandable to 300 megabytes of disk, 768K of RAM in 16 partitions, 16 communication ports, plus console and three printers.

C3-B's have been in production since February, 1978, and are available now on very reasonable delivery schedules.

The C3-B was designed by Ohio Scientific as the state of art in

Circle 290 on inquiry card.

small business computing. The system places its power where it's needed in the small business environment; in the data files. The C3-B's advanced Winchester technology disk, coupled with its smart controller and dedicated high speed memory channel, gives the C3-B data file performance comparable with today's most powerful maxi-computers.

Yet, the C3-B costs only slightly more than many floppy only computers but offers at least a thousand times performance improvement over such machines (50 times storage capacity multiplied by 20 times access speed improvement).

But what if your business client cannot justify starting with a C3-B?

Then start with Ohio Scientific's inexpensive C3-S1 floppy disk based system running OS-65U. When he is ready, add the CD-74 big disk and directly transfer programs and files from floppy to big disk with NO modifications.

That's upward expandability!

* Rack as shown above complete with 74 megabyte disk, dual floppys, 48K of static RAM, OS-65U operating system and one CRT terminal under $13,000.

Multiple terminal systems with printers and applications software are priced in the mid-20's.

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

BYTE September 1978 21

Jeffrey L Posdamer Dept of Computer Science SUNY at Buffalo Ridge Lea Rd Amherst NY 14226

The Mathematics of

Computer graphics by Joel Hungerford

Graphic assistance by Vivian Day

Computer Graphics

The personal computing literature is filled with material describing the hardware of microprocessors using video graphics. A great deal has also been written about specific graphic applications including video games, computer art, etc. Computer graphics is, however, a powerful tool that requires for its use an understanding of a set of underlying computingand mathematical principles. The purpose of this article is to present some of these principles in the context of personal computing.

The screen of a video display is essentially a space with two dimensions. While a number of schemes exist for dealing with twodimensional spaces, the most common is

Cartesian coordinates. Each point in the space is represented by a pair of numbers corresponding to its distance from two axes at right angles to each other. On a video display this pair of numbers corresponds to the scan line number and picture element within the scan line. The notation [x y] will be used here to denote the element number and scan line number. Due to the nature of displays, the values for x and y are integers of limited range. Each pair of values corresponds to a unique point in the display space. For many problems in which computer graphics is useful, a second space is used. This is the problem space (see figure 1). This corresponds to the description of the problem geometry as opposed to the screen. The representation [u v] will be used here for problem spaces. For Space War its dimensions may be measured in parsecs, for a tennis simulation it may be measured in inches, etc. Problem spaces may be integer or real,

Figure i: Problem space versus display space. The screen of a video display is essentially a space with two dimensions, commonly addressed by integer Cartesian coordinates. In creating graphics images, it is often useful to perform calculations in what is called a problem space and later map onto the display space. For instance, if you are creating a game of action football for your graphics display, it may be more useful to perform the calculations with u and v coordinates measured in yards (your problem space) and later convert to the display space with its integer coordinates.

Y MIN

DISPLAY SPACE

22 September 1978 © BYTE Publications Inc

m^^mmm

Hcnids ™ on microprocessor experience from day one. The Instructor 50*

Learning by doing is still the best method of education. And when it comes to learning about the world of microcomputers, you won't find a better method than the Instructor 50.

It's the fast, ready-to-use learning device that immediately provides "hands on" experience for gaining microprocessor knowledge—in your home, office, or in the classroom.

Superior to other microprocessor learning aids, the Instructor 50 is a COMPLETE package—including a built-in power supply (50/60 Hz), an LED prompting display, and both functional and hexadecimal keyboards. You also get S-100 compatibility for adding memory and other peripherals. This lets you expand the machine's capability—and your microprocessing applications knowledge. Moreover, you can easily build a program library by recording your own audio cassettes.

The Instructor 50 comes complete with a Users' Guide, along with step-by-step instructions for those with no previous microprocessor experience.

Signetics offers one of the broadest choices of microprocessors in the industry. This knowledge stands behind the Instructor 50. When you need to learn about microprocessors, start with Signetics. Start with the Instructor 50. Send for your descriptive brochure today.

We can help you understand microprocessors.

SiQMItiCS

a subsidiary of US. Philips Corporation

Signetics Corporation

811 East Arques A/enue

Sunnyvale, California 94086

Telephone 408/7397700

Circle 317 on inquiry card.

BYTE Sepicmber 1978 23

bounded or unbounded and are defined by the nature of the problem, not the use of computer graphics as a tool.

Naturally, there must be a way to convert from one space to the other when both are used. If

xsmin = left screen value

xsmax = right screen value

ysmin = bottom screen value

ysmax = top screen value

upmin = minimum problem space u

coordinate value upmax = maximum problem space u

coordinate value vpmin = minimum problem space v

coordinate value vpmax = maximum problem space v

coordinate value

and

then the point [u v] in problem space maps into a point [x y] in screen space as follows:

u'"Pm//7 . ) X (xsmax-xsmin) +

upmax-upmin {xsmin)

y =

—£■—-——) X {ysmax-ysmin) +

vpmax-vpmm {ysmin

In most cases, operating on individual points is only a beginning. Generally, techniques are needed to deal with line segments that connect points to define figures and regions.

If two points Po=Ixoyof anc' p1 = [x] yi] are to be connected by a line segment, it is often necessary to compute every point on the connecting line (see figure 2). A traditional representation of the straight line is of the form:

y = mx + b

where

V1-V0 :^-^andb = y0-(x0X m).

M"A0

To compute the series of points that would represent the line segment connecting Pq and P-|, a program would start with the point at (xg,yo) add m X A x to yg and A x to xq enough times to reach x-| and y-| (A x means a small increment of x). It is important to realize that m, b and the intermediate values of x and y may take on noninteger values. For each intermediate point, the rounded values of x and y are used to designate a picture element to be displayed as part of the line's representation.

An alternative to this scheme is the "parametric" line representation. Here, the mathematical representation of the infinite line that passes through Pq and P-\ is not used.

Figure 2: The straight line, a basic element in many displays. If two points are to be connected by a line segment, in a raster graphic display it is necessary to calculate every point on the connecting line. In the case of a vector display, only the endpoints of the vector need be computed.

Instead, we represent only the points between Pq and Pi:

X = (1—t)XQ + tX- = Xq + tlX-—Xq)

y = d-t)v0 +1 v1 = v0 + ^-Yq)

where t varies from 0 to 1 (x,y) = (xQ,y0)at t = 0 (x,y) - (x1,v1) att = 1

A line similar to the above line is generated, but with simpler, more direct computations.

For more advanced systems, a number of hardware schemes for line generation exist. Since hardware is not the topic of discussion in this article, refer to reference 1 for a discussion of binary rate multipliers, digital differential analyzers and multiplying digital to analog converters.

Another basic graphics element is the polygon. The polygon is a plane figure consisting of all points inside and on the boundary of a simply connected series of straight lines. For our purposes it is more convenient to represent a polygon by a list of its vertices than by a list of the entire set of displayed points. Polygons raise the issue of the differences between video or raster displays and line drawing vector or calligraphic displays.

The line drawing display has been a standard graphics device. It contains hardware to draw lines between points in the screen space. The image is drawn by tracing over each line in the image in the order the lines were specified. Thus, only points on displayed lines are scanned.

The raster display uses a fixed scanning pattern that covers the entire screen. At

24

September 1978 ©BYTE Publications Inc

FULL SIZE FLOPPY DISK $995 COMPLETE!

DISCUS I" full-size floppy disk system is an overnight success ... because it's delivered so complete you can have it running in a single evening.

For just $995, it's a complete memory system. Complete with all hardware and software. Completely assembled. Completely interfaced. And tested as a complete system.

And you can not only solve your memory shortage faster, you can solve it longer . . . because DISCUS I" is a full-size floppy system with 3 times the storage and 5 times the speed of mini-floppies.

Your $995 DISCUS I1" system i includes a Shugart 800R full-size I drive with power supply in a M handsome freestanding cabinet, our 8-drive capacity S-100 controller with on-board buffer and serial interface, all cables and connectors, and all the software you need. Your

software library includes DOS, text editor, 8080 assembler (all integrated in DISK/ATE"), our BASIC-V" advanced virtual disk BASIC able to handle a wide variety of data formats and address up to 2 megabytes and patches for CP/M*. And it's all interfaced to your controller's serial I/O port to avoid

I/O guesswork.

fffiiiiiinin

offer CP/M for just $70, Micro-Soft Extended Disk Basic for just $199 and Micro-Soft Fortran for just $349

k as nice options to add to your library.

I No wonder it's an overnight success!

L See DISCUS I" today at your

local computer shop. Or if

unavailable locally, send your

check or money order direct

to Thinker Toys1" (add $7

for handling; California

l residents add tax). Or call

i (415)524-5317, 10-5 Pacific

\ Time.

'CP/M is a trademark oi Digital Research.

MiianimmMmmu

I If:

-&, 2g

■ h

~'j^y

K J

m •

8" li'Tlti

W

tilt?

".^t ^t1^

i 88

'.;a«: ?.B

11

jf

t 'c-

-<>

J

!f»P3

&n*

m

1 .rv

III

^K??«

s

t^^L RcvB

1 If ft in 1?

:key"l

n

V

=4&~^^

i

m

e Disk Jo«

^fi

flflMHIHNlinHllfMllinnnli

A product of Morrow's Micro-Stuff for

TIfommlk®:? T©w

irr-lo ORC* i-.r. inmiirv rarH ^^^^

1201 10th Street Berkeley, CA 94710

Circle 255 on inquiry card

screen positions which are parts of the displayed image, the scanning beam is intensified, causing images to appear on the screen. On a line drawing display, polygons can be represented by their boundaries; on a raster display they can be "colored in."

Displaying Polygons

A polygon is represented by an ordered set of points: (x0,y0), (xi,y|), . . . (xn,yn). An alternative notation for this collection is a matrix:

M

X1V1

y1Vn

nn1 mn2

Each element of the matrix is a number, specified by its row index and column index. In memory, arrays are typically stored in consecutive locations in either row or column order. It is necessary to calculate an element address from the row and column indices of a particular element in order to access it.

Given the vertices, how can the displayed interior points be calculated? Let us assume (as is usually the case) that the display scans from top to bottom and from left to right. For each line segment in the polygon, determine the vertex with the maximum y value and sort the edges in descending order by the maximum y value. Every vertex in the polygon is now represented in two places: as the beginning and end of two lines. Beginning with the topmost vertex, a line generation algorithm is used on any line that crosses the current y value. Because of the sort that was performed, line segments which begin lower on the screen may be ignored. Since both ends of the line segment are present, a line is dropped from the computation when its "lower" end is passed. For every line passing through the current y value, the x value has been calculated. The points generated are now sorted by x value.

Starting with the minimum x value, fill in picture elements on the scan line until the next value is encountered; leave empty picture elements until another picture element (if any) is encountered. As the program scans from left to right, the x values occupying odd numbered positions (1st, 3rd. . .) in the x-sorted list cause picture element insertion to begin; the even position elements cause picture element insertion to

be superseded. Figure 3 shows how this process can be generalized and applied to an arbitrary plane figure in outline form, ie: a letter "P." This procedure is repeated as the y value is stepped down the screen space for each scan line until the "lowest" vertex is encountered, ending the figure.

Transformations

Now that the basic graphic elements have been defined in terms of points and a set of algorithms which generate lines and arbitrary figures from the points, it is necessary to examine the operations needed to manipulate points to perform useful tasks. There are three basic transformations in two dimensions: translation, rotation, and scaling or magnification.

Translation is the movement of a point or points by an amount in x and an amount in y. The motion is such that neither the shape, size nor orientation is changed. It may be expressed as:

x' = x + changex y' = y + changey

where the changex need not equal changey.

If all of the points associated with a line or figure are translated by an equal amount, the graphic element is translated without change in size, shape or orientation. Figure 4

SCAN LINE

SCAN LINE i

• ODD INTERSECTIONS

• EVEN INTERSECTIONS

Figure 3: Creating a letter P with a raster scanning video display. During each scan line the program creates blanks until it comes to the first line. After this point it creates solid picture elements until it encounters the next line, whereupon it switches back to blanks. The algorithm states that solid picture elements should follow odd numbered line intersections and that blanks should follow even numbered line intersections.

26 September 1978 ©BYTE Publications Inc

NORTH STAR 16K RAM A star from our Horizon

, »• V- ,

aft-afe IN

IN:

iHWUS

B IK} fit •■> "MM "'•'« ! "■ < j^i j ;jj J; . .: . j

1

i

: ,i i

P

■ " •

j : i.i > <

i -1 • i

: »i

i"i$ivi';i?!Ti?:

■ ■

lilllllllllllllllllllllllllllllllllllllllllllllll

""""H.HMMIMM!|||H!II|||HU|MI!!IMI«

The North Star 16K RAM board is a star performer in our HORIZON computer. Just as important, it is the ideal memory for most other S-100 bus systems. No other RAM board can surpass the speed, reliability, and quality features of the North Star 16K RAM at any price.

SPEED—The North Star 16K RAM is the fastest S-100 bus memory board available. No wait states are required, even with a Z80 at 4MHz. And, of course, this outstanding 16K RAM will operate with both 8080 and Z80 processors at 2MHz. Industry standard 200ns dynamic RAM chips are used. Invisible on-board refresh circuitry allows the processor to run at full speed.

RELIABILITY —The North Star 16K RAM is designed to match the same high standards as our MICRO DISK SYSTEM and HORIZON computer. For example, all address and data signals are fully buffered. A parity check option is available with the 16K RAM for applications requiring immediate hardware error detection. If a memory

error occurs, a status flip/flop is set and an interrupt can inform the processor. Or, if preferred, an error status light will go on.

FEATURES —The North Star 16K RAM offers many desirable features. Addressability is switch-selectable to start at any 8K boundary. The board can perform bank switching for special software applications, such as timesharing. Also, bank switching can be used to expand the amount of RAM beyond 64K bytes. Power consumption is minimal — the maximum power requirements are: .6A @ 8V; .4A @ +16V, and .1A @ -16V.

PRICES — $399 kit. $459 assembled, tested and burnedin. Parity option: $39 Kit. $59 assembled, tested and burned-in.

Write for free color catalog or visit your local computer store.

North Star Computers

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

Circle 285 on inquiry card.

BYTE September 1978 27

Figure 4: Translation in the xy plane.

Figure 6: Rotation of vector about the origin.

shows the effect of a translation applied to our arbitrary figure, the letter "P." Rotation is a somewhat different problem. It involves a computation which maintains shape but changes orientation. A rotation will generally leave only one point in the twodimensional space with its position unchanged: the center of rotation. For the sake of simplicity, the rotation computation is developed with the point (0,0) as the center of rotation. The polar coordinate representation is used (see figure 5). Later it will be shown how to rotate about any arbitrary point. The point to be rotated, Prj, is at position (xrj.yo) (see figure 6). This is at a distance r from (0,0) and the line from the origin to P makes an angle of a with the x axis. From trigonometry we know that:

Xq = r cos(a) yQ = r sin(a)

If Pq is rotated about (0,0) by an angle of b to become Pi then

x- = r cos(a+b) y- = r sin(a+b)

but from trigonometry we may substitute

for the sum-of-angles form:

x = r cos(a) cos(b) - r sin(a) sin(b) y. = r cos(a) sin(b) + r sin(a) cos(b)

but from above we get x

_ cos(b) - y sin(b)

Figure 5: Polar coordinate representation of a point in the xy plane.

The last of the basic transformations is scaling or magnification. This involves a change in size without change in orientation. Depending on the definition of shape, it is either unchanged or changed "without distortion." As in rotation, only a single point in the plane is unchanged by a particular scaling transformation and once again, for convenience, the origin [0 0] is left unchanged. The equations:

V1=SV0

will scale x and y by a factor s. The factor may be greater than or less than 1. If a negative value is used for s, then reflection about the origin is performed. If the scale factors for x and y are different, then "stretching" is accomplished. Figure 7 illustrates several scaling transformations applied to the "P" figure seen in several eariier illustrations.

Vectors and Matrices

The use of matrix notation allows simplified extensions and combinations of the basic transformations. A matrix is a rectangular array of numbers identified by row and column numbers. Every row in a particular matrix has the same number of entries, as does every column. The notation A(I,J) refers to the element of matrix A in the Ith row and Jth column. A matrix has a size associated with it, [re], which defines the

28

September 1978 ©BYTE Publications Inc

TUST THOUGHT X*P LET YOU KNOW THAT I'M BACK FROM THE COMPUTER SHOW. THE TERMINAL WE WANT IS THE IQ I20j FROM SOROC (SEE SMAP SHOT). THIS UNIT IS" NOT ONLY SMART LOOKING. BUT HAS ALL THE FEATURES WE NEEP IN THE BASIC PRICE. FOR EXAMPLE: THE IQ IZO INCLUDES NUMERIC KEYPAPS ANP PROTECT FIELPS AS STANPARP^

I LOOKEP AT THE OTHER TERMINALS AS YOU SUGGESTEP, BUT FOUNP THEM TO BE EITHER*PAPER

//

vx

H

TIGERS, OR TOO DUMB FOR OUR CO MSI DERATION

ANYWAY, YOU ASKEP ME TO PECIPE ANP AT ♦ ^5* FOR THE IQ 120, IT WAS THE EASIEST ASSIGNMENT I'VE HAP.

* P.S, l-^^^S/ 5-<V<* $ ¥00 / SO-5**! 4 T50

TECHNOLOGY, INC.

'65 FREEDOMAVE, ANAHEIM r^

■ffl ' Vy2 2 86° Circle 343 on inquiry card.

number of rows and number of columns. For matrices A, B and C each having the same number of rows and columns, the following rules are true:

A = B if A(I,J) = B(I,J) for all elements

A = B+C when A(I,J) = B(I,J) + C(I,J) for all

elements A = B-C when A(I,J) = B(I,J) - C(I,J) for

all elements

While addition and subtraction of matrices follow in fairly simple fashion from scalar (nonmatrix) arithmetic rules, multiplication and operations similar to division are not at all similar. (A scalar is a quantity that is completely specified by a single number, compared with multiple number data constructs, which are vectors and matrices.)

A matrix with only one row is called a row vector. Similarly, a matrix with only one column is called a column vector. The subject of matrix multiplication is first examined with these simplified forms. While

isi > I s = + 1.5

ORIGINAL FIGURE S=l

Figure 7: Scaling an arbitrary figure in the xy plane.

there are two forms of vector multiplication, only the dot product (also called the vectorinner-product) is presented here. Again, using a matrix A (the row vector), B (the column vector) and C (their product) the vector product computation will be described. A vector product can exist only if the number of elements in A and the number of elements in B are equal. If each of these has N elements then

C = A(1,1)X B(1,1) + A(2,1) X B(1,2) . . . + A(N,1) X B(N,1).

This is called the dot product of the two vectors. It is the sum of the pairwise products of their elements. C, the dot product of the two vectors, is a single number (a scalar) not a vector or matrix. For example:

let

A = [1 2 3 4]

3' B= 5 7 11

row vector

column vector

then

AB = C= 1X3 + 2X5 + 3X7+4X11 =78

Now suppose that A and B arc not restricted to one column and one row, respectively. Instead, we let A have size [ta Ca] and B have size [rgCg].The matrix product can only be computed if Ca=i"d: that is, the number of columns in A is equal to the number of rows of B. Two matrices for which this is true are called conformable. C will now have size [ra, eg], inheriting its size from both A and B. Each element in C (which is no longer a scalar) results from the dot product of a row in A with a column in B:

C(I,J)

A(l,1) X B(1,J) +A(l,2) X B(2,J). + A(I,N) X B(N,J)

where

N

KEYBOARD: fully professional. Full 128 A5CII upper 6 lower cose characters with 79 keys including a 16 key numeric pad.

GRAPHICS: 64 pre-defined graphic

chars, and 64 user defined chars.

alternately all 128 graphic chars.

may be user defined. Resolution

240 x 512 points, cursor control,

and 64 chars, by 30 lines.

MEMORY: 4K byte power-on

monitor, 8k byte user RAM, and

8k byte PROM external cartridge

with Microsoft BASIC standard. Cartridges

allow you to change operating systems G languages

For complete information write to: PERSONAL SYSTEMS

Ad Design. Joanne De Vore. Kwik Kopy Printing #215

PS-80

without any modification ro the standard hardware by simply inserting a PROM cartridge in a side slot.

I /0: serial RS232 300/1200 baud port. 8 bit parallel port, dual cassette recorder port at 300/1200 baud. EXPANSION: up to 32 k RAM on board, I /0 to S-100 8 slot extension box for additional memory and any other 5-100 peripheral boards. PRICE: $895.00 (does not include CRT or cassette.) Order by COD.

EDUCATIONAL AND CLUB DISCOUNTS AVAILABLE PERSONAL CONSULTANT AND DEALER INQUIRIES INVITED CONSULTING P.O. Dox 20286 El Cajon. California 92021

30

September 1978©BYTE Publications Inc

Circle 276 on inquiry card.

A COMPLETELY REFURBISHED "SELECTRIC" ASCII TERMINAL FOR THE SMALL BUSINESSMAN OR SERIOUS HOBBYIST.

The AJ 841 I/O Terminal. Now with RS232 interface. Now available from dealers.

Demand for our AJ 841 I/O computer terminal has been great. And now that we've finally added RS 232 interface, it will get even greater. So while you can still order it direct from us, now you can also buy it from dealers around the country.

Off-line use as typewriter

Documentation included

30-day warranty — parts and labor

Mail order shipments to AJ office or direct to you.

The AJ 841 features:

• Choice of Serial RS 232 or parallel interface

• ASCII code

• 14.9 cps printout

• High quality Selectric printing

• Reliable, heavyduty Selectric mechanism

Warranty and service available from your local AJ dealer— "V or from AJ offices in:

Atlanta/Boston/Chicago/Cincinnati/ Cleveland/Columbus/Dallas/ Detroit/Hackensack/Houston/ Los Angeles/New York/Philadelphia/ San Jose/Washington, D.C.

Full warranty information available on request.

Order with coupon—or from your local AJ dealer

For location of your nearest AJ dealer call toll-free: 800/538-9721.

(Calif, residents call 408/263-8520)

HOW TO ORDER DIRECT FROM THE FACTORY

1. Make cashier's check or money order payable to Anderson Jacobson, Inc. and mail to:

Anderson Jacobson, Inc. PERSONAL COMPUTER TERMINAL 521 Charcot Avenue San Jose, CA 95131

2. You will be notified when your unit is ready for shipment. Allow six to eight weeks for delivery.

3. Shipments direct to you require a collect freight charge (FOB San Jose) plus $25 for a special shipping carton. Shipments to nearest AJ office include freight in the $35 handling charge.

4. For warranty or repair service, return unit to local dealer or to designated AJ service location.

Available only in U.S.

CLIP AND MAIL WITH ORDER

Select interface: □ RS 232 @$1195 or □ Parallel @ $1095

Select keyboard: □ EBCD or D Correspondence

□ Ship direct to me (freight collect, FOB San Jose, + $25 box)

□ Ship to AJ office (shipping and handling $35 )

Number of units $

NAME

ADDRESS CITY

Sales tax at delivery location

Shipping and handling $35 each

TOTAL

STATE.

ZIP.

PHONE(

Circle 10 on inquiry card.

BYTE September 1978

31

The LFD-400 is ready to plug in and run

the moment you receive it.

Nothing else to buy! Not even extra memory!

YOU GET:

O The popular Shugart SA 400 minifloppy,u drive. Drive alignment

is double checked by PerCom before shipment. O The drive power supply—fully assembled and tested. © LFD-400 Controller/Interface—plugs into the SS-50 bus •

accommodates three 2708 EPROMs • fully assembled and tested. O MINIDOS™ —the remarkable LFD-400 disk operating system on

a 2708 EPROM • plugs into the LFD-400 Controller card • no

extra memory required • no "booting" needed. © Attractive metal enclosure. © Interconnecting cable—fully assembled and tested. © Two diskettes—one blank, the other containing numerous

software routines including patches for SWTP 8K BASIC and the

TSC Editor/Assembler. © 70-page instruction manual—includes operating instructions,

schematics, service procedures, and the complete listing of

MINIDOS™. © Technical Memo updates—helpful hints which supplement the

manual instructions. ® 90-day limited warranty.

Minifloppy is a trademark of Shugart Associates. MINIDOS is a trademark of PERCOM Data Company. Inc.

The LFD-400 is readily expanded to either two or three drives. Write for details. Send for our free brochure for more information about the LFD-400 Floppy Disk System and LFD-400 software.

To save you money, the LFD-400 Floppy Disk System is available only from PerCom. Because of the special pricing, group and dealer discounts are not available.

MC and VISA welcome. COD orders require 30% deposit plus 5% handling charge. Allow three extra weeks if payment is by personal check. The LFD-400 Floppy Disk System is available immediately. Allow three weeks for testing and transportation. Texas residents add 5% sales tax.

PEflGOM

PERCOM DATA COMPANY, INC.

Dept B 318 BARNES'GARLAND, TX. 75042 (214) 272-3421

PERCOM™ 'peripherals for personal computing'

32 September 1978©byte Publications tnc Circle 301 on inquiry card.

Figure 8: Rotation of an arbitrary figure about an arbitrary point.

and where I takes on all integer values from 1 to r^ and J takes on all integer values from 1 to eg. For example:

let

A =

rA = 3

("3 1 4 1"| |_5 9 2 6j

= 2

CB = 4

The number of columns in matrix A is equal to the number of rows in matrix B. In equation form, this means that:

cA = rB = 2

[r c ] = [3 4] c c

Therefore, we can calculate the matrix result C:

1X3+

1X1 +

1X4+

1X1 +

2X5

2X9

2X2

2X6

5X3+

5X1 +

5X4+

5X1 +

7X5

7X9

7X2

7X6

3X3

3X1

3X4

3X1

1X5

1X9

1X2

1X6

"13

19

8

13]

50

68

34

47

4

-6

10

-3

c =

For any matrix M there is a special matrix which, when multiplied by M, yields M. This is called the identity matrix (I). It is similar in role to the value 1 in scalar multiplication. Naturally, the identity matrix must be conformable with a particular M. I is a square

matrix, with zeros everywhere but on the diagonal, where the value 1 is placed. The diagonal is the set of elements where the row index equals the column index. For example, if I and M are both 3 by 3 matrices, then IM = M:

1 o o 1 0 0

M = M

Now let's turn back to rotations, and see how these may be applied to a collection of points describing a figure on the display screen.

Two comments are worth noting at this stage. It is often useful and necessary to apply the same transformation to several points. This occurs when applying a transformation to items such as polygons or more complex collections of points. Additionally, it is useful to combine basic transformations to create more complex transformations.

A collection of points may be represented as a matrix:

Koyo

Recall the basic operations of scaling, rotation and translation:

Scaling (about the origin) X1 = sx x0

V1=SyV0

Rotation (about the origin) x- = x_ cos(b) — yQ sin(b)

'1

x sin(b) + yQ cos(b)

Translation

x - = x +changex V1 = V0 + changey.

If these transformations could be represented as appropriate matrices, they could be applied simultaneously to all points in the collection. Scaling may be represented in matrix form as:

[x'y'] = [xy]

or, for a collection of points:

~xb

Vb"

_

~x0

yo"

s

X

0

x' n

vn

X

n

vn

0

sv_

Rotation through angle b about the origin may be represented as:

cos(b) sin(b)

-sin(b) cos(b)

Translation presents a somewhat more difficult problem. No 2 by 2 transformation matrix can be devised that will transform a group of points by a uniform displacement. An alternative representation of the translation is:

x '- (xH + (y)0 + 1 ■ changex V '= (x)0 + (y)1 + 1 • changey

If we now represent all points in twodimensional space with a 3 element vector of the form [x y 1 ] for the point at [x y], then the translation operation may be represented in matrix form as

changex changey 1

Note that a third (unnecessary) column is added to the translation matrix to make the results have the same dimensions as the input points.

The scaling matrix is now rewritten as:

0 0

The rotation matrix is now:

cos(b) sin(b) 0

-sin(b) cos(b) 0

0 0 1

The use of an n+1 element vector to represent a point in n-dimensional space is known as the use of homogeneous coordinates.

Now that a uniform representation, the 3 by 3 matrix, is available for transformations, two questions arise: (1) How can more complex transformations be implemented? (2) What effects are obtained from matrices which do not fit into the special structures generated for the basic transformations?

Most complex geometric operations may

September 1978 © BYTE Publications Inc 33

Transformed

Coordinate

Matrix (n by 3)

Coordinate Matrix (n by 3)

Xr

Y„

1

Xn ' n Xn Yn 1

Xr

Yr

1

Translation to

Origin by (-Xr, -Yr)

(3 by 3)

1

0

0

0

1

0

-X

-Yr

1

Rotation by Angle b (3 by 3)

cos(b) sin(b) 0 —sin(b) cos(b) 0 0 0 1

Translation by (Xr, Yr) (3 by 3)

1 0

0 1

Xr Yr

Example 1.

be implemented as a sequence of basic operations. A few examples arc examined next.

Rotation About an Arbitrary Point [xr yr 1]

Since wc know how to rotate about the origin, the point R and the object arc first moved to the origin. The object is then rotated and the system moved back so that R is at its original location. A matrix representation of this procedure is shown in example 1. The point R will be unchanged by this sequence of transformations. Transformations arc not generally commutative; ie: the order of application of the transformations Is fixed to achieve a particular combined result.

A similar statement is true for matrix multiplication:

AB i BA in general.

But, matrix multiplication is associative. Thai is, if the order of the matrices is fixed, the order in which the individual multiplications is performed does not matter as far as the value of the result is concerned. Thus, in the example shown, we could combine the last three (transformation) matrices by multiplication to yield a single 3 by 3 matrix which represents the combined transformation. If more than three points are represented in the coordinate matrix, this technique will reduce the amount of computation necessary to calculate the result.

As a general comment, it is useful to decompose complex transformations into a series of basic transformations. Any transformation which preserves shape in the sense discussed above can be decomposed into a series of basic transformations represented as matrices. The product of these matrices will be the matrix representation of the complex transformation.

A general 3 by 3 matrix might be represented by:

b c e f i J

(h intentionally omitted)

Three special cases of this matrix have been presented that represent the basic transformations. While the products of such basic transformations can yield many of the cases of the general T3 matrix, it is useful to examine some other simple cases. The 3 by 3 identity matrix:

1

0

0

0

1

0

0

0

1

yields a result identical to the original set of points. This is a null transformation. The effect of setting elements a and e (referring to the general T3 matrix elements) equal to other values results in scaling. Setting elements g and /' to nonzero values creates a translation. The process of setting element b to a nonzero value is shown in the following equations:

x' = X

y' = bx + y .

The effect of this change on our figure "P" test pattern is shown in figure 9. This type of transformation is known as a y shear. Note how the "P" has been distorted in the y direction only by this operation.

Figure 9: An example ofy shear.

34

September 1978 © BYTE Publications Inc

GET THE & LOW DOWN BEFORE YOU BUY

SO YOU WANT TO BUY A COMPUTER??

This new book presents an objective look at the top 24 micro systems sold throughout the world.

It discusses the Pros and Cons of each system in No Uncertain Terms and takes a straightforward look at the micro computer industry as it relates to YOU.

Written especially for the layman in a language he can understand. Profit from the mistakes of others.

Includes hundreds of references. Table of Contents

SCIENTIFIC RESEARCH

P.O. Box 490099-B

1. Introduction

2. Don't get hung up on the chips

3. Which category do you fit into

4. Now-About the Hardware Key Biscayne, Florida 33149

5. Peripherials that plug in?

6. What? No Software! Phone Orders Call 800-327-6543

7. Helpful Suggestions before spending money

8. Addresses

master charge

Add $1 handling, all domestic shipments sent parcel post. Foreign orders add

$4 for air shipment and make payable in

$4.50 per Volume BankAmericard U.S. funds.

Volume discounts available HiH

BYTE September 1978 35

Figure 10: An example of x shear.

Similarly, setting element d equal to a nonzero value causes an x shear as shown in figure 10:

x' = x + rfy

v' = y

If element c or element f is nonzero, or if element / is not one, the result of the transformation is of the form:

h-¥= 1

[hxhyh]

Here, hx and hy are considered to be biliteral (2 letter) symbols or variable names, not products of h and x ox y. In this case, we divide each element of the vector by the last (or homogeneous) element. Thus, the coordinates of the point (x,y) in two-space may be represented by an infinite number of homogeneous representations [hxhyh]. The process of dividing through by the homogeneous coordinate is known as homogeneous normalization (see table 1).

A particular problem arises when h = 0. In this case, division is undefined. An understanding of this situation is attained by letting/) go to zero.

The value of the normalized point in table 1 goes out along a line from the origin through the point [a b]; as h approaches zero, the point goes to infinity. Thus the representation [obO] defines a point at

Editor's Note: Analogies Between Hardware and Software

Readers with a hardware background are no doubt familiar with the concept of limiting the range of a signal, or "clipping" it. This is often accomplished using a nonlinear device such as a diode. In this article, we find the same concept used in the software which transforms a list of points making up an image so that it will fit on a display screen. Here, instead of an analog signal, the "signal" being limited is the numerical range of the coordinates being computed. The implementation is different, but the concept is identical. . .CH

H

omogeneous

Normalized

Representation

Representation

hx

hy

h

X

y

a.

b

1

a_

b

a

b

.1

10a

10b

a

b

.01

100~a

100b

a

b.

0

undefined

undefined

Table I: Homogeneous versus normalized representation of coordinates in twodimensional space. The homogeneous representation of the coordinate pairs is a way of encoding the numbers in a general manner using the extra element h in the matrix row. The values of the coordinates are found by dividing h into each coordinate (expressed here as variable names, ie: "hx"; this does not mean "h times x"). The results are shown in the right side of the table. The extra column in the homogeneous form of the matrix is needed to make the matrix conformable with other matrices used for translation operations.

infinity along the line from the origin through [a b]. This representation of points at infinity is completely consistent with all previous discussion and definitions of transformations. The only truly undefined homogeneous value in two-dimensional space is [0 0 0].

In transforming graphic elements, a problem may arise regarding the screen space boundaries. Portions of objects may fall outside the screen space after transformation. A similar situation may arise when objects are converted from problem space to screen space. It is therefore necessary to have a procedure for "clipping" the portions of objects outside the screen space so that the on-screen portion is accurately portrayed. The procedure described operates on the typical 4 sided rectangular screen.

The screen may be defined by four inequalities:

x > x„ x = leftmost x value

x < x x = rightmost x value r r a

V > Vl. V = bottom y value

b b

V < V yt = t°P V value

The procedure operates on each line segment in the image and determines what portion, if any, lies in the screen space.

The two endpoints of each line segment are classified as satisfying or not satisfying each of the four inequalities. Three specific

36

September 1978©BYTE Publications Inc

COMPUTER

''A

//I

\ft

*U

For Homeowners, Businessmen, Engineers, Hobbyists, Doctors, Lawyers, Men and W<

romen

V

Vol.

We have been in business for over nine years building a reputation for providing a quality product at nominal prices - NOT what the traffic will bear. Our software is: "*^v ' ^%

Business & Personal Bookkeeping Programs

Games & Pictures

Animals Four I Astronaut

• Versatile

operation.

■ as most programs allow for multiple modes of

• Tutorial — as each program ts serf prototing acfeJ leads you through the program (most 'have^eryt/detailedf instructions contained right in their source code). *.__ %*.

• Comprehensive — as an example our PSD program not only computes Power Spectral Densities but also includes FFT's, Inverse-transforms, Windowing, Sliding Windows, simultaneous FFT's variable data sizes, etc. and as a last word our software is:

• Readable — as all of our programs are reproduced full size for ease in reading.9

• Virtually Machine Independent — these programs are written in a subset of Dartmouth Basic but are not oriented for any dne

particular system. Just in case your Basic might not use one or/our particular system. Just in case your Basic might not use one of our functions we have included an appendix in Volume V which gives conversion algorithms for 19 different Basic's; that's right, just look it up and make the substitution for your particular version. If you would like to convert your favorite program in to Fortran or APL or any other language, the appendix in Volume II will define the statements and their parameters as used in our programs. \_a^Z^''

Bond

Building

Compound

Cyclic

Decision 1

Decision 2

Depreciation

Efficient

Flow

Installment

Interest

Investments

Mortgage "*

CflJtimize

Order f

Pert Tree

Rate

Return 1

Return;2U.j

Schedule 1

Bio Cycle

Cannons

Checkers

Craps

Dogfight

Golf

Judy ""■" "-LineJUp

Pony ' •-.,

Roulette - Sky Qiver ." Tank .wTeach Me ''pictures, t "A, NewmanC

J.KK.

Linus U

,. Ms. Santa .Nixon

Noel

Nude

Peace

Policeman'1 7/1 .'■ Santa's Sleigh .7/Snuopv

Vol. II

Binomial

Chi-Sq.

Coe:ff

Confidence 1.

Confidence 2;

Correlations

Curve

Differences

Dual Plot

Exp-Distri

Least Squares

Paired

Plot

Plotpts

Polynomial Fit

Regression

Stat 1

Stat 2

T-Djstributlon

Unpaired

Valance 1

VatlanW/2

xy r

Conv.

Filter

Fit

Integration 1

Integration 2

Intensity

Lota

Macro

Max. Min.

Navaid

Optica)

Planet

PSD

Rand 1

Rand 2

Solve

Sphere Trian

Stars.

Track

Triangle

Variable

Vol. Ill

Billing Inventory Payroll Risk

Schedule 2 Shipping 1 Stocks Switoh

Vol. IV

Bingo

Bonds

Bull

Enterprise

Football

Funds 1

Funds 2

Go-Moku

Jack

C

Life

Loans

Mazes

Poker

Popul

Profits

Qubic

Rates

Retire

Savings

SBA

Tic-Tac-Toe

Vector

I Noel

APPENDIX A

To

TO

&/

'*Tr

date

cute

>rm

Over 85% of our programs in the first five volumes will execute i 8K Basic's with 16K of free user RAM. If you only have 4K Basi because of its lack of string functions only about 60% of our programs in Volumes I through V wouldljse' useable, however they should execute in only 8K of user RAM/ _ MfTflfc^^jr

For those that have specific needs, we can tailor any of our programs for you or we can write one to fit your specific n

ft»,B?Jnbt1

Vol. II —

in"""

*t form *

Vol.

Sen.*** payron

l#rtU*», i*"*8 voi.v

Vol. I — $24.95

Bookkeeping Math/Engineering

Games Plotting/Statistics

Pictures Basic Statement

Def.

Ill — $39.95

Vol. V

Andy Cap Baseball Compare Confid 10 Descrip Differ Engine Fourier Horse Integers *Logty ,., Playboy O Primes Probal Quadrac Red Baron Regression 2 Road Runner Roulette Santa Stat 10 Stat 11 Steal"" -- ... Top Vary Xmas

APPENDIX B

4>->

mpany accounts and generates financial reports.

ncludes routines fffT Pyrl. Inv, Depr, A/R, A/P.

<>()

Tf.,

t

.34

0.

Designed to challenge the average player, fairly comprehensive Great fun for all, offers a unique opportunity for beginners in need of

*Kfiw^*W^^— $

■■; Fbf Doctors and Derttists alike, a complete patient billing system which also permits the maintaining of a patient history record.

'Wordprocessing for lawyers, publishers, writers, etc. Write, store, end change from rough draft to final copy in a variety bf formats.

\—-**■* . ' ^0

sk utility program with memory testing.

Qo

7

^»«=

16 84

Taxpayers return, itemized deductions or standard

Reconciles bank statements

Balances your r-hf»rkhnnit\ —

Computes real cost on bank financed items; cars, boats, etc.

Computes depreciation, 4 methods, any time period

FAVORITE PROGRAM CONVERSIONS

5.^

V ' 1 \\ oaiano

X.'\ \\ .Checkbook

V lnst1o78

V * 'Deprec2

^SCIENTIFIC RESEARCH

^ P.O. Box 490099-B, Key Biscayne, FL 33149

Phone orders call 800-327-6543 *^.

reformation — (305) 361-1153

■Xoc*^_^--—^\ iJS~~~m—\

Add $1.50 per volume handling, all domes

mestic shipments sent U.P.S. except APO and P.O. Box which go parael post. Foreign orders add $8.00/volume for air shipment and make payable in U.S. dollars only.mtBf '

Mars only.

Our Software 3s <&£yrighted and may

B 26 W* -,

AVAILABLE AT MOST COMPUTER STORES or amount o«»« _ . . • H—""" ^ ^

Master Charge and Bank Americard accepted.

[ ^f:\m

"~SZ*±

September 1978 37

Figure II: Three different ways a line can appear. Line (a) is completely within the borders of the video screen. The lines labeled (b) are completely outside of the screen area, and the lines labeled (c) are partially within the screen area.

<X0,Y0)

Figure 12a: Clipping. One way of calculating the cutoff point for a line is to use the traditional method of similar triangles. A disadvantage of this method is that it requires multiplication, a relatively time consuming operation on a computer.

cases may result from this endpoint coding:

(a) Both endpoints satisfy all inequalities.

(b) Both endpoints do not satisfy the same inequality.

(c) Neither of the above.

In case (a) the entire line lies within the screen space and is therefore displayed. In case (b) the entire line lies outside the screen space and is therefore not displayed. Case (c) requires further treatment.

The visible portion (if any) of each case (c) line is determined by cutting it with every inequality line (screen boundary) which is violated by either endpoint. Each inequality or clipping boundary not satisfied will cut the line into two portions, visible and invisible. The portion remaining, if any, will be the line segment visible in the screen space.

One approach to determining the point at which a line is cut by a boundary is derived from geometry (see figure 12a). The formulas for the left x boundary can be derived and the xp y^ and yt results follow in similar fashion. By similar triangles:

Vv0 vi-yo

Xc-X0 X1~X0 but

The visible portion of the line is from (xg,y ) to (x-j.y^.

An alternative approach, the clipping divider, is more suitable for microprocessor implementation since it uses neither multiplication nor division. It is actually a type of binary search. Using the example in figure 12b, we define (xm,ym) as the midpoint of the line to be clipped. (xm,ym) is calculated as follows:

Xm = (VX1,/2

vm = 'Vvi,/2

(add and 1 bit shift) (add and 1 bit shift)

If xm = xe, then ym is the y coordinate of the clipped endpoint and the process is completed. If xm violates the inequality, then replace (xQ,yg) with (xm,ym). Recalcu

late

lxrri)Ym inequality, then

If the new

satisfies the

replace (x-| ,y-|) with (xm,ym). In either of the last two cases, repeat the procedure with the new line, either (xm,ym) to (xi,yij or (xrj.yo) to (xm,ym). Because of the shifting used to calculate (xm,ym), the process continues no

38 September 1978 © BYTE Publications Inc

Figure 12b: Clipping. Another method of calculating the cutoff point of a line on the screen is to use a form of binary search. The method involves halving the line segment successively until the y value converges to the correct answer. This method only requires adding and shifting and is thus quicker to compute than the method of similar triangles.

more times than the number of bits in a word and the y coordinate will converge to the correct value.

This clipping process completes the set of basic operations necessary to operate on two-dimensional information to produce graphic output.

I hope readers will be encouraged to use these practical techniques in their experiments with computer graphics."

BIBLIOGRAPHY

1. Newman, W, and Sproull, R, Principles of Interactive Computer Graphics, McGraw-Hill Book Company, New York, 1973.

2. Rogers, D F, and Adams, J A, Mathematical Elements for Computer Graphics, McGraw-Hill Book Company, New York, 1976 (paperback, uses BASIC).

SECOND MIDPOINT

SCREEN!

AREA

(Xm,Y„) (TlRST MIDDOlNT)

NEW BESTSELLERS

INTRODUCTION TO PERSONAL AND BUSINESS COMPUTING

By Rodnay Zaks, 250 pp, ref C200 $6.95

new. For the beginner. How to use and purchase a system, from the microcomputer box to the peripherals. Why. Business requirements. How to fail. Programming. Which BASIC?

NOW ALSO AVAILABLE ON CASSETTES - 3 hrs ret SIO S14.95

MICROPROCESSORS: from chips to systems

By Rodnay Zaks, 416 pp, ref C201

S9.95

USED worldwide as UNivtRsiTY TEXT. A comprehensive, yet detailed and clear introduction to all aspects of microprocessors How they work. The ROM, RAM, PIO, UART. How to interconnect System development.

TO ORDER

• BY PHONE: call 1415)848-8233 BankAmericard/Mastercharge accepted

• SHIPPING: no charge when payment included.

ADD: $1.50/book for fast shipping.

• TAX: in California, add sales tax. •OVERSEAS:

SYBEX-EUROPE.313 rue Lecourbe, 75015 - PARIS, France Tel:! 118282502

2020 Mllvla St. Berkeley, Calll 94704

MCSOCOMPUTB!

T

\>«

w W

m

l 880

\ WITHCA

PROGRAMMING MICROCOMPUTERS:6502

By Rodnay Zaks, 250 pp, ref C202,

S9.95

NEW. How to program microprocessors, with 6502 examples: arithmetic, input-output, peripherals. Interrupts. An educational text requiring no prior programming knowledge, yet useful to those wanting to learn about specific programming techniques. Applicable to PET, KIM, VIM, APPtE.

MICROPROCESSOR INTERFACING TECHNIQUES

By Austin Lesea and Rodnay Zaks, 416 pp, ref C207,

S9.95

ALSO USED WORLDWIDE AS UNIVERSITY TEXT. HOW to connect to

all the usual peripherals, from keyboard to floppy disk, including A/D, displays, standard busses (RS232, SIOO, IEEE 488) and dynamic RAMs.

NAME

COMPANY ADDRESS CITY

POSITION

STATE/ZIP .

DC201 DC207 DC200 DC202 DOTHER

□ Payment enclosed Q Bill company D Bill me ADD$1.50/BOOK FOR FAST SHIPPING D charge my Q Visa D Master charge

D Number _ _ Exp date

Signature □ Send catalog.

□ FREE CATALOG/ ORDER FORM

Circle 353 on inquiry card.

September 1978©BYTE Publications Inc

39

APL and Graphics

Eduardo Kellerman V34/0284 IBM Corp Endicott NY 13760

Entire article and all figures copyright International Business Machines Corporation, 1978. Printed by permission. All graphics were produced digitally (including author's signature).

This article presents an introduction to the use of APL for creating and manipulating graphic images. The paper carries the reader through the steps of interactive graphic design using APL and IBM 5100 APL Graphpak. The last section of this article, giving background information about APL and Graphpak, should be reviewed by the reader not familiar with either of these two topics. August 1977 BYTE is a useful source of APL information. For more detailed information about APL see the references listed at the end of this article.

The initial checkout of the examples was done using an IBM 5100 in stand-alone mode. The results were drawn on an IBM 5103 printer by modifying Graphpak to use output functions from the IBM 5100 Print Plot/APL Problem Solver Library. When the designs grew more complex, the IBM 5100 was connected to an IBM System 370/ Model 168 and the code was executed there. The IBM System 370/Model 168 produced its output on a storage scope equipped with a hard copy unit.

Developing Repetitive Patterns

The first example follows a graphic designer through the development of a pleasing design for wrapping paper. Using a triangle as the basis for experimentation, the coordinates for a triangle centered at the origin are derived as shown in figure 1. A matrix, TRI, is then created to describe the triangle to the DRAW function:

TRI+H 3pl,0.1,0,(COS 30).(-SIN 30),0,(-COS 30), (-SIN 30) ,0 ,0,1

For this example, TRI looks like:

TRI

SIN 30

Figure 1: Equilateral triangle centered at the origin, the basic drawing block of our design.

1 o

0 0. 87

0 "0.87

1

"0.5 "0.5

To create patterns, translate the TRI matrix into the display window and draw it with the following APL function:

7 DESIGNl

[1] TR->-(C0S 30),SIN 3 0

[2] DRAW TR TRANSLATE TRI

V

When executed on the IBM 5100, DESIGN1 gives a very small triangle of the defined dimensions. It will be necessary to increase the size of the triangle since it is presently too small to be used in a design. The function DESIGN2, shown in listing 1, is written to rotate the triangle 15 times and then translate the magnified pattern into the viewing area before drawing it.

Note in line 4 of listing 1 that the initialization of variable OUT is to be a matrix with no rows and three columns. This is done so that OUT has the proper shape when in line 6 it is catenated with TRI2 (which has three columns). When DESIGN2 is executed on the IBM 5100 the result is:

Even though the original (magnified) triangle is within the viewing window, the complete pattern is not. Instead of moving the whole pattern into the display window, the rotating triangles can be shrunk so they stay within each other. The result of experimenting with different shrinking factors (actually magnifications of less than 1.0) is the APL

40 September 1978 ® BYTE Publications Inc

function in listing 2. Execution of DESIGN3 results in:

To extend the design over a larger area of the plane, an upside-down version of the nested triangles is used. This upside-down design is obtained by rotating the original design 180° [it radians). The original and new patterns are then drawn side by side. This is accomplished by adding the following two lines at the end of program DESIGN3:

[13] OWT2-H8 0 ROTATE OUT

[1"»] DRAW 15 MAGNIFY (2*M?) TRANSLATE OUT2

Execution of this program gives:

This pattern is used to cover the plane. To do so, variable OUT is made into a matrix containing the description of both the original set of nested triangles and the upsidedown nested triangles by replacing lines 12 thru 14 with:

[12] OUT2*TR TRANSLATE 180 ROTATE OUT [13] OUT+-OUT.111 0UT2

Then, to draw the N by M tilings, two nested loops are added at the end of the APL function. These loops are incorporated in lines 14 thru 19 of the function DESIGN7, which is shown in its entirety in listing 3.

Note that, in line 16 of listing 3, unnecessary parentheses were used to make the meaning clearer. However, not enough parentheses were added to make the meaning completely unambiguous to readers not familiar with APL. For example, the expression

TRX*<.1 + 2*J)

could be written

TM*(1 + (2«J) )

7 DESIGN2-.TR ;ROT;REP;OUT:TR12 [lj TR*i.COS 30), SIN 30

[2J ROT*0

[3J REP-15 (1i OUT* 0 3 pO

[5 1 L00P:TRI2*R0T ROTATE TRI

[6] OUT+OUT,llJ TRI2

[7] ROT*ROT*i

[8 1 *L00P IF 0<REP*REP-1

[9] DRAW 15 MAGNIFY TR TRANSLATE OUT

7

V DESIGN3-.TR :MAG ;ROT ;REP iOUT :TRI2

[I] TR*(COS 30).SIN 30 [2] MAG*\

[3] ROT*0

[■*] REP*1S

[5] OUT* 0 3 pO

[6] LOOP:TRI2*ROT ROTATE TRI

[7] TRI2--MAG MAGNIFY TRI2

[8 J 0UT--OUT A 1] TRI2

[9] ROT*ROT*S

[10] MAG*MAG*Q.87

[II] +LOOP IF 0<REP*REP-1

[12] DRAW 15 MAGNIFY TR TRANSLATE OUT

Listing 1: DESIGN2, an APL routine used to rotate the basic triangle and translate it into the viewing window. This operation is repeated 15 times. Note the use of variables in the header line of the function. This assures only local use of those variables.

Listing 2: DESIGN3, an APL routine which rotates and shrinks the basic triangle shape to keep the rotated triangles inside of the previously drawn triangle. This also keeps the rotated triangles within the viewing window.

V N DESIGN! M ;TR :TRX ;TRY -.MAG ;ROT iREP -.OUT :TR 12 \OUT2

[I] TR*(TRX*C0S 30).TRYPSIN 3 0 [2] MAG*l

[3] ROT*0

[M] REP+1S

[5] OUT* 0 3 pO

[6] LOOP:TRI2*ROT ROTATE TRI

[7] TRI2+MAC MAGNIFY TRI2

[8] OUT+OUT.lll TRI2

[9] ROT-ROT-H

[10] MAG*MAC*0.B7

[II] +loop if 0<rep*rep-1

[12] out2+tr translate 180 rotate out

[13] out*out,Ii1 out2

[11] 1*0

[15] LPI:J*0

[16] LPJ:TR*iTRX*il + 2*J)),i. I*TRY*( 1*1))

[17] DRAW 15 MAGNIFY TR TRANSLATE OUT

[18] +LPJ IF M>J*J*1

[19] +LPI IF N>I*I*\ 7

Listing 3: APL program for drawing an N by M tiling of a surface. Each of the tiles consists of a right side up, rotated, magnified triangle series and an upside down, rotated, magnified triangle series.

September 1978 © BYTE Publicitiont Inc 41

Figure 2: Repetitive pattern resulting from the execution of DESIGN!. The prerequisite for accepting this design is aesthetic. The author felt that this was a pleasing arrangement of triangles.

Listing 4: A modification to listing 3, incorporated in line 16, shifts every other row of the pattern half a triangle to produce a more pleasing effect.

V $ DESIGNS M ;TR;TRX;TRY;MAG;ROT;REP;OUT ;TRI2;OUT2

[I] TR-I.TRX-COS 3 0 ) .TRY-SIN 3 0 [2 J MAG-1

[3 J ROT-0

It] REP-lb

[5] OUT-- 0 3 pO

[6] LO0P-.TRI2-ROT ROTATE TRI

[7 J TRI2-MAG MAGNIFY TRI2

[8j OUT-OUT,[1] TRI2

[9] ROT-ROT*S

[ 1 0 J MAG-MAC*0.81

[II] -LOOP IF 0<REP-REP-1

C 1 2 J OUT2-TR TRANSLATE 180 ROTATE OUT [13 J OUT-OUT,[11 OUT2

U<t] l*o

[15J LPI-.J-O

(.16 J LP J :n*(m«"n(2 |I )+2*J) ,I + TRY*U-H )

[17 J DRAW 15 MAGNIFY TR TRANSLATE OUT

[18] -LPJ IF M>J-Jtl

[19J -LPI IF N>I-Iil

Listing 5: DESIGN9, an APL program that produces pictures such as the one shown in figure 4. The basic pattern has been shifted from row to row to produce a more pleasing design.

V N DESIGN9 M;TR;TRX ;TRY;MAG;ROT;REP iOUT ;TR 12 ;OUT2

[1J TR-(TRX-COS 30),TRYPSIN 3 0

[2] MAG-1

[3] ROT-0

ft] REP-15

[5] OUT- 0 3 pO

[6] LOOP -.TRI2-ROT ROTATE TRI

[7J TRI2-MAG MAGNIFY TRI2

[8] OUT-OUT.ill TRI2

[9] ROT-ROT+5

[10] MAG-MAGxO.87

[11] -LOOP IF 0<REP-REP-1

[12] OUT2-OUT

[13] OUTl:3]--OUTl;3]

[1H] OUT-OUT2,[1] TR TRANSLATE OUT

[15] 1-0

[16] LPI-.J-O

[17] LPJ:TR-(TRX*~H (2 I I)+ 2*./), I+Tflyxt 1+1 )

[18] DRAW 15 MAGNIFY TR TRANSLATE OUT

[19] -LP./ If M>J-J-tl

[20] *IFjr If tf>I--I+l

V

42 September !978©BYTE PublicationsInc

Powerful Software

with Extended Documentation offered by

PRS—

THE PROGRAM OF THE MONTH CORPORATION

UNVEILS COMPREHENSIVE CONCEPT

IN SOFTWARE PRESENTATION

UNIQUE DOCUMENTATION

Unique documentation gives you clear, complete and instructive text in a graphically appealing manual. This documentation doesn't only provide step by step "how to" but also is geared to help you to understand hardware-software interactions, and to promote further applications.

POWERFUL CODE

Whether it be for games, applications (home and business), or sophisticated programming tools and monitors, PRS permeates the design of its unique code with "human engineering." And you'll appreciate the delicate balance between machine-human dialogue and resident programspace in memory.

BEAUTIFUL CASSETTE-FOLDER

PRS packages your manual and cassette in an elegant and durable gold-stamped folder.

AN ARRAY OF PROGRAMS ARE AT YOUR FINGERTIPS

PRS presently offers "MICROFILE" MANAGEMENT program and "DDS

a DATA FILE II" the famous

DYNAMIC DEBUGGING SYSTEM. New programs will be released at regular intervals.

YOU'LL DISCOVER EXTENSIVE PROGRAM CAPABILITIES

With "MICROFILE," a new DATA FILE MANAGEMENT program, you can:

• Manage any list of items

• Enter new data

• Edit information already on file

• Sort items alphanumerically upwards or downwards

• Search by primary and/or secondary keys (labels)

• List and print selected or all items

• Total sums of columns

• Justify right or left margins of each column

• Delete items

• Save and retrieve data with mass storage media

PROGRAM APPLICATION EXPANDS YOUR COMPUTER USAGE

For example, "MICROFILE" manages: Home inventory • Listing of musical tapes • Calendar of activities • Vacation itineraries • Checks by categories • Home-upkeep tickler files • Family historical dates • Health records.

PRS SUPPORTS YOUR MAJOR BRANDS

APPLE, PET, SOL, SORCERER, TRS-80, and other systems with Z-80, 8080 and 6502 processors.

VISIT YOUR NEAREST DEALER TODAY

Let him demonstrate the excellence of PRS programs.

r

i

i

Or write for the name of a dealer in your area to:

PRS-THE PROGRAM OF THE MONTH CORPORATION

257 Central Park West, New York, N.Y. 10024 ^

New Product Releases From

PRS THE PROGRAM OF THE MONTH CORPORATION

257 CENTRAL PARK WEST NEW YORK, N.Y. 10024

Gentlemen:

Q Please place my name on your priority mailing list to receive your descriptive advance releases off all new programs developed by -PRSat regular intervals.

□ Please send me a list of dealers in my area.

Name_

Corporation^ Address

City_

_State_

_Zip_

REFERENCE: 9B8

Circle 306 on inquiry card.

BYTE September 1978 43

Figure 3: Full size design created by shifting the pattern of figure 2. The rows have been shifted in relation to each other for appearance.

44 September 1978 S BYTE Publications Inc

LA

$249 jgets the entire family into creating video games, graphics and control ^ functions. 8 For starters.

Wm

M

--^Z/

"to

COSMAC VIP, the completely assembled, ready-to-operate RCA Video Interface Processor, opens up a whole new world of computer excitement. New challenges in graphics, games and control functions. Yet it's just $249.00.

Easy to buy. And easy to program, thanks to its unique, easy-to-use interpretive language. You get a complete how-to book including programs for 20 games: fun, challenging, and ready to load and record on your cassette.

Simple but powerful.

Built around an RCA COSMAC microprocessor, the VIP is a complete computer system that can grow with you. It has 2K of RAM, expandable on-board to 4K. Plus a ROM monitor, audio tone output to a built-in speaker, power supply, and 8-bit input and output ports for control of relays, sensors, or other peripherals.

Circle 322 on inquiry card.

Soon RCA will offer options for color graphics frid 256 tone sound generation. IR optional auxiliary keyboard will dpWJWJp an exciting world of two-player games.

Take the first step now. Check your local computer store or electronics distributor for the VIP. Or contact RCA VIP Marketing, New Holland Avenue, Lancaster, PA 17604. Phone (717) 291-5848.

'Suggested retail price. Does not Include video monitor or cassette recorder.

The fun way into computers.

ItC/l

BYTE September 1978 45

Figure 4: Pattern produced by flipping the triangles over, an example of how easy it is to produce a wide variety of patterns with only small modifications to a basic design program.

46 September 1978 © BYTE Publications Inc

TARBELL SOFTWARE

Extensive & Inexpensive.

TARBELL CASSETTE BASIC only $36.00

Most features of ALTAI R Extended BASIC are included PLUS these added features:

• Assignment of I/O

• Alphanumeric line labels

• Unlimited length of strings

• Unlimited length of variable names

• Procedures with independent variables

• Number system 10 digits BCD integer or floating point

Included are commands unique to TARBELL CASSETTE BASIC which provide capabilities to:

CP/M Disk Operating System

The I/O section of this software has been modified to operate with the TARBELL Floppy Disk Interface in 24K bytes of memory. Five commands permit listing of directory, typing contents of an ASCII file, renaming a file, erasing a file from disk, and saving memory on disk. Fourteen programs are included which are invoked like commands. Six source files are included for transferring between TARBELL Cassette and disk, cold-start loading, Basic I/O system with drivers, and reformatting crashed diskettes. Documentation includes a listing of BIOS and instructions to patch CBIOS for your system. Price is $100 on CP/M diskette with documentation. (CP/M is a product of Digital Research).

CP/M 1.4 Update Package

A TARBELL Update Package for those now using CP/M 1.3 is now available on diskette. The Update Package adds new commands and the ability to access four disk drives, as well as 2 new CP/M manuals, TARBELL CP/M User's Guide and a new BIOS listing. Price: S50.00.

• Initialize I/O channel • Assign a physical device to a logical device • Drop an I/O channel previously assigned «Save the BASIC interpreter and monitor or I/O routines on cassette 'Cause programs to be appended onto programs already in memory • Call a procedure and pass variables on the list • Cause interpreter to enter edit mode using 15 single character edit commands.

Tarbell BASIC occupies 18K of RAM. Source is available on cassette, CP/M** Disk, and printout—all at reasonable prices. Price for TARBELL CASSETTE BASIC and complete documentation: $36.00.

SPOOLER

This 8080 program will save many hours of computing

time. It intercepts all output to the list device, spools the output to a high-speed disk file, and directs the spooled data to a low-speed printer during unused cycle time while the CPU waits for transfer of data to and from the console. System throughput is greatly increased with the aid of SPOOLER. Output is never lost due to insufficient memory allocation. Fully compatible with the CP/M file system, SPOOLER permits parallel processing without hardware interrupt, and with minimal impact on other processes. Price: $50.00 (Copyright KLH Systems.)

^* Y ^1 ^>| *ALTAIRis a trademark/tradename ofMITS, Inc.

BASIC'E Compiler

Designed to work with CP/M Disk Operating System this software requires a total of 20K bytes of memory. Included are 26 compiler error messages and 23 run-time error messages. Disk files may be read, written or updated by using both sequential and random access. Included are blocked and unblocked files. Price for compiler and run-time monitor on diskette is $10.00. Manual is available separately for $5.00. (Public domain software by Gordon E. Eubanks, Jr.).

CBASIC Programming System

Upward compatible from BASIC-E, CBASIC is similar but expanded to include several business oriented facilities, allowing decimal computations to 14 digits of precision, data formatting and PRINT USING statements. Statements allow access to disk files and disk file maintenance. Strings of characters may be read from the console to permit correct input line format to be checked before reading data. General programming features include variable names up to 31 characters, optional line numbers, dynamic debugging tracers, and optional data output to printer. CBASIC on diskette and manual priced at $100. (Copyright Software Systems.)

EMPL-an 8080 APL

Especially suited to educational applications, EMPL is an adaptation of APL, using the ASCII character set. This 8K version occupies the first 5376 bytes of memory and operates in two modes. The Execution Mode permits all instructions to be executed immediately. The Definition Mode permits the user to enter functions. EMPL on Tarbell Cassette with manual is $15.00. (Copyright 1977 Erik Mueller).

**CP/M is a trademark/tradename of Digital Research.

950 DOVLEN PLACE • SUITE B • CARSON, CALIFORNIA 90746 (213) 538-4251 • (213) 538-2254

Circle 360 on inquiry card.

BYTE September 1978 47

v

but in reality it needs no parentheses at all. Similarly, all the parentheses in

are unnecessary. The values for TRX and TRY are computed in line 1 of listing 3. Variables N and M have been placed in the header line of the new APL function, and now become part of the calling syntax for it. Trying out the new function by entering:

2 DESIGN! 2

results in figure 2.

It appears that a better design can be obtained by shifting every other row by half a triangle. This is accomplished by making use of the residue primitive function,

Figure 5: Basic design for example 2 in the text. The drawing window is shown for clarity.

where

21 J

Figure 6: Series of logos shrinking into infinity, created by experimenting with size. A magnification process is all that is required to reduce the size of the logo and converge into the origin which is at the corner.

Listing 6: LOGOS1, APL program that translates and shrinks the logo into infinity.

V L0C0S1 -.LOGO; I \M AG [1] IOG0*180 ROTATE BYTE [2] LOGO* 100 7 6 TRANSLATE LOGO r 3 3 1*0 [U] MAG-1 [5] LOOP:

[6] DRAW MAG MAGNIFY LOGO [7] MAG~MAG*0.Ti [8] ->-L00P IF 15 > 1*1+1

7

results in 1 if I is odd, and 0 if I is even. This change is incorporated in line 16 of DE5IGN8:

Tl6] LPJ:T,R*-(TRX*~1+(.2\I) + 2*J).I*TRY*(. 1*1)

Also incorporated in line 16 is a shift of TRX units to the left for the entire drawing. The purpose of this shift is to avoid uncovered areas in the display window.

When DESIGN8 was tested, it was clear that an appropriate selection of colors would add significantly to the design. Without going into details, DESIGN8 was modified so that it would create three different, overlapped pictures. Each could then be printed in a different color. The resulting design is shown in figure 3.

Several other interesting designs can be obtained by slight modification of program DESIGN8. For example, instead of rotating the nested triangles to obtain an upsidedown pattern, the sign of the values for the Y axis of the original set of embedded triangles can be reversed. This is equivalent to flipping the pattern over. The result is shown in figure 4. The APL function used to produce the design for figure 4 is shown in listing 5. Additional designs can be created by overlapping patterns.

Designing the Cover

The areas involving graphics in which APL and Graphpak can be used are virtually unlimited. This second example follows a graphic designer who would like to create a design using a customer's trademark. He is told that the design should portray the virtues of the product. For the example consider the logo which appears on the cover of BYTE magazine.

48 Stpumtxr 1978 © BYTE Publication! Inc

YOU CAN HAVE BOTH .

'Natural Sounding Speech"

azflNT to 5gry

S-100 BUS

CTEDIT

PARAMETER EDITOR

SOFTWARE

(STD. WITH CT-1)

T

CSR1

SYNTHESIS-BY-RULE

SOFTWARE

(OPTIONAL)

AE2NIYTHIHNX YUW WAANT TUW SEY."

CT-1 parameter data

phonetic spelling

ONLY COMPUTALKER GIVES YOU THE CHOICE

No other speech synthesizer available offers you the flexibility of the Computalker Model CT-1. The parameter editor program, CTEDIT, allows direct manipulation of all 9 control parameters. CTEDIT and parameter data tapes are furnished with the CT-1 synthesizer board.

The optional CSR1 software package translates ASCII phonetic text strings to speech output. CSR1 is simple to use and is the easiest way to create new speech. CSR1 can also be called as a subroutine from user's code for applications involving program controlled voice output.

The CSR1 phonetic rule system generates control parameters in the same form as used by CTEDIT. Thus, it is possible to further edit the output of the rule system, to achieve natural sounding speech output with minimum effort.

CT-1 assembled & calibrated CSR1 phonetic rules software

Calif, residents add 6%

395.00

35.00

sales tax

Software is available on CPM 8", North Star BJi", CUTS, TARBELL, MITS ACR, Paper Tape.

COMPUTALKER CONSULTANTS

1730 21st Street, Suite AB, Santa Monica, CA 90404 (213) 392-5230/828-6546

Circle 46 on inquiry card.

BYTE September 1978 49

The designer first creates a matrix called BYTE which contains the data required to draw the basic logo. This matrix was created by manually digitizing the logo. The logo can then be drawn, as in figure 5, by entering the command:

DRAW BYTE

The intention is to create the design at a 90° angle. This way the logo can be moved along the X side of the display window (which is longer than the Y side). By reducing the size of the logo as it is moved, the customer's request for creating a feeling of "never-endingness" can be met. (Note: in figure 5, and in some of the figures that follow, the outline of the display

Figure 7: Spiraling design produced by incorporating a sine function into the shift process.

Figure 8: Pattern composed of a series of shrinking and rotating lines reflected about the Y axis to produce the symmetrical shape shown. The drawing window is displayed for clarity.

window has been added to aid in understanding the discussion.)

One way to move an object while simultaneously shrinking it is to displace it from the origin while using the MAGNIFY function to reduce the values for the X and Y axes. To move the logo diagonally across

7 L0G0S2 -.LOGO; I;MAG;TR ;MAGS IN -.MODULATE

[I] LOGO*1BO ROTATE BYTE

[2] LOGO-- 100 76 TRANSLATE LOGO

[3] 1*0

[»] MAG*1

[5] TR* 13 0

[6] MAGS IN* 4.2 10

[7] L00P:FIC*MAG MAGNIFY LOGO

[8] DRAW TR TRANSLATE FIG

[9] MAG*MAG*0.7H

[10] MAGSIN*0.9S*MAGSIN

[II] M0DULATE*iOi. ( it . 5 - I) . ( 1-2 ) ) 15 [12] MODVLATE*MODULATE*MAGSIN [13] TR*TR*MODULATE

[14] *LO0P IF S0> 1*1*1 7

Listing 7: Modification to the program. The addition of a sine function to the program changes the shrinking line of logos into a shrinking spiral.

7 PICTUREl ; I;M;LINE ;MAG ;R0T ;M ;Z ;TR

[I] 1*0

[2] M* 0 3 p 0

[3] LINE* 7 3 p 1 0 24 0 21 ~12

[4] MAG*1

[5] ROT*0

[6] LP :M*M,\_1~\ ROT ROTATE MAG MAGNIFY LINE

[7] MAG*MAG*0.98

[8] R0T*R0T-3

[9] *LP IF 2002 1*1*1

[10] Z*M

[II] M[ ;2>-M[ ;2] [12] Z*Z,[1] M

[13] 27?-(-l/Z[;2] ).(-L/Z[ ;3] )

[14] DRAW TR TRANSLATE Z 7

Listing 8: PICTUREl, an APL routine for producing a design using a series of shrinking and rotating straight lines. This design, when added to the pattern already created, results in the front cover of this month's B YTE.

50

September 1978 © BYTE Publications Inc

We Start With A Price That's Hard To Beat.

But We Don't Stop There.

Central Data Corporation has combined the benefits of new technology and high-volume company sales to bring you a RAM board with more features and product options for less money.

Lower Prices

More Memory Capability

To begin with, we've reduced the price of our 16K RAM board by $40 to $249. At $425—a price reduction of $50—our 32K board costs less, too. Plus, we now offer a full 48K memory board for $599. These boards are expandable to 64K at a price of $185 per 16K package. Or you can start right out with a full 64K board for $775.

Improved Board Design

We've also added improvements to the board design at no extra cost to you. •Deselectable in 2K increments. Our deselect feature enables you to switch off any 2K to avoid overlap with your existing memory. •Fully socketed memory. This feature enables you to expand the memory board yourself. •Plug selectable addressing. Now you can re-address without soldering

Other Standard Features

•Power-saving dynamic board with on-board

invisible refresh •One-year guarantee on parts and labor •S-100 and Z-80 compatible

Specifications

Storage Capacity Addressing Max. Input Load Output Buffering Access Time Cycle Time Wait States Generated Maximum DMA Rate

Powe

r Consumption

+ 16

150ma

+ 8

300ma

-16

20ma

Other Products From Central Data

16K.32K, 48K, or64K

16K boundaries

One LSTTL load

On all data lines

450ns

480ns

None

1 Mhz

Circle 45 on inquiry card.

Central Data also offers, fully-assembled and in kits, a range of other computer products including (pictured above) our 2650 microprocessor, software packages, TV/Monitor, ASCII keyboard, and (not pictured) floppy disk system, to name just a few.

For More Information To Place an Order

We welcome any questions you have about our RAM boards or other products. To place an order, or for more information contact:

Central Data Corporation

P.O. Box 2484, Station A Champaign, IL 61820 Ph.(217)359-8010

Place orders prepaid or COD. Delivery is stock to 30 days with shipping and handling prepaid in Continental United States. Please include phone as well as name and address.

BYTE September 1978 51

Description of Graphpak

This section covers common APL terminology, some Graphpak conventions, and a description of APL functions which are used in the paper. The discussion is, by necessity, oversimplified. It provides only enough information to understand the paper. For more complete information on APL and Graphpak, consult the references.

In APL, programs are called functions. Primitive functions are those which are part of the APL system, and are generally written as just one symbol or two overstruck symbols. One of the exceptions is the sine function which is written:

For example:

A scalar is a single number, for example: 3.1415. In general, a vector consists of several numbers, for example: 3 5 —2.54. This definition of scalar and vector suffices as far as this paper is concerned. However, the exact definition of a scalar is "an object with 0 dimensions," and for a vector, "an object of 1 dimension." In fact, a vector can contain one or more elements or be empty.

This paper is limited to the "Drawing Component" and parts of the "Descriptive Geometry Component" of Graphpak. For a description of the other components of Graphpak refer to the IBM 5100 APL Graphpak, Program Description/Operations Manual.

The descriptive geometry functions of Graphpak are designed to perform geometric transformations on descriptions of threedimensional objects, and to display projections of the transformed objects on the display window. The Graphpak display window

is normally a rectangle in the XY plane with the coordinate origin at the left bottom corner. In this paper the width (X direction) of the window is 100 units and the height (Y direction) is 76 units. Even though only twodimensional objects are used here, the transformations take place in three-dimensional space. The Z dimension is assumed to come perpendicularly out of the page.

To describe a series of lines to be drawn by Graphpak, a matrix with three columns is used. The first column is a binary vector. A 1 tells the program to go to the (X,Y) position indicated by columns 2 and 3 without drawing a line. A 0 means go to the indicated (X,Y) position while drawing a straight line. The function DRAW takes as its argument a matrix that describes a series of lines and draws them. For example, if the variable BOX contains:

10 0

0 10 0

0 10 10

0 0 10

0 0 0

then DRAW BOX gives:

The desired values can be placed in BOX by entering

SOX«-5 3pl000100 0101000 10 0 00

where

p

(rho) is the reshape (primitive) function. The

Table 1: Geometric transformation functions used in this article.

Zi-D TRANSLATE X Yields Z, a matrix which describes the object X having been translated D[1], and D[2] in the X and Y directions, respectively.

If D is a scalar (a single number), it is assumed to be a translation in the X direction.

Z+A ROTATE X Yields Z, a matrix which describes the object X having been rotated A[1], A[2], and

A[3] degrees counter clockwise (looking in) about the X, Y, and Z axes, respectively, in that order.

If A contains only one or two values, enough zeros are assumed to precede it to make its length equal to three.

z<-P magnify x Yields Z, a matrix which describes the object Z having been magnified P[1] and P[2] times in the X and Y directions, respectively. If P is a scalar, the function extends that number to all coordinates.

52 September 1978 © BYTE Publications Inc

left argument of rho specifies the shape to be given to the right argument. If two matrices describing two objects are to be put together, they can be catenated in the first dimension using

For example, using the TRANSLATE function (whose description follows):

BOX2--10 10 TRANSLATE BOX DRAW B0X.H1B0X2

gives:

The geometric transformation functions used in this article are summarized in table 1. In the descriptions given in table 1, TRANSLATE and MAGNIFY are described as operating only in the X and Y directions. This is a simplification for the purpose of the paper. They are capable of performing threedimensional manipulations.

In addition to the Graphpak functions, the following APL functions are used here:

V Z*A IF B [U Z-B/A

7 Z+SIN X ill 2*lQjrx(O2)*360

V Z-COS X

[1] Z*20Ar*(02)f 360

7

The IF function is used to make the APL code used in the paper clearer to readers not familiar with APL. The SIN and COS functions are also used to make the code clearer to readers not familiar with APL; but in addition, they take an argument expressed in degrees (the APL primitive trigonometric functions assume their arguments to be expressed in radians).

the display window after rotating it 180° requires:

DRAW 100 76 TRANSLATE 180 ROTATE BYTE

Incorporating the above into the APL function LOGOS1 (listing 6) to test the hypothesis produces figure 6.

Next the designer tries to make a spiral by adding an X and Y translation to the shrinking logo using a sine function (in APL, sine is designated by:

followed by an argument in radians) which decreases in magnitude. After some experimentation the function in listing 7 was found.

Note the shift by 13 units in statement 5 of listing 6. This was necessary because the translation using sines (statements 10 thru 15) carried the design into negative X values. Execution of LOGOS2 results in the pattern of figure 7.

There is still some empty space which could be filled with some type of interesting design. After experimenting with rotating a shrinking line, the function in listing 7 was developed.

Lines 10, 11, and 12 of PICTURE1 create a symmetrical picture by reflecting the figure generated about the Y axis. Line 13 determines the minimum translation required to get the figure within the display window. Execution of PICTURE1 results in figure 8. After rotating and making smaller drawings of the design created by PICTURE2, they are placed in the design created with logos. The finished product can be seen on the cover of this issue of BYTE.

In summary, we have followed a graphic designer using APL and Graphpak through two problems and have seen the ease with which these software tools can be used for creating and manipulating graphic images."

REFERENCES

1. APL Language, IBM form GC26-3847.

2. IBM 5100 APL Graphpak, Program Description/Operations Manual, IBM form SB30-0850.

3. IBM 5100 APL Graphpak Application Brochure, IBM form GB30-0850.

4. IBM 5100 Print Plot/APL Problem Solver Library, User's Manual, IBM form SA21-9264.

5. Iverson, K E, An Introduction to APL for Scientists and Engineers, APL Press, Pleasantville NY, 1976.

6. Iverson, K E, APL in Exposition, APL Press, Pleasantville NY, 1976.

7. Iverson, K E, Introducing APL to Teachers, APL Press, Pleasantville NY, 1976.

A good practice In APL is to localize variables needed only within a function by placing them in the header line of the function. In this way all the local variables will disappear from the workspace when the function completes execution . . . RGAC

September 1978 © BYTE Publications Inc 53

Real-time

interrupts

add

immense

power

to your

computer.

With a real-time calendar/clock your computer can extend its influence into the future — take action at any pre-programmed date and time.

Imagine the possibilities! Program a daily printout of appointments. Program house temperature to rise at 6 a.m. every morning. Program games in which fast reaction time wins. Turn lights on and off to simulate occupancy of an empty house. In your business, print time and date on all computer output — hard copy or video display. Make your computer a freguency counter or timeinterval meter. The possibilities are endless — especially if you use our Introl control system to send commands over existing wiring.

We have superb calendar/clocks for Apple II and S-100 computers. The Apple II clock keeps time for over 2 years in 1 ms increments. Programming is simple because of the on-board ROM.

The 100,000 Day Clock for S-100 bus computers keeps time in 100 jLtsec increments. Programming is easy with most BASICs — especially our Introl BASIC.

Both clocks feature crystal controlled accuracy and on-board battery backup. Very simple to interface. Easy to set. And provided with interrupts that do not derail ongoing computer action when the clock commands action.

Calendar/clock for Apple II is $179 assembled and tested. For the S-100 clock $219 assembled and tested. See them both at your local computer shop.

Mountain Hardware Inc., 5523 Scotts Valley Drive, Scotts Valley, CA 95066. Phone(408)438-4734.

s

Mountain Hardware

54 byte September 1978 Circle 260 on inquiry card.

BYTEs Bits

UCLA Computer Club 20th Anniversary Party

The UCLA Computer Club will be holding a 20th anniversary party and reunion in October 1978. The tentative date is October 14. The intent is to have club members from every era (WDPC, Computing Facility, ARPA, CCN) present so that everybody has old friends to talk to. "Resistors" are also welcome.

If you are a former UCLA Computer Club member, or you knew old members and would like to see them again, please send your name, address, and phone number to Joe Katz, Computer Club, 3514 Boelter Hall, UCLA, Los Angeles CA 90024. A complete list will be sent to everyone who responds whether they decide to attend or not."

A Worm Invades an Apple. . . (or, Computer versus Computer)

Rumor has it that the underground technology of defrauding the telephone monopoly took a dubious step forward with the notorious "Capt Crunch's" latest escapade. Word is that the Federal prosecutors in the trial will introduce an Apple II computer in evidence as the instrument of the crime."

More Notes from the Rumor Mill: Heath Software

According to highly reliable sources, Heath is offering a slightly scaled down

version of the DEC RT11 operating system (version 2C) as part of their H27 dual full-size floppy disk kit. The software package, called the HT11, is being bundled with the floppy kit for a total price of approximately $1700, and will be available in October 1978. The RT11 operating system (well-known in minicomputer circles) plus the RX01 dual floppy disk system would cost about $7000 if purchased from Digital Equipment Corporation (DEC).

The only difference between the RT11 and HT11 packages is that the latter does not have the super macroassembler or the foreground-background monitor (plus some additional utilities). It does have DEC's standard BASIC, however. Heath will also be offering DEC's standard FORTRAN package for $100.

Finally, there is a possibility that Heath will be offering a UCSD Pascal package for $200 in the near future."

Computerland's Second Birthday

Computerland, currently the largest computer store chain, reports to us that they will be celebrating their second birthday on Saturday, September 23. Customers and friends are invited to local outlets of the chain. In our opinion, as patrons of the Nashua NH store, Computerland has to be one of the best planned and managed retail operations in this business. We trust that the Nashua store is typical of the other stores in this chain, which number over 40. . . .CH"

Capacitor Value

In Robin Moseley's article "A Low Cost Light Wand Amplifier" (May 1978 BYTE, page 92), the value of capacitor C1 should be approximately 47 mF.

Anyone using the optional peak detector to measure the amplifier output ould allow for the forward drop of the

sh

two detector diodes and adjust the circuit for a DC output voltage from the detector of approximately 0.5 V."

Meetings in Bedford MA

In July 1978 BYTE, we mentioned in the Clubs and Newsletters section that the New England Computer Society meets monthly at the Mitre Corp Cafeteria, Bedford MA. However, we neglected to mention that they meet the first Wednesday of each month at 7 PM. (Members of the BYTE editorial staff are usually in attendance at these meetings.)"

Totally Integrated, Entirely Self-Contained

THE PET

PERSONAL COMPUTER

With technology so advanced,

Concept so remarkable,

Operation so utterly simple,

Cost so incredibly low.

The PET has given rise to a brand new era.

The Age of the Personal Computer

HIGH SPEED PRINTER ACCESSORY

THE PET has become the standard for the personal computer industry. Consumer and business publications have lauded its discovery. POPULAR SCIENCE and PLAYBOY have given special tribute to the''mind-boggling'' PET. IN A LEAGUE WITH IBM, HP AND WANG MINICOMPUTERS

THE PET is a minicomputer and should not be confused with game products that hook up to household T.V.'s. What sets it apart from other computers is price. While others cost from $11,000 to $20,000 and more, THE PET, with similar power, costs only $795.00.

Features an IEEE-488 Bus -- like HP's mini and full size computers. This standard data and control channel permits direct connection to many peripherals. Over 120 pieces of compatible equipment such as counters, timers, spectrum analyzers, digital voltmeters and printer plotters, from HP, Phillips, Fluke, and Textronix, etc., are currently available. ROM Magazine, January 1978, writes. "THE PET comes out of the box, plugs into the wall, and is ready to use." It is equipped with a CRT video display with reverse and blink features, an alpha-numeric keyboard with complete graphics and a built-in standard cassette tape deck. THE PET has 8K bytes of RAM [user memory]. Optional equipment permits expansion to 32K. And, it has 14K bytes of ROM [program memory].

THE PET COMMUNICATES IN BASIC. THE EASIEST COMPUTER LANGUAGE

if THE PET wants you to press a key, it will flash, "Press such and such", on the display. You speak back to it through its full size 73-key keyboard.

EXTENSIVE CHARACTER

ORIENTEDGRAPHICS

The unit features a 9-inch, high resolution, 1000 character CRT. Characters are arranged 40 columns by 25 lines on an 8 x B matrix for superb graphics.

WHAT ISTHE PET REALLY FOR?

It is the single most important teaching device for any computer related subject. It will entertain the most sophisticated data application, or the simplest inquiry/response assignment. IN THE LAB it handles instrumentation, process monitoring, and more. A number of Fortune 500 companies have already made it an integral part of their lab and general office system.

FEATURING AN IEEE-488 BUS

As a BUSINESS TOOL it will; Maintain ledgers. Keep payroll records. Create P & L's. Control inventory. Store and analyze sales data. Draw bar graphs. Issue invoices. Hook up to on-line computer system. AT-HOME it will; Compute state and federal tax returns. Make heat and insulation analyses. Keep Christmas lists. Keep checkbook and finances up to date. A variety of games, from Black|ack to Galaxy, is currently available.

Black Jack Teaching Trigonometry

This powerful word processor prints hardcopies, invoices, computer correspondence. Faster than an IBM Selectric, THE PET Printer delivers 60 characters per second at a sustained rate -- with upper and lower case capability.

Characters are one-eighth inch tall and are printed in a 7 x 8

dot matrix. The printer uses a standard BVz" wide paper

roll. And, it is only $695.00.

PERIPHERAL SECOND CASSETTE

This optional component expands storage and increases

flexibility. Only £99.95.

MILES OF SOFTWARE

Many programs are available now. including, "BASIC BASIC"

whicn shows how to write a program. You can develop your

own programs to meet personal requirements.

TECHNICAL SPECIFICATIONS

MEMORY

Random Access Memory (user memory); 8K internal,

expandable to 32K bytes Read Only Memory (operating system resident in the

computer); 14K bytes

8K-BASIC interpreter program, 4K-Operating system,

lK-Diagnostic routine

VIDEO DISPLAY UNIT

9" enclosed, black & white, high resolution CRT

1000 character display, arranged 40 columns by 25 lines

8x8 dot matrix for characters and continuous graphics

Automatic scrolling from bottom of screen

Winking cursor with full motion control

Reverse field on all characters

64 standard ASCII characters; 64 graphic characters

KEYBOARD

9V?" wide x 3" deep; 73 keys

All 64 ASCII characters available without shift.

Calculator style numeric key pad All 64 graphic and reverse field characters accessible

from keyboard (with shift) Screen Control: Clear and erase Editing: Character insertion and deletion

CASSETTE STORAGE

Fast Commodore designed redundant-recording scheme, assuring reliable data recovery

Cassette drive modified by Commodore for much higher

reliability of recording and record retention High noise immunity, error detection, and correction Uses standard audio cassette tapes Tape files, named OPERATING SYSTEM

Supports multiple languages (BASIC resident) Machine language accessibility File management in operating system Cursor control, reverse field, and graphics under simple

BASIC control Cassette file management from BASIC True random number generation or pseudo

random sequence INPUT/OUTPUT All other I/O supported through IEEE-488 instrument

interface for peripherals I/O automatically managed by operating system software Single character I/O with GET command Easy screen line-edit capability

Flexible I/O structure for BASIC expansion with peripherals BASIC INTERPRETER

8K BASIC; 20% faster than most ofher 8K BASICS Upward expansion from BASIC language Strings, integers, multiple dimension arrays 10 significant digits; floating point Direct memory access: PEEK and POKE commands DIMENSIONS 16" wide; IS1/?" deep; 14" high. Weight: 44 lbs.

Immediate Delivery

GAME PROGRAMS ARE $9.95 EACH:

D Blackjack □ Draw Poker D Galaxy Games

□ Space Flight G Target Bong, Off-The-Wall D Lunar Lander, Wumpus, Rotate, Tic-Tac-Toe D Osero, Reverse D Spacetrek , ; Kingdom PROGRAMS AT $14.95 EACH:

CI Mortgage Analysis

D Diet Planner and Biorhythm

□ Basic Basic-by Lodewyck and James PROGRAMS AT $24.95 EACH:

O Basic Investment Analysis-loans, annuities, return on regular and irregular sequences of payments, calendar calculations

□ Stock Portfolio Recordkeeping and Analysiskeeps track of buys, sells, and dividends. Calculates current value, rates of return

Z Checkbook Recordkeeping and Analysis-keeps track of checks and deposits. Analyzes expenses by date and type PROGRAMS AT $29.95 EACH: CI Basic Math Package-matrix addition, multiplication, determinants and inverses to 16 x 16, solution of simultaneous linear equations, vector and plane geometry calculations, integration by trapezoidal, Simpson s rule or Gaussian quadrature. Differentiation D Basic Statistics Package-mean, median, variance, standard deviation, skewness, kurtosis, frequency distribution, linear regression, T-tests, correlation analyses

FREE ORIENTATION PACKAGE

Your PET comes complete with two programs and an easyto-follow instruction manual. By working through the routines you will quickly discover how easy it is to gain command of your personal computer.

SERVICE WORLDWIDE

Because your PET is self-contained and compact, professional factory service is never far away. If major service is required, the unit can simply be returned by UPS to an authorized Commodore PET clinic.

To order your PET send check or money order for $795.00 plus £20.00 for shipping and insurance. To order the PET Printer, add $695.00 plus $12.00 for shipping and insurance. The Second Cassette is $99.95. No shipping and insurance charges are required when ordering, a second cassette or programs with your PET. Credit card orders are invited to call our toll free number below. Orders will be accepted on our TELEX. No. 25-5268. Use THE PET for 30 days with no obligation. If, for any reason, you are not satisfied, return it Tor a prompt and courteousrefund QRDER mKJ

CREDIT CARD ORDERS CALL TOLL FREE

800-323-2272

ILLINOIS RESIDENTS CALL:312-5950461 TELEX ORDERS: 25-5268

Order your PET, Printer Accessory, Second Cassette and Programs from Contemporary Marketing at:

790 MAPLE LANE DEPT. BT-9 BENSENVILLE, IIIINOIS 60106

Contemporary

©cmi 19781851 marketing Inc. *^

Circle 79 on inquiry card.

BYTE September 1978 55

SYNCHROSOUND

■■■■■ENTERPRISES, INC.HBBBB

One-stop shopping for Hardware and Software

Everything you need in small computer systems with special emphasis

on TERMINALS! Look at these units...compare price, quality, delivery,

service...and you'll see why you don't have to look anyplace else!

LEAR SIEGLER ADM 3A TERMINAL

• Full addressable cursor

• Display format—24 lines of 80 characters per line

• Communications rates—75 to 19,200 Baud

• Computer interfaces — EIA standard

ADM3A

Kit

ADM3A Assembled . Lower Case option

$759.95

854.95

69.00

ADDS REGENT 100 VIDEO DISPLAY TERMINAL

Display Format—80 characters per line by 24 lines. 25th line reserved for terminal status. Reverse video, underline, half and zero intensity and blinking are all standard features.

$1325.00

**M5JaMCTrflfflriWEyWff^ OT>W

////

OKIDATA MODEL 110 LINE PRINTER

• 110 CPS dot matrix

Feel" $1199.00

?eaeCd°r 1349.00 RS 232C

Interface 260.00

TELETYPE MODEL 43 PRINTER

• 132 Characters per line

• 110 or 300 Baud switch selectable

• Full keyboard

• RS 232C Serial Interface standard

$1299.00

OKIDATA MODEL 22 LINE PRINTER

125 lines per minute 132-column print line

• Upper/lowercase

• 8 different character sizes

• 12 IPS paper slew

Tractor Feed $2449.00

RS 232C Serial Interface. .. 37 9.00

DECWRITER II

• 132 column printing

• 10-30 CPS

• Full keyboard

• Tractor feed

$1495.00

56 BYTE September 1978

Circle 355 on inquiry card.

SYNCHRO SOUND

ENTERPRISES, INC.I

CENTRONICS 703 SERIAL PRINTER

V

• Low cost of ownership

• Bidirectional logic seeking printing

• Microprocessor electronics (none f\f\

• Excellent print quality 3>ZoUO.UU

CENTRONICS 761 PRINTER

• 300 Baud serial transmission

• Bidirectional and incremental printing

• RS232, CCITT-V24, or current loop interface

• Baud selection (110/150/300)

$2025.00|

Receive only version

1895.001

KSR with Keyboard.

IMSAI 8080 MICROCOMPUTER Powerful • Low cost • Easy to use

tttt»«

IMSAI 8080

^atiiSfc «**•

With 22 Slot Mother Board

$649.95

PCS-80/15 Kit

699.00

HAZELTINE 1500 VIDEO TERMINAL

• Reverse video

• 24 x 80 display

• Programmable brightness levels

• RS232 and current loop and much more"

Assembled

$1149.00 kZ$995.00

FLOPPY DISK SYSTEM

• Fully IBM 3740 media and format compatible

• Full formatter and controller built-in .

$2475.00

Digital Systems Dual Drive System

HBtniilitfil iniiiiiiiiT^

Dual Density Version

12745.00

HAZELTINE MODULAR 1 INTELLIGENT TERMINAL

• 1920 character display

• 8 different video levels

• Full editing capability

• Removable keyboard and much more

Assembled ....

$1659.00

SPECIAL BUYS

Vista V80 Floppy Disk System $619.95

Cromemco Z-2 Kit 565.25

Compucolor8001 ColorComputer 2595.00

IMS 16K Static Memory 525.00

North Star Microfloppy Disk Kit 599.00

North Star Horizon 1 Kit 1499.00

North Star Horizon 2 Kit 1899.00

Javelin 9" Video Monitor 159.95

Livermore Modem Model 76 299.00

Micropolis Model 1053MOD 2 1799.00

IMSAI AP44-44 Col. Printer Kit 299.00

TDLXitan Alpha 1 Assembled 939.95

We carry a full line of the following: TDL, Centronics, Seals, Hazeltine, Micropolis,Vista, Hayden, IMSAI, Cromemco, Digital Systems, Compucolor, Icom, Lear Siegler, Okidata, DEC, Javelin, North Star, Peripheral Vision. Same day delivery and shipping on most items. Full modern repair facilities on premises for complete servicing of everything we sell.

SYNCHRO-SOUND enterprises,

The Computer People

193-25 Jamaica Avenue,

Jamaica, New York 11423

212/468-7067 TWX: 710-582-5886

Hours 9-4 daily Visit our new showroom

and Saturday Working units on display

Dept. bbb BankAmericard • Master Charge

Circle 355 on inquiry card.

BYTE September 1978 57

A "Tiny" Pascal Compiler

Part 1: The P-Code Interpreter

Kin-Man Chung 124 Scottswood Dr Urbana IL 61801

Herbert Yuen

POB 2591, Station A

Champaign IL 61820

Roughly speaking, a compiler is a program that translates the statements of a high level language (such as Pascal or FORTRAN) into a semantically equivalent program in some machine recognizable form (such as machine or assembly code). The former is usually referred to as the source program while the latter is called the object program. An interpreter, on the other hand, reads in the source program and starts exection directly, without producing an object program.

There is little doubt that compilers and interpreters are a necessary part of any computer system. The reason most personal computer systems do not have high level language compilers is not that there is no need for them. Compilers, being inherently more complex than interpreters, require more effort to write and more computer memory to run. The main advantage of a compiler over an interpreter is the relative speed. A compiled program typically runs

About the Authors

Kin-man Chung is currently a graduate student at the University of Illinois at Urbana-Champaign. Presently his equipment includes an Altair 8800 with 44 K bytes of memory, a North Star disk system, a 100 cps impact matrix printer, and a Selectric terminal. His current interest in microcomputers is the development of an Interactive Pascal compiler for microcomputers, and a high resolution graphics system capable of animation.

Herbert Yuen received a master of science degree in computer science from the University of Illinois at Urbana-Champaign. He is presently working full-time as a research assistant at the university. His primary interest in microcomputers is software systems development. One of his future plans is to implement a small information retrieval system for a microcomputer.

an order of magnitude faster than an equivalent program executed interpretively. In fairness, it must be also pointed out that interpreters are usually easier to use, and more suitable for an interactive environment.

This series of articles is an attempt to describe how a compiler for a subset of Pascal was implemented on an 8080 computer system. It is not our intention to go into details for the reasons for the choice of the language. Pascal is widely recognized as superior to many other languages. For an overview of the language, readers are referred to August 1978 BYTE. The publication, Pascal: User Manual and Report, by Kathleen Jensen and Niklaus Wirth (Springer-Verlag, 1974) should also be consulted as the authoritative source book on the language in its original form.

This is not, of course, the first Pascal compiler ever written for microcomputers. However, instead of waiting for a Pascal compiler to be written for our particular processor, we decided to undertake the project ourselves. In this way, we can add or subtract features from the original Pascal to suit our needs and system capabilities, so that it can be easily integrated with other system software developed so far.

2 Stage Compiler

The compiler is divided into two stages: a p-compiler and a translator. Instead of having the compiler generate machine code directly, it generates code for a hypothetical machine, called the p-machine. These codes, called p-codes, are then converted into the target machine codes by the translator. Dividing the task of a compiler into two stages offers several advantages. The compiler can be written abstractly, without committing oneself to a particular machine and worrying about details of code generation and optimization. Such a compiler is said to be portable, meaning that it can be used on other computer systems with minimal start up effort. It is only at the last stage of code translation from the p-codes to actual machine codes that we have to commit ourselves to a particular machine.

Another advantage this method offers is greater flexibility when writing the compiler. The compiler and the translator can be coded and debugged separately. The flexibility of such a compiler was apparent to us as we started to introduce more and more Pascal features into our original minimal subset. Seldom was it necessary for us to introduce new p-codes other than those originally specified.

There is also one more reason for breaking

58

September 1978 © BYTE Publications Inc

meet

Now you can buy a complete operational keyboard with full ASCII code capabilities, built to commercial standards, yet priced for the personal user who needs only one. This is not a surplus unit or a manufacturer's overrun, it's a new board designed specifically for the personal computer user.

MAX is MOS/LSI encoded, and includes all 128 ASCII characters, two-key rollover protection and two non-encoded keys with relegendable keytops for user assignment. Everything you need to start entering data immediately.

Individual keys for CARRIAGE RETURN, LINE FEED and ESCAPE are provided to give you these important functions without multiple key closures. A low-cost MAX option kit (Part No. 620002) lets you add four CURSOR keys and a HOME key if you need those functions. Coding is already provided.

MAX low-profile switches have gold contacts with wiping action for long life and reliability, and plunger action that is smooth and precise.

Maxi-Switch is a leading supplier of keyboard products to the data terminal industry, and MAX comes from a fine family. Get the full story on the new MAX keyboard for personal computing.

MAX is sold only through authorized dealers such as Century Research & Marketing. To order your MAX, use the coupon supplied.

Send to: Century Research & Marketing 4815 W. 77th St. Mpls., MN 55435 612-831-8586

Enclosed is $69.95 (plus $5.00 shipping and handling) per MAX keyboard. (For Cursor Kit, add $3.95.) Please send

MAX

keyboards to.

Address_

City_

State.

Zip.

WBB^MB

THEt

SWITCH GO

9697 EAST RIVER ROAD • MINNEAPOLIS, MINNESOTA 55433

(612)755-7660 TWX 910-576-2690

Circle 218 on inquiry card.

BYTE September 1978 59

MEMORY LOCATION

OOOO r

1000

2000

0000

IAOO

2000 2A00

558C

4000

5000

7000

8000

9000 L 9000

BASIC INTERPRETER

O

CREATE/EDIT USER PROGRAM

P-CODE

BASIC

INTERPRETER

P- COMPILER

7800

BASIC INTERPRETER

TRANSLATOR

TRANSLATED 8080 CODES

©

(5) TRANSLATE

P-CODE

RUN-TIME ROUTINES

DOS

RUN-TIME STACK

P-CODE INTERPRETER

(D INTERPRET

RUN-TIME

DOS

STACK

PASCAL PROGRAMS

(D EXECUTE

Figure I: Memory overlay structure of the modules of the compiler. The North Star DOS and BASIC start at hexadecimal 2000 and take up approximately 14 K bytes of memory. The p-compiler is the largest BASIC program of the system; in its compressed form (void of all comments and blanks) it occupies 14 K bytes. It reads Pascal source programs created by the editor from disk files, and generates relocatable p-codes directly in memory. We use hexadecimal 0000 to 19FF for p-codes and find it adequate for Pascal source programs under about 300 lines in length. The smaller translator (9 K bytes) produces 8080 codes directly filled into memory. The origin of the codes can be specified. The run time routines (which total 1 K bytes of memory) are needed only when the translated 8080 codes are being executed. The interpreter is written in Pascal, compiled and translated. The BASIC interpreter is no longer needed when it or any other Pascal program is being run.

the compiler into two stages: most small computers do not have enough memory space to store the complete compiler. After the p-codes are generated, the p-compiler is no longer needed, and can be overlaid with the translator. Therefore the compiler and the translator can share the same memory locations.

Actually we also use two other utility programs: a text editor and a p-code interpreter. The editor is used to prepare the Pascal source programs. The interpreter is used to interpret the p-codes produced by the p-compiler. This provides another alternative for running the Pascal programs. Because it is equipped with various debugging aids, such as setting up breakpoints in p-codes and outputting values for variables, debugging can be easily done. Only after a program is verified to be correct is

the translator loaded, and 8080 code produced. This allows easy development of the Pascal programs without sacrifying efficiency at run time. Figure 1 shows the overlay structure for the various modules of the compiler. Figure 2 shows the logical flow during a program development. In this part of the series on our project, we will describe the general plan. The Pascal subset is defined using syntax diagrams. A description of the p-machine and its codes are also given. We will discuss the p-compiler, translator and runtime routines in the following parts.

Bootstrap Compiler

How does one introduce a new language into a computer system with limited computer resources? By computer resources we mean not only the computer hardware like memory and peripherals, but also software tools. We have learned from experience not to attempt programs with the complexity of a compiler in machine or assembly language. This left us with BASIC. Although it is not the most desirable language to write a compiler with, it turned out to be adequate. Some careful thought is needed, of course, to handle recursive subroutine calls from BASIC, a feature central to our compiler writing.

The alternative to BASIC is to go to a commercial computer and write the whole or part of the compiler in an appropriate

60 September 1978 © BYTE Publications Inc

satisfaction starts here

MEET THE

ECONORAM FAMILY . . .

These static memory kits deliver outstanding performance at prices even the dynamics can't match. What others consider "extras" we consider necessities, such as buffering on all lines, reliable DMA, sockets, goldplated card fingers . . . and all the other signs of quality that make up an Econoram.

More good news: Our memory kits (except Econoram IT") are now "Unkits". All sockets and bypass caps are pre-soldered into place, turning an otherwise tedious assembly job into a pleasurable, one evening project.

We want to be your memory supplier: and that means offering a superior product at the lowest possible price.

8K ECONORAM II

TM

Just try to find a more cost-effective S-100 package! Better yet, get 3 kits (24K of memory) for only $375. Add $20 per board for assembled/tested.

$135

16K ECONORAM IV™

Ideal for S-100 buss system builders who need a big chunk of memory that draws less than 2000 mA. Manual write protect for 4K blocks; use with or without phantom line. Add $35 for assembled/tested. ^57Q

24K ECONORAM VII™

A dense and flexible S-100 board that draws less than 2000 mA. Configured as two 8K and two 4K blocks with independent addressing and protection. Use with or without phantom lines. Add $40 for assembled/tested. <jr A A K

MORE ITEMS . . .

TRS-80 16K CONVERSION KIT

Why settle for the limitations of a TRS-80 4K system? Expand it to 16K with our conversion kit. Includes eight uPD416 lxl6K dynamic memories and instructions for converting your machine to 16K. You could pay up to $290 elsewhere . . . but our kit is only A .«t\f\ f\f\

CPU POWER SUPPLY

Here is an economical, conservatively rated power supply for small computer systems or digital/analog bench work. Delivers + 5V @ 4A with crowbar over-voltage protection; also gives ± 12 @ V2A per side. Adjustable negative bias supply, 5 - 10V @ 10 mA. All in all, if you need a small power supply you can't beat the performance or the price. 4 ^f\

11 SLOT MOTHER BOARD "CINKir' $90

Those who recognize value have made the 10/11 slot Motherboard one of our most popular nonmemory kits. Now, we've made it even more desirable by pre-soldering all 11 edge connectors in place to take the tedium out of assembly. Includes our much-copied active termination circuitry that takes the noise, glitches, ringing, and overshoot problems off your buss for optimum data transfer ... as well as all edge connectors and plenty of bypass capacitors.

18 SLOT MOTHER BOARD KIT $124

Same features as our 11 slot version; includes 18 edge connectors and active termination circuitry.

COMING SOON:

A NEW FAMILY OF ECONOROMS™

Don't load and reload often used programs or routines; store them in one of our ROM boards. We're putting final touches on 2 boards; one is 16K, configured as 4 independent 4K blocks with optional power on start, and uses 2708s. Our other board combines both ROM and RAM and uses 2716s. Watch this space for further developments.

(I

BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT, CA 94614

TERMS: Please allow up to 5% for shipping; excess refunded. Add $1 handling for orders under $10. Cal res add tax. COD OK with street address for GPS. For VISA'- /Mastercharge® orders ($15 min) call our 24 hr. order desk at (415) 562-0636. Prices good through cover month of magazine.

Circle 150 on inquiry card.

BYTE September 1978

61

■v^y*Wm* Fully Static TMS 4044

250 nsec. chips—$425

Z-80A 4 Mhz. Fas*—This fully assembled and tested 16K board was designed to operate without wait states in a 4 Mhz. Z-80A system allowing over-generous time for CPU board buffers.

450 nsec. chips—$375

For 2 Mhz. Systems—Same circuit as above but priced lower because of less expensive memory chips. It is fully assembled, burned-in, tested and guaranteed.

8K Versions Also Available

Both boards available fully assembled with sockets for all 32 MOS chips but supplied with only 8K of chips. 8K—250 nsec—$265. 4K chip set—$95. 8K-450 nsec—$235. 4K chip set—$85.

Fully Static Is Best — Both boards use the state-of-the-art Texas Instruments TMS 4044 which requires no complicated and critical clocks or refresh. The fully static memory chip allows a straight-forward, "clean" design for the board ensuring DMA compatibility. They use a single 8 volt power supply at 1.8 amps nominal.

Fully S-100 Bus Compatible—Each 4K addressable to any 4K slot and separately protected by DIP switches.

Commercial Quality Components—First quality factory parts, fully socketed, buffered, board masked on both sides, silk-screened, gold contacts, bus bars for lower noise.

Guaranteed: USA customers — parts and labor guaranteed for one full year. You may return undamaged board within ten days for full refund (factory orders only — dealer return policy may vary). Foreign customers — parts only guaranteed; no return privilege.

Check your local computer store first

Factory Orders — You may phone for VISA, MC, COD orders. ($3 handling charge for COD orders only) Purchase orders accepted from recognized institutions. Personal checks OK but must clear prior to shipment. Shipped prepaid with cross-country orders sent by air. Shipping — normally 48-72 hours. Washington residents add 5.4% tax. Spec, sheet, schematic, warranty statement sent upon request.

A

l Seattle Computer Products, Inc.

^"«-^ 1114 Industry Drive, Seattle, WA. 98188 (206) 255-0750

language. The finished product (or part of it) can then be transferred to the smaller computer. This is, however, a luxury most of us cannot afford.

Of course, the compiler written in BASIC

( start j

WRITE PASCAL SOURCE PROGRAM

ENTER

SOURCE

PROGRAM

I LOAD ;

I P-COMPILER I

I

.J

I 1

I LOAD

I INTERPRETER [ I AND RUN-TIME <~ I ROUTINES |

I I

INTERPRET

P-CODE

PROGRAM

| 1

| LOAD EDITOR I | AND SOURCE | | PROGRAM |

I I

I

| LOAD '

I TRANSLATOR \

L J

TRANSLATE

P-CODE

INTO

8080 CODES

EXECUTE

8080

CODES

LOAD -I RUN-TIME

| ROUTINES

I

( END J

Figure 2: Flowchart showing development of a Pascal program.

62 September 1978 © BYTE Publications Inc

Circle 313 on inquiry card.

would be very inefficient and slow. But this actually would not matter, since it would only be used as a bootstrap compiler. The concept of bootstrapping should be familiar to most personal computer owners. We usually use it when initially starting up our computers. After turning on the power, a bootstrap loader is first loaded into the computer (either manually or through the use of read only memory). This bootstrap loader is then used to load the loader, which in turn loads the monitor into memory. The bootstrap loader is a smaller version of the loader; it is just big enough to load the main loader and not adequate to be a general purpose loader.

The same idea can be applied to compiler writing. A compiler for a small subset of a language is first written. This subset should be big enough so that a compiler for a bigger subset of the same language can be written in it. The larger compiler is then written and compiled, using the first compiler. Next, a compiler for a still bigger subset of the same language can then be written and compiled, using the second compiler, and so on until a compiler for the complete language is produced. In actual practice, no more than three stages are used. It does not matter if the first compiler is very inefficient. The idea is to get a working, albeit primitive

and inefficient, compiler with minimum starting effort.

Pascal Subset Syntax

The syntax of Pascal can be described precisely by using a notation usually called Backus-Naur form (BNF). This is a collection of rules for the grammar of the language. Instead of dealing with Backus-Naur form directly, we use an equivalent but more understandable notation: the syntax diagrams. Figure 3 describes the syntax of the Pascal subset we are interested in.

In the syntax diagram, the square boxes are called nonterminal symbols, while the ovals are called terminal symbols. Terminal symbols are the basic building units of the language and require no further expansion. In our case, the names that represent the terminals are also their textual representations in the language. The nonterminal symbols in the syntax diagrams can be expanded using rules specified in another syntax diagram, and there is a syntax diagram for each nonterminal symbol in the syntax diagram. A branch in the diagram represents options allowable by the grammar. When all nonterminal symbols are eliminated by expansion in this fashion, we would have a valid program. We start off a compilation with the nonterminal program. Looking at

SAVE THE WHALE

The world's best computer may be inside a Sperm Whale's head.

The Sperm Whale has the largest brain of any creature that has ever existed on our planet. The brain of this 18-meter marine mammal weighs up to 9 kilograms. It uses echo-location to find giant squid at ocean depths of over 1,000 meters. More than 13,000 sperm whales are scheduled to be slaughtered this year by agreement of the International Whaling Commission.

The CONNECTICUT CETACEAN SOCIETY is a small, totally volunteer, non-profit education and conservation organization dedicated to seeking the abolition of all whale killing. Any concerned citizen can help our efforts by sending name and address and a $10 or more contribution to CCS, P.O. Box 145, Wethersfield, CT 06109.

There are two mountain peaks of evolution on planet earth: on the land, homo sapienshuman beings: in the sea, cetaceans- whales, dolphins, and porpoises.

Drawing by Don Sinili

Circle 143 on inquiry card.

September 1978 © BYTE Publications Inc

63

PROGRAM

■o

BLOCK

^ »

►TconstV

IDENTIFIER

CONSTANT

O

A/A Ft V

IDENTIFIER

O

o

^ CiJ* (TnTEGEf7\<

0—

►(array)—*V^) * CONSTANT

-•/PROCV

IDENTIFIER

OH

IDENTIFIER

O

GH

►(begin V

STATEMENT

o

»(end)

Figure 3: Syntax diagrams of the Pascal subset. For the syntax diagrams of the full Pascal set refer to the book by Kathleen Jensen and Niklaus Wirth, entitled Pascal: User Manual and Report. These diagrams totally define the subset of the language that we are using.

the syntax diagram we see that a program is a block followed by a period (.). Looking at the syntax diagram for block, we notice that it can have an optional declaration part followed by the main body which begins with the string begin, followed by any number of the nonterminal symbols, statement, separated by semicolons (;), and then the string end. The statement block can be further expanded by the syntax diagram for statement, and so on.

The reason we go through the details here is because it is important to precisely describe the features we want to include in our language before starting to write the compiler. It is the first step towards writing the compiler. These syntax diagrams will later become flowcharts for the syntax analyzer of the compiler.

Readers familiar with Pascal will no doubt notice several important features missing from our subset. There is no GOTO statement. The only data type we have is integer and integer array of one dimension. Also missing from the subset is the structured

data type, pointer type, user defined type, and file type. A less obvious omission is passing the parameter of a procedure by address; the parameters are passed by value only. Aside from the fact that these features are difficult to implement, they are not indispensable in our bootstrap process. Of course, features like user defined type and structured type are some of the unique features of Pascal, and should not be omitted in the long run. But we feel that they can be added later.

We have also included some trivial but nevertheless useful enhancements to the language, which we hope do not deviate from the standard too much. One is the addition of the optional clause else to the case statement which provides an exit path if the value of the variable does not fall into any of the case labels. Another is the inclusion of format controls in the read and write statements. Following an expression in a write statement, a pound sign, #, indicates numeric form and a percent sign, %, indicates hexadecimal format. If there is no

64

September 1978 ©BYTE Publications Inc

format control, a character whose ASCII code equals the expression is output. Also a hexadecimal constant is prefixed by %. This allows processing of hexadecimal numbers without conversion by the user.

To allow interfacing Pascal programs with assembly programs, a facility is provided to read or write a byte from or to absolute memory locations. The array mem is a reserved array name that is used to do this.

EXPRESSION

SIMPLE EXPRESSION

SIMPLE EXPRESSION

SIMPLE EXPRESSION

TERM

IDENTIFIER

►(letter^

INTEGER

STRING

o

r

( character ~y~

o

HEXINTEGER

r(~^\ .-^HEXADECIMAL^ ./^HEXADECIMAL^ ,/^HEX ADECIMAl *N ./^HEXADECIMAL

\t) \digit J *\DIGIT J \digit ) \digit

Figure 3, continued: Elementary constructs for Pascal subset. Hexinteger is usually not defined in Pascal but is used here so that actual memory locations can be easily manipulated.

Continued on page 149

September 1978 © BYTE Publications Inc 65

Announcing

The Doubler

iTTTmrrfnTfmnratnrimrmfT

The ultimate floppy disk controller.

DOUBLE

DENSITY means

DOUBLE CAPACITY w.th

DOUBLE RELIABILITY

Replace your old controller board with THE DOGBLER. Your disk system capacity is doubled. Your cost? $495.

S-100 compatible

Supports up to four drives— Single- or double-headed — mini- or full-sized.

IBM compatible — 3740 and 2D

CP/M* version Incompatible.

Transparent single or double density operation.

Reads/writes consecutive sectors for high-speed operation.

Full formatting capabilites.

Performs power-on jump.

Digital phase-lock oscillator with write pre-compensation.

Automatically unloads drive heads when not in use.

THE DOUBLER comes fully assembled and extensively tested. Priced at $495, including: PROM bootstrap; CBIOS for CP/M*; hardware U ART with RS 232 interface; complete documentation; utility programs; and a one-year

Warranty. *CP/M is a trademark of Digital Research Available NOW at retail computer stores.

524 Union St. San Francisco, Ca. 94133 415-398-0289

Continued from page 17

List price was about 100,000 Yen, which means it will sell discount for about 80,000+ Yen. Like the PC1200 (already on sale in the US) the PCI 300 seems to use Sharp's own 4 bit 1 chip 64 pin flatpack microprocessor, with 2 K bytes of read only memory on chip. Sharp earlier released the EL-6000, a child's arithmetic practice calculator.

Mitsubishi had a 4 bit microprocessor (M58840) with on-chip 8 bit analog to digital converter (5% accuracy claimed).

Panafacom had the C15, a BASIC, language 16 bit machine with touch keyboard, video display, 15 ips Philips cassette, but no printer (it will be an option). Its BASIC includes graphics, matrices (option) and strings, cassette tape utilities and commands for its I EC bus option. (The 16 bit chip is not new.) 700,000 Yen with 16 K memory, 16 K expansion will be option. They also have a do it yourself kit, the "l.-kit," with color graphics.

NEC's BASIC station, a do it yourself 8080 board with hexadecimal keyboard, plus separate alphanumeric keyboard, video (TV) and cassette interfaces, runs a 4 K Tiny BASIC with peek, poke and graphic commands. It costs about 200,000 Yen. Their Level 2 BASIC, with strings, subscripts and arrays, and standard (sin, log, etc) math routines plus up to 18 character alphanumeric names, is due in |uly. (Level 1 and Level 2 are not compatible, maybe they plan to use their new 16 bit chip JUPD768B).

A small company, INPEX, has an 8085 kit with large keyboard for machine language programming; the keys correspond to opcodes. Cost is about 80,000 Yen.

KS Wilkinson

CPO Box 1748

Tokyo 100-91

|APAN

RARE CHASSIS?

I want to thank Dan Fylstra for his article in the May 1978 BYTE, page 22, "Convert Your TV Set to a Video Monitor." It was clearly written and well illustrated. I was about to purchase a TRS-80 from Radio Shack and his article convinced me that I should buy a Hitachi TV and a Pickles and Trout converter. Thus 1 would have both a computer display and a portable TV.

But alas! I live in Dallas TX. And in Dallas TX not one store that I called that handles Hitachi TVs has the models with the SX chassis! What's more, the Hitachi district offices listed in the yellow pages have closed and I was given a phone number in Atlanta GA! Now I could have called long distance to Atlanta, but I wasn't interested in ordering a TV from Atlanta orTokyo. Chances are the model has been discontinued anyway.

Pickles and Trout had a good idea, but does a 12 inch TV exist that is not AC/DC? A TV chassis with a transformer

type power supply does allow an easier hookup than does a "hot" chassis. But if one is not generally available, there is a market for an AC/DC converter that is as specific as the Pickles and Trout unit.

As for me, I ordered the TRS-80 complete with display cathode ray tube (CRT). After all, they toss in the cassette recorder if you buy the whole thing! But I do hope the SX chassis does exist elsewhere so others can use Mr Fylstra's article.

Clarence ) Stinson

9138 Chimney Corner

Dallas TX 75243

NEEDED:SATELLITE RECEIVER WITH IMAGING CAPABILITY

I would be so grateful for some information concerning satellite receiving stations using computers for data storage and video display. (I am interested in observing cloud cover.)

If there has been any article in your publication (or any other, for that matter) which deals with this subject I would be so pleased to know about it. Perhaps someone has developed such a station using their microcomputer, and who would be generous enough to share their knowledge with others as an article.

Thank you for any help you can provide.

Brad Slocum 236-D E Red Oak Dr Sunnyvale CA 94806

We've not published such an article to date, but it would make an excellent topic for the homebrewer. For output one could use one of the new electrostatic printers with graphic capability which retail for about $800 -- or simply display the images on your video outputs with bit map graphics, possibly using colors where available. . . .CH

DREAMING . . .

I am 1214 years old, and plan to get a computer system up and running in the near future. The mainframe I have selected is the Heathkit H11, incorporating the DEC LSI-11 processor. I chose this mainframe because of the processor employed and the low price, only $1295. This price is offset by a few disadvantages, such as its bus, with only six slots, and the fact that its price is only relatively low (at this time I have only $724.08). But, like any other problems in this world, these can be solved. I can fix the bus problem by simply buying an expansion interface from DEC, but this makes the second problem worse yet. And, unlike other problems, buying more of what you need (money) simply defeats itself in its purpose. So I just have to save. (And save, and save. . . .)

However, by the time I finally do

66 byte September 1978 Circle 231 on inquiry card.

have the money for it, something bigger and better (and slightly more expensive) will have appeared on the horizon. I will probably continue at this pace until I am a millionaire at 21. At this point, of course, I will buy a large computer from DEC or some other company and charge people to timeshare on it. Only problem is, I don't know where I am going to get the million dollars in the first place. It's nice dreaming, though, and my dreaming is going to get me somewhere in this world. (I hope so, anyway!)

Norman Aleks

659 Driftwood Ln

San DimasCA 91773

A sound philosophy. . . .

GOTCHA!

On page 154 of the May 1978 BYTE you described the new products by Lucas-Adams Labs Unltd. The address of this manufacturer was not printed. Could you please let me know the address so that I can enquire about the products?

K L Yeap

2217 7th Av NW

Calgary, Alberta

CANADA T2N 0Z9

Unfortunately, Lucas-Adams Labs Unltd did not supply us with their address. However, we thought that our readers would be interested in their (totally fictional) product line so we published the press release. I am sure that with perseverance, their address may be found in the combined annals of April fools jokes for this year. . . RGAC

KUDOS FOR KENT

It seems E W Kent ("The Brains of Men and Machines," January through April 1978 BYTE) has violated Higher Education Law #1: Never explain complex issues in understandable terms. Kent must be aware of the ramifications of violating this most basic principle of higher education, the most significant being the release of usable information to lay people who might understand it and use it.

Kent has produced a classic, and has given the computer scientist a game plan for the creation of the first real cybernetic system. He has also given the electrical engineering community a new direction: if you are an engineer, think neuron and cortex instead of bus and processor. While you are doing this (in conjunction with people like E W Kent), the computer scientist will be developing algorithms and operating systems to support your hardware. We have a long road ahead, but thanks to Kent we're on our way.

David R Fashenpour

5411 Cerro Vista

San Antonio TX 78233"

COMPLETE ONLY $5145

MAN/PAK HORIZON-2 COMPUTER

ZBO CPU

32K Memory with

Parity Option

12 Slot Motherboard

Parallel & Serial Interfaces

6 100 Pin Edge Connectors

Dual Floppy (180,000 Bytes)

Enhanced DOS/Basic

COMPU 1-2-3 SYSTEM

HAZELTINE 1500 m VIDEO TERMINAL

Programmable Brightness Levels Automatic Repeat on all Keys 24x80 Display on 12" screen Non-Glare/High Legibility Upper/Lower Case Reversible Video Audible Alarm

SEMBLED READY-TO-GO!

PLU

J CENTRONICS 779 SERIAL PRINTER

Excellent Print Quality Tractor Feed Print Speed: 21-130 Ipm Max. Print Width 8" 80 or 132 char/line

DOS witn i/u Drivers for HAZELTINE & CENTRONICS ■ All Cables

10 Diskettes

OPERATIONAL IN SECONDS:

®Connect /^Nlnsert DOS r/7»N\Hit Cables 'O/Dlskette V^/Reset

SAVE TIME, ENERGY & MONEY!

Components purchased separately cost $5693. Now for a limited time only — send $5145 to:

120 Bethpage Rd. ■ Hicksville, N.Y. 11801 )LLECT: (51

Gentlemen:

Please rush me my Complete Computer System.

Enclosed is $5145 □ Check □ M.O. □ Master Charge

□ BankAmericard # Exp. Date:

N.Y. Residents Add 8% Sales Tax. Shipped F.O.B. Hicksville, N.Y. - Collect.

NIamp

Phnnp

Oity

State

-Zip

:ircle 216 on inquiry card.

Please send more information Dealer Inquiries Invited

SINGLE INPUT PATH

C

5

PROCESS

SINGLE OUTPUTPATH

C.

5

ASSUMED FLOW OF EXECUTION

Figure I: The process block is the "black box" of programming: it is entered by a single input path, does some arbitrary operations upon data, and is exited by a single output path. The "arbitrary operations" can be as simple as one step in an arithmetic calculation, or as complex as a compilation of a program — it all depends on the point of view taken.

Some Words About Program Structure

Albert D Hearn 98 SW 13th Av Boca Raton FL 33432

Microprocessor programming, at this point in time, is a black art. Once you have learned the basic instruction set, you're on your own. Some people get the knack of this mysterious task fairly quickly, and some do not. Those who do well seem to have developed some sort of system for going about it. The point is that an organized, systematic approach is required if there is any hope for continued programming success. The purpose of this article is to describe to you one such method which has become very popular with programmers of all types, using all kinds of computers from micros to the giants.

Concept

What we're looking for is simplicity in the writing of programs. This is usually achieved if the program can be reduced to a collection of basic components which fit together in very well-defined ways. This is the concept behind structured programming.

Any program can be considered to have only two basic building blocks. One is the

process block shown in figure 1. It simply performs some defined function, or process. It might represent a simple function requiring only a few, maybe only one, instructions in the program, or a much larger function requiring many instructions. Whatever it does, it has one input and one output.

The second basic block is the decision block shown in figure 2. This elementary capability of any computer is that which gives it all its power and flexibility. It is the ability to alter the path taken by the program based upon the value of some parameter or condition which can be tested by certain instruction types. For example, two numbers can be compared and a test for equality used to decide which of two program paths will be taken as a result.

These two fundamental building blocks will now be used in the construction of a set of basic program structures with which any other program can be built. The three general structures are called sequence, ifthen-else and loop. Variations of these will be examined, as well as combinations which can be used to build more complex functions.

ASSUMED FLOW OF EXECUTION

Figure 2: The decision block is a simpler concept than the process block, in the sense that the amount of computation required rarely approaches the generality of an "arbitrary process." A decision block has one input and, depending upon a binary condition, takes one of two output paths. In this figure, the names "true," "then" and "yes" denote one possible path; the names "false," "else" and "no" describe the other possible path. In programming languages, the "then" or "else" terminology for the two paths is frequently built into the language design; the other terms are frequently seen in flowchart representations of programs.

TWO OUTPUT PATHS ("UNSTRUCTURED")

68 September 1978 © BYTE Publications Inc

Remember: In structured programming, everything is a process block, with one input path and one

output path.

Editor's Note:

BYTE Flowchart Flow Conventions

As an "ideal" standard, flowcharts in BYTE use a direction of flow convention as follows:

Default flow: Vertical flow is from the top of a diagram toward the bottom, and horizontal flow is from the left of a diagram towards the right, unless explicit flow is used. Thus:

IMPLIED FLOW SHOWN BY ARROWS

Explicit flow: Vertical flow upward or horizontal flow leftward in a drawing is shown with an explicit arrow at the end of the flow path, thus:

EXPLICIT FLOW ARROW AT END OF PATH WITH HORIZONTAL FLOW TO LEFT OR VERTICAL PATH UPWARD

Merged flow: When two or three paths of flow merge, the two or three inputs to the joint path have arrows noted:

INPUTS

I

OUTPUT

OUTPUT OUTPUT

Put exceptional

versatility and control

into your S-100 bus

system with the

'biueboards\..and

save

money

in the

bargain!

I

XB1 Extender Board Board Only $9.00 With Connector $13.50

: : : :

MT1 IS slot Mother Board Board Only $45.00 With Connectors $105.00

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

VB1B Video Board Kit $149.95

MB6A 8K Static RAM (low power) Kit $165.00

SB1 Synthesizer Kit Kit $149.95

MB3 2K/4KEPROM(1702A) Kit less PROM's $65.00 2K—S105.00/4K—$145.00

SI

:»«3 . . ,-,

1/02 interface Board Kit $55.00

,' MB7 16K Static RAM (low power) Kit $449.00

We're the blue boards!

Compare the Cybercom blue boards with any others on the market today. You'll find exceptional quality plus prompt delivery and significant cost savings. All Cybercom kits are guaranteed 90 days for parts and labor.

Contact your local computer hobbyist store or write for details.

Solid State Music

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

Circle 335 on inquiry card

BYTE September 1978 69

SEQUENCE STRUCTURE

SINGLE INPUT • PATH

FROM THE OUTSIDE THIS LOOKS LIKE A PROCESS BLOCK

£%.

PROCESS N

PROCESS N + l

I

SINGLE

OUTPUT

PATH

ASSUMED FLOW OF EXECUTION

Figure 3: The sequence structure is the simplest programming structure. It can be viewed from the outside as the equivalent of a process block, but upon close examination it is found to contain one or more process blocks.

Basic Structures

The simplest of the program structures, shown in figure 3, is the sequence structure, which is composed of one or more process blocks strung together serially. Like the process block from which it is built, the sequence structure has only one input path and one output path. In fact, you will soon see that one of the rules that we want all structures to conform to is that they have a single input path and output path. Furthermore, an entire program, which can be represented by one large process block, should also conform to this rule.

The next structure is the if-then-else structure, shown in figure 4. It consists of a decision block and two process blocks. Only one of the process blocks is executed for any single pass through the structure. The result of the test or comparison represented by the decision block determines which process block is chosen. Notice that

SINGLE

input •

PATH

I—

^t

FROM THE OUTSIDE THIS LOOKS LIKE A PROCESS BLOCK

r

IF-THEN-ELSE STRUCTURE

TRUEITHEN, YES)

FALSE (ELSE. NO)

BOTH

PATHS

JOIN

SINGLE OUTPUTPATH

TRUE PROCESS

ASSUMED FLOW OF EXECUTION

Figure 4: The if-then-else structure is composed of a decision block and two process blocks. The process blocks may themselves be viewed as any form of structure with a single input and a single output path, and thus might in fact be sequence structures, if-then-else structures, etc.

regardless of which path is taken there is one common exit path from the if-then-else structure. This is required to maintain our single exit philosophy.

An if-then-else structure does exactly what it says: If a condition is true, then take a specified action, else take a specified alternate action. However, there are times when only one action is required in only one of the paths. No action is necessary in the other path. In an actual flow diagram, this is of course shown by drawing a flow line in place of one or the other process block of the if-then-else structure since the most trivial process is simply going to the next process without doing anything. Note however that only one of the process blocks can be made up of this simplest case of "do nothing" since if both process blocks were eliminated from the if-then-else structure, the net effect would be to "do nothing" all the time whether or not the condition was true or false.

The if part of an if-then-else structure is simply any program instruction which can perform a test and take one of two paths depending upon the outcome. In an assembly language, this is usually a conditional jump or a branch instruction based upon the outcome of some comparison, arithmetic operation or other operation which affects processor status flags used in such branches and jumps. The branching instruction specifies the destination address of the beginning of one path. Whether it is the then or the else leg is arbitrarily defined, and the next sequential instruction is assumed to begin the opposite path.

Some higher level languages like BASIC have ready-made if-then-else instructions. BASIC has IF and THEN; ELSE is implied. The following shows how an if-then-else would look in BASIC:

IF X=YTHEN 10

GOTO 15

FALSE PART

10

I TRU

EPART

15 END

In this example, the else code immediately follows the IF instruction. The GOTO 15 ends the else path and causes the program to branch to the common exit point at line 15. The then path starts at line 10 and ends at line 15. [BASIC is considered to be an "unstructured" language because of the need for an explicit GOTO following

70 September 1978 © BYTE Publications Inc

4tse

THE NMS 85 SERIES NORTHWEST MICROCOMPUTER SYSTEMS

LASSIC OEM DEVELOPMENT TOOLS

Full 8085 (3 or 5 Mhz) Hardware

Two (or more) 570 Kb Dual Density Disks

Floating Point Hardware, Timers, Parallel

Ports, Modems, and other options

PASCAL, COBOL, FORTRAN, BASICS,

ASSEMBLER

Screen Oriented Editor, Sort, Screen

Forms Builder, Decimal Arithmetic

Jgj^^LSjp

• "Accounts Receivable: Billing, A Full Ftirms Data Entry

• Word Processing: Screen Edit, Search, Justification, Page Numberinn Headings, etc.

• Client Information Man

• General Ledger el Dispensing and Accounting

121 EAST ELEVENTH, EUGENE, OREGON 97401 (503) 485-0626

Circle 286 on inquiry card.

SINGLE

INPUT

PATH

(—

I

:>1T

--DO-UNTIL STRUCTURE 1

PROCESS (EXECUTES I TO P TIMES)

FROM THE OUTSIDE

THIS LOOKS LIKE

A PROCESS BLOCK i

SINGLE OUTPUTPATH

ASSUMED FLOW OF EXECUTION

I

Figure 5: The do-until structure is a looping form whose purpose is to execute a given process block at least once. After executing the process block, the "until condition" is tested and if found to be false, execution loops back to repeat the process block before testing the condition again.

the "false part" of an IF-THEN-ELSE construction. ]

If you use assembly language in your programming, and your assembler has a macroinstruction capability, then you can write your own if-then-else macros. It is beyond the scope of this article to describe how this is done, but it isn't very difficult.

If you use assembly language and don't have facilities for writing macros, then you can simulate the function of the macroassembler in order to gain the advantages of structured programming. Simply sit down and write yourself a set of standard if-then-else structures. Take the five or six most common decision types (equal, not equal, zero, greater than, etc) and write

/*

&r—

ASSUMED FLOW OF EXECUTION

FROM THE OUTSIDE THIS LOOKS LIKE A PROCESS BLOCK

Figure 6: The do-while structure is a looping form whose purpose is to execute a given process block only If the "while condition" is true. Thus it can execute the process block zero times if the condition is false initially, or an arbitrary number of times so long as the condition remains true during repeated execution of the process block.

skeleton programs for each. Leave blanks for the actual condition to be tested, and leave space for the actual code which will perform the then and else functions. Later, when you need an if-then-else while writing a program, you can draw upon your set of prewritten structures. Not only does this eliminate your having to invent similar program sequences over and over again, but it also prevents many bugs and greatly eases the effort you have to put into program writing.

The last basic structure is the loop, which provides a means of repeating a sequence of instructions until some stop condition is found to exist. There are two kinds of loop structures: do-until and do-whlle.

A do-until structure, shown in figure 5, performs the function in the process block at least once. After that, a test is done to determine if the condition for stopping the process looping has been found true. As long as the condition is not true, the looping continues. When it becomes true the looping ends and the exit path is taken. This type of structure can be used, for example, when you need to search a table of values, looking for a particular value. If you know that the table will always contain a matching entry, the program routine need not be more complicated by logic to detect end-of-table before a matching value is found. Notice that the first table entry is always examined before the decision is made to continue (this is because the ending condition decision is based upon the value of that entry).

The second type of loop is the do-while, shown in figure 6. The difference between this and the do-until structure is that the test is done before the process block is executed. In many cases there is not a lot of significance to this difference because both types of structures can do the same jobs.

In specific situations you will find that one form will usually be better suited or more convenient than the other. The primary difference to remember is that the do-until form always executes the process block at least once whether or not the until condition is true, and that the dowhile may not execute the process at all if the while condition is false at the time of the first test. Experience will best teach you which to use in the various situations.

A variation of the loop structures of either form might be considered, the endless loop or do-forever. This form of loop occurs when the while or until condition is never changed to allow execution of the output

72 September 1978 © BYTE Publications Inc

Radio Shack's personal computer system? This ad just might make you a believer.

You can't beat the 4K system at

$599

.. or the step-up 16K system at

$899

... or the fast 4K/printer system at

$1198

...orthe Level-ll

16K/printer/disk

system at

$2385

TRS-80 "Breakthru"

• TRS-80 microcomputer

• 12" video display

• Professional keyboard

• Power supply

• Cassette tape recorder

• 4K RAM, Level-I BASIC

• 232-page manual

• 2 game cassettes

TRS-80 "Sweet 16"

• Above, except includes 16K RAM

TRS-80 "Educator"

• Above, except includes 4K RAM and screen printer

TRS-80 "Professional"

• Above, except includes 16K RAM, disk drive, expansion interface, and Level-ll BASIC

So how are you gonna beat the system that does this much for this little? No way!

...The amazing new

32K/Level-ll/2-disk/

line printer system at

$3874

-=7—| —

TRS-80 "Business"

. k ^,,S 1 w^iJH )tS00tHf^nM'\ \

• Above, except includes 32K RAM,

tim rHTf^-iML, lela»n Lr-r^-^B^^^

line printer,

and two disk drives

P^-fiti^p

Get details and order now at Radio Shack stores and dealers in the USA, Canada, UK, Australia, Belgium, Holland, France, Japan. Write Radio Shack, Division of Tandy Corporation, Dept. C-096, 1400 One Tandy Center, Fort Worth, Texas 76102. Ask for Catalog TRS-80.

Prices May Vary at Individual Stores and Dealers

Radio /hack

The biggest name in little computersc

BYTE September 1978 73

SINGLE INPUT -PATH

—<

ELSE

v p y^

THEN

PROCESS Q

^ZL

y

THEN

PROCESS R

A

X

ELSE

V

\

THEN

L

PROCf

1

:ss s

r

'm

SIN OUT PAT

GLE

PUT

H

—c

3

path of the structure. Intentional endless loops are occasionally used, as in the low level programming trick of hanging up execution in a tight loop to flag errors, or the quite legitimate endless loops which form the outer level of control of a typical executive or monitor program. But for most programming purposes, an endless loop is a bug or error in the program.

An Example

Now using the basic structures, we can construct a program of any size and complexity by combining and nesting in any manner as long as some fundamental rules are adhered to:

• The program as a process should have only one input path and one output path.

• Structures within the program can be nested but each structure must be totally contained within the structure in which it is being nested (this will be illustrated later).

• There should be no branching unless it is part of a structure (for example, the GOTOs required in languages like BASIC).

• Refrain from attempting to optimize the program by violating the above rules. There is a right time for this later.

Before we look at an example of structuring a program, let's first look at how nesting of basic structures works. Figure 7 shows a flowchart of a program which,

Figure 7: The various types of structures can be nested by noting that any place where a process block is indicated, a more complex structure can be used since it, too, only has one input path and one output path of execution. Thus, for example, this flowchart shows nesting of a process Q block and an if-then-else structure as the else part of the if-then-else structure with condition X=Y?. This second it-then-else in turn has a third if-then-else as part of its else part. The colored outlines show the nesting of one structure within another.

Figure 8: An unstructured flowchart performs an endless process as might be implemented in an automobile interlock. This is a complete and viable solution of the problem, but it involves numerous branching operations performed in an uncontrolled (GO IO) fashion.

-J

:

YES

TIME DELAY

\ ? y

1

Tno

/"KEY >v N0

C IN LOCK >-= •

/LIGH1SS\

\ 0N y

NO

\. ? ^y

v^ ? y^

[yes

YES

NO

y^D00R^\ C OPEN >

,

YES

'

'm

soun:

) THE

BUZZER

74 September 1978 © BYTL Publications Inc

overall, could be represented by a single if-then-else. But when it is looked at in more detail, the else leg contains another if-thenelse as part of the instruction sequence there; the else leg of that structure contains yet another if-then-else. The heavy outlines show that each of the nested structures are totally enclosed by their parent structures; there is no overlap. A BASIClike program to perform the function shown in figure 9 appears as listing 1. Again, I use outlines to illustrate that each structure is embedded in its entirety within another higher level structure. Notice that I have used indentation of lines to increase the readability of the program. Each separate structure should be at a different level of indentation than its parent.

1

10

20

30 31 32

IF X=YTHEN 32 process Q

IF A>BTHEN 31 process R

IF C<DTHEN 30

process S CONTINUE

CONTINUE

END

"DO FOREVER"

ENDLESS LOOP

Listing I: A BASIC-like program equivalent for the flowchart of figure 7. The lines in the picture emphasize the structured programming formalism.

THIS ACTS LIKE THE PROCESS BLOCK IN DO-FOREVER

KEY ON VES <THEN> ?

NO (ELSE)

THIS ACTS LIKE FALSE

PROCESS BLOCK OF IF-THEN-ELSE

KEY \NO (ELSE) IN LOCK >

?

YES (THEN)

TRUE PROCESS

NO (ELSE)

JYES (THEN) TRUEl PROCESS

SUBROUTINE

SOUND THE BUZZER

NO~*

NON-NULL PROCESS

FALSE PROCESS

NO (ELSE)

YES (THEN) UIfI PROCESS

SUBROUTINE

SOUND THE BUZZER

THIS IS PROCESS IF-THM

TRUE OF

-ELSE

TIME DELAY

Figure 9: Taking the algorithm of figure 8 and casting it into a standardized, structured programming form eliminates all GOTO operations in languages with a complete if-then-else structure, and in languages like BASIC, reduces use of GOTO operations to standardized structures. In this flowchart, we've positioned all the blocks to emphasize the nesting of structure. One of the primary reasons for the emphasis on structured programming is one of communications of ideas to other programmers (or the originating programmer at a later date). The claim is made that a flowchart like this one, and its equivalent representation in listing 2, provide a standardized way of communicating algorithms which makes the listing or chart easier to understand and read.

September 1978 © BYTE Publications Inc 75

Listing 2: A BASIC-like application program for activating a buzzer of an automobile given several conditions. A subroutine BUZZ is indicated (by a call with the keyword GOSUB) to actually sound a noise during the loop. In this BASIC-like representation, several liberties with syntax have been taken.

Let's look now at an example of a simple program and show how a structured version might differ from an unstructured version.

The program is one which might be part of a future automobile computer control system using a microprocessor. Its purpose is to trigger a buzzer if the ignition key is left in the lock when the left front door is opened, or if the headlights are left on when the key is not in the lock. A delay is performed before conditions are checked again.

The flowchart in figure 8 shows how we might have drawn it without attempting to apply any of the principles of structured programming. Now, look at figure 9 which shows the structured version. Both forms of the program do the same function, but the structured form is clearly more straightforward and easier to write code from.

Basically, a number of things happened to the flowchart when it was structured. First, all the branches (or GOTOs) became forward branches except those in loop structures. This allows for reading the chart from top to bottom in an orderly way. Secondly, each decision block and process block has been put into a proper structure and nested totally within its parent structure. Thirdly, every structure regardless of its place in the overall program has only one input and one output.

One thing has happened that might appear to be a little strange to you. The sequence structure which performs the buzzer function appears twice now, where it only appeared once before. This is necessary in order to keep the structure clean. Remem

1

2

3

4 5 6

7

8

9

10

11 12 13

14

LET X=U

IF

KEY=£ON THEN 7

LET X=X+1

IF X=5000THEN o

GOTO 3 GOTO 13

IF

" KEY=INLOCK THEN 11

IF LIGHT T^ON THEN 10

GOSUB BUZZ GOTO 13

IF C

DOOR =£OPEN THEN 13 GOSUB BUZZ ONTINUE

GOTO 1

ber, you cannot simply branch into the other buzzer block because those two structures would then overlap. The inefficiency implied by the double appearance of that block might bother you, but it will probably turn out that the block will be written as a subroutine and the only inefficiency will be an extra call instruction.

Listing 2 is a BASIC-like program for the structured flowchart. (Here "BASIC-like" means using the syntax of BASIC but allowing variable names to be many characters in length for purposes of illustrating their meaning.) I have not attempted to make the program complete and have taken some liberties in order to illustrate my points.

A few words of explanation are in order. First, the instructions at lines 3, 4 and 5 represent a do-until structure which is used to implement a delay by simply incrementing a counter (X) until it reaches a large value. The name BUZZ represents the line number of a subroutine (not shown) which activates an electronic buzzer in the car's dash.

Now is the time to go back and look at the program to make it more efficient in its operation or in the amount of memory required. This should be done only if it is absolutely necessary. If it is necessary, try to maintain the structuring to the extent that it doesn't destroy the clarity of the program or increase its complexity. In our example program, notice that there are three CONTINUE instructions at lines 13, 14 and 15 leading to a GOTO at line 16. The speed of the routine can be improved and the memory requirements can be reduced by eliminating the CONTINUES and changing any instruction which references any of them to go to line 16. Alternatively, you could change each of those references to go directly to line 1 although you would be seriously interfering with the intent of structuring.

In conclusion, I invite you to try the techniques described in this article when you write your next program. If you have done it any other way before, it takes a little getting used to, but I think you will ultimately agree that it has a lot to offer. Hopefully, you will see the benefits in the form of less time spent getting your program designed, written and debugged. In short, I believe that it can help make programming even more enjoyable."

76 September 1978 © BYTE Publications Inc

^//JiBfirowlVvv^

There's a BYTE

Hili

in your future

BYTE September 1978 77

• •. And the future

BYTE Publications, Inc. is proud to announce the creation of its new Book Division, which publishes books of interest to computer people. Readers will find a wide range of topics published as BYTE Books, including new material as well as collections of reprints of the best BYTE magazine articles. Users of small computers will find PAPERBYTE™ Books to be complete descriptions of useful system software including detailed user documentation, source listings where possible, and the PAPERBYTE™ bar code representation of executable code.

To keep the cost reasonable and available to the greatest number of readers, the books will be paperback editions in the 8-1/2 x 11" format. You may purchase the initial selections directly from BYTE via mail order or from your favorite computer store or book distributor. PROGRAMMING TECHNIQUES is a new series of BYTE BOOKS concerned with the art and science of computer programming. It is a collection of the best articles from BYTE magazine and new material collected just for this series. The book provides the personal computer user with background information to write and maintain programs effectively.

The first book in the Programming Technique series is entitled PROGRAM DESIGN. It discusses in detail the theory of program design. The purpose of the book is to provide the personal computer user with the techniques needed to design efficient, effective, maintainable programs. Included is information concerning structured program design, modular programming techniques, program logic design, and examples of some of the more common traps the casual as well as the experienced programmer may fall into. In addition, details on various aspects of the actual program functions, such as hashed tables and binary tree processing, are included.

ISBN 0-931718-12-0 Editor: Blaise W. Liffick Pages: 96 Price: $6.00 Publication: Fall 1978

In SIMULATION, the second book of the series, are articles dealing with various aspects of specific types of simulation. Both theoretical and practical applications are included. Particularly stressed is simulation of motion, including wave motion and flying objects. The realm of artificial intelligence is explored, along with simulating robot motion with the microcomputer. Finally, tips on how to simulate electronic circuits on the computer are detailed.

ISBN 0-931718-13-9 Editor: Blaise W. Liffick Pages: approx. 80 Price: $6.00 Publication: Fall 1978

The third book is NUMBERS IN THEORY AND PRACTICE. This book includes information of immense value to both the novice and the experienced personal computerist. The mechanics of the binary system are discussed, including division and multiplication, as well as the places to look for numerical error in programs. Floating point numbers, what they are and how to use them, are covered. There are also sections on numerical methods (functions, approximations, statistics), Boolean math, and several different approaches on how to obtain random numbers.

ISBN 0-931718-14-7 Editor: Blaise W. Liffick Pages: approx. 100 Price: $6.00 Publication: Fall 1978

The fourth book so far scheduled in this series is called BITS AND PIECES. The articles collected for this book are mostly unrelated and do not neatly fit into the topics of the previous three books, but still have a lotto do with programming techniques. Areas such as multiprogramming and interactive computing with the personal computer are discussed, as well as stacks, sorting, Polish notation, and program optimization. This is by far the most general book of the series.

ISBN 0-931718-15-5 Editor: Blaise W. Liffick Pages: approx. 100 Price: $6.00 Publication: Fall 1978

is right now!

RA6800ML: AN M6800 RELOCATABLE MACRO ASSEMBLER is a two pass assembler for the Motorola 6800 microprocessor. It is designed to run on a minimum system of 16 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (such as Motorola MIKBGG read only memory program or the ICOM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk).

The Assembler can produce a program listing, a sorted Symbol Table listing and relocatable object code. The object code is loaded and linked with other assembled modules using the Linking Loader LINK68. (Refer to PAPERBYTE™ publication LINK68: AN M6800 LINKING LOADER for details.)

There is a complete description of the 6800 Assembly language and its components, including outlines of the instruction and address formats, pseudo instructions and macro facilities. Each major routine of the Assembler is described in detail, complete with flow charts and a cross reference showing all calling and called-by routines, pointers, flags, and temporary variables.

In addition, details on interfacing and using the Assembler, error messages generated by the Assembler, the Assembler and sample IO driver source code listings, and PAPERBYTE™ bar code representation of the Assembler's relocatable object file are all included.

This book provides the necessary background for coding programs in the 6800 assembly language, and for understanding the innermost operations of the Assembler.

ISBN 0-931718-104 Author: Jack E. Hemenway Pages: approx. 120 Price: $25.00 Publication: Fall 1978

^Liil

BITI

TM

LINK68: AN M6800 LINKING LOADER is a

one pass linking loader which allows separately translated relocatable object modules to be loaded and linked together to form a single executable load module, and to relocate modules in memory. It produces a load map and a load module in Motorola MIKBGG loader format. The linking Loader requires 2 K bytes of memory, a system console (such as a Teletype terminal), a system monitor (for instance, Motorola MIKBGG read only memory program or the ICOM Floppy Disk Operating System), and some form of mass file storage (dual cassette recorders or a floppy disk).

It was the express purpose of the authors of this book to provide everything necessary for the user to easily learn about the system. In addition to the source code and PAPERBYTE™ bar code listings, there is a detailed description of the major routines of the Linking Loader, including flow charts. While implementing the system, the user has an opportunity to learn about the nature of linking loader design as well as simply acquiring a useful software tool.

ISBN 0-931718-09-0 Authors: Robert D. Qrappel & Jack E. Hemenway Pages: 48 Price: $8.00 Publication: Summer 1978

TRACER: A 6800 DEBUGGING PROGRAM is

for the programmer looking for good debugging software. TRACER features single step execution using dynamic break points, register examination and modification, and memory examination and modification. This book includes a reprint of "Jack and the Machine Debug" (from the December 1977 issue of BYTE magazine), Tracer program notes, complete assembly and source listing in 6800 assembly language, object program listing, and machine readable PAPERBYTE™ bar codes for the object code.

ISBN 0-931718-02-3 Authors: Robert D. Grappel & Jack E. Hemenway Pages: 24 Price: $6.00 Available now

Circle 34 on inquiry card.

TINY ASSEMBLER 6800, Version 3.1 is an enhancement of Jack Emmerichs' successful Tiny Assembler. The original version (3.0) was described first in the April and May 1977 issues of BYTE magazine, and later in the PAPERBYTE™ book TINY ASSEMBLER 6800 Version 3.0. In September 1977, BYTE magazine published an article entitled, "Expanding The Tiny Assembler". This provided a detailed description of the enhancements incorporated into Version 3.1, such as the addition of a "begin" statement, a "virtual symbol table", and a larger subset of the Motorola 6800 assembly language. All the above articles, plus an updated version of the user's guide, the source, object and PAPERBYTE™ bar code formats of both Version 3.0 and 3.1 make this book the most complete documentation possible for Jack Emmerichs' Tiny Assembler.

ISBN 0-931718-08-2 Author: Jack Emmerichs Pages: 80 Price: $9.00 Publication: Summer 1978

SUPERWCIMPCIS is an exciting computer game incorporating the original structure of the WGMPCJS game along with added features to make it even more fascinating. The original game was described in the book What To Do After You Hit Return, published by the People's Computer Company. Programmed in both 6800 assembly language and BASIC, SCJPERWCJMPCIS is not only addictively fun, but also provides a splendid tutorial on setting up unusual data structures (the tunnel and cave system of SCIPERWCMPCS forms a dodecahedron). This is a PAPERBYTE™ book.

ISBN 0-931718-03-1 Author: Jack Emmerichs Pages: 56 Price: $6.00 Publication: Summer 1978

Circle 34 on inquiry card.

MONDEB: AN ADVANCED M6800 MONITORDEBCIGGER has all the general features of Motorola's MIKBCIG monitor as well as numerous other capabilities. Ease of use was a prime design consideration. The other goal was to achieve minimum memory requirements while retaining maximum versatility. The result is an extremely versatile program. The size of the entire MONDEB is less than 3 K.

Some of the command capabilities of MONDEB include displaying and setting the contents of registers, setting interrupts for debugging, testing a programmable memory range for bad memory locations, changing the display and input base of numbers, displaying the contents of memory, searching for a specified string, copying a range of bytes from one location in memory to another, and defining the location to which control will transfer upon receipt of an interrupt This is a PAPERBYTE™ book.

ISBN 0-931718-06-6 Author: Don Peters Pages: approx. 72 Price: $5.00 Publication: Summer 1978

BAR CODE LOADER. The purpose of this pamphlet is to present the decoding algorithm which was designed by Ken Budnick of Micro-Scan Associates at the request of BYTE Publications, Inc., for the PAPERBYTE™ bar code representation of executable code. The text of this pamphlet was written by Ken, and contains the general algorithm description in flow chart form plus detailed assemblies of program code for 6800, 6502 and 8080 processors. Individuals with computers based on these processors can use the software directly. Individuals with other processors can use the provided functional specifications and detail examples to create equivalent programs.

ISBN 0-931718-01-5 Author: Ken Budnick Pages: 32 Price: $2.00 Available now

BYTE BOOKS Division • 70 Main Street • Peterborough, New Hampshire 03458

n

Name

Title

Company

Street

City

State/Province

Code

□ Check enclosed in the amount of $

□ Bill Visa □ Bill Master Charge Card number

Please send the books I have checked

□ Program Design $6.00

□ Simulation $6.00

Expiration Date.

□ Numbers in Theory & Practice $6.00

□ Bits & Pieces $6.00

□ RA6800ML $25.00 D Link68 $8.00

BYTE BOOKS, BYTE BOOKS logo, and PAPERBYTE are trademarks of BYTE Publications, Inc.

□ Tracer $6.00

□ Tiny Assembler (3.1) $9.00 D SUPERWCIMPCIS $6.00 DMondeb$5.00

□ Bar Code Loader $2.00

Add 50* per book to cover postage and handling

Please allow 6-8 weeks for processing your order.

iW,g,.i._wim«n»ii)'"ii"T r tt- imiiiiiiin ii iimmmmu——mmmi-Ut—

questionTY

'Why are more and more dealers carrying Godbout/Compukit™ products?"

ANSWER:

They like happy customers"

ECONORAM™ IN PERSON

AT A STORE NEAR YOU.

ALABAMA

COMPUTER CENTER 433 VALLEY AVE. BIRMINGHAM, ALA. 35209 (205) 942-8567 ICP, COMPUTERLAND 1507CHAMBLISS LANE BIRMINGHAM, ALA. 35226 (205) 979-0707

ARIZONA

SITS & BYTES COMPUTER

6819-C NORTH 21ST AVE.

PHOENIX, A2 85015

(602) 242-2507

PERSONAL COMPUTER PLACE

1840 W. SOUTHERN

MESA, A2 85202

(602) 833-8949

CALIFORNIA

BYTE SHOP OF BERKELEY

1514 UNIVERSITY AVE.

BERKELEY, CA 94703

(415) 845-6366

BYTE SHOP OF CITRUS HEIGHTS

6041 GREENBACK LANE

CITRUS HEIGHTS, CA 95610

(916) 961-2983

BYTE SHOP.OF FAIRFIELD

87 ALDER STREET

SUISUN CITY, CA 94585

(707) 422-3515

BYTE SHOP OF LAWNDALE

16508 HAWTHORNE BLVD.

LAWNDALE, CA 90260

(213) 371-2421

BYTE SHOP OF LONG BEACH

5453 E. STEARNS

LONG BEACH, CA 90815

(213) 597-7771

BYTE SHOP OF PASADENA

496 SOUTH LAKE AVE.

PASADENA, CA 91101

(213)684-3311

BYTE SHOP OF SAN DIEGO

8250 H VICKERS ST.

SAN DIEGO. CA 92111

(714)565-6060

BYTE SHOP OF SAN JOSE

2626 UNION AVE.

SAN JOSE, CA 95124

(408) 377-4685

BYTE SHOP OF SANTA BARBARA

4 WEST MISSION

SANTA BARBARA, CA 93101

(805) 966-2638

BYTE SHOP OF SANTA CLARA

3400ELCAMINO REAL

SANTA CLARA, CA 95051

(406) 249-4221

BYTE SHOP OF TARZANA

18424 VENTURA BLVD.

TARZANA, CA 91356

(213)343-3919

BYTE SHOP OF THOUSAND OAKS

2707 THOUSAND OAKS BLVD.

THOUSAND OAKS, CA 91360

(805) 497-9595

BYTE SHOP OF TUSTIN

674 ELCAMINO REAL

TUSTIN, CA926B0

(714)731-1686

BYTE SHOP OF WALNUT CREEK

2989 NORTH MAIN

WALNUT CREEK, CA 94596

(415) 933-6252

BYTE SHOP OF WESTMINSTER

14300 BEACH BLVD.

WESTMINSTER. CA 92683

(714) 894-9131

COMPUTERLAND OF DUBLIN

6743 DUBLIN BLVD.

DUBLIN, CA 94566

(415) 828-8090

COMPUTERLAND OF INGLEWOOD

6840 LA CIENEGA BLVD.

INGLEWOOD, CA 90302

(213) 776-8080

COMPUTERLAND OF SAN DIEGO

4233 CONVOY STREET SAN DIEGO, CA 92111

(714)560-9912

COMPUTER COMPONENTS

5848 SEPULVEDA BLVD.

VAN NUYS.CA 91411

(213)786-7411

COMPUTER STOP CORP.

16919 HAWTHORNE BLVD.

LAWNDALE, CA 90260

(213)371-4010

HALTEK ELECTRONICS

1062 LINDA VISTA

MT. VIEW, CA 94040

(415)969-0510

I.C. ELECTRONICS SUPPLY

819 W. KATILLAAVE.

ORANGE, CA 92667

(714) 633-2382

I.C. ELECTRONICS SUPPLY

4861 CONVOY STREET

SAN DIEGO, CA 92111

(714)292-5484

I.C. ELECTRONICS SUPPLY

16723.ROSCOE BLVD.

VAN NUYS.CA 91406

(213) 894-8171

ODD ASSORTMENT

4980 B PACHECO BLVD.

PACHECO, CA 94553

(415)228-4180

P.C.E. ELECTRONICS

4782 DEWEY DRIVE

FAIR OAKS (SACTO), CA 95628

(916)966-7033

CANADA

ORTHON HOLDINGS LTD.

12411 STONY PLAIN ROAD EDMONTON, ALBERTA CANADA T5N3N3 (403) 488-2921

PACOM DISTRIBUTORS, INC.

4509 RUPERT STREET VANCOUVER, B.C. CANADA V5R 2J4 (604) 435-3282 TJB MICROSYSTEMS LTD. 10991 - 124TH ST. EDMONTON, ALBERTA CANADA T6E 5G7 (403) 455-5298

COLORADO

POOR RICHARD'S CALCULATOR CO.

204 WEST LAUREL

FT. COLLINS, CO 80521

(303) 221-1776

SOUND-TRONIX

90Q - 9TH AVE.

GREELEY. CO 80631

(303) 356-1588

FLORIDA

ALTAIR COMPUTER CENTER

6220 SO. ORANGE BLOSSOM TRAIL

SUITE #602

ORLANDO, FL 32809

(305) 851-0913

COMPUTER STORE

1549 W. BRANDON BLVD.

BRANDON FL 33511

(813)685-7659

GEORGIA DATAMART, INC.

3001 N. FULTON DR. ATLANTA, GA 30305 (404) 266-0336

HAWAII

COMPACT COMPUTERS 1009 UNIVERSITY AVE. HONOLULU, HI 96826 (808) 949-1557

SMALL COMPUTER SYSTEMS 3149 CWAIALAE AVE. HONOLULU. HI 96816 (808) 732-5246

ILLINOIS

BYTE SHOP OF ILLINOIS

1602 S. NEIL STREET CHAMPAIGN, ILL 61820 (217)352-2323

ILLINI MICRO COMPUTERS

612 E. OGDEN NAPERVILLE, ILL 60540 (312)420-8813

IOWA

BRIDGE ELECTRONICS

216-8TH AVE. SO CLINTON, IOWA 52732 (319) 243-8282

COMPUTER STORE OF DAVENPORT 4128 BRADY STREET DAVENPORT, IOWA 52806 (319) 386-3330

KENTUCKY

CONTEMPORARY COMPONENT SALES, INC.

BOWMAN FIELD ADMINISTRATION BLDG. LOUISVILLE, KY 40205 (502) 458-4848

LOUISIANA

COMPUTER SHOPPE, INC.

382B VETERANS BLVD. METAIRIE, LA 70002 (504) 454-6600

MICHIGAN

COLOMA COMPUTER CO.

5647 JILL ANN DRIVE COLOMA Ml 49038 (616) 468-4145

MICRO COMPUTER WORLD

313 MICHIGAN NE

GRAND RAPIDS, Ml 49503

(616) 451-8972

COMPUTER MART

1800 W. 14 MILE

ROYAL OAK, Ml 48073

(313)576-0900

DOUQ BRINKS SOUND

675 WEST RIVER ROAD

KAWKAWLIN, Ml 48831

(517) 662-6767

LUZIER ELECTRONICS

22530 GORDON

ST. CLAIR SHORES, Ml 48081

(313)773-9535

MINNESOTA

P.S. INC. — RES. LABS

1625 FIRST AVE. NO. MOORHEAD, MINN 56560 (218)233-6682

NEBRASKA

BYTE SHOP OF OMAHA

8523 PARK DRIVE OMAHA NE 68127 (402) 339-7350

NEVADA

CENTURY 23

4566 SPRING MOUNTAIN ROAD

LAS VEGAS, NV 89102

(702) 876-7997

NEW JERSEY

COMPUTER EMPORIUM

BLVD. 103 — AVE. OF COMMERCE

2428 ROUTE 38

CHERRY HILL, NJ 08002

(609) 667-7555

S-100 INC.

7 WHITE PLACE

CLARK, NJ 07066

(201)382-1318

NEW YORK

COMPUTER MICRO SYSTEMS 1311 NORTHERN BLVD. MANHASSETT.NY 11030 (516) 627-3640

COMPUTER STORE OF NEW YORK

55 WEST 39TH STREET

NEW YORK, NY 10018

(212)221-1404

COMPUTER TREE, INC.

409 HOOPER ROAD

ENDWELL, NY 13760

(607) 748-1223

COMPUWORLD INC.

2930 W. HENRIETTA ROAD

ROCHESTER, NY 14623

(716)424-1300

MEMORY MERCHANTS, INC.

1350 BUFFALO ROAD

ROCHESTER, NY 1462*1

(716)328-5585

NORTH CAROLINA

BYTE SHOP OF GREENSBORO 218 N. ELM STREET GREENSBORO, NC 27401 (919)275-2983 BYTE SHOP OF RALEIGH 1213 HILLSBOROUGH ST. RALEIGH, NC 27605 (919) 833-0210 ROM'S N RAM'S CRABTREE VALLEY MALL RALEIGH, NC 27612 (919) 781-0003

OHIO

BYTE SHOP OF OHIO

19524 CENTERRIDGE ROAD

ROCKY RIVER, OHIO 44116

(216) 333-3261

CYBERSHOP

1451 SOUTH HAMILTON

COLUMBUS, OHIO 43227

(614) 239-8081

BILL GODBOUT ELECTRONICS BOX 2355, OAKLAND AIRPORT, CA 94614

OKLAHOMA

BITS, BYTES & MICROS

2918 N. MACARTHUR BLVD. OKLAHOMA CITY, OK 73127 (405) 947-5646

OREGON

ALTAIR COMPUTER CENTER

8105 SW NIMBUS AVE. BEAVERTON, OR 97005 (503) 644-2314

PENNSYLVANIA

ERIE COMPUTER CO.

1253 WEST 8TH

ERIE PA 16502

{814)454-6691

MICRO-COMPUTER PRODUCTS, INC.

116 SOUTH PUGHST.

STATE COLLEGE, PA 16601

(814)238-7711

PERSONAL COMPUTER CORP.

FRAZER MALL

FRAZER, PA 19355

(215) 647-8463

TEXAS

COMPUTERLAND OF AUSTIN

3300 ANDERSON LANE

AUSTIN, TX 78757

(512)452-5701

COMPUTER PORT

926 N. COLLINS

ARLINGTON, TX 76011

(817)469-1502

COMPUTER SHOP OF SAN ANTONIO

6812 SAN PEDRO

SAN ANTONIO, TX 78216

(512)828-0553

COMPUTERS'N THINGS

2625 HANCOCK DRIVE

AUSTIN, TX 78731

(512)453-5970

MICRO COMPUTER SHOP

5301 EVERHART ROAD

CORPUS CHRISTI, TX 78411

(512) 855-4516

NEIGHBORHOOD COMPUTER STORE

4902 — 34TH ST., SUITE 20

LUBBOCK, TX 79410

(806) 797-1468

UNITED KINGDOM

COMPUTER CENTRE

20 DURNSFORD AVE.

FLEET, HANTS

UNITED KINGDOM GU13 9TB

02514-29607

VIRGINIA

HOME COMPUTER CENTER, INC. 2927 VIRGINIA BEACH BLVD. VIRGINIA BEACH, VA 23452 (804)340-1977

WASHINGTON

COMPUTER SHOP OF SPOKANE

S. 107 WALL STREET

SPOKANE. WA 99204

(509)456-0311

PERSONAL COMPUTERS

SO. 104 FREYA

SPOKANE, WA 99202

(509) 534-3955

RETAIL COMPUTER STORE

410 NE 77TH STREET

SEATTLE, WA 98115

(206) 524-4101

YE OLDE COMPUTER SHOPPE, INC.

1301 GEORGE WASHINGTON WAY

RICHLAND, WA 99352

(509) 946-3330

WEST VIRGINIA

COMPUTER STORE OF CHARLESTON

SUITE #5, MUNICIPAL PARKING BLDG.

CHARLESTON, W. VA 25301

(304) 345-1360

Circle 150 on inquiry card.

BYTE September 1978 81

Antique Mechanical Computers

Part 3: The Torres Chess Automaton

Dr James M Williams

58 Trumbull St

New Haven CT 06510

But now these men were suggesting that a machine could assist in or substitute for a human mental activity.

19th Century Developments

The automata of the 18th century were in fact sequence controllers possessing both digital and analog stored programs whose readouts were mechanisms that imitated human and animal actions (computers of a sort). During the next century they inspired a flood of automata, the best of which von Helmholtz described in his 1847 book, Uber die Erhaltung der Kraft, as being equal in achievement to the best in any other branch of science. Derek Price's book, Automata in History, includes material from von Helmholtz (see bibliographical notes).

In the 19th century men were starting to contemplate how mechanisms might be able to improve the human state. Charles Babbage had this notion in mind when in December 1837, precisely 99 years after Vaucanson's marvelous demonstration (see July 1978 BYTE "Antique Mechanical Computers, Part 1") he wrote the first sentence of On the Mathematical Powers of the Calculating Engine: "The object of the present volume is to show the degree of assistance which mathematical science is capable of receiving from mechanism." An obscure accountant of Manchester, Percy Ludgate, working without knowledge of Babbage, expressed the same thought when he wrote in 1909 the first sentence of On a Proposed Analytical Engine: "I propose to give in this paper a short account of the result of about six years work, undertaken by me with the object of designing machinery capable of performing calculations, however intricate or laborious, without the immediate guidance of the human intellect."

I think we may be too near to our machines to see the revolution residing in what these men said. Before Babbage and Ludgate, machines amplified or assisted or enabled the physical actions of humans. But now

these men were suggesting that a machine could assist in or substitute for a mental activity of a human. Machines would enter into the realm of the human brain. It was a breathtaking idea, but not an easy one to put into effect. Babbage's two machines were never fairly begun, nor was Ludgate's. (In Babbage's case the reason was not that nineteenth century machine technology was unequal to the task, but rather because he kept changing his concepts and never produced any completed working drawings as he continuously visualized bigger and bigger machines. For him, the end was never in sight, and he left off working at a point where the machine would have been the size of a basketball court and some yards high. His son completed the "Mill" (ALU) with its printhead long after Babbage's death, in 1906. See Randell in the bibliographical notes for a photo of the Mill and a reproduction of the printout of multiples from 1 to 23 of 7r in 28 significant figures.)

Torres and the Incredible Chess Playing Automaton

Gifted chess players have been known to play several concurrent games, making moves without hesitation from board 1 to board n, then back to board 1. The best chess playing programs of today can't do that with any degree of success against most skilled players. But the remarkable fact is that in 1911 a machine was invented that automatically played a particular endgame of chess (King and Rook versus King) against a human opponent, and detected any false moves!

Leonardo Torres was the inventor, and his machine was displayed in the Mechanical Laboratory at the Sorbonne early in 1914. Photo 1, taken from a 1915 issue of the Scientific American Supplement, shows the

82

September 1978 © BYTE Publications Inc

\rtto [L^j^j1 to M^o a^aooaa

MODEL CC-8

$185.00 (4800 Baud)

$195.00 (9600 Baud and 220V/50 Hz)

9600 BAUD CASSETTE RECORDER

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error rate 10s at 4800 BAUD. Can be used from 110 to 9600 BAUD into a UART - no clocking required. This is not an audio recorder. It takes RS232 or TTL signals from the terminal or computer and gives back the same signals. No audio interface is used. Motor start/stop is manual or through TTL or RS232 signals.

Tape speeds are 1.6" / 3.0" and 6.0" per second. 110 volt, 60 Hz, 5 watts. (220 Volts on special order). Can use high quality audio cassettes (Philips Type) or certified data cassettes. Can be used in remote locations from a 12 Volt battery.

Recommended for DATA LOGGING, WORD PROCESSING, COMPUTER PROGRAM RELOADING and DATA STORAGE. Manual control except for motor start/stop. 6800, 8080 or Z80 software for file or record searching available on request with order. Used by major computer manufacturers, Bell Telephone and U.S. Government for program reloading and field servicing.

AVAILABILITY - Off the shelf.

¥■

PROVIDES MONITOR AND TAPE SOFTWARE in ROM. TERMINAL and TAPE PORTS on SAME BOARD. CONTROLS ONE or TWO TAPE UNITS (CC-8 or 3M3B).

This is a complete 8080, 8085, or Z80 system controller. It provides the terminal I/O (RS232, 20 mA or TTL) and the data cartridge I/O, plus the motor controlling parallel I/O latches. Two kilobytes of on board ROM provide turn on and go control of your Altair or IMSAI. NO MORE BOOTSTRAPPING. Loads and Dumps memory in hex on the terminal, formats tape cartridge files, has word processing and paper tape routines. Best of all, it has the search routines to locate files and records by means of six, five, and four letter strings. Just type in the file name and the recorder and software do the rest. Can be used in the BiSync (IBM), BiPhase (Phase encoded) or NRZ modes with suitable recorders, interfaces and software.

This is Revision 8 of this controller. This version features 2708 type EPROM's so that you can write your own software or relocate it as desired. One 2708 preprogrammed is supplied with the board. A socket is available for the second ROM allowing up to a full 2K of monitor programs.

Fits all S100 bus computers using 8080 or Z80 MPU's. Requires 2 MHz clock from bus. Cannot be used with audio cassettes without an interface. Cassette or cartridge inputs are TTL or RS232 level.

AVAILABILITY - Off the shelf.

2SIO (R) CONTROLLER $190.00, Tested & Assmb.

1 #111

uiuiiiijugiiiuii

yiii«

;.:.

hUrffiMA

-/

6800 CONTROLLER for SWTP $190.00, Tested & Assmb.

PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. EXPANDS MIKBUG with IK of ADDITIONAL ROM PROGRAM

This is a complete tape controller for the SWTP 6800 system. Has 3K of EPROM space for your own programs. A 1 K ROM (2708) is provided with all tape and monitor functions. The ROM program is identical to our extensive 8080 ROM program.

Has one ACIA for one or two tape drives, one UART for an additional Serial port and a 4 bit parallel port for motor control. Will control one or two CC-8 or 3M3B drives with the software provided. Can be used with other tape drives controllable with 4 TTL bits if appropriate software changes are made.

Extra serial port is provided for your use with a second terminal or printer (RS232, TTL or 20 ma).

The ROM program supplements the MIKbug program and is entered automatically on reset. SWTbug compatible ROM is also available.

AVAILABILITY - Off the shelf.

Z 80 BOARD for SWTP COMPUTER

Now you can use the 8080/Z80 software programs in your SWTP 6800 machine. Replaces your MPU board with a Z80 and ROM so that you are up and running with your present SWTP memory and MPS card. 1 K ROM on board replaces MIKBUG.

AVAILABILITY - Off the shelf.

_$190.00, Tested & Assmb.

i~_

For U.P.S. delivery, add $3.00. Overseas and air shipments charges collect, N.J. Residents add 5% Sales Tax. WRITE or CALL for further information. Phone Orders on Master Charge and BankAmericard accepted.

National Multiplex Corporation

j 3474 Rand Avenue, South Plainfield NJ 07080 Box 288 Phone (201) 561-3600 TWX 710-997-9530 t

Circle 275 on inquiry card.

BYTE September 1978 83

Photo 1: Front (a) and back (b) views of the 1911 chess playing automaton invented by Leonardo Torres. The unit played a particular chess endgame (King and Rook versus King) only and could force a win. The chessboard is shown in the lower right of center in photo la. Horizontal and vertical arms moved the pieces (which were actually electrical jacks) from square to square, and the logic circuitry consisted of battery driven relays arranged in a logical tree structure (see figure 3). Photos courtesy of Scientific American (Supplement 80, Number 2079, November 1915).

Torres was a true amateur

who did his work because

he loved it.

machine. It seems to have been powered by the array of weights atop the console, but it used electricity (almost surely from a battery) in its logic system, which consisted of commutators and intricate switchgear. Indeed, most of the face of the console is covered with relays and switches with their linkages and wiring, but one can make out the vertical chessboard, sans chess pieces, in the lower right quadrant of the face. It is about 8 to 10 inches (20 to 25 cm) wide and has holes in the center of each of the 64 squares that are really plug holes into which fitted the carved chess pieces (actually jacks on their lower ends used to make electrical contact). Sequential switches of two sorts are visible on the apron in the foreground, and the signalling lamps consist of a 3 lamp cluster in the middle with another single lamp on the right.

The machine in operation must have been an amazing sight, for its visible action was automatic. The sliding arms (poorly shown in the photo; located both above and to the left of the board) would grasp the chosen White piece, unplug it, transfer it to a new computed location, and reinsert the piece

into the board. Then it waited for Black's next move. This is a degree of automation I don't recall seeing since I last gazed at a Linotype, and in 1914 it must have been an awesome spectacle. To be sure, Black always was checkmated, even with the first move, since White (the machine) had too much strength. If Black made a false move, the machine would sense it and light a signal lamp, then wait until the piece was moved to a legitimate square. Three false moves in the course of a game would "jam" the machine, which would not continue play until a reset switch was closed and pieces were properly placed. Possibly the pieces could be placed anywhere on the chessboard upon initiating a game; accounts do not make this clear. At any rate, the algorithm is quite general and directs the White King a square at a time, and the White Rook a row or column at a time inexorably toward the Black King until he is hemmed in.

In 1922 an improved version was displayed. Photographs and a description may be found in Chapuis (see bibliographical notes). This more modern machine had a horizontal chessboard grooved to accom

84 September 1978 © BYTE Publications Inc

The most complete Software Library in the Business...

for your 6800 or 8080 micro.

Technical Systems Consultants tailors powerful software to small systems. Our large variety of assembly language programs is priced to fit a personal computing budget, but designed to handle the most demanding jobs. We feature editors, text processors, assemblers, math packages, diagnostics, games, and more. Documentation is very extensive with almost every program including a complete, fully commented source listing! Most programs are available with cassette or paper tape and now some TSC 6800 software is offered on SWTPC compatible disks. Send 25<P for a complete catalog today!

Technical Systems Consultants, Inc.

:: —£lV^ Box 2574 W. Lafayette, IN 47906 Specialists in Software & Hardware for Industry & the Hobbyist

Circle 370 on inquiry card. byte September 1978 85

IF BLACK KING

IS IN SAME ZONE WITH ROOK

IS NOT IN SAME ZONE WITH ROOK AND VERTICAL DISTANCE BETWEEN BLACK KING AND ROOK IS

MORE THAN ONE SQUARE

EQUAL TO ONE SQUARE, AND DISTANCE BETWEEN KINGS IS

ROOK MOVES HORIZONTALLY

GREATER THAN TWO SQUARES

EQUAL TO TWO SQUARES, AND THE NUMBER OF SQUARES HORIZONTAL DISTANCE IS

ROOK MOVES ONE SQUARE TOWARD BLACK KING

WHITE KING MOVES 0 SQUARE TOWARD BLAC

NE

;k KING I

EVEN

NOT ANY

ROOK MOVES ONE SQUARE HORIZONTAL

WHITE KING MOVES ONE SQUARE TOWARD BLACK KING

ZONE ZONE ZONE

ROOK MOVES ONE SQUARE TOWARD BLACK KING

Figure 1: A chart of the algorithm used by Torres' 1911 chess endgame playing automaton.

"It is necessary that the

automata imitate living

actions according to their

inputs, and adapt their

conduct to changing

circumstances."

modate wires that sensed the location of a piece, and a complex clutch and gear system within the tabletop accomplished White's moves, via magnets. It was all powered by a few small electric motors, and a phonograph record pronounced the words "echecetmat" when Black was checkmated. Figure 1 shows a chart of the action, drawn from the Scientific American article. [According to David Levy in Chess and Computers, the Torres machine is still in good working order and can be seen in the museum at the Polytechnic Institute in Madrid SPAIN. . . .CM/

Torres was one of those vital persons who ornaments the history of science: a person of intense curiosity and independent means who devotes time and energy to the exploration of arcane subjects many decades before the professionals find their way into the original excavations and mine the uncovered veins of ore left behind. He was a true amateur who did his work because he loved it; history is studded with these men: Schliemann, Humboldt, Lavoisier, Rumford, Kelvin, Babbage, Bohr, etc.

Leonardo Torres was born in 1852 in Santander on the north coast of Spain, and was trained as a civil engineer. Unfortunately I could learn only very little about his life since the biography by his son is in French and is not available to me, but a few facts emerge: he was a patriot, and a capable politician as well, who arranged for the Spanish government to liberally subsidize

his "large and well-equipped mechanical laboratory at Madrid." Perhaps this is related to the fact that in 1906 in Bilbao harbor he displayed before the King a small scale radio controlled boat which "could select between various rudder positions and speeds, and cause a flag to be run up and down a mast." A lifelong Francophile, during World War I he designed a plane called the Astra-Torres for the French Air Corps. He also pursued quite mundane things: designs for aerial cablecars, apparatus to test lubricating powers of oil, a "universal pantograph" that automatically corrected any unwanted jiggles by a special linkage.

One of his first interests was mechanical analog computing devices, perhaps before 1900. He was familiar with Babbage's publications. In a paper dated 1920 he outlined an electromechanical calculating machine he exhibited in France.The machine consisted of a modified typewriter and several boxes of apparatus, connected only by a bundle of wires, all mounted on a table for display. (A picture of the machine is in Randell's book; see the bibliography.) The operator types in the numbers desired to be manipulated together with the sign of the operation to be performed, and after a few moments an = followed by the result is typed out. This is a 4 function machine that can deal with perhaps six or seven digits. This was in 1920, mind you! He revealed the

86 September 1978 © BYTE Publications Inc

THE FULL POWER OF THE 1 6-BIT TMS 9900 MICROPROCESSOR IS NOW AVAILABLE WITH THE UNIQUE COMBINATION OF RELIABLE HARDWARD AND FAST, EASY TO USE SOFTWARE IN THE TECHNICO SS-1 6. WITH MINICOMPUTER PERFORMANCE THE TECHNICO 16-BIT MICROCOMPUTERS ARE AVAILABLE FROM THE SINGLE BOARD SUPER STARTER SYSTEM AT UNDER $400 TO THE FULL SS-1 6 WITH UP TO 65K BYTES OF MEMORY, MINI-FLOPPY OR FULL FLOPPY DISKS, A 4800 BAUD DIGITAL CASSETTE, 64 COLOR VIDEO BOARD OPTION, RS232 AND 20 MA CURRENT LOOP ALL COMBINED WITH ONE OF THE INDUSTRY'S FASTEST BASICS AND A FULL ASSEMBLER, EDITOR, LINKING LOADER PACKAGE. SYSTEMS ARE AVAILABLE COMPLETELY ASSEMBLED AND TESTED OR IN UNASSEMBLED TEC-KIT™ FORM. EXPLICIT MANUAL INCLUDED OR AVAILABLE SEPARATELY AT$35. TO LEARN MORE...JUSTTEAR OFF A PIECE OF THIS AD AND RETURN TO TECHNICO OR CALL OUR HOTLINE 1-800/638-2893 OR YOUR LOCAL DEALER. EUROPEAN MODELS AVAILABLE THROUGH TECHNICO INTERNATIONAL

TECHNICO

INCORPORATED

9130 RED BRANCH RD COLUMBIA. MD 21045 PHONE 301-596-4100

TECHNICO

INTERNATIONAL

2442 N. LEXINGTON ST

ARLINGTON. VA 22207

PHONE 703-538-4000

TELEX. 64100 SOLIDSTA

DOMESTIC SALES

Circle 372 on inquiry card.

SALES OUTSIDE CONTINENTAL U.S.

BYTE September 1978 87

"Construction of mechanisms which play the role of sense organs is not difficult in theory."

theoretical underpinning for his calculating apparatus in general terms in 1914, in the Essais sur I'automatique. (In 1914, automatique was a new word, translatable as automation or as automatics.)

Torres' essay is so lucid and fresh that today, 64 years after publication, it still casts much illumination on the human and machine interface. After describing a first type of automaton, a machine designed to mimic the movements of a living creature, he describes a second type of automaton (Torres' own italics), ". .. those that imitate, not the simple gestures, but the thoughtful actions of a man, and which can sometimes replace him." He gives examples: "...the self-propelled torpedo, which knows how to maneuver in order to arrive at its target, the balance which weighs coins so as to choose the ones which are of legal weight." He speaks of the need for a ". . . special chapter of the theory of machines which would be called Automatics" and of the need to investigate "means for constructing automata endowed with a pattern of behavior of greater or lesser complexity." "These automata will have sense organs, ie: thermometers, magnetic compass, manometers, etc" together with "limbs, ie: machines or mechanisms capable of executing the operations which they are instructed to do." And they will need power sources. "Moreover, it is essential, being the chief objective of Automatics, that the automata be capable of discernment; that they can at each moment take account of the information they receive, or even information they have received beforehand, in controlling the required operation." "It is necessary that the automata imitate living beings in regulating their actions according to their inputs, and adapt their conduct to changing circumstances. "

After noting that construction of mechanisms which play the role of sense organs is not difficult in theory, and that new appa

ratus to achieve this measuring (sensing) function is invented every day (what cannot be measured today will be measured tomorrow or shortly), he adds that the same may be said of devices to effect the automaton's work. No one can point to a limit in the inventing of machines to perform functions. But, "It is not the same when one asks whether it is possible to construct an automaton which, in order to decide on its manner of working, ponders on the circumstances which surround it. The estimate is, I believe, that this may be done only in some very simple cases ... it is thought possible to automate the mechanical operations performed without thinking by a workman, but that those requiring the exercise of mental faculties will never be executed mechanically." "I shall try to show in this article, from a purely theoretical point of view, that it is always possible to build an automaton whose actions depend on a greater or lesser number of circumstances, according to rules which one can impose arbitrarily during its construction." In reference to this quote, Torres described a simple digital device, but with the novelty that it displays a worked out form of conditional branching: ahead of its time, like so much of Torres' writings and work.

In his writings, Torres selected his words so carefully that it is possible to argue his distinction between "to discern," a process of'input which he welcomes and illustrates as measurements; and "to ponder," a verb he seems to reserve for human thought, where more has to be taken into account than just the information of the moment or information previously received. And what is that "more"? I suggest that only people who know mechanics very well can appreciate fully the chasm between their creations and those of life (ie: between organic information and mechanical information). Randell observes, and I heartily agree, that "In all this work [Torres] was deliberately exploit

why the last

is the best LuQL

It has the latest news for users (and prospective users) of Heath Co. computer products. It isn't company-controlled--BUSS can get new product information and tidbits about items being developed before the official announcement by Heath Co. But BUSS does more than that--BUSS also lets you in

on news of compat software from oth and H11 users may these products to subscription seve And users of the aren't left out e The first issue o more than a year

ible hardware &

er vendors. H8 save enough on pay for a BUSS

ral times over.

ET-3400 Trainer

ither.

f BUSS came out

ago in April of

1977. Every issue goes by first '

class mail and almost all orders ■

for new subscriptions are filled i

within two days. Back issues go , fast, but most of those for 1978 are still available. BUSS keeps

getting better. So send for it: '

■

12 Issues For $ 6.80

The Independent Newsletter of Heath Co. Computers 325 Pennsylvania Avenue, S.E. Washington, DC 20003

88

September 1978 © BYTE Publications Inc

Circle 32 on inquiry card.

'Dynabyte builds confidence into my computer."

: i >.

Piug-in-and-run performance takes the uncertainty out of owning a computer. That's the kind of computer products Dynabyte builds.

Confidence in your computer is increased because you know that Dynabyte S-100 boards are factory assembled by trained technicians, burned in for 72 hours at elevated temperatures and continuously tested for three days.

That was true of the industry's first assembled and tested 16k dynamic RAM from Dynabyte, and it continues with all the other products from Dynabyte.

Once you plug Dynabyte boards in their careful design, factory prime components and quality construction keep them running. Dynabyte backs them with a one year warranty—the longest in the industry.

Incompatability is coming to an end. Dynabyte's 16k and 32k static RAMs come with access times of either 250ns for Z-80A processors or 450ns for 8080 and 8085 chips. You can use the

16k static RAMs with Alpha Micro or Cromemco bank switching memory expansion techniques.

Computer users are so confident of Dynabyte's 16k dynamic RAM they have made it the most widely used S-100 dynamic memory in the world.

If you intend to become a proficient data processor but instead are unhappily debugging your system, or want to avoid a lot of debugging, then Dynabyte will be a great choice.

As you spend less time monkeying with hardware and more time computing, you'll become more confident of your abilities and proud of your accomplishments. Isn't that what owning a computer is all about?

Tell your computer retailer with confidence that you want Dynabyte boards—the plug-in-and-run performers.

1005 Elwell Court, Palo Alto, CA 94303. (415) 965-1010.

D&lliaB&ITE

32k Fully Static RAM. 250ns or 450ns; 4k boundary addressing; no DMA restrictions; full Schmitt trigger buffering; no wait states; complete S-100 compatibility; conservative thermal design includes eight regulators and heat sinks. 250ns, $995. 450ns, $925.

16k Fully Static RAM. 250ns or 450ns; bank select is provided and is compatible with most popular schemes for memory expansion beyond 64k including Alpha Micro and Cromemco systems; 4k block addressing along 4k boundaries; write protect with alarm for each 4k block; full Schmitt trigger buffering. 250ns, $555. 450ns, $525.

16k Dynamic RAM. The industry's most popular S-100 dynamic RAM. Self-contained refresh logic is transparent to the 8080 processor and never generates a WAIT state. 1MHz direct memory access, 16k addressing. The Original Great Memory by Dynabyte, $399.

Naked Terminal. 80 character x 24 line = 1920 character display capacity. Not just a video interface but a full terminal; plug into a mainframe with keyboard and monitor and save! CJpper and lower case; black/white or white/black; block mode editing; addressable cursor; half and full duplex; no software support required; addressable status and I/O ports. $350.

Circle 110 on inquiry card.

BYTE September 1978 89

Commodore

Radio Shack

You can find out what our customers already know—Personal Software consistently offers great software products. Check out the programs below—they each represent many man-months of expert programming effort. We're sure you'll be pleased with the results.

nnnn nnn m

= R = =

.

r i

"M

TTRS-OO

L j

V.'.t

MICROCHESS 1.5 by Peter Jennings for 4K Level I and II TRS-80s: In Z-80 machine language, easily loaded from cassette using the CLOAD command (TBUG is not needed). Uses standard algebraic chess notation to describe moves. Checks every move for legality. Handles castling and en passant captures. You can play white or black, set up and play from special board situations, or even watch the computer play against itself! With 3 levels of play $19.95

BRIDGE CHALLENGER by George Duisman for 8K PETs and 16K Level II TRS-80s: You and the dummy play four person Contract Bridge against the computer. The program will deal hands at random or according to your criterion for high card points. You can review tricks, swap sides or replay hands when the cards are known. No

longer do you need four people to play! $14.95

6502 ASSEMBLER IN BASIC by Dan Fylstra for 8K PETs: Accepts all standard 6502 instruction mnemonics, pseudo-ops and addressing modes. Evaluates binary, octal, hex, decimal, and character constants, symbols and expressions. Assembles object programs anywhere in memory. Includes one and two pass versions of the assembler, text editor and disassembler, with a 30 page manual and

PET machine language programming hints $24.95

ORDERS: Check, money order or VISA/Master Charge accepted; programs and cassettes guaranteed. If you have questions, please call us at 617-783-0694. If you know what you want and have your VISA/Master Charge card ready, just pick up the telephone and

DIAL TOLL FREE 1-800-325-6400

24 hrs In Missouri dial 1-800-342-6600 7 days

Or you can mail your order to the address below. OUR CA TALOG describes many other great software products, including an ASTROLOGY program, a FOOTBALL game, a GRAPHICS utility package and many others. For your free ropy, send a letter giving your PET or TRS-80 serial number, memory size, and your most wanted software product.

Personal Software™

P.O. Box 136-B9, Cambridge, MA 02138

ing the new facilities that electromechanical techniques offered and challenging accepted ideas as to the limitations of machines." But he not only exploited, he revelled; he did more than challenge: he expressed his disbelief and undertook to amaze his skeptics.

Torres worked on what he enjoyed, and a spirit of breathless, childlike fun is visible in all his activities. Imagine in 1906 a radio controlled boat that coasts up to a dock where stands the King of Spain, cuts its engine, heels sharply to starboard, and runs the royal flag smartly up and down the mast! The King salutes, the crowd cheers / Viva la Espaha! What ecstasy it must have been for Torres. This is something beyond a demonstration of Hertzian waves as applied to potential weapons of war. It is something human: a radio controlled triumph. But such moments do not recur frequently. Torres the inventor-scientist is almost surely speaking in this quotation from the Scientific American article (see bibliography) about his 1911 chessplayer: "There is no claim that it will think or accomplish things where thought is necessary, but its inventor claims that the limits within which thought is really necessary need to be better defined, and that the automaton can do many things that are popularly classed with thought." You can hear the muted sadness, the resignation mingled with pride. Well, it still can play a flawless endgame of chess. If only it could be made to live. The next one I make will, at least, talk.

BIBLIOGRAPHICAL NOTES

The information in these articles has been synthesized from various sources I have encountered in reading about the history of computers, several histories of which make mention of Vaucanson in the sentence that directly precedes the one about Babbage. I found no literature explaining Vaucanson's creations until I came across:

Chapuis, Alfred E, and Droz, Edmond, Automata: Historical and Technological Study, Editions du Griffon, Neuchatel SWITZERLAND, 1958.

Here an astonishing and catholic variety of automated devices are described and illustrated, most of them trivial, such as pictures with clockwork-driven, moving figures. It is maddening that Chapuis' Automata treats the great mechanical computers of the past with little care. Chapuis and Droz were in a unique position because they read French, the language of most of the original docu

90

September 1978 © BYTE Publications Inc

Circle 302 on inquiry card.

THE

MICROCOMPUTER SOFTWARE STANDARD

CP/M™ OPERATING SYSTEM

• Editor, Assembler, Debugger, and Utilities

• For 8080 and Z-80 Systems

• Up to four IBM-compatible floppy disks

• Documentation includes:

CP/M Features and Facilities CP/M Editor Manual CP/M Assembler Manual CP/M Debugger Manual CP/M Interface Guide CP/M Alteration Guide

MAC™ MACRO ASSEMBLER

• Compatible with new Intel Macro standard

• Complete guide to Macro Applications

SID™ SYMBOLIC INSTRUCTION DEBUGGER

• Symbolic memory reference

• Built-in assembler/disassembler

TEX™ TEXT FORMATTER

• Powerful text formatting capabilities

njn I rn I QCDCflflPJ-l • Text prepared using CP/M™ Editor

Please send me the following:

D CP/M,M System Diskette and Documentation (Sel of 6 manuals for $100.

□ CP/M'" Documentation (Set of 6 manuals) only for $25.

□ MAC" Diskette and Manual for $90. D SID'" Diskette and Manual for $75. D TEX Diskette and Manual for $75.

□ Send information on CP/M User's Croup, high level languages and optional packages.

101 DIGITAL RESEARCH

NOTE: Due to the proprietary nature of CP/M™ software, please enclose your CP/M Serial No. when ordering MAC, SID, or TEX without the CP/M diskette. CP/M'" Serial No.

□ BankAmericard No. Exp. Date

□ Master Charge No. Exp. Date

D Check or M.O. enclosed.

California residents add 6% sales tax.

Total amount of purchase $

Name

Address

City

State

-Zip.

Post Office Box 579"PacificGrove,California93950•(408)649-3896

Circle 95 on inquiry card.

BYTE September 1978 91

merits. They had pursued the field of automata so long (Chapuis & Edouard Gelis published Le Monde des Automates in 1928, as well as making a film about automata in 1945) that their fame on the continent would have enabled them to study the machines minutely. They meticulously reconstructed the dates of inception, untangled the inventors of automata, and deduced the fate of the machines. Their myriad illustrations are unsurpassable.

2. You can read a translation of Vaucanson's own description of his automata in:

Ord-Home, Arthur W J G, Clockwork Music, Crown Publishers, New York, 1973.

which is currently in print. This book mentions and illustrates the Eureka poetry composing machine, a violin playing device, and quotes a newspaper account of one or two astonishing automatons (unless they are fabricated) such as a life-size mannequin that plays violin sonatas under keyboard control. There is little else of interest regarding stored programs. Lots of fun, though.

3. A most valuable survey which speaks of a

TERMINALS FROM TRANSNET

PURCHASE

12-24 MONTH FULL OWNERSHIP PLAN

36 MONTH LEASE PLAN

PURCHASE

PER MONTH

DESCRIPTION

PRICE

12 M0S

24 M0S 36 M0S

DECwriter II

$1,495

$145

$ 75 $

52

DECwriter III

2,895

275

145

99

DECprinter 1

2,295

219

117

80

VT52 DECscope

1,695

162

85

59

VT100 DECscope

1,695

162

85

59

VT55 DECgraphic CRT

2,695

260

135

94

ADM 3A CRT

875 845

84 81

45 43

30 30

HAZELTINE 1400 CRT.

HAZELTINE 1500 CRT.

1,195

115

61

42

Tl 745 Portable

1,875

175

94

65

Tl 765 Bubble Mem

2,995

285

152

99

Tl 810 RO Printer

1,895

181

97

66

Tl 820 KSR Terminal ..

2,395

229

122

84

Data Products 2230 ...

7,900

725

395

275

QUME, Ltr. Qual. KSR .

3,195

306

163

112

QUME, Ltr. Qual. RO ..

2,795

268

143

98

DATAMATE Mini floppy

1,750

167

89

61

FULL OWNERSHIP AFTER 12 OR 24 MONTHS

10% PURCHASE OPTION AFTER 36 MONTHS

ACCESSORIES AND PERIPHERAL EQUIPMENT

ACOUSTIC COUPLERS •

MODEMS

• THERMAL PAPER

RIBBONS • INTERFACE MODULES •

FLOPPY DISK UNITS

PROMPT DELIVERY • EFFICIENT SERVICE

VET CORPOR

ATIOS

iRANSP

2005 ROUTE 22, UNION, N.J

. 07083

LAJ 201-688-7800

great many mechanisms and machines from the historical viewpoint, but describes them hardly at all is:

Price, Derek J deSolla, Automata in History: Origins of Mechanism and the Mechanistic Philosophy, Technology and Culture, volume 5, number 1, 1964.

which is worthwhile for the long perspective it offers on mechanics, and for the sense of continuity it conveys regarding human endeavor. You begin to learn that the world has always been filled with restless, thoughtful, imaginative and inventive people.

4. It is fun to read a splendidly researched volume like:

Carroll, Charles Michael, The Great Chess Automaton, Dover Publications, New York, 1965.

which is still in print and describes a nearly century long hoax (for which Vaucanson had unwittingly cleared the path), as well as Maelzel's actual mechanical achievements that blossomed into an industry by 1900.

5. For me the doyen of computer historians is:

Randell, Brian, The Origins of Digital Computers: Selected Papers, Springer Verlag, Heidelberg, New York, 1973.

where the developments that preceded and led up to the digital computer are spelled out event by event. As if Randell's crystalline commentary were not enough, he includes original papers (some in lucid translation) by Babbage, an incredibly clever man, and just about everybody who did anything useful in the development of computers, such as Aiken, Hopper (the only woman in the book), Eckert, Von Neumann, Goldstine, and Mauchly. They are included here, along with Leonardo Torres. Many machines are also included, such as the Zuse relay computer of wartime Germany, the Bell Labs relay computer, Altanasoff's Iowa State computer with its novel capacitor storage system, and of course, EN I AC and EDSAC, those feeble giants.

6. The following article makes fascinating reading:

Anonymous, "Torres and His Remarkable Automatic Devices (He Would Substitute Machinery for the Human Mind.)", Scientific American Supplement 80, number 2079, 6 November 1915.

7. Torres' machine is also described in:

Levy, David, Chess and Computers, Computer Sciences Press, Potomac MD, 1976."

92 September 1978 © BYTE Publications Inc

Circle 376 on inquiry card.

Finally. A dependable microcomputer board.

V>m

Sm

■wyf^MJB

3p;

te ' J^l

Ef' St* '

&

*r— ——. ■—■ M

73*.

a : . i

1. !

1«' M m ■

b

r*l

In performance. In quality. In availability. OEMs, educators, engineers, hobbyists, students, industrial users: Here's our Versatile Interface Module, a fully-assembled, tested and warranted microcomputer board that's a true single-board computer, complete with keyboard and display. All you do is provide a +5V power supply and the Versatile Interface Module gives you the rest—and that includes fast delivery and superior quality. Key features include:

• Hardware compatibility with KIM-1 (MOS Technology) products.

• Standard interfaces include audio cassette with remote control; both 8 bytes/second (KIM) and 185 bytes/second (Versatile Interface Module) cassette formats: TTY and RS232; system expansion bus; TV/ KB expansion board interface; four I/O buffers; and an oscilloscope single-line display.

To place your order now, contact

OEM Distributors

Kierulff Electronics

Sterling Electronics (Seattle only)

Zeus Components

Century/Bell

Lionex

Hallmark

Intermark Electronics

Quality Components

Circle 356 on inquiry card.

your local area distributor or dealer.

Technico General Radio Western Microtechnology Future Electronics Alliance Electronics Arrow Electronics

Personal Computer Dealers

Newman Computer Exchange Ann Arbor, Michigan

• 28 double-function keypad with audio response.

•4K byte ROM resident SUPERMON monitor including over 30 standard monitor functions and user expandable.

• Three ROM/EPROM expansion sockets for up to 24K bytes total program size.

• IK bytes 2114 static RAM, expandable to 4K bytes on-board and more off-board.

• 50 I/O lines expandable to 70.

• Single +5V power requirements.

• Priced attractively in single unit quantities with OEM discounts available for larger quantities.

Synertek Systems Corporation.

2589 Scott Blvd., Santa Clara, California 95050. (408) 988-5690.

Technico

Columbia, Maryland

Computerland

Mayfield Heights, Ohio

RNB Enterprises

King of Prussia, Pennsylvania

Computer Shop

Cambridge, Massachusetts

Computer Cash

Anchorage, Alaska

Energy Electronic Products Los Angeles, California General Radio Camden, New Jersey Advanced Computer Products Santa Ana, California

Computer Components Van Nuys, California

BYTE September 1978 93

Let Your Fingers Do the Talking

Scanner Applications

Qispcis's Circuit Qellap

Steve Ciarcia POB 582 Glastonbury CT 06033

/ would like to thank Dr Russell Relss for contributing ideas which have led to this and other articles. .. .SC

In "Let Your Fingers Do the Talking — Add a Noncontact Touch Scanner to Your Video Display" (August 1978 BYTE, page 156), I detailed the hardware design of a noncontact touch scanner which sits over a conventional video screen. This system, though lower in resolution, allows a fingertip to simulate the function of a light pen and with proper programming can become as important a peripheral as the common ASCII keyboard.

Quick Hardware Review

The scanner consists of 32 pairs of infrared light emitting diode transmitters and photo transistor receivers arranged around the perimeter of a picture frame. There are 16 pairs on the X axis and 16 pairs on the Y axis. The hardware logic sequentially activates the 32 pairs, first in the X direction (horizontal) then in the Y direc

Photo I: The basic information returned from the touch panel is a coordinate pair for one of 256 possible finger sized locations on the video display's face. Here, using the program in listing 3, the displayed coordinates 10 and 9 correspond to the point just touched on the screen.

tion (vertical). If a physical obstruction is placed in the plane of the scan, one X and one Y beam are interrupted. The corresponding X and Y beam addresses are stored when this happens. Since there are 16 pairs per axis, each coordinate can be represented by a 4 bit code and both the X and Y addresses can be packed into one data byte.

The end result of the hardware logic is a very simple scanner to computer interface. The scanner output is one 8 bit byte containing the 4 bit X and 4 bit Y addresses. The only other signals are a little something often referred to as hand shaking. A data ready line is set to a high level output when the scanner has sensed an obstruction.

This data ready signal can be tied to a parallel input port and scanned as I have done, used as a control line on a peripheral interface circuit, or used directly to generate a processor interrupt. If the touch panel is to be exercised in BASIC, the first method will prove to be easiest. The latter method, normally used with a machine language program rather than BASIC, will be the most efficient from a memory utilization standpoint.

I continue to use BASIC wherever the interface data processing speed allows it. In this way I can write illustrative program examples which are not tied to a particular processor. Of course, the speed advantages of machine language may be useful if your programs using the touch panel have a lot to do; so feel free to strike out on your own using these BASIC programs as a model.

Whatever the software method utilized to recognize the data ready bit, the program action must be the same. After the data ready bit goes high, the data byte is stored and the data ready is reset by momentarily pulsing the ready reset line low. In BASIC, the easiest way to do this is to tie the ready reset line to one bit on a parallel output port (it need only be a strobe rather than a latched output) and then sequentially execute two OUT instructions. The 10 ms pulsewidth I get on my machine is the result of the time it takes for BASIC to respond. The program examples presented in the listings use the following port allocations (in decimal):

94 September 1978 © BYTE Publications Inc

Get Graphic with Your Computer!

i.3 DIME.HSIOM A L

AMD gMHJIER

BWBD»«nHffl

EXCITING 3-D MAZE BOOKS.

3-DIMENSIONAL MAZES by Larry Evans.

[J Puts you into the puzzle through exciting perspective drawing. $1.50.

MAZE CUBES by Larry Evans

U Features 12 colorful cubes which, when constructed, fit together to form a variety of 3-dimensional maze games. Six basic games create over 1 million maze possibilities! Simple instructions and examples of game variations complete this ideal entertainment for all ages. $2.95.

3-DIMENSIONAL MAZES, Volume 2 by Larry Evans

LJ Brilliant, tantalizing puzzles that are irresistible to solve. $1.95.

3-D OPTICAL ILLUSIONS by Larry Evans

LJ Enjoy the mystery and beauty of optical illusions in three dimensions! Five dazzling projects to build, color and amaze. Each phenomenon is thoroughly explained. $2.50.

ALTAIR DESIGN, MORE ALTAIR DESIGN, & ALTAIR DESIGN 3 developed by Ensor Holiday

LJ Keep the loved ones busy while you use your system. . . give them any or all of these computer generated Altair Design Books to start them (or yourself) on endless hours of creative coloring. No other coloring books are quite like these. Perfect for the doodler or as gifts for your computerphile friends. $2.50 each.

MATHEMATICAL ELEMENTS FOR COMPUTER GRAPHICS by David F Rogers & J Alan Adams

CJThis book introduces the mathematical theory underlying computer graphics. The main concentration of the book is fundamental mathematical techniques (rotation and surface description) rather than procedural techniques (hidden line elimination). Each subject, such as surface description, three dimensional transformations, and surface curves, is given a thorough mathematical description. Algorithms for many fundamental elements of an interactive graphics package are given in BASIC. This is a fine addition to the library of any

ARTIST AND COMPUTER edited by Ruth Leavitt

I IA visual treat, as you encounter reproductions of numerous works by computer oriented artists and read about these works in their own words. 160 illustrations, many in color. $4.95.

PROJECTS IN SIGHT, SOUND, & SENSATION by Mitchell Waite

L~J Dedicated "to all space cowboys." Detailed theory and practice of seven fascinating amateur electronics projects, along with a complete and detailed appendix on how to make PC boards. The projects included in this book are: The Syntheshape, an art generator that can be used to generate innumerable complex and beautiful patterns on the screen of an oscilloscope. An electronic music box that will play over 3000 possible melodies when the lid is lifted. A way to control muscle tension explained in chapter 4. A musclewave bio-feedback monitor can be used to achieve deep relaxation. The laser-light show transfers light into fascinating patterns in a darkened room. Other projects include a Kirlian camera, a digital ESP machine, and neon-light randomizer. $5.25.

one seriously interested in graphics. 239 pp. $11.95.

For your convenience in ordering, please use this page plus the order form on page 111. You may

BITS

Circle 35 on inquiry card.

photocopy this page.

DIAL YOUR BANK CARD ORDERS TOLL FREE 800-258-5477.

T.M.

The Microcomputer Bookstore

25 Route 101 West, P.O. Box 428, Peterborough, NH 03458

BYTE September 1978 95

Data Ready Ready Reset X, Y Coordinate

Input Port 2

(least significant bit)

Output Port 16 (least significant bit)

Input Port 16 (b-j-b^ is X address) (b3-bQ is Y address).

100 REM THIS IS THE ONLY SOFTWARE NECESSARY TO EXERCISE THE

SCANNER 110 REM *** RESET SCANNER *** 120 OUT 16,0 : OUT 16,255 : REM THIS WILL GIVE A SHORT RESET PULSE TO

PORT 16 130 REM *** TEST DATA READY***

140 T=INP(2) : REM THE DATA READY SIGNAL IS BIT 0 OF PORT 2 150 T=TAND1 :REM MASK ALL BUT BIT 0

160 IFT01 THEN GOTO 140 :REMTESTTO SEE IF DATA READY IS SET 170 REM *** READ DATA ***

180 D=INP (16) :REM SCANNER IS ATTACHED TO PORT 16 190 D1=(D AND 2401/16 :REM MASK AND SHIFT RIGHT 4 BITS 195 REMD1 IS THE X COORDINATE 200 D2=D AND 15 205 REM D2 IS THE Y COORDINATE 210 RETURN :REM RETURN IS ONLY NECESSARY IF CALLED AS A

SUBROUTINE

Listing 1: Subroutine used to determine activated coordinates on the scanner.

10 PRINT "MYSCREEN ITCHES!! PLEASE SCRATCH IT!"

20 GOSUB 100 :REM ACTIVATE SCANNER

30 PRINT "OH!! THAT FEELS SO GOOOOOOODM!"

40 END

Listing 2: Example of using the entire video screen as a push button.

100 S=USR<255> IREM THIS IS A SCREEN CLEAR FOR DG Z--80 110 PRINT"THIS IS A TEST OF TOUCH INPUTISO PRINT'THE SCREEN IS CURRENTLY BEING SCANNED BY AN ARRAY' 130 PRINT" INFRAREH LEHS AND OPTICAL SENSORS" 110 PRINT

150 PRINTPOINT AT THE SCREEN SOMEPLACE "

160 GOSUB 1000 !REM GOTO THE SCANNER SUBROUTINE ANIi RETURN WITH COORDINATES 170 PRINT" THANKYOU"

180 PRINT 190 PRINT

200 PRINTTHE SCANNER HARDWARE SAYS THA' YOU TOUCHED LOCATION" 210 PRINT X-"(D1."ANH Y='rU2t" ON A 16X14 GRID" 220 GOSUB 2500 :REM CAl L SLIGHT DELAY TIMER 250 S USRC255) SREM CLEAR SCREEN

260 PR1NTLEI ME DEMONSTRATE THE COORDINATE SYSTEM" 270 PRINT"PUINT YOUR FINGER AT THE SCREEN AND I'll PRINT OUT (X.Y)"

280 PRINT'TO EXIT JUST POINT TO LOCATION (15rl5) UPPER RIGHT"

290 GOSUB 1000 :REM CALL SCANNER

300 S=USR<255> IREM CLEAR SCREEN

310 IF Dl=15 THEN 320 ELSE 330

320 IF D2=15 THEN END

330 PRINT

340 PRINT D1.D2! !REM PRINT COORDINATES

350 GOTO 290

1000 REM *** RESET SCANNER ***

1010 OUT 16f0 !OUT 16.255

1050 REM *** TEST DATA READY ***

1060 T=INP(2)

1070 T=T AND 1

1080 IF T-Cl THEN GOTO 1060

1090 REM *** READ DATA ***

1100 D=INP<16)

1110 D1=(D AND 240>/16 SREM THIS IS THE X VALUE

1120 D2=D AND 15 :REM THIS IS THE Y VALUE

1130 RETURN

2500 FOR W=l TO 2000

2510 NEXT W

2520 RETURN

Listing 3: This program outputs the coordinates of the point you are touching on the screen. The output of the program can be used at a higher level to indicate some object that is printed on the screen.

Using the Touch Panel

Using the touch panel in any BASIC program, whether it be game or instructional, will necessitate having a subroutine to read and reset the scanner placed somewhere within the BASIC program. The total software necessary to exercise the touch panel is shown in listing 1.

If a GOSUB 100 command is encountered, BASIC vectors to this subroutine and begins execution. This subroutine will not return until someone touches the screen. Variable D1 would contain the X coordinate and D2 would contain the Y value. Each call to this subroutine results in returning to the main program with the X, Y address of a single touched point. To obtain ten touch inputs would require calling this routine ten times.

The simplest program utilizing the scanner would be one which sensitizes the entire screen to act as one giant push button. Such a program is similar to a press any key option on a keyboard.

The program in listing 2 prints "MY SCREEN ITCHES!! PLEASE SCRATCH IT!" on the video screen, waits for someone to touch any place on the screen and then responds with the message in line 30. Notice that we did not use the coordinate information from the scanner because we only needed to take advantage of the fact that the subroutine returns only if data is ready.

Test the Coordinate System

If one builds the touch panel, the first program written should be one that illustrates the coordinate system dynamically, such as the program in listing 3. (All BASIC programs in this article are written in Micro Com 8 K Zapple BASIC.)

After printing an opening comment on the video screen, the program calls the scanner subroutine as before. This time when it returns, it prints out the X and Y coordinate which was touched as shown in photo 1. The rest of the program is a repeat of this basic cycle with one exception. The values of D1 and D2 are both compared to 15 after each scan. Should you point at coordinate position (15,15) the program ends.

Converting Position to Function

So far we have displayed only the raw output of the scanner and have not used it in its true application. Telling you that you are pointing to location (4,2) illustrates that the touch panel functions, but does no use

96 September 1978 © BYTE Publications Inc

Heathkit H8 Owners:

SERIOUS?

Powerful Capaoilities

The only full size dual diskette system configured especially for the Heathkit H8 Computer is now available for immediate connection. The INFO 2000 Disk System is the best performer for any microcomputer: it's incredibly fast, it uses full 8" diskettes, and it gives you immediate Z80 capability. The recording format is standard IBM 3740. So you're assured maximum storage capacity, superior error protection, and full interchangeability with other CP/M* based systems.

Simple Connection

The Disk Adapter Board supplied with the INFO 2000 Disk System contains its own Z80 microprocessor. Just swap this board with the 8080 that came with your H8 and you'll have instantly upgraded to a Z80 microcomputer. The Z80 instruction set includes 158—more than twice as many as the

3080. Z80 instructions feature powerful block transfer, block search, block I/O instructions, relative addressing, bit manipulation, index registers and greatly enhanced interrupt processing. All you need to do is plug in the adapter board, cables and AC power, and you're ready to run.

Hassle-Free Operation

Designed just for the H8, the INFO 2000 Z80/Disk Adapter Board includes an EPROM containing PAM-Z. This is a Z80-oriented panel monitor which permits the H8 front panel to operate in both hexadecimal and octal modes. A CP/M disk operating system is included which enables you to use Disk BASIC, FORTRAN, COBOL, PASCAL and hundreds of applications programs. Plus, you can still utilize all Benton Harbor software. The flick of a switch gives you either software mode . . . instantly! You should have a minimum of 16K RAM, and to take full advantage of all the software you can implement, 32K is recommended. You'll also need the standard Heath serial board and a terminal for a full system.

upgrade your H8 to a Z80 with the

DISK SYSTEM

We're Serious

The H8 is a good beginning. But why stop there. Go for the best. With this combination of low cost computer and a powerful disk system, you can now perform a tremendous range of tasks. Use your H8 as a sophisticated business system and a powerful design and development tool.

If you're serious.

Delivered assembled and factorytested, the complete disk system includes dual diskette drives, Z80/Disk Adapter Board, power supply, cabinet, cables, and CP/M disk operating system. Full price $2950. Available for immediately delivery.

*CP/M is a trademark of Digital Research

CORPORATION

20630 South Leapwood Avenue

Carson, California 90746

(213)532-1702

Circle 176 on inquiry card.

BYTE September 1978

97

An industrial grade alphanumeric terminal incorporating touch panel input is being manufactured. For information contact:

General Digital Corp

700 Burnside Av

East Hartfort CT 06108

m

PH ph ■■■■

1

1

l^m&i-^- ~~^

M

I 111:

|L.. .ebh^

, liij mis is a oifluroR KiKfra

KZ

t 1 2 3 t 1

H^H

■

j

I

1

j 14 5 6-1

•.III I-, • •

ltt;-{' 17 8 9X1

;VV. i B tn ■ / I

( , TdOt M Dion (ON) TO STFRt IK (KHUTOR

1

1

^""/"fc'wB^* ««?=■ L"-*i.-i-■.'■

l

|

/°/7oto 2/ Were /s a picture of an experiment which was backed up by a fairly long BASIC program: using the screen as the input device for a simulation of an ordinary 4 function calculator. The imagination of the user, to use a well-worn cliche, is the only limitation upon trying experiments with special purpose keyboards and interactive sequences on the screen. Use of the video display behind the touch panel area makes easily altered software the determining factor — rather than physical tools in the workshop.

ADDRESS'

UITAI. CHARACTERISTIC

100 B*USR<2S5)

110 FRINT'NAMF

120 FOR L'l TCI 1?

130 PRINT

140 NEXT 1

150 PRINT'RHONE

160 GOSUB 1000

170 IF Di: 7 THEN GOTO 300 ELSE GOTO 200

200 REN THIS ROUTINE DECIDES IF YOU ARE POINTING TO

202 REM SECTOR 1 OR 2

210 IF D2.7 THEN PRINT'UNLISTED NUMBER" IGGTQ 2000

220 PRINT'BRENIIA (THE LITTLE UOOFER! ClARCtA'

230 GOTO 2000

300 REM THIS ROUTINE DECIDES IF YOU ARE POINTING TO

302 REM SECTOR 3 OR 4

310 IF D2 ^7 THEN PRINT'SCOTTISH TERRIER — FOUR LEGGED BURGLAR ALARM' tGOTU 2000

320 PRINT'BOX 582 GLASTONBURYrCONN. 06033'

330 GOTO 2000

990 REM

992 REM SCANNER SUBROUTINE

1000 OUT 16.0 :OUT 16.255

1010 T=INP(2!

1020 T=T AND 1

1030 IF T:>1 THEN GOTO 1010

1040 D=INP<16)

1050 Dl-IB AND 2401/14

1060 D2=D AND 15

1070 RETURN

2000 FOR N=l TO 2000

2010 NEXT N

2020 GOTO 100

Listing 4: Illustration of a BASIC program which divides the screen into four sectors and performs a function dependent on which sector is touched by the user.

(0

15)

(7

15) (15,

NAME

ADDRESS

sector 2

sector 3

(0,7)

PHONE sector 1

VITAL

CHARACTERISTIC

sector 4

(15,7)

(7,0)

(15,0)

sector 2

sector 3

0 <x<7

7<x<l5

7 <» <I5

7<y<l5

sector 1

sector 4

0<x<7

7 < x<l5

0<y<7

0<y <7

Figure V. Physical arrangement of sectors on the screen as used by program in listing 4.

ful work. If instead some letter or word were at (4,2) and the program used this higher function output rather than just the numerical coordinate, we'd have something.

Fortunately it isn't all that difficult. By dividing the scanner system into fields and having each field represent a function, wc can do useful work. A 2 level program must be written. First, it should have the capability of formatting the screen so that the printing is beneath the proper touch coordinate. Then, after returning from the scanner subroutine, it must translate this position value into the function designated by the printing on the screen.

A simple program which divides the screen into four fields or sectors and performs a function dependent on which sector is touched is shown in listing 4. Figure 1 describes the mathematical relationship between the coordinate system and the BASIC program of listing 4.

After printing the opening lines on the screen the program calls for the data from the scanner. The X coordinate (D1) is first tested to sec if it is greater than 7. If it is, then either sector 3 or 4 must have been chosen. If D1 is less than 7 then it must be sector 1 or 2. After choosing whether it is the right or left half of the screen the test is repeated with the Y coordinate. In theory, this binary search method would require no more than eight such tests if all 256 points were designated as separate fields.

A further extension of this binary search

98 September 1978 © BYTE Publications Inc

A SMALL ANNOUNCEMENT

H

Our good news comes in a small package. It's the new Verbatim" Mini Data Cartridge, model TC-150. We've designed it to store data for today's minicomputers. Intelligent calculators and terminals. Word processors. Point-of-sale terminals. Data acquisition instruments. And more. Matter of fact, it plugs right in wherever you're now using 3M's DC-100A or HP's 9162-0061 mini-cartridges. It can be used on HP, TI, Savin, Qantex and 3M drives, among others.

Small wonder!

The TC-150 offers the same rugged packaging, long

life and 100% performance testing of all our

Verbatim products. And because each Mini Data

Cartridge uses quality Verbatim media, you're assured

that your data will play back the way you recorded

it, bit for bit, byte for byte.

Actual data storage figures depend on your data

format, but the recording formats for the Verbatim

TC-150 range from single-track 800 bpi up to

dual-track 1600 bpi. With room to grow.

Quality mini media. That's our business. At

Information Terminals Corp. the whole message

is quality.

Information Terminal Corp.,

323 Soquel Way, Sunnyvale, CA 94086.

(408) 245-4400. TWX: (910) 339-9381.

Call Toll Free: (1) 800-821-7700, Ext. 515 (In Missouri call: 800-892-7655, Ext. 515)

In Europe: WHEN

Information Terminals S.A. YOUR. 5i Iv

Case Postale 296

1215 Geneve 15

Switzerland

Telephone: 41 (22) 34-90-55

Telex: 22647 ITGE CH

In the Far East:

ITC—Far East

404 Roppongi Skyheights

3-2-21 Roppongi, Minatoku

Tokyo, Japan

Telephone: (03) 583-1981

Telex: J 47879 © coPVnBht itc ws

Circle 177 on inquiry card. BYTE September 1978 99

YOUR DATA

Specify

Verbatim

100

no 120

200

210

215

220 230 235

210

REM THIS PROGRAM DISPLAYS A KEYBOARD ON THE CRT SCREEN REM AND ILLUSTRATES DATA ENTRY UITHOUT A PHYSICAL KEYBOARD SEM JUST POINT AT THE LETTERS AND IT WILL 'TYRE' YOUR MESSAGE

H"

260 261 262 263 264 265 260 2 70 2G0 290 JOO 302 303 310 320 330 340 350 360 100 101 102 103 10-1

107 250 251

SPACE"

PRINT"A K C

PRINT

PRINT

PRINT"I J K

PRINT

PRINT

PRINT'Q R S

PRINT

PRINT

PRINT"Y Z

PRINT

PRINT

PRINT

PRINT

GOSUB 2500

GOSUB 1000

IF D2>=IS THLN PRINT CHR»(Dl/2 + 65)i1 GOTO 265

If D2-> = 10 THEN PRINT CHR» ( Dl/2 + 73 > ! 1G0T0 265

IF D2.--0 THEN PRINT CHRKD1/2+81) i 1GUT0 265

IT D2."5 THEC 302 ELSE 310

IF (Dl/2+8?>>91 THEN PRINT CHR«<32)I1G0T0 265

PRINT CHR»<Dl/2+G?>l100TO 265

IF D2=0 THEN GOTO 320 ELSE 330

IF Dl = 15 THEN 330 ELSE GOTO 265

S=USR(255> 1REM CLEAR SCREEN

PRINT"TO RETRY EXERCISE TOUCH SCREEN"

GOSUB 1000 GOTO 200 0 OUT 16.0 10UT 16.255 TRECt LINES 1000-1070 READ THE SCANNER DATA 0 T=INP(2)

T^T ',ND 1

IF TOl THEN GOTO 1010

D=INPil61

D1=<B AND 2-SO/16

D2=8 AND 15

RETURN

FOR A 0 -0 500 :REM THIS IS A SHORT DELAY 0 NEXT A 0 RETURN

Listing 5: Keyboard simulation program.

100 REM THIS IS A SIMPLE PROGRAM TO ILLUSTRATE SIMULTANEOUS 110 REM DATA INPUT FROM EITHER THE TOUCH PANEL OR THE KEYBOARD 120 0=INP(0) 1REM KEYBOARD IS ATTACHED TO FORT 0

130 REM MSB IS KEYBOARD STROBE BITS 0 TO 6 ARE 7 BIT ASCII

140 IF 0,-0 THEN GOTO 220 1REM CHECK KEYBOARD STROBE

150 T-INP<2) 1REM SCANNER DATA READY IS PORT 2 LSB

160 r-T AND 1

170 IF T 1 THEN GOTO 120

180 LiMNP(16> 1111 = < ti AND 2401/16 TP2-D AND

190 PRINT-PANEL TOUCHED AT LOCATION ("BWB2">"

200 GOSUB 240

210 GOTO '20

220 PRINT"KEYBOARD KEY "TCHRt(INPCO))t" PRESSED"

230 GU1U 120

240 OUT 16.0 10UT 16.255 1REM RESET SCANNER HARDWARE

250 RETURN

IREM READ SCANNER COORDINATE

Listing 6: Method for scanning two input devices simultaneously on a Digital Group Z-SO system

Photo 3: Touch panel Input using the program of listing 5. The line of text at the bottom of the display was entered by touching the index finger to each letter in turn. The photo is shown with the letter P about to be pressed.

concept is used in the calculator of photo 2. While never meant to replace the hand held calculator it uses a routine similar to the previous example to determine the action of each of the 16 possible entries. The picture is included to present the reader with one of the many possible applications of the scanner. The program, however, is quite long and difficult to explain in an introductory article such as this.

Simulated Keyboard

One use of the touch panel would be the simulation of direct keyboard entry. Obviously this technique is valuable only where limited data entry is required. Large menu selection programs with numerous choices displayed may not always have the particular item of interest. By having one of the available selections be a keyboard display and entry routine such as photo 3 and listing 5, the miscellaneous entry could be accommodated. The program of listing 5 displays a keyboard on the video screen and allows one to type by pointing to the individual characters. The example does not include punctuation and a carriage return, but they could be easily accommodated.

One final note. Using the touch panel need not eliminate the standard ASCII keyboard as an input device. By using the BASIC INPUT command, keyboard entry is still available to the user as is the scanner through a callable subroutine. A program could be written where some entries come from the touch panel and others from the keyboard. A more versatile program would allow input from either device at any time.

Listing 6 is a simple program which demonstrates how BASIC can scan two input devices simultaneously and provide appropriate response.

I hope that this touch panel design will spark the creative interests of other computer enthusiasts. In a field where technology advances by leaps and bounds and product obsolescence can be described in months, innovative ideas are necessary to extend the concept of creative home computing. By adding advanced peripherals and high level languages, system obsolescence is delayed considerably.

Next month: build a 5 W dual voltage DC to DC converter for your interfaces."

100 September 1978 ft BYTE Publications Inc

EXCITING

That's the word that sums up the dynamic small computer show in New York that was established last year at the Coliseum. The lecture areas were filled by interested people, the exhibits were great, the attendance was the highest of any small computer show in the country.

The big point is that everyone who came went away happy. Accountants, hobbyists, lawyers, doctors, brokers, retailers, business people, programmers, research scientists and just plain homeowners.

The second big point is that we're doing it again. This time, bigger and better. Top seminars, top exhibits.

Small computers from $500 up, software and kits.

Save time.

Get your tickets

in advance by mail.

r i

NAME

(please print)

H

ADDRESS City .

. State

■Zip

PERSONAL & BUSINESS SMALL COMPUTER SHOW

78 East 56th Street, New York, N.Y. 10022

I

I I

Send me tickets in advance for Personal & Business Small Computer Show, Sept. 15-17, 1978, in the New York Coliseum.

(Check One) One Day ($5)_Two Days ($9)_Three Days ($13)_

Send check or money order (U.S dollars) payable to Personal & Business Small Computer Show to 78 E. 56th St., New York, N.Y. 10022.

I

I

I

I

I I

Circle 267 on inquiry card.

BYTE September 1978 101

Technical Fwum

About the Author

Jon Bondy has been involved with computers for over ten years, and is currently employed by General Electric's Space Division as a computer systems engineer. He has had experience with a wide variety of computer systems and languages. His chief interests are instruction set design and computer architecture in general, including an enthusiasm for that class of high level language oriented stack machines inspired by the Burroughs "D" machine. He gives lectures occasionally for and is vice president of the Philadelphia Area Computer Society.

Jonathan Bondy Box 148 ArdmorePA 19003

Table I: Price comparisons of industrial quality Digital Equipment Corporation LSI- 7 7 modules and systems with functionally similar modules for the Altair (S-100) bus.

S2L An Altair (S-100)

to LS1-11 Bus Adaptor

For many months, those of us who admire the architecture of the PDP-11 computers have been looking for a way to adapt the wealth of Altair (S-100) bus products to this processor. The introduction of the Heath H11 (LSI-11 based) processor has further emphasized the need to solve the problems which have thus far made the LSI-11 incompatible with the Altair (S100) bus peripherals. This article describes the problems which exist, and one solution which I see for them. It has been written in advance of actually implementing the solution, but it should prove valuable to all those experimenters who wish to take up the challenge of an LSI-11 to Altair bus adapter.

For years, the only problem with the LSI-11 as a personal computer has been price. The processor board (KD11-F) itself is a rather good deal at a discount level of 20 to 30 percent, but the accessories are somewhat expensive compared with

typical personal computing products as seen in table 1.

Most of the extra expense of the LSI-11 systems can be attributed to three factors:

1. The DEC prices are generally higher. The memory prices demonstrate this.

2. The use of highly regulated power supplies with the DEC products results in a more costly power supply. In addition, few experimenters are likely to homebrew such a power supply due to its complexity and its being the single element which could cause major destruction should it fail.

3. The LSI-11 has no front panel switches, and instead requires the user to examine and modify the state of the machine via a serial console device. While most industrial customers of DEC are able to afford the high cost of a serial terminal, many

Component

Typical Hobby Price (S-100 Products)

Typical DEC/MDB/ RDA Price

Comments

Memory

$500 for

16 K bytes

$900 for 16 K bytes

Serial IO

$100

$230

Required

Parallel

$100

$200

Video display memory

$200

$600

Power supply

$100

$400 to $1000

Backplane

$150

$350

Chassis

$200

$350

Prototyping card

$25

$75 to $150

Two sizes

These prices were effective at the time of the article's writing. Current prices differ markedly. . .CH

102 September 1978 © BYTE Publications Inc

hobbyists have discovered that memory mapped video is both cheaper and faster than a serial device. Because of this, DEC's decision to use the serial interface in this fashion forces a user to either support two terminals (one serial and one memory mapped) or make do with the serial device. It is unfortunate that a serial device, at any reasonable data rate, is simply unacceptable for some of the applications which an experimenter might wish to pursue, one example of which is state of the art word processing applications.

The three conflicting forces of the high prices of the LS1-11 systems, the desire for that processor's architecture, and the problems with the serial terminal requirement have kept me from going ahead with an LSI-11 system for well over a year. I have finally started on a project of my own which is to adapt an LSI-11 to Altair (S-100) bus peripherals and memory.

My idea was that, since the widest variety of reasonably priced peripherals are available on the Altair (S-100) bus, I should build an Altair (S-1 00) to LSI-11 bus adaptor (S2L). In order to start the design of an Altair bus adaptor, a number of decisions had to be made. Initially, I decided that splitting the 16 bit LSI-11 bus (also known as the "Q" bus) into two 8 bit Altair (S-100) buses, one for the even bytes and one for the odd bytes, would create too much havoc. Certainly one could purchase pairs of memory boards and allocate them in the memory address space appropriately, but when dealing with devices such as memory mapped video displays, adjacent bytes on the screen would be every other byte in the address space of the LSI-11. Additionally, two of every card would be needed in most cases, and adjacent memory mapped IO ports (the only type being considered in the case of the PDP-11 architecture) would be on alternate cards. For this reason, I felt that only one Altair (S-100) bus should be connected to the bus adaptor. This implied that multiple byte reads and writes would have to be performed by the bus adaptor and some sort of state machine would have to be built to do this.

The project was made more difficult by the fact that the LSI-11 allows both 16 bit word width reads and writes, as well as single byte writes. (Single byte reads are not required, since the processor can ignore whatever data it wishes.). Additionally, a read modify write cycle is provided, and that had to be supported by the bus adaptor.

VECTOR PACKAGING MATERIALS SAVE TIME & MONEY

S100 CARDS-100 PLUG CONTACTS-Convenient universal tinned pads and bus lines. For interface, memory expansion, breadboarding. Mount almost anything anywhere on card.

^TnTITTTTTlllllllrrrri'i'riTi'ri'iTilllllllTfTlffHTl^^

S100 CONNECTORS for WIRE WRAPPING or SOLDERING

BEAUTIFUL Model VP2

NEW VECTOR-PAK

CASES for micro-computer

circuitry, assembled. Constructed

of aluminum, finished in vinyl. Slide out covers for easy

access. Includes card guides, heavy chassis plate, perforated

bottom cover for cooler operation.

Card guides perpendicular to front panel, Model VP1, $163.00.

Card guides parallel to front panel. Model VP2, $159.00.

:;.■:■. :■:.' }■ .; :'. '.: .J;;' :;■ ::.^: :l :, " ■.:: :■' ■■-.'. ' <n< ':':..

111

;:; :.: . ■■■' '': '];: '■'■ • ■.

ill

\ ' ['■'■■■ -■■■ .'." [ '■■ '

rl

■Hp ':":'.' ' .. .'■'.:'l';:i \ .' .,," ' . ;; :'-.\ ;|::~

[M

1 M

\:h . :/ ;,-.:-. ... './.: .:'.: =,".; /.:->,. .;:: !<j

w-Jm

■UHUHUHUHilHUMk^

Model 8803

SIOO MOTHERBOARD, $29.50. 11 positions ready for connectors. Glass epoxy, etched circuitry for passive or active termination, 12 tantalum capacitors and instructions.

PLUS revolutionary Slit-N-Wrap wiring tools, Micro-Vectorbord,® printed circuit kits, I.C. sockets, extenders.

Send for new catalog.

VECTOR ELECTRONIC COMPANY, Inc.

12460 Gladstone Avenue, Sylmar, CA 91342 phone (213) 365-9661, twx 910-496-1539

Circle 389 on inquiry card.

September 1978©BYTE Publications Inc

103

Figure I: Block diagram of the S2L interface which a/lows Altair (S-100) bus peripherals and memory to be used with the LSI-ii "Q" bus. Details of memory control, interrupt control and DMA control logic blocks are found in figures 7, 8 and 9 respectively.

Finally, both direct memory access and vectored interrupts had to be supported if there was to be any hope of running LSI-11 software on the beast which would result. It should be noted that just because a memory address responds from the Altair (S-100) bus, that doesn't mean that it couldn't be built to look to the LSI-11 as if it were a "normal" LSI-11 device interface. I wouldn't be giving up the facility to use standard PDP-11 software by building this bus adaptor, but merely making it a bit more difficult.

I should note here that what follows is an untested design based on the references given at the end of the article and some conversations with friends who have Altair (S-100) systems. A variety of Altair (S-100) schematics from Processor Technology, IMSAI, Technical Design Labs and Cromemco, to name a few, were scanned to try to insure some approximation of compatibility, but the design is neither built nor tested. I welcome any

comments from readers who are interested in this project.

The block diagram of the S2L bus interface box is shown in figure 1. It consists of three main sections devoted to memory signals, direct memory access signals and interrupt signals. The schematics for the control logic blocks may be found in figures 7 thru 9, but for the time being, I will discuss their function rather than their detailed implementation in order to simplify the discussion.

Let us first consider a memory read operation as diagrammed in figure 2. Note that all times in the timing diagrams are sequenced correctly, but, many times they are not to scale. Also, note that the clock (<£>2) may be shown as being synchronous with some signals, but this is not necessarily so since the LSI-11 bus is an asynchronous bus. The LSI-11 indicates the start of a bus cycle by asserting the BSYNC L signal. ("Asserted" means going into a logical 1 state, not becoming +4.5 V;

BDALO-BDALI5

0

DATA ADDRESS BUS RECEIVER

16 LINES

BSYNC

BWTBT

BRPLY

MEMORY

CONTROL

LOGIC

RDYI* —RDY2* MWRITE* BDEN* —ALCLK

LSCMP

DOUTSEL MSBCLK —LSBCLK

— LDEN

— WRITE* READ*

— 02*

— VI0-VI7* —BENBL

INTERRUPT

CONTROL

LOGIC

DIRECT

MEMORY

ACCESS

CONTROL

LOGIC

— HALT* —HLDA*

*ALTAIR (S-IOO) BUS SIGNALS

J ADDR

ESS

LATCH

0

T0-!

DOUTSEL

ADDRESS

BUS

DRIVERS

16 LINES

16 LINES

)

DATA OUT MULTIPLEXER

8 LINES

) DAT

A BUS DRIVERS

8 LINES

8 LINES

X

8 LINES

JZ!

DATA

LATCH

(MSB)

r

DATA

LATCH

(LSB)

TZlI

8 LINES

2

INTERRUPT VECTOR BUS BUFFER

£

INTERRUPT

VECTOR

ROM

r>

PRIORITY ENCODER

ALTAIR (S-IOO)

■ ADDRESS

.BUS

ALTAIR (S-IOO)

'DATA OUT

. BUS

ALTAIR (S-IOO)

■ DATA IN

. BUS

.VECTORED

INTERRUPT ■ LINES

104

September 1978 ©BYTE Publications Inc

You Own the Solution, We Offer You the Problem!

If you own a microcomputer, you may face a fairly common dilemma: scarcity of applications. After the initial hardware thrill has worn off, what are you going to do with all that computing power?

Every two months, Strategy & Tactics Magazine publishes something to do with that power. It's called a conflict simulation — a game-like re-creation of a real-world military battle or campaign. In such a conflict simulation, all the relationships of the various military units, the terrain, and the objectives are quantified and classified in a very orderly and rigidly specified manner. The unique data handling/problem solving opportunities are fascinating and plentiful — indeed, they are the chief attractions for most serious players.

Many of the subroutines in conflict simulations are naturals for computerization. For example, combat is usually

Circle 318 on inquiry card.

Jgy Sjactfcs

5TONEV\MJL

in the Shenandoah, 1862

resolved by recourse to a probability table using dice; movement is regulated by digitally valued hexagonal cells; and most events are ordered by a program-like "sequence of play." In fact, the games in Strategy & Tactics are virtually paper programs needing only your ingenuity and enthusiasm to interface with the microcomputer environment.

Every issue of Strategy* Tactics comes with a complete conflict

simulation game plus a feature length, data-rich article on the same subject. In addition, there are other articles on historical and contemporary military affairs along with information about the latest simulation game designs offered by SPI, publishers of Strategy & Tactics.

Send now for a one year subscription to Strategy & Tactics — and start creating your own solutions to our fascinating problems.

SPI has been serving customers by mail since 1970

Send check or money order to:

^■j^pr^fe Sand check or money

<>SPI

W 44 East 23rd S

Dept. 368 44 East 23rd Street, New York, N. Y. 10010

Please enter my subscription to Strategy & Tacticsfor:

□ 1 year (six issues) $15 □ 2 years (12 issues) $28 □ Single issue $5 Also send me the following SPI games, recommended for new players:

D Blue* Gray, four Civil War battles: $12

□ Napoleon's Last Battles, four battles of Waterloo: $12

□ Modern Battles II, four contemporary conflicts: $12

name

street

apt tt

city

state

zip

SPACE BELOW FOR OFFICE USE ONLY: cc total

BYTE September 1978 105

LSI-// BUS

SIGNALS ,

W////MM,

BDAL

y/////////M^///M

W DATfl

~~ll

BSYNC

J I

1 1

! 1

i

BDIN

! 1

! L

I 1

i i i

i i

BR PLY

1

"I I

ALTAIR (S02

i ! i i i i

100) BUS SIGNALS

i i i i i i

i i i i i i i i i i

-i i r—i i 1 i—i

U i

ADDR

W////////////MA Mse

ADDR LSBA 1

^/MWa \

READ

i ;

1

d>

i i

~~1

1 1

1 1

1 1 1 1

S2L SIGNALS

1 i

k

I ! i

i i i i i

ACLK

I i

i

i

i 1

LSCMP

i

L

1 1

MSBCLK

i

r~

1 1

LSBCLK

i

_|

1 |

i i

i i

LDEN

1

~l !

i i

LATCH ! ADDR |

START CYCLE

READ MS BYTE FROM ALTAIR (S-IOO)

i

i

READ LS BYTE FROM ALTAIR (S-IOO)

END CYCLE

Figure 2: Timing diagram of an LSI-11 memory read cycle as it is interpreted by the S2L interface and passed on to the A/tair (S-100) bus.

LSI-// BUS SIGNALS

BDAL

W/M

\™«Y/M

m

DATA

V///M,

BSYNC

1

i 1

L_

—1

i i

BDOUT

r~

i i

i

BR PLY

I

!

TAIR (S

02

i i i

IOO) BUS SIGN

i 1 1 i 1

y |

■mmkm.

i i

i i i

ALS

1

_n i

ADDR

_j MSB ADDR LSB* | '

DDR^^

^M%^%%^%%?%%%

•

WRITE

! r

1

L SIGNA

LS

i

i i

i i

i i i i i i

ACLK

_J

i i

i i

i i i i i

LATCH ADDR

LSCMP

r~

i i

START CYCLE

[_

DOUTSEL

"L

i i

WRITE

MSB

TO

ALTAIR

(S-IOO)

WRITE

LSB

TO

ALTAIR

(S-IOO)

END CYCLE

Figure 3: Timing diagram of an LSI-11 memory write (16 bit word) cycle as It is interpreted by the S2L interface and passed on to the A/tair (S-100) bus.

I am using the trailing "L" to denote negative logic, so in this case assertion means going to 0.4 V.) The negative logic used by all LSI-11 bus signals is due to the bus being implemented with open collector logic, rather than the three state logic which is common in most hobby computers. The rising edge of BSYNC should be used to latch the data and address bus lines (BDALO L to BDAL15 L), since at this time they contain the address for the bus cycle. When BDIN L is asserted, the first of the two Altair (S-100) bus cycles occurs. This cycle occurs during the first complete cycle of the S2L clock that occurs after BDIN L is asserted. The first byte read is the most significant byte of the word (ie: the byte with the odd address), and the LSCMP signal is asserted during this time in order to provide the correct address on the Altair (S-100) bus. I am assuming that since only 16 bit word reads may be made, all addresses on the bus during read cycles will be even addresses.

The falling edge of the S2L clock (<J>2) latches the most significant byte of data enabled by the low state of the MSBCLK signal ( ® in figure 2). Then the second read cycle is initiated, this time for the least significant byte (even address). When the cycle completes, the least significant byte is latched with the next S2L clock enabled by a low state on the LSBCLK signal ((§) in figure 2). After this, LDEN is asserted to drive the latched data onto the LSI-11's "Q" bus, and BRPLY L is sent back to the LSI-11 to tell it that the data on the bus is valid. The termination of the BDIN signal indicates to the S2L that the data has been accepted by the LSI-11, and the S2L then terminates BRPLY L.

For this interface to work with a reasonable variety of Altair (S-100) bus memory boards, phase 2 clock, RDY1, RDY2 and WAIT signals are provided. Any S2L clock pulse may be inhibited by one or both of the RDY lines until a slow peripheral has data ready, or has accepted data, in a manner similar to that of the 8080 and 6502 processors.

The write cycle, diagrammed in figure 3, is almost identical to the read cycle. The differentiation between read and write is made by the LSI-11 by asserting the BDOUT L signal rather than BDIN L. During a write, rather than having to provide two clocks to latch the bytes read, the S2L must provide

106 September 1978©BYTE Publications Inc

Osborne Et Associates announces two new books.

AN INTRODUCTION TO MICROCOMPUTERS: VOLUME 2 - SOME REAL MICROPROCESSORS VOLUME 3 - SOME REAL SUPPORT DEVICES

There are hundreds of microprocessors on the market today, but there's nothing like Volume 2 and 3. These books provide the only detailed descriptions of real products from an independent source.

NEW MICROPROCESSORS

Volume 2 describes individual microprocessors,and support devices commonly used only with the parent microprocessor. The new edition represents a massive expansion of our previous Volume 2; among other new material it includes the first detailed description of the Intel 8086 16-bit microprocessor.

NEW SUPPORT DEVICES

Volume 3 describes support devices that can be used with any microprocessor. The majority of this book is new material; in particular it has one of the most comprehensive discussions of memory devices ever printed.

NEW UPDATES

Because of the tremendous amount of material that Volumes 2 and 3 must cover, these books have been written to be updated on a regular bimonthly schedule. Six update sections for each of the two volumes may be purchased on a yearly subscription basis. Each update will describe new products, or products not covered in the original volumes; updates also provide additional information for products already included, and errata pages for previous text.

NEW FORMAT

For your convenience, Volumes 2 and 3 are printed in loose leaf form and may be purchased with or without a binder.

The 1978 edition of Volume 2 and the new Volume 3 of AN INTRODUCTION TO MICROCOMPUTERS will be available at the end of September. To order these or other Osborne & Associates publications, check the appropriate boxes below.

These prices effective July 1, 1978.

Volume 2 — Some Real Microprocessors 1978 Edition —With Binder

Without Binder

Binder alone

Volume 3 — Some Real Support Devices With Binder

Without Binder

Binder alone

Volume 2 and 3 Updates (Subscription to six issues of each series)

Volume 2 Updates only (six issues)

Volume 3 Updates only (six issues)

PRICE

$20.00

$15.00

$ 5.00

$20.00

615.00

$ 5.00

$40.00

$25.00

$25.00

QTY

• 6'A%, SF Bay Area residents only

•6%, California residents outside SF Bay Area

•Payment by check or money order

must be enclosed for orders of

10 books or less.

TOTAL

Sales Tax (Calif, residents only)

Shipping Charges TOTAL AMOUNT ENCLOSED

AMT

eft

OSBORNE 8. ASSOCIATES, INC. P.O. Box 2036 DEPT. 112 Berkeley. California 94702

(415) 548-2805 TWX 910-366-7277

STATE ZIP PHONE

SHIPPING CHARGES: Shipping for large orders to be arranged. Not applicable to Update Subscriptions.

□ All foreign orders, $3.00 per book, for air shipment

D 4th class $0.35 per book (allow 3-4 weeks within USA.

not applicable to discounted orders) D $0.75 per book, UPS (allow 10 days) in the U.S.

□ $1.50 per book, special rush shipment by air in the U.S.

Please send information on:

□ Other O&A publications

□ Becoming an O&A dealer

□ School discounts

□ List of foreign distributors

D More information on Volumes 2 and 3

F10

Circle 293 on inquiry card.

BYTE September 1978 107

LSI-// BUS SIGNALS

_Jaddr

« . .^

DEPENDS ON ADDRESS OF BYTE—1

Figure 4: Timing diagram of an LS/-11 memory write (8 bit byte) cycle as it is interpreted by the S2L and passed on to the Altair (S-100) bus.

LSI-II BUS SIGNALS

-i <r

BDMGI

BSACK

BSYNC

BRPLY

ALTAIR (S-IOO) BUS SIGNALS

HAI T

hi nA

L

DIRECT MEMORY ACCESS ACTIVITY

Figure 5. Timing diagram for the initiation of DMA activity on the Altair (S-100) bus between memory segments on that bus and peripherals on that bus. (DMA from an Altair (S-100) bus peripheral to peripherals or memory on the LS/-J1 "Q " bus is not supported in this design.)

a byte selection signal (DOUTSEL) to a multiplexer which will determine which half of the word will be written at any time. The timing is as in the figure. As in the case of the read, I assume that only word width writes will occur with a word (even) address.

In order to perform a single byte write cycle, the S2L performs a normal write cycle, except that it skips the first of the two Altair (S-100) bus writes. Since it is the write to the address with the inverted lowest bit which is skipped, the correct byte is written in half of the time, and the cycle terminates normally. The diagram for this is shown in figure 4.

The LSI-11 bus supplies signals with which the memory and device interfaces reply to the LSI-11 when 10 transactions take place (BRPLY L). The S2L adaptor will respond with a BRPLY L signal whether the address requested is implemented or not. This will cause problems with some LSI-11 software and firmware, especially the firmware ODT LOAD command which sizes memory automatically by sensing when memory addresses fail to set a BRPLY L response. Also, the system of reply signals has another advantage which will be lost when using the S2L adaptor: when attempting to write to ROMs on the LSI-11 system, no BRPLY L is generated and a bus timeout error occurs, which is a good error detection system. The S2L will effectively eliminate this facility.

The procedure for dealing with direct memory access (DMA) is much easier on the Altair (S-100) bus than on the LSI-11 bus, and the S2L interface enables the Altair (S-100) devices to take advantage of the simpler protocol. Looking at figure 5, the device starts the DMA cycle by asserting the HALT L signal to request use of the bus. The assertion of BDMR L by the S2L requests the use of the bus by a peripheral of the LSI-11. The simultaneous assertion of BDMGI L and the termination of BSYNC L and BRPLY L indicates that the DMA privilege has been granted by the LSI-11. The S2L then responds by terminating the BDMR signal, and by asserting both the BSACK L signal to tell the LSI-11 that the bus is in use, and the HLDA L signal to tell the Altair bus peripheral that it may now use the bus. Note that if more than one peripheral wishes to perform direct memory

108 September 1978 © BYTE Publications In

Choose from these Top Selections

The

Acoustical Foundations of Music

&cy

HOW TO BUILD A COMPUTER,! v_3

HOW TO BUILD A COMPUTER CONTROLLED ROBOT by Tod Loofbourrow

□ "This book combines the dream of robotics-to create an intelligence other than humanwith the reality, by providing both hands-on experience with robotics and an application of a microprocessor. This book details the step-by-step directions for building a robot, controlled by a KIM-1 microprocessor, with the complete control programs clearly written out $7.95.

THE ACOUSTICAL FOUNDATIONS OF MUSIC, subtitled MUSICAL SOUND: A LUCID ACCOUNT OF ITS PROPERTIES, PRODUCTION, BEHAVIOR, AND REPRODUCTION by John Backus

□ This is a readable and informative guide that covers the physiological properties of sound, the ear and its perception of sounds, the effect of acoustic environment, the acoustical behavior of musical instruments, and the various applications of electronics and computers to the production, reproduction and composition of music. 312 pp. Only $10.95 in hardcover.

THE CHEAP VIDEO COOKBOOK by Don Lancaster

□ The latest in Don Lancaster's series of hardware books, continues where the TV Typewriter Cookbook leaves off. 256 pp. $5.95.

COMPUTER DATA DIRECTORY edited by Brad Lynnet

□ This is a new, comprehensive index containing profiles of over 675 small computer manufacturers, stores, distributors, publishers, electronics dealers, and computer clubs. 111 pp. $4.98.

PERIODICAL GUIDE FOR COMPUTERISTS January-December 1977 by E Berg Publications

□ This is a comprehensive index of all the articles, book reviews, editorials, letters, record reviews, and miscellaneous small inserts and notes from the top 25 magazines in the field. An indispensable guide for anyone in the fields of personal computing, amateur radio, and electronics. 72 pp. $5.00.

UP YOUR OWN ORGANIZATION! by Donald M Dibble

□ A great handbook on how to start and finance a new business, this is the most comprehensive reference we've seen on the subject. 372 pp. Available for $14.95 in hardcover.

FUNDAMENTALS OF RECORDKEEPING AND FINANCE FOR THE SMALL BUSINESS by Robert C Ragon CPA & Jack Zwick PhD

□ Once you have your organization or business up and running, records must be kept. Here is a companion volume to UP YOUR OWN ORGANIZATION. 196 pp. $10.00 hardcover.

WRITING AT WORK: DO'S, DON'T'S, AND HOW TO'S by Ernst Jacobi

□ The goal of this informative book is "to turn writers into communicators" —addressed to the educated business or professional person. 198 pp. $7.95.

THE FIRST BOOK OF KIM edited by Jim Butterfield, Stan Ockers & Eric Rehnke

□ Attention KIM users! Here is the book you've been waiting for. In it you'll find a beginner's guide to the MOS Technology KIM-1 Microcomputer as well as an assortment of games, diagnostic and utility programs for testing both the computer and external equipment, and chapters on expanding memory and controlling analog devices. 176 pp. $8.95.

TO RECEIVE A FREE COPY OF THE NEW BITS CATALOG, JUST CIRCLE THE NUMBER BELOW ON THE INQUIRY CARD AT THE BACK OF THIS MAGAZINE; OR SEND US A POSTCARD WITH YOUR REQUEST. THE CATALOG OFFERS OVER 150 BOOKS FROM WHICH TO CHOOSE,

WRITING AT WORK: DOs, DON'Ts, and HOW™

FTOTBAMEKT !*XS

OF

HBCORDKEEPI'IG

AND

FINANCE

FOR

THE

SMALL

BUSINESS

The

First Kook of KIM

.,.'...'

BITS

Circle 36 on inquiry card.

T.M.

For your convenience in ordering, please use this page plus the order form on page 111. You may

photocopy this page.

DIAL YOUR BANK CARD ORDERS TOLL FREE 800-258-5477.

The Microcomputer Bookstore

25 Route 101 West, P.O. Box 428, Peterborough, NH 03458

BYTE September 1978 109

LSI -11 BUS SIGNALS

BIRO

BDIN

BRPLY .

ALTAIR (S-IOO) SIGNALS

Figure 6: Timing diagram of the S2L interface's response to an Altair (S-100) bus vectored interrupt signal. When one of the eight possible vectored interrupt signals is asserted (low), the S2L interface responds by creating a vectored interrupt sequence for the LSI-11 "Q"bus.

L i i

access, neither will be able to determine easily which device is being selected. Whenever the Altair (S-100) bus peripheral is finished with the bus, it terminates the HALT L signal, causing the S2L to terminate the BSACK L signal, releasing the bus for the LSI-11 to use.

Note that this interface will not allow Altair (S-100) bus devices to perform DMA to any memory which is on the LSI-11 side of the S2L; I felt that the simplicity of the interface as shown, combined with the

complexity of the extended function interface, was justification for leaving things as shown. In any event, one justification for the development of this adaptor was that Altair bus memory was cheaper than DEC memory, so one can expect most of the system memory to be Altair (S-100) bus memory.

One other point to make is that the LSI-11 on board memory is dynamic and requires refreshing, which the LSI-11 does by microcoded routines. This microcoded refresh creates bursts of bus activity every 2 ms, lasting about 130 jus. These bus activations can cause problems in a real time environment, and can cause data overruns in DMA devices if these devices do not allow enough internal buffering to last the 130 /is. Although nonburst-mode refresh is possible, the prices which DEC asks for the module are pretty high for the facility. For this reason, use of Altair (S-100) bus static memory and disabling of the KDH-F's dynamic memory and refresh microcode might be useful to some people.

The eight vectored interrupt lines on the Altair (S-100) bus lend themselves directly to interfacing with DEC's vectored interrupt scheme. Looking at figure 6, the timing for the S2L's interrupt sequence is given. Whenever one of the vectored interrupt inputs from the Altair (S-100) bus (VIO thru VI7) is asserted, BIRQ L is sent back to the LSI-11 to request interrupt service. The

BSYNC

o-|>

out D^-£>°

BWTBT

cdHX

BRPLY <0 1>

r>—[>r>

<rr<i

0 0

BRPLY (FIG. 8)

BDIN (FIG. 9)

_6_

BENBL (FIG. 9)

s

S_>

+5V

NC I

MD

QA QB QC QO

CK2

7495

SER A B C D OKI

TT

o

BSYNC (FIG. 8)

-0

-a?

~o£

-O READ

-O LDEN

-C_> MSCLK -O LSCLK

-f-> ACLK

-O LSCMP

-<C] RDYI

<Z] RDY2

|> O02

Figure 7: Memory Control Logic.

110

September 1978©BYTE Publications Inc

BASIC BASIC by James S Coan

LI If you're not already familiar with BASIC, James Coan's Basic BASIC is one of the best ways to learn about this popular computer language. BASIC (which stands for Beginner's Ail-Purpose Symbolic Instruction Code) is easy to learn and easy to apply to many problems. Basic BASIC gives you step-by-step instructions for using a terminal, writing programs, using loops and lists, solving mathematical problems, undertanding matrices and more. The book contains a wealth of illustrations and example programs, and is suitable for beginners on many different levels. It makes a fine reference for the experienced programmer, too. $8.95.

ADVANCED BASIC by James S Coan

I I Advanced BASIC is the companion volume to James Coan's

Basic BASIC. In this book you'll learn about some of the more advanced techniques for programming in BASIC, including string manipulation, the use of files, plotting on a terminal, simulation and games, advanced mathematical applications and more. Many useful algorithms are covered, including some clever sorting techniques designed to reduce program execution time. As with Basic BASIC, there are many illustrative example programs included. BASIC doesn't have to be basic with Advanced BASIC! $7.95.

8080A/8085 ASSEMBLY LANGUAGE PROGRAMMING by Lance A Leventhal

I—I This book provides an introduction to assembly language programming for the 8080A and the 8085 processors. Included are sections on the instruction sets for the two processors, assemblers, simple program examples, code conversion, tables and lists, subroutines, 10, interrupts, program design, and debugging. Many examples and illustrations are included. 467 pp. $8.50.

ASSEMBLY LEVEL PROGRAMMING FOR SMALL COMPUTERS by Walter J Weller

I—I One of the most professionally produced books we've seen. From front cover to back, this book is clear, detailed, and beautifully produced. Using a pseudo mnemonic assembly language, Walter Weller takes you inside the whys and hows of table referencing, data stacks, number conversions, floating point arithmetic, and much, much more. Surely one of the most complete books on this topic. 276 pp. $14.95 hardcover.

APL

, Structured Programming in APL

STRUCTURED PROGRAMMING IN APL by Dennis Geller & Daniel P Freedman

II ". . .Our approach is to present the fundamentals of structured programming in APL. Students may go on from here to learn to write faster programs or more compact programs, or more aesthetic programs; this we hope, is where they learn to write working programs." From the Preface. $9.95.

APL AN INTERACTIVE APPROACH 2nd edition, revised by Gilman & Rose

I I Here's an excellent way to introduce yourself to the APL language. APL is rapidly becoming one of the most popular high level languages in the computer field because of its clarity and conciseness. Gilman and Rose have extensively updated their popular book to include the latest information about APL and the various forms now in use. Since the examples are all carefully spelled out, this book is particularly recommended for those who do not have access to an APL terminal. Answers to all problems are included. $11.95.

Break the Language Barrier

AND COMMUNICATE WITH YOUR COMPUTER

BITS

DIAL YOUR BANK CARD ORDERS ON OUR TOLL-FREE HOT LINE: 1-800-258-5477.

Name.

The Microcomputer Bookstore

25 Route 101 West Peterborough, NH 03458

I I My check enclosed:

Check # :

Amount:

Address. City

.State.

.Zip.

Signature.

Total

Number of books .

I I My card # :

Postage $.75/book or $1.00 outside U.S.

Expires:

Prices subject to change without notice.

Grand Total Dealer Inquiries Invited.

You may photocopy this page.

Circle 37 on inquiry card.

BYTE September 1978 111

Figure 8: Direct memory access control logic.

BRPLY r*>»

(FIG. 7) 1

BSYNC |—v,

(FIG. 7) I—*

BDMGO O

BSACK O

<23 HALT

£> HLDA

LSI-11 will respond by asserting BIAKI L and BDIN L, the former to request that an interrupt vector be placed on the bus, and the latter to indicate that data is coming in on the bus. The S2L responds to this by placing the vector on the bus, and by asserting BRPLY L, to inform the LSI-11 that the bus value is now valid data. The termination of BDIN L and BIAKI by the LSI-11 results in the S2L's termination of BRPLY L and the release of the bus for other uses. At this point, an interrupt should occur. Each of the eight interrupt lines is prioritized and will cause an LSI-11 interrupt when asserted. The LSI-11 vector address for each Altair (S-100) bus vectored interrupt line will be the value programmed in the read only memory.

I am not going to go through the schematics in figures 7 thru 9 in detail, since their function is fairly well-defined by the timing diagrams and the above discussions. However, a few notes are in order. The use of the 7495 is a bit subtle since the load, which occurs via CLK2 whenever a BDIN or

BDOUT signal is asserted, changes the mode of the shift register from LOAD to SHIFT. This allows the first write to be skipped conditionally upon the state of the BWTBT L signal at the start of the write cycle, and allows the shifting to stop when the one bits coming in from the serial input reach the third flip flop. The latches used for most significant byte and least significant byte storage are 8551s since they have three state buffers, which allow their output to be placed on the LSI-11 bus conditionally."

REFERENCES

"Introducing the S-100: Standard Small Computer Bus Structure," by William M Goble, Interface Age, June 1977, page 66.

LSI-11, PDP-11/03 User's Manual (EK-LSI11-TM002), DEC, 1975.

Microcomputer Handbook, DEC, 1976.

Also: numerous Altair (S-100) bus peripherals schematics borrowed from friends served as background information for this discussion.

BIRO <3

<■

FIG.7)L-^ I ^^

BIAKI C2> ^o 1 J

LSI- I I '

ADDRESS <CDBUS

BDAL02 BDAL07

o

o

<o

o

I

■^1

PRIORITY ENCODER

32 WORD 8 BIT ROM (EG:8223)

EO

DO Dl D2 D3 D4 D5 D6 D7

Ub A3 1

D7 A4 1

AO

-o

BENBL (FIG. 7)

-a

<3

-a

INTERRUPT > LINES

Figure 9: Interrupt control logic.

112 September 1978 © BYTE Publications Inc

the electric pencil II

^^> o 1Q7S Ulrhaol ftrauor

TM

The Electric Pencil II is a Character Oriented Word Processing System. This means that text is entered as a string of continuous characters and is manipulated as such. This allows the user enormou= freedom and ease in the movement and handling of text. Since line endings are never delineated, any number of characters, words, lines or paragraphs may be inserted or deleted anywhere in the text. The entirety of the text shifts and opens up or closes as needed in full view of the user. The typing of carriage returns as well as word hyphenation is not required since lines of text are formatted automatically.

• 1978 Michael Shrayer

As text is typed in and the end of a screen line is reached, a partially completed word is shifted to the beginning of the following line. Whenever text is inserted or deleted, existing text is pushed down or pulled up in a wrap around fashion. Everything appears on the video display screen as it occurs which eliminates any guesswork. Text may be reviewed at will by variable speed scrolling both in the forward and reverse directions. By using the search or the search and replace function, any string of characters may be located and/or replaced with any other string of characters as desired.

When text is printed, The Electric Pencil II automatically inserts carriage returns where they are needed. Numerous combinations of line length, page length, line spacing and page spacing allow for any form to be handled. Character spacing, BOLD FACE, multicolumn as well as bidirectional printing are included in the Diablo versions. Right justification gives right-hand margins that are even. Pages may be numbered as well as titled. This entire page (excepting the large titles and logo) was printed by the Diablo version of The Electric Pencil II in one pass.

NowonCP/M

You've probably seen The Electric Pencil in

action by now. It's the most powerful 8080/Z80 character oriented word processor on the market today. Michael Shrayer is now proud to present the new Electric Pencil II»

NEW F EA

Supports Fou Disk Storage Printing ! ! Bidirectiona Print Value Cassette Bac Control !! Indentation

TURES : !!

r Disk Drives

and Retrieva

! Print Value

1 Multispeed

Scoreboard kup Capabili ! Non-Print !!! Centering

! CP/M Compatible !!! Disk !!! Simple File Management

Operating System

!!! Quick and Easy

1 !!! Dynamic Print Formatting !!! Multicolumn

Chaining !!! Page-at-a-time Scrolling !!! New

Scrolling Controls !!! New Subsystem with

!!! Automatic Word and Record Number Tally !!!

ty !!! Full Margin Control !!! End-of-Page

ing Text Commenting !!! Line and Paragraph

!!! Underlining !!! BOLD FACE ! ! !

WIDE SCREEN VIDEO!!!

Available to Imsai VIO video users for a huge 80x24 character screen !!

HAVE WE GOT A VERSION FOR YOU ?

The Electric Pencil II operates with any 8080/Z80 based microcomputer that supports a CP/M disk system and uses a Imsai VIO, Processor Technology VDM-1, Polymorphic VTI, Solid State Music VB-1B, Vector Graphic Flashwriter or any similar memory mapped video interface. Specify when using CP/M that has been modified for Micropolis or North Star disk systems as follows: For North Star add suffix A to version number, for Micropolis add suffix B to version number, e.g. SS-IIA, DV-IIB.

Vers.

Video

Printer

Price

SS-II

SOL

TTY or

similar

$225.

SP-II

VTI

TTY or

similar

$225.

SV-II

VDM

TTY or

similar

$225.

SI-II

VIO

TTY or

similar

$250.

DS-II

SOL

Diablo

1610/20

$275.

DP-II

VTI

Diablo

1610/20

$275.

DV-II

VDM

Diablo

1610/20

$275.

DI-II

VIO

Diablo

1610/20

$30O.

ss

MICHAEL SHRAYER SOFTWARE

1253 Vista Superba Drive

Glendale, CA 91205

(213) 956-1593

The Electric Pencil I is still available for non CP/M users:

coming attractions

Sort & Merge Utility !!!

The NEC printer package !!!

The HELIOS Electric Pencil !!!

Pencil to CP/M file conversion !!!

CP/M to Pencil file conversion !!!

ers.

Video

Printer

Cassette

Disk Drive

Price

SS

SOL

TTY or

similar

CUTS

$100.

SP

VTI

TTY or

similar

Tarbell

—

$ioo.

SV

VDM

TTY or

similar

Tarbell

—

$ioo.

SSN

SOL

TTY or

similar

CUTS

North

Star

$125.

SPN

VTI

TTY or

similar

Tarbell

North

Star

$125.

SVN

VDM

TTY or

similar

Tarbell

North

Star

$125.

DS

SOL

Diablo

1610/20

CUTS

—

$150.

DP

VTI

Diablo

1610/20

Tarbell

—

$150.

DV

VDM

Diablo

1610/20

Tarbell

—

$150.

DSN

SOL

Diablo

1610/20

CUTS

North

Star

$175.

DPN

VTI

Diablo

1610/20

Tarbell

North

Star

$175.

DVN

VDM

Diablo

1610/20

Tarbell

North

Star

$175.

Demand a demo from your dealer!

Circle 316 on inquiry card.

BYTE September 1978 113

Math in the Real World

Joel Boney

Motorola Inc

6707 LaSalle

Austin TX 78723

About the Author

Joel Boney is currently employed by Motorola in its Integrated Circuits Division plant In Austin TX. He is responsible for the software input in the system and architectural design for future Motorola processors and peripheral chips. He is currently Involved in the MC6809 and MC6805 projects.

Your system is completed. You bought a kit with lots of memory and spent many hours assembling it. The manufacturer's manuals are dog eared. You've read various works on computer programming which inspired you to write integer multiply and divide routines and create your own mathematical statement processor. The routines are thoroughly debugged and now you are ready to enter your first mathematical statement: 5 •*• 2 =. The computer promptly responds with '2'. Well, that's not really wrong in integer arithmetic where remainders are often dropped, but most of us learned in the third grade that 5-^2 really equals 2.5. How do you get your computer to answer 2.5 instead of 2? Read on. The answer lies in floating point or real representation and manipulation of numbers.

Floating Point

A floating point number is a number that can be representated by an integer portion and a fractional portion. The number 2.5 is a floating point or real number; so arc 3.3, 0.9 and 2.0. All can be represented by an integer part and a fractional part. The numbers: 1, 8 and 1 7 are not real since they have no fractional portion. Numbers in scientific notation such as 2.37 X 10° are real.

Before jumping head first into how to represent floating point numbers in the computer, an understanding of how floating point numbers are representated in base ten is instructive. For example, in the number 125.76, the digit positions correspond to:

byte 1 byte 2 byte 3

byte 4

7

6

5

4 3

2

1

0

SIGN

1

EXPONENT

1

1

1

1

1 1 1

FRACTION

1

1

11 i i i i

FRACTION

I i 1 i 1 i i

FRACTION

Figure I: Format for the arrangement of data in the computer's memory for the binary floating point representation described here. The high order bit of byte 2 will usually be 7' because of normalization. The only time that this will not happen is when the number being represented is zero.

1 X 102 = 100.00 2X 101 = 20.00 5X10° = 5.00 7X10^1= 0.70 6X10-2= 0.06

The decimal point merely tells where the boundary exists between the positive powers of ten and the negative powers of ten. Numbers to the left of the decimal point are positive powers of ten and those to the right are negative powers of ten. In binary (base 2) numbers the same rule applies. The base 10 equivalent of the binary number 101.11 is:

I X 22 =1X4 0X2 1 X 1 1 X .5 1 X .25

OX 21 1 X 2° I X 2

-1

I X 2"2

4.00 0.00 1.00 0.50 0.25

5.75

The '.', which is now called a binary point, denotes the division between positive and negative powers of two. This concept can be expanded to any base, but here we will only consider base 10 and base 2. In general the '.' might be called the "base point."

Quite often it is more convenient to represent real decimal numbers in scientific notation. This allows both very small and very large numbers to be written with the fewest number of digits (eg: 3.75 X 10—' , rather than 0.000000000375). Numbers in scientific notation are represented by three parts: integer portion, fractional portion and exponent. In order to conserve memory within the computer and to make calculations have fewer steps, it is more convenient to represent all real numbers with only a fraction and an exponent. This is accomplished by moving all digits to the right of the base point while adjusting the exponent appropriately. Thus all numbers are of the form: .FFF X I0EE in base 10 (where "FFF" are the fractional digits and "EE" is an expression for the power of ten exponent). This change of form does not in any way alter the value of the number or change the accuracy of the subsequent calculations. For example: 3.75 X 10^

114 September 1978 <J BYTE Publications Inc

Binary

Decimal

00000000

10000000

00000000

00000000

=

0.5

X

2° .

0.5

00000001

10000000

00000000

00000000

=

0.5

X

21 .

1.0

00000001

11000000

00000000

00000000

=

0.75

X

21 .

1.5

10000001

11000000

00000000

00000000

=

-0.75

X

21 .

» -1.5

01111111

10000000

00000000

00000000

=

0.5

X

2~1 .

0.25

11111111

10000000

00000000

00000000

=

-0.5

X

2"1 =

-0.25

00000000

10000000

00000000

00000001

=

0.50000006

X

2° .

0.50000006

Table 7: An example of binary floating point numbers and their decimal equivalents.

becomes 0.375 X 10^ thus eliminating the integer portion of the number.

If the fractional portion of a number has a fixed number of digits as is the case within a computer, then the greatest accuracy is achieved if the digit following the base point is nonzero. Using a 5 digit fraction, the number 0.37868 X 1CP is more accurate than 0.03787 X 106. We now have formulated two rules that will make calculations easier and maintain maximum accuracy:

• Floating point numbers will consist of only a fraction and an exponent.

• Floating point numbers will be adjusted so that no zeros immediately follow the base point.

The only exception to these rules is the number zero which is allowed to violate rule two. Manipulating numbers so that they conform with the above rules is called normalization.

All of the above examples were in base ten, but as might be expected the concepts are just as valid in base two except the exponent is now a power of two instead of ten. Therefore, numbers are of the form: .FFF X 2" (where FFF and EE are now hexadecimal representations of binary numbers). At this point we must decide upon a specific format to use within the computer that will give sufficient accuracy without wasting memory. A fraction containing 24 bits gives an accuracy of 1/2^4 or about seven decimal places. A two's complement exponent of base 2 containing seven bits gives an exponent range of approximately ±10* . This format has sufficient magnitude range for many applications and can represent numbers over 38 decimal orders of magnitude.

There are several common formats for floating point numbers. In some, the exponent is a power of 16 and a fraction is considered normalized if any of the four most significant bits are set. Exponents are often represented in "excess" form

Listing 1: Algorithm for inputting real numbers. This algorithm will result in a floating point number in the four byte form described in this article.

Begin

Clear exponent and integer of answer Clear fraction of answer (4 bytes) Do while input character =fc '.'

If input character = '—' then set fraction sign = 1

If input character is a number then

Convert input character from ASCII to binary Integer: = integer * 10 + input number

Endif Enddo N: = 1 Do while input character = number and N < 8

Convert input character from ASCII to binary

Fraction: = fraction + (Table(N) * input number)

N: =N + 1 Enddo Do while integer > 0

Shift integer and fraction one bit right

Increment exponent Enddo

Normalize answer Roundup answer

Delete integer portion and fraction byte 4 End

instead of two's complement form. In this form some appropriate number is added to all exponents so they are all positive. The specific format I chose consists of four 8 bit bytes for each number and is shown in figure 1. The high order bit (bit 7 typically) of byte one is the algebraic sign of the number (1 = —). The low order seven bits of the first byte (bit 6 to bit 0) are the signed two's complement value of the exponent. Bytes two, three and four contain the normalized unsigned fraction with the understood binary point preceding byte two. Note that bit seven of byte two is 1 for all normalized numbers except zero because of normalizing rule two.

Some sample numbers and their decimal equivalents are given in table 1.

Ins and Outs

Now that we've defined a format for real numbers, how can we put it to use? Several subroutines will be required. We need to be able to read real numbers from a terminal

September 1978 © BYTE Publications Inc 115

and convert them to our defined format and vice versa. Also, we need to outline how we can operate on real numbers once they are converted. First, the ins and outs.

The conversion to and from the terminal

Table 2: Decimal fraction to binary equivalent conversions. The table covers only the first seven digits since the accuracy of the routines we are considering is only seven places. This conversion assumes that the exponent is set to zero.

10"

10" 10"

Decimal

Binary

0.1

00011001

10011001

10011001

10011001

0.01

00000010

10001111

01011100

00101000

0.001

00000000

01000001

10001001

00110111

0.0001

00000000

00000110

10001101

10111000

0.00001

00000000

00000000

10100111

11000101

0.000001

00000000

00000000

00010000

11000110

0.0000001

00000000

00000000

00000001

10101101

10" 10 10" 10"

-5

Example 1.

1 X

0.10 =

1

X

00011001

10011001

10011001

10011001

+ 5 x

0.01 =

5

X

00000010

10001111

01011100

00101000

00100110

01100110

01100110

01100001

Example 2.

Integer

Fraction

Exponent

00001101

00100110

01100110

01100110

01100001

00000000

Example 3.

Integer 00000000

Example 4.

Exponent

00000100

Fraction

11010010

Fraction

11010010

01100110

01100110

01100110

Exponent

00000100

01100110

01100110

Table 3: Portion of table used to convert the exponent of 2e into decimal notation of the form Ex lO^xp.

e (index) Exp (1 byte)

F (3 bytes)

4

00000010 (2)

00101000

11110101

11000001 (0.16)

3

00000001 (1)

11001100

11001100

11001100 (0.80)

2

00000001 (1)

01100110

01100110

01100110 (0.4)

1

00000001 (1)

00110011

00110011

00110011 (0.2)

0

00000000 (0)

00000000

00000000

00000000 (0)

1

00000000 (0)

10000000

00000000

00000000 (0.5)

2

00000000 (0)

01000000

00000000

00000000 (0.25)

3

00000000 (0)

00100000

00000000

00000000 (0.125)

is the most difficult part of handling floating point numbers. An attempt is made here to outline a procedure that is well adapted to microprocessors. Several other algorithms are outlined in The Art of Computer Programming, volume 2 by Donald Knuth (see references following this article) including information on converting to and from scientific notation.

Suppose the input string 13.05 is typed at a terminal. Since the computer will see the characters as they are typed left to right, the program in listing 1 can easily convert any number preceding the decimal point into a binary integer. In this example the 13 becomes 00001101, assuming an 8 bit integer. Once the decimal point is read the fraction can be calculated if a table of unnormalized fractions corresponding to the binary equivalent of 10—n is stored in memory. Since there is no need for n to be larger than the accuracy of the final format, table 2 was calculated with n equal to seven. Table 2 was calculated using a BASIC program to determine which bits in the fraction should be set. Note that the fractions in this table are 32 bits wide instead of the 24 bits required in the final answer. This is done to insure the accuracy of the conversion. Using this table and starting with a zero exponent byte and zero in a 4 byte fractional portion in the answer, when the first number following the decimal point is typed on the terminal it is multiplied by the table value of the fraction for 0.1 and added to the fraction of the answer. Subsequent inputs are multiplied by 0.01, 0.001, etc, and added to the answer until the bottom of the table is reached after seven inputs or the input string is exhausted. Since the input numbers are 0 thru 9, it is easier and takes less time in a microprocessor to do the multiplication by successive additions. For the example input, 13.15, the fraction is calculated by example 1. Including the integer portion and the exponent the input becomes the representation in example 2. Normalizing this by shifting the integer and fraction four bits to the right and adding 4 to the exponent it becomes example 3.

Now the integer portion and the low order byte of the fraction can be deleted after incrementing the next to low order byte if bit seven of the low order byte was set (rounding up). See example 4 for the final value in the correct 4 byte format. Had the input number been -13.05 instead of +13.05, the only difference in the number generated would be bit seven of the exponent (fraction sign bit) would be set. Note that if the input had been something like 0.005 the normalizing process described above would require left shifts of the frac

116 September 1978 © BYTE Publications Inc

tion while decrementing thus creating a negative exponent.

Outputting real numbers is slightly more difficult. The fraction and exponent part must be dealt with simultaneously since conversion of the exponent from base 2 to 10 will affect the fraction. Due to this complexity, it is preferable to output real numbers in scientific notation. The output form that is used is 1305 E +2 instead of 0.1305 X 10+2.

To accomplish the conversion we will need a rather large (4 by 128 byte) table to convert 2e (where e is the exponent of the real number to be output) to F X 10ExP (where F is an unnormalized fraction in our 3 byte notation and Exp is the power of 10 of the number we wish to print. A portion of the middle of the table is given in table 3. The base 2 exponent e is not a member of the table, but is used as the index into the table to retrieve values of Exp and F. Using e we access the table and multiply the fraction F times the fraction of the number we wish to output using a multiply fraction subroutine described later. The resultant fraction of this multiplication will be the fraction that must be converted and printed followed by the letter E and the decimal value of Exp, including its sign, from the table to obtain the desired scientific notation.

Printing of the fraction uses the same table as used for converting to real format. In the first iteration the binary fraction for 0.1 is subtracted from the fraction until the fraction goes negative. For each subtraction except the last a counter is incremented and becomes the number to print. After the number is printed, the fractional value of 0.1 is added back into the fraction. This whole process is effectively a binary divide by 0.1. After 0.1 is added back, the procedure is repeated for 0.01, 0.001, etc, until all seven output digits are printed. This process is summarized in listing 2.

It should be noted that the above algorithms pose particular problems on various implementations and the programmer should be cautious of such things as overflow and carry flags as well as round off errors while doing the multiprecision operations.

The Arithmetic

Now we have a format for floating point or real numbers and we know how to input and output them. All that remains is the internal manipulation subroutines. All these subroutines require two normalized real arguments, which in the following text and listings will be referred to as argument 1 (ARG1) and argument 2 (ARG2). They all

Listing 2: Algorithm for outputting real numbers. This algorithm uses table 2 to convert the fraction. The output algorithm shifts the fraction and integer part left until the exponent equals zero or bit 7 of the integer word is set to I. If bit 7 of the integer word is set, any further shifts will destroy the number.

Type entry = record of Exp: 8 bit binary F: 24 bit fraction Var conv-table: array [—64..63] of entry

table: array [1..7] of 24 bit fraction (* e is the base 2 exponent of the number to be output*) Begin

Fraction: = conv-tablefe ] .F * fraction of number to be output If Fraction sign = 1 then print '—'; endif Print decimal point N: = 1

Do while N <8 CTR: =-1

Do while fraction is positive Fraction: = fraction-table(N) CTR: = CTR+ 1 Enddo

Fraction: = fraction + table (N) Convert CTR to ASCII and print it Enddo Print 'E'

If conv-table[e] .Exp is negative then print '—'; Endif Convert conv-table[eJ .Exp to decimal ASCII and print it End

create a normalized real answer (ANS). We will use the predefined format except that during the internal manipulation some extra bits are occasionally needed at the right of the fraction to retain accuracy. Only a couple of bits are necessary, but since most microprocessors have 8 bit words, it is easier to add a whole byte to each fraction thus creating a 4 byte fraction instead of the prescribed three bytes. This fraction will be rounded to a 3 byte fraction in the defined format before returning to the caller of the manipulation subroutines.

Addition is defined as ARG1 + ARG2 = ANS. Once again the base 10 analogy will be useful in understanding how to implement an algorithm. If we desire the sum of the two normalized real numbers 0.375 X 10-> and 0.22 X 104, we must first make the exponents equal before we can add the fractions. Once the exponents are equal, the fractions can be added and the answer given the common exponent. Thus, the example becomes:

0.375 X 105 + 0.022 X 105

0.397 X 105

To make the exponents equal in this example, the number with the smaller exponent was shifted right n decimal digits and its exponent incremented by n. It is desirable to adjust the smaller number since shifting the larger number would require left shifts that might result in numbers being shifted into the integer portion which

September 1978 © BYTE Publications Inc 117

would violate the defined format. Any shifting, however, can create accuracy problems in a fixed digit (or bit) computer, since if the magnitude of two numbers differs by a large amount, their sum will be equal to the larger number. For example, if we had a calculator with six digits for a fraction and we added 0.300 X 108 and 0.20 X 100, the answer would be 0.300000 X 108 since shifting 0.20 seven digits to the right would cause it to become zero.

Listing 3: Algorithm for real addition and subtraction. Before additions or subtractions can take place the numbers must be manipulated so that their exponents are equal.

Begin

Do while exponent ARG1 i= exponent ARG2 If exponent ARG1 > exponent ARG2 then Shift fraction ARG2 right one bit Increment exponent ARG2 Else

Shift fraction ARG1 right one bit Increment exponent ARG1 Endif Enddo

If fraction ARG1 is negative then 2's complement fraction ARGI;Endif If fraction ARG2 is negative then 2's complement fraction ARG2;Endif If operation is addition then

Fraction ANS: = fraction ARG1 + fraction ARG2 Else

Fraction ANS: = fraction ARG1 - fraction ARG2 Endif

Exponent ANS: = exponent ARG1 or ARG2 Normalize ANS Roundup ANS End

Listing 4: Real multiplication algorithm. When multiplying real numbers it is not necessary to worry about the exponents being equal. Multiplication can take place under any conditions.

Begin

Fraction ANS: = fraction ARG1 * fraction ARG2

Exponent ANS: = exponent ARG1 + exponent ARG2

Set overflow flag if exponent overflowed or underflowed

Normalize ANS

Roundup ANS End

Listing 5: The real division routine must check to see if the dividing number is zero. If it is, the overflow flag is set and the routine is ended. The fractional part of the number to be divided should always be smaller than the dividing number. This is assured by shifting the number to be divided one place left and incrementing the exponent.

Begin

If fraction ARG2 = 0 then

Set overflow flag Else

Shift fraction ARG1 one bit right

Increment exponent ARG1

Fraction ANS: = fraction ARGl/fraction ARG2

Exponent ANS: = exponent ARG1 - exponent ARG2

Set overflow if exponent overflowed or underflowed

Normalize ANS

Roundup ANS Endif End

Binary real addition is identical to the above decimal example except the shifts are by n binary bits and the exponent is a power of 2. The algorithm in listing 3 first checks to see if the exponents are equal. If not equal, the fraction of the smaller argument is shifted one place right and its exponent incremented. This continues until the exponents are equal. Since our format stores the fractions as absolute unsigned values, all the fractional portions of negative fractions must be two's complemented before addition can proceed. Once the negation of any negative fractions is completed, the fractions can be added by a multiprecision addition. The fractional portion of the answer is then composed of the sum of the adjusted fractions and the exponent becomes the common exponent. This answer may need to be normalized. In fact, all the manipulation subroutines will require a check for normalization before exit, and therefore a subroutine to normalize arguments is desirable.

Subtraction is defined as ARG1 — ARG2 = ANS. The subtraction routine is identical to the addition routine except a multiple precision subtract is substituted for the addition. In most implementations the addition and subtraction routines are the same routine with a flag to indicate whether a subtraction or addition of the fraction should occur.

Multiplication of real numbers is easier than addition since the fractions can be multiplied regardless of the exponents. The multiplication algorithm in listing 4 is defined as: ARG1 * ARG2 = ANS. The multiplication of the fractions involves a 32 bit by 32 bit multiplication, but only the most significant 32 bits of the result are necessary which reduces the complexity of the multiplication somewhat.

For details on writing a multiplication subroutine check the references, or better yet check the user group library for your microprocessor to see if one already exists. The biggest problem with real multiplication is that overflow or underflow of the exponent can occur during the addition of the exponents. Therefore, the subroutine must take precautions to check for overflow or underflow and flag the result as erroneous if either occurred. The answer obtained by the above algorithm may need to be normalized before returning it to the caller.

Division is similar to multiplication and is defined as ARG1/ARG2 = ANS. Since most division algorithms will not terminate if ARG2 is equal to zero, the division algorithm in listing 5 first checks the fraction of ARG2 to see if it is zero. If it is zero, the algorithm should return with an

118

September 1978 © BYTE Publications Inc

Circle 201 on inquiry card.

overflow indication. Also, many division algorithms require that the fraction of ARG1 be smaller than the fraction for ARG2. The division routine could check to see if this condition exists, or better yet, since we know both numbers are normalized (ie: the most significant bit is set) and since we have added an extra byte for accuracy, we can always shift ARG1 one bit to the right and insure that it is less than ARG2. Of course, we must add one to ARGVs exponent to compensate for the right shift. Now we can proceed with a normal 32 by 32 bit divide of the fractions. Once the fractional portion of the answer is complete, the exponent of the answer is equal to the exponent of ARG1 minus the exponent of ARG2. Again precautions must be taken to insure (or at least flag) that no underflow or overflow of exponents has occurred. The answer may need to be normalized.

Conclusion

This article has attempted to give an overview of what is necessary to create a package of floating point subroutines that can be used for many applications. Floating point manipulation is not trivial and some microprocessors will be better adapted to the task than others. Instructions that can handle multiple precision arguments such as "add with carry," "subtract with carry" in conjunction with shifts and rotates on memory make the implementation simpler. Be cautioned that the procedures outlined are general and any particular microprocessor will require special procedures to adjust for processor peculiarities. In any case, it seems the majority of the code is dedicated to shifting fractions right or left to insure accuracy or in checking for various error conditions.

On the positive side, a good debugged binary floating point package takes less memory and runs faster than the decimal floating point implemented in many BASIC packages. The add, subtract, multiply and divide routines lay the framework for the programmer to create more exotic subroutines such as sine, cosine, etc. Best of all, when we ask our computer to divide 5 by 2, it responds with 2.5."

REFERENCES

1. Knuth, Donald E, The Art of Computer Programming, volume 2, Addison-Wesley, 1969.

2. Digital Computer Design Fundamentals, McGraw-Hill, 1962, pages 70 thru 73.

3. Boney, Joel, Floating Point Package, Motorola User Group Library, 1976.

NEW SOFTWARE AVAILABLE FOR

North Star * Computers

The following software is now being offered for use on the North Star disk systems and Horizon Computers.

CP/M'" FDOS and Utilities

From $145

Microsoft FORTRAN-80

$400

Microsoft COBOL-80

$625

Microsoft Disk Extended BASIC

$300

Xitan SUPER BASIC

(A3)

$99

Xitan DISK BASIC

(A3+)

$159

Xitan Z-TEL Text Editor

(A3. A3+)

$69

Xitan Text Output Processor

(A3. A3+)

N/A

Xitan Macro ASSEMBLER

(A3. A3+)

$69

Xitan Z-BUG

(A3+)

$89

Xitan LINKER

(A3+)

$69

Xitan Package A3 (as keyed above)

$249

Xitan Package A3+ (as keyed above)

$409

Xitan Fortran IV

$349

CBASIC Compiler/Interpreter BASIC

$95

MAC Macro Assembler

$100

SID Symbolic Instruction Debugger

$85

TEX Text Formatter

$85

BASIC-E Compiler/Interpreter BASIC

$30

Accounts Receivable

$750

NAD Name & Address Processor

$79

QSORT Disk File Sort/Merge Utility

$95

Available from computer stores nationwide or order direct from:

LIFEBOAT ASSOCIATES

164 W. 83rd Street

New York, N.Y. 10024

(212) 5800082

r

%

V

The KIM to S-100 bus Interfac e/Motherbo ard

• Combines the power of the 6502 with the flexibility of

the S-100 bus

• Attaches to any unmodified KIM

• Complete interface logic and fully buffered motherboard

in one unit

• On-board regulation of power for KIM

• Eight slots of S-100 compatibility for additional RAM,

Video and I/O boards, PROM Programmers, Speech processors...

• Includes all parts, sockets for ICs, one 100 pin connector,

and full Assembly/Operating documentation

♦ Kit $125, Assembled $165

♦ All units shipped from stock

FORETHOUGHT PRODUCTS

P.O. Box 386-F ^mm

Coburg, OR 97401

J

Circle 140 on inquiry card.

September 1978 ©BYTE Publications Inc 119

Our MacroFloppy™ goes twice the distance.

For $695.

Introducing the Micropolis MacroFloppyTM041 and :1042 disk drive subsystems. For the S-100/8080/Z-80 bus. Packing 100% more capacity into a 5'4-inch floppy disk than anyone else. 143K bytes, to be exact. For as little asS695.

The MacroFloppy:1041 comes with the Micropolis Mod I floppy packaged inside a protective enclosure (without power supply). And includes an S-100 controller. Interconnect cable. Micropolis BASIC User's Manual. A diskette containing Micropolis BASIC, and a compatible DOS with assembler and editor. The :1041 is even designed to be used either on your desk top, or to be integrated right into your S-100 chassis.

The MacroFloppy1042 comes with everything the :1041 has, and more. Such as d.c. regulators, its own line voltage power supply, and, to top it off, a striking cover. Making it look right at home just about anywhere.

Both MacroFloppy systems are fully assembled, tested, bumed-in, and tested again. For zero start-up pain, and long term reliability. They're also backed up by our famous Micropolis factory warranty.

And both systems are priced just right. $695 for the MacroFloppy1041 and $795 for the MacroFloppy1042.

You really couldn't ask for anything more.

At Micropolis, we have more bytes in store for you.

For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, California 91504. Phone (213) 703-1121.

Or better yet, see your local dealer

£S£*^

Circle 235 on inquiry card.

MICROPOLIS

More bytes in store for you.

Event Cueue

September 6-8, COMPCON Fall 78, Capitol Hilton Hotel, Washington DC. Sponsored by the IEEE Computer Society, this conference will cover computers and communications, interlaces and interactions. Such topics as microprocessors in communications, multiple computer systems, advances in communications technology and many others will be discussed at this conference. Contact Kenneth H Crandall )r, COMPCON Fall 78, POB 639, Silver Spring MD 20901.

September 11-12, Microprocessors: Hardware, Software and Application, Worcester Polytechnic Institute, Worcester MA. This intensive, highly focused program is geared specifically for technical professionals who need comprehensive knowledge of the latest microprocessor technology. It will give the attendee a better understanding of current and future microprocessor based systems, likely trends and relevant technologies and a firm foundation in critical areas of microprocessor system design and project management. Contact Continuing Professional Education, Wor

cester Polytechnic Institute, Worcester MA 01609.

September 11-15, Coding and Information Theory, Georgia Institute of Technology. This course will present the fundamentals of representation, storage and transmission of data. Protection against storage and transmission errors using error detection and error correcting (including Hamming) codes will be developed. Efficiency enhancement through information compressing codes, predictive run encoding and Markov chains (probabilistic finite state machines) will be discussed. Contact Short Course Program Office, 6266 Boelter Hall, UCLA Extension, Los Angeles CA 90024, (213) 825-3344 or 825-I295.

September 12-14, Computers in Cardiology, Stanford University. This conference will include contributed presentations on the application of computers to cardiovascular research, diagnosis and treatment. Contact Mrs Droni Moo, conference coordinator, Cardiology Division, Stanford University School of Medicine, 701 Welch Rd, Suite 3303, Palo Alto CA 94304, (415) 497-7507.

September 12-14, WESCON/78 Show and Convention, Los Angeles Convention Center and Los Angeles Bonaventure Hotel. Contact Electronic Conven

tions Inc, 999 N Sepulveda Blvd, El Segundo CA 90245, (21 3) 772-2965.

September 15-17, 2nd Annual Personal and Business Small Computer Show, New York Coliseum, New York NY. Exhibitors will include major manufacturers, distributors and publications in the computer field. A lecture series will include topics of interest to business and professional people, hobbyists and the general public. Contact D R McGlynn, 71 N Moger Av, Mt Kisco NY I0549.

September 18-20, Computer Cryptography, The George Washington University. This course is designed to aid managers and users of computer systems in the protection of computer data. Commercial products will be discussed generic-ally and relative capabilities discussed in general. Emphasis will be placed on the implementation, use, cost and impact of cryptographic systems in computers and in evolving computer networks. Contact Continuing Engineering Education Program, George Washington University, Washington DC 20052, (202) 676-6106 or the toll free number (800)424-9773.

September 18-22, Digital Filters, Georgia Institute of Technology. This course will provide a practical introduction to the subject of digital filters. Topics will include the frequency approach, Fourier

120

September 1978 •'> BYTE Publications Inc

MetaFloppy goes

The Micropenis MetaFloppy™ gives you more than four times the capacity of anyone else's 5J4-inch floppy Because it uses 77 tracks instead of the usual 35.

The field-proven MetaFloppy with thousands of units delivered, comes in a complete family of models. And, like our MacroFloppy™ family of disk drives, MetaFloppy is designed for the S-100/8080/Z-80 bus.

For maximum capacity, choose our new MetaFloppy:1054 system. Which actually provides you with more than a million bytes of reliable on-line storage. For less money than you'd believe possible.

The MetaFloppy:1054 comes complete with four drives in dual configuration. A controller. Power supply. Chassis. Enclosure. All cabling. A new BASIC software package. And a DOS with assembler and editor. There's even a builtin Autoload ROM to eliminate tiresome button pushing.

If that's more storage than you need right now, try our MetaFloppy:1053, with 630,000 bytes on-line. Or our MetaFloppy:1043, with 315,000 bytes on-line. Either way, you can expand to over a million bytes on-line in easy stages, when you need to. Or want to.

In other words, if your application keeps growing, we've got you covered. With MetaFloppy

The system that goes beyond the floppy.

For a descriptive brochure, in the U.S. call or write Micropolis Corporation, 7959 Deering Avenue, Canoga Park, California 91304 Phone (213) 703-1121.

Or better yet, see your local dealer

MICROPOLIS™ _

More bytes in store for you.

beyond.

inquiry card.

series and integrals, nonrecursive filter design, theory of recursive filter design, discrete Fourier transforms, fast Fourier transform implementation, estimation of power spectra and nonlinear phenomena due to quantizing signals. This course will be of interest to those who use linear combinations of data. The emphasis is on its basic nature and practicability. Contact Nonie Watanabe, Short Courses, 6266 Boelter Hall, UCLA Extension, Los Angeles CA 90024.

September 29-October 1, International Microcomputer Exposition, Dallas Convention Center, Dallas TX. This exposition will be directed toward all levels of technology from the professional engineer to the beginning computer hobbyist. In addition to the seminars, a panel of experts will be available to answer questions. Contact Beverly Tanner at (214) 271-9311.

October 5-8, Midwest Personal Computing Show, Apparel Center's Expocenter, Chicago I L. More than 200 displays featuring the full spectrum of the latest personal computing developments are expected to be presented by manufacturers and distributors. A comprehensive program of seminars, forums and practical application clinics will parallel the four days of exhibits. Contact Midwest Personal Computing Exposition, ISCM, 222 W Adams St, Chicago IL 60606, (312) 263-4866.

October 16-19, Information Management Exposition and Conference, McCormick Place, Chicago IL. The theme, strategic planning in the information age, was selected to convey the need for a corporate strategy for the gathering, storage, retrieval, dissemination and management's use of information. Computer equipment to be demonstrated will include large, medium and small systems, mini and micro systems, small business systems, terminals, peripherals, data communication systems, data collection and preparation handling systems, magnetic media and accessories. Contact Clapp & Poliak Inc, 245 Park Av, New York NY 10017.

October 24-26, Project Management for Computer Systems, New York NY. This 3 day seminar will illustrate techniques for planning, implementing, installing and controlling projects. Specific examples and case studies will be discussed. This seminar is intended for computer project managers, data processing managers, VPs of administration, financial managers and others involved in EDP systems development and implementation. Contact the University of Chicago, Center for Continuing Education, 1307 E 60th St, Chicago IL 60637.

October 27-29, BizComp '78, Marriott

Motor Hotel, Atlanta GA. BizComp '78 will highlight the small budget necessary

for the independent business operator to be able to purchase an in-house computer system. All facets of the small business computer industry will be on display from the latest innovations in computers to business software and word processing, supplies and services. Contact Felsburg Associates Inc, 12203 Raritan Ln, POB 735, Bowie MD 20715, (301) 262-0305.

October 30-November 1, 2nd Annual Data Entry Management Association Conference, Sheraton Harbor Island Hotel, San Diego CA. The conference theme is data entry today and tomorrow and will concentrate on the human side of data entry and distributed data entry. There will be a full schedule of seminars, panel discussions, and workshops, including hands-on workshops with various vendors' equipment. Contact Marilyn Bodek, DEMA, 16E Weavers Hill, Greenwich CT 06830.

October 31-November 3, Tulsa Computer Conference, Skyline Sheraton East, Tulsa OK. Contact Tulsa Chapter Association for Systems Management, 4110 S 100 E Av, Suite 128, Tulsa OK 74145.

November 5-8, Computer Applications in Medical Care, Washington DC. This IEEE sponsored symposium on computer applications in medical care is designed to inform physicians and health

September 1978 ©BYTE Publications Inc

121

TM

We've

reduced digitizers to

two words.

Bit Pad

Bit Pad Bit Pad Bit Pad Bit Pad

TM

Bit Pad is the low-cost digitizer for small computer systems. Better than a joystick or keyboard for entering graphic information, it converts any point on a page, any distance into its digital equivalents. It's also a menu for data entry. You assign a value or an instruction to any location on the pad. At the touch of a stylus, it's entered into your system.

Who can use it? Anyone from the educator and the engineer to the hobbyist and the computer games enthusiast. The data structure is byte oriented for easy compatibility with small computers, so you can add a power supply, stand alone display, cross-hair cursor and many other options.

Bit Pad by Summagraphics. The leading manufacturer of data tablet digitizers. Bit Pad. The only words you need to say when considering digitizers.

$1,000 creativity prize. Just write an article on an original Bit Pad application and submit it to any national small-computer periodical. If the editors publish it —and the decision is solely theirs —Summagraphics will pay you $1,000.

■

~ ' corporation

35 Brentwood Ave.. Box 781, Fairfield, CT 06430 Phone(203) 384-1344. TELEX 96-4348

Dealer inquiries invited

care professionals about current and potential applications of computer technology to patient care; and to identify areas of future research and development that need to be addressed. Contact Abund O Wist, PhD, general chairman, Medical College of Virginia, (804) 770-4957.

November 6-8, Asilomar Conference on Circuits, Systems and Computers, Asilomar Hotel and Conference Grounds, Pacific Grove CA. This conference, sponsored by the IEEE Computer Society, will delve into areas such as circuit theory and design, communication and control systems, computer systems, computer aided design, etc. Contact Donald E Kirk, Electrical Engineering Dept, Naval Postgraduate School, Monterey CA 93940.

November 8-11, Asian Business Expo/ Hong Kong, Kowloon-Canton Railway Convention Complex, Hung Horn, Hong Kong. This exposition will feature displays of over 100 business services and equipment with the opportunity to participate in seminars. Contact Industrial & Scientific Conference Management Inc, 222 W Adams St, Chicago IL 60606,(312) 263-4866.

November 13-16, COMPSAC, The

Palmer House, Chicago IL. The IEEE Computer Society's second international computer software and application conference. This conference will bring together computer practitioners, users and researchers to share their ideas, experiences and requirements for applications software, management techniques, and software development support, including automated techniques. Contact Wallace A Depp, executive director, Processor and Computer Software System Division, Bell Laboratories, Naperville IL 60540, (312) 690-2111.

November 19-22, The 11th Annual Microprogramming Workshop, Asilomar Conference Ground, Pacific Grove CA. This worksop will provide a forum for the discussion and comparison of design techniques for firmware and for the supporting hardware. Informal interaction between groups working in similar research and application environments will highlight the topical session. For more information contact Dr Alice G Parker, Micro-11 program chairman, Dept Electrical Engineering, CarnegieMellon University, Pittsburgh PA 15213, (412) 578-2472.

November 28-30, 9th Annual Canadian Computer Show, International Centre, Toronto CANADA. Products displayed at this show will include: computer and data processing equipment, supplies and services, including minicomputers, peripheral hardware and software, keypunch services, consulting and contract programming and timesharing. Contact Industrial Trade Shows of Canada, 36 Butterick Rd, Toronto Ontario M8W 328,(416) 252-7791."

122 September 1978 © BYTE Publications Inc

Circle 352 on inquiry card.

Programming Quickies

Power Wiri

ng Table

Number Type

+5 V

Gnd

IC1 7404

14

7

IC2 7400

14

7

IC3 7486

14

7

M Garth Notley

RFD 1 Route 129

Yorktown Heights NY 10598

Plugging

the KIM-2 Gap

One of my uses of the KIM-1 computer is to create programs that will execute on a smaller dedicated 4 K byte 6500 processor such as the 6505. However, the user manual for the KIM-2 4 K byte memory expansion says the following:

Note. . .It is not possible to put your expansion memory in the memory block 0400-1400 hex already decoded on KIM-1.

I want to use the addresses hexadecimal 0000 to 0FFF to hold all the programs and simulated 10 routines that will eventually go in the 6505, then use addresses hexadecimal 1000 to 13FF for the programs that test the 6505 programs. Readers with the same problem may care to use my solution which I have been using successfully for some months.

Use address switch setting 0001 for an address range of hexadecimal 1000 to 1FFF. Then modify the connections for address lines AB10, AB11 and AB12 as in figure 1. This modification will map the KIM-1 address range of 0400 to 13FF into a KIM-2 address range of 1000 to 1 FFF."

Figure 7: Modification to allow the address of the KIM-1 from hexadecimal 0400 to 13FF to be mapped into a KIM-2 address range of 1000 to 1FFF.

KIM-I

CONNECTION

emO

EN O

EP O

KIM-2

CONNECTION MEANING

On

Op

Or

Circle 305 on inquiry card.

See Sol

at all these

fine computer

centers

AL: Birmingham: ICP Computerland, (205) 979-0707. CA: Berkeley: Byte Shop, (415) 845-6366. Citrus Heights: Byte Shop, (916) 961-2983. Costa Mesa: Orange County Computer Center, (714) 646-0221. Hayward: Computerland of Hayward, (415) 538-8080. Modesto: Computer Magic, (209) 527-5156. Mountain View: Digital Deli, (415) 961-2670. San Francisco: Computer Center, Inc., (415) 387-2513. San Rafael: Byte Shop, (415) 457-9311. Walnut Creek: Byte Shop, (415) 933-6252. CO: Boulder: Byte Shop, (303) 444-6550. Denver: Byte Shop, (303) 399-8995. CT: Bethel: Technology Systems, (203) 748-6856. FL: Miami: Byte Shop of Miami, (305) 264-2983. GA: Atlanta: Atlanta Computer Mart, (404) 455-0647. IL: Lombard: Midwest Microcomputer, (312) 495-9887. IA: Davenport: The Computer Store of Davenport, (319) 386-3330. MD: Towson: Computers, Etc..., (301) 296-0520. Ml: East Lansing: General Computer, (517) 351-3260. Troy: General Computer, (313) 689-8321. MN: Minneapolis: Computer Depot, (612) 927-5601. MO: Florissant: Computer Country, (314) 921-4434. NH: Nashua: Computerland/ Nashua, (603) 889-5238. NJ: Cherry Hill: Computer Emporium, (609) 667-7555. Iselin: The Computer Mart of New Jersey, (201) 283-0600. NY: Endwell: The Computer Tree, (607) 748-1223. New York: The Computer Mart of New York, (212) 686-7923. White Plains: The Computer Corner, (914) 949-3282. NC: Raleigh: ROMs N' RAMs, (919) 781-0003. OH: Akron: Basic Computer Shop, (216) 867-0808. Columbus: The Byte Shop, (614)486-7761. OR: Beaverton: Byte Shop Computer Store, (503) 644-2486. Portland: Byte Shop Computer Store, (503) 223-3496. Salem: Computer Pathways, (503) 399-0534. PA: King of Prussia: Computer Mart, (215) 265-2580. Rl: Warwick: Computer Power, Inc., (401) 738-4477. SC: Columbia: The Byte Shop, (803) 771-7824. TN: Kingsport: Microproducts & Systems, (615) 245-8081. TX: Arlington: Computer Port, (817)469-1502. Arlington: Microstore, (817)461-6081. Houston: Interactive Computers, (713) 486-0291. Houston: Interactive Computers, (713) 772-5257. Richardson: Micro Store, (214) 231-1096. UT: Salt Lake City: Home Computer, (801) 484-6502. VA: McLean: The Computer Systems Store, (703) 821-8333. WA: Bellevue: Byte Shop Computer Store, (206) 746-0651. Seattle: Byte Shop of Seattle, (206) 622-7196. Wl: Madison: The Madison Computer Store, (608) 255-5552. Milwaukee: The Milwaukee Computer Store, (414) 259-9140. CANADA: London, Ontario: The Computer Circuit Ltd., (519) 672-9370. Vancouver, B.C.: Basic Computer Group Ltd., (604) 736-7474. AUSTRALIA: Victoria: Sontron Instruments, (03) 569.7867. PHILIPPINES: San Juan, Metro Manila: Integrated Computer Systems, Inc., 784-071. JAPAN: Tokyo: Moon base Shinjuku, (03) 375-5078. GREECE: Athens: NKA Attikos, Inc., 360-7542. UNITED KINGDOM: Huntingdon, England: Comart, Ltd. (0480) 215005. MEXICO: Mexico City: Industrias Digitales, 905-524-5132. VENEZUELA: Caracas. Componentes Y Circuitos Electronicos, 355-591. SWEDEN: Stockholm: Wernor Elektronik, (0)8-717-6288.

Processor 'technology

See ad on pages 8 & 9.

Seplembei 1978 © BYTE Publications Inc 123

Globs and Newsletters

DIRECTORY

The following is the second BYTE Clubs and Newsletters Directory (the first was published in January 1977 BYTE). The directory was compiled from information supplied by the various clubs listed. A form was sent to all clubs and newsletters listed in the first directory requesting up-to-date information. If the form was not returned, we deleted the club from the second directory. In addition, the listing was correlated with back issues of the magazine and materials on file in the BYTE offices. If information is missing in one or more categories, it means the data was not provided. We will be keeping the file available and updating it for the next directory; so, if there are errors or if you have a new club which has just been formed, send the information to: Laura Hanson, Clubs and Newsletters Editor, BYTE Publications Inc, 70 Main St, Peterborough NH 03458.

The

listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

8. $6 per year

9. Current users groups are PC Net (personal computing network), TRS-80, 6800, Digital Group, PET, RCA-1802.

1. The Alcove Computer Club

2. 230 Main St

North Reading MA 01864

3. Same

4. Special events

5. None

6. ) P Vullo

7. (617)664-4271

8. None

9. Hardware and software; systems such as MITS, TRS-80.

z

ps 00000-10000

1.

New England Computer Society

2.

POB 198

Bedford MA 01730

4

3.

Mitre Corp Cafeteria, Rt 62, East of

5

Rt 3, Bedford MA

6 7 3

4.

First Wednesday of month

5.

NECS Newsletter (monthly)

6.

Dave Day, president; Dave Milton, secretary

9

7.

(603) 434-4239, (617) 493-3154,

respectively

The Boston Computer Society 17 Chestnut St Boston MA 02108 Commonwealth School 151 Commonwealth Av (corner Dartmouth St) Boston MA

Fourth Wednesday of every month at 7 PM

Being developed Jonathan Rotenberg (617) 227-1399

$5 per year; includes admission to all meetings and events plus mailing list An information exchange and resource center based upon members' needs. The BCS sponsors: subgroups, advanced and beginner hard

LEAR SIEGLER ADM/3A

$825

DIABLO 1620/1

$2790

T.I. 745 PORTABLE

$1695

SATISFACTION

GUARANTEED

YOUR MONEY WILL BE REFUNDED IN FULL IF THE EQUIPMENT FAILS TO MEET THE MANUFACTURER'S SPECIFICATIONS.

LOWEST PRICES • IMMEDIATE AVAILABILITY

$695

INTERTUBE

• 24 LINES x 80 CHARACTER DISPLAY . U/L CASE PLUS NUMERIC KEYPAD

• BLINKING, UNDERLINE, REVERSE-VIDEO, % INTENSITY

• TRANSMIT A CHARACTER, LINE OR PAGE AT A TIME . DIRECT OR REMOTE CURSOR POSITIONING

• EIA RS-232 INTERFACE (TO 19,200 BAUD)

• 20/60 mA CURRENT LOOP (TO 9,600 BAUD)

• PRINTER PORT

$999

TELETYPE 43 132 CHARACTER LINE, UPPER/LOWER CASE EIA RS-232 INTERFACE 10 OR 30 CPS (SELECTABLE) MULTIPLE HARDCOPY CAPABILITY BUILT-IN TEST FEATURES

cMICBQ MflJL.

P.O. BOX 3297 • SANTA ANA, CALIF. 92703 • (714)731-4338

ORDERING INFORMATION: TO RECEIVE YOUR EQUIPMENT AS QUICKLY AS POSSIBLE, PLEASE INCLUDE THE FOLLOWING - A) YOUR COMPLETE SHIPPING ADDRESS, INCLUDING ZIP, B) A CERTIFIED CHECK FOR THE FULL AMOUNT OF YOUR ORDER (PERSONAL OR COMPANY CHECKS REQUIRE TWO WEEKS TO CLEAR); INCLUDING HANDLING* AND 6% SALES TAX, IF A CALIFORNIA RESIDENT.

"HANDLING CHARGE: IF TOTAL ORDER IS LESS THAN $750, ADD 3%; $750 TO $1999, ADD 2%, OVER $1999, ADD 1%.

TERMINALS ARE SHIPPED FREIGHT COLLECT - PLEASE MAKE ARRANGEMENTS TO RECEIVE YOUR EQUIPMENT. YOUR ORDER WILL BE SHIPPED BY SURFACE CARRIER UNLESS OTHERWISE INDICATED. EVERYTHING SHIPPED IN FACTORY CARTONS WITH MANUFACTURER'S WARRANTY.

MICRO-MAIL WELCOMES ANY SUGGESTIONS THAT MAY HELP US SERVE YOU BETTER

DECwriter II

$1550

SOROC IQ120

$795

ALL UNITS ARE FULLY ASSEMBLED.

WRITE FOR OUR FREE CATALOG.

124 September 1978 © BYTE Publications Inc

Circle 219 on inquiry card.

ware and software sessions, software exchange, various types of guest speakers, etc, when needed and feasible.

1. TRSClub

2. 96 Dothan St Arlington MA 02174

5. Yes

6. Poi K Pow

9. TRS user group; TRS cassette or diskette media. A software library is available at low or copying cost. Library includes inventory, security, games, data base, sort, etc.

I.

S. 6. 7. 8. 9. 10.

Rhode Island Computer Hobbyists (RICH)

c/o E D lannuccillo POB 599 Bristol Rl 02809 labbour Electronic City Third Tuesday of September, October, November, March, April, May Yes

E D lannuccillo (401) 253-5450 $2 per year Construction projects Our club is small and friendly. Members come from many vocations and many are students; most are not experts in computers. We demonstrate equipment and help each other with problems.

1. The Southern New England Computer Society

2. 267 Willow St

New Haven CT 06511

3. Varies

5. Yankee Bits

6. Arthur Downes

7. (203) 562-8034

8. $3 covers dues and newsletters

9. Micros, minis and macros from the ELF to IBM 360 and software at all levels

10. Sometimes we will send a sample copy of Yankee Bits. Anybody is welcome no matter what level of interest or knowledge.

1. Bridgeport Area Society for Involved Computerists (BASIC)

2. 12 Wildwood Dr Trumbull CT 06611

3. Trumbull Town Library

4. Second Wednesday each month

5. MICROFLASH published monthly

6. Al Song

7. (203) 268-9807 (nights), (203) 576-6556 (days)

8. $8 per year

9. Hardware, software, anything whatsoever to do with computers

10. Established August 1977 with 40

paid members and 150 on the mailing list.

1. Amateur Computer Group of New Jersey

2. 1776 Raritan Rd

Scotch Plains NJ 07076

4. Main meeting third Friday of month; 8080/Z-80 user group first Friday of month; 6800/6502 user group fourth Friday of month

5. Yes

6. Sol Libes

7. (201) 277-2063

8. $5 per year

9. User groups: CPM, Radio Shack, PET, 8080/Z-80, 6800/6502, 1 802 and 9900. Classes: BASIC, 8080 programming, 6800 programming, 6502 programming and "Getting Started."

10. Software libraries, annual member directory, annual festival, and annual contest. There are 800 members. Starting PC network.

New Jersey Apple Users Group

Computer Lab of NJ

141 Route 46

Budd Lake NJ 07828

First Friday of month, 7:30 PM

Dan Fischler

Zips 10000-20000

1. New York Amateur Computer Club

2. POB 106, Church St Station New York NY 10007

3. Varies

5. Untitled, monthly 5 to 10 page newsletter

BASIC is BASIC is...

And BASIC does what it should. But if you're ready to step up from Beginner's All-purpose Symbolic /nstruction Code, look at OPUS, the high-level 8080/Z80 language from A.S.I. ...roots in BASIC, but designed for business applications. OPUS gives you the capabilities you need, like extended precision, string handling, and easy formatting. OPUS/TWO takes up where OPUS/ONE leaves off, allowing subroutines, overlays, and extended disc file management.

But we didn't stop there. OPUS programs and data are directly upward-compatible, all the way up through TEMPOS, A.S.I.'s multi-user, multi-tasking operating system.

Ask your dealer, or contact A.S.I. We'd like to tell you more.

OPUS/ONE $99.00

SOS $385.00

OPUS/TWO $195.00

TEMPOS $785.00

□ □

--== ADMINISTRATIVE SYSTEMS, INC. II I 1642 S. Parker Road, Suite 300

|—If-1 Denver, Colorado 80231 (303) 755-9694

LJLJ

ORDER A MANUAL NOW and we'll apply the price toward your software purchase.

OPUS User's Manual $12.50

SOS. Manual Set (includes OPUS Manual) $20.00

TEMPOS Manual Set (includes OPUS Manual) .. $20.00

MASTER CHARGE and VISA accepted.

Add $1.50 per manual (set) for shipping/handling in U.S.

Circle 4 on inquiry card.

September 1978©BYTE Publications Inc 125

Glube and Newsletters

DIRECTORY, continued

6. Bob Schwartz or John Frederick

7. (212) 663-5549,866-4298, respectively

8. $10 per year

9. Mostly 5100, word processing, some music types.

1. Long Island Computer User Society (LICUS)

2. POB 322

East Northport NY I 1731

3. Commack High School South Commack NY

4. Second Tuesday of each month

5. Queue (monthly)

6. John Vollers or Jim Zukowski

7. (516) 493-3612,586-3555/ 757-9329, respectively

8. $3 per year

9. Software development and applications dealing mainly with DEC equipment

10. Informal group meetings; we try to have a guest speaker discuss a relevant subject of interest.

1. Long Island Computer Association

2. 36 Irene Ln E Plainview NY 11803

3. New York Institute of Technology

4. Second Friday of month - 8080 group; third Friday of month — regular meeting and 6800 group

5. The Stuck

6. Aileen Harrison

7. (516) 938-6769

8. $10 per year, $5 students

9. 6800 group, 8080 group, Pascal, BASIC, kit building, and troubleshooting.

1. A EC Transfer

2. 8 Gedney Way

or 147 Fostertown Rd Newburgh NY 12550

5. AEC Newsletter

6. William Callahan Jr

7. (914) 565-4621

8. 25 cent entry fee; $5 subscription fee (subject to change)

9. Correspondence club; newsletter with emphasis on science and science fiction articles.

10. Readership supported for articles and stories, nonprofit; glad to hear from anyone interested in receiving or contributing to newsletter.

HOLD IT!

Anywhere you want it.

PanaVise tilts, turns, rotates. One quick turn of the control knob and you securely position your work exactly where you want it. Holds firmly but gently the most delicate electronic parts and P. C. boards.

Whether you're into building home electronics, trouble shooting, or professional servicing ... you'll wonder how you got along without this modestly priced 'extra hand.'

Model 396 Wide Opening PanaVise shown. An ingenious variety of othe interchangeable bases, holders and accessories also available. See you electronics distributor, or write for FREE brochure.

IASE

Dept 5224 Chakemco St., South Gate, CA 90280

1. Computer Hobbyists in Processing (CHIPS)

2. POB 4840

General Electric Co, CSP3-1 6 Syracuse NY 13221

3. Baker Hall, Electronics Park Syracuse

4. Usually third Thursday each month except July and August

5. CHIPS Newsletter

6. Dave Flagg or Jerry Green

7. (315) 456-1903,456-7357, respectively

8. $4 per year

9. Hobby systems of all kinds and all applications.

10. Approximately 50 members and average meetings attended by 38 to 45 members. Membership not restricted to GE and is drawn from 60 mile radius around Syracuse.

1. Rome Area Computer Enthusiasts (RACE)

2. RD 1, W Carter Rd Rome NY 13440

3. Patty's Stagecoach Inn

4. Second Tuesday at 7:30 PM

5. Micros Along the Mohawk

6. Michael Troutman

7. (315) 336-0986

9. Special interest groups around the 6800 and 8080/Z-80 microprocessors as well as one for beginners.

1.

2.

Students Cybernetic Laboratory

(SCYL)

c/o A E Adams

RFD Box 260

Chaffee NY 14030

3.

Yorkshire NY

4.

Irregular

3. 6. 7. 8. 9. 10.

Irregular, at present

A E Adams or Karl Grampp

(716) 849-1433

None

Intel 8080, Business applications

Club just now becoming reactivated

and reorganized.

1.

Rochester Area Microcomputer

2.

Society POB D

Rochester NY 14609

5. 6.

Memory Pages

Glenn Alexander, president

7.

(716) 377-0697

1.

2.

Ithaca Computer Group

POB 91

Ithaca NY 14850

5.

None

6. 7. 8.

S Edelman (607) 273-3271 None

9.

All

1.

Electronotes

2.

1 Pheasant Ln

Ithaca NY 14850

3.

None

4.

None

5.

Electronotes - Newsletter of the

6.

Musical Engineering Group Bernie Hutchins

126

September 1978 © BYTE Publications Inc

Circle 292 on inquiry card.

9.

10.

(607) 273-8030

Newsletter, monthly 22 page issues,

$20 per year

Electronic music, including digital

control of analog synthesizers, and

special music synthesis techniques

Back issues and other publications

are available; write for order forms,

descriptions and sample issue.

1.

Pittsburgh Area Computer Club

2.

400 Smithfield St

Pittsburgh PA 15222

3.

Northway Mall Community Room

4.

Third Sunday, 11 AM

5.

Yes

6.

Fred Kitman

7.

(412) 391-3800

8.

$12 per year

9.

Robots and the MACC

10.

Meetings consist of a general talk,

formal meeting and speaker.

The Central Pennsylvania Computer Club

1979 Crooked Oak Dr Lancaster PA 17601 Elizabethtown Public Library — alternate locations occasionally Third Friday on even numbered months, fourth Wednesday on odd numbered months; 7 PM to 9 PM both nights Data Dump Joseph Pallas (717) 569-3137 $3 students, $7 adults per year (includes subscription to Data Dump) We are a small group (30+ members) which provides help to newcomers and fosters interaction among system owners.

1.

PET User Group

2.

POB 371

Montgomeryville PA 18936

5.

PET User Notes

6.

Gene Beals

7.

(215) 257-8195

8,

55

9.

Commodore PET information and

program exchange.

1. Philadelphia Area Computer Society

2. POB 19S4 Philadelphia PA 19105

3. Science Building, LaSallc College 20th Olney Av

Philadelphia PA

The listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

A Great

Microcomputer

At A Fabulous

Price

From Computer

Enterprises:

The VDP-40

Video Data Processor

Credit Card

Price:

$4207.00

Cash

Discount

Price:

$4046.00

Designed lor [he office or tor the home, the IMSAI Video Data Processor, the VDP-40, places a microcomputer well within the budget of the average small businessman or systems developer. The VDP-40 may be used to computerize the accounting and inventory functions of a small business. The VDP-40 can communicate lo additional VDP-40s or other 8080/85-based computers, and can act as a terminal in a data communications network. The VDP-40 is a fully integrated system, featuring an 8085 microprocessor, V1K RAM memory, two 5'/4-inch floppy disks, 9-inch CRT, heavy-duty power supply, professional keyboard, terminated/regulated motherboard, t\ml serial and parallel I/O ports in a handsome cabinet. The IMSAI VDP-40 comes fully assembled and tested. Built-in serial and parallel I/O ports provide the means to connect, via appropriate cabling, peripheral devices including line printers, modems and auxiliary terminals. Built-in expansion capability allows the user lo increase the RAM, I/O ports and number of disk drives. SYSTEMS FEATURES.

• Fully Integrated Computing System in a single Cabinet

• High Speed 8085 Processor

• 80 x 24 Video Display

• 5V4-inch Twin Floppy Disk Drives

• Integrated CRT Display

• Microprocessor-Driven Keyboard With N-Key Rollover

• Terminated/Regulated Motherboard

• Heavy-Duty Power Supply

• Printer/Modem Port Included

• 32K RAM Memory Included

• 2K ROM Monitor Included

• Disk Expansion Capability in Excess of 4.5 Megabytes of On-Line Storage System Expansion? Extra slots in our S-100 bus motherboard and our new power supply allow almost unlimited expansion.

Need more disk expansion? A controller option of the VDP-40 allows expansion lo greater than 4.5 M Byles.

Add a line printer, an IBM compatible tape drive, a modem: all are available, with the interfaces and software to make il work for you.

NO-RISK GUARANTEE

Cancellation With No Obligation If WE Don't Deliver In 90

Days

full Satisfaction Or You May Return Product

Plus All Manufacturers' factory Guarantees

Shipping charges: $10 per CPU on larger units; SI.50 per kit, $2.00 min. per order.

Delivery is stock lo 30 days on mosl items. Shipment is immediate for payment by cashier's check, money order or charge card. Allow 3 weeks foi personal checks to clear. N.Y. State residents add approp. sales tax. A1- ailabilily. prices and specs may change without notice.

computer entefpri/e/

Operating Hours: M-W 10-5E.S.T. Th-F 10-9E.S.T.

Closed Sat. & Sun.

P.O. Box 71

Fayetteville, N.Y. 13066 Phone (315) 637-6808 Today!

Circle 70 on inquiry card.

September 1978 ©BYTE Publications In

127

Blubs and Newsletters

4. Third Saturday of the month, 2 PM

5. The Data Bus

6. Dick Moberg or Jon Bondy

7. (215) 923-3299,642-1057, respectively

8. $10 ($5 student)

9. Subgroups on most major processors/ computers; starship subgroup (for space travel simulation with microcomputers), computer network and Pascal

10. PACS currently has over 250 members and is growing fast. Emphasis is placed on education and monthly courses are offered on A/D design, Pascal, 6502 BASICs, operating systems, and many other topics. For meeting information and other local computer news, dial the PACS hotline: (215) 925-5264.

1. Delaware Users of Microprocessor Systems (DUMPS)

2. 2405 Maxwellton Rd Stanton DE 19804

5. None

6. Jodie S Hobson

7. (302) 998-5594

8. None

DIRECTORY, continued

9. Currently hardware oriented 10. Meetings consist of general business, technical talk or demonstration, and rap session.

Zips 20000 - 30000

1. Washington Amateur Computer Society

2. 4201 Massachusetts Av, #168 Washington DC 20016

4. Last Friday of each month, 7 :30 PM

5. JWACS ($5 per year)

6. Bob Jones, editor

10. For more information, send a SASE to the above address.

1. Microcomputer Investors Association

2. 2415 Ansclel Ct Reston VA 22091

3. As called

5. The Microcomputer Investor

6. Jack Williams

7. (703) 620-2591

8. Nonprofit, professional association, $30/member

9. The fundamental purpose of the association is to facilitate the ex

GOING TO PC EXPO 78?

Then Visit Our "Show Within The Show"!

Small Business Systems

USER READY!

PolyMorphic Systems

S-100 BUS. FLOPPY DISCS BUSINESS & PROFESSIONAL SOFTWARE AVAILABLE NOW

FULL DOCUMENTATION SUPPLIED WITH EACH.

ATTENTION CIRCUIT DEVELOPERS!

• AP BREADBOARDING, POWERACE, GREAT JUMPERS

• B&K PRECISION TEST EQUIPMENT • PANAVISE

• NLS MINISCOPES • ISOTIP CORDLESS SOLDERING

• EDP POWER SUPPLIES • OK WIRE WRAP

• CSC LOGIC PROBES

SEE

US

FOR:

■■HANDS-ON" DEMOS!

WW ATLAS

AA\\ ELECTRONICS

11—^1 1570 THIRD AVENUE tGT*& NEW YORK, NY. 10028

^•^ 212-427-4040 OUR 25th YEAR.

MOST ITEMS STOCKED AT SHOW.

If you can't make it to the show, visit our headquarters in New York. We are always available to help you with the right equipment or accessory items.

*NEW YORK COLISEUM, SEPT. 15, 16, 17, 1978. BOOTHS 4101-4104.

change of data and information relating to investments and microcomputers with the express purpose of such interchange being directed toward maximizing profits in stocks, bonds, warrants, stock options and commodities, including commodity options and futures straddles.

1. Chesapeake Microcomputer Club Inc

2. POB 87

3. White Oak Library 11701 New Hampshire Av Silver Spring MD

4. Fourth Monday at 7:30 PM 7:30 PM

5. The Analytical Engine

6. Rich Kuzmack

7. (703) 821-2873 (home)

8. $12 per year

9. Processor-oriented special interest groups, investors group, store and forward system with Bell 103 access for message and software interchange, PC networking.

10. Geographically-oriented chapters and affiliates in the greater Washington DC/Baltimore area.

1. Amateur Radio Research and Development Corp (AMRAD)

2. 1524 Springvale Av McLean VA 2210 I

3. Patrick Henry Branch Library

101 Maple St E, Vienna VA 22180

4. First Monday of each month at 8 PM

5. AMRAD Newsletter

6. Paul L Rinaldo

7. (703) 356-8918

8. Regular $10, second in household $5, student $2. Life: regular $100, second in household $50.

9. Computers, amateur radio and radioteleprinter operation.

1. Crystal City Computer Club

2. 3008 Mosby St Alexandria VA 22305

3. Commissioner's Conference Room, Bldg 3, 11th Floor, Crystal Plaza Arlington VA

4. First nonholiday Monday, 1 I :30 to 12:30

5. 10

6. Russell E Adams

7. (703) 548-8261

8. $4 per year and $5 with newsletter

9. Assist newcomers and interchange of programs and ideas

10. Have small library, occasional classes, 48 members; affiliated with Chesapeake Computer Club.

1. Charlottesville Computer Hobbyists Club

2. 1928 Arlington Blvd, #209 Charlottesville VA 22903

3. Math-Astronomy Building University of Virginia

4. Second Monday of each month

5. No name, monthly if possible

6. Richard A Stanley

7. (804)296-5583or293-7976

8. $2 per year (supports newsletter)

9. Software, systems and hardware.

128

September I97S B BYTL Publications Inc

Circle 16 on inquiry card.

1. IBM 5110/5100 Users Group

2. 5541 Parliament Dr Suite 104

Virginia Beach VA 23462

5. Not yet, but probably every other month

6. Richard E Easton

7. (804) 490-0154

9. Specifically oriented toward IBM 51 10 or IBM 5 I 00 installed users 10. Especially interested in 5 I 10-5 I 00 applications in the health care field.

1. Tidewater Computer Club

2. 677 Lord Dunmore Dr Virginia Beach VA 23462

3. Electronic Computer Programming Institute, Janaf Office Bldg, Janaf Shopping Center, Military Hwy and Virginia Beach Blvd in Norfolk VA

4. 7 :30 PM first and third Tuesdays each month

5. None as of yet

6. C Dawson Yeomans, publicity chairman

8. $6 for six months

9. Discussions cover hardware and software, system demonstrations.

10. New members are always welcome.

1. Dytia-Micro Users Group

2. POB 1053 Lexington VA 24450

5. Digital Directions

6. Dr Frank A Settle Jr

7. (703)463-6244

8. SI 5 initial fee

9. Items of interest to users of MiniMicro and Dyna-Micro designers marketed by E&L Instruments Inc.

1. West Virginia Computer Society

2. 1 67 Iroquois Trail Ona WV 25545

3. Dunbar City Park, Dunbar WV

5. "Oscillations" of the West Virginia Computer Society

6. Bill England, president

7. (304) 736-9794

8. $12 per year, also family and student dues; newsletter subscription $6 per year

9. Any and all phases of computers and associated equipment; digital electronics

10. Everyone is welcome to attend meetings. Member MACC.

The listings follow this

for

n:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS!

Write and run machine language programs at home, display video graphics on your TV set and design microprocessor circuits—the very first night—even it you've never used a computer before!

ELF II „,„„„, RCA COSMAC

ELF II by HETJtOHICS

As featured in POPULAR ELECTRONICS

Shown nitl)

optional 4k Mamory Boards,

6IANT BOARD"* I KlJ(fl Bond

microprocessor/ mini

stop reading uboufcomputers and yet your hands on one! With ELF II and our new Short Course by Tom Pittman, you can master computers in no time at all! ELF II demonstrates all 91 commands an RCA 1802 can execute and the Short Course quickly leaches you how to use each ot'the lK02's capabilities.

ELF IPs video output lets you display an alphanumeric readout or graphics on any TV screen or video monitor plus enjoy the latest video games, including an exciting new target/missile gun game that was specifically developed for ELF U.

But that's not all. Once you've mastered computer fundamentals, ELF M can give you POWER with add-ons that are among the most advanced found anywhere. No wonder IEEE chapters plus hundreds of universities and major corporations have chosen the ELF 11 to introduce their students and personnel to microprocessor computing!

Learn The Skill That May Soon Be Far More Important Than Your College Degree!

The ability to use a computer may soon be more important to your earning power than a college degree. Without a knowledge of computers, you are always at the mercy of others when it comes to solving highly complex business, engineering, industrial and scientific problems. People who understand computers can command MONEY and to get in on the action, you must learn computers. Otherwise you'll be left behind.

ELF II Is The F-A-S-T Way To Learn Computer Fundamentals!

Regardless of how minimal your computer background is now, you can learn to program a computer in almost no time at all. That's because Netronics has developed a special Short Course on Microprocessor And Computer Programming in non-technical language that leads you through every one of the RCA COSMAC 1802's capabilities so you'll understand everything ELF II can do .. and how to get ELI7 II to do it!

All 91 commands that an 1802 can execute are explained to you, step-by-step. The text, written for Netronics by Tom Pittman. is a tremendous advance over every other programming hook in print.

Keyed specifically to the ELF II, it's loaded with "hands on" illustrations. When you're finished, ELF II and the 1802 will no longer hold any mysteries to you.

In fact, not only will you be able to use a personal computer creatively, you'll also be able to read magazines such as BYTE... INTERFACE AGE ... POPULAR ELECTRONICS and PERSONAL COMPUTING and understand the articles.

If you work with large computers, ELF 11 and our short Course will help you to understand what makes them tick.

A Dynamite Package For Just $99.95! With ELF II, you learn to use machine language—the fundamental language of all computers. Higher level languages such

_ SEND TODAY! ••

I NOW AVAILABLE FOR ELF II— n Deluxe metal cabinet for ASCII

| a Tom Pittmun's Short Course On Mi- Keyboard, $19.95 plus $2.50 p&h. coprocessor & Computer Programm- □ ELF 11 Tiny BASIC on cassette

tape. Commands include SAVE,

COMPUTER 99

as FORTRAN and BASIC must be translated into machine language before a computer can understand them. With ELF II you build a solid foundation in computers so you'll really know what you're doing, no matter how complicated things get.

Video output also makes ELF 11 unique among computers selling for such a low price. Attached to your TV set. ELF II becomes a fabulous home entertainment center. It's capable of providing endless hours of fun for both adults and children of all ages! ELF II can create graphics, alphanumeric displays and fantastic video games.

No additional hardware is required to connect ELF II to yourTV's video input. If you prefer to connect ELF II to your antenna terminals instead, simply use a low cost RF modulator (to order one, see coupon below).

ELF II's 5-card expansion bus (connectors not included) allows you to expand ELF II as your needs for power grows. If you're an engineer or hobbiest. you can also use ELF II as a counter, alarm, lock, thermostat, timer or telephone dialer, or for countless other applications.

ELF II Explodes Into A Giant!

Thanks to ongoing work by RCA and Netronics, ELF II add-ons are among the most advanced anywhere. Plug in the GIANT BOARD1-* and you can record and play back programs, edit and debug programs, communicate with remote devices and make things happen in the outside world. Add Kluge Board to get ELF II to solve special problems such as operating a more complex alarm system or controlling a printing press. Add 4k RAM board and you can write longer programs, store more information and solve more sophisticated problems.

Expanded, ELF II is perfect for engineering, business, industrial, scientific and personal finance applications. No other small computer anywhere near ELF II's low price is backed by such an extensive research and development program.

The ELF-BUG'-* Monitor is an extremely recent breakthrough that lets you debug programs with lightening speed because the key to debugging is to know what's inside the registers of the microprocessor and, instead of single stepping through your program, the ELF-BUG'-* Monitor, utilizing break points, lets you display the entire contents of the registers on your TV screen at any point in your program.You find out immediately what's going on and can make any necessary changes. Programming is further simplified by displaying 24 bytes of RAM with full address, blinking cursor and auto scrolling. A must for serious programmers!

Netronics will soon be introducing the ELF II Color Graphics & Music System—more breakthroughs that ELF II owners will be the first to enjoy!

Now BASIC Makes Programming ELF II Even Easier!

Like all computers, ELF II understands only "machine language"—the language computers use to talk to each other. But, to make life easier for you, we've developed an ELF II Tiny BASIC. It talks to ELF II in machine language for you so that you can program ELF II with simple words that can be typed out on a keyboard such as PRINT, RUN and LOAD.

"Ask Now What Your Computer Can Do... But What Can It Do For YOU!"

ing teaches you just about everything there is to know about ELF II or any RCA 1802 computer. Written in nontechnical language, it's a learning breakthrough for engineers and laymen alike. $5.00 postpaid! D Deluxe metal cabinet with plexiglas dust cover for ELF 11. $29.95 plus $2.50 p&h.

D ELF II connects to the video input TV screen without additional

Commands include LOAD, i,'x,+,( ), 26 variables A-Z, LET, IF/THEN, INPUT, PRINT, GO TO, GO SUB, RETURN, END, REM, CLEAR, LIST, RUN, PLOT, PEEK, POKE. Comes fully documented and includes alphanumeric generator required to display alphanumeric characters directly on youi hard

Don't be trapped into buying a dinosaur simply because you can afford it and it's big. ELF II is more useful and more fun than "big name" computers that cost a lot more money.

With ELF II, you learn to write and run your own programs. You're never reduced to being a mere keypunch operator, working blindly with someone else's predeveloped software.

No matter what your specialty is, owning a computer which you really know how to use is sure to make you a leader. ELF 11 is the fastest way there is to get into computers. Order from the coupon below!

Netronics R&D Ltd., Dept. 0000

333 Litchfield Road, Phone I

New Milford, CT 06776 (203)354-9375 ,

of your TV set. If you prefer to usi your antenna terminals, order RF Modulator, $8.95 postpaid. D GIANT BOARD" kit with cassette I/O, RS 232-C/TTY I/O, 8-bit P I/O. decoders for 14 separate I/O instructions and a system monitor/editor. $39.95 plus $2 p&h.

□ Kluge (Prototype) Board accepts up to 36 IC's. $17.00 plus $1 p&h.

□ 4k Static RAM kit. Addressable to any 4k page to 64k. $89.95 plus $3 p&h.

□ Gold plated 86-pin connectors lone required for each plug-in board). $5.70 postpaid.

D Professional ASCII Keyboard kit with 128 ASCII upper/lowercase set. 96 printable characters, onboard regulator, parity. logic selection and choice Of 4 handshaking signals to mate with almost any computer. $64.95 plus $2 p&h.

ware. Also plays tick-tack-toe plus a drawing game that uses ELF II's hex heyboard as ajoystick. 4k memory required. $14.95 postpaid. D Tom Pittman*s Short Course on Tiny BASIC for ELF 11, $5 postpaid. D Expansion Power Supply (required when adding 4k RAM). $34.95 plus $2 p&h.

U ELF-BUG"1 Deluxe System Monitur on cassette tape. Allows displaying the contents of all registers on your TV at any point in your program. Also displays 24 bytes of" memory with full addresses, blinking cursor and auto sci oiling. A must for the serious programmer! $14.95 postpaid. Coming Soon: A-D. D-A Converter, Light Pen, Controller Board, Color Graphics & Music System. ..and more!

Call or write /or wired prices!

Yes! I want to run programs at home and '

have enclosed:n $99.95 plus $3 postage I

& Handling for RCA COSMAC ELF II kit, I

D $4.95 for power supply (required), I

D $5 for RCA 1802 User's Manual, Q $5 I

for Short Course on Microprocessor & I

Computer Programming.

D I want mine wired and tested with I

power supply, RCA 1802 User's Manual I

and Short Course included lor just $149.95 I

plus $3 p&h!

□ I am also enclosing payment (including I

postage & handling) for the items checked

at the left

Total Enclosed (Conn. res. add tax) ]

$ □ Check here if I

you are enclosing Money Order or Cashier's J

Check to expedite shipment.

USE YOUR □ VISA O Master Charge ,

(Interbank # . ) |

Account* l

Signature Exp. Date J

PHONE ORDfcRS ACCEPTED (203) 354-9375 [

Print

Name — I

Address |

City .

State _

-Zip

Circle 280 on inquiry card.

._ DEALER INQUIRIES INVITED „

September 1978 © BYTE Publications Inc 129

Clubs and Newsletters

DIRECTORY, continued

1. Triangle Amateur Computer Club

2. POB I 7523 Raleigh NC 27609

3. Dreyfus Auditorium Research Triangle Park

4. Last Sunday of each month at 2 PM

5. Newsletter

6. Russell 0 Lyday Jr

7. (919) 787-4137, 541-6957

8. Subscription fee $6 per year

9. Introductory as well as advanced topics discussed at each meeting.

Zips 30000 - 40000

1.

Atlanta Area Microcomputer Hobbyist Club

4. 5.

2.

POB 7602

6.

Atlanta GA 30357

7.

3.

Decatur Federal Savings

8.

Dunwoody Village

9.

4.

Last Wednesday of each month

5.

AAMHC Newsletter

6.

Jim Stratigos

7.

(404) 894-3505 (days), 457-8030 (nights)

10.

8.

$ 1 0 per year

9.

Personal computing; 6800 and 8080

0.

Club participates in the Atlanta ham

fest/computcr fest which is held annually first weekend in June.

1. Okaloosa Computer Hobbyist Club

2. 32 Denton Blvd, NW #72 Fort Walton Beach FL 32548

4. Every second and fourth Tuesday

6. Lorctta R Guske, secretary

7. (904) 242-5938

1. Central Florida Computer Club

2. 2821 Sunset Rd Apopka FL 32703

3. Basement ol Orlando Utilities Bklg, 500 S Orange Av, Orlando FL Third Sunday of each month, 2 PM Notes on last meeting and points of interest for next meeting John W Necl (305) 862-1329

8. $10 per year

9. Helping newcomers to the world of computers; programming classes; keeping up to date on the latest innovations in the computer world. In progress: complete list of members showing type of equipment by CPUs; type of occupation; telephone numbers (work and home); use of computers.

S-100 BUS COMPATIBLE. The EMM 1104 single card plug-in memory has been field tested and proven in a variety of systems including the Poly 88, IMSAI, MITS, COMPAL-80, TLD and CREMENCO. 16K BYTES ON A CARD. Convenient plug-in card, fully burned-in, tested and guaranteed by one of the industry's largest memory suppliers. NMOS STATIC RAM. The 4K static RAMs have been proven in applications ranging from single chip memories to IBM 370 add-on systems. They are fast, reliable, and no refresh cycle is required. See your dealer, or contact us for complete information.

S-100 Bus Compatible Memory

16K bytes on a card

NMOS static RAM

CN*Bfc

■•• •Z^*'

Commercial Memory Products, a Division of Electronic Memories & Magnetics Corp. 12621 Chadron Avenue • Hawthorne, California 90250 • Telephone (213) 644-9881

1. Indian River Computer Society

2. FIT Elect Eng Depl Country Club Rd Melbourne FL 32901

3. Florida Institute of Technology Room 11 2

4. First and third Thursdays of each month at 7 PM

5. THE HBUS (monthly)

6. Frank Canova, president

7. Messages at: (305) 723-3701 ext 330

8. $3 initiation fee, $2 per quarter

9. Wide interest range from how to get started to large system applications. Many members are involved in homebrew 8080, 6502, 6800, Z-80 and F8 systems, although other systems arc used by members as well.

1. Birmingham Microprocessor Group

2. 774 Twin Branch Dr Birmingham AL 35226

3. "The Computer Center" (temporary)

4. Fourth Sunday each month at 2 PM

5. Newsletter

6. Joe Callaway

7. (205) 933-7806

8. $6 per year

9. None

Zips 40000 - 50000

Amateur Computer Society of

Columbus OH (ACSCO)

Computer Data Systems

1372 Grandvicw Av

Columbus OH 43212

Center of Science and Industry

First Wednesday every month,

7:30 PM

I/O

Fred Hatfield K8VDU, president

(614) 486-0677

8. $10 per year

9. Personal computer networking, implementation of SAM 76 language versions and amateur radio applications.

1. The Cleveland Digital Group

2. 8650 Harvard Av Cleveland OH 44105

3. Same

4. Third Sunday of the month, 2 PM

5. Tlie Shift Register

6. David A Rolnicki, chairman; programs committee

7. (216)524-2434

8. $10 per year

10. Informal meetings held every Tuesday night 7:30 on. Speakers come on a regular monthly basis (Sunday meetings).

1. Goodyear Computer Club

2. c/o J F Deny, D-109E PIT I Goodyear T& R Co

Akron OH 44316

3. Goodyear Hall, 8 PM fourth Tuesday each month

4. IAG meets 7 PM before club meeting; club meets at 8 PM, business, speaker, demos; HG meets at 9 PM

5. The Late Edition

130

September 1978 O BYTE Publications inc

Circle 132 on inquiry card.

Circle 378 on inquiry card.

6. R Messner, Goodyear Aerospace Corp, D-47063, Akron OH 44315

7. (216) 794-7265

8. $10 per year

9. Investment analysis group (IAG), hardware group (HG), software group — under discussion (SG), setting up club library reference service for magazine exchange.

10. Have club Xerox CF-16 (Goodyear surplus) and Burroughs accounting machine. Looking for space to set up. Goodyear employees can telephone into GAC Sigma 9, 5 PM to midnight seven days a week using HG modem or equivalent. Membership not limited to Goodyear employees.

The

listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

Custom Build Your Own Microprocessor System

Modem Board

Cabinet with Power Supply Board Features:

• F-8 CPU with 2K RAM, 4K ROM and 2K PROM

• Asynchronous 2-Channel I/O; Full Duplex, RS-232-C

• Synchronous I/O; Half or Full Duplex, CRC, RS-232-C

• Static Memory with 2K RAM and 4K ROM, 2K PROM

• Static Memory with 8K RAM and 2K ROM, Battery Back-Up

• FSK Modem; TWX/DDD Compatible, Dial Tone and Call Progress Detection, Multi-Tone Dialing

Cabinet Features:

• Front Panel PC Card Access

• Removable Top Cover for Troubleshooting Ease

• Common-Buss Motherboard allows Random Card Placement

• Rear Panel Cooling Fan and Optional EIA Connectors

For additional information regarding your specific application, call or write UTEC today.

UNIVERSAL TECHNOLOGY INC. 871 Allwood Road, Clifton, N.J. 07012 . Phone: (201) 779-0430

fc) wire wrapping center (£>jc

WIRE UURRPPinG KIT UIK-5

CONTAINS: Battery Tool BW-630 Hobby Wrap Tool WSU-30 M PC Edge Connector CON-1 DIP/IC Extractor Tool EX-1 DIP/IC Insertion Tool INS-1416 PC Card Guides & Brackets TRS-2 Mini-Shear with Safety Clip SP-152 14, 16, 24 and 40 DIP Sockets Terminals WWT-1

Tri-Color Wire Dispenser WD-30-TRI Hobby Board H-PCB-1

$J4.9S

ADD $1.00 FOR SHIPPING (N. Y. CITY AND STATE RESIDENTS ADD TAX)

OK MACHINE & TOOL CORPORATION

3455 Conner St., Bronx, N.Y. 10475 (212) 994-6600/Telex 125091

Circle 287 on inquiry card.

September 1978 O BYTE Publications Inc

131

An advanced desktop data center for $1,995? Quitcherkiddin*, TANO.

No Kiddin'.

mrpcsr//

Globs and Newsletters

DIRECTORY, continued

Rugged unit • Full ASCII keyboard • 24x80 character CRT • 32K bytes RAM • M6800 CPU • Mini-floppy disk drive and controller • BASIC software package • Over 20 Applications packages available • User documentation.

DEALER INQUIRIES INVITED

r

Order Form ■■«■•»■■■

Outpost 11 s. De '

Send me.

posit $200 each, plus $35 freight

and insurance. (Pay balance on

delivery.)

Name

Firm/Title

Shipping Address.

Phone.

Signature.

O

Corporation

4521 W. Napoleon Avenue

Metairie, La. 70001

(504) 888-4884 TWX 810-591-5229

1.

Compute, Evalute, Trade

design, hobbyist activities, sponsoring

2.

POB 104

the annual IEEE computer show at

TippCity OH 45371

Purdue (March 24 1979).

3.

4.

IUPUI, Indianapolis IN Last Wednesday in month

5. 6.

Byte Back Charles Tyzzer

1.

Southeastern Michigan Computer Organization (SEMCO)

8.

None

2.

POB 9578

9.

Business systems.

Detroit Ml 48202

3.

Ford Automotive Safety Center Auditorium, Dearborn Ml

1.

Dayton Microcomputer Association

2.

Dayton Museum of Natural History

4.

Second Sunday of every month at

2629 Ridge Av

7 PM

Dayton OH 45414

5.

Data Bus

3.

Same as above

6.

Jim Rarus, president

4.

Last Tuesday of month, 7:30 PM

7.

(313) 775-5320 (24 hour club news

5.

Dayton Microcomputer Association

line)

Data Bus

8.

$10 per year or $6 per year 50 miles

6.

Dean Lampman, president

from Detroit

Marilyn Mix, vice-president

9.

We have a number of special interest

Jack Steele, secretary

groups (SIGs). The following arc

7.

(513) 984-2084,253-9468,

some of our interests: Radio Shack,

256-8005, respectively

S-100 bus, KIM, 6800, Digital Group,

8.

$10 per year includes Data Bus

RCA 1802, Heathkit, medical appli

9.

The 6800, 8080, 6502 special

cations, SIG-BIG large machines and

interest groups meet individually

microinterfaces. A number of our

at least once a month

members are also employed and

10.

For the past two years we have held

interested in automotive applications.

a 1 day show of computers for the

10.

Charter member of the Midwest

public. This year we demonstrated

Affiliation of Computer Clubs

at the Dayton Amateur Radio Con

(MACC);host 1978 Computerfest;

vention and at the National Airborne

active in giving talks to educational

Electronics Conference.

institutions; access to club computer message service; free time to club

1.

Apple 1 Library

members on HP 2000 BASIC system.

2.

51625 Chestnut Rd

Granger IN 46530

1.

Mid Michigan Computer Club

3.

Mail

2.

15151 Ripple Dr

6.

Joe Torzewski

Linden Ml 48451

7.

(219) 272-4670

3.

Various places (members' homes)

8.

Stamp appreciated for reply

4.

Irregular

9.

Promote Apple I computer

5.

None

6.

Tony Preston

1.

Floyd County Computer Enthusiasts

7.

(313) 735-5279

2.

RR#2, POB 466A

8.

None

New Albany IN 47150

9.

Helping beginners select equipment;

3.

Varies

program library.

4.

Set meetings are uncommon

5.

None

6.

Nathan Engle

Zips

8.

None

9.

Software, robots, artiflcal

1.

Eastern Iowa Computer Club

intelligence

2.

POB 164

10.

Most of our members are high school

Hiawatha IA 52233

level and we are making an effort to

3.

REC Bldg, basement

get a computer center in the local

999 35th St

school system. Any help we can get

Marion IA

would be much appreciated.

4. 5.

Last Sunday of month Yes

1.

Purdue University Computer

Hobbyist Club (PUNCH)

1.

Quad City Computer Club

2.

Room 67, Electrical Engineering Bldg

2.

2155 W 30St

Purdue University

Davenport IA 52804

West Lafayette IN 47907

3.

Rock Island Arsenal

3.

Matthews Hall, Purdue University

Rock Island IL 61201

4.

Monday nights, 7 PM

5.

Monthly newsletter

5.

PUNCH newsletter, published

6.

Cecil Fretwell

irregularly

7.

(319) 386-3723

6.

Don Gille, president

8.

$6 per year

7.

(317) 463-2340

8.

$2 annual dues

1.

Durant Computer Club

9.

General hardware and software

2.

901 S 1 2th St

'Quit your kidding

132 BYTE September 1978

Circle 357 on inquiry card.

6.

9. 10.

Watertown Wl 53094 Meets at above address Fourth Monday at 7 PM Bill Shier, president System building 15 members.

1. Small Computer Engineering Association of Minnesota

2. POB4244

St Paul MN 55104

3. University of Minnesota, Mechanical Engineering Bldg, Room 4

4. Last Thursday of month at 7:30 PM

5. Twin City Technical Hobbyist

6. Mike Young

7. (612) 884-2841

9. Hardware of different systems.

8080, 6800, 6502, MP-12, 1802 user groups. 10. 685 members.

1. Resource Access Center

2. 3010 4th AvS Minneapolis MN 55408

4. We sponsor SCEAM (Small Computer Engineering Association of Minnesota)

5. We publish Twin Cities Technical Hobbyist as a service to several local computer clubs, whose newsletters are contained therein.

6. R Koplow

7. (612) 781-7608

8. None

9. We are a special educational and research program in EDP and general technical aid to inner city, nonprofit community services. We sponsor microhobbyist clubs and newsletters.

1. Minnesota Computer Society

2. POB 35317 Minneapolis MN 55435

3. Brown Institute, 3123 E Lake St Minneapolis MN

5. Tid BITS

6. Jean Rice

7. 941-1051

8. $7 per year includes subscription to the newsletter

9. 8080, 6800, Z-80, 6502, 2650, 1802, 8085, TRS-80

10. Board meeting, film, show and tell, main speaker, business meeting, and random access session.

1.

XXX-11

2.

514 S 9th St

Moorhead MN 56560

3.

By mail

4.

Monthly

6.

C R Corner

7.

(218)233-6682

9.

Computer control; machine

independent software

1.

RCA 301 Users Group

2.

RR2, POB 585

Rapid City SD 57701

5.

Yes

6.

Jay Roman

7.

(605) 341-5030

9.

Communication via newsletter

information about RCA 301/

UNIVAC Series 70 users, equip

ment, and software.

1. Fargo-Moorhead Computer Club (FMCC)

2. POB 2017 Fargo ND 58102

3. First Thursday: NDSU Fargo Third Thursday: MSU Moorhead

4. First and third Thursdays at 7:30 PM

6. Dan Kary

7. (218) 233-6682

8. $5 per year

9. Circuit design, promoting small computer interest; general programming.

10. About 80 members on list.

1. Missoula Amateur Computer Club

2. 2203 E Crescent Missoula MT 59801

4. First Monday of month

6. David Eggebraatcn

7. (406) 728-5657

8. No dues

9. All aspects of microcomputers for persons in western Montana.

Zips 60000 - 70000

1. CACHE (Chicago Area Computer Hobbyist's Exchange)

2. POB 52

South Holland IL 60473

3. Northern Illinois Gas Bldg, Golf and Shermer Roads, Glenview IL

4. 1 PM, third Sunday of month, July excluded.

5. MicroSCOPE and meeting announcements

7. Hotline (recorded announcement), (312) 849-1132

8. $10 per year

9. More general than special — CP/M local users group; SOL/Cuts and 8080-Tarbell cassette software libraries; computer aided instruction group getting started; North Star users; Digital Group Users, etc.

10. Regular presentations by manufacturers, stores and fellow hobbyists.

1. ICE 9ine Inc

2. POB 291

Western Springs IL 60558

3. Various dinner meeting locations

5. Ice 9ine Journal

6. R A Hoekstra

7. (312) 530-0067

8. Newsletter subscription is $10 per year

The listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

LEARN TO PROGRAM

MWROCanPTTERS

And at an affordable price. The Modu-Learn™ home study course from Logical Services. Now you can learn microcomputer programming in ten comprehensible lessons. At home. In your own time. At your own pace.

You learn to solve complex problems by breaking them down into easily programmed modules. Prepared by professional design engineers, the Modu-Learn™ course presents systematic software design techniques, structured program design, and practical examples from real 8080A micro-computer applications. All in a modular sequence of 10 lessons . . . more than 500 pages, bound into one practical notebook for easy reference. You get diverse examples, problems, and solutions. With thorough background material on micro-computer architecture, hardware/software tradeoffs, and useful reference tables. All for only $49.95.

For $49.95 you learn design techniques that make software work for you. Modu-Learn™ starts with the basics. Our problem-solution approach enables you to "graduate" as a programmer.

Circle the reader service number below to receive our free descriptive brochure and course outline.

Use your Master Charge or VISA card to order today. Call Pat at (408) 245-8855.

til

LOGiCAL

Circle 21 5 on inquiry card.

P.O. Box 60968 Sunnyvale, CA 94088 408-245-8855

SERVICES INCORPORATED

September 1978©BYTE Publications Inc 133

Globs and Newsletters

DIRECTORY, continued

Introducing G/2 Extended Basic for Processor Technology's SOL computer series. The best Basic you can buy.

Developed by Microsoft™ the industry leader in microprocessor languages, and fully debugged and field-proved, this 15.5K program offers such outstanding features as string arrays, 16-digit accuracy, fully descriptive error messages, automatic line numbering and renumbering in selected increments, long variable names, trace function for easy debugging, and many other superior capabilities.

G/2 Extended Basic can read tapes written in FTs 5K and Extended Basic. This allows you to use all your previously developed programs.

Available now on cassette tape with full documentation. At your dealer, or write for information.

THE REASON

YOU BOUGHT YOURCOMPUTER.

c„™™~ GRT Corporation

Consumer Computer Group

1286 N. Lawrence Station Road

Sunnyvale, California 94086

(408) 734-2910

134 byte Scpiember 1978 Circle 149 on inquiry card.

9.

Timesharing system for members. Very informative newsletter with over 500 subscriptions.

computers are used for command and control application.

1.

2.

SCAMPUS 2215-A Walker Dr

1.

SPC-12 Users Group

2. 3.

7706 W Gregory

Chicago I L 60656

2704 W North Av, Chicago IL 60647

5. 6.

Omaha NE 68123

SC/MP Users Group Newsletter

Tom Bohon, coordinator

5. 6. 7. 8.

Soon to be announced Manuel C Martinez (312) 631-6623 None at present

Zips 70000 - 80000

1. CENtral Oklahoma Amateur Computing Association (CENOACA)

2. POB 2213

1.

2.

St Louis Area Computer Club Inc POB 28924

3.

St Louis MO 63132

ThornhIII Branch, St Louis County

3.

Norman OK 73070

Oklahoma State Univ Tech, 900 N

4. 5. 6. 7. 8. 9.

Library, FeeFec Rd and Willowyck

First Thursday of every month, 7 PM

SLACC STACK

Frank Curtis, president

(314) 993-0589

$5 per year

Every third meeting is "show and tell

nite." Special groups include: 8080

4. 5. 6. 7.

8. 9.

Portland, Oklahoma City OK Second Saturday, 10 AM CENOACA Newsbils (monthly) Lee Lilly or Don Holyoke (415) 737-6121, 329-3209, respectively $5 per year 6800 Users Group meets third

homebrew group; modem design group; Dura terminal group

Saturday at 333 NW 5th, #2308, Oklahoma City OK. Dr James Petty

10.

The club is a Missouri not-for-profit

is the contact person. Demonstra

corporation for educational and scientific purposes related to micro

tions and special programs planned for each CENOACA meeting.

computers and personal computing.

10.

Newsbits accepts free nonbusiness

We have a technical and software

classified advertising (space avail

library for members' use.

able) and very low cost business advertising. CENOACA was

1.

2.

3.

Computer Network of Kansas City 1251 Kansas Av Kansas City KS 66105 Midwest Research Institute, 425

organized in January 1976 and incorporated as a nonprofit organization under the laws of the state of Oklahoma in June 1976 to

4.

Volker Blvd, Kansas City MO Second Sunday of each month,

"provide a forum for the exchange and dissemination of information

5. 6. 7.

8. 9.

6:45 PM

Thru-Put, Earl Day, editor

Harold J Schwartz, president

(913) 371-2616 (work), 648-5410

(home)

$12 per year

Completing modem designed by

among members concerning the computer arts and sciences."

1.

2.

3.

The Tulsa Computer Society

POB 1133

Tulsa OK 74101

Tulsa Vocational Technical School

members; hardware schooling and

Seminar Room 3420

10.

design and trading; software schooling; network priorities and software. We are in the very interesting position since our start (two years ago) to shortly begin a local network. We hope to be tying into a nationwide network late next year.

4. 5. 6. 7. 8.

E Memorial Dr

Last Tuesday of month at 7:30 PM

The I/O Port

Jerry Henshaw

(918) 836-7364

$6 per year

1.

2.

The Computer Hobbyist Group of

North Texas

POB 1344

Grand Prairie TX 75051

1.

2.

Mid-America Computer Hobbyists

POB 13303 Omaha NE 68113

3.

Commercial Federal Savings and Loan, Belleuve NE

3.

UTA, University Hall, Room 108 and UTA, Green Center, Room 21530

4.

Second Thursday of each month

4.

1 PM, third Saturday; 1 PM, first

5. 6.

7.

8.

9.

10.

MA CH

Thomas F Smith, president (402) 294-4479 (work), 292-6031 (home) $5 per year

1802 SIG and Poly 88 SIG Most club members are military stationed at Offutt AFB, NE, SAC Headquarters where a great many

5. 6. 8. 9.

Saturday, respectively

Printed Circuit

Bill Fuller

$7 per year

TRS-80, 6502, PET, 9900, Digital

Group.

1.

Houston Amateur Microcomputer Club

2. POB 37102 Houston TX 77036

3. Various

4. Second Friday and fourth Tuesday

5. NYBBLE

6. Troxel Ballou

7. (713) 661-6806

8. $12 per year

1. JSC Computer Hobbyist Club

2. c/o EP4/L W Jenkins, president NASA LBJ Space Center Houston TX 77058

3. Gilruth Research Center, LBJ Space Center

4. First Thursday, third Monday 5 to 7 PM

5. Meeting announcement flyer

6. EP4/L W Jenkins, president 8. $7 per year first class mail

$4 per year JSC interoffice mail 10. Our BYTE subscription is mailed to JM6/Technical Library where it is available to club members and others in the periodical area.

1. Texas A&M Microcomputer Club

2. POB M9, Aggieland Station College Station TX 77844

3. Room 203, Zachry Engineering Center, Texas A&M University

4. Alternate Wednesdays, tutorials on other Wednesdays

5. In process of publishing first issue

6. Larry Wayne Brown, president

7. (713) 693-5748

8. $5 per semester or $10 per year

9. APL committee (8080); BASIC committee (6800); hardware and software tutorials; Micro Expo '79.

10. Micro Expo '79 to be held March 2, 3, and 4 1979 in the Memorial Student Center of Texas A&M University.

1. Alamo Computer Enthusiasts

2. 7517 Jonquill

San Antonio TX 78233

3. Room 104, Chapman Graduate Center, Trinity University

4. Fourth Friday of every month

5. Alamo Computer Enthusiast

6. John R Stanton

7. (512) 657-3069

8. $2 per year subscription

9. All areas.

1. Northslde Computer Group

2. 5819 Brenda

San Antonio TX 78240 6. John McClenny Jr

8. No dues

9. 6800,6809,6502 microprocessors, bipolar bit slices. Projects include 256 by 256 motion graphics; super cheap voice synthesis, making all our software ROMable; flight simulator program.

1. Permian Basin Computer Group

2. Data Processing Dept

c/o Ector County Schools POB 3912 Odessa TX 79760

3. Midland chapter: Student Center,

Midland College

Odessa chapter: Elect Tech Bldg,

Rm 203, Odessa College

4. Midland chapter: Second Monday each month at 7:30 PM

Odessa chapter: Second Saturday each month at 1 PM

5. None

6. John Rabenaldt

7. Midland: (91 5) 697-4607 after 6 PM Odessa: (915) 332-9151 ext 43 weekdays

8. None

9. Comsumer (home) computers; home-built computers; color graphics; floppy disk systems; Selectric typewriter interfaces.

Zips 80000 - 90000

1. Southern Nevada Personal Computing Society (SNPCS)

2. 1405 Lucilee St

Las Vegas NV 89101

3. Clark County Community College Cheyenne Campus, Room 1062

4. 1 2 noon, second Saturday each month

5. HARD COPY (monthly)

6. Edna H Wells, secretary

7. (702) 642-0212

8. Individual, $ 12 per year; family $18 per year; student $3 per year

9. Our primary purpose is to assist each other in making informed decisions when buying computers, accessories and software.

10. We have (May 78) 54 members with widely varied technical backgrounds.

1. Northern Nevada Computer Club

2. c/o UNSCC POB 9068 Reno NV 89507

3. University of Nevada Computing Center

4. 8 PM, second Wednesday, September thru May

5. None

6. Al Brady

7. (702) 784-4008

8. None

9. Information exchange for small computers.

The listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

Introducing G/2 Standard Basic for the SWTPC computer series. It'll load faster and do more than you ever thought possible.

Developed by Microsoft™ the industry leader in microprocessor languages, and proved for more than 3 years in MITS applications, G/2 Standard Basic is now available for the first time for use with Southwest Technical Products Corporation's 6800 hardware.

Four to eight times faster than the basic you're now using, this interpreter offers string arrays, extensive string functions, Peek, Poke, Wait and Continue, direct execution of statements in the calculator mode, 10 nested machine language subroutines, multidimensional arrays and much more. And it uses only 7K of memory.

Available now on cassette tape with full documentation At your dealer, or write for information.

THE REASON

YOU BOUGHT YOUR COMPUTER.

H^LL GRT Corporation

Consumer Computer Group

1286 N. Lawrence Station Road

Sunnyvale, California 94086

(408) 734-2910

Circle 149 on inqui y card, by 1L September 197s 135

Circle 142 on inquiry card.

Leave your stamp

Functional Automation is a young, extremely wellfinanced mainframe computer company and we're offering you the challenge of a life-time. We want to give you the opportunity to leave your personal stamp on a significant project.

Our computer system employs the first new architecture of the 70's. It is a 64 bit mainframe, microprogrammed CPU with 128 bit wide WCS, oriented to high level languages. The software is primarily implemented in PL/1.

Openings currently exist in the following areas:

• Language Implementation

• Operating System

• System Verification

• Device Controllers

• Firmware

All functions include responsibility for design and implementation.

Send your resume to Mr. Jan Grondstra, Functional Automation, Inc., 118 Northeastern Blvd., Nashua, NH 03060.

FUNCTIONAL

AUTOMATION

Functional Aulomalion is an equal opporlumiy employer M F

FORTRAN IV

THE MOST EXTENSIVE FORTRAN SYSTEM AVAILABLE, RUNNING ON THE Z-80

* ANSI Standard Fortran IV Compiler

— Byte, Word, Real, Double, Complex, and String data types and operations.

— Produces efficient and compact code.

— Compiles up to 600 statements per minute.

— Expressions in Do loops, output lists, etc.

* Linking Loader

— Merges, links, and locates Fortran and Assembler modules.

— Searches libraries for needed modules.

* Runtime Libraries

— ANSI standard formatter.

— All standard mathematical functions.

— Sequential, Random and Blocked disk I/O.

— Supports CP/M^ and user-defined devices.

AVAILABLE NOW!! $349

OEM Inquiries invited.

/moll /nj/tem/

SERVICES; INC. P.O. Box2400Stn7A Champaign, Illinois 61820

CP/M is a Trademark of Digital Research Group.

Blubs and Newsletters

Zips 90000 - 99999

1.

Glendale College Computer Club

2.

1500 N Verdugo Rd

Glendale CA 91208

3.

Glendale College

6.

R Unterman

7.

(212) 240-1000 ext 200

8.

$2 per year

1.

Compucolor-lntecolor Users Group

2.

5250 Van Nuys Blvd

Van NuysCA 91401

3.

Same as above

5.

Bimonthly

6.

Stan Pro

7.

(213) 788-8850

8.

$15 first year

9.

Business programs; game programs;

interfacing to other systems; special

uses and interfaces to machines.

10.

Program interchange.

1.

San Diego Computer Society

2.

POB 9988

San Diego CA 92109 5. Yes

8. $4 membership donation; $6 newsletter subscription

9. The San Diego Computer Society

is a nonprofit, tax exempt corporation whose purpose is to provide its members and the general public with a useful source of computer related information. 10. Write to above address for membership application.

1. Homebrew Computer Club

2. POB 626

Mountain View CA 94042

3. Stanford Linear Accelerator Center and Sherman Fairchild Medical Center

4. Printed in newsletter

5. Homebrew Computer Club Newsletter

6. Robert Reiling

7. (415) 967-6754 after 7 PM

8. Donation of $10 to $12 per year requested to pay meeting and newsletter costs.

10. A sample Homebrew Computer Club Newsletter, listing meeting dates and location, may be obtained by sending an SASE to the Homebrew Computer Club Newsletter at the above address.

5.

6.

8.

10.

The Apple Core

POB 4816

Main Post Office

San Francisco CA 94101

Yes

Scot Kamins

To be determined

To qualify as a member, you must

own or regularly use an Apple in

any memory configuration.

136

September 1978 © BYTE Publications Inc

Circle 319 on inquiry card.

Circle 78 on inquiry card.

DIRECTORY, continued

1. Bay Area Microprocessor Users Group (BAMUG)

2. 1211 Santa Clara Av Alameda CA 94501

3. 1450 53rd St, Emeryville CA

4. First Thursday of each month

5. Buy Area Microprocessor Users Group Newsletter

6. Timothy O'Hare

7. (415)523-7396

8. Donations; no dues or fees required.

9. The club is open to all interested persons. It has an education forum every month with guest speakers to enlarge computer knowledge.

10. The club also has a software library, group buys on equipment and a swap meet at every meeting.

1. Diablo Professional Users Group

2. c/o R J Hendrickson 321 Golf Club Rd Pleasant Hill CA 94523

3. Library conference room, Diablo Valley College

4. Fourth Wednesday of each month

5. Meeting minutes constitute the newsletter

6. R J Hendrickson

7. (415)687-8373

8. None

9. Professional applications of personal computer systems. Meetings are comprised of speakers, demonstrations and random access sessions.

10.

6800 Computer Club POB 18081 San Jose CA 95158 University of Santa Clara First Tuesday of each month None Ray Boaz (408) 269-9522 None

Everything on hardware and software for all 6800 systems. For 6800 users we provide the place to exchange software, discuss problems, find solutions to problems, evaluate vendors, use limited

The

listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

PSSST!

Tip us off to the name of your favorite computerstore* and we'll send you a

\ferbatim

Diskette for only

$3.00

Mail diskette to:

including postage. 1

I

| Disk wanted: Mini: 01 10 16Maxi: Hard Soft

System

■ Please note name and address of store on separate sheet. I MasterCharge and Visa OK. Give acct. # and exp. date. I —

■JT We'll tip him to our Verbatim dealer program. Dealers: call 800-523-9350 for details.

Computer Resources Company

1437 Gordon St.

Allentown, Pa. 18102

Having Reservations About Your Software? HUNT NO MOM!

Smoke Signal Broadcasting presents the

SG-1 SOURCE GENERATOR

Program for disassembly of object code into source code for direct editing and re-assembly.

• Output directed to tape or disk with either SWTPCo's co-resident assembler format, or Smoke Signal Broadcasting's Text Editing System format.

• Reports number of bytes in source code file, number of external labels, number of local labels, and number of variables for computing memory space necessary to assembly source code generated.

Only $24.95 (on cassette), $30.95 (on diskette) We're the "CHIEF" in 6800 products software

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

September 1978 <8 BYTE Publications Inc 137

Glubs and Newsletters

group buying power and exchange information on home computer news and events. We have a software library with programs on tape (KCS) at cost of reproduction and tape. All inquiries are answered when time permits.

1. Sacramento Microcomputer Users Group (SMUG)

2. POB 161513 Sacramento CA 95816

3. SMUD Training Facilities, 59th St

4. Fourth Tuesday of each month, 7:30 PM

5. Push & POP

8. $6 per year

9. PET and SOL workshops

10. Please write SMUG at the address above with all meeting, membership and other questions.

1. Aloha Computer Club Inc

2. POB 4470 Honolulu HI 96813

3. Leeward Community College

4. First Wednesday of each month, groups at 6:30 PM, and meeting at 8 PM

DIRECTORY, continued

5. De Bagga

6. Bob Holz

7. (808)455-0271 or 455-4854

8. eryear

9. t /M, Heath, 6800, and PCNET.

1. Portland Computer Society

!. 4032 SE Grant C Portland OR 97214 Varies

Social: First Thursday of each month; Business: Third Wednesday and Saturday of ench month.

5. PCS1976

6. Percy G Wood

7. (503)235-9641

8. $10 per year

9. Language Theoiy SIG.

1. Northwest Computer Society

2. POB 4193 Seattle WA 98104

3. Pacific Science Center

4. First and third Thursday of each month

5. Northwest Computer News

7. (206) 284-6109 (message)

8. $7 per year

9. Timeshare at 50 cents per hour,

TURN YOUR COMPUTER INTO A TEACHING MACHINE

The staff at Program Design did not learn about educational technology from a book— we wrote the book! We have been innovators in such teaching materials as programmed instruction and multimedia presentations. We also belong to that minority in education who actually test materials to see that people can learn from them.

Now Program Design brings this experience to the personal computer field. PDI is developing a line of educational and game programs for the whole family—from preschool child to adults.

Program Design educational software uses the computer's full teaching potential in exciting and effective ways. Programs are simple to use and memory efficient, and most important . . . they teach!

TAPES NOW AVAILABLE FOR THE TRS-80, PET, APPLE II

SAMPLE OUR SOFTWARE FOR $2.00. Send us$2.00, your name, address, and type of computer, and we'll send you a tape for your computer with actual samples of our programs.

Or circle our number on the reply card for a printed catalog.

Department 200 PROGRAM DESIGN, INC. 11 IDAR COURT GREENWICH, CONN 06830

annual computer fair in April and software contests 10. First meeting of each month we have guest speaker of demonstration; second meeting of each month is an open forum. News circulation is 1000.

1. Apple Core Computer Club

2. 220 N 2nd St #17 Yakima WA 98901

3. ) M Perry Institute 2011 W Washington Av

5. None: monthly notification of meeting to members.

6. Jerry P Starzinski, president or Russell Miller, secretary

7. (509) 452-2540 (after 6 PM), 453-7169 (8 AM to 5 PM), respectively

8. $5 per year

is. Many members have SwTPC 6800 systems. Lively trade of information and programs. Presently have eight working systems, three being build. Some members going into 8080s and others. 10. Club celebrated first anniversary May 25 1978 and has grown from eight founding members to a present membership of thirty. Lots of new and exciting projects in the planning stages.

1. Anchorage Computer Group

2. 364 H 6th St

Ft Richardson AK 99505

3. Time and place to be determined

4. Monthly date to be determined.

6. Constantine T Papas

7. (907)862-1238

9. Assistance to the novice home computerist.

FOREIGN and INTERNATIONAL CLUBS andNEWLETTERS

1. Microcomputers in Psychiatry

2. 26 Trumbull St New Haven CT 06511

3. none

5. Microcomputers in Psychiatry

6. Marc D Schwarz MD

7. (203)562-9872

8. $6 per year

9. A bimonthly newsletter for mental health professionals interested in sharing experiences and ideas about the use of computers in the field. Includes information on subscribers' uses of computers

for psychiatric testing, history testing, therapy, research and simulations. Also includes reviews and notices of commercially available hardware and software for use in a mental health setting.

5.

9.

Transaction

POB 461

Philipsburg PA 16866

Transaction

$3 per year

Users group and newsletter for

PET owners.

1 38 September 1978 O BYTE Publications Inc

Circle 277 on inquiry card.

Circle 40 on inquiry card.

1. KIM-1/6502 User Group

2. 109 Centre Av Norristown PA 19401

5. KIM-1/6502 User Notes

6. Eric C Rehnke

7. (215) 631-9335

8. $5 for six issues

9. A communication medium for KIM users

10. Around 2000 members worldwide.

1. Buss

2. 325 Pennsylvania Av SE Washington DC 20003

3. none

5. Buss: The Independent Newsletter of Heath Company Computers

6. Charles Floto, editor

8. $7 for 12 issues

9. Software and hardware compatible with H8, H11, or ET-3400.

10. Sample issue available upon request mentioning BYTE.

1. TRS-80 Users Group

2. 7554 Southgate Rd Fayetteville NC 28304

3. Our group is international so we do not have meetings.

5. TRS-80 Users Group Newsletter

6. R Gordon Lloyd

7. (919) 867-5822

8. $10 per year (ten newsletters, 20 pages per issue)

9. Radio Shack TRS-80 computer, programs for the TRS-80, and interfacing the TRS-80 to the outside world.

1. SR-52 Users Club

2. 9459 Taylorsville Rd Dayton OH 45424

3. None

5. 52-Notes

6. Richard C Vanderburgh

8. $1 per issue of 52-Notes; back issues

start June 1976. 10. 52-Notes: style and technical level are aimed at individuals with above average intelligence and attention span, but whose formal education may have ended with high school. Scope is all of the Texas Instruments personal programmable calculators. Coverage of the TI-58/59 machines began June 1977. The SR-52 Users Club is a national/international group.

1. Personal Computing Society

2. c/o )amcs White

Th

i listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

systems, inc.

Boards ID© Something

T-*T

(Hif iff m I f'l'ii

CL2400 Real Time Clock

If your system needs to know what time it is, our CL2400 is the board for you. The present time in hours, minutes, and seconds is always available for input, and is continuously updated by the highly accurate 60 Hz power

line frequency. Need periodic in- $98/ Kit $135/ Assembled terrups? The CL2400 can do

that, too, at any of 6 rates. Reference manual with BASIC and assembly language software examples included.

If your system needs on/off control of lights, motors, appliances, etc., our PC3200 System components are for you. Control boards allow one 1/0 port to control 32 (PC3232) or 16 (PC3216) external Power Control Units, such as the PC3202 which controls 120 VAC loads to 400 Watts.Optically isolated,low voltage, current-limited control lines are standard in this growing product line.

P.O. Box 516

La Canada, CA 91011

(213) 790-7957

PC3200

Power Control System PC3232 $299/Kit $360/Assm.

PC3216$189/Kit $240/Assm.

PC3203 $39.50/Kit $ 52/Assm.

(formerly comptek)

Having Reservations About Your Software? HUNT NO MORE!

Smoke Signal Broadcasting presents the

SMART BUG

A Cure For Mikbugitus

1024 byte monitor program for use with MOTOROLA 6800 microprocessor

• The only monitor really MIKBUG compatible.

• Designed to replace the MIKBUG ROM used in many systems including the SWTPCo's 6800 microcomputer.

• TRACE feature allows user to single step through a program, examining the registers if desired.

• MIKBUG entry locations maintained, including most relatively obscure ones.

• Quick program debugging when the TRACE is used with BREAKPOINT.

Instruction Manual and Complete Source Listing....$19.50

SMARTBUG on 2708 including listing $39.95

iSMARTBUG on 2716 including listing S49.95

We're the "CHIEF" in 6800 products software

MFiww O'V.f'W tit ir Ttiianrv * m\e*> * ©«ir*YW«

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

September 1978 O BYTE Publications Inc

139

Circle 120 on inquiry card.

t' Mmm

16K RAM

FULLY STATIC

kit $350

10 SLOT MAINFRAME

TT-10. . KIT S325

10 SLOT TABLE TOP

MICROCOMPUTERS

TT-8080 .KIT $440

SYSTEM WITH 1 6K & I/O

TT-8080-S . KIT S1 050

CARD CAGE &

MOTHER BOARD

ECT-100. KIT $100

CCMB-10 . KIT 375

WITH CONNECTORS

& GUIDES

ECT-100-F. . KIT $200

CCMB-10-F. . KIT $125

CPU'S, MEMORY

MOTHER BOARDS

PROTOTYPING BOARDS

EXTENDER CARDS

POWER SUPPLIES

SHIPPING EXTRA

DEALER INQUIRIES INVITED

ELECTRONIC CONTROL TEChNQLDGV

FACTORY ADDRESS: 763 RAMSEY AVENUE HILLSIDE, N. J. 07205

MAILING ADDRESS:

P. O. BOX 6

UNION, N. J 07083

1

I I I I I I I I I

(201) 686-8080

(he fflullen OB-I ontroller Board:

now only J88

People hove used our originol model CB-0 Controller Doord for controlling audio systems, model railroads, time lapse photography, and dozens of other applications requiring intelligent, computer-controlled switching.

Our improved model CD-1 has oil the features of its predecessor^ 8 relays that respond to an 8 bit word for control purposes, 8 opto-isolators that accept input dato for handshaking or further control purposes, full S-100 buss compatibility, address selection switch, quality components and board, and so on.

Cut . . . the limited use (and expensive!) flat cable connector has been replaced with new connectors,- these allow you to use pairs of wires of mixed gauges and lengths as needed. Also, a self-test feature is built on the board itself, and a new output design allows replacement of the relays with opto-isolators.

The best part is that you don't pay a penny more for these new features. In fact, compared to the CB-0 price, you pay 2,900 pennies less.

Available at computer stores nation-wide, or by direct mail (mail orders shipped postpaid in USA, Californians and sales tax).

tm MULLEN COMPUTER BOARDS

I BOX 6214, HAYWARD, CA 94545

Blubs and Newsletters

1 202 Riverview Ln Watertown Wl 53094

5. Soon to be announced

6. Richard A Kuzmack

7. (703) 821-2873 (evenings)

9. The Society's communications objectives will include publication of a newsletter for computer clubs and a club directory. Surveys will be conducted and published to share information on matters of interest to computer enthusiasts. PCS will foster the development of standards such as those necessary to the operation of a personal computer communications network. 10. This national organization was recently formed to facilitate noncommercial applications of computer technology. It will foster communication and coordination among the numerous computer clubs and individuals in the personal computing community. The board of directors of PCS are: Charles Floto, Washington DC; Richard Kuzmack, McLean VA; Sol Libes, Scotch Plains NJ; Larry Press, Santa Monica CA; Jim Rarus, E Detroit Ml; Robert Reiling, Mountain View CA;Gifford Toole, Mississauga, Ontario CANADA; M D Turner, Austin TX; and James White, Watertown Wl.

1. Theater Computer Users Group

2. 104 N St Mary Dallas TX 75214

3. Assorted conventions of other groups (USITT, ATA)

4. Random

5. TCUG Newsletter

6. Mike Firth

7. (214) 827-7734

8. $4 per year

9. Uses of computers of any size, but particularly small ones, in any aspect of producing live drama, including lighting control, ticket management, bookkeeping, inventory, costing, research.

10. A national organization created to share data in a specific area.

1. Association of Small Computer Users

2. 75 Manhattan Dr Boulder CO 80303

5. Interactive Computing, Minicomputer News and Datapro Feature Reports

8. $25 per year

9. The Association of Small Computer Users is a nationwide professional organization devoted to providing an unbiased source of user oriented information on mini and microcomputers for business and scientific applications. It is organized as a nonprofit association to represent and serve small computer users and to provide a forum for the ex

140

September 1978 ©BYTE Publications Inc

Circle 268 on inquiry card.

DIRECTORY, continued

change of information among small computer users.

1. Robot Builder

2. 208 ViaColorin

Palos Verdes Estates CA 90274

3. none

5. Robot Builder

6. Michael Westvig

7. (213) 378-0580

8. $6 per year (bimonthly), $12 overseas, beginning with volume 2, number 1, January 1979.

1. Computer Information Organization Inc

2. POB 158

San Luis Rey CA 92068

3. Publishing only

5. Radio Shack Computing, Low-Cost Word Processing and 5-700 Bus Computer User Notes

6. Bill McLaughlin, editor

7. (714) 757-4849

8. Radio Shack $10 for 12 issues, 5-700 $5 for six issues and Word Processing $12.95 for 12 issues

9. Real uses of computers: either business, home, education, small or large organization

10. Word Processing newsletter is developing interfaces to ordinary electric typewriters, to Selectric, Olivetti and other single element typewriters, to Friden and other special machines.

1. PPC

2. 2541 W Camden PI Santa Ana CA 92704

5. PPC journal

6. Richard J Nelson, publisher

8. $15 per year

9. To share programs, techniques, news, etc, for HP PPCs.

10. Six chapters at present: Cincinnati/ Dayton, Chicago, Washington DC, Albuquerque, Orange County and NE Iowa Chapters. Nearly 2000 members in 35 countries. Started June 1974. For more information send 9 by 12 inch SASE (2 oz postage attached) to above address.

The

listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

WE SHIP FROM STOCK

TELETYPE MODEL 43 - Only $985

300 baud, full ASCII character set, 132 column width, 30 cps, quiet, light-weight, dependable. With RS 232 $1085

TECHNICO 9900 16 BIT COMPUTER KIT $299

RCA VIP KIT $230

EX-150 ELECTRONICS EXPERIMENT KIT $65

HAZELTINE 1500 $1045

HAZELTINE 1500 KIT $895

HAZELTINE 1510 $1165

To order: Check, money order, major credit cards. $6 shipping. NYC residents add 8% tax.

We have no reader inquiry number. Please write or phone.

OWENS ASSOCIATES, DEPT. B-S

147 NORWOOD AVENUE STATEN ISLAND, NEW YORK 10304

Day, Evening, Weekend Calls Welcome!

(212)448-6283 (212)448-6298

Having Reservations About Your Software? HUNT NO MORE!

Smoke Signal Broadcasting presents the

SA-1 SUPER ASSEMBLER

Uses Motorola Standard Mnemonics for 6800 Microprocessor

• Input source code from file on Smoke Signal Broadcasting's BFD-68 disk system.

• Disk capability allows assembly of source code larger than available memory.

• Outputs object code to disk file.

•Assembly listings include alphabetized and tabulated symbol table.

• Complete source listing included.

Only $29.00 (on diskette) We're the "CHIEF" in 6800 products software

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

September 1978© BYTE Publications Inc 141

Blubs and Newsletters

DIRECTORY, continued

1.

Calculator Lib: The Liberated Calculator Users Club

2. POB 2151 Oxnard CA 93034

3. Ventura County (we do not have a permanent meeting address yet)

5. Quarterly club activity report and the irregularly published newsletter Calculator Lib

6. Gene Hegedus

7. (80S) 486-7191

8. Yearly membership dues of the nonprofit club is $6 which includes the quarterly reports. The irregularly published newsletter Calculator

Lib is $2.75 per issue postpaid.

9. This global club (with members on three continents) is the first to serve the interests of all calculator users, regardless of the make of their machines. It is dedicated to exploring the limits of the state of the art of calculator mathematical techniques.

10. The club presently is in a formative stage, having been organized on requests of Calculator Lib readers and therefore presently we need members who will volunteer as officers of the club, working on the editorial committee (for the quarterly report) as correspondents,

reporters, etc (all this with the understanding that no salaries will be paid). The operation and future action of the club depends upon the interest, ability and resources of the individual members. More information on The Liberated Calculator User's Club is available for a (#10) SASE from Gene Hegedus, Calculator Lib, POB 21 51, Oxnard CA 93034.

1.

Computer Faire

2.

POB 1579

3.

Palo AltoCA 94302

5.

3.

Varies

6.

4.

Varies

7.

5.

Silicon Gulch Gazette (a randomly published 4 to 20 page newspaper)

8.

6.

Jim Warren

7.

(415) 851-7075

9.

8.

None

9.

Intelligent machines for home,

business and industry

10.

1. SOLUS, The Sol User's Society

2. POB 23471

San JoseCA 95153

3. Local chapters in various cities across the country

5. SOLUS News

P.E.T.™ PRODUCTS

SOFTWARE/ACCESSORIES/HARDWARE

Memory Expansion/.'-31,743 Bytes FreelNEECO now has internal memory Expansion Boards Available for your PET! 16K. 24K and 32K Memory Configurations. Call or write NEECO and ask for our 'Free' Software and Hardware Directory. Power up to 32K Bytes! Call NEECO for more info.

Sottware-NEECO has too many programs to list them all here! Call or write and ask for our 'Free' Directory! •'Software AuthorslNEECO offers 25% Royalties on Pet programs with nationwide distribution!--Call NEECO for additional information on our 25% Royalty Program.

PET & Peripherals NEECO offers fast (off the shelf?) delivery schedules for the Pol Computer and Peripheral 2020 Printer. NEECO also offers excellent personal & Warranty service!!! Interested in a Pef? Call and request our P.E.T. Info Pak. Feel free to call and ask questions.

The Music Box- Music Composer and sound effects generator allows you to compose and hear music on your Pef! -Program & Hardware allows you to display notes, hear the notes, save pages of music on tape for later playback or modification! The Music Box actually displays the notes as a song or tune is playedl-Allows you to add sound effects to your own Pef Programs.-Endless Possibilities!-All Cassette Software, plug-in Hardware, and Music Box instructions for only $49.95! Music Box Fits right inside your Pet -No assembly required! Music Box even plays random tunes!

NEECO Dust Cover- Protect your Pef! Cover your Pel's delicate circuitry and keyboard from dust that can, over time, cause intermittent chip failures! Heavy, clear Plastic Dust Cover shows off your Pef while protecting it from dust, spills, and those inevitable 'Unwanted Sticky fingers'! Manufactured to last as long as your Peff-only $17.95

VISA OR MC Phone orders Accepted-(4% Surcharge on Hardware)

NEW BJGLAND &EGTR0NICS CO

248 Bridge Street Area Code (413) Springfield, Mass

739=9626

"Guaranteed Delivery" Schedules for all of our PET Customers. Call for our PET Package.

8. $10 (US dollars only) in USA, Canada and Mexico; $15 (US dollars only) elsewhere

9. To facilitate exchange of information and software among owners of Processor Technology Sol Computer Systems (or other computers with VDM and CUTS or HELIOS), to review hardware and software products tested for Sol compatibility and consumer advocate.

10. We maintain a cooperative but independent relationship with the manufacturer. Send $1 for sample issue of newsletter.

HEX Users Group

36012 Military Rd S

Auburn WA 98002

None: correspondence only

HEX Newsletter

Charles C Worstell

(206) 927-6038 (TacomaWA)

First time send SASE; $4 for next

seven issues of newsletter which is

irregular.

Low cost, effective system without

ASCII keyboard; Motorola 6800

EVK/II kit is most popular.

Have monitor system to use BASIC

on original 24 key keyboard of

Motorola 6800 EVK/II.

Societe d Informatique Amateur

du Quebec

C P 9242

Sainte-Foy, PQ

CANADA G1V4B1

Pav Vachon, Salle 3870, Univ

Laval

Second Monday of each month at

7:30 PM

La Routine

Gilles Paillard, secretary

(418)871-1960

Nonstudent $20, student $15 or

journal only $10

Activities for current year cease in

June with election of new officers,

and resume in September.

10.

1. Ottawa Computer Group

2. POB 13218 Kanata Ontario CANADA K2K1X4

3. National Research Council Auditorium, 100 Sussex Dr, Ottawa Ontario CANADA

4. First Monday of each month, 8 PM

5. OCG Newsletter

6. W Mitchell, secretary

7. (613)596-2287

8. $5 per year and $5 initiation fee.

1. Association of Computer Experimenters (ACE)

2. c/o Ken Bevis, 220 Cherry Post Dr Mississaliga, Ontario CANADA L5A1H9

3. Hamilton, Ontario CANADA

5. Ipso Facto

6. Bernie Murphy, editor, 102 McCraney St, Oakville Ontario, CANADA L6H 1 H6

7. Tentatively $10

8. Microcomputers, peripherals and software in general, with RCA-1802

142 September 1978 © BYTE Publications Inc

Circle 281 on inquiry card.

Circle 91 on inquiry card.

3.

microprocessor and software in

particular.

The ACE club started in September

1977 and has about 450 members

from across the US and Canada.

Toronto Region Association of Computer Enthusiasts (TRACE) POB 545, Streetsville, Ontario CANADA L5M 2C1 North Campus, Humber College, room J209 and Ontario Science Centre, lecture hall C Fourth Friday of each month, 8 PM and second Sunday of each month, 2 PM, respectively TRACE Newsletter Ross Cooling, president (416)488-3314

$ 15 per year or $7 per year newsletter only.

1. Kitchener-Waterloo Microcomputer Club

2. E2-3354 Electrical Engineering Dept, University of Waterloo Waterloo, Ontario CANADA N2L 3G1

3. Engineering 4, room 3388, University of Waterloo

4. First Wednesday of each month, 7:30 PM

5. None

6. Roger K Sanderson

7. (519) 579-6445 (home) or 8851211 ext 3815 (work)

8. None

9. We hold very informal meetings for the purpose of getting people with similar interests together. We also have a small dedicated group of regulars who are doing interesting hardware and software development.

1. West Coast Computer Society

2. POB 4476 Vancouver BC CANADA

3. British Columbia Institute of Technology, room D412

4. First Wednesday of each month at 8 PM (no meetings July and August)

5. Printout

6. Peter Luckham

7. (604)522-3484

8. $15 per year

9. Personal computing.

The listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

LSI-11 TIME

It's TIME you brought your LSI-11 up to DATE. TIME and DATE, two important parameters in the computer world, are available to your LSI-11 on one DUAL SIZE BOARD. When requested, the TCU-50D will present you with the date (month and day), time (hour and minutes), and seconds. Turn your computer off and forget about the time — your battery supported TCU-50D won't, not for 3 months anyway. The correct date and time will be there when you power up.

The TCU-50D is shipped preset to your local time, but can be set to any time you want by a simple software routine.

AT $295 YOU CANT AFFORD TO IGNORE TIME

Time is only one way we can help you upgrade your LSI-11 or PDP-11 system. We'd also like to tell you about the others. So contact Digital Pathways if you're into -ll's. We are too.

DIGITAL PrtTHWifA IMC.

4151 Middlefield Road • Palo Alto, California 94306 • Telephone (415) 493-5544

Having Reservations About Your Software? HUNT N0M0RE!

Smoke Signal Broadcasting presents the

S&-1 SOURCE GENERATOR

Program for disassembly of object code into source code for direct editing and re-assembly.

• Output directed to tape or disk with either SWTPCo's co-resident assembler format, or Smoke Signal Broadcasting's Text Editing System format.

• Reports number of bytes in source code file, number of external labels, number of local labels, and number of variables for computing memory space necessary to assembly source code generated.

Only S24.95 (on cassette), $30.95 (on diskette) r We're fhe "CHIEF" in 6800 producfs software

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

September 1978 @ BYTE Publications Inc

143

Circle 133 on inquiry card.

ENTREPRENEURS

Blobs and Newsletters

If you can program a mini and own one, you may have almost everything to start your own systems house. Find out how, from this detailed manual by an EDP professional who successfully did it.

HOW TO START YOUR OWN SYSTEMS HOUSE

by Leslie Nelson

Second Edition Aug. 1978

213 pages $36.00

HANDBOOK OF SMALL BUSINESS COMPUTER CONSULTANTS

Practical guide for programmers, accountants, engineers to become an independent SBC consultant. Systematic coverage of technical, marketing, financial and legal aspects.

198 pages $28.00

Forthcoming:

HOW TO START A SUCCESSFUL COMPUTER STORE $38.00

Sand check to:

ESSEX PUBLISHING CO.

285 Bloomfield Ave., Dpt. B9 Caldwell, N.J. 07006

Credit card orders: send card It, date exp.

Add $3.00 for rush, air-mail shipping. N.J. residents add 5% sales tax

COMING TO ATLANTA IN

BizCOMP 78

*

October 27-29 Marriott Motor Hotel, Atlanta,Georgia

+

•Crowds-Exposure-Sales*

Atlanta,The Computer City Of The South-BizComp'78,The Reason For Being There! Plan TO Exhibit:: Reserve Space Now!

BizComp '78 will highlight the relatively smatl budgel necessary for the independent business opera' tor to be able to purchase an in house computer system All facet?; ol ihs small business compute) industry will be on display from the latest innovations in t ompulefs to business software and word processing, supplies and services BizComp '78 will also emphasise to the small businessman the simplicity and dependability of microcomputer system:.

Plan To Attend:

Daily Seminars!

At the door registration will be S<1 00 per day Register now lor S2 00 per day Pre-registration olfer expires October 20th When ordering your tickets please make certain lo indicate dates yon will lie attending and number ol tickets per day All tickets are color coded All early registrants will receive a special copy of the Expo seminar schedule Tickets will be mailed immediately upon receipt of your check Please make checks out to Felsburg Associates. Inc

For Complete Details Write Or Call Today!

Felsburg Associates, Inc. 12203 Raritan Lane—P.O. Box 735 Bowie, Maryland 20715 (301) 262-0305

Seventeen Years Producing Quality Expositions

Microcomputer Encounter Group 207-885 Old Esquimalt Rd Victoria BC CANADA V9A4W9 Varghese Cherian, secretary Exchanging information and ideas.

1.

Amateur Computer Club

2.

7 Dordells

Basildon, Essex

ENGLAND

5.

Six times a year

6.

Mike Lord

7.

(0268)4 11125

8.

£2 PA or $4 (US currency)

1. Hobby Computer Club

2. Delftsekade 12

2266 A J Leidschendam

NETHERLANDS

Several towns in Belgium and the

Netherlands.

4. Usually once each month

5. Hobby Computer Club Nieuwsbrief (Dutch), bimonthly

6. Dick Barnhoorn

7. Netherlands 070-273537 Netherlands: 15 Guilder; Belgium: 225 Franc

No bias to any system or microprocessor

Membership passed 800 in May 1978. Hardware service (cheap parts and reductions) and software library started in January 1978. HCC Computer Day in October. We're taking part in several large scale exhibitions to promote the concept of personal computing.

1. Japan Microcomputer Club

2. Kikaishinko-kaikan, JEIDA 5-5-8, Shiba-koen, Minato-ku Tokyo JAPAN

3. Same as above

4. Twice a month

5. Micom (Japanese version), Micoin Circular (Japanese version), Micro Computer News (English version)

6. Koji Yada, editor

7. 03-438-1869

8. Y6.000 per year

9. All aspects of hobbyist computers for persons in Japan."

The

listings follow this

form:

1.

Name of organization

2.

Mailing address

3.

Meeting location

4.

Meeting algorithm

5.

Newsletter or publication

6.

Contact person

7.

Contact phone number

8.

Dues or subscription fees

9.

Special interests

10.

Other comments

144

September 1978 © BYTE Publications Inc

Circle 31 on inquiry card.

Circle 183 on inquiry card.

Gook Reviews

The 8080 Programmer's Pocket Guide

Scelbi Computer Consulting Co

Mi/ford CT 06460

$2.95

Tychon 8080 Hex Code Card

by Tychon Inc

POB 242, Blacksburg VA 24060

$2.95

At first it might seem odd to review the 8080 Programmer's Pocket Guide and the 8080 Hex Code Card at the same time, but they both serve as quick references for 8080 assembler programming and hand assembly of the resulting programs. Either one alone is a great improvement over thumbing through the appendices of larger books; ideally you should have both.

The 8080 Programmer's Pocket Guide is a small booklet (4.5 by 3.5 inches, 11.5 by 9 cm) intended as a quick reference to the 8080 instruction set. It has three sections. The first is a discussion of each instruction in the set describing what it does, what flags

"Blue Box"

IDS MODEL 60 MODEM AND TERMINAL INTERFACE POCKET ANALYZER

a ©;»'.>'

¥f.

voltage-sensing LED's. 24 miniature switches allow isolated testing and observation of all signals. Mini-jumpers included for cross-patching and signal monitoring. Sturdy 10 oz. unit has hard plastic case, is battery powered, regular or rechargeable. Immediate delivery.

Ilia INTERNATIONAL

iiQIdata

lEsS? SCIENCES, INC.

Seven Wellington Rd., Lincoln, R.I. 02865 Tel: (401) 333-6200 TWX: 710-381-0285 Export: EMEC, Box 1285, Hallandale, Florida 33009

Our Model 60 is called "The Blue Box" by thousands of users. This compact unit packs the most testing capability per dollar. Pinpoints the source of trouble between the Modem and Terminal. Provides access to all 25 lines of the EIA RS 232 interface. Has 12 monitoring LED's plus two

Having Reservations About Your Software? HUNT NO MORE!

Smoke Signal Broadcasting presents the

TD-1 TRACE/DISASSEMBLER

Provides interactive tracing and disassembly for 6800 program debugging.

•TRACE allows programmer to control execution of program under test for examination of processor's internal registers and memory on instruction-byinstruction basis.

•DISASSEMBLY converts machine code to easy to read mnemonics.

• Hex code for the opcode and program counter displayed in addition to mnemonic, when instruction is listed.

•Contents of any register or any memory location may be changed at any time.

Only $19.95 (on cassette), $25.90 (on diskette) We're the "CHIEF" in 6800 products software

6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 320 on inquiry card.

September 1978 © BYTE Publications Inc 145

Circle 1 on inquiry card.

6800 SOFTWARE

Payroll $400

Math Package, liy2 digit accuracy with

Fortran style formatting $100

Editor — Text Processor (with mailing lists & labels) $100

Inventory with Job Cost $400

other inventory programs from $200

Accounts Receivable $400

General Ledger $400

Stock Market-Club with Tax Reports $ 75

Digisector Software (scans twice as fast) $100

Custom Programming Our Specialty

AAA Chicago Computer Center

3007'/2 W. Waveland Ave.

Chicago, IL 60618

Phone: (312) 539-5833

(3 P.M. ■ 5 P.M. only)

it affects, and the octal and hexadecimal values for it. The second part is a discussion of a program for loading Intel hexadecimal format paper tapes. The third section is a summary of the instruction set ordered by function. This gives the instruction, its octal and hexadecimal values, the number of cycle states, and the page on which the instruction is discussed.

I find this booklet very useful. There is, however, one minor blemish that may confuse some users. Parts of the booklet are adapted from Scelbi's 8080 Software Gourmet Guide and Cookbook. This cookbook, like previous Scelbi publications, uses a set of mnemonics which were based on those for the 8008. Scelbi has since changed over to the standard Intel 8080 mnemonics, and they use the standard ones throughout the pocket guide. However, some of the discussions taken from the previous book still use the old mnemonics (eg: LBA rather than MOV B, A). Also, the text occasionally

refers to appendices from the cookbook. But these are minor problems; the booklet is well worth having.

Tychon's 8080 Hex Code Card (15 by 8 cm) is a slide rule type summary of the 8080 instruction set. Also available is a card for those who prefer octal. The front of the card gives all the instructions and their hexadecimal values, and tells how each instruction affects the flags. The back of the card gives an ASCII chart, a hexadecimal to binary conversion chart, a chart of the register pairs, and one of the flag byte. The card itself is made of fairly heavyweight cardboard. If Tychon ever puts a plastic card out I'll be among the first to buy it, since the present card is used so much that I may wear it out. If you ever hand assemble programs for the 8080, I highly recommend this card.

John A Lehman

716 Hutchins#2

Ann Arbor Ml 48103"

146 September 1978 ® BYTE Publications Inc

Circle 400 on inquiry card.

languages Fcpum

Making an H9 Understand Lower Case

George J Frye

Frye Electronics Inc

POB 23391

9826 SW Tigard St

Tigard OR 97223

We have been using the Heathkit LSI-11 computer as supplied with their model H9 CRT terminal and recently ran into an interesting problem. Source programs that included lower case alphabetical ASCII characters would not read out on the terminal in an intelligible way; the 64 character generator just went bananas and interpreted these lower case characters as slashes, percent signs, etc.

I have also noted that some other devices, such as the Practical Automation DMTP-6uP Printer, also use 64 character sets, and may be faced with the same problem.

The Heath terminal is easily modified so that both upper and lower case alphabetical characters read out as upper case. (Some form of this modification may also work with the above printer.)

Heath feeds the character generator chip, IC205, with a 6 bit signal latched through from the ASCII bus. The most significant data line is latched onto the character generator board but not run to IC205. A bit of study will show that changing the drive to the most significant bit of IC205 from ASCII bus line 6 to an inverted ASCII bus line 7 will cause the character generator to recognize lower case and upper case alpha characters as upper case (Tektronix uses this trick in their display terminals).

The modification is easily done by cutting the run from pin 1 5 of IC203 (bit 6) to pin 1 of IC206, soldering in a wire from pin 10 of IC203 (bit 7) to pin 11 of IC219, and soldering in another wire from pin 10 of IC219 to pin 1 of IC206. IC219 is a hexadecimal inverter, and the pins 10 and 11 are the output and input of an unused section of this IC."

Circle 311 on inquiry card.

SOMETHING SPECIAL FOR THES-100BUS

LIST PRICE

International Microcomputer Corp. Keyboard — ASR 37 Format with 128 Characters and a numeric Entry Pad. Assembled and tested with enclosure.

Mountain Hardware Introl AC Controller and Remote Kits.

Mullen Extender Board Kit with Logic Probe 3500

North Star Horizon I Kit 159900

IMSAI8080 Kit (PCS 8010) 69900

OUR CASH PRICE

-| 6995 14500

248oo 210°°

2900

1339°° 56995

Ask About Our Discounts On The Many Other Lines We Stock.

Above Prices Include Cash Discounts. Shipping Charges Extra. Subject To Available Quantities.

bus. ...SHOD,inc.

Address. . . 7 White Place

Clark, N.J. 07066

Interface. . . (201)382-1318

Having Reservations About Your Software? HUNTNtMORE!

Smoke Signal Broadcasting presents the

SD-2G800 BASIC COMPILER

For High Performance Process Control Programs and Business Applications

• Fast execution—syntax analysis of line not performed each time line is executed.

• More power in runtime package—no room needed for statement analysis, program editing and listing.

•Wider variety of facilities — nested conditions, IF — THEN-ELSE, and others.

• Decimal floating point, accuracy to a minimum of 9 digits, dollar values to $99,999,999.99.

• PRINT USING for formatted output.

• Utilizes RANDOM ACCESS disk files.

$325.00 (manual only, $10.00) We're the "CHIEF" in 6800 products software

H0IE SIM1LB10IBCISTIM

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

September 1978©BYTE Publications Inc

147

Continued from page 65

FACTOR

^_

CONSTANT

r

VARIABLE

FUNCTION IDENTIFIER

■©

O

t

EXPRESSION

O

r

GK

EXPRESSION

o

►(mem) ^Ccy

EXPRESSION

<^

VARIABLE

CONSTANT

^

IDENTIFIER

INTEGER

^_

HEX INTEGER

Figure 3, continued: Notice that some of the diagrams, for example FACTOR, contain themselves in their own definitions. This is known as a recursive definition.

For instance:

mem [i]:=mem\j];

reads the byte from the memory location / and writes it back to memory location /'. Machine language subroutines can be called from Pascal programs. The statement:

Call (i);

can be used to make a call to memory address /.

The P-Machine

The p-machine is a stack oriented machine consisting of four registers and two memory storage areas. Memory is separated into program storage and data storage areas. The program storage area contains the program codes (p-codes), and remains un

changed during program execution. The data storage area contains the values of variables. It is also used to store temporary values during arithmetical and logical operations.

Though the variables can be fetched and stored in a random fashion, the data storage area operates as a stack with respect to arithmetical and logical operations and runtime storage allocation. Arithmetical and logical operations are done on the top elements of the stack, and the results of the operations are pushed back on the stack. In this respect, one might call it a zero address machine, since operations (except store and load instructions, which must specify an address) are done without reference to any address. Later we will discuss the use of the stack during runtime storage allocation.

148 September 1978 © BYTE Publications Inc

STATEMENT

h-(^A

EXPRESSION

PROCEDURE IDENTIFIER

EXPRESSION

o

©

1

•/begin V

STATEMENT

o

►TendV

EXPRESSION

STATEMENT

^—

^ID

STATEMENT

1

CASE) » EXPRESSION >fon , > CONSTANT -rr-»Mj-» STATEMENT ■^—►(eLSE~)—» STATEMENT —%/endV-*

1—»/wHI

EXPRESSION

-®—[

STATEMENT

►(repeats

statement

<E>

UNTIL

EXPRESSION

IDENTIFIER

EXPRESSION

DOWNTO

EXPRESSION

•^-►(write)—»(T) 7.

^-*^REaF) HTO

EXPRESSION

1 ^ "

o_^^^

»

IDENTIFIER

O

-4

1 *

O

# %

'MEM) ►< E

Figure 3, continued.

<?>-*&

EXPRESSION

The four registers in the p-machine are the program counter, P, which points to the next executable instruction in the program storage; the instruction register, I, which contains the current execution instruction; the stack pointer, T, which points to the top of the stack, and the base address register, B, which contains the current base address. The functions of the first three registers should be quite clear from the above discussion. The function of register B will become clear after we discuss storage allocation.

Each variable in a Pascal procedure has a

scope and lifetime. The scope of a variable is the range within which it can be referenced. The scope of a Pascal variable is simply the procedure block to which it belongs. The lifetime of a variable is from the time storage is allocated for it to the time storage is disallocated. In Pascal, this is the time the procedure defining the variable is activated to the time a return is executed by the procedure. This is different from the way variables are treated in BASIC, where the scope of a variable is the entire program and its lifetime the entire execution time.

STATEMENT

September 1978 © BYTE Publications Inc 149

Circle 201 on inquiry card.

NEW SOFTWARE AVAILABLE FOR

MICROPOLIS

The following software is now being offered for use on the Micropolis MetaFloppy and MacroFloppy disk systems.

CP/M™ FDOS and Utilities

From $145

Microsoft FORTRAN-80

$400

Microsoft COBOL-80

$625

Microsoft Disk Extended BASIC

$300

Xitan SUPER BASIC

(A3)

$99

Xitan DISK BASIC

(A3+)

$159

Xitan Z-TEL Text Editor

(A3, A3+)

$69

Xitan Text Output Processor

(A3. A3+)

N/A

Xitan Macro ASSEMBLER

(A3, A3+)

$69

Xitan Z-BUG

(A3+)

$89

Xitan LINKER

(A3+)

$69

Xitan Package A3 (as keyed above)

$249

Xitan Package A3+ (as keyed above)

$409

Xitan Fortran IV

$349

Xitan DATA BASE MANAGEMENT SYSTEM

$1,250

CBASIC Compiler/Interpreter BASIC

$95

MAC Macro Assembler

$100

SID Symbolic Instruction Debugger

$85

TEX Text Formatter

$85

BASIC-E Compiler/Interpreter BASIC

$30

General Ledger

$995

Accounts Receivable

$750

NAD Name & Address Processor

$79

QSORT Disk File Sort/Merge Utility

$95

Available from computer stores nationwide or order direct from:

LIFEBOAT ASSOCIATES

164 W. 83rd Street

New York, NY. 10024

(212) 5800082

I HUNDRS ,5 READY

NORTH STAR BASIC PROGRAMS mi

5KETTE 1 : TUTO- P

■REDS SOLD, EACH SYSTEM COMPLETE ON DISKETTE TO RUN. WORD PROCESSING, NORTH STAR RIAL I, NORTH STAR TUTORIAL II (TEACHES NORTH STAR BASIC), ACCOUNTS PAYABLE, ACCOUNTS RECEIVABLE, PAYROLL, GENERAL LEDGER, MEDICAL-PROFESSIONAL, BILLING, SALES WITH SALES ANALYSIS AND GROSS PROFIT, INVENTORY, HISTOGRAM GENERATOR, COMPUTER CHESS, MAILING LABELS. $35.00 each.

SOFTWARE LOCATER (LOCATE, INDEX-FREE SOFTWARE), CHECKBOOK BALANCING, BOWLING-GOLF HANDICAPPER, COIN COLLECTION INVENTORY, IMPORTANT DOCUMENT LOCATER, BUDGET PLANNER, GAME DISK. $25.00 each.

IQ TESTER, COMPUTER MEMORY DIAGNOSTIC PERSONAL FINANCE, BUSINESS FINANCE, BIORHYTHM GENERATOR, DIET PLANNER, CRYTOGRAPHIC ENCODER, MATH TUTOR, A SORT UTILITY. $15.00 each.

EQUIPMENT REQUIRED, SINGLE DRIVE, 8K FREE MEMORY, PRINTER OPTIONAL.

TR5-80 LEVEL I & II (ON CASSETTE) STOCK MARKET ANALYSIS, GRAPHICS, TREND LINE ANALYSIS, BUSINESS APPLICATIONS. $15.00.

BLANK DISKETTES $3.80 (UNDER TEN ORDERED, ADD $2.00 FOR SHIPPING; OVER TEN SHIPPED POSTPAID).

CPM COMPATIBLE BASIC PROGRAM LISTINGS ALSO AVAILABLE.

SOFTWARE

DEPT. 11 P. O. BOX 2528 ORANGE, CA 92669

PT. 11 P. O. BOX 2528 ji

ANGE.CA 92669 J

Since procedure activation is strictly a first in, last out process, the use of stack is an appropriate strategy. When a procedure is activated, storage for its local variables is allocated on the top of the stack, and is disallocated when the procedure is terminated. Thus the stack contains all the variables of the currently active procedures. The variables of the last activated procedure are on the top of the stack, those of the second to last activated procedure next to it, and so on.

Since storage allocation is not static, addresses cannot be assigned at compile time, but must be calculated at runtime. The base register, B, always points to the starting location of the segment of the data block in the stack. The addresses generated by the compiler are not absolute addresses, but displacements from some base addresses. If the variable is local, then its address is the displacement from the current base register B; but if the variable is from an outer procedure, then the base address for that procedure should be calculated, and added to the displacement.

To do this, and to ensure proper procedure or function linkage, extra storage is allocated on the stack when a procedure is activated. Figure 4 shows the various quantities present in each of the procedure blocks. The function return value is used only for function calls, and storage is allocated for any parameters needed by the procedure or function. The base address contains the value of the current base register B, and the return address contains the program return address at the place of the call. The functions of the dynamic linkage and the static linkage need further explanation.

The dynamic linkage forms a chain that reflects the procedure activation history. It points back to the base address of the procedure that was activated immediately before this one. For instance, if procedure A calls procedure B, which calls procedure C, then the dynamic link chain points from C to B, and then to A. It is used to ensure that the program returns to its previous state when exiting a procedure. In particular, the base register B must be loaded with the correct base address of the calling procedure. This would be easy to do if we follow a step through the dynamic link chain.

The static link, on the other hand, reflects the static hierarchical structure of the procedures. Each active procedure has a link that points to the procedure (also active) that immediately contains it. The static links actually form a tree, with the

150 September 19786BYTE Publications Inc

Circle 6 on inquiry card.

Circle 71 on inquiry card.

VARIABLE N

RETURN ADDRESS

DYNAMIC LINK

STATIC LINK

BASE ADDRESS

PARAMETER N

PARAMETER I

FUNCTION RETURN VALUE

Figure 4: A typical activation record for a function. For a procedure, the function return value is omitted. Note that the procedure and function parameters, as well as the function return value, are below the base register B, and thus would have negative displacements.

main program block as the root. These links, which in general are different from the dynamic links, are used to let programs have access to the correct base address of the variables in an outer procedure, since at compiler time, only the static relationship among the procedures are known. The compiler therefore generates the pair (static level difference, relative displacement from the base address) as addresses for variables. The calculation of the addresses from these pairs would presumably slow down the process, but it is a small price to pay for nice features like recursive procedure calls.

Op Code

Mnemonic

(Hexadecimal)

00

LIT

0,n

01

OPR

0,n

02

LOD

v,d

12

LODX

v,d

03

STO

v,d

13

STOX

v,d

04

CAL

v,a

05

INT

0,n

06

JMP

0,a

07

JPC

c,a

08

CSP

0,n

IMMEDIATE DELIVERY

Advanced 8K Model

-only $795

No computer know-how neaded! Uses extended "BASIC". Selfcontained with its own 9" video display, built-in keyboard, and digitally controlled cassette recorder. Complete with 14K operating system and 8K memory built-in (expandable to 32K).

Apple II - In stock from $970

Apple II is a completely contained computer system, with BASIC in ROM, full ASCII keyboard in a lightweight molded carrying case. Expandable to 48K.

Apple II, the personal

computer with color!

PERIPHERALS For PET

PET 2020 Impact Printer - S695

32K Memory Expansion - $595

Serial Interfaces from $169

PERIPHERALS

For APPLE

Expandor Printer

$425

Centronics 799

Printer

$995

Apple II Disk

$495

Plus hundreds of software programs too numerous to list!

THE COMPUTER FACTORY

485 Lexington Ave. (46th St.)

New York, NY 10017 212-PET 2001 Open 10-6 pm Tuesday - Saturday 212-249-1666

Operation

load literal constant

arithmetic or logical operation

load variable

load indexed variable

store variable

store indexed variable

call procedure or function

increment stack pointer

jump unconditional

jump conditional

call standard procedure

Table I: Basic p-codes. The v in call, load and store instructions is the difference in static level between the current procedure and the one being called or the one which contains the variable from the base address. An address in a p-code program is shown by a. The condition code, c, can either be 0 or I.

Having Reservations About Your Software? HUNT HO MORE!

Smoke Signal Broadcasting presents the

SE-1SUFER. EDITOR TEXT EDITING SYSTEM

Content oriented with string search and block move capability

Allows any or all occurances of a particular string to

be changed with one instruction.

Disk transfer capability allows editing of files larger

than available memory.

Specific lines can be referenced by particular line

number, offset amount or string of characters within

the line.

Automatic line numbering.

Designed for file transfers to and from Smoke Signal

Broadcasting's BFD-68disk system.

Complete source listing included.

Only $29.00 (on diskette) We're the "CHIEF" in 6800 products software

mx& mmiwmMssnm

6304 Yucca/Hollywood, CA 90028/(213) 462-5652

Circle 320 on inquiry card.

September 1978 © BYTE Publications Inc 151

Circle 330 on inquiry card.

Software

Games • CRAPS (Las Vegas style) $6.00 MULTIPLE LUNAR LANDER $8.00 SLOT MACHINE $6.00 GAME PACKAGE: Russian Roulette, Mad Scientist, and ABM $8.00

Graphics . PICTURE MAKER with AMP'L ANNY $12.00 GRAPHICS PACKAGE I: Laser Beam, Space Shuttle, and Blast Off $10.00 GRAPHICS PACKAGE II: Rain in Greece, Flea, Textwriter, Random Walk $10.00

Scientific • FOURIER FIT: Does curve fitting $15.00

Systems • RANDOM NUMBER GENERATOR TEST $5.00 HEX MEMORY LOADER $10.00 MEMORY DUMP PROGRAM $10.00 MEMORY SEARCH $5.00

All Programs Written in BASIC

Complete Easy to Read Documentation

Programs Completely Tested

SOFTWARE RECORDS

P.O. BOX 8401-B UNIVERSAL CITY, CA 91608

(cal residents add 6% sales tax)

modem / 'mo • dam / [modulator + demodulator] n - s : a device for transmission of digital information via an analog channel such as a telephone circuit.

• Completely compatible with your IMSAI, ALTAIR*, SOL** or other S-100 microcomputers. Trademarks of *MITS, **Processor Technology

• Designed for use on the dial telephone or TWX networks, or 2-wire dedicated lines, meets all FCC regulations when used with a CBT coupler.

• All digital modulation and demodulation with on

board cyrstal clock and precision filter mean that NO ADJUSTMENTS ARE REQUIRED

• Bell 103 standard frequencies

• Automated dial (pulsed) and answer

• Originate and answer mode

• 110 or 300 BPS speed select

• Complete self test capability

• Character length, stop bit, and parity

• 90 day warranty and full documentation

D.C. Hayes Associates, Inc.

P.O. BOX 9884 ATLANTA, GEORGIA, 30319 (404) 455-7663

The P-Codes

The p-machine has only 11 basic instructions, which are listed in table 1. For the sake of simplicity and easy handling in this version of the implementation, all instructions are four bytes long. The contents of the four bytes are as follows:

byte 1: op — the operation code, byte 2: can be (i) v — static level difference.

or (ii) c — condition code in a jump

instruction.

or (iii) 255 — denotes absolute

addressing.

or (iv) not used for some instructions, bytes 3,4: can be (i) d —displacement from the base address.

or (ii) n — numeric constant.

or (iii) a — address in the p-code

program.

The OPR (arithmetic and logical operations) and CSP (call standard procedure) are further subdivided into more instructions. The complete set of instruction mnemonics and operations is listed in table 2. The LODX and STOX instructions are used to load and store array elements with the value of the array subscript on top of the stack. The call standard procedure (CSP) instruction is primarily used for input and output (10) operations. Besides the basic function of inputting and outputting single characters, additional procedures have been implemented to relieve the user from writing 10 conversion routines in Pascal for numeric and hexadecimal numbers. In the future, more procedures can be added to handle the input and output of other data types such as floating point numbers and file records for tape or disk. Meanwhile these seven instructions are sufficient for convenient use in writing the bootstrap compiler and its related software.

Readers are urged to read the p-code interpreter listing which simulates the operations of the p-machine. The program statements are straightforward and selfexplanatory. Familiarity with the p-machine instruction set is essential in understanding the code generation part of the p-compiler.

The P-Code Interpreter

Since the p-machine_ is a hypothetical computer, there has to be some method of executing the p-codes generated by the compiler. There are two simple solutions to this problem. One is to write an interpreter which can decode and execute the pcodes. The other solution is to write a trans

1 52 September 1978 © BYTE Publications Inc

Circle 155 on inquiry card.

lator which can decode the p-codes and output equivalent executable machine codes for an existing computer. Both methods have been used in our compiler system. The first method, although it runs slower, is good for developing programs because many debugging facilities can be implemented in the interpreter. The second method is good for production programs which may need faster execution speed. A p-code to 8080 machine code translator will be described in part 3 of this series.

The p-code interpreter is made up of two major modules:

• Main program.

• Procedure which machine.

"simulates the p

Every call to the simulator will execute one p-machine instruction. Each p-machinc instruction cycle can be divided into four stages:

• Fetch a p-code from memory.

• Increment the program counter.

• Decode the instruction.

• Execute the instruction.

Several global variables are used to hold the values of the p-machine registers such as program counter, stack pointer, current instruction, etc. A one-dimensional array represents the data stack. Functional operations of the various p-machine instructions arc coded directly from the instruction set defined in table 2. The main program simply initializes the program counter to zero and then calls the simulator repeatedly to simulate machine execution. This sounds

simple but not useful, because the user has no control of the program during execution until it terminates.

In order to enable user control of an executing p-code program, the main program must accept commands from the user which instruct it to call the simulator a specified

G: go — Set program counter to zero; initialize other counters; start execution.

S: single-step — Execute one p-code; display the mnemonics of the next p-code pointed

by the updated program counter. R: run/restart — Start execution from current program counter until the program ends

or a breakpoint is reached. This command is used to continue execution at a breakpoint. B: set breakpoint — A p-code address is entered as a breakpoint after the interpreter

prompts with a ?. Up to five breakpoints may be set. C: clear — All breakpoints previously set are cleared. Y; display breakpoint — Display the breakpoints already set. X: examine status — Display the values of: current program counter, base address, stack

pointer, the top two elements of the stack. K: stack content — A value is entered as the stack pointer after the interpreter prompts

with a ?. It will then display the values of six stack elements starting from this stack

pointer. T: trace — Display the address and mnemonics of the 16 p-codes last executed. This

command is usually applied at a breakpoint. It is used for tracing the logic flow of

the program. E: examine program — A p-code address is entered as a display pointer (DP) after the

interpreter prompts with a ?. It will then display the mnemonics of the p-code at this

address. This command and the U and N commands are used for examining the

p-codes anywhere in the program without altering the current program counter. U: up — Decrement the display pointer by one and display the mnemonics of the p-code

pointed by it. N: next — Increment the display pointer by one and display the mnermonics of the

p-code pointed by it. Q: quit — Terminate the interpreter program and return to operating system.

Table 3: Interpreter commands. All commands for the p-code interpreter are single characters. A command is entered after the interpreter prompts the user with a > on the video display. Additional information is needed for some commands such as breakpoint and stack addresses. On entry to the interpreter it will ask for the starting memory address of p-codes and initialize the program counter to zero. On exit it will display the number of p-codes executed.

Mnemonic Description

LIT 0, n load literal constant

OPR 0, 0 procedure return

OPR 0, 1 negate (sp)

OPR 0, 2 add (sp) to (sp-1)

OPR 0, 3 subtract (sp) from (sp-1)

OPR 0, 4 multiply (sp-1) by (sp)

OPR 0, 5 divide (sp-1) by (sp)

OPR 0,6 low order bit of (sp)

OPR 0, 7 (sp-1) modulo (sp)

OPR 0, 8 test for (sp-1 ) = (sp)

OPR 0, 9 test for (sp-1 XXsp)

OPR 0,10 test for (sp-1 X(sp)

OPR 0,11 test for (sp-1 )>=(sp)

OPR 0,12 test for (sp-1 )>(sp)

OPR 0,13 test for (sp-1 )<=(sp)

OPR 0,14 logical (sp-1) OR (sp)

OPR 0,15 logical (sp-1) and (sp)

OPR 0,16 logical NOT of (sp)

OPR 0,17 shift left (sp) logical

OPR 0,18 shift right (sp) logical

OPR 0,19 increment (sp) by 1

Mnemonic Description

OPR 0,20 decrement (sp) by 1

OPR 0,21 copy (sp) to (sp+1)

LOD v,d load a word

LOD 255,0 load a byte from absolute address (sp)

LODX v,d load a word with index address (sp)

STO v,d store a word

STO 255,0 store a byte to absolute address (sp—1)

STOX v,d store a word with index address (sp)

CAL v,a procedure call

CAL 255,0 call procedure at absolute address (sp)

INT 0,n increment sp by n

JMP 0,a jump to location a

JPC 0,a jump to location a if low order bit (sp)=0

JPC 1 ,a jump to location a if low order bit (sp) = 1

CSP 0,0 input 1 character

CSP 0,1 output 1 character

CSP 0,2 input an integer

CSP 0,3 output an integer

CSP 0,4 input a hexadecimal number

CSP 0,5 output a hexadecimal number

CSP 0.8 output a string

Table 2: The p-machine instruction set. The stack pointer, sp, points to the top element of the stack. The content of the stack element is represented by (sp). The operands of the OPR instructions are replaced by their results on the stack. The result of the six relational operations is I if the test is true and 0 if false. With the exception of single operand OPR instructions, all instructions adjust the stack pointer, sp, after execution.

September 1978©BYTE Publications Inc

153

North Star BASIC

A brief summary of North Star BASIC (version 6, release 3) is given for readers not familiar with its particular features.

Variable names are one or two characters long: an alphabetical character followed optionally by a decimal digit. There are four types of variables: numeric, string, array of numeric, and function. The string variables are names postfixed by a dollar sign $, while function names are prefixed by FN. Functions (and the parameters) are defined by the declaration DEF, and ended by FNEND (for multiline function). The parameters in the function definition are local to the function, and would not affect variables in the calling program.

Strings cannot be dimensioned. The DIM declarations for strings declare the maximum length of the string variables, not their dimensions. The notation A$ (3,5) denotes the substring of A$ from position 3 to 5.Thus if A$=ABCDEFG, A$ (3, 5) is the string CDE. This substring expression can be used both on the left or righthand side of an assignment statement.

Multiple statement lines are allowed. Statements within a line are separated by either colons, :, or back slashes, V

Absolute memory locations can be accessed from BASIC programs. The function EXAM(I) returns the content of memory at address I; and the instruction FILL I, J writes a value of J into memory address I.

Another feature of North Star BASIC is its ability to read from or write to disk files. The statement OPEN #0, "FNAME" assigns disk file "FNAME" to file unit #0. A subsequent READ #0,A$ reads AS from the disk file, and a WRITE #0,A$ writes A$ to the disk file. A built-in function TYP can be used to check the type of data to be read. It has a value of 0 when the end of file is reached.

Listing I: Pascal source code for the p-code interpreter as output by the authors' system. This version implements all of the commands in table 3.

number of times or to display register and stack contents. This is the simple idea of a debugging interpreter. The debugging aids commonly known include single step execution, set and reset of breakpoints, and display of register and stack contents. A number of these debugging facilities have been incorporated in the p-code interpreter. Table 3 shows the 13 interpreter commands and their functions. Note that the trace command is particularly useful in analyzing mysterious logic flow of a program, such as discovering the path along which a breakpoint is reached. This command is more convenient to use and much faster than single step execution. The limits on the number of breakpoints and the number of instructions traced can be changed easily in the program. The first version of the p-code interpreter was written in BASIC. While developing the p-compiler, different constructs of Pascal statements were tested one at a time using the interpreter to verify the correctness of the p-codes generated. After the compiler was debugged, the interpreter was rewritten in Pascal. The program logic is very similar to the BASIC version. Since the program

P-COD WANT 0 0

a

0

i i i

1 1 1 1 1 1 1 1 1 1 I

ES STARTS AT 0000

CODE PRINTEOr'N

T*P.I NTS

< P-CODE INTERPRETER. HY. 1 3/31/78 BY H YUFH

< LAST MOD 4/12.'78 !■ CONST U=15;BPLIM=5; SIZE=5B0; SIZEl=48fi, UAR Z,P,B,T,BP,P0,TP,CUD,I.J,K,STOP INTEGER.

S'ARRAYCSIZEJ OF INTEGER,

TRACE ARRAYCU3 OF INTEGER,

MN:ARRAYE263 OF INTEGER;

BREAK;ARRAYCBPLIMJ OF INTEGER,

9

1?

IB

20

20

20

21

30

40

46

55

63

63

63

70

76

70

71

78

90

180

1B3

113

116

121

129

130

142

147

151

< IMPORTANT GLOBAL UARIABIFS' P PROGRAM COUNTER B■ BASE POINTER T'STACK POINTER BP'BREAK POINT INDEX

TP'TRACE STACK PTR K>INSTRUCTION COUNTER S'DATA STUCK Z"STARTING ADDR OF P-CODE

FUNC BASE(LEU).; UAR Bl'INTEGER, BEGIN Bl =B, WHILE LEU>0 DO BEGIN

B1'=SCB13;LEU;= LEU-1 END, BASE^Bl END <BASE>J

PROC I NIT; UAR I < INTEGER; BEGIN T ^ =0;B ^ =1;p:=0;ST0Pi=8;

sr. i:! =0,512: i =0; sis: -=-i:.

P0:=0;TP:=U,K: =0; FOR I:=& TO LI DO TRACE! I I: =-1 END UNIT;;

PROC CRLF; BEGIN WRITE'; 13, 10) END;

PROC EXEC; UAR X, A, L,F,IDX INTEGER; BEGIN X'=P SHL 2 + Z; A:=f1EM[X + 3J SHL 8 +MEMCX+23. TP=TP+1;IF TP>U THEN TP-=6; TRACECTP]i= P; p:=p+l;P0;=PjK>=K+1; F'=MEMCX3j IF F<=8 THEN IDX"=0

ELSE BEGIN IOX' "ItF' =F-16 END; CASE F OF 0'BEGIN T : =T+1; StTJ =A END; I' CASE A OF

0 'BEGIN {RETURN}

T'=B-l;B:=S[T+2];P=SCT+3] END;

166 176 194 212 230 248 259 277 295 313 331 34 9 367 385 403 421 431 449 467 47S 4S9 493 583 521 523

532 539 549 564 565 569 574 578 589 590 599 614 615 619 624 635 636 649 660 661 671 687 693 780

1 2 3

4

6

7 8 9

10 11

12 13 14 15 16 17 18 19 20 21

EN

'BE

L

I

E

EN

BE

L

I

EN 'BE

L I

E

S[T

BEG

BEG

BEG

BEG

SIT

BEG

BEG

BEG

BEG

BEG

BEG

BEG

BEG

BEG

SIT

BEG

BEG

SCT

SIT

BEG

T

ELSE

D <C

GIN

;=ME

F L =

LSE

D,

GIN

'=ME

F L =

MEM!

LSE

IF I

SIBA

D;

GIN

'=ME

F L

LSE

sn +

SCT + D; T><

RITE SE T

I;=-S[T IN T'=T IN T .-=T IN T'=T IN T'=T I>=SCT3

T=T

T

T

T

T

T

T

T

T

IN

IN

IN

IN

IN

IN

IN

IN

IN

I■=N0T

IN Ti=T

IN Ti=T

] s »S t T3

3 ■■ = S t T 3

IN <C0P

=T+1,SI

BEGIN ASE OF <L0AD! MCX+13; 255 THE BEGIN I

Ti=T+l

-1; s r t ]

- 1; S I T I

-i;sm

- 1; S t T I AND 1;

- 1; S [ T ] l;Sm

1;SII J 1, S [ T 3 1; S [ T J 1 . S I T I 1;SIT I 1, S [ T ]

■1;

it:

SCTI; - 1; S I T :

-1; s c t :

+ 1; -1;

t: i=sit

MRITE< '

A>;

=St

= S[ = S(

=sc <te =sc =sr

=st

=st

=sc

t:+s tj-s

T3*S

t: d st F

T] M T3 = S I 1 < .:■ T I < S

i: >T3 >

T3< T]

t:

[T+1I END; CT+13 END; CT+13 END; IU SCT+13 END; OR ODD!

00 StT+13 END; CT+13 END; SIT+1 : END; [Til] END; StT-t 1 : END, [T + 13 FND: SfT+II FND. R SIT+11 END. Nil SCT+13 END,

=SIT: SHL SCT+13 END, =SCT3 SHR SIT+1] END,

13 END

ILLEGAL DPR ' ,) ; CRLF ; STOP •■

N SIT:<=MEt1CSCT33

F IDX THEN A'=A+SIT:i

idx;sit: =sibasE':l :>+a: end

EN ' IF M EL P BEGIN

= A;

<STORE; MIX+1I,

255 THEN BEGIN SCT-133 :=S[T:.:T'=T-2 end BEGIN

DX THEN A'=SCT-13+A; E<L ) + A3 '=S[T];T'=T-1-IDX END

(CALL!

MCX+13;

255 THEN BEGIN CALL<SCTJ>iT<=T-1 END

BEGIN

13 i=BASE<L>;SCT + 23 :=B;

3 3 =P;B i =T+1;P' =A END

SIZE1-A) THEN BEGIN

C' STACK DUFL' );CRLF;STOP■=1 END

'=T+A;

<JMP>

IF SCT3=MEMCX+13 THEN P'=A; <JPC>

154

September 1978 © BYTE Publications Inc

(IN CHAR) (OUT CHAR) (IN NUMBER) (OUT NUMBER) <IN HEX)

714 T'=T-1 END;

719 8'CASE A OF <CSP>

724 8'BEGIN T =T+1;READ<S[T]> END;

736 l'BEGIN WRITECSCT] );T>*T-l END;

748 2'BEGIN T•=T + 1;READC S(T]*) END;

760 3'6EGIN WRITECSL"T:i#);T'=T-l END;

772 4-BEGIN T • =T + 1 i READC SCT]*) END;

784 5'BEGIN HRITE< StTJfc >J T"*T-1 END* {OUT HEX)

796 8iBEG IN (OUT STRING)

860 FOR IDX'=T-SL~T] TO T-l DO WRITER StIOXJ>J

820 Ti=T-SCTJ-l END

827 ELSE BEGIN WRITEC' ILLEGAL CSP' >;CRLF;STOP'=1 END

845 END (CASE OF A)

846 ELSE BEGIN WRITEC' ILLEGAL OPCODE '); CRLF; STOP ■■ = 1 END

867 END (CASE OF F>

868 END (EXEC); 869

869 PROC CODEC PC); (PRINT CODE) 869 UAR X,N,IDX'INTEGER;

876 BEGIN X'=PC SHL 2 +2;N>*MEMCX]*3;

882 IF N<=24 THEN IOX — ' '

887 ELSE BEGIN Ni=N-4S;IOX'='X' END;

895 WRITEC' ',PC#,' ',MNCNI,MNIN+11, MN(N+23,IDX,'

924 MEMCX+l]*, ', ',MEM(X+3] SHL 8 +MEMCX+23# );CRLF

944 END (CODE); 94 5

945 PROC CKBP; (CHECK BREAK POINT)

945 UAR IiINTEGER,

946 BEGIN IF P<0 THEN STOP = l 952 ELSE BEGIN

954 FOR 1=1 TO BP DO

961 IF BREAKCn=P THEN BEGIN

structure of the Pascal version is neat and highly readable, the debugging time is minimal. The Pascal source program is shown in listing 1. The program design is rather straightforward. Readers with some programming experience in any high level language should be able to read and understand it without the help of a flowchart or further explanation on program logic. Note that in the main program and procedure exec, the case...of statement is put to good use. In the BASIC version the interpreter commands have to be tested within a FOR loop by comparing the input character with a string array, and then an ON...GOTO statement is used to branch to various parts of the program.

It must be emphasized again that the interpreter executes p-codes and not Pascal statements. Therefore the user is required to have some knowledge of the p-machine and p-codes. In addition to this, the pcompiler should be instructed to list pcodes together with Pascal program statements during compilation. They will be cross-referenced when running the interpreter. Obviously this procedure is not as convenient and easy to use as an ordinary BASIC interpreter, but still it provides the only way for debugging Pascal programs in our present version. A new debugging scheme is being planned for the future which will enable the user to debug programs at the Pascal statement level. This means the user may refer to variables and arrays and statements rather than stack contents and p-code addresses. Part 2 will go into details of the design and implementation of the p-compiler."

966 978 985 986 986 986 994 1005 1015 1021 1025 1026 1037 1046 1050 1072 1099 1100 1110 1125 1132 1142 1151 1157 1163 1172 1185 1186 1194 1202 1287 1211 1215 1226 1240 1250 1258 1266 1278 1283 1291 1292 1296 1319 INTE

WRITEC ' BREAK ' );C0DECP); STOP = 1. END END END (CKBP),

BEGIN (MAIN) FOR I =0 10 26 00

UNCI] :=MEMCI+:;1E80: WRITEC 'AODR?' );READC INIT; CODEC P >,BP'=0, REPEAT WRITEC ' >' );READCCMD>

CASE CMD OF

(MNEMONICS ARF IN MEMORY) OjCRLFj

'R' 'S' 'X'

'BEGIN STOP =0;REPEAT EXEC;CKBP UNTIL STOP END; :BEGIN EXEC, CODECP) END, ■ BEG IN

WRITEC' P=',P*,' B=',6#,' T=',T#,

' SCT:= ' ,SCTJ#, ' SCT-1]=' , S[ T-l ]»>; CRLF END;

■BEGIN INIT;REPEAT EXEC;CKBP UNTIL STOP END; 'BEGIN WRITEC' *TRACE«*>jCRLF; FOR I>=0 TO U DO BEGIN Tpr=TP+l;IF TPHI THEN TP'=0J IF TRACECTPI> = 0 THEN CODEC TRACECTP]) END END; 'BEGIN READC HO;

FOR J'=l TO 1+6 DO WRITEC ' ',SCJ3#);CRLF END; ■■ IF BP<BPLIM THEN BEGIN BP'=BP+1;URITECBP#, ' ■ * >J READCBREAKLBP]#);CRLF END; BEGIN (CLEAR BP) BP'=0;CRLF END; 'BEGIN FOR I'=1 TO BP DO

WRITEC' ', BREAK 111 tt); CRLF END; BEGIN READCPOtt );CODECP0) END; 'IF P0>0 THEN BEGIN

P0 '=PC1-1; CODEC P0) END; 'N''BEGIN P0'=P0+1;CODECP0> END; 'Q''P=-1

ELSE BEGIN WRITEC '??');CRLF END END (CASE OF CMD) UNTIL P<0;

CRLF; WRITECK*,' INSTR. EXECUTED.');CRLF END (MAIN). RPRETCI), OR TRAHSLATEC T )?

'E'

'U'

Having Reservations About Your Software? BUNT HO MORE!

Smoke Signal Broadcasting presents the NEW

TF-l TEH PROCESSING SYSTEM

for document preparation - form letters - footnote handling

• The most powerful text formatter available.

• Over 50 commands for easy paging, margin setting and spacing.

• A formatting language that allows the creation of macros including variables.

• Page numbering (Arabic or Roman numerals).

• Complete page size control.

• Conditional formatting control.

• Exact title placing.

• Contiguous space and text control. ~nVf

&

qb

&? We're the "CHIEF" in 6800 products software 6304 Yucca/Hollywood, CA 90028/(213) 462 5652

Circle 320 on inquiry card.

September 1978©BYTE Publications Inc 155

Graphic Manipulations Using Matrices

Joel C Hungerford Stearns Rd Amherst NH 03031

X

Y

z

a

b

c

d

e

f

g

h

'

Figure 1: Two types of matrices used in graphics applications. P represents a point in space. The matrix C contains equations to relate the transformed values of X, Y, and Z to the original values.

One definition of graphics might be "a means to convert data into information." Our computers create printed data at a great rate, but all this data is not information until it conveys to a person some trend or fact about the world we live in. A small part of graphics is the conversion of data representing the position in space of the surface of an object into a three-dimensional picture of that object. The picture may be useful for itself as computer art, or it may help understand something about the object.

Imagine looking down the length of a pencil, using only one eye. With the eraser held away from the viewer, the pencil appears as a polygon with a dark place in the center where the lead is. The length of the pencil and the eraser are invisible. Now imagine the pencil rotated about its point until it is pointed toward the viewer's shoulder. The length of the pencil and the eraser are now visible, and appear in the form of translations to the side and up of the surface of the pencil. The relation between the position of a point on the pencil, specified in three dimensions X, Y and Z, and the apparent translation of that point as the pencil is rotated is expressed by standard equations. These can be written in an organized fashion using matrices. These matrices are called coordinate transform matrices. They are powerful tools because they separate the mathematics associated with the angle of observation from the data describing the surface of an object. The small computers available today make it easy to convert surface data to pictorial information using matrices. This article will show how.

Definitions

The Cartesian coordinate system will be used in this discussion. On a computer graphic screen, X is the horizontal dimension, Y is defined as the vertical dimen

sion, and Z is depth into the screen. Positive values are to the right, up, and away from the viewer. The origin will usually be in the center of the screen. A plane is described by any two axes. Thus, the X,Y plane is the surface of the computer screen, the Y,Z plane is seen edge on as the Y axis, and the X,Z plane is seen edge on as the X axis.

An equation which does not specifically include a particular coordinate direction will be interpreted to mean that the described line or point may exist anywhere along the unmentioned axis. Thus, X=1 represents the entire Y,Z plane located at 1 along the X axis. The line defined by Y=X may exist anywhere along the Z axis; therefore this equation defines a plane tilted 45 degrees from the horizontal, seen edge on at Z equal to zero on the computer screen. A surface may be made parallel to an axis by omitting that axis, as above, or may be specified at all values of X, Y and Z. Thus, Y=X+Z is a surface defined for all space.

Two kinds of matrices will be used here. The first kind is a matrix which represents the coordinates of a point in space, described by X, Y and Z. This matrix, P, is a column matrix, with one column and three rows as shown in figure 1. It will be used to hold the values for a point on the surface, both before and after transformation. All drawing commands will use the X and Y from this matrix.

The second kind of matrix contains the standard equations which relate the transformed values for X, Y and Z to the original values. This matrix, C, has three rows and three columns. The numbers at each position in this matrix are derived from the standard equations for some specific coordinate transformation type, such as a rotation. If the angle of observation of the object is arrived at by two successive operations, such as a rotation in each of two planes, then the matrix, C, which controls this view may have numbers in it that are derived from two matrix equations. The procedure which produces a single matrix combining several operations is called matrix multiplication. Matrix multiplication is used both to produce the particular numbers in the 3 by 3 matrix, C, which describe a point of observation, and then to apply those numbers to derive a transformed 3 by 1 matrix, P, which gives the apparent position of some part of the object's surface.

Computing Procedure

Given the ability to do matrix multiplication (the details will be presented below),

156 September 1978 © BYTE Publications Inc

the sequence of operations to produce a three-dimensional picture of an object is short and easily stated:

1. Generate an array of data consisting of the X, Y and Z coordinates of the object to be drawn. This may be either computed as the drawing progresses, or done all at once and stored. The latter way is faster if the viewpoint is to be adjusted to find the most pleasing picture.

2. Define the viewpoint. For this part, a matrix is generated for each motion required to arrive at the desired point of view. The matrices are then multiplied together to produce a single 3 by 3 matrix to be used in the main routine. The order of multiplication may be important.

3. Write a program to draw the object in its untransformed state. This will be a sequence of commands which move the graphic cursor to a spot on the object at the beginning of an edge or other feature, then draw (move leaving a line behind) to another spot on the object. Specify the move and draw coordinates in terms of a column matrix element rather than X, Y and Z. Define the elements at each spot by using each of the points in the array.

4. When the untransformed picture is accurate and understood, then the picture is reoriented by simply inserting a matrix multiplication between the specification of each column matrix and the associated graphic command. The original X, Y, Z coordinates of the spot on the object are thereby transformed into a new set of X, Y, Z numbers representing the spot seen from the new viewpoint. Each set of coordinates from step 1 is multiplied by the matrix generated in step 2.

4a. An alternate method is to do all the transformations at once, changing all the X, Y and Z points in the array formed in step 1 into transformed X, Y and Z numbers in the same array.

Since the computer screen is really only two-dimensional, only the X and Y elements are used in step 3. After transformation, these numbers are shifted about and contain depth information. The drawing made in this fashion is a projected view rather than a three-dimensional drawing. The difference is that in the projected view sides which are parallel on the object remain parallel in the

projected view, but in the three-dimensional view all lines converge at infinity along the Z axis. The difference is minor. The observer perceives a three-dimensional picture in most cases; the projected view in some figures is perceived either as having relief or depth without the visual clue of lines meeting at infinity. This leads to some interesting optical illusions using projected views. The rest of this article discusses some of the transformations available and shows the pictorial results of each.

Matrix Multiplication

What information is necessary to write a subroutine to perform the matrix transformations described in this article? The general theory of matrix algebra and its interpretation is beyond the scope of this discussion. For more information and a very clear description of many other uses for matrices, the reader is referred to The Mathematics of Matrices by Philip J Davis. Here are some brief notes on the subject:

Two aspects of matrices are important in matrix multiplication. These are the order of the matrices being multiplied (which one comes first), and the shape of each matrix. The elements in the output matrix resulting from a multiplication of two matrices are each formed by combining numbers in the columns of the first matrix and rows of the second matrix, done in a standard order. All the necessary rows and columns have to exist for the output to exist. Thus, some matrices may be multiplied in one order, but not in the opposite order. The rule is: the number of columns of the first matrix must equal the number of rows of the second matrix.

In table I, the two matrices may be multiplied in the order (C) (P) but not in the order (P) (C). The result of multiplying (C) (P) is a new column matrix P'. A mathematician would say that two matrices are "conformable for multiplication" when the order and shape requirements are met. He would also say "(C) is multiplied by (P)"here. The requirement for conformability leaves one dimension of the shape of each matrix unrestricted. The unrestricted dimensions establish the shape of the output matrix. Tables J and 2 summarize the necessary arithmetic. The elements in (C) are numbers, which are each computed in various ways depending upon the desired transformation.

A D G

B C E F H I

X Y Z

X

Y'

z'

=(X*A+Y»B+Z*C) =(X*D+Y*E+Z*F) = (X*G+Y*H+Z*I)

Table J: Matrix multiplication format.

A

B

C

J

K

L

A'

B'

C

D

E

F

M

N

0

=

D'

E'

F'

G

H

I

P

Q

R

G'

FT

I'

A'= (A*J+B*M+C*P) D'= (D*J+E*M+F*P) G'= (G*J+H*M+I*P)

B'=(A*K+B*N+C*Q) E'=(D*K+E*N+F*Q) H'= (G*K+H*N+I*Q)

C' = (A*L+B*0+C*R) F'=(D*L+E*0+F*R) l'=(G*L+H*0+l*R)

Table 2: 3 by 3 matrix multiplication format.

September 1978©BYTE Publications Inc 157

Circle 298 on inquiry card.

C^V

Don Lancaster's ingenius design provides software controllable options including:

• Scrolling • Full performance cursor

• Over 2K on-screen characters with only

3MHz bandwidth

• Variety of line/character formats including 16/32, 16/64 ....even 32/64

• User selectable line lengths

TELL ME MORE! ( ]

( ) SEND FREE CATALOG

Name:

Send instruction manual for the TVT-6 Kit with full operational details. $1 enclosed.

. Zip:

ELECTRONICS, INC. c«y; state —

DEPT. 9-B, 1020 W.WILSHIREBLVD., OKLAHOMA CITY, OK 73116

RELIABILITY

QUALITY

DEPENDABILITY

ADDRESSING

PROTECT

BUFFERING

LOW POWER

WAIT STATES

QUALITY

GUARANTEE

DELIVERY

PHANTOM

TESTING

BKR5

8K STATIC RAM ASSEMBLED S-100

MEMORY DISABLE IS IMPLEMENTED VIA PHANTOM {PIN G7|

SPECIAL

INTRODUCTORY

PRICE

ASSEMBLED/TESTED

(714)992-5540 2555 E. CHAPMAN AVE. SUITE 604 FULLERTON, CA 92631

43U ns ^3u ns

$14995 $1899-5

CALIFORNIA RESIDENTS ADD 6% TAX

J DIGITAL/ JO.

Types of Transformations

The operations possible using coordinate transform matrices are not limited to shifting and rotating the picture. A number of more drastic changes may be made to the picture. Some of these changes are: magnification, shear, stretching in one direction, and mapping onto a surface.

The following figures and tables show examples of several coordinate transform operations. Each operation is represented by the matrix, the equations for the output matrix elements, and a figure to show how a picture of a well-known object is changed by the operation.

Unit Matrix

Table 3 shows the unit matrix. This transformation reproduces the picture of the object in its original view as defined above. Figure 2 shows a side view of a coffee cup.

1

0

0

X

X'

0

1

0

Y

=

Y'

0

0

1

z

z'

X'= (X*1+Y*0+Z*0) Y'= (X*0+Y*1+Z*0) Z'= (X*0+Y*0+Z*1)

Table 3: The unit matrix.

Figure 2: The standard view (untransformed).

1

0

0

X

X'

0

K

0

Y

=

Y'

0

0

1

Z

Z'

X'= (X*1+Y*O+Z*0) Y'= (X*0+Y*K+Z*0) Z'= (X*0+Y*0+Z»1)

Table 4: Expansion along the Y axis by a factor K.

158 September 1978 © BYTE Publications Inc

Circle 294 on inquiry card.

Scaling

The object may be defined with some shape which is not quite the final version, but which uses easily verified dimensions. Thus, in our example, the height is equal to the diameter, and the square outline in figure 2 quickly shows that the array of data defining the cup is correct in the X and Y dimensions.

Selective magnification along any axis may be used to alter the proportions of the object to a shape that may be nearer that required by the user. Thus, table 4 and figure 3 are appropriate for users with large capacities; table 5 and figure 4 produce a cup for those with wide mouths, while table 6 and figure 6 produce a cup which could be used for filling a pie plate with whipped cream.

If the proportions are correct but the user wants to create several different sizes, table 7 will allow the same magnification to take place along all the axes. One such magnified cup is shown in figure 5.

K

0

0

X

0

1

0

Y

0

0

1

2

X'= (X*K+Y*0+Z*0) Y'= (X*0+Y*1+Z*0) Z' = (X*0+Y*0+Z*1)

0 0

K

X'= (X*1+Y*0+Z*0) Y'= (X*0+Y*1+Z*0) Z'= (X*0+Y*0+Z*K)

K 0 0

0 0 K 0

0 K

X Y Z

X' Y

Z'

= (X*K+Y*0+Z*0) = (X*0+Y*K+Z*0) = (X*0+Y*0+Z*K)

Table 5: Expansion along the X axis by a factor K.

Table 6: Expansion along the Z axis by a factor K.

Table 7: Magnification by a factor K.

Figure 3: Expanded along the Y axis by a factor of1.5.

Figure 4: Expanded along the X axis by a factor of 1.5.

Figure 5: Magnified by a factor of 0.5.

Figure 6: Rotated 90 degrees and expanded along Z axis by a factor of 1.5.

September 1978©BYTE Publications Inc. 159

Shear

The object in its original shape may be boring and conventional in shape and lack individuality. This failing may be rectified as in table 8 and figure 7. To shear the object, the position of a point on the object is displaced from its original position by a function of the point's position along an orthogonal axis. These figures displace the points upward by a value equal to half the horizontal distance to each point.

Table 9 and figures 8 and 9 show shear along the horizontal axis. Figure 9 shows the same object as figure 8 rotated 90° to illustrate that the third axis is unchanged by this operation. As in the other operations, shears along all axes may be combined.

1

0

0

X

X

K

1

0

Y

=

Y

0

0

1

Z

Z

X'= (X*1+Y*0+Z*0) Y'= (X*K+Y*1+Z*0) Z'= (X*0+Y*0+Z*1)

Table 8: Shear along the Y axis in the X, Y plane by a factor K.

1

0 0

K 0

1 0 0 1

X

Y Z

X Y' Z'

= (X*1+Y*K+Z*0) = (X*0+Y*1+Z*0) = (X*0+Y*0+Z*1)

X'

Y'

I Z'

Table 9: Shear along the X axis in the X, Y plane by a factor K.

Figure 7: Sheared along Y by X*0.5.

Figure 8: Sheared along X by Y*0.5.

Figure 9: Rotated 90 degrees, sheared along X.

Rotations

The object may be reoriented in space by rotating it about any axis. A particular angle of view may be arrived at by some sequence of rotations about each axis. This is easily accomplished using the matrices in the following tables.

A point of confusion occurs when using rotations. The order of multiplication of the matrices (or the order of applying the operations to the object) is important. The axes remain associated with the object, not the screen. This means, for instance, that if Ihc rotation in the X, Y plane shown in table 10 is applied first to the object, then subsequent rotations in the other planes happen in the slanted planes (X,Z and Y,Z) shown in figure 10.

It required some care to accurately predict the final picture after several rotations, especially since projected views lack the visual clue due to lines converging at infinity. Tables 11 and 12 along with figures 11 and 12 show the effects of rotation in the other two planes.

160 September 1978 <B BYTE Publications Inc

Figure 12: Rotated 45 degrees in the Y,Z plane.

Figure 10: Rotated 45 degrees in the X, Y plane.

1

0

0

X

X

0

COS(T)

-SIN(T)

Y

=

Y

0

SIN(T)

COS(T)

Z

Z

X'= (X*1+Y*O+Z*0)

Y '= (X*0+Y*COS(T)+Z*-SIN(T))

Z'= (X*0+Y*SIN(T)+Z*COS(T))

Table 12: Rotation in the Y,Z plane.

Figure 11: Rotated 45 degrees in the X, Z plane.

COS(T) SIN(T) 0

-SIN(T)

COS(T)

0

X

X'

Y

=

Y'

Z

Z'

X = (X*COS(T)+Y*-SIN(T)+Z*0) Y'= (X"SII\I(T)+Y*COS(T)+Z*0) Z' = (X*0+Y*0+Z*1)

Table 10: Rotation in the X, Yplane.

COS(T) o

o 1

SIN(T) 0

-SIN(T)

0

COS(T)

X

X'

Y

=

V

Z

z'

X '= (X*COS(T)+Y*0+Z*-SIN(T))

Y'= (X*0+Y*1+Z*0)

Z'= (X*SIN(T)+Y*0+Z*COS(T))

Table 11: Rotation in the X, Z plane.

Why Pay More?

Why pay for more printer than you need? Our series 40 printers offer more features for less bucks than any other commercial quality printer on the market today. A complete stand-alone 40 column impact dot matrix printer with a 64 character ASCII set. Includes power supply, casework and interface electronics. Single quantity price for the parallel ASCII interface model is $425. Serial RS232/current loop interface models start at $575. OEM discounts available.

For more information write to:

MPI 2099 West 2200 South, Salt Lake City, Utah 84119 or call (801) 973-6053.

Circle 265 on inquiry card.

September 1978 O BYTE Publications Inc

161

Combinations

Table 13 shows an example of the sequential application of two rotations using the procedure shown in table 2 to define the elements. Figure 13 combines the three rotations, a magnification and two scale changes along individual axes. Figure 14 applies shear and rotation. Figure 15 shows just the rotation for comparison purposes.

1

0

0

COS(S)

-SIN(S)

0

A'

B'

C

0

COS(T)

-SIN(T)

SIN(S)

COS(S)

0

=

D'

E '

F

0

SIN(T)

COS(T)

0

0

1

G'

H'

I

A'= (1*COS(S)+0*SIN(S)+0*0) C'= (1*0+0*0+0*1) D'

E '= (0*-SIN(S)+COS(T)*COS(S) -SIN(T)*0) G '= (0*COS(S)+SIN(T)*SIN(S)+COS(T)*0) H '= (0*-SIN(S)+SIN(T)*COS(S)+COS(T)*0) I '= (0*0+SIN(T)*0+COS(T)*1)

Table 13: Rotation in the X, Y and Y,Z planes sequentially.

B = (1*-SII\1(S)+0*COS(S)+0*0)

(0*COS(S)+COS(T)*SIN(S)-SIN(T)*0)

F '= (0*0+COS(T)*0-SIN(T)*1)

Figure 13: Magnified, expanded, and rotated.

X+k

I Y+m

Z+n

X'=X+k Y'= Y+m Z'=Z+n

Table 14: matrix.

Translation

Figure 14: Rotated and sheared.

Translation

Moving the object sideways is not shown but is accomplished by adding the translation value to the original value for each axis as shown in table 14.

Figure 15: Rotated but not sheared.

Mapping

All of the examples shown so far have applied the same operation to every point on the surface of the object. The coordinate transform matrix contains the same numbers for all parts of the object. A more complicated operation results when the value (X,Y, Z) associated with a point on the surface of the object is replaced by a function of X, Y, and Z at each point. The result maps the object onto some surface. Thus, if X is replaced by sin(X), for instance, the object will experience a change in scale which changes with X, and the output position of a point on the object which has a value of X equal to zero, and an arbitrary Y and Z is the same as a point with a value of X equal to 180 or 360 if the computer interprets the value of X as degrees.

The result of replacing X by sin(X) pictorially is identical to the projected view of a cylinder, parallel to the Y axis, which has the original view (such as figure 2) painted onto its surface. If the dimensions of the object for this example are such that the width is equal to 360 units, then the cylinder is completely circumscribed by the original view of the object.

In order to make a three-dimensional picture of the mapped figure, the other two dimensions must also be specified. For the example here, the depth must also be mapped by setting Z equal to cos(X). Since the new surface is a cylinder, Y is unchanged.

162 September 1978©BYTE Publications Inc

Circle 289 on inquiry card.

Mapping Example

Figure 16 shows a label to be pasted on the coffee cup. This label, like the cup itself, is defined by an array of data giving the X, Y and Z coordinates of each point. The standard view is in the Z equal to zero plane. A subroutine then replaces the X and Z values with the mapped values in all the points of the array. Since the standard view of the cup is a side view, and the label is to be pasted opposite the handle, 180° is added to X before computing the mapped functions. The lower left corner of figure 16 is coordinate (0,0).

The mapped array of data is now subjected to whatever coordinate transforms are applied to the cup. Figure 17 shows the result as applied to the label alone. Figure 18 shows the completed picture.

Figure 16.

r\

\ r1

7

Figure 17.

Figure 18.

RECYCLE(D) COMPUTERS

| a mm km mi] KM is kwi ii!*i m[*Mmmmmmmmm^,v.mmmmmmmmmmw^:.»]v.mm,Mtm\

BUY tf SELL $ SWAP Hardware & Software

NEW PRODUCT ANNOUNCEMENTS

22 pa«*' Mailed 1st class every 3 Weeks

lyr. (18 issues) # $3.75

■■■(■■■■■■■■■■■■■■■■■■■■■■■■■•■■■■■■mBiiBiiBaiiaaBii

ON LINE 8

Dour JBcttlr. J)ttl)lisl]ft £»tal)Ii>liA !£>7o

24695 Santa Cruz Hwy.. Los Gatos, CA 95030

THE BEST WAY TO DETERMINE IF ON LINE CAN 8E OF VALUE TO YOU IS TO TRY A ....

A PROFESSIONAL COMPUTER TERMINAL FOR THE HOBBIEST

SINGER

7100/7102

New & Reconditioned Terminals with ASCII Code

FEATURES: 7100

$650. to $1295.

• ASCII CODED without tape punch or reader

• 110 to 150 BAUD (11 to 15 CPS adjustable)

• Word Processing Quality • RS232 Serial or Current loop Interface • Nationwide Service

• Warranty • Off line use as Typewriter

• (Option) Special Interfaces available for Hobby Computers (state which when ordering)

7102

• Same features as 7100 plus tape punch & reader

TERMS:

C.O.D. and

Cashier's Check Shipping and

Handling $35.00 ea.

HK

COMPUTER CORPORATION

H&K COMPANY

15 East 31st Street

Kansas City, Missouri 64108

(816) 561-1776

Circle 151 On inquiry card. September 1978 ©BYTE Publications Inc 163

Figure 19 shows the same object as figure 18, rotated 180°. While most viewers see the cup with the handle toward them, "looking down into it" in figure 18, many find that figure 19 alternates between looking down ifito it with the handle away from the viewer, and looking up at it from the bottom, with the handle at the top. This example shows that a relatively minor change in viewpoint may produce a great change in terms of the clarity of the information presented.

Figure 19,

Listing 1.

2000

2002 2803 2004 200S 2010 2090 2100 2140 2150 2160 2170 2180 2190 2195 2200 2490

DELETE Al,A2,BI,B2,63,64,65,86,87,B8,B9,CI,C2, C3, VI, C4, V2

DIM AIC262,4),A2C262,45,6K3,3),62C3,3),B3C3,3),B4C3,3),B5C3,3)

DIM B6C3,3),B7C3,3J,B8C3,33,69C3,3),C1C3,3),C2C3,3),C3C3,33,C4C3,33

DIM VK3, 0,V2C3, 13

REM THIS SU8R0UTINE DEFINES THE CUP

GOSUB 2500

REM THIS SU8R0UTINE DEFINES THE TRANSFORM MATRICES

G0SU6 2540

REM THIS SUBROUTINE MULTIPLIES ALL THE MATRICES TOGETHER

GOSUB 3120

REM THIS SUBROUTINE CHANGES Al TO A NEW VIEW.A2

GOSUB 5500

REM THIS SUBROUTINE CHANGES THE CUP FROM USER DATA UNITS TO GDU'S

GOSUB 5240

REM THIS SUBROUTINE DRAWS THE FIGURE

GOSUB 5200

END

2535 REM Bl ROTATES IN THE X,Y PLANE BY Tl DEGREES

2540 B1=0

2550 B1CI,O=C0SCTO

2560 B1CI,2>—SINCTO

2570 BIC2,l)=SIN<T1>

2580 BK2,2)=C0SCTO

2590 BK3,3)=1

2600 REM B2 ROTATES IN THE X,Z PLANE BY T2 DEGREES

2610 82=0

2620 B2CI,O=C0SCT2)

2630 B2CI,3)=-SINCT2)

2640 B2C2,2)=1

2650 B2C3, 0=SINCT2>

2660 B2C3,3>=C0SCT2)

2670 REM B3 ROTATES IN THE Y,Z PLANE BY T3 DEGREES

2680 B3=0

2690 B3CI, l>l

Mapping Uses

Mapping may be used to compress the picture of an object to fit it into a particular space, to selectively emphasize some part while compressing the rest, such as the region near X equal to zero or 180° in this example. Or it may be used to picture some complicated configuration which is more easily defined in a rectangular coordinate system. Thus, a simple rectangular electrode configuration expressed in Cartesian coordinates may be used to compute the electric field lines at each point in the configuration. Mapping processes plus the coordinate transforms may then be used to change the known field picture into one for a complicated electron gun in a cathode ray tube.

Excerpts from the BASIC program which produced the pictures in this article are shown in listing 1. The machine used is a Tektronix 405 J graphic computer with a 4662 plotter, with matrix read only memory. The matrix command A MPY B is specific to this equipment. The rest of the program is In a fairly standard BASIC.

Lines 2000 to 2490 comprise the main program which draws the coffee cup. The purpose of each subroutine is noted. The program defining the various matrices in terms of viewpoint parameters is shown in lines 2535 to 3010. The program to combine the matrices into a single 3 by 3 matrix, C4, which is applied to the drawing is listed in lines 3120 to 3200. The A MPY B format does the matrix multiplication. In a machine without this extension, a subroutine using the equation listed in the various figures would do the same job, but take much more space.

Lines 4000 to 4300 show part of the much longer listing which defines the cup: Al (N,l) = X, Al (N,2) = Y, A1 (N,3) = Z. The variable A1 (N,4) is a secondary address used with a form of the print command to make it move (21) or draw (20). This is a faster way to draw on the Tektronix machine. Lines 4050 to 4140 draw the top and bottom circle.

Lines 5240 to 5270 convert the cup dimensions to graphics display units (GDUs) which are required to use this style of drawing commands. This program, with all arrays, filled, uses about 28,500 bytes of memory. Incidentally, lacking a printer, I printed the program using the plotter.

164 September 1978 © BYTE Publications Inc

Circle 291 on inquiry card.

2780 B3C2,2)=COSCT3)

2710 B3C2,33=-SINCT3)

2720 B3C3,2)=SINCT35

2730 B3C3,3>C0SCT3:>

2740 REM B4 IS THE UNIT MATRIX

2750 B4=0

2760 B4CI,0 = 1

2770 B4C2,2>I

2780 B4C3.3)-1

2790 REM B5 EXPANDS ALONG THE X AXIS BY Kl

2800 B5=B4

2810 BSCI,l5=Kt

2828 REM B6 EXPANDS ALONG THE Y AXIS BY K2

2838 B6-B4

2848 B6C2,2>K2

2858 REM B7 EXPANDS ALONG THE Z AXIS BY K3

2860 B7-B4

2870 B7C3,3>K3

2880 REM B8 MAGNIFIES BY K4

2890 B8=K4»B4

2900 REM B9 REELECTS IN THE Y=X PLANE

2910 B9=0

2920 B9<1,2>"1

2930 B9C2, 0 = 1

2940 B9C3,3>I

2958 REM CI SHEARS ALONG THE X AXIS BY KS X/Y RATIO

2960 CI=B4

2970 CKI,2)=K5

2980 REM C2 SHEARS ALONG THE Y AXIS BY K6 X/Y RATIO

2998 C2=B4

3088 C2C2,0=K6

3810 RETURN

3120 C3=B6 MPY B5 3130 C4=B7 MPY C3 3140 C3=B8 MPY C4 3158 C4=C1 MPY C3 3160 C3-C2 MPY C4 3178 C4=B2 MPY C3 3180 C3=B3 MPY C4 3190 C4=BI MPY C3 3280 RETURN

4880 REM THIS PART FORMS THE TOP AND BOTTOM EDGE OF THE CUP

4018 Aid, 13 = 10

4828 Aid,23 = 18

4030 A1C1,35=0

4048 AKI,43-21

4050 FOR N=0 TO 360 STEP 9

4860 AKN/9+2, I ) = l 0-COSCN)

4070 AKN/9*2,3>t0«SINCN)

4080 AKN/9+2,23 = 10

4090 AKN/9+2,43=28

4100 AKN/9+44, !3=AKN/9+2, I 3

4110 AKN/9+44,33=AKN/9+2,33

4120 AKN/9+44,23=-10

4130 AKN/9+44, 43=20

4140 NEXT N

4142 AK43.13-AK44, 13

4144 AK43,23=AK44,23

4146 AK43,33=AK44,33

4148 A1C43,43=21

4150 REM AI IS FILLED TO t84 AT THIS POINT

4168 AK85, 13-10

4178 AK8S,23-0

4180 AK85,33=1

4190 AK85, 43=21

4208 REM THIS PART DRAUS THE OUTSIDE OF THE HANDLE

4210 FOR N-0 TO 180 STEP 9

4220 AKN/9+86, 1 3=5»SINCN3 + I8

4238 AKN/9+86,23=5-5»COSCN3

4248 AKN/9+86,33=1

4258 AKN/9+86, 43=28

4268 AKN/9+187,13=AKN/9+86, 13

4270 AKN/9+107,23=AKN/9+86,23

4280 AKN/9+187,33 — 1

4290 AKN/9+187, 43=28

4300 NEXT N

5200 FOR N=1 TO 262

5210 PRINT 8I,A2CN,43-A2CN,I3,A2CN,23

5220 NEXT N

5230 RETURN

5240 FOR N=l TO 262

5258 A2CN,13=A2CN,I3/I5-48+S0

5260 A2CN,23=A2CN,23/15»40+S0

5270 A2CN,33=A2CN,33/15»40

5280 NEXT N

5290 RETURN

5588 FOR N=! TO 262

5510 VKI,13=AKN,13

5520 VK2, I3=AKN,23

5530 VK3, I3=AKN,33

5540 V2=C4 MPY VI

5550 A2CN,13=V2C1,I3

5568 A2CN,23=V2C2,13

5570 A2CN,33=V2C3,13

5580 A2CN,43=AKN,43

5600 NEXT N

5618 RETURN ■

DCT Dtl,

UOUDIDNT

OAE'S new PP-2708/16 PROM Programmer is the only programmer with all these features:

• Converts a PROM memory socket to a table top programmer: No complex interfacing to wire —just plug it into a 2708 memory socket*

• A short subroutine sends data over the address lines to program the PROM

• Programs 2 PROMS for less than the cost of a personality module. (2708s and TMS 2716s)

• Connect 2 or more in parallel — super for production programming

• Complete with DC to DC switching invertor and 10

<:^p* ^ *Pat's Rending

turn cermet trimmers (for precision pulse width and amplitude alignment)

• All packaged in a handsome aluminum case

PP-2708/16 . .A & T $295.

PP-2716 (Programs Intel's 2716) A & T $295.

OAE

Oliver Advanced Engineering, Inc.

676 West Wilson Avenue

Glendale, Calif. 91203

(213) 240-0080

Retro-Graphics™

For your Dumb Terminal.® The

Graphics PC card mounts easily in the Lear Siegler ADM-3A to provide you with an affordable graphics computer terminal. Features:

• Z-80 Based • Point Plotting

• 512 by 250 • Automatic Vector Dot Matrix Generation

• Simple Plug-in • Optional TEKTRONIX Interconnect Software Compatibility

You will be impressed with the packaging, performance and price of the Retro-Grahics card. Write or phone today for complete specifications. DIGITAL RESEARCH & ENGINEERING

5223 Glide Drive • Davis, CA 95616 (916) 756-8055

Dumb Terminal is a registered trademark of Lear Siegler Inc.

Circle 103 on inquiry card. September 1978 ©BYTE Publications Inc 165

WADUZITDO:

How To Write a Language in 256 Words or Less

Larry Kheriaty

Computer Center

Western Washington University

Bellingham WA 98225

Every computer owner likes to show his or her microcomputer to friends. The first question the friends usually ask is, "What does it do?" The software system presented here demonstrates what a computer can do in a manner simple enough for almost anyone to understand. Even if you have a larger, more capable system, it is often worthwhile to be able to demonstrate something that can be accomplished on a smaller scale. WADUZITDO is small enough to run on almost any microcomputer yet it allows even the novice user to make the computer "do something."

WADUZITDO is a complete high level language processor that fits in less than 256 bytes on either a 6800 or 8080 based system. The only other requirement is some kind of terminal. The system includes a text editor to allow a program to be entered and modified, and an interpreter to execute the program. The only external routines needed are single character input and single character output such as those provided by most system monitors.

The object of WADUZITDO is to run simple conversational programs. There are just five statement types, roughly derived from the PILOT language. To keep it small only the most essential capabilities are available. This also makes programming very easy. In fact, only a few minutes after my unsuspecting spouse had asked, "What does it do?", she had written the interactive dialogue program in listing 1 to help me make out a list of acceptable birthday gifts!

Programming in WADUZITDO is straightforward and uncomplicated. For example, to direct the computer to display a line of text on the terminal you use the type statement. The following example shows the format of the type statement.

T:WHAT COULD BE EASIER THAN THIS?

The T is the operation code for type. A colon always follows the operation code.

The text after the colon is displayed exactly as shown.

The accept statement allows the program to receive one input character from the terminal keyboard. Normally it is used after a type that asks for a response. For example:

T:CAN YOU TELL ME WHAT 2 + 3 EQUALS?

The accept statement is just the A operation code followed by a colon. When it is encountered execution pauses until the user keys in any single character. Then the inputcharacter is saved internally for use in subsequent match statements.

The match statement is used to test the character entered by the user on the previous accept. Match is coded as an M (the operation code), followed by a colon and one character. The character in the statement is compared to the last character entered by the user. The result of the comparison is recorded internally in the match flag: Y if the match is equal, N if it is not equal.

Once set the match flag can be used to conditionally execute or skip any subsequent statement. This is done by placing either a Y (yes) or N (no) immediately before any operation code. If the Y or N is the same as the match flag the statement is executed, otherwise it is skipped. An elaboration of the previous example illustrates the use of match.

T:WHAT IS 2 + 3?

A:

M:5

YT:FIVE, RIGHT.

NT:NO,THE ANSWER IS 5.

Normally statements are executed se

166 September 1978 © BYTE Publications Inc

quentially. The jump statement is used to alter the normal sequence. The format of the jump statement is J, followed by a colon, and a number from zero to nine. The statement J:0 causes a branch back to the last accept statement executed. Execution resumes from that statement. The J:0 statement can be used to allow the user to reanswer a previous question. For example:

T:HOW MANY FEET IN A YARD?

M:3

YT:RIGHT.

NT:WRONG STUPID, TRY AGAIN.

Nj:0

The second form of the jump makes use of program markers. A program marker is an asterisk, *, preceding any statement. The statement J:n, where n is a number from 1 to 9, causes a branch to the nth program marker forward from the jump. This form of the jump is shown in the sample program in listing 2 which plays NIM.

The last type of statement is stop. This statement merely terminates execution of the program and returns control to the program editor. The format of the stop statement is S:

To increase the versatility of the language the S: statement can, at the user's option, be made to call a user written machine language subroutine from within the WADUZITDO program. To do this requires a one statement modification to the system which is detailed below. If you choose to make this modification you can consider S: to be the operation code tor subroutine rather than stop. The format of the subroutine statement is S:x where x is any single character which serves as a parameter to the user written program. The value x will be stored in register A in both the 6800 and 8080 version. It can be used to select different functions to be performed by the program.

During execution any statement which does not fit the syntax of one of the five statement types is printed in its entirety, then execution resumes normally with the next statement. Table 1 summarizes the WADUZITDO instruction set.

When WADUZITDO is first entered con

T:IT IS BIRTHDAY LIST TIME.

T:THE PURPOSE OF THIS PROGRAM IS TO

TSBETERMINE WHAT GIFTS ARE ACCEPTABLE.

T:TYPE THE CODE LETTER ASSOCIATED WITH

T:THE POTENTIAL GIFT IDEA...

T: A HOME APPLIANCE

T: B SOMETHING BORING

Ti C ITEM OF CLOTHING

T: D SOMETHING DECORATIVE FOR THE HOUSE

T: G GARBAGE DISPOSAL

T: M MY OWN COMPUTER

A:

M:A

YT:UNACCEPTABLE.

M:B

YT:NO WAY.

M:C

YT:ACCEPTABLE IF NOT UGLY.

M:D

YT:0KAY IF CHOSEN WITH GOOD TASTE

YT:S0 AS NOT TO BE TACKY.

M = G

YT:YEAH i

M:M

YT:THE LAST THING IN THE WORLD

YT:I WOULD EVER WANT.

NM:A

NM:B

NM:C

NM:D

NM:G

NT:CANT YOU READ FOOLr THAT IS NOT

NT:ONE OF THE CHOICES.

NT:TRY ArBrCiD.G OR M

J:0

T:LETS PLAY NIM WITH 7 PEBBLES.

T:WE TAKE TURNS TAKING 1»Z OR 3.

T:THE LAS! ONE TO TAKE ONE LOSES.

T:THERE ARE 7- HOW MANY ?

A:

M: 1

Y.J: 1

M: Z

YJ:Z

M: 3

Y.J: 6

T:Y0U CAN TAKE ONLY 1,1, OR 3.

Js0

*T:THAT LEAVES 6i I IAKE 1 LEAVING 5.

T:H0W MANY ?

A:

M: 1

YJ:5

M:Z

Y J : 4 M : .3 Y.J: 3

T:YOU MUST TAKE 1rI OR 3.

.J:0

*T:THAT LEAVES 5. I TAKE 1 LEAVING 4.

T:HOW MANY ?

A:

M: 1

Y J : 3 M:Z

Y J : 2 Hi 3 YJ: 1

T:Y0U MUST TAKE lrZ OR 3 ONLY .

J:0

«T:THAT LEAVES THE LAST ONE.

T: I TAKE IT ... YOU WIN.

J: 5

*T:THAT LEAVES it 1 TAKE 1 LEAVING 1.

.J: 3

*T:THAT LEAVES 3r I TAKE Z LEAVING 1.

J12

*T:THAT LEAVES 4. I TAKE 3 LEAVING 1.

»T:HOW MANY ?

A:

M: 1

NT:YOU HAVE NO CHOICE BUT TO TAKE 1.

NT:HOW MANY ?

NJ:0

T:YOU JUST TOOK THE LAST ONE ... I WIN.

*T:T0 PLAY AGAIN PUSH THE DOLLAR SIGN.

Listing I: WADUZITDO program written by a noncomputer person. Notice the last line of the program, the \:0 command. This instruction will make the program execution jump back to the accept statement to try another input.

Listing 2: A NIM playing program. This program demonstrates the jumping capability of the language.

September 19780BYTE Publications Inc 167

STATEMENT

FORMAT

WHAT IT DOES

type

T:text

Display text on the terminal.

accept

A:

Input one character from the terminal keyboard.

match

M.x

Compare x to last input character and set match flag to Y if equal, N if not equal.

jump

J:n

If n=0 jump to last accept.

If n=1 thru 9 jump to nth program

marker forward from the J.

stop

S:

Terminate program and return to text editor.

subroutine

S:x

Call user machine language program (requires modification).

conditionals

Y

N

May precede any operation code. Execute only if match flag is Y, Execute only if match flag is N.

program marker

•

May precede any statement, serves as a jump destination.

Table I: Program instructions for the WADUZITDO language.

EDIT CHARACTER

HEX

MEANING

$

24

Start execution.

\

5C

Move edit pointer to program start.

/

2F

Display next line of program.

%

25

Pad inserted line with nulls.

bs or —

08 or 5F

Backspace to correct typing error.

cr

0D

End of statement.

any other

Character stored in program and edit pointer advances.

Table 2: Editing characters used by the built-in text editor.

trol is passed to the program editor which is used to enter or alter source programs. Also an internal program pointer, called LOC, is automatically set to the beginning of the source area. As each statement is entered on the keyboard the characters are stored and the internal pointer advances. Typing errors may be corrected by entering a backspace and the correct character. To reset the pointer to the start of the program enter a backslash, \. To display the next line of the program enter the mirror image of the reset slash, /. To replace a line, display each line up to but not including the one to be replaced, then enter the new line. The new line should be no longer than the line it replaces. If it is longer, the next line of text is also overwritten. End the replacement line

with a percent key rather than a carriage return. The % causes null characters to be stored as filler up to the start of the next line. To begin execution of the program enter a dollar sign, $. (The editing commands are summarized in table 2.)

If you already have a good text editor in your system it may be used instead of the one included. Each statement is variable length, terminated by a carriage return character. All other control characters between statements are ignored.

Complete 6800 and 8080 assembly listings containing source and object code are included to simplify implementation on your system. The 6800 version in listing 3 uses the MIKBUG monitor; the 8080 version in listing 4 uses the SOLOS/CUTER monitor. If you have one of these two system monitors you need not modify the program at all.

The entry point to the system is at location zero. Upon entry the stack pointer is assumed set to address some scratchpad memory area large enough to accommodate a few levels of call. In MIKBUG or SOLOS/ CUTER, as with most system monitors, this is handled automatically by the GO or EXEC command. The 2 byte value stored in LOC (hexadecimal 100) must point to the place where the user program is to be stored. In the assembly listings note that this value is shown as hexadecimal 0106, the first location not occupied by the system.

If you don't have one of the above monitors you must supply character input and character output routines and change the references to IN and OUT to address these routines. In the listings you will find one reference to IN and one to OUT which needs to be changed. If your terminal requires a delay after each carriage return you can set the number of null padding characters by a one byte modification to the statement labeled PLF.

Any of the special characters used by the text editor ($, %, \, I, bs) can be easily changed to another more convenient character on your keyboard.

As shown in the assembly listings the S: statement halts execution by branching to the text editor. If you don't modify this you can treat it as a stop statement. To use it as a subroutine call you must modify the J MP SUB instruction to be a JSR or CALL (depending on the system) to the appropriate address. Upon entry to the subroutine

Text continued after listings on page 173

168 September 1978 © BYTE Publications Inc

S-IOO Kits at Discount Prices

'II slot mother board with sockets and active terminator $80** •16 K EPROM board for 2708's $48~ ■8 K static ram $125"

There's much more, including complete systems; send for our flyer.

PCE ELECTRONICS

4782 DEWEY DRIVE FAIR OAKS, CA. 95628

■ Master Charge • Add 5% for shipping. ' Visa aicass rafundad. •Phone orders • Calif, resident! add

(916)966-7033 6% soies las.

■ No COD

SURPLUS ELECTRONICS

ASCII

ASCII

IBMSELECTRIC

BASED I/O TERMINAL

WITH ASCII CONVERSION

INSTALLED $695.00

• Tape Drives • Cable

• Cassette Drives • Wire

• Power Supplies 12V15A, 12V25A, 5V35A Others, • Displays

• Cabinets • XI- MRS • Heat Sinks • Printers • Components Many other items

Write for free catalog WORLDWIDE ELECT. INC. 10 FLAGSTONE DRIVE HUDSON, N.H. 03051 Phone orders accepted using VISA or MC. Toll Free 1-800-258-1036 In N.H. 603-885-3705

CANADIANS Announcing

HAMILTON LOGIC SYSTEMS

Specializing in logic devices, microprocessors,

memorys, TTL, Cmos, etc.

Send for your catalogue

Box 7

STONEY CREEK

ONTARIO L8G 3X7

Circle 288 on inquiry card.

Circle 395 on inquiry card.

Circle 153 on inquiry card.

MICRO VERTER

A SPECIAL COLOR MODULATOR FOR APPLE It USERS!! UHF Vernon. Operates above channel 14. Eliminates worms

Operates above (tie switching harmonics of the computer, rherebv yielding a cleaner, worm-free picture. Tunable over a minimum of 4 channels. Interfaces directly with the Apple II as well as most other micros. Comes with video cable and RF output stub coupler, Two-toned cowl type decorator cabinet. Size: 5,5cm x 8.5cm x II.5cm.

Power:+5V. Current appro*. I ma, Self-powered with 4 pencell batteries. Operating life in excess ot I 000 hours or near shelf-life of batteries. Excellent stability. Precise frequency adjustment. Ho assembly required except for installation of batteries, not supplied. MODEL MVX-500.

AVAILABLE FROM YOUfl LOCAL COMPUTER DEALER or direct from ATV RESEARCH. COST including shipping anywhere in USA and Canada— $35.00.

"PIXE-PLEXER1' An IC type video-to-RF modulator includes FM sound sub-carrier, color subcarrier and separate R-Y and B-Y inputs. Designed around the LM-1889 chip. A designers dream with full data sheets. Model PXP-4500. Kit form. $24.50 postpaid.

"PIXE-VERTER" The original computer video-to-RF

interface module. Kit form: S8,50 Model PXV-ZA

TnToH^^R^^ODAY^DIA^^^nTTin

—'rt €Vi

ATV Research Dakota City, Nebr.

Circle 1 7 on inquiry card.

THE

COMPUTER H ARDWARG STORG INC.

Dealers for: APPLE II, IMSAI VECTOR GRAPHIC KIMI.OAE CYBERNEX.JIMPAK

With ALPHA-1 CASSETTE SYSTEM

16 Bits ALPHA MICRO TECHNICO STARTER SYSTEM

Catalog Available

818 FRANKLIN ST.. ALEX.. VA. 703-548-8085

9 WEST CARY ST.. RICHMOND. VA. '&

Circle 72 on inquiry card.

Disc/3

DISC/3 COMPANY

COMPLETE MICRO

BUSINESS SYSTEMS

SOROC IQ 120 $ 899.95

Assembled

LEAR SIEGLER $ 799.95

ADM-3A kit

IMSAI 8080 kit $ 599.95

CENTRONICS Business $1145.00 Printer (132 columns)

Disc/3

DISC/3 COMPANY

1840 LINCOLN BLVD.

SANTA MONICA, CALIF. 90404

(213)451-8911

Circle 105 on inquiry card.

USR-310 ORIGINATE ACOUSTIC COUPLER

Operates With

Any Standard telephone

$139

Direct1

Telco2

Connect

DAA

Style

Style

$324

$185

$299

$160

Also Available

USR-330 Originale/Auto Answer Modem USft-320 Auto Answer Only Modem

11 FCC Certified Package Connection to phone lines via standard extension phone lack )

(2 Connection to phone lines via CBS 100IF DAA which can be leased tiom phone company lor appro* S5 00.'mo plus installation lee) INTERFACES:

• USR3I0 - RS232C only

• USR 320 and USR 330 - RS232C and 20mA

(Specily with order II both interlaces are required, add $10 lo unit price) ALL UNITS FEATURE;

• 0 3C0 Baud Data Rate

• . Stand Alone Unit

• Hall/Full Duplex

• 90 Day Warranty

Prices include Shipping and handling Residents add b"o sales tax

Fully Assembled and

Testec

Optional Annual

Maintenance Coverage

in continental US Illinois

U.S. ROBOTICS, INC.

En. 5502 / Chicago. Illinois 60680 / 13121 528 9045

^ But You Only Need

+t-THE COMPUTER CORNER1

"*+_ • SOL - A New Dawn is Here!

">f~ • COMMODORE PET & KIM

~>{~ »NORTHSTAR HORIZON

■**" • IMSAI VDP-80

~**~ • Memories & I/O Boards —

-*4

-»— •Computer Book Service _

-p\— •Magnetic Tapes & Disks _

-H— • Full Line of Magazines _

_H_ •Brain Games 81 Puzzles

-p+- •Workshops & Ciub Information _

~y~ Visit THE COMPUTER CORNER for '

.. all your computer needs. Stop in and

w browse — you'll like our personal service.

_pi_ THE COMPUTER CORNER

White Plains Mall - Upper Level

•W- 200 Hamilton Avenue

-pi- White Plains, New York 10601

Tel: 1914) WHY - DATA

.V 10-6 Daily S. Saiurday >W

V . 10-9 Thursday \ >W

f

TRS80

>* presents ■'

RECIPES (programs) on CASSETTE TAPES for your hungry TRS 80—with lots ot graphics!!

All programs written to run on your TRS 80—Level I (4k or more RAM). Free COOKBOOK (catalog) ot cassettes with other recipes (programs) included.

CASSETTE 8010: UFO Battle* Checkbook • Draw Poker • Pile High • Poker Dice • Snoopy (graphic). CASSETTE 8020: Monthly Minder • Slot Machine • Dart Throw • Venus Touchdown • Number Guess • Tic Tac Toe.

S 9.50 per cassette, $18.00 for both.

Send Check or Money Order to

THE COMPUTER PANTRY

2224-C Old Middlefield Way

Mountain View. CA 94043

(415)964-4175

The Pantry pays postage and tax" Prompt Delivery

Circle 386 on inquiry card.

Circle 65 on inquiry card.

Circle 77 on inquiry card.

Figure I: A bsolute loader format representation of the 6800 WA DUZITDO program of listing 3.

0 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 I

0 12 3 4 5 6 7X90

0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0

0 I 3 4 6 7 9 A C D 092A2B3C5E

0000 FE 0100

0003 8D 45 0005 81 5C 0007 27 F7

IN

OUT

SUB

WADUZITDO

300 VERSION BY LORRY KHERIATY

USED INPUT FROM KEYBOARD TO ACCA OUTPUT FROM ACCA TO TERMINAL

M1KBUG SUBROUTINES

EQU *L 1AC

EQU 1E1D1

ORG 10000

EQU *0000 USER SUBR START (CAN BE MODIFIED) * ENTER SYSTEM AT LOCATION 0 WITH STACK POINTER PRESET « TO SCRATCH PAD RAM ENOUGH FOR A FEW LEVELS OF CALL START LDX LOC SOURCE PROGRAM AREA START EGET BSR JIN ACCEPT SOURCE CHAR

CMP A #*5C \ "'

BEQ START YESr BACK UP TO PROGRAM START

0009 81 24 000B 27 45

CMP A #$24 BEQ EXEC

YES

GO EXECUTE THE PROGRAM

000D 81 08

000F 26 03

0011 09

0012 20 EF

0014 81 2F

0016 26 07

0018 BD 00D5

001B 8D 21

001D 20 E4

00 IF 81 25

00Z1 26 12

0023 86 0D

0025 8D 27

0027 86 0D

0029 C6 40

002B Al 00

002D 27 06

002F 6F 00

00 31 08

0032 5A

0033 26 F6

0035 A7 00

0037 08

0038 81 0D 003A 27 DF 003C 20 C5

003E C6 00

0040 4F

0041 8D 0B

0043 5A

0044 2A FA 0 0 46 86 0A 0048 20 04

004A BD F.1AC

004D 39

004E BD KID 1

0051 39

CMP A #*08 BS ?

BNE DIS NO

DEX YES. BACK UP ONE IN SOURCE

BRA EGET LOOP BACK » PROCESS DISPLAY OF NEXT LINE

DIS CMP A #$2F / ?

BNE PAD NO

JSR PRT GO PRINT TO CR

EPLF BSR PLF PRINT LINE FEED AND NULLS

BRA EGET LOOP

« DO LINE REPLACEMENT- PAD TO END OF STMT WITH NULLS

PAD

CMP A #*25 BNE CHAR LDA A #$0D BSR JOUT LDA A #*0D LDA B #*40 CMP A 0,X BEQ CHAR CLR 0,X INX DEC B BNE

PADL

« STORE ENTERED SOURCE

CHAR STA A 0.X INX

CMP A #*0D BEQ EPLF BRA EGET

X ?

NO

CR

PRINT IT

CR

COUNT OF 64

AT CR YET ?

YES QUIT PADDING

PAD WITH NULL

INCR LOC PTR

DECREMENT SAFETY COUNTER

LOOP TILL CR OR 64 NULLS

CHAR IN PROGRAM

CHAR TO SOURCE LOC

MOVE LOC PTR UP ONE

IS IT A CR ?

YES, ECHO A LINE FEED

NO, GET ANOTHER CHAR

SUBROUTINE TO PRINT LINE FEED TO TERMINAL

PLF

PLFL

LDA B #100

CLR A

BSR JOUT

DEC B

BPL PLFL

LDA A #$0A

BRA JOUT

FEW LINES M

JSR RTS JSR RTS

IN

NUMBER OF NULLS TO PRINT

NULL

WRITE A NULL

DECREMENT COUNTER

LOOP TILL ENOUGH NULLS

LINLFFEED

BE ALTERED IF YOU DONT USE MIKEUG CALL CHAR INPUT ROUTINE RETURN TO CALLER CALL CHARACTER OUTPUT ROUTINE RETURN TO CALLER

COME HERE TO BEGIN EXECUTION OF THE SOURCE PROGRAM

0052 FE 0100

0055 09

0056 08

0057 A6 00 0059 81 2A 005B 2F F9

LOOP I LOOP

LDX LOC

DEX

INX

LDA A 0,X

CMP A #*2A

BLE LOOP I

STARTING LOC OF PROGRAM

LESS ONE

ADR OF NEXT PGM BYTE

NEXT PGM BYTE

* CHAR ?

YES(OR IGNOREABLE CONT CHAR)

005D 81 59 005F 27 04 0061 81 4E 006 3 26 OF

0065 03

0066 Bl 0105 0069 27 EC

006B 08 006C A6 00

PROCESS Y OR N FLAG TESTS

CMP A #$59 Y ?

BEQ TFLG YES

CMP A #*4E N ?

BNE

XA

INX

CMP A FLG

BEQ LOOP

A FLAG FAILURE, INX LDA A 0,X

BRANCH IF NOT A FLAG TEST

STEP LOC OVER Y OR N

COMPARE TO CURRENT MATCH FLAG

ITS EQUAL SO EXECUTE THE STMT

SKIP OVER THE STMT STEP LOC PTR NEXT CHAR IN PGM

(I 0 0 0 0 0 0 0 0 0 0

0 0 0 0 0 0 0 0 0 0 I

OI234567X9 0

Listing 3: 6800 version of the WA DUZITDO language. A dump of the MIKBUG format of WADUZITDO (shown in listing 3a, page 7 72) can be used for manual entry of the program. This version was run locally at B YTE using a SwTPC 6800.

170 September 19786BYTE Publications Inc

Figure 2: Absolute loader format representation of the 8080 WADUZITDO program of listing 4.

006E 31 0D 0070 26 F9 0072 20 EZ

0074 31 0076 0078 FF 007B 3D 007D B7

0030 08

0031 36 0083 3D

41 26 11 0102 CD 0104

0D

C9

0085 3D B7 0087 20 CD

CMP A #$0D BNE SKIP BRA LOOP I

TO END OF STMT ? NOT YET, SO LOOP AT NEXT STMT- GO DO IT

PROCESS ACCEPT STATEMENT

CMP A #»41 A ?

BNE XM NO

STX LST YES, SAVE LOC OF LAST ACCEPT

BSR JIN ACCEPT ONE CHAR FROM KYBD

STA A CHR SAVE IT

INX MOVE OVER A

LDA A #$0D CR

BSR JOUT PRINT IT

BSR PLF PRINT LINE FEED

BRA LOOPI STEP OVER : AND GO ON

00000000 0 000

0 0000000001 I

0 12 3 4 5 6 7 8 9 0 1

0 0 00000000 0

0 000000000 0

0 1 3 4 6 7 9 A C D F

0 9 2 B 3 B 4 C 4 D 6

PROCESS MATCH STMT

0089 81 4D 008B 26 1Z 008D 08 008E 08 008F A6 00

009 1 0093 Bl 0096 27 0098 C6 009A F7

C6 59 01 e

4E 0105

CMP BNE INX INX LDA LDA CMP BEQ

#$4D XJ

0,X #$59 CHR MX

LDA B #$4E STA B FLG

BRA

LOOPI

M ?

NO

STEP

STEP

GET

ASSU

COMP

BRAN

RESU

SET

STEP

OVER M

OVER :

MATCH CHAR ME Y

MATCH CHAR TO INPUT CHAR

CH IF IT MATCHES,FLC=Y

LT IS N

MATCH FLAG TO Y OR N

OVER MATCH CHAR AND GO ON

009F 81 4A 00A1 24 17 00A3 E6 02

PROCESS JUMP STATEMENT

CMP A #$4A J ?

BNE XS NO

LDA B 2tX DESTINATION

00A5 14 GIF

00A7 26 05

00A9 FE 0102

00AC 20 A9

AND B *$0F CLEAR ZONE

BNE JF ITS A JUMP FORWARD

LDX LST ZERO.. JUMP BACK TO LAST

BRA LOOP CONTINUE FROM THERE

00AE 08 00AF A6 00 00B1 31 2A 00B3 26 F9 00B5 5A 00B6 26 F6 00B8 20 9C

FORWARD UNTIL PA

INX

LDA A 0,X

CMP A **2A

BNE JF

DEC B

BNE JF

BRA LOOPI

IS IN ACCB )

N ((--MARKERS STEP PGM LOC NEXT CHAR • -MARKER ■' NO, KEEP LOOPING FOUND ONE, COUNT IT LOOP IF NEED TO FIND MORE DESTINATION FOUND, GO EXECUTE

00BA 81 53 00BC 26 0A 00BE 08 00BF 08 00C0 A6 00 00C2 08

00C3 7E 0000 00C6 20 8F

PROCESS ' CMP BNE INX INX LDA INX

NEXT STMT JMP BRA

TOP OR

A #$53

XT

MAY BE SUB LOOP

SUBROUTINE STATEMENT

C 5

NO

STEP OVER S STEP OVER : PARAMETER TO REG A STEP OVER PARAMETER MADE TO BE A JSR TO USER SUBR

GO TO USER SUBR (OR TO EDITOR) GO ON UPON RETURN FROM USER SUBR

00C8 81 54

00CA 26 02 00CC 08 00CD 08

00CE 8D 05

00D0 BD 003E

00D3 20 32

PROCESS TYPE STA A #$54 TE

CMP BNE INX INX BSR •JSR BRA

PRT PLF LOOP

TMENT AND SYNTAX ERRORS T 1

NO, ITS AN ERROR YES, STEP OVER T STEP OVER : PRINT UP TO CR PRINT LNE FEED DONE WITH T

00D5 C6 40

00D7 A6 00 00D9 5A

00DA 27 0A

00DC BD 004E

00DF A6 00 00E1 08

00E2 81 0D

00E4 26 Fl 00E6 39

* SUBR TO PRINT UP TO NEXT CR

PRT LDA B #$40 COUNT OF 64

PRTA LDA A 0,X NEXT CHAR

DEC B DECREMENT SAFETY COUNTER

BEO PRTB EXIT IF OVER 64 TILL CR

JSR JOUT PRINT IT

LDA A 0iX RELOAD CHAR TO ACCA

INX STEP LOC PTR

CMP A #$0D CR ?

BNE PRTA NOT CR, LOOP

PRTB RTS DONE, RETURN

ABOVE IS END OF READ ONLY PORTION OF THE PROGRAM THE FOLLOWING IS CHANGEABLE DATA

ORG

$100

0100

0106

LOC

FDB

$0106

0102

0000

LST

FDB

0

0104

00

CHR

FCB

0

0105

00

FLG

FCB

0

MOVE TO START OF DATA AREA ADDR OF SOURCE PROGRAM AREA PLACE TO SAVE LOC OF LAST A: PLACE TO SAVE LAST INPUT CHAR PLACE TO SAVE MATCH FLAG

000000000 0 00 0 0 0 0 0 0 0 0 0 0 I I 0 12 3 4 5 6 7 8 9 0 1

September 1978 © BYTE Publications Inc 171

Listing 4: 8080 version of the WADUZITDO language. A hexadecimal dump (shown in listing 4a) is provided for manual entry. This version was run locally at B YTE using a SOL-20.

IN OUT

SUB

WADUZITDO 8080 VERSION BY LARRY KHERIATY

SOLOS/CUTER SUBROUTINES USED

EQU 0C01FH INPUT FROM KEYBOARD TO A-REG EQU 0C019H OUTPUT FROM B-REG TO TERMINAL

ORG 0000H

EQU 0000H USER SUBR START (CAN BE MODIFIED) ENTER SYSTEM AT LOCATION 0 WITH STACK POINTER PRESET TO SCRATCH PAD RAM ENOUGH FOR A FEW LEVELS OF CALL

0000 0003 0006 0008

000B 000D

ZA 0001 START CD 4600 EGET FE 5C CA 0000

* FE 24 CA 5200

0010 FE SF 0012 C2 1900

0015 ZB

0016 C3 0300

0019 FE 2F

001B CZ Z400

001E CD DF00

00Z1 C3 0300

00Z4 FE Z5

00Z6 C2 3C00

0029 06 0D

00ZB 78

00ZC CD 4D00

00ZF 0E 40

0031 BE

003Z CA 3C00

0035 36 00

0037 23

0038 0D

0039 CZ 3100

003C 77 0030 23

003E FE 0D 0040 CC F000 0043 C3 0300

0046 CD 1FC0 JIN

0049 CA 4600 004C 47 004D CD 19C0 JOUT

0050 78

0051 C9

LHLD CALL

CPI JZ

CPI JZ

CPI JNZ DCX JMP

LOC JIN 5CH START

Z4H EXEC

5FH DIS H EGET

PROCESS DISPLAY OF

CPI JNZ CALL JMP

2FH PAD PRT EGET

DO LINE REPLACEMENT

CPI

JNZ

MVI

MOV

CALL

MVI

CMP

JZ

MVI

INX

DCR

JNZ

25H

CHAR

B.0DH

A.B

JOUT

C.40H

M

CHAR

M.00H

H

C

PADL

SOURCE PROGRAM AREA START ACCEPT SOURCE CHAR

YESr BACK UP TO PROGRAM START

YES. GO EXECUTE THE PROGRAM

BS ?

NO

YESt BACK UP ONE IN SOURCE

LOOP BACK

NEXT LINE / ? NO

GO PRINT TO CR LOOP

PAD TO END OF STMT WITH NULLS

■/. ?

NO

CR

CR TO A ALSO

PRINT IT

COUNT OF 64

AT CR YET ?

YES QUIT PADDING

PAD WITH NULL

I NCR LOC PTR

DECREMENT SAFETY COUNTER

LOOP TILL CR OR 64 NULLS

STORE ENTERED SOURCE i MOV INX CPI CZ JMP

CHANGE NEXT FEW LI CALL IN JZ MOV CALL MOV RET

CHAR IN PROGRAM Mr A CHAR TO SOURCE LOC H MOVE LOC PTR UP ONE

ODH IS IT A CR ? PLF YES, ECHO A LINE FEED EGET NOr GET ANOTHER CHAR

NES IF YOU DONT USE SOLOS/CUTER CALL CHAR INPUT ROUTINE JIN TRY AGAIN IF NO CHAR YET THERE B,A PREPARE TO ECHO THE CHAR OUT CALL CHARACTER OUTPUT ROUTINE A.B RESTORE JIN CHAR TO A RETURN TO CALLER

S1I30000FE0100RD4 5R15C27F7R12 42 74 5R10R2 6<,0 SI I30010030920EFBI2F2607BD00DSRD2120E4R1 IF Sll300202 52 6I2R60D8D2 7R60DC640A10027066,r52 Sl!30030000R5A2 6F6A7f!00RRI0r>27r)f"20C5C600 50 SI 1 300404lr8D0B5AaAFA860Aa0043DEtAC39BOE1 72 S1130050D139FE0 103090RA600RI2A2FF9RI59 270R SII300 600 4RI4E2 60F0SB1010527EC0RA65I0R10D76 Sll3007026F920E2R14l2M1FF(?102RDCr)B70104 4A SI I 300B00BB60DROC9RDB720CDR MD2 6I20H0RA6RF SI13009 000C6S9BI0I0 42702C64EF70I0520B7R1F5 SI 1300A04A2 6I7E602C40F2605FE010220A908A667 SI I300B000R12A2 6F9 5A2 6F620 9CRI532 60A0R0R2C SI 1303C0A600087E0000208F81S42602080BRD05B2 SI I300D0BD003E20R2CA40A600 5A270ABD034EA69 7 S10A00E00008810D2 6F1392F

Listing 3a: MIKBUG format for the 6800 version of WADUZITDO.

000 02A0001CD4 603FE5CCA0 0010FE5FC219002BC30300F 002000C30300FE2 5C23C000 003040BECA3C003 6(502 30DC 0040CCF000C30300CDIFC0C 00 5078C92A00012B237EFE2 00 60 6700FE4EC27 60 023BAC 007 0C2 6C00C3 5600FE41C28 30R000 5F230 60DCD4D00CDF 0090C2A10023237E16S9B8C 00A000FE4AC2C30023237EE 00B00201C35700237EFE2AC 00C0C3 5600FE53C2D200232 00D0 5700FE54C2D9002323C 00E040460DCAF000CD4D0 07 00F00E000 600CD4D000DF2F 0100060100000000

000FE24CA5200 E2FC22400CDDF 60D7RCD4D000E 231007723FE0D A460047CD19C0 BFA5600FE59CA A5700237EFE0D E00220201CD46 000C35630FE4D A9E00164EC356 60F47C2B5002A 2B50005C2B500 37E23C30000C3 DDF00C357000E E23FE0DC2E100 200060AC34D00

Listing 4a: Dump of the 8080 version of WADUZITDO. The format consists of 4 character hexadecimal address and 16 hexadecimally coded bytes of information. There is no checksum computed for any of the information.

:iME HERE TO BEGIN EXECUTION OF THE SOURCE PROGRAM

0052 0055 0056 0057 0058 00 5 A

0001 EXEC

LOOP I LOOP

2E 56 00

005D FE 59 005F CA 6700

0062 006 4

FE 4E CZ 7600

0067 23

0068 BA

0069 CA

006C 23 006D 7E 006E FE 0D 0070 CZ 6C00 0073 C3 5600

0076 FE 41 XA 0078 CZ 3E00

LHLD

DCX

INX

MOV

CPI

JM

LOC

H

H

A.M

ZBH

LOOP I

:ESS Y OR N FLAG CPI 59H JZ TFLG CPI 4EH JNZ XA

INX H CMP D JZ LOOP

A FLAG FAILURE. INX H

A.M 0DH SKIP LOOP I

MOV CPI JNZ JMP

STARTING LUC OF PROGRAM

LESS ONE

ADR OF NEXT PGM BYTE

NEXT PGM BYTE

» CHAR ' (NOTE ZBH IS '*' + U

YESfOR IGNOREABLE CUNT CHAR)

TESTS

YES

N ?

BRANCH IF NOT A FLAG I EST

STEP LOC OVER Y OR N

COMPARE TO CURRENT MATCH FLAG

ITS EQUAL SO EXECUTE THE STMT

SKIP OVER THE STMT STEP LOC PTR NEXT CHAR IN PGM TO END OF STMT ? NOT YET, SO LOOP AT NEXT STMT, GO DO IT

PROCESS ACCEPT STATEMENT CPI 41H A ? JNZ XM NO

PAPERBYTEtm Bar Codes for WADUZITDO

In figure 7 and figure 2, we provide a PAPERBYTEtm bar code representation for the WADUZITDO programs of listing 3 and listing 4. These bar code representations were created in the absolute loader format documented in detail in the PAPER BYTE book, Bar Code Loader, written by Ken Budnlck of Micro-Scan Associates, and available for $2 at local computer stores or by mail (add $. 75 postage and handling) from BITS Inc, 25 Route 101 W, Peterborough NH 03458.

172 September 1978© BYTE Publications Inc

Listing 4, continued:

Text continued from page 168

the index register (6800) or HL register pair (8080) contains the location of the next program statement and should be saved and restored before returning from the subroutine. In the 8080 version the DE register pair should also be saved. Register A will contain the one character parameter, x, of the S:x. Its use is totally up to the subroutine.

The system has been organized so that the six bytes of changeable data are isolated from the read only portion. This means the rest of the 256 byte system could be placed in read only memory. It would fit in a single 1702AEROM chip.

It is easy to see how this language could be used to write a question and answer conversation using multiple choice or true, false answers. It may not be so obvious that more complex logic is possible. The example in listing 2 is a computer versus user NIM game which demonstrates a way this can be done.

Although WADUZITDO is not the ultimate answer to personal computing, it is something that almost anyone can have some fun with, and it definitely squeezes the most out of 256 bytes of memory.

A Pascal WADUZITDO

Notes by Ray Cote Program by Larry Kheriaty

Along with the assembly language versions of WADUZITDO, Larry Kheriaty sent us the Pascal version shown in listing 5. The program is basically self-documenting and very easy to translate into assembly level programs for any particular processor. The program is indented to show logical relationships between related areas of text. This is sometimes known as prettyprinting.

The first four lines of the program are definition lines for the main program. In Pascal, all variables must be defined completely at the start of the section in which they are used. "Completely"means name and data type. This is a great help since all variables must be explicitly defined. You can easily check to see what type of variable is being used.

WADUZITDO uses two types of var

007B 22 0201

SHLD

LST

YES. SAVE LOC OF LAST ACCEPT

007E CD 4600

CALL

JIN

ACCEPT ONE CHAR FROM KYBD

0081 5F

MOV

E-A

SAVE IT

0082 23

INX

H

MOVE OVER A

0083 06 0D

MVI

B-0DH

CR

0085 CD 4D00

CALL

J0UT

PRINT IT

0088 CD F000

CALL

PLF

PRINT LINE FEED

008B C3 5600

JMP

LOOP I

STEP OVER : AND CO ON

*

proi:

:ESS MATCH STMT

008E FE 4D

XM

CPI

4DH

M ?

0090 C2 A100

JNZ

XJ

NO

0093 23

INX

H

STEP OVER M

0094 23

INX

H

STEP OVER :

0095 7E

MOV

AiM

GET MATCH CHAR

0096 16 59

MVI

D.59H

ASSUME Y

0098 BE

CMP

E

COMP MATCH CHAR TO INPUT CHAR

0099 CA 9E00

JZ

MX

BRANCH IF IT MATCHES.FLG=Y

009C 16 4E

MVI

D.4EH

RESULT IS N

009E C3 5600

MX

JMP

LOOP I

SET MATCH FLAG TO Y OR N

*

PROC

ESS JUMP STATEMENT

00A1 FE 4A

XJ

CPI

4AH

J ?

00A3 C2 C300

JNZ

XS

NO

00A6 23

INX

H

STEP OVER J

00A7 23

INX

H

STEP OVER 1

00A3 7E

MOV

AiM

DESTINATION

00A9 E6 0F

ANI

0FH

CLEAR ZONE

00AB 47

MOV

B.A

NUMBER OF *S TO SKIP

00AC C2 B500

JNZ

JF

ITS A JUMP FORWARD

00AF 2A 0201

LHLD

LST

ZERO.. JUMP BACK TO LAST ACCEPT

00B2 C3 5700

JMP

LOOP

CONTINUE FROM THERE

#

SKIP

FORWARD UNTIL

PASS N *-MARKERS ( N IS IN BREG )

00B5 23

JF

INX

H

STEP PGM LOC

00B6 7E

MOV

ArM

NEXT CHAR

00B7 FE 2A

CPI

2AH

♦-MARKER ?

00E9 C2 B500

JNZ

JF

NO. KEEP LOOPING

00BC 05

DCR

E

FOUND ONE. COUNT IT

00BD C2 B500

JNZ

JF

LOOP IF NEED TO FIND MORE

00C0 C3 5600

JMP

LOOP I

DESTINATION FOUND. GO EXECUTE

#

PROC

ESS STOP OR SUBROUTINE STATEMENT

00C3 FE 53

xs

CPI

53H

S ?

mC5 C2 D200

JNZ

XT

NO

0008 23

INX

H

STEP OVER S

00C9 2 3

INX

H

STEP OVER :

00CA 7E

MOV

fliM

PARAMETER TO REG A

00CB 23

INX

H

STEP OVER PARAMETER

•

NEXT

STMT

MAY BE MADE TO BE A CALL TO USER SUBR

00CC C3 0000

JMP

SUB

GO TO USER SUBR (OR TO EDITOR)

00CF C3 5700

*

JMP

LOOP

GO ON UPON RETURN FROM USER SUBR

PROC

ESS TYPE STATMENT AND SYNTAX ERRORS

00D2 FE 54

XT

CPI

54H

T ?

00D4 C2 D900

JNZ

TE

NO. ITS AN ERROR

00D7 23

INX

H

YES. STEP OVER T

00D8 23

INX

H

STEP OVER :

00D9 CD DF00

TE

CALL

PRT

PRINT UP TO CR

00DC C3 5700

JMP

LOOP

DONE WITH T

#

SUBR

TO PRINT UP TO

NEXT CR

00DF 0E 40

PRT

MVI

Cr40H

COUNT OF 64

00E1 46

PRTf

1

MOV

BrM

NEXT CHAR

00E2 0D

DCR

c

DECREMENT SAFETY COUNTER

00E3 CA F000

JZ

PLF

EXIT IF OVER 64 BEFORE CR

00E6 CD 4D00

CALL

JOUT

PRINT IT

00E9 7E

MOV

A»M

RELOAD CHAR TO ACCA

00EA 23

INX

H

STEP LOC PTR

00EB FE 0D

CPI

0DH

CR ?

00ED C2 E100

#

JNZ

PRTA

NOT CR. LOOP

SUBROUTINE

TO PRINT

LINE FEED AND PAD

00F0 0E 00

PLF

MVI

C r 00H

NUMBER OF NULLS TO PRINT

00F2 06 00

PLFL

MVI

B.00H

NULL

00F4 CD 4D00

CALL

JOUT

WRITE A NULL

00F7 0D

DCR

C

DECREMENT COUNTER

00F8 F2 F200

JP

PLFL

LOOP TILL ENOUGH NULLS

00FB 06 0A

MVI

B.0AH

LINE FEED

00FD C3 4D00

JMP

JOUT

PRINT THEN RETURN

ABOVE IS END OF READ ONLY PORTION OF THE PROGRAM

THE FOLLOWINC IS CHANGEABLE DATA

MOVE TO START OF DATA AREA ADDR OF SOURCE PROGRAM AREA PLACE TO SAVE LOC OF LAST A: RE ONLY FOR 6800 COMPATIBILITY UNUSED. LAST INPUT CHAR IN EREG UNUSED.MATCH-FLAG IN DREG

ORG

0100H

0100

060 1

LOC

DW

0106H

0102

0000

LST

DW

0000H

*

THE NEXT

TWO BYT

0104

00

CHR

DB

00H

0105

00

FLG

DB

00H

September 1978 ©BYTE Publications Inc 173

iables: integer and character. There is also a definition for constants (CONST). CONST informs the compiler that the value being assigned to this variable will not change. Integer variables will only take on whole number values.

The type character (CHAR) means that the variables will take on the values of ASCII characters, including all letters, numbers and special symbols.

The last line of the definition section defines a variable PROG as an array of charac

Listing 5: Pascal listing of WADUZITDO. See notes by Ray Cote.

PASCAL VERSION OF WADUZITDO. LARRY KHERIATY PROGRAM WADUZITDO!

const pz^eaai bs=iz7; eol=10;

VAR LOCfLSTiI : INTEGER! LCHR.FLG.CBUF,CBS.CEOL : PROG : ARRAY[1..PZ] OF CHAR!

PROCEDURE CHINi BEGIN ACCEPT (CBUF)i END! PROCEDURE CHOUTi BEGIN DISPLAY (CBUF)! END! PROCDURE NEWLINE! BEGIN DISPLAY <NL) !" END!

PROCEDURE LIST; VAR I:INTEGER! BEGIN [la 0! REPEAT

CBUF := PROG [LOCI! LOC := LOC+li I : = I + 1 ! CHOUT UNTIL (1:64) OR (C8UF=CEOL>i NEWLINE END!

PROCEDURE EXECUTE! VAR DONE : BOOLEAN! BEGIN LOC := 1! DONE := FALSE! REPEAT

CBUF := PROCCLOC] ! IF CBUF < '*' THEN CBUF IF NOTICBUF IN ['*','Y','N'.'A','M'i'J'.'T', CASE CBUF OF

'»'! LOC := LOC+li

'Y'r'N' : IF CBUF=FLG THEN LOC := LOC+1

ELSE REPEAT CBUF := PROCCLOC]! LOC:=LOC+l UNTIL CBUF=CEOL! 'A' : BEGIN LST := LOC! CHINi LCHR !»CBUFI

NEWLINE! LOC :=LOC+Z END! 'M' : BEGIN IF LCHR=PROC[LOC+2] THEN FLG :='Y' ELSE FLG := 'N'i LOC := LOC+.3 END! 'J' : IF PROGCLOC+2] = '0' THEN LOC :=LST ELSE BEGIN [la ORDIPROGCLOC+2])- 48! REPEAT LOC:=LOC+li

IF PROCCLOC] = '»' THEN I := 1-1! UNTIL 1=0 END! 'T' : BEGIN LOC := LOC+2! LIST END! 'S' : BEGIN DONE := TRUE) LOC := 1 END

DTHEN LIST ELSE

END UNTIL DONE END!

BEGIN CBS := CHR(BS)! CEOL := CHR(EOL)! CBUF !»'\'l WHILE TRUE DO BEGIN

IF CBUF ='\' THEN LOC : = 1 ELSE IF CBUF=CBS THEN LOC := LOC-1 ELSE IF CBUF"'/1 THEN LIST ELSE IF CBUF='*' THEN EXECUTE ELSE IF CBUF='7.' THEN BEGIN l:=0i

WHILE (K64I AND (PROCCLOC] <> CEOL) DO

BECIN PROGCLOC] := CHR<0>! LOC := LOC+1 END! PROCCLOC] := CEOL! LOC := LOC +1! NEWLINE END ELSE BEGIN PRO&iLOC: == CBUF! LOC := LOC+li

IF CBUF=CE0L THEN NEWLINE END! CHIN END END.

ters. This definition also states that the relative base address of the array will be unity and the variable PZ will be used to specify locations within the array.

After defining our variables we are ready to start the first executable part of the program. In Pascal, the logical parts of the program are broken into procedures, equivalent to subroutines in languages such as FORTRAN. Every procedure is blocked off by BEGIN and END statements. The name of the first procedure is CHIN. After we have determined the name, we are told to begin executing procedure ACCEPT (which will return to us input values in variable CBUF). This is a subroutine which is not shown since it is specific to the processor being used. The next two procedures are also calls to subroutines used to DISPLA Y the contents of the buffer and move the output to a new line. These two procedures are also machine dependent. Notice that Pascal allows you to use descriptive names. This is very important when writing a program that you want other people to read or that you want to understand at a later date.

The next procedure, LIST, first defines its own local variables, which it will use only within the LIST routine. As before, the procedure is delimited by BEGIN and END statements. This procedure introduces us to the concept of loops. Here we have a related pair of commands: REPEA T and UNTIL. These two commands cause the one line of three instructions and the call to procedure CHOUT to execute until either the value I Is greater than 64 or the variable CBUF is equal to CEOL. Once either of these two conditions occurs, the program logic proceeds to call procedure NEWLINE. At this point the LIST procedure ends and returns to whatever procedure called it.

Procedure EXECUTE looks structurally the same as procedure LIST. There is a definition of variables, the BEGIN and END delimiters, and a REPEAT-UNTIL structure. This time the REPEAT-UNTIL statement is not waiting for a relation to be true, but is rather checking against one variable. Looking at how DONE was defined at the beginning of the procedure, we see that its designation is BOOLEAN. This means that the variable is being used as a logical variable and can take on the value true or false. The REPEAT-UNTIL instruction waits to see If the variable DONE is true. If so, we have finished this procedure and can stop it.

174 September 1978 O BYTE Publications Inc

Procedure EXECUTE also contains an IFTHEN-ELSE statement, if the value of CBUF is not contained within the brackets, perform procedure LIST. If the value of CBUF is somewhere within the square brackets, we want to perform an operation related to that value. We now come to another Pascal instruction, the CASE statement.

We are given a set of cases to choose from. The CASE statement tells us that we will be using the value in variable CBUF to determine what is to be done. We scan down each of the cases and find the one labeled with the value in CBUF. Since CBUF is type character we are looking at ASCII characters. Once we find the value of CBUF we execute the statements associated with it that are blocked off by another set of BEGIN and END statements. After we have finished, we move to the end of the CASE statement and then the last line of REPEA T-UNT/L statement.

The next section of the program does not look like the preceding sections. It does not start with a PROCEDURE statement, but has a BEGIN statement. So far we have discussed procedures. Any of the procedures that needed to use variables have defined their own. So why did we define those variables at the very beginning of the program? The reason is not to use them in a procedure, but to use them in the main program. This BEGIN statement is nothing more than the start of the mainline logic for program WADUZITDO. The mainline logic inputs characters and either stores them in an array as program or executes them as commands. This routine will not jump out of the loop and will have to be interrupted to stop. Of course it is possible to create another command that will allow you to exit from this cycle.

Now that we have looked at the Pascal version of WADUZITDO, the reader should refer back to either of the assembly versions. The Pascal version performs the same function as the assembly versions.

The assembly language versions need to be heavily commented for the reader to understand what is happening. Even liberal comments will not help when converting from one assembly language to another. The Pascal version can be easily converted into any machine language. It is also selfdocumenting. Notice that even without a single comment, the Pascal listing is extremely easy to decipher. . . . RGAC"

nmrsTnnsTnrinrtrisinnrirt&

lTo further improve service to our customers we have installed a toll-free WATS line in our ^Peterborough, New Hampshire office. If you would like to order a ^subscription to v BYTE, or if

Toll-free

BYTEs New

i

Subscriber W.A.T.S. Line

(800)258-5485

We thank you and look forward to serving you.

you have a question relat ed to a BYTE subscription, you are invited to call (800)258-5485 between 8:00 AM and 4:30 PM Eastern Time (Friday 8 AM- Noon * Calls from continental U.S only

iUULSULSLB-ajC

':.■.■-•»•■" B

The New

Sound Effect Generator

Introducing a new dimension for .your computer system — computer generated sound effects. Not canned or recorded sounds, but a fully programmable sound generator capable of duplicating most any mechanical or natural sound. Guaranteed S100 Bus compatability. And, yes, it makes music, too.

Versions will soon be available for Pet, Apple, IBM and other popular brands. Detailed instructions and listings for many sounds are included. Kit—S135, Assembled-$175.

Hear for yourself-$1.00

Its fantastic applications are far too numerous to mention here, so we've made a record you can hear for yourself. Send $1.00 for our 33-1/3 RPM demo record, detailed information and special introductory offer, to:

~" INTEGRATED TECHNOLOGY

519 Prospect Heights, Santa Cruz, CA 95060

Circle 178 on inquiry card.

September 1978 © BYTE Publications Inc

175

FORT LAUDERDALE AREA

COMPUTER AGE

MICROCOMPUTERS & PERIPHERALS for HOME, SCHOOL & BUSINESSES

We specialize in computer systems and

provide a full range of computer

services. Applications software

for business including word

processing, payroll and

accounts receivable.

More to come.

DEALERS FOR Apple Computers Extensys Micromation Soroc

Hazeltine Centronics

DEC North Star

Problem Solvers and Others

Cromemco

999 South State Road 7 (441) Plantation, Florida 33317

305-791-8080

<t<t*<t<t<t<tit<t(t<t<t<t<t<t:<t:<t<t:<t<fc<t:<fc

WOULD YOU LIKE TO

MAKE MONEY WITH YOUR

COMPUTER? LET ME SHOW

YOU A POSSIBLE WAY.

FOR DETAILS, SEND 50<t

(REFUNDABLE) TO:

REAL WORLD

SIMULATIONS

P. O. Box 4107

TORRANCE, CA 90510

^4)^^^Jp.p4).P4).]).P4>i!p^4>4J,4).p,p4)4)

RADIO SHACK AND COMMODORE USERS

Low Cost Software on Compatible Cassette Tapes for your TRS-80 and PET Computers.

—Games

—Investment/Small Business

—Educational/Scientific

—Kitchen Programs

TRS-80 COMPATIBLE PERIPHERALS Centronics 779 Line Printer $999.

(with Tractor Feed) $1179.

Shugart SA400 Mini Disk $399.

Also supplied are the necessary cables which plug directly into your expansion interface unit.

SEND FOR FREE CATALOG

Software royalty plans also available.

cd\PPARAT, INCORPORATED P.O. Box 10324 Denver, CO 80210

Circle 47 on inquiry card.

Circle 11 on inquiry card.

SOS/80

3OS/80 - A 3<ull Operating Sy*t.a« that doein't ■ uffooata with 1 dltk and llaltad RAMI

Optlaliad for •ingle B-incn floppy, llaltad aa*ory ayataaia, yat provldaa coaplata prograa davalopatant facllltlaa. Includaa a character oriantad oontait adltor with adit aacroi and block kth and a faat aaaaiMar (aaaaaiblaa V thouaand-llna prograaa froa dlak In aeconda)

<

hat \

f kl»o Includaa a taxt output procaaaor tha1 accapta tha wldaly uaad 'runoff ajmtai, and and a BASIC Lntarpratar. 303/60 Baalc aupporta ' or 2 dlMnalonad arraya, atrings, uaar aubroutlna calla, aaquantlal f1 la acoaaa,

lntagar arltfiajatlc, and graphic* (whan uaad with tha Poly VTI-6<0. SOS/HO runa on any 6060-ocapatlbla ayataa with RAH froa at laaat 3000 to 5000 htx and tha Tarball floppy dlak lntarfaca, Expansion to aupport additional

V dieh lntarfaca* la in prograaa. J

/SOS/00, tha ldaal ayataa for alngle dlok^ configurations, la distributed tha by Personal Coajputar Corp., Prsxtr, Pa., 2>$-6<7-B«63. Coaiplate price on IBM foraat 8-lnch floppy, 150.00.

Advanced Intaraatlva Syataais 8216 Pickering Street

Phlladalphla, Pa., '9'5C

M^

Circle 7 on inquiry card.

BASIC COMPUTER

SHOP

NOW OPEN IN

AKRON

Easy Freeway access from anywhere in Northeastern Ohio

Many systems on display with applications software up and operating.

OPEN TUESDAY

THROUGH SATURDAY

11 AM till 7 PM

The Basic Computer Shop

2671 W. Market Street

Fairlawn Plaza

Akron, Ohio 44313

(216) 867-0808

Circle 27 on inquiry card.

SSE>

SALE SALE SALE SALE **SUPPLIES**SYSTEMS**SOFTWARE'

SALE SALE -PERIPHERALS'*

8" FLEXIBLE DISKS 55428 IBM 3740't, S/32, Shugart. Pet Sci

Pertec. Calcomp (send for catalog) 53802 32 "Hard Sector", Altafr, Shugart.

Pertec, Par Sci, Calcomp & more

$ S

3 90 590

5«" FLEXIBLE DISKS 54256 Single (01) Sector

V12S7 Ten (lO)SectOr

54258 Sixteen (16) Sector

S $

S

3 75 3 75 3 75

TELETYPE MODEL 43 4320AAA Keyboard, Pin Feed. TTL 4310AAA Receive only. Pin Feed. TTL TP430035 Model 43 Ribbon PP43 A0I Mode! 43 Parjet pin or Trie. 3M

$1000 00 S 90000 S 5 25 i 1275

SBCSIOOO BUSINESS SYSTEM microcomDuter 32K

2 disk drives, video terminal, printer.

cabinet/desk, DOS. BASIC. SOFTWARE $6000.00

IECC1000 EDUCATOR SYSTEM: microcomputer

32K. disk drive, video terminaJ, printer

cabinet/desk. DOS. BASIC. SOFTWARE $5600.00

SAD COMPUTER TECHNOLOGY 24 HOURS/7 DAYS P.O. Boh 1283 (518) 463 209] ALBANY. NY 12201

Circle 309 on inquiry card.

QOMPUTER

CASSETTES

Magnetic leadered computer grade cassettes custom loaded in one minute increments. Professional computer grade tape.

PRICES

From 1 min. to 30 mins. $1.75 From 31 mins. to 60 mins. $2.00 From 61 mins. to 90 mins. $2.50

'$25.00 minimum order COD' •via UPS only.

BAZZY ELECTRONICS

CORPORATION

39 No. Rose

Mt. Clemens, Ml 48043

(313) 463-2592

ASSEMBLY PROGRAMMERS

Our clients seek experienced mini/ micro assembly programmers and software/firmware engineers for a variety of positions in process control, mini diagnostics, terminal systems, scientific instrumentation and telecommunications. Higher level fluency or hardware ability a plus. Starting salaries 14-35K.

We invite inquiries from computer professionals seriously interested in advancing their career. We can conduct your job search on a continuous, confidential basis. For more information call collect. Dave Adams at (617) 246-2815.

NEW ENGLAND RECRUITERS

6 Lakeside Office Park.

Wakefield. MA 01880

Fee Paid Management Consultants

Member Mass. Professional Placement

Consultants

i i

11

85

ill

10111010

186

2 7

101110

1? A

B 1

HEX-OCTAL CONVERSION CHARTS

* 4 colours

* Base 2, 8, 10, 16 on each sheet

* shows the relationship of hex and octal notations to binary

* great learning aids

* indispensible for anyone working in assembler or machine code

* 3-ring binder fold-out

OR wall chart (please specify)

SETOF 2 CHARTS

(one indexed in hex, the other in octal)

Single set $5.95 / set

12 or more $4.50 / set

SEND CHEQUE OR MONEY ORDER TO

ZETA SYSTEMS CANADA LTD.

2547 HEATHER STREET

VANCOUVER, B.C. V5Z 3J2

Quantity Si school discounts available

Dealer inquiries invited

Circle 28 on inquiry card.

Circle 283 on inquiry card.

Circle 401 on inquiry card.

Is It a Plot?

Here is one of the most exciting peripherals available for the personal computer user who is interested in graphic arts applications: a very affordable ($1085) digital plotter from Houston Instrument called the Hi Plot. The statistics on this machine are impressive to say the least. The resolution of the pen tip is either .005 inch or 0.01 inch giving a total of 1400 by 2000 picture elements or 700 by 1000 picture elements respectively in its 7 by 10 inch (17.8 cm by 25.4 cm) plotting area. Standard ink cartridges are available in four colors, allowing the user to switch cartridges to produce mixed color plots. According to Tom Hall of Houston Instrument it is also possible for the individual user to kludge a standard drafting ink pen into the plotter, allowing a much wider selection of colors to be used in the form of personally chosen inks.

Many of the plotting samples seen in this issue should be reproducible by the small system owner who uses this peripheral, a typical personal system with a high level language and floppy disks, and some imagination.

Complete and ready to plot, the Hi Plot costs $1085. Contact Houston Instrument, One Houston Square, Austin TX 78753.*

Circle 569 on inquiry card.

Photo J: The new Houston Instrument's Hi Plot plotter is shown here in a typical analytical situation: plotting a polar coordinate function in the plane of the paper with Cartesian axes for reference.

Photo 2: The interface to the user's computer is via a standard DB-25 connector located on the lower edge of the rear panel of the plotter.

Write for Free North Star Newsletter and Catalog

North Star Computers Inc, 2547 Ninth St, Berkeley CA 94710, is offering

the latest issue of its newsletter free on request. In this issue North Star announces eight new application software diskettes and lists more than 50 com

mercially available application programs ready for use on North Star equipment. In addition, North Star's 16 page product catalog is also available free of charge.*

Circle 570 on inquiry card.

Photo 3: Inside the Hi Plot plotter, we find this pair of stepper motors which drive the mechanism through cable linkages.

September 1978 © BYTE Publications Inc 177

What's New?

MASS STORAGE

Micropolis Announces Double Sided Floppy Disk Drives

Double sided floppy disk drives are now available on two of Micropolis Corp's OEM series. The company's MegaFloppy series, Models 1015 and 1055,

features an intelligent controller that facilitates interconnection of four subsystems to a common host interface for a total on line storage capacity of more

than 15 M bytes.

The 1015 is an unpackaged drive designed to integrate floppy disk storage into a system enclosure. This series is expanded to four products of double sided options. Storage capacity ranges from 143 K bytes to 630 K bytes per drive. The Model 1015's file space may be optionally expanded up to 946 K bytes by using the Micropolis intelligent controller and group code recording (GCR) method. The 5V* inch floppy offers GCR and a microprocessor based controller as standard features. Model 1055 has four soft sectored formats for each of its 77 tracks, yielding a maximum capacity of 1892 K bytes of useable file space on its double sided version. An optional add on module, comprised of two read and write heads and two drives sharing a common controller, increases the subsystem formatted capacity to 3784 K bytes.

The 35 track configuration single drive, double sided 1015 Model III with 287 K bytes of formatted capacity is priced at $330 in quantities of 500. A quad density version, the 1015 Model IV, which has 77 tracks per surface and a track density of 100 tracks per inch with up to 946 K bytes formatted capacity, is $396. The Micropolis intelligent controller is a $369 option on the quad density version when purchased in quantities of 500. The Model 1055 Model IV. which includes the intelligent controller, power supply, bidirectional interface, enclosure and almost 2 M bytes of on line capacity, is priced at $1796 in quantities of 50. For further information, contact Micropolis Corp, 3959 Deering Av, Canoga Park CA 91304."

Circle 556 on inquiry card.

Intelligent Double Density Diskette Controller

f my ga ^il^^^F ^^

^

jfit ^ zrn

7 / *

4 ' 5 ■ : iff

|^t .■ w? # "ft J ±

1 . ^

|jfij|jg»w£^^

^^H

This new stand alone intelligent controller, the PerSci Model 1170, is capable of managing either single or double density recording on as many as 32 diskette sides for a total system formatted data capacity of 16 M bytes.

The controller is a compact computer for use in diskette subsystem management and microcomputer applications. It uses microprocessor intelligence to communicate by file name and to assume the housekeeping functions

usually performed by the processor. File management functions include initialization; allocation and deallocation of diskette space; error detection and retry; creating, deleting, renaming, copying of files; and diagnostic testing.

Designed to operate PerSci's recently introduced Model 299 drive, the 1170 is also capable of handling two PerSci Model 277 dual diskette drives or various combinations of Models 299 and 277.

The price is $800 in large quantities.

Improved System Disk for System 88

PolyMorphic Systems has announced a seocnd system software edition for their System 88 microcomputers, making them faster and easier to use. The software includes an enhanced operating system, BASIC, text editor and assembler.

Added to the BASIC language are string arrays and array commands that allow the user to create and manipulate labels for tables and charts, mailing lists, personnel records, inventory, and billing, and so on. For the scientific user, BASIC now has inverse trigonometric, hyperbolic and gamma functions. Also included are new statistical functions that simplify data reduction.

The System 88 text editor now permits the user to move, copy, or delete an entire block of text. Cursor movements are now two-dimensional; the original cursor movements have been retained. For further information, contact PolyMorphic Systems, 460 Ward Dr, Santa Barbara CA 93111."

Circle 555 on inquiry card.

Contact PerSci Inc. 12210 Nebraska Av, W Los Angeles CA 90025."

Circle 557 on inquiry card.

178 September 1978©BYTE Publications Inc

5 PLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION IS OUR GUARANTEE YOUR COMPLETE SATISFACTION

o ^jh± NEW ADDRESS Huge Discounts! »

=IL HOBBY WORLD ELECTRONICS

Savings up to 70% on major brand IC parts and computer kits. For complete IC listings write for our catalog.

WAMECO

KITS

S-lOO P.C. 8K RAM 8080 CPU 12-Slot Mother Board ITHACA AUDIO S100 P.C. Boards 8K RAM Z-80 CPU 2708/2716 EPROM

Boards (New) W/W Prototype Board (New) SOLID STATE MUSIC S-100 Kits &

Bare Boards MB6A8K Kit STATIC RAM Bare Board MB7 16K STATIC RAM Kit 435.00

Bare Board 25.95

MB8 8K/16 K EPROM USES 2708's Kit Less EPROMs 75.95

74LS00

74LS02

74L$04

74LSOB

74LS10

74LS14

74LJ20

74LS21

74L522

74LI30

74LS32

74LS37

74LS38

74LS42

74LS47

74LS48

74LS73

74LS74

74L$75

74LS76

74LS86

74L590

74LS92

74LS93

74LS109

74LS112

74LS113

74LJ114

74LS125

74LS126

74US132

__

KITS

SOLID STATE MUSIC

VB1B VIDEO INTERFACE

Kit 129.95

Bare Board 25.95

RF Modulator TV-1 Converts Video

Output to RF For TV antenna

terminals, complete Kit 8.95

NEW FROM CYBERCOM DIV OF SSM

MB8A-2708 16K EPROM with Vector Jump Kit 85.00

OB-1 Vector Jump & Prototype

Kit 49.00

Board 25.95

104 2 + 2 I/O Kit 139 95

SYNTHESIZER SB-1 MUSIC

Kit with

Software 145.00

MT-1

(Continued)

8080 Machine Languages

Programming 6.96

Robots At Your Doorstep 6.95

BEGINNERS BOOKS

9.95

Beginning BASIC

Home Computer Beginners

Glossary and Guide Basic BASIC Introduction to BASIC Home Computers: 210 Questions

and Answers

Volume 2: Software Microcomputer Dictionary

and Guide Microprocessor Basics Home Computers: 210 Questions

and Answers

Volume 1: Hardware Understanding Integrated

Circuits Semiconductor Circuit Elements Fundamentals and Applications

of Digital Logic Circuits

6.95 8.95 8.95

6.95

19.95 10.95

7.95

4.95 6.95

7.95

15-Slot Mother

Board 39.95

XB-1 EXTENDER BOARD

Bare Board 8.99

SSM 8080 MONITOR VI

ON 2-2708 47.00

ON 8-1702A 47.00

74XX

7100 7401 7402 7403 7404 7405 7406 7407 7 408 7409 7410 7411

16K Add-On Memory

$160.00 For Apple® orTRS-80® please specify

MEMORY 1702A 3.75

3.75 2708 11.50

3.50 2716TI 22.50

6.25 21L02 450ns 1.25 3.85 21L02 250ns 1.60 7.95 2114 8.50

MICROPROCESSOR

8080A 2-80

Z-80A 6800

11.50 24.95 34.95 16.50

New Products Now Available Through Hobby World

Continental Specialties:

5% discount OK® Wire Wrap:

5% discount Fresh Off The Presses

From Digital World Digital Instrumentation

for Car and Marine

Applications: $5.95

7482

7483

7485

7486

7489

7490

7491

7492

7493

7494

7495

7496

74107

74109

74121

74122

74123

74132

74141

74145

74150

74151

74153

74154

74157

74161

74163

74164

74165

74170

74173

74174

74175

74176

74177

74180

74181

74190

74191

74192

74193

74195

74221

74251

74365

74366

74367

74368

I 75

NEW ADDRESS 19355 Business Center Dr. #6 □ Send your complete catalog Northridge, CA 91324 quickly.

TELEPHONE ORDERS: Inside Calif: 213-886-9200 Outside Calif: 800-423-5387

NEW PHONE

□ Please send me the following items I have listed below: Qty. Stock No. Price

Retail Value

$55.00

□ Cash D COD Charge My D M.C. D BAC (VISA)

Sig

Name.

AddressCity

_State_

.Zip.

Postage/Handling

Satisfaction 100% Guaranteed

California Residents Add 6% Sales Tax

Note: Minimum Order $10.00, 5% Discount over $100.00 on I.CIs only.

NEW 1978

IC MASTER

Your Price

$34.95

New Hobby World Catalog

Boards, supplies, parts, tools, resistors, IC's and more! 20 pages of prime professional gear at low Hobby World prices! Plus a complete book selection.

Free

Free

Circle 1 70 on inquiry card.

BYTE Septembei l'J78 179

Circle 296 on inquiry card. /

Listen to the Sweet Sounds

of these commercial grade Bell 103 and 202 MODEMS. Fully assembled, adjusted and tuned-in SEND, RECEIVE and CONTROL modules were manufactured by VADIC Corporation and are put in a case with power supply, LED display and EIA Standard RS-232 connectors by PACIFIC OFFICE SYSTEMS. FEATURES:

• Asychronous serial data transmission.

• Operation over standard 2-wire unconditioned telephone lines with up to 1000 mile range.

•Telephone line connection via your choice of: acoustic coupler,

Manual Data Access Arrangement or Auto-Answer DAA (sold separately.}

• LED Display of modem status and signals.

•Size: 6" x 10" x 15". Ship weight: 10 lbs.

0-300 Baud rate; full-duplex operation for simul

BELL 103 SPECIFICATIONS:

• DATA TRANSMISSION: taneOUJ bi-directional communication.

•RECEIVE CHANNEL FREQUENCIES: 2025 Hz foi Space; 2225 Hz for Mark.

• SEND CHANNEL FREQUENCIES: Originate mode-1070 Hz Space, 1270 Hz Mark; Answer mode-2025 Hz Space, 2225 Hz (switdiable manually or automatically from originate to answer mode upon detection of carrier in originate mode.)

•Auto-Answer circuitry standard; auto-dialing feasible without additional circuitry.

• Transmission Filter for echo suppress & noise reduction over unconditioned telephone lines.

• LED Display: Power, Carrier Detect, Send Data, Receive Data. OPTIONS:

•Self-Test Mode provides analog or digital loop-hack ol signals for modem diagnostics or half-duplex operation. •LED Display of signals or status as specified by user.

• Multiple housing for up to six modem circuit cards. PRICES:

Standard Features

VADIC Circuit Card only, with interface instructions

Acoustic Coupler

DAA Kit (private line only)

S149.95 S 89.95 S 29.95 S 14.95

BELL 202 SPECIFICATIONS:

• DATA TRANSMISSION: 0-1200 Baud rate over 2-wire lines; O-1800 Baud rate

over conditioned lines.

• HALF-DUPLEX operation over 2-wire lines; FULL-DUPLEX over 4-wire lines.

• MARK FREQUENCY: 1200 Hz; SPACE FREQUENCY: 2200 Hz.

• REVERSE CHANNEL COMMUNICATION over 2-wire lines at 5 Baud (387 Hz.)

• Transmission Filter for echo suppress & noise reduction.

• LED Display of status and signals: Power, Terminal Ready, Modem Ready, Request To Send, Clear To Send.

OPTIONS:

• Auto Answer operation

• Self-Tost Mode provides analog or digital loop-back of signals for modem diagnostics.

• LED Display of signals or status as specified by user.

• Multiple Housing for up to six modem circuit cards (including combinations of Bell 103 & 202 styles.)

PRICES:

Standard Features, includes Reverse Channel S219.95

Standard Features, with Rev. Ch. and Auto Answer S249.95

VADIC Circuit Card only, with interface instructions:

with Reverse Channel, Manual DAA S149.95/

with Reverse Channel, Auto-Answer DAA S179.951

PACIFIC OFFICE SYSTEMS, INC.

2600 El Camino Real, Suite 502

Palo Alto, Calif. 94306

(415) 321-3866

n, asc i

discounts, and o! BYTE lor a

(including tape Ors. pu|)i*r tape oded keyboards,

icludea PLUS Interfi

luipmom. Full documentation ;B instructions where indicated. ' pi km sale. Prices may change

All orders shipped Irorn slock. Wo iKick orders, r substnuiions. All equipment is shipped insured FOB Palo Alto within 14 days after check clears or COD order is received. M/C & VISA accepted.

r-^lectrolabs

yj/C Tl Sockets 1 cent per pin. All low profile solder tail 8 pin - 40 pin.

The "Pro" fully encoded ASCII Keyboard by Cherry. Auto REPEAT feature, 5 special function keys. 300mA/5V. (Shown as mounted in 'The Case', Below) $119.00, 3/99.00,10+/89.00

USED SYLVAN/A 12" MONITORS You Fix: $24.95 Working: $69.95 Cold Chassis, 25lbs.

The Dumb Terminal for Smart People

80X24 with full 128 char. ASCII UC+LC font with all control characters displayed. 300-19,200 baud RS232. 2nd font addressable from keyboard in you-program-it 2708 for APL, Graphics sets, etc. Plug in monitor I/O connector, 110VAC and you are ready. INCLUDES: 'The Case', Cherry Kbd. A used monitor, ESAT 200A, all options except vector addressable cursor and modem. Bulletproof design and construction. Normally $675.00 What you always wanted your ADM3 to be: SYSTEKTA" $649.00 10/S599.00

TO Box 6721 Stanford ■■

THE FANTASTIC!

MEMOREX FIVE-FIFTY

01. 94305 415-321-5601

* Hard and Soft Sectoring

* Single and Dual Density

* Double side configuration as a retrofit a! any time. "1101220V, 50160Hz

"Pin for pin compatable with Shugart 800,801,850,851 (50 pin edge connector) $536,2/499, 5/475,10/449 25/425,100/405

Double Sided Retrofit$300

MINIDISKETTES (5.25') 10, 16 or Soft Sector

1-9 10-24 25+ $4.79 4.50 4.25

STANDARD (8') Hard or Soft Sector

DISKETTES $5.99 4.99 4.50

"The Case" Beautiful and sturdy anodized aluminum case in deep black designed to contain the ESAT 200A, and with a bezel cut out for the Cherry 'Pro' keyboard, (installed as shown above) Choose deep brown, light yellow, or crimson to accent or color code your installation. The only choice for hard-use institutional and educational applications. $69.00, 10/ 59.00

5^ NEW. ~ 70 ns,

CASSETTES R-300 Certified Phillips Type $5.25 4.99. 1-150 Certified for audio decks $4.60 4.30 ('Kansas City' & SWTP formats)

4.35 3.90

32 K, S-100 Universal Static Store. Accepts 2114 RAMs or 3625 PROMs paging up to 8 Mby. Board only with manual and paging software $69.00. 32 Kby RAM 450 ns S679.00, 250 ns $789.00. We have software application notes for multi-task multiuser applications utilizing paging feature.

Shipoing and Handling: Surface: $o.40/ib. Air: $0;75/lb., 1.00 minimum Cal. Tax: 6.5% Insurance: $0.50 per $100.00

180 BYTE September 1978

Circle 11 5 on inquiry card.

PLACE ORDERS TOLL FREE

800/262-1710 inside California 800/421-5809 ail other states

MICROPROCESSORS

F8

Z8 0

Z8 0 A

I802

2650

AM2901

6502

6800

6802

8008-1

8035

8080A

8085

8748

TMS9900

16.95 20.00 25.00 19.9 5 2 4.95 22.95 10.95 17.95 24.95 12.00 22.00 9.9 5 27.00 60.00 6 7.00

8080 A SUPPORT DEVICES

8212

8214

8216

8224

8 2 2 4-4

8226

8228

8238

8251

8253

8255

8257

8259

8275

8279

6800 SUPPORT

3.00

8.50

3.75

3.50

9.95

3.95

7.95

7.50

8.75

20.95

11.00

19.95

19.95

75.00

20.00

6810P

6 8B10P

6820P

682IP

6828 P

6834P

6850P

6852P

6860P

6862P

6871 P

6875P

6880

4.9 5

6.00

7.50

7.50

1 1.25

16.95

9.75

11.75

10.00

14.50

28.00

8.75

2.00

CHARACTER GEN.

2513 U/L

2513(5v) U/C

2513 (5v) L/C

6571

6571 A

6574

6.7 5 9.75 10.95 10.95 10.95 13.25

DYNAMIC RAMS

20.00 20.00 4.00 3.9 5 4.00 4.00 4.50 4.00 4.50

416 D (200ns) 4116 (200ns) 210 4/4096 2 1 0 7 B-4 TMS4027 TMS4050 TMS4060 4096 MM5270

PROMS 1702 A 2516 (5v) 27.08 2716 (Tl) 2716 (INTEL) 2758

5.00

50.00

9.00

30.00

50.00

26.60

STATIC RAMS

1-63 64 up

2 1 L0 2 (4 5

(450ns) 1.50

21 L0 2

(250ns)

410D

2101-1

2102

2111-1

2112-1

2114

(300ns) 10.00 8.25

2114

(4 5 0 ns)

2125L

TMS4044

(250ns) 8.95

TMS4 04 4

(450ns) 8.20

4200A 10.00

TMS4 04 5

(250ns) 8.95

TMS4 04 5

(450ns) 8.20

1.75 10.00 2.95 1.25 3.25 2.75

9.00 11.00

1.18

1.50 8.50

2.5 0 .90

2.6 5 2.35

7.6 9 8.30

7.4 0 8.6 0

8.00 7.4 0

FLOPPY DISC 1 7 7 1 B-0 1

CHIPS 39.95

KEYBOARD ENKODERS AY-5-2376 12.75

AY-5-3600 13.75

21L02 (350ns) Static Rams 120 @ $1.00 ea.

Z-8 0

Microprocessor 5 @ $20.00 ea.

1702A E-PROM $4.75 ea.

MM5257 lo pw repl.sTMS4044 8 for $8.0Pea.

6502

Microprocessor 5 ® $11.00 ea.

2114 L (250ns) 8 for $8.25 ea.

SHUGART 801R

8" FLOPPY DISC DRIVE.

$550.

KIM - 1

Assembled and Tested $245.00

PLUS

THE APPLE II COMPUTER

One of the best "Total Package" home and business computers on the market. "Basic" in ROM, Color Graphics, Floating Point Basic Package, etc.

I6K version only $1,095.00

416D 16Kx1

Dynamic Ram Chip can be used for expanding Apple II Memory or the TRS-80 (200ns)

8 for $20.00ea. 16 for $18.00ea.

Call for quote on larger quantities

full ASCII

PROFESSIONAL KEYBOARDS

* Full 128 Character ASCII

* Tri-Mode MOS Encoding

* MOS/DTL/TTL Compatable Output

* Two-key Rollover iv/mnci

* Level and Pulse Strobe MUUfcL

* Shift and Alpha Lock 756

* Selectable parity (56 keys)

* Positive or Negative Logic.

PRICING INFORMATION Model 756 (assembled) $59.95 Model 756K (kit) $49.95

Model 702 enclosure $29.95

Model 710 numeric pad $9.95 Model 756MFTV1tg.Frame $8.95

$35.00 $75.00

MOTHERBOARDS - S100 STYLE

9 slot "Little Mother" Assembled and Tested 13 slot with front panel slot Bare board $35.00

Kit $70.00

Assembled & Tested $110.00

22 slot Assembled & Tested $149.95

CONNECTORS DB-25P $2.25 DB-25S COVER $1.50 PC & EYE

44 Pin 44 Pin 86 Pin 86 Pin 100 Pin

WW

(6800) PC (COSMAC ELF) PC - (Altair) PC

100 Pin - (Imsai) WW

$3.25

$1.95 S2.50 $5.00 S5.00 $4.50 $4.25

100 Pin- (IMSAI) PC

$3.25

27OS (450ii5)

E-PROM

8 @> $7.50 ea.

TMS 4044 1250ns I „„ 16 @ S8.00,

21L02 (250nsr Static Rams 100 @$1.25ea.

4200A (200ns)

Static Rams

25 e* $10.00 ea.

MODEL 801R Shugart Disc with Cabinet

Includes Cabinet, Disc Drive, Power Supply, Cable, Fan & Data Cable. Has AC line filter.

Cabinet size 10"H x 10"W x 16"D MODEL DM 2700-S $75Q0Q

Z— 8 0 A

Microprocessor 5 @ $25.00 ea.

41 16 I200ns) 16K Dvn. Ram 8 @ S20.00 ea.

COMPUTER MAINFRAME

Includes: $295.00

Power Supply +8v at 18amps _±16v at 2 amps Mother Board - 12 slots with connectors Assembled & Tested Has Whisper Quiet Fan & AC Line Filter Cabinet size 7"H x 19"W x 22" D

FLOPPY DISC INTERFACE

JADE Floppy Disc (Tarbell Board)

KIT $175.00 ea.

S.D. Computer Products Versa Floppy Kit $149.00 ea. Assembled & Tested $189.00 ea.

STATIC RAM BOARDS ASSEMBLED & TESTED 8K

Ram 8 (250ns) Ram 8B (450ns) 250ns KIT Mem-1 450ns KIT Mem-1 BARE BOARD

$169.95 $139.95 $169.95 $125.00 $25.00

16K Uses 2114 (lo pwr.) Ram 16 (250ns) $375.00 Ram 16B (450ns) $325.00 MEM-2 Kit (250ns) $285.00 32K Assembled & Tested by SEALS ELECTRONICS JG-32 (250ns) $795.00

JG-32B (450ns) $725.00 250ns KIT $575.00

6800 Adapter - adapts Mem-1 8K board to Motorola MEK 6800D2 evaluation kit.

16K STATIC BOARD

with memory management can be used with Alpha Micro or Cromenco Systems, assembled & tested

RAM 65(250ns) $390.00

RAM 65B (450ns) $350.00

DYNAMIC RAM BOARD by S. D. Computer Products

On board refresh is provided with no wait states or cycle stealing required. +8 VDC 400MA DC, +18 VDC 400MA and -18 VDC 30MA DC.

EXPANDABLE 32K uses 4115 (2oons) 8K Kit $151.00 24K Kit $325.00 16K Kit $240.00 32t< Kit $400.00 EXPANDABLE 64K uses 4116 (200ns) 16K Kit $250.00 48K Kit $675.00 32K Kit $475.00 64K Kit $875.00

JADE 16K DYNAMIC KIT

uses 4096 (300ns) $200.00

JADE Z80 KIT

with PROVISIONS for ONBOARD 2708 and POWER ON JUMP

$135.00ea. $170.00ea. $149.95ea. $184.95ea. $35.00ea.

(2MHZ)

Assembled & Tested

(4MHZ)

Assembled & Tested

Bare Board

KIT

E-PROM BOARDS

MR-8 (8K uses 2708) KIT

with IK RAM MR-16T (16K uses 2716)

with 1K RAM EPM-1 (uses up to 4K of 1 702) RAM/N/ROM (16K uses any E-PROM) JG-8/16 (uses 2708 or 2716) BARE BOARD

$99.50

$99.50

$59.95

KIT $117.00

KIT $59.95 $30.00

EXPANDABLE E-PROM

S.D. Computer Products 16K or 32K EPROM $49.95 without EPROM

Allows you to use either 2708's for 16K of Eprom or 2716's for 32K of EPROM.

JADE VIDEO INTERFACE KIT

KIT $99.95

Assembled & Tested $139.95 S-100 Bus compatible 32 or 64 Characters per line-16 lines Graphics (128 x 48 matrix) Parallel & compositive video On board low-power memory Powerful software included for cursor, home, EOL, Scroll Graphics/Character Upper case, lower case and Greek. Black-on-white & White-on-black.

JADE PARALLEL/SERIAL INTERFACE KIT KIT $124.95

Assembled & Tested $154.95

* s-100

*2 Serial interfaces with RS232 interinterfaces or 1 Kansas City cassette interface.

* Serial interfaces are crystal controlled

* Selectable baud rates.

* Cassette works up to 1200 baud.

* 1 parallel port.

TJ-i

Convert T.V set to Video Monitor

KIT. .

$8.95

JADE 8080A KIT $100.00 Kit

BAHt BOAHLI $30.00

Computer Products

4901 W. Rosecrans-W Hawthorne, Calif. 90250

Freight Charge $2.00 less than 10-lbs.

NEW CATALOG NOW AVAILABLE

Cards Welcome

"THE PIGGY IS COMING

Circle 195 on inquiry card.

BYTE September 1978 181

What's New?

MEMORY

Battery Backup for Memory Board

Ampex MCM-8080 Core Memory Board Building Block for Cartridge Memories

This 16 K byte core memory for 8080 microcomputers is now available from Ampex Corp, 200 N Nash St, El Segundo CA 90245. Fully compatible with SBC 80 single board computers, the MCM-8080 provides nonvolatile storage for 16 K bytes with a data access time within 325 ns. The read and write cycle times are 780 and 1240 ns, respectively.

Each memory board includes electronics to detect input DC power conditions and inhibit operation when out of tolerance. The microcomputer is a pin compatible alternative to the SBC 016, SBC 046, SBC 416 and MDS 016 memory boards used with Intel SBC 80/05, 80/10 and 80/20 or equivalent computers. It can be used to provide up to 64 K bytes of addressable locations for either 8 bit or 16 bit applications.

The board measures 12 by 6.75 by 0.50 inches (30.48 by 17.14 by 1.27 cm) and utilizes the +5 V and +12 V power available. Single unit price is $885."

Circle 592 on inquiry card.

C1-6800 Microprocessor Memory

The microprocessor memory C16800 is a 16,384 word, 8 bit dynamic random access* memory. The memory module plugs directly into the EXORciser and is plug compatible with the Mex-6812, 6815, 6816-1. Through the use of the 16,384 by 1 bit NMOS dynamic memory parts the memory module capacity can be increased up to 64 K bytes on a single board. An access time of 300 ns accompanied with on board hidden refresh permits maximum utilization of processor speed. The memory is addressable as a contiguous block in 4 K word increments thru 64 K. The on board dual in line package switch assigns the addresses for customer configuration. Prices are $390 for 16 K by 8 and $1230 for 64 K by 8. Contact Chrislin Industries Inc, 31312 Via Colinas #102, Westlake Village CA 91361."

Circle 593 on inquiry card.

The Model 650 cartridge transport from North Atlantic's Qantex Division, 200 Terminal Dr, Plainview NY 11803, is designed as an original equipment manufacturer (OEM) memory building block for instruments, word processors, data processing systems for small businesses and other computer based equipment. The unit lists singly for $475, complete with "intimate electronics," stores up to 23 million bits of unformatted digital data on the four tracks of a DC300A tape cartridge. Optical tachometer holds tape speed at 30 inches per second for read and write operations, giving 48 K bps data transfer rate at 1600 bpi recording density. Tape is accelerated to 90 inches per second for rewind and fast search, permitting any stored data to be accessed in about 20 seconds. The transport can also be supplied with read after write heads for data validation during the actual recording process."

Circle 594 on inquiry card.

Two static programmable memory boards capable of battery backup and compatible with Intel's SBC 80/05, SBC 80/10 and SBC 80/20 have been announced by Electronic Solutions Inc, 7969 Engineer Rd, San Diego CA 92111. The two versions are the RAM-4L containing 4 K bytes of memory and the RAM-8L containing 8 K bytes of memory. The RAM-8L uses a single 5 V power supply and draws 1.2 A typical, 1.7 A maximum under operation. During battery backup at 1.7 V, the battery current is 0.5 A typical, 0.8 A maximum. Thr;ee alkaline D cell batteries can back up 8 K bytes of memory for 11 hours, according to the company. The RAM-4L is priced at $312 and the RAM-8L is $428."

Circle 595 on inquiry card.

Non-Volatile High Speed Semiconductor Programmable Memory

The ElectriCom 4020 is a single card memory designed to meet the requirements for short and long term nonvolatile high speed programmable memory systems. Memory data is maintained for a minimum of 3 months (6 months typical) after the primary board power is removed. The long data retention time allows the 4020 to be used for high speed program and data files that may be removed and stored away from the host processor. On-board nickelcadmium batteries, battery charger and power state monitors eliminate the need for external support circuitry. The primary input power disturbance level at which the 4020 will no longer respond to read or write commands is user set with an onboard potentiometer and LED indicator. Connection to the card edge connector from the IO headers is made with wire wrap allowing the 4020 to be used with all bus structures including the Altair (S-100). The 4020 is priced at $287 and may be purchased from ElectriCom, 12567 Crenshaw Blvd, Hawthorne CA 90250."

Circle 596 on inquiry card.

182

September 1978©BYTE Publications Inc

Circle 387 on inquiry card.

CO

IT WILL TELL YOU WHERE TO GO

CPU-1TH8080A CPU BOARD WITH

8 LEVEL VECTOR INTERRUPT.

$30. BARE $185. KIT

$220. ASSEMBLED AND TESTED

DEALER INQUIRIES INVITED

UNIVERSITY DISCOUNTS AVAILABLE

wmc

™ WAMECO INC. i/tC. 3107 LANEVIEW DRIVE SAN JOSE CA. 95132

2708/2716 EPROM MEMORY BOARD

* S-100 BUS

* 1-32 KBYTES USING EITHER 2708 OR 2716 EPROMS

* HIGH/LOW LIMIT ADDRESS RANGE SELECTION

* MEMORY BANK SELECT OPTION

* SOL COMPATIBLE MEMORY DISABLE

TM

* SELECTABLE WAIT STATES

* FULLY BUFFERED INPUTS AND OUTPUTS

* DOUBLE SOLDER MASK

* SILK SCREENED PARTS LAYOUT

* COMPLETE DOCUMENTATION

$30. BARE

$100. KIT (LESS EPROMS)

TESTED AND ASSEMBLED $130. (LESS EPROMS)

DEALER INQUIRIES INVITED UNIVERSITY DISCOUNTS AVAILABLE

fWTtfC/jne. WAMECO INC. 3107 LANEVIEW DRIVE SAN JOSE CA 95132

ITHACA AUDIO

THE OEM MARKETPLACE

Ithaca Audio Boards

Are fully S-100 compatable, featuring gold edge connectors and plated-through holes. All boards (except the Protoboard) have fully buffered data and address lines, DIP switch addressing, solder mask and parts legend.

Z-80 CPU Board Most powerful 8 bit central processor available. Featurino power-onjump, provision for on-board 2708. Accepts most 8080 software. $35.00

8K Static RAM Board High speed static memory at the lowest cost per bit. Includes memory protect/unprotect and selectable wait states.

$25.00

2708/2716 EPROM Board Indispensable for storing dedicated programs ana often used software. Accepts up to 16K of 2708's or 32K of 2716s. $25.00

Protoboard Universal wire-wrap board for developing custom circuitry. Accepts any size DIP socket. $25 00

S.D. SALES Expandoram Kit w. 8K $151.00

Ithaca Audio 24 4115's@ $7.00 ea. 168.00

TOTAL $319.00

S.D. SALES Expandoram Kit W.32K $475.00

YOU SAVE $156.00

Quality Components

ZIL0G Z-80

$19.00

ZIL0G Z-80A

23.00

Intel 2708

11.00

FAIRCHILD 2102 LHPC

1.60

FAIRCHILD 2102 LIPC

1.35

RAM!

32K for $319.00

Ithaca Audio is now stocking the Mostek 4115 for S.D.'s Expandoram. Buy their basic kit, 24K of add-on RAM from us and SAVE.

IMSAI 8080 Kit with 22 Slot M.B.

$560.00

plus S10.00 shipping.

HOW TO ORDER

Send check or money order, include $2.00 shipping per order. N.Y.S. Residents include tax.

For technical assistance call or write to:

ITHACA AUDIO

P.O. Box 91

Ithaca, New York 14850

Phone: 607/273-3271

Circle 190 on inquiry card.

BYTE September 1978 183

What's New?

CSC Proto-Clip Integrated Circuit Test Clips Used to Protect MOS Devices from Static

New EROM Erasing Lamps

Two new EROM erasing ultraviolet lamps have been introduced by Spectronics Corp, 956 Brush Hollow Rd, Westbury NY 11590. The Spectroline PE-14 is a small ultraviolet lamp designed especially for the small systems users and personal computer enthusiasts. The PE-14T is the same as the PE-14, but has a 60 minute timer for automatic shut off. Both lamps will erase up to six programmable read only memory chips at one time in 14 minutes. Both UV erasing lamps feature a high intensity,

shortwave UV tube, a specular reflector, and a V shaped holding tray that maintains up to six chips at a constant exposure distance. The high intensity tube is fully protected within the anodized aluminum housing, and a safety interlock prevents the unit from operating when the tray is not fully inserted. The conductive foam pad holds the chip in place during exposure and prevents electrostatic build up, while protecting the chip from possible static charge."

Circle 650 on inquiry card.

Attention Paper Tape Tearers

pppi

f^ ^J

^H^j;:

T(/r

^^3

This advanced splicer punch gauge for all 8, 7-6, and 5 channel perforated tapes is being marketed by Telex Marketing Company, 6464 Sunset Blvd, Los Angeles CA 90028. The Telex Splicer/ Puncher is said to make perfect splices and to repair tears up to 8 inches long. Utilizing a precision scissors type cutting shear, it works with all paper and Mylar tapes. Also featured are a data patch storage compartment, precision code hole punch, precision tape gauge, hold down arms, precision registration pins, and a punch position guide. For $169.50 Telex is offering a starter kit which includes the Splicer/Puncher and 300 data patches."

Circle 652 on inquiry card.

All Circuit Evaluators

TR 1983 Bus Oriented UART Replacement for 8251 UART

These new Powerace all circuit evaluators have been introduced by A P Products Inc, POB 110, 72 Corwin Dr, Painesville OH 44077. The Powerace line includes three power breadboards, Models 101, 102 and 103. All three models offer 256-5 tie point terminals and 16-25 tie point buses, fused power supply and ground plane. All models feature Super-Strip SS-2s and will accept all DIP sizes plus TO-5s and discretes with leads to .032 inch diameter. Prices are $84.95 for the 101, $114.95 for the 102, and $124.95 for the 103. For further information about the different models, contact the company."

Circle 653 on inquiry card.

The TR 1983 bus oriented universal asynchronous receiver transmitter (or UART) that is fully compatible with the asynchronous capabilities of the 8251 UART is now available from Western Digital Corp, 3128 Red Hill Av, POB 2180, Newport Beach CA 92663. It has a 28 pin package pinout that allows direct replacement of the 8251. The TR 1983 features full or half duplex operation, and is powered by a single +5 V supply. For further information, write to the company."

Circle 654 on inquiry card.

The CSC Proto-Clip integrated circuit test clips clip gently onto DIP integrated circuit packages and bring their pin connections to the top end of the clip. Cabled versions of this tool include a connecting cable preattached to the top or business end of the integrated circuit test clip. By attaching all leads at the far end of the cable to a good working ground, each integrated circuit pin is effectively shorted to ground and the problem of static discharge during handling is eliminated. The clips are available in 14 pin, 16 pin, 24 pin and 40 pin configurations; 18, 24 and 36 inch cables are available in each clip size. Prices for each clip and cable assembly range from $7.75 to $21.75 (unit quantities). For further information contact Continental Specialties Corp, 70 Fulton Ter, New Haven CT 06509."

Circle 651 on inquiry card.

Pocket-Size Solderless Breadboards

The Continental Specialties Corp carries a line of Experimenter socket solderless breadboards. The smallest of these is 3.6 inches by 2.1 inches by .3 inches, about the size of an audio cassette. No soldering, drilling or tooling is required. Parts simply plug right into the breadboard and interconnections are accomplished by pushing short lengths of hookup wire into adjacent holes. Prices range from $4 to $10.95. Contact Continental Specialties Corp, 70 Fulton Ter, New Haven CT 06509."

Circle 655 on inquiry card.

184 September 1978 © BYTE Publications Inc

CaMFornia DiqiTAl

Post Office Box 3097 B • Torrance, California 90503

Hazeltine 1400

cost effective

CRT TERMINAL

H59

plus shipping

The HazeltiriL' 1400 Vtdio Display Terminal is designed to optimize interactive real-time operations. The interface is capable of either local or remote connection through an E1A RS232-C interface at baud rates that are switch selectable up to 9600 baud.

• All 128 ASCII Code

• 64 Displuyable Characters |„. I „ I \ I „ I , I ,, I „ I , I t | -1 • I • U,|

• 24 Lines; 12 inch Screen |J,.i I I ' I I j ! I I I .' I '. j i dlL

• 80 Characters per Line I—UJ—LU—I—I » I » I—I—LJ—L_l

• Self Diagnostic Test | I

Quantity pricing upon request

Qty fe. male tid. 10 3.45 2.45 1.15 25 3.15 2.25 1.05 100 2.85 1.90 .95 500 2 25 160 .85 IK 1.97 1.37 .73

GOLD 100 PIN

IMSAI/ALTAIR

Imsai solder .1251.250 Imsii ww .125centers Altair soldertail.MOnm SPECIALS

22 44 Kim eyelet.1S6" 25/50 solder tab .156" 36/72 wide post w/w.156

•4.95 3/S11.95 44.95 3/413.00 •S.95 3/S1S.00

S1.95 3/SS.00

• 1.09 3/S2.00

• 1.95 3/15.00

'498

llOfor 545.

Scotcli

■ AIND

Diskettes

8 inch Soft (IBM) 8 inch 32 sector Mini Soft sec. Mini ^0 sector Mini 16 sector

Certified Digital

CASSETTES

Won't drop a BIT! • 550

CALIFORNIA INDUSTRIAL

is an

Authorized

Dealer of

Scotch Brand

Dataproducts

21i02

LOW POWER

450 r\iS

T=

Lowest Price Anywhere

74% 7497 74100 74107 74109 74110 74116 741M 74121 74122 74123 74125 74126 7412B 74132 74136 74141 74145 74147 74148 74150 74151 74153 74154 74155 74156 74157 74159 74160

I702A 4 95

B2s23 295

B2S123 2 95

2102 1.79

2102-1 1.G9

21102 1.19

,250 nS 1.49

S-lOO Mother Board

18 slot IMSAI

HEXADECIMAL KEYBOARD

Maii-Swilch Hexadecimal keyboards am designed for .w^Jst/fl 95

microcomputer systems inat require-, oil nulpijl *^ 0"Ti

in slandaid hex coda.

Each asaembly consists of 18 her met I

cally scaled feed switches and TTL "on

shot'' debounco circuitry.

Reliable low lilcilon acelal resin

plungers are credited lor I ho smooth

operation and long 111b ol this premium

keyboard.

Requires single + 5 volt suoply.

TELETYPE MODEL 43

New from Teletype. Ihe Model 43 Is capable ol printing 132 ASCII characters per lino. Send and receive data at 10 or 30 char, per second. Keyboard oonoratos all 128 ASCII code coinbii lions. HS-232 Interlace, same as toe popul Model 33 Data shoot sent upon request Mattutac lurerouofjoslod price $1377.00,

IMMEDIATE DELIVERY s1219

TTL model with NOVATION brand Acoustic Modem. *1419

Tsr

MAXI-SWITCH

ASCII KEYBOARD

>S4.88

KEYBOARD

J0VSTICK t4aQ

Assemble 1

'64.97

Definitely the best small system keyboard that we have seen. Maxi-Switch has incorporated

all the important keyboard features at a reasonable price. Full 128 ASCII functions. "N" key rollover, automatic repeats, user designated special function keys, escape, control & lots of others. Data sheet upon request.

COLOR TELEVISION R.R MODULATOR

'1395

Air

be

displayed directly upon your existing television system This unit converts the signal from the Apple it and

I television Kequenoos Operates Irom single 5 volt supply. Complete with metal case, mating

SPECiAL

APPLE II

IBK MEM OR

GRAPHICS* SOUND

COLORe

$1024

MlB.Sui. Retail....

Potter & Brumfield REED RELAY

5volt coil,pulls3.5v.

Mure 'our I00K potenno.enstance proportional to stick PerfKt lor television '.'co an0 radio controlled

0t

^^^^PST

ra> ear

10 100 IK

S-100 PROTOTYPE BOARD

OPlOO-Moximum design vt salliny along wim sianaard address decoding and buttering lor S100 systems. Room lor 32 uncommitted 16 pin IDs. S bus butler & decoding cfilps. 1 DIP oddress select switch, o 5 volt regulalor and more WWlOO-Wire wmp bieod boord. similar to mo GPIOO Allows wire wrap ol oil sizes ol sockets in any sizes ol sockets In ony combination An euro refluKHOf position tor multiple voltage applies

'19.98

Digital Cassette Drive

COMPUTER COIUTROLED

•■79.50

740? 7403 7403 7404 7405 7406 7407 7408 7409 7410 7411 7412 7413 7414 7416 7417 7420 7422 7423 7425 7426 7«7 7428 74M 7430 7433 7437 7438 7439 7440

■Ttr^

*&

SPECIAL SPECIAL SPECIAL Only 10,000 Available

NE555H

!forS.9S

25io, '7,00.100*1950

350N .99

351CM 65

370H 1.29

370N 129

373N 319

377N 399

380N 139

3S1N 179

382N 179

NE555V 49

NE556 129

NE565H 149

NE565N 179

NE566N 1.25

''OSCN .45 .39 .39

«(•* erf

V^u°° ^-f^ U»"T

, *T>a*'^fflST J AV s 10,3A

»4.98

SPECIAL

GENERAL INSTRUMENT ASCII Keyboard Encoder AY 5-3600 Prime but house marKed only $4.95

SO^Nf $.69

Conductor Ft. __

RIBBON WIRE

TWISTED PAIR

This precision I/O assembly features remote software controlled search capabilities. Two independent capstan drive motors allow the computer to control direction and speed of the transport.

The assembly consists of a Raymond cassette transport, chassis, motherboard and three edge cards: read/write, capstan drive & control card. Current replacement valued at over $700.00. Schematics and complete documentation included. USED, but in excellent condition.

Transistors

aa. 10 SO 100

Ml 3055 2N3772 2N3904 2N3906

2N2222A.20 .10 .16.15 2N3055 .69 .65.59.55 .79 .75 .69.65 1.59 1491.39129 .15 .11 .09.07 .15 .11 .09 .07

Diodes

10 25 100 1N4002 100.. .08 06.05 1N4005 600...10.08.07 lN4148,i8„al .07.05.04

iumbo red ea. 10 25 100 .ED'S *1S.13.11.69

Power Adapter

6vdc,140mA 51.39 7vdc,1.4 A. 5.S0 9vdc. 15 mA. 1.19 10 «Ac,300mA.

Tl

Binding Posts 5-WAY

3tor*l>9

20 100 •.35 .29

VISA 1

uEE mm

m

SOLDERLESS TERMINALS

INSULATED S*^ 20lorfl—T~TT i~\

'.98 L^U-N ^

5oecily:22-18; 16-14 100 500 111 490

213.679-9001

RELAYS

SPOT MINIATURE

10 25 100 'l.18ea. J11S 104 .89

Coil 12 Volt dc. 7 Amp Contacts P. C. Board Mount

TJmmbwheel switch

fTen position

BCD

sl?9«.

10 50

ii IS 89

CAPACITORS

ELECTROLYTICS

U. 10 50

Miniature / Switches L

f t m

$.98

your choice

10 50 100 la

80,000/10v. 395 349 2.95 4500/50v.S»9 13S U9

1000/15V S.55 49 45 anal

.1 disc .01 disc

5.12 .09 .07 .06 .05 .04

tBl

5.88 .81.73 .66 SPOT Miniature Toggles

7101 C&K ON NONE ON

7107 ibt ON-OFFImiit.ONl I

7108 CK ON-lmomenl.ON)

Rocker IBT DPOT

Rotary 3P-4-Pos.

Rotary 3P-6-P0S.

PushBIN.O.) S.39ea.4/51

DIP Switch

25 100 IK

SPST

DISCOUNT • |

Wire Wrapienter

Heavy duty'grounded power cord and matins chassis connectors.

PANASONIC

»98

A A"

450mA.

IC SOCKETS

wire wrap ea. 25 50

low profile

ea. 25 50

8

[4

17< 16 15 18 17 16

37' 36 35

IE

38 37 36

19 18 17

24

99 93 85

36 35 34

40

199 155 139

63 60 58

Sg9?5

BW630

son.

'.98

500 1,000 11,000 59. 515. 5105.

WjmlMiMfflMSstti

irrr. no COD's . Foteiftt order* add 10*. Credit cards Jcce.ited.S2l) minimum

Circle 39 on inquiry card.

BYTE September 1978 185

What's New?

PERIPHERALS

Timing Control Unit Available for LSI-11/2

Use This for a Compact Extension Terminal

The Transactor III data terminal utilizes a microprocessor In its design. Features available include synchronous or asynchronous communications line support for both dedicated or polled

multidrop environments. The terminal includes a single line 32 character gas discharge display and a 53 key Teletype style keyboard. It can be directly attached to any computer with an RS-232 or 20 mA current loop interface or can be attached to a communications line through a modem. Switches allow the user to select the operating mode including: 110 to 9600 bps transmission speeds, full or half duplex, even, odd or no parity, and the station address. The unit supports ASCII coded data with EBCDIC coded data available as an option. Other options include an expanded 256 byte data buffer and an addressable RS-232 port. The terminal can be provided with any line protocol for direct replacement of IBM 2260, 3275 or other types of terminals. Price is $995 from Computerwise !nc, 4006 E 137th Ter, Grandview MO 64030."

Circle 571 on inquiry card.

High Resolution Graphics

: XjKagBJ-M1''»*»l*r^BP^Bb

Kg ■ j»fe isLjA-SrA ■.. 9sf^k. --L

i ^^f^hKf? Kin Mil■ *iMF»M£i

This dual size peripheral board, designated TCU-50D, provides calendar and real time functions for DEC's LSI-11 and LSI-11/2. The unit, equipped with rechargeable battery back up capability, will keep track of the correct date and time for up to three months after the computer's power is turned off. This feature also enables the user to keep track of system down time during power failures. The board will present the date (month and day) and the time (hours, minutes and seconds) when a read instruction is given by the user. The units are shipped working and preset to the correct date and local time at the customer's location. A simple routine can reset the date and time. The TCU-50D costs $295 and is available from Digital Pathways Inc, 4151 Middlefield Rd, Palo AltoCA 94306.

Circle 572 on inquiry card.

Although this Vector high resolution graphics board has been designed to operate with all Vector Graphic computers with 8 K bytes of static programmable memory, the manufacturer says it is fully compatible with any S-100 bus computer. The board is designed to operate in one of two modes: digital output or 16 level gray scale. It requires+8 VDC and a minimum of 8 K programmable memory and will produce digital graphic displays of 256 pixels horizontal by 240 pixels vertical in the digital mode or gray scale pictures 128 pixels horizontal by 120 pixels vertical. The video output conforms to RS-1 70 and will interface to standard raster scan monitors. The board is priced at $235 fully assembled and tested, $195 as a kit, and 8 K bytes of memory must be available in the user's system for a screen buffer. From Vector Graphic Inc, 790 Hampshire Rd, Westlake Village, CA 91361."

Circle 573 on inquiry card.

Intelligent Communication Interface from Apple

sHHHw

BBBcl

m=' l

y \

W

Low cost telephone communication for the deaf; inexpensive high speed .message transfer; computers challenging each other at chess; remote system failure diagnosis; access to data banks and program libraries by phone. . .are only a few of the applications made possible by the newly announced intelligent communications interface from Apple Computer Inc, 10260 Bandley Dr, Cupertino CA 95014.

The new card, Model A2B0003X, can be connected to any device which will accept the industry standard RS-232C serial interface, including the 103 A type modems manufactured by various companies. It operates at 110 or 330 bits per second. The price of the card is $180. It is supplied complete, with operating system built in, with cable and operation manual."

Circle 574 on inquiry card.

186

September 1978 © BYTE Publications Inc

••...V

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a*

•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a

•••••■•••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••a

KIT FEATURES:

16K E-PROM CARD

IMAGINE HAVING 16K OF SOFTWARE ON LINE AT ALL TIME! S-100 llmsai/Altair) Buss Compatible!

• • • A

1. Double sided PC board with solder mask and silk screen and gold plated contact fingers.

2. Selectable wait states.

3. All address lines & data lines buffered!

4. All sockets included.

5. On card regulators.

KIT INCLUDES ALL PARTS AND SOCKETS (except 270B's). Add $25. for assembled and tested.

PRICE CUT!

$57.50 kit

SPECIAL OFFER:

WAS $69.95

Our 2708s (450NS) are S12.95 when purchased with above kit.

lA

Stri*

KIT FEATURES:

ADD

$20 FOR

250 NS

Ooubled sided PC Board with mask and silk screen layout.

Slated contact fingers. II sockets included.

2.

3. Fully buffered data lines.

4. Phantom is jumper

pin 67. 5. FOUR 7805 on card.

all address selectable regulators are provided (450NS)

BK LOW POWER RAM KIT-S149.00

S-100 (Imsai/Altairj Buss Compatible! 2 kits for $279

Fully Assembled & Burned In

$179.00

Blank PC Board w/ Documentation

$29.95

Low Profile Socket Set 13.50

Support IC's (TTL & Regulators)

$9.75

Bypass CAP'S (Disc & Tantalums)

$4.50

USES 21L02 RAM'S!

MOTOROLA QUAD OP - AMP

MC3401. PIN FOR PIN SUB.

FOR POPULAR LM 3900.

3 FOR $1

ALARM CLOCK CHIP

N.S. MM5375AA. Six Digits.

With full Data. Newt

$1.95 each

MOTOROLA 7805R VOLTAGE REGULATOR

Same as standard 7805 except 750 MA output TO-220. 5VDC output.

44c each or 10 for $3.95

FULL WAVE BRIDGE

4 AMP. 200 PIV. 694: 10 FOR $5.75

NOT ASSOCIATED WITH DIGITAL RESEARCH OF CALIFORNIA, THE SUPPLIERS OF CPM SOFTWARE.

450 NSI 2708 EPROMS

Now full speedl Prime new units from a major U.S. Mfg. 450 N.S. Access time. 1 K. x 8. Equiv. to 4-1702 A's in one package.

$15.75 ea.

4 FOR $50

00

INTEL 2102 RAM SALE!

BRAND NEW 2102A-4. FACTORY PRIME! WE MADE ANOTHER SUPER SURPLUS BUY!

PERFECT FOR USE WITH OUR BLANK 8K PC BOARD SHOWN ABOVE.

THESE PARTS HAVE BEEN SCREENED TO MEET THE LOW POWER SPEC. AND ARE GUARANTEED BY US TO BE 40 MA. MAXIMUM ICC.

(28 MA. TYPICAL)

450 N.S.

'A" VERSION FOR BATTERY BACKUP!

8 FOR $795 32 FOR $28

4K STATIC RAM'S 2114. The new industry standard. Arranged as 1K x4. Equivalent to 4-21 L02's in 1 package! 18 pin DIP. 2 chips give 1Kx8.

2/$24. 8/$85.

OPCOA LED READOUT

SLA-1. Common Anode. .33 inch character size. The original high efficiency LED display. 75c ea.

4 FOR $2.50

Z-80 PROGRAMMING MANUAL

By Mostek, The major Z-80 second source. The most detailed explanation ever on the working of the Z-80 CPU CHIPS. At least one full page on each of the 158 Z-80 instructions. A MUST reference manual for any user of the Z-80. 300 pages. Just off the press. $12.95

NATIONAL SEMICONDUCTOR

JUMBO CLOCK MODULE

FEATURES

• FOUR JUMBO « INCH LED DISPLAYS . 12 HR REAL TIME FORMAT

• 24 HH ALARM SIGNAL OUTPUT . 50 OR 60 Hi OPERATION

• LED BRIGHTNESS CONTROL

• POWER FAILURE INDICATOR

• SLEEP & SNOOZE TIMERS

■ DIRECT LED DRIVE [LOW FIFl) « COMES WITH FULL OATA

ASSEMBLED! NOT A KITI

ZULU VERSION' e nave a limned numOer of the 24 HR Real ne version ol ihis module m slock KMA10O8D —$9.95

PERFECT FOR USE

WITH A TIMEBASE.

(AC XFMR S1.96)

COMPARE AT UP TO TWICE OUR PRICE!

UNUFACTURERS CLOSEOUT

Digital Research Corporation

w (OF TEXAS) *

P. O. BOX 401247'GARLAND, TEXAS 75040* (214) 271-2461

SALE!

1N4148 DIODES. SILICON.

Same as 1N914. New,

factory prime, Full Leads.

100 FOR $2

1000 FOR $17.50

New! REAL TIME Computer Clock Chip

N.S. MM531 3. Features BOTH 7 segment and BCD outputs. 28 Pin DIP- $4.95 with Data

MICRO-MINI TOGGLE SWITCH

SPDT. By RAYTHEON. 990 MADE IN USA! WITH HDWR.

EACH

6 FOR $5

TERMS: Add 30C postage, we pay balance. Orders under $15 add 75* handling. No COD. We accept Visa, Mastercharge, and American Express cards. Tex. Res. add 5% Tax. foreign orders (except Canada) add 20% P & H. 90 Day Money Back Guarantee on all items.

•VV:

!•••••••••<

!••••••••<

••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••••I

•••••••••••••••••••••••••••••••••a**

i • • • •— •

i • • •_•

»•••••••••••••••••••••••••••••••••••••••••••••••••••••••••«

Circle 100 on inquiry card.

BYTE September 1978 187

Circle 297 on inquiry card.

* YOUR BEST BUY IN WIRE WRAP SUPPLIES *

PRECUT WIRE

WHY BUY WIRE ON ROLLS? PRECUT A STRIPPED WIRE IS:

F«t - No more cutting & stripping by hand Reliable - Good, clean, uniform strip Economical - Cheaper than using bulk wire

100 dcs of 3' at S 82 - 3V*/tt 50 It roll at SI 99 «/tt. 100 pes □! 6" at 1 06 : »/H 100 it roll at 2 95 ■■ St/ft.

WireKii 1 ai S6 95 = 2 1/3C/II.

Colors Red .Blue.Green, Yellow. Black. Orange. While Wire packaged in plastic bags Add 25*/leng1h tor tubes

100 500 1000 5000

78 2 40 4 30/K 3 89/K

82 260 4 71/K 4 22/K

86 2 BO 5 12/K 4 55/K

90 3 00 5 52/K 4 88/K

94 3 21 S93/K 5 21/K

98 3 42 6 34/K 5 52/K

I 02 3 65 6 75/K 5 86/K

1 32 4 85 9 21/K 7 34/K

I 36 5 05 9 62/K 8 17/K

1 40 5 25 10 03/K 8 50/K

1 45 5 51 10 44/K 8 83'K

Addl. inches

WIRE KITS

^1 16.95 -2 S19

Vn" 250 Vi

250 4/ 250 6"

5'- 500 3'

250 5' too ev

6- 500 3V

100 5V 100 7"

500 4

1 250 ft Roll Bult.

Choose One Color

or Assortment

SOLDERLESS BREADBOARDS SK 10 $16.50

INCLUDING:

Over 100 pieces of precut wire in assorted lengths — free! Choose 1 color Red, Black. 8lu Yellow. Green, White. Orange Or Assortment

2.2" X 6.5"

k

INTERCONNECT CABLES

SINGLE ENDED 14 pin 16 pin 24 pin 1 24 1 34 2 05

1 33 1 44 2 24

1 52 1 65 2 63

191 2 06 3 40

DOUBLE ENDED

2 24 233 2 52

2 45

2 55

2 76

3 17

f "\

WIRE WRAP TOOLS

$34.95

With Free Wire Kit 1 ($6.95 Value)

HOBBY WRAP Model BW 630

Batteries & Charger $11.00

WSU 30 Hand Wrap-Unwrap Strip Tool 6.25

WSU 30M. lor Modified Wrap 7.25

BT 30 Extra Bit 2 95

WIRE WRAP SOCKETS

100-249 250-999 1K-5K

8 pin

.35

14 pin

.35

16 pin

.37

18 pin

.60

20 pin

.84

22 pin

.90

24 pin

.91

pin strip

1.25

28 pin

.95

31

.29

25

23

31

.29

.28

.27

33

.31

.30

.29

45

.43

40

.37

71

.63

.59

.54

82

.78

.70

.60

78

.68

.64

.59

95

.80

.70

.65

84

.80

.76

.74

1.50

1.40

1.30

I 20

1.05

Gold 3-Level Closed Entry Design. * End & Side Slackable. All prices include Gold.

2 Level Sockets Also Available.

EDGE CARD

CONNECTOR

SALE!

44 Pin

Solder Tail

$1.75

$15/10

100 Pin

Solder Tail

3.50

S30/10

100 P.n

Wire Wrao

3.50

S30/10

All connectors

nclude Gold.

PAGE DIGITAL ELECTRONICS

Ordering Information:

Orders under $25 and COD's. add $2

aii others, shipped Ppd in us. viaups 135 E. Chestnut Street 5 For Blue Label (Air) or 1st class, add $1 Monrovia, California 91016

We accept Visa & Mastercharge

Most orders shipped same day PtlOne (213)357-5005

Dealer Inquiries Invited

P.O. Box 4430X Santa Clara, CA 95054 For will call only:(408) 988-1640

^^P^fcw For will call on!y:(4"°) 988-1b4U 9^^^^k2322 Walsh Ave.^

Gycft-i

^^P^^ELECTRONICS

-^H CRYSTALS

1 Mil-. i Cli 1 rimn f'M. * nc

256 Bytes of RAM, audio amp. & spkr. Detailed assy. man. w/PC board & all parts fully socketed. Comp. Kit $106.95. High address display option 8.95; Low address display option 9.95; Custom hardwood cab.; drilled front panel 19.75; Nicad Battery Backup Kit w/all parts 4.95; Fully wired & tested in cabinet without options 151.70; 1802 software club. 10-12 pg. monthly publication

4K Elf Expansion Board Kit with Cassette l/F $79.95 1200peryr.

Available on board options: 1K super ROM monitor $19.95. Parallel I/O port $7.95. RS232 l/F $3.50. TTY 20 ma l/F $1.95. S-100 Memory l/F $4.50. Need 4K Expansion Board Kit for all above options. Power Supply Kit ±5 +12V 5 amp $24.95.

Tiny Basic for ANY 1802 System

Cassette $10.00 .„„„ ,„ „„,„„„, „,,,, „„„„„ Object code listing or

New Cosmac Super "ELF"

RCA CMOS expandable to 64K microcomputer w/HEX keypad input and video output for graphics. Just turn on and start loading your program using the resident monitor on ROM. Pushbutton selection of all four CPU modes. LED indicators of current CPU mode and four CPU states. Single step op. for program debug. Built in pwr. supply,

on ROM Monitor

£38 00 Super Elf owners take

30%off.

paper t

1 with manual $5.50

CONNECTORS

44 pin edge

2.00

100 pin edge

4.50

100pinud{je WW 5.25

MOS/NEMORY RAM

2101-1

3.95

2102-1

2102AL-4

1.60

21F02

1.85

2104A-4

4.95

21078

4.95

2111-1

4.95

2112-2

3.95

2114

8. SO

4116

24.95

2513B

6.30

21102-1

MM52G2

MM5280

3.00

MM5320

MM5330

P0411D-3

P04110-4

P5501

4200A

32S25

91L02A

HD0165-5

MM57I00

GIAY38500-1

MCM6571A

9360

INTERFACE

8T25

8T26

8T28

8T97

8T98

8095

8096

ASCII KEYBOARDS 53 key kit S55.00

56 key kit $62.00 Enclosure $14.95

5.00 13.95 12.95 2.90 1.75 6.95 4,50 9.95 995 3.50

3.20 1.69 2.75

1 MHz 4.50 2.0100 MHz

2 MHz 4.50 2.097152 MHz 4.50

4 MHz 4.25 2.4576 MHz 4.50

5 MHz 4.25 3.2768 MHz 4.50 10 MHz 4.25 5.06B8MHZ 4.50 18 MHz 3.90 5.185 MHz 4.50 20 MHz 3.90 5.7143 MHz 4.50 32 MHz 3.90 6.5536 MHz 4.50 32768 Hz 4.00 14,31818 MHz 4.25 1.8432 MHz4.50 16.432 MHz 4.50 3.5795 MHz 1.20 22.1184 MHz 4.50

30 MHz Frequency Counter Kit $47.75 Prescaler Kit to 350 MHz $19.95

COMPUTER BOARD KITS

8K HAM Board Kil S134.95

4KEPR0MKi! 114.95

I/O Board Kit 44.50

Extender Boatd w/connector 12.50

Video Interface board kil 125.00 16K EPROM board kil w/o PROMS 74.50

16K Static RAM board kit 395.00

North Star Floppy Disk Kil $665.00

Additional Drive Kit 415.00

Paraaortics 100A Logic

Analyzer Kit $199.00

Model 10 Trigger Expander Kil $229.00

Model 150 Bus Grabber Kil S369.00

Auto Clock Kit $15.95

DC clock with 4-.50" displays. Uses National MA-1012 module with alarm option. Includes light dimmer, crystal timebase PC boards. Fully regulated, comp. instructs. Add $3.95 for beautiful dark gray case. Best value

60 Hz Crystal Time Base Kit

All parts and instructions $4.40.

78 IC Update Master Manual

1978 IC Update Master Manual $30.00

Complete IC data selector 2175 pg. Master reference guide. Over 42,000 cross references. Free update service through 1978. Domestic postage $3.50. Foreign $6.00.

Video Modulator Kit $8.95

Convert your TV set into a high quality monitor without affecting normal usage. Complete kit

with full instructions.

RCA CosmacVIP Kit $275.00

Video computer with games and graphics.

Sinclair 31/2 Digit Multimeter $59.95

Batt. oper. ImV and 1NA resolution. Resistance to 20 meg. 1% accuracy. Small, portable, completely assem. in case. 1 yr. guarantee.

PROM Eraser

Ultraviolet, assembled

$49.95

TERMS: $5.00 min. order U.S. Funds. Calif residenls add 6% lax. BankAmericard and Master Charge accepted. Shipping charges will be added on charge cards FREE: Send for your copy of our NEW 1978 QUEST CATALOG. Include 280 stamp.

188 BYTE September 1978

Circle 307 on inquiry card.

COMPUTER INTERFACES & PERIPHERALS

For free catalog including parts lists and schematics, send a self-addressed stamped envelope.

APPLE II SERIAL I/O INTERFACE *

Part no. 2

Baud rate is continuously adjustable from 0 to 30,000 • Plugs into any peripheral connector • Low current drain. RS232 input and output • On board switch selectable 5 to 8 data bits. 1 or 2 stop bits, and parity or no parity either odd or even • Jumper selectable address • SOFTWARE • Input and Output routine from monitor or BASIC to teletype or other serial printer. • Program for using an Apple II for a video or an intelligent terminal. Also can output in correspondence code to interface with some selectrics. Board only — $15.00; with parts — $42.00; assembled and tested — $62.00.

MODEM

Part no. 109

• Type 103 • Full or half duplex • Works up to 300 baud • Originate or Answer • No coils, only low cost components • TTL input and output-serial • Connect 8 ohm speaker and crystal mic. directly to board demodulator • Requires +5 volts with parts $27.50

>UsesXRFSK • Board $7.60;

DC POWER SUPPLY *

Part no. 6085

• Board supplies a regulated +5 volts at 3 amps., +12, -12, and -5 volts at 1 amp. • Power required is 8 volts AC at 3 amps., and 24 volts AC C.T. at 1.5 amps. • Board only $12.50; with parts excluding transformers $42.50

TAPE INTERFACE *

Part no. 111

• Play and record Kansas City Standard tapes • Converts a low cost tape recorder to a digital recorder • Works up to 1200 baud • Digital in and out are TTL-serial • Output of board connects to mic. in of recorder • Earphone of recorder connects to input on board • No coils • Requires +5 volts, low power drain • Board $7.60; with parts $27.50

TV. TYPEWRITER

Part no. 106

• Sland alone TVT

• 32 char/ line, 16 lines, modifications for 64 char/line included • Parallel ASCII (TTL) input • Video output • 1K on board memory • Output tor computer controlled curser • Auto scroll • Non-destructive curser • Curser inputs: up, down, left, right, home, EOL, EOS • Scroll up, down • Requires +5 volts at 1.5 amps, and -12 volts at 30 mA • All 7400, TTL chips • Char. gen. 2513 • Upper case only • Board only $39.00; with parts $145.00

TIDMA

Part no. 112

• Tape Interface Direct Memory Access • Record and play programs without bootstrap loader (no prom) has FSK encoder/decoder for direct connections to low cost recorder at 1200 baud rate, and direct connections for inputs and outputs to a digital recorder at any baud rate. • S-100 bus compatible • Board only $35.00; with parts $110.00

UART & BAUD RATE GENERATOR*

Part no. 101

• Converts serial to parallel and parallel to serial • Low cost on board baud rate generator • Baud rates: 110, 150. 300. 600, 1200. and 2400 • Low power drain +5 volts and -12 volts required

• TTL compatible • All characters contain a start bit, 5 to 8 data bits, 1 or 2 stop bits, and either odd or even parity.

• All connections go to a 44 pin gold plated edge connector • Board only $12.00; with parts $35.00 with connector add $3.00

8K STATIC RAM

Part no. 300

• 8K Altair bus memory • Uses 2102 Static memory chips • Memory protect • Gold contacts • Wait states • On board regulator • S-100 bus compatible • Vector input option • TRI state buffered • Board only $22.50; with parts $160.00

RF MODULATOR*

Part no. 107

• Converts video to AM modulated RF, Channels 2 or 3. So powerful almost no tuning is required. On board regulated power supply makes this extremely stable. Rated very highly in Doctor Dobbs' Journal. Recommended by Apple. • Power required is 12 volts AC C.T., or +5 volts DC • Board $7.60; with parts $13.50

RS232/TTY INTERFACE

Part no. 600

• Converts RS-232 to 20mA current loop, and 20mA current loop to RS-232 • Two separate circuits • Requires +12 and -12 volts • Board only $4,50, with parts $7.00

PAftrtte 6oo

RS 232/TTL* INTERFACE

^3t-*

Part no. 232

• Converts TTL to RS-232, and converts RS-232 to TTL • Two separate circuits

• Requires -12 and+12 volts

• All connections go to a 10 pin gold plated edge connector • Board only $4.50; with parts $7.00 with connector add $2.00

ELECTRONIC SYSTEMS

Depf. B, RO. Box 21638, San Jose, CA. USA 95151

To Order:

Mention part number and description. For parts kits add "A" to part number. In USA. shipping paid for orders accompanied by check, money order, or Master Charge, BankAmericard, or VISA number, expiration date and signature. Shipping charges added to C.O.D. orders. California residents add 6f" for tax. Outside USA add 10% for air mail postage, no C.O.D.'s. Checks and money orders must be payable in US dollars. Parts kits include sockets for all ICs. components, and circuit board. Documentation is included with all products. All items are in stock, and will be shipped the day order is received via first class mail. Prices are in US dollars. No open accounts. To eliminate tariff in Canada boxes are marked "Computer Parts." Dealer inquiries invited. 24 Hour Order Line: (408) 226-4064 * Circuits designed by John Bell

Circle 125 on inquiry card.

BYTE September 1978

189

What's New?

PERIPHERALS

Micrographics Printer Combines Graphics and Alphanumerics

Pocket-Sized Terminal

An alternative to the Teletype has been developed by Gleichmann & Co, Wormser Str 9, D 6710 Frankenthal

WEST GERMANY. The pocket-sized terminal has the same electrical interface but according to the company costs about one tenth as much as the conventional solution.

The size of a pocket calculator, the device has a built-in microprocessor, works fully electronically, and is noiseless. It has a keyboard for 64 alphanumeric characters, produces serial ASCII code and is compatible with any equipment that operates on a 20 mA current loop. It has a 9 digit display. The IO lines are galvanically separated by optoelectronic couplers. Transmission speed is 110 bps or, optionally, 300 bps. The device measures 3 by 6 by 1 inches (7.5 by 15.5 by 2.5 cm) and has a power consumption of 400 mA from the 5 V supply and 140 mA from the 12 V supply.

The US distributor is Sedillo Company Inc, 225 E Sunnyoaks Av, Campbell CA 95008.*

Circle 633 on inquiry card.

Interface for Teletype Model 40 Printer

The C/D-40 interface board allows the 300 line per minute Teletype Model 40 printer to connect to a host computer or terminal that offers a Centronics or Dataproducts interface. Complete hardware and software transparency is provided so that plug to plug compatibility exists without making system modifica

tions. The C-40 allows for the replacement of any Centronics printer and the D-40 provides for Dataproducts replacement.

The board is self-contained and does not require external power when mounted within the printer cabinet, since power is derived from the printer. The board may also be mounted inside the host system. This allows for computer and printer separation, via two wire pairs, of up to 2000 feet.

Standard features include field selectable control character code conversion, parity selection, extended ASCII, and variable motor time out after last character received.

The C-40 is priced at $795 and can be obtained from Innovative Electronic Systems Inc, 15200 NW 60 Av, Miami Lakes FL 33014."

Circle 635 on inquiry card.

Plotter Controller

5LIP ~1-T1

• •

--■j-w-i.

«»;

• ••••

—§•§.§

t,

The Serial Language Independent Plotter Controller (SLIP) is installed between your terminal and a modem on a time shared network or between your terminal and a local computer. With the connection of an XY recorder to SLIP, you have plotting and graphics capability. Any teleprocessing site utilizing standard RS-232 serial communications can become a remote graphics facility.

SLIP contains a microprocessor to

provide internal vector and character generation features, allowing a maximum of plotting with a minimum of data exchange. SLIPS capabilities include the support of two way user and computer communications during a plot, and an off line mode which assists in plot layout and design. It also detects and indicates character format errors.

During plot generation SLIP intercepts the plot data from the computer and generates XY signals to the plotter. The X and Y outputs from SLIP are selectable over a wide range of voltages to accommodate input requirements of most XY recorders.

The price is $1465 from Special Systems Inc, 8045 Newell St, Silver Spring MD 20910."

Circle 636 on inquiry card.

A MicroGraphics printer, the EX-820, which can mix high resolution graphics and full ASCII alphanumerics, is now available from Axiom, 5932 San Fernando Rd, Glendale CA 91202, at the single quantity price of $795.

Under software control, users have flexibility in mixing alphanumeric ASCII fields and graphic fields on any line. The user can define the size of each graphic field and can choose from four preprogrammed horizontal dot resolutions up to 128 dots per inch. Once the fields have been defined, the EX-820 automatically formats graphic and alphanumeric printouts to user specifications. Vertical dot resolution is fixed at 65 dots per inch. There is also provision for automatic histogram generation.

Standard features include: RS-232C serial input as well as parallel ASCII; driven by an Intel 8048; 512 character multiline asynchronous input buffer, optionally expandable to 2 K byte characters; 96 character ASCII standard, optionally expandable to 256 characters with user programmable fonts; software selection of three character sizes to give 80, 40 or 20 column printing; software selection of reverse printing, where light characters are formed on a dark background; 2 K bytes of user programmable read only memory (low cost option) which converts the printer into an intelligent printer.

Dimensions are 11 by 4 1/4 by 12 inches (28 by 10.8 by 30.5 cm). It weighs 12 pounds (5.4 kg), including a 230 foot roll of paper."

Circle 634 on inquiry card.

Where Do New Product Items Come From?

The information printed in the new products pages of BYTE is obtained from "new product" or "press re/ease" copy sent by the promoters of new products. If in our judgment the neat new whizbang gizmo or save the world software package is of interest to the personal computing experimenters and homebrewers who read BYTE, we print the information In some form. We openly solicit such information from manufacturers and suppliers to this marketplace. The information is printed more or less as a first in first out queue, subject to occasional priority modifications.

190

September 1978©BYTE Publications Inc

^™ rn, nftA1 A "Smart" VIDEO BOARD JT Ihe LW-2001 KIT At A "Dumb" Price!

§P A VD3E0 BOARD + A MEMORY BOARD + AN I/O BOARD - ALL IN ONE!

■ STATE OF THE ART TECHNOLOGY USING DEDICATED MICROPROCESSOR I.C. <& ~| QQ Q^

■ NUMBER OF I.C.s REDUCED BY 50% FOR HIGHER RELIABILITY ■ MASTER PIECE ^P -*■ ^ -/• -/*J

OF ENGINEERING ■ FULLY SOFTWARE CONTROLLED Priced at ONLY Basic Software Included

SPECIAL FEATURES: ■ Programmable no. of scan lines OPTIONS:

■ S-100 bus compatible ■ Underline blinking cursor Sockets $10.00

■ Parallel keyboard port ■ Cursor controls: up, down, left, 2K Static Memory

■ On board 4K screen memory ri8nt> home, carriage return (with Sockets) S45.00

(optional)* relocatable to main ■ Composite video 4K Static Memory

computer memory *Min. 2K required for operation of this board. (with Sockets) $90.00

■ Text editing capabilities (soft- DISPLAY FEATURES- Complete unit, assembled ware optional) _ ,,0 ..—; ——rzzi, , . and tested with

■ Srrolline- nn and down through 128 displayable ASCII charact- 4K Memory $335.00

■ scrolling, up ana down tnrougn ers (upper and lower case alpha- _ . ^^„ „_,. nn video memory numeric controls) Basic software on ROM . $20.00

■ Blinking characters a 64 or 32 characters per line Text editor on ROM ... . $75.00

■ Reversed video Gumper selectable)

■ Provision for on board ROM ■ 32 or 16 lines

■ CRT and video controls fully jumper selectable)

programmable (European TV) ■ Screen capacity 2048 or 512 DEALER

' 7hx^Ctdeot8mrtrix°n: INQUIRIES WELCOMED

8080 SUPPORT

8212 $3.00

8214 7.95

8216 3.50

8228 5.95

8251 7.95

8555 8.50

1/4W RESISTOR

10 Ohm- 1.5m

$1.75/100

of one value

Pole lOPos.

ROTARY

SWITCH

3 for $1.00

1 Pole 8 Pos. T05 Miniature Rotary Switch

3 for $1.00

MINIATURE

Slide Switch

DPDT

$.15; 10/$ 1.00

Push Button Momentary

Switch 3 for $1.00

8080 A

CPU

$7.75

RAM-2II4

1Kx4 450ns $8.00

RIBBON CABLE

32 Conductor

26 AWG - $.60/Foot

HEXADECIMAL LABEL KEYBOARD

Matrix coded output

Interfaces with 74C922

for binary code

Zero bounce

Est. life: 100 million

Remove back to stick on

*ONLY

ASCII 3rd GENERATION

KEYBOARD KIT $&8.00

SHIPPING: Keyboard and Video Board: $3.50; others: $1.25 California residents add 6% sales tax

ELECTRONICS WAREHOUSE Inc.

1603 AVIATION BLVD. REDONDO BEACH, CA. 90278

TEL. (213)376-8005 WRITE FOR FREE CATALOG

Minimum Order: $10

TTL Logic Circuits Power: +5V 275mA Upper and Lower Case Full ASCII Set (Alpha Numeric, Symbols, Control)

7 or 8 Bits Parallel Data Optional Serial Output

Selectable Positive or Negative Strobe, and Strobe Pulse Width

'N' Key Roll-Over

Fully Debounced

Carriage Return Key

Repeat Function Key

Shift Lock, 2 Shift Keys

4 User Defineable Keys

P.C. Board Size: 17-3/16" x 5"

OPTIONS:

■ Metal Enclosure Painted IBM Blue

and White) $25.00

■ 18 Pin Edge Con. $2.00

■ I.C. Sockets $4.00

■ Serial Output (Shift Register) $2.00

■ Upper Case Lock Switch for Capital Letters and

Numbers $2.00

KIT INCLUDES: Keyboard, P.C. Board, all required components & assembly manual.

NOTE: If you have this 63 Key Teletype Keyboard you can buy the Kit without it for only $44.95.

Circle 130 on inquiry card.

BYTE September 1978 191

s

What's New?

PERIPHERALS

Algorithmics PR-DW1 Precision Printer

The Algorithmics PR-DW1 Daisy Wheel Printer is a printer designed for use with microcomputer systems for high quality printing and plotting applications. This printer operates under control of an internal microprocessor and communicates with the host microprocessor over a high speed asynchronous parallel interface. It prints bidirectionally at rates of 45 characters per second. The carriage can be positioned left and right in increments as fine as 1/48 of an inch (0.53 mm). Hardware options include 55 characters per second version, metal print wheel, cam feed platen and forms tractor. The interface to the host computer consists of both hardware and software. The hardware component is a custom 50 conductor cable that terminates at the host machine in standard 25 pin connectors. The software consists of two applications packages. One package is for text printing and features bidirectional printing, automatic tabbing, and high speed travel over character spaces and blank lines. The second package is a graphics package that utilizes the 1/120 inch horizontal and 1/48 inch vertical precision print head positioning to achieve full graphics capabilities. Price is $2678 from Algorithmics Inc, POB 56, Newton Upper Falls MA 02164."

Circle 656 on inquiry card.

n i i i i i i i i i i i i

BECKIAN ENTERPRISES

4t

EDGE CARD CONNECTORS: GOLD PLATED.

BODY: Non brittle, solvent resistant, high temp, G.E. Valox. The finest you can buy. CONTACTS: Bifurcated Phos./Bronze; Gold/Nickel.

ALTAIR S-100: Cont./Ctrs. 50/100 Dip Sold. 50/100 Sold. Eye.

125

Row Spacing, .140 S3.95ea. 6.95 ea.

IMSAI S-100: Cont./Ctrs. 50/100 Dip Sold. 50/100 W/Wrap 3 IMSAI CARD GUIDES:

125

CROMEMCO S-100: Cont./Ctrs. 50/100 Dip Sold. (Or short W/Wrap)

Row Spacing, .250

$4.20 ea.

3.75 ea.

0.19 ea.

125 Row Spacing, $6.50 ea.

5 pes. 5 pes.

5 pes. 5 pes. 5 pes.

250

OTHER CONNECTORS AVAILABLE

100 Contact Ctrs., .140 Row Spacing.

22/44 Dip Sold. 25/50 Sold. Eye. 40/80 Sold. Eye. 43/86 Dip Sold. 43/86 Sold. Eye.

156 Contact Ctrs,, ,140

6/- Sgle. Row (PET) 22/44 Sold. Eye. (KIM) 22/44 Dip Sold. (KIM) 43/86 Dip Sold.

$2.30 ea. 2.95 ea. 4.80 ea. 4.90 ea. 4.90 ea.

Row Spacing.

$1.00 ea. 1.90 ea. 1.90 ea. 4.90 ea.

156 Contact Ctrs., .200 Row Spacing.

15/30 W/Wrap 3 22/44 W/Wrap 3 36/72 Sold. Eye. 36/72 W/Wrap 3 43/86 W/Wrap 3

$1.05 ea. 2.30 ea. 3.45 ea. 3.85 ea. 5.50 ea.

5 pes. 5 pes. 5 pes. 5 pes. 5 pes.

5 pes. 5 pes. 5 pes. 5 pes.

5 pes. 5 pes. 5 pes. 5 pes. 5 pes,

$3.75 6.50

$3.95 ea. 3.50 ea. 0.16 ea.

$6.00 ea.

$2.10 ea.

2.75 ea,

4.50 ea.

4.70 ea

4.70 ea

$0.90 1.80 1.80 4.70

$0.95 2.10 3.30 3.70 5.00

POLARIZING KEYS FOR ALL OF THE ABOVE:

Specify: IN Contact or BETWEEN Contact:

1 to 49 pes. $0.10 ea. 50 pcs./Up $0.08 ea.

SPECIAL

22/44 Pin .156" Cont./Ctrs. .200" Row Spacing.

TIN PLATED CONTACTS. IDEAL FOR PET INTERFACE & PARALLEL USER PORT. $1.25 ea. 5 pes. $1.10 ea.

All Prime Quality — New Parts Only Satisfaction Guaranteed

SUBMINIATURE CONNECTORS: (DB 25 SERIES, RS 232.)

DB 25P Male Plug $2.50 ea.

DB 25S Female Socket 3.60ea.

DB 51212-1 Grey Hood 1.20ea.

DB 51226-1A Black Hood 1.30 ea.

D 20418-2 Hardware Set 0.75 ea. SAVE: BUY A SET:

5 pes. 5 pes. 5 pes. 5 pes. 5 pes.

11 DB25P. 1 DB25S, Any Hood.) 1 Set: $6.35 ea. 5 sets: $6.15 ea. NOTE: For Hardware, (D20418-2) Add $.65/Set.

$2.20 3.40 1.10 1.20 0.70

WHISPER FANS

Excellent for computer cabine,t cooling. This is the most quiet fan you will find. Only measures 4 3/4 square by 1% deep. U. L. Listed.

$21.00ea. 5 pes. $19.00 ea.

I.C. SOCKETS. GOLD. WIRE WRAP 3 TURN. 14 pin $0.36 ea. 16 pin 0.38 ea.

2708 EPROMS PRIME

$14.00 ea.

I.C. SOCKETS. Dip Solder. Tin. 14 pin $0.15 ea. 16 pin 0.17 ea.

8080 PRIME

$9.00 ea.

WRITE FOR WELCOME.

LARGER QUANTITY DISCOUNTS. DEALER INQUIRIES ARE

WE ARE CONNECTOR (EDGE CARD! SPECIALISTS. IF YOU DO NOT SEE WHAT YOU NEED IN THIS ADVERTISEMENT, PLEASE WRITE US. WE WILL REPL Y.

TERMS: Minimum Order $10.00: Add $1.25 for handling and shipping. All orders over $25.00 in USA and Canada: WE PA Y THE SHIPPING. NOTE: CA residents please add 6% sales tax. %

NO C.O.D. SHIPMENTS OR ORDERS ACCEPTED.

MAIL ORDERS TO

Beckian Enterprises

P.O. Box 3089

Simi Valley, CA 93063

192 September 1978©BYTE Publications Inc

Circle 30 on inquiry card.

DIODES/ZENERS

SOCKETS/BRIDGES

TRANSISTORS, LEDS, etc.

1N914

100v

10mA .05

8-pin pcb .20 ww .35

2N2222 NPN (2N2222 Plastic .10)

.15

1N4H05 1N4007

600v 1000v

1A .08 1A .15

14-pin pcb .20 ww .40 16-pin pcb .20 ww .40

2N2907 PNP

2N3906 PNP (Plastic - Unmarked)

2N3904 NPN (Plastic - Unmarked)

.15 .10 .10

1N4148

75v

10m/

18-pin pcb .25 ww .75

2N3054 NPN

.35

1N4733

5.1v

1 W

Zener .25

22-pin pcb .35 ww .95

2N3055 NPN 1 5A 60v

.50

1N753A

6.2v

500 mW Zener .25

24-pin pcb .35 ww .95

T1P125 PNP Darlington LED Green, Red, Clear, Yellow

.35 .15

1N758A

10v

.25

28-pin pcb .45 ww 1.25

D.L.747 7 seg 5/8" High com-anode

1.95

1N759A

12v

.25

40-pin pcb .50 ww 1.25

MAN72 7 seg com-anode (Red)

1.25

1N5243 1N5244B

13v 14v

.25 .25

Molex pins .01 To-3 Sockets .25

MAN3610 7 seg com-anode (Orange) MAN82A 7 seg com-anode (Yellow)

1.25 1.25

2 Amp Bridge 100-prv .95

MAN74A 7 seg corn-cathode (Red)

1.50

1N5245B

15v

.25

FND359 7 seg corn-cathode (Red)

1.25

25 Amp Bridge 200-prv 1.95

CMOS

- T T L

4000

.15

7400

.10

7473 .25

74176 .85

74H72 .35

74S133

.40

4001

.15

7401

.15

7474 .30

74180 .55

74H101 .75

74S140

.55

4002

.20

7402

.15

7475 .35

74181 2.25

74H103 .55

74S151

.30

4004

3.95

7403

.15

7476 .40

74182 .75

74H106 .95

74S153

.35

4006

.95

7404

.10

7480 .55

74190 1.25

74S157

.75

4007

.20

7405

.25

7481 .75

74191 .95

74 LOO .25

74S158

.30

4008

.75

7406

.25

7483 .75

74192 .75

74L02 .20

74S194

1.05

4009

.35

7407

.55

7485 .55

74193 .85

74L03 .25

74S257I8123) 1.05

4010

.35

7408

.15

7486 .25

74194 .95

74L04 .30

4011

.20

7409

.15

7489 1.05

74195 .95

74L10 .20

74LS00

.20

4012

.20

7410

.15

7490 .45

74196 .95

74L20 .35

74LS01

.20

4013

.40

7411

.25

7491 .70

74197 .95

74L30 .45

74LS02

.20

4014

.75

7412

.25

7492 .45

74198 1.45

74L47 1.95

74LS04

.20

4015

.75

7413

.25

7493 .35

74221 1.00

74L51 .45

74LS05

.25

4016

.35

7414

.75

7494 .75

74367 .75

74L55 .65

74LS08

.25

4017

.75

7416

.25

7495 .60

74L72 .45

74LS09

.25

4018

.75

7417

.40

7496 .80

75108A .35

74L73 .40

74LS10

.25

4019

.35

7420

.15

74100 1.15

75491 .50

74L74 .45

74LS11

.25

4020

.85

7426

.25

74107 .25

75492 .50

74L75 .55

74LS20

.20

4021

.75

7427

.25

74121 .35

74L93 .55

74LS21

.25

4022

.75

7430

.15

74122 .55

74L123 .85

74LS22

.25

4023

.20

7432

.20

74123 .35

74H00 .15

74LS32

.25

4024

.75

7437

.20

74125 .45

74H01 -20

74S00 .35

74LS37

.25

4025

.20

7438

.20

74126 .35

74H04 -20

74S02 .35

74LS38

.35

4026

1.95

7440

.20

74132 -75

74H05 .20

74S03 .25

74LS40

.30

4027

.35

7441

1.15

74141 .90

74H08 .35

74S04 .25

74LS42

.65

4028

.75

7442

.45

74150 .85

74H10 .35

74S05 .35

74LS51

.35

4030

.35

7443

.45

74151 .65

74H11 .25

74S08 .35

74LS74

.35

4033

1.50

7444

.45

74153 .75

74H15 .45

74S10 .35

74LS86

.35

4034

2.45

7445

.65

74154 .95

74H20 .25

74S11 .35

74LS90

.55

4035

.75

7446

.70

74156 .70

74H21 .25

74S20 .25

74LS93

.55

4040

.75

7447

.70

74157 .65

74H22 .40

74S40 .20

74LS107

.40

4041

.69

7448

.50

74161 .55

74H30 .20

74S50 .20

74LS123

1.00

4042

.65

7450

.25

74163 .85

74H40 .25

74S51 .25

74LS151

.75

4043

.50

7451

.25

74164 .60

74H50 .25

74S64 .15

74LS153

.75

4044

.65

7453

.20

74165 1.10

74H51 .25

74S74 .35

74LS157

.75

4046

1.25

7454

.25

74166 1.25

74H52 .15

74S112 .60

74LS164

1.00

4049

.45

7460

.40

74175 .80

74H53J .25

74S114 .65

74LS193

.95

4050

.45

7470

.45

74H55 .20

74LS367

.75

4066 4069/74 C04

.55 .25

7472

.40

74LS368

.65

4071

.25

MCT2 .95 LINEARS, REGULATORS, etc.

4081

.30

8038 3.95

LM320T5 1.65

LM340K15 1.25

LM723

.40

4082

.30

LM201 .75

LM320T12 1.65

LM340K18 1.25

LM725N

2.50

MC 14409 14.50

LM301 .45

LM320T15 1.65

LM340K24 1.25

LM739

1.50

MC 14419

4.85

LM308 (Mini) .95

LM324N 1.25

78L05 .75

LM74K8-141.25

4511

.95

LM309H .65

LM339 .75

78L12 .75

LM747

1.10

74C151

1.90

LM309K(34ok-5>85

7805 (340T5) .95

78L15 .75

LM1307

1.25

LM310 .85 LM311D(Mim) .75

LM340T12 .95 LM340T15 .95

78M05 .75 LM373 2.95

LM1458 LM3900

.65 .50

9000 SER

9301 .85

95H03

1.10

LM318(Mini) 1.75

LM340T18 .95

LM380(8-14pin).95

LM75451

.65

9309 .35

9601

.20

LM320K5(7905)1.65

LM340T24 .95

LM709(8,14pin).25

NE555

.35

9322 .65

9602

.45

LM320K12 1.65

LM340K12 1.25

LM711 .45

NE556 NE565 NE566 NE567

.85

.95

1.25

.95

MICRO'S, RA E-PRC

74S188 3.00 1702A 4.50

MS, C )MS

8214 8224

PU'S,

8.95 3.25

INTEGRATED CIRCUITS UNLIMITED

MM5314 3.00

8228

6.00

7889 Clairemont Mesa Boulevard, San Diego, California 92111

MM5316 3.50 2102-1 1.45

8251 8255

8.50 10.50

(714) 278-4394 (Calif. Res.) DISCOUNTS

2102L-1 1.75

8T13

1.50

All orders shipped prepaid No minimum Total Order

Deduct

2114 9.50

8T23

1.50

Open accounts invited COD orders accepted $35-$99

10%

TR1602B 3.95 TMS 4044- 9.95

8T24 8T97

2.00 1.00

Discounts available at OEM Quantities California Residents add 6% Sales Tax ^1u0 " f30°

£301 - S1000 All IC's Prime/Guaranteed. All orders shipped same day received.

15% 20%

2107

B-4 4.95

8080 8.95 8212 2.95

2708 Z80F

9.50 MO 8.50

24 Hour Toll Free Phone 1-800-854-2211 American Express / BankAmericard / Visa / MasterCharge

Circle 180 on inquiry card.

BYTE September 1978 193

7400 TTL

SN7438N SM7439N

SMM40N BM7441N

SN7443N

SU7470N SN7472N

SN7473N SH7474N

SM7475N SN7476N SN7473N SN7J80N SN7462N SU7483N SN748SN SM7486N SN7489M SN7490N SN7491N SN7492N SN7493N SN7494N SN749SN SM7496N SN7497N SN74100N

•^jMHSN 1 95

SN7445N 5N7440I

SN74J7N SN7-W8N 5N7450N

SN7451N SN7453N SN745-1N SfJ7459A SN7460N 20% Discount 1

3N74121N SN74122N S?J74123N SM74125N SN74i2fiN SN74132N SN74136N SN74141N SN74142N SN74143N SNf4144N SN74145M SN74147N SN74148N SN74150N SN74151N SN74J53N SN74154N SN74t55N SN74156N S174157N s combined order 25% -1000 pes combined order.

SN74160\ SN74151N

SN74163N SN74164N 5N741G5N 3N74166N SN741S7N SN74170N SN74172JJ SN74173N SW7JI74N SW4175N SN7417GN SN74177N SN71179N SN7J180N SN74I81N SN7-H82N SN741Q4N SN.741B5N SN7418GN SN74188N SM74190N SN74191N SN74192H SN74193N SN74194N SN7-M95N SN7J196N SN74197N SN7419BN 5N7419SN SN742O0N SN74251N SfJ74279(J SN74283N SN742S4N SN74285N SN74365N SN74366M SN74367N SN74368N SN74390N SN74393M

CD4003 C0400! CD4Q02 C040Q6 C04QU7 CD4009 CO401O CD401I C04Q12 CD4013 C04Q14 C04015 UOJDTo CU4DI7 01)4018 C04019 CD4020 C0402I CO4022 CD4023 CD4024 CO402S CD4020 '.::'4 :•)■■■•

C/M0S

CD4028 CD4029 CD4030 CD4035 C04040 C04041 CD4042 CEMQ43 C04044 CD4Q4G CD4Q47 C0404B CD4049 CD! 050 CO4051 C04053 CD4056 CD4059 CD4060 CD4066 CD40GS

CO407O

C04071

CD4072

CD4076

CD4081

CD 1082

CD4093

CD4093

MCI 4409

MCI44I0

MC14411

MC14-119

MC14433

MC145QG

WC14507

MCI 4562

MCl 4583

CD4508

COJ510

CD4&I1

C04515

C04518

C04520

CQ4566

74C92 74C04 7JC08 74C10 74C14 74C20 74C30 74C42 74C48 74C73

'•4C74

74C00

78MG

LM300H

LM301H

LM301CN

LM302H

LM304H

LM305H

LM307CN/H

LM308H

LU308CH

LM309H

LM309K

LM310CN

LM311H

LM311N

LM317K

LM318CN

LM319N

LM32QK-5

LM320K-5 ?

LM32QK-12

LM320K-15

LM320K-18

LM320K-24

LM320T-5

LM320T-5 2

LM320I-B

LM320M2

LM320T-15

LW320T-18

LM320T-24

LM323K-5

LM324N

LM339N

LM340K-5

LM340K-6

LM340K-8

LM340K-12

LM340K-15

LM340K-18

LM340K-24

LM340T-5

LM34QT-5

7JC89 74C90 74C93 74C95 74C107 74C151 74C151 74C157 74C160 r-i'.i-i-.

■4C1.iJ

74CIS4 74CI73 7-ICI92 74C193 74CI95 74C922 74C923 74C925 74C926 80C95 30C97

LINEAR

LM34GT-8

LM340T-12

LM340T-15

LM340T-18

LH340T-24

LM350N

LM3S1CN

LM370M

LM373N

LM377N

(.M380N

LM380CN

LM381H

Ltm2U

IJE501H

NE510A

NE529A

NE531H

NE536T

NE540L

'4E550M

'IE555V

NE556N

NE560B

NE561B

NE5629

NE5G5H

TJE565N

NE536CN

fJE567H

-JE567V

HE570M

LM703CN/H

LM709H

LM709N

LM710N

LM711N

LM733N

LM739N

LM741CH

LM741CT

LM741-HN

LM747H

LM747N

LM748H

LM748PJ

LM1303N

LMI30-1N

LH130SN

LMI307M

LM1310N

LM1351N

LM1414N

UWt4S8CN/H

MC14S8IJ

MC1489fJ

LM14B8H

LMI556V

MC1741SCP 3 00

LH2901N

LM3053N

LM3065U 69

LM3900f|(34011 49

LM3905N 69

LM3909N 1 25

MCS5S8V 1 00

LM7525N 90

LM7534N 75

2.95

LM7545DN

75451CN

75452CN

75453CN

75454CN

75491CN

75492CN

75494CN

RC4151

RC4194

F1C4195

74LS00 74LE01 74LS02 7-ILS03 74LS04 74LS05 74LS08 74LS09 74LS10 74LS13 74LS14 74LS15 74LS20 74LS21 74LS22 74LS26 74LS27 74LS2S 74LS30 74LS32 74LS37 74LS40 741S42

^74LS47

74LS00 TTL

74LS51 74LS54 74LS55 74LS73 74LS74 74LS75 74LS76 74LSB3 74LS85 74LS86 74L590 74LS92 74LS93 74LS95 74LS96 74LS107 74LS109 74LS112 74LSI23 74LS132 74LS136 74LSI38

74LS13y 74LS151 74LSI55 74 LSI 57 74l.S1t;C) 74LS161

'4i.sk;;1

"4LS!l;:t

74LS1R4 74LS175 74LS181 74L3193 74LS19I 74LSI9:j 74L;ii93 74LSI 94 74LS19.'i 741 5 2^i 74LS257 74LS260 74LS279 74LS367 74LS36B 74LS670

BUGBOOK

Continuing Education Series

SI7.DO per si;i

3 ■ ;c:l,J.ii] >ji1r: Hip 'ioas. li

S5.0D

l irr|)(ins:il

ana irie rs J3!C n

THE 555 TIMEfl APPLICATIONS SOURCEBOOK WITH EKPE8IMEKTS by Howard M. Berlin W3H8

S6.95 BUGBOOK III S15.I

a» PiU> R. Rout, DhU G Umn. WUHTJ, JmiWiii k Illui

More u Ihe BQiik inj! put; il Id tOQHIW BcsiJcs iuvm() much viliwWe t

in BufiimoK ill

IKSTHUCTOR'S MANUAL

WecSSMry Ini iiffliuaon o' Bus9mk I eipermems iuflosslm.ii lot ruintr reii

OP AMP MANUAL by Howard M. Beilln W3H8 S9.0D

»m-n!.,i! jiiitif !■' iiip'icirirjri a' opi'Mlo-i |i .irii[ili(,-rs Over J5 «[*(!■

BUGBOOK V and VI S19.00 per sel

ti.IH.KJG Lima. F'iHi B flnni. Jonjlhii * Tllai

fipenmenK m a«jiW elKiromcs. BO80* micioco^npuitr iHogunirniiig ji

BUBO* micDccmpulH inierficmg »n inltgnltd aoP'OStl 10 MllinsHuCtl

UJiic IijiiiL (]<ct:o."n^ i:i]Jbffl.ii.-J-.n) i-v.t 903dA nisertKing.'projrsmrmr ihiJIiDi)' VI i.ilcrjr.l'us N.t 1i.51l.li I uiui:|!t'. ill SudBOOfc V 11UD ,! Wllnidnt

-j^TjTj CMOS-M-DESIGHEHSPRIMEH

AND HANDBOOK New e>pandod version

10.50

COMPLETE MANUAL FOR DIGITAL CLOCKS by John Weiss and John Brooks

Fatnilaraes lecnmcian ur nobuytst wnn Basic iheoftes benwo dq}Kal nocus includes noobie Bhootnuj g

^"lir^-luriM'ii'j ot clocks, soiflermq [gcluiirjues. clock coni[i;nii:nl il.'iii -i.^-h ,•.;;; i:i;-n-.inn:;ion lips

<C2Q9

XC209 <C203

DISCRETE LEDS

KC1II XC111

XC111

Green Yellow Clear

XC556 XC556 XC556 XC55G XC556 XC555

:v50 ■ Red 6 Si

170' dia. 1VI0 fled ■ 4/S1

DISPLAY LEDS

TYPE

MAN I MAN 2 MAN 3 MAN 4 MAM 52 MAN 71 MAN 72 MAN 74 MAN 81 MAN 82 MAN 34 MAN 362(1 MAN 3G30 MAN 3641) MAN 4610 MAN 4640 MAN 4710 MAN 4730 MAN 4740 MAN 4810 MAN 6610 MAN 6630 MAN 6640 MAN 6650 MAN 6660

POLARITY

Common Anode-red 5»7 DolMatnwed Common Calhode-reO Common Calhode-red < Common Anode-green Common Anode-red Common Anode-red Common Cathode-red Common Anode-yellow Common Anode-yellow Common Calhode-yellow Common Anode-orange Common Anode-orange • i Common Cathode-orange Common Anode-orange Common Cathode-oiangt Common AnDde-rer) - 1 Common Anofle-ied Common C3lfiode-red Common Anode-yellow Common Anode-orange-D 11 Common Anide-oranfle Common Cathode-oiange-l) Common Cathode-oranrje • Common Anode-orange

TYPE

MAN 6680

MAN 6710

MAN 6730

MAN 6740

MAN 6750

MAN 6760

MAN 67B0

01.701

DL702

OL704

DL707

01.741

DL746

OL747

OL749

DL750

DL33B

FN070

FND359

FND503

FNO507

5082-7300

50827302

5082-7304

5082-7340

POLAHITY

Common Calnnde-orange Common Anode-red-D 0 Common Anode-red ■ 1 Common Caltiode-redD 0 Common Cathode-red * i Common Anode-red Common Cathode-red Common Anode-red -t Common Calhode-red Common Cathode-red Common Anode-red Common Anode-led Common Anode-red • 1 Common Anode-red Common Calhode-red -1 Common Cathode-red Common Cathode-red Coimmkin Cathode Common Anode Common Caihode (FND5O01 Common Anorte IFND510I 4 < 7 Sgl Drrjil-RHDP 4 x 7 Sgl DiQil-LHDP Overrange character (- 1| 417 Sgl DioM'Hetadecima!

CA3013 CA2023 CA3035 CA3039 CA3046 CA3059 CA3060 CA3080 CA3Q81

A LINEAR

CALCULATOR CHIPS AND DRIVER

2 15 CA3082

?nn

ICM3817 S5 00

2.56 CA3083

1 fin

MM5725

2 95

248 CA30B6

85

MM573B

1 95

1 35 CA3089

3 75

MM5738

3 95

1 30 CA3I30

i 39

QM8864

2 00

3.25 CA3140

1 ?5

DM8B65

1 no

3.25 CA3160

1 ?S

DM88S7

75

85 CA3401

4P

DM8889

'5

2 00 CA3600

3 50

5030

7 95

CLOCK CHIPS

MM5309 MM53II

MM5312 MM5314 MM531G MM5318 MM5369 MM5841 7001

20 pin LP

.34

14 pin ST S.27

16 pin ST , ,30

18 pin ST .35

24 pin ST .49

8 pin SG 14 pin SG 16 pin SG 18 pin SG

$.30

; SOLDERTAfL — LOW PROFILE (TIN) SOCKETS

50-100 1-24

Z2 pin LP S .37 24 pin LP -38 28 pin LP 45 36 pin LP 60 SOLOERTAIL STANDARD (TIN) « P*n LP 63 28 pin ST S .99 36 pin ST 1.39 40 pin ST 159 SOLOERTAIL STANDARD (GOLD)

24 pin SG S 70

9374 - 7-seonifiin LED drivel r.-iiiiinnn anode LEDs S .99

25-49 50-100

.29

.52

8 pin WW S.40

10 pin WW .45

14 pin WW 39

16 pin WW 43

18 pin WW 75

28 pin SG 36 pin SG 40 pin SG

1.10 1.75

WIRE WRAP SOCKETS (GOLD) LEVEL #3

28 pin WW 36 pin WW 40 pin WW

50 PCS. RESISTOR ASSORTMENTS $1.75 PER ASST.

ASST. 1 ASST. 2 ASST. 3 ASST. 4 ASST. 5 ASST. 6 ASST. 7

ASST. 8R

lj hum

5 0HIV

!ii i.iHM

22 OHM

7 HUM

8 OHM

33 OHM 39 OHM 47 OHM 56 OHM

82 OHM 100 OHM 120 OHM ISO OHM

220 OHM 270 OHM 330 OHM 390 OHM

560 OHM 680 OHM 820 OHM IK

1 8

19K

2 2K 5 6K

6MK

1/4 WATT 5% 50 PCS

1/4 WATT 5°0 5D PCS

1/4 WATT 5% 50 PCS

1/4 WATT 5% 5D PCS

174 WATT 5% 50 PCS

1/4 WATT 5'= 50 PCS.

1/4 WATT 5'-. 50PCS.

Includes Resistor Assortments 1 -7 (350 PCS.) $9-95 ea.

S5.00 Minimum Order - U.S. Funds Only California Residents - Add 6% Sales Tax

Spec Sheets—25C

1978 A Catalog Available—Send 411 slamp

J a msssmm

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE. SAN CARLOS. CA 94070

Advertised Prices Good Thru September

WIRE-WRAP KIT — WK-2-W

WRAP . STRIP . UNWRAP

• Tool lor 30 AWG Wire . Roll of 50 Fl While or Blue 30 AWG Wife

• 50 pes each t", 2". 3" S 4" lengths

pie-stripped wire

$12.95

WIRE WRAP TOOL WSU-30 WRAP . STRIP . UNWRAP $6.95

WIRE WRAP WIRE — 30 AWG

25tt.min.J1.25 50N.$1.95 100t1.S2.95 100011 $15.00 SPECIFY COLOR — While ■ Yellow • Red - Gieen ■ Blue - Black

WIRE DISPENSER — WD-30

50 It. roll 30 AWG KYNAR wire wrap wire $3.95 ea.

Cuts wire to desired length

Strips 1" ol insulation Specify — Blue-Yellow-White-Red

REPLACEMENT DISPENSER SPOOLS FOR WD 30

Specify blue, yellow, white or red

$1.9B/spool

XR220GKA S14.95

Function Generator Kit (includes chip, P.C Board and instruclinns)

EXAR

XR22G6KB $19.95

Function Generator Kii (includes all components. PC Board and instructions)

XR-L555 $1.50

Micro-Power version oi the popular 555 Timer and directly interchangeable Dissipates 1/15th the power and operates down to 2.7 volts Perfect lor oaltery operation and CMOS circuits.

XR2242CP S1-50

Precision riming circuil for generating timing pulses in minutes, hours and days or up to 1 year py using two Reduces cost ol lime delay circuits. Basic 555 Timer with built-in 8-b'l Counter

XR205 :

XR210

XR215

XR320

XR555

XR555

XR557CP

XR567CT

XR1310P

XRMGBCN

XRMS6

1 JO

XFlldBo XR1800 XR2206 XR3207 XR220B XR2209 XR2211 XR2212 XR2240

3 45 •1.25

XR2556 XH2567 XR3J03 XR-1136 XR4151 XR.119-1 XRJ2G2 XR4212 XH-1553 XH4739 XR4741

TYPE

1N746 1N751A

IN 752 IN 753 1N754 1N95D 1N965B 1N5232 1N523J INS235 IN5236 IN456 1N45B 1N4U5rt IM40O1 ifVJOO?

1N4004

ZENERS

VOLTS W

3 3 400m

!j I JOOm

SB 400m

6.2 400m

G 8 400m

B 2 400m

50 PIV I AMP

100 PIV 1 AMP

200 PIV 1 AMP

400 PIV 1 AMP

DIODES

PRICE TYPE

4 1 00 1N4005

4 1 00 1N4006

4 1 00 1N4007

4 1 00 1N3600

4 1 00 1N4148

4 1 00 1N4154 t 1 00 1N4305

28 TN4734

28 1N4735

2B 1N4736

26 1N4738

6 1 00 1N4742

6 1 00 1N4744

5 1 00 1N11B3 12 100 1N1184

RECTIFIERS

VOLTS W

600 PIV I AMP

800 PIV ! AMP 1000 PIV 1 AMP 200m

35

10m

10 1 00 10 1 00 6 1 00 15 1 DO 12 1 00 20t 00 28 28

12 iw

15 Iw

50 PIV 35 AMP

100 PIV 35 AMP

150 PIV 35 AMP

200 PIV 35 AMP

400 PIV 35 AMP

SCR AND FW BRIDGE RECTIFIERS

C36D C38M 2N2328 MDA 980-1 MDA 980-J

15A@400V 35A @ GOOV 1 6A @ 300V 12A (Hi 50V 12A(g. 200V

TRANSISTORS

MPSAOS MPSAIlf, TIS97

40409

4Q-I10

406 73

2N918

2N2219A

2N2221A

2N2222A

2N23H9

2N2369A

\1PSLMii9

2\2484

2N2906

2N2907

2N2925

MJE2955

2N3G53

2N3055

MJE3055

2N3392

2N339a

PN3567

PN.1568

PN3569

MP53638A

MPS3702

2N3?n4

MPS37I14

2N3705

MPS3705

2N3706

MPS370G

2N3707

2N3711

2N3724A

2N3725A

2N3772

2N3823

2N3903

2N3904 2N3905 2N3906 21(4013 2N4I23 PN47J9 PN4250 2NJ400 2N4J01 2N4402 ^M-1403 2N4409 2N5086 2N50B7 2N5088 2N5039 2N5129 PN5134 PN5138 2N5139 2N5210 2N5449

CAPACITOR:

CORNER

10 pi 22 pi -17 pt 100 pi 220 pt 470 pi

001 mt

V35V 15V.15V

22/35V 33'35 V 47'35V 68; 35V 1 0/35V

10-99 04 04

001„F

.05

0047».F u-i UJ 01«F 05

04 03 022;. f 06

04 .03 047;lF 06

04 035 VF 12

100 VOLT MYLAR FILM CAPACITOflS

022ml

.047ml

.10

07

1ml

27

22mt

+ 20% DIPPED TANTALUMS (SOLID) CAPACITORS .28 .23 17 1.5/35V 30 26

.28 .23 17 2.2/25V 31 27

28 23 17 3 3/25V .31 27

28 23 17 4.7/25V 32 28

28 23 17 6 8/25V 36 31

28 .23 17 10'25V 40 35

.28 -23 17 15/25V .63 50

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS Radiol Load

1 0/GOV 3 3/50V 4.7/25V 10'25V 10r50V 22'25V 22/50V 47/25V 47/50V 10D/25V 100/50V 220/25V 220/50V 470/25V ' 1000/16V 2200/16V

10

47/25V 47/SOV 1 0/16V ! 0/25V 1.0/50V 4.7/16V 4 7/25V 4.7/50V 10/15V 10/25V 10/50V 47/50V 100/16V 1O0/25V I0O-50V 220 .'16V 4 70/25V

.13

194 BYTE September 1978

Circle 200 on inquiry card.

ELPAC

POWER

SUPPLIES

Completely Assembled SPECIFICATIONS:

105-125/210-250 Vsc, 47-440 Hz Input:

Line Regulation ±0.1%

±0.1%no-load to rated-load ±0.1%p-p,dcto 10 MHz 100 megohm dc, 900 Vac 35% rated current RATINGS

Load Regulation Output Ripple and Noise Input/Output Isolation Short Circuit Current

PART NO.

WATTS VOLTS AMPS

SOLV15-5* 15 5 3

SOLV15-12* 15 12 1.5

SOLV30-5 30 5 6

SOLV30-12 30 12 3 0VP1 overvollage protection tor SOLV30-5.-12 •SOLV15-5, 12 includes OVP installed

PRICE

S36.95 36.95 59.95 59.95 9.05

101 1103 2101

2102

2107/5260

2111

2112

2114

2114L

2114-3

2M4L-3

7489

B101

8111

8599

21L02

74300

93421

NEW! BULB-ENERGY SAVER

v

Bulb lasts 3 or more times longer. Fits Standard Socket 6 watts 1o 200 watts

BES-1

1-9

1.39 ea.

10+ 1.20

BULB-ENERGY SAVERS usad lor years by major industrial users — now available lor home or office use. Bum Savers can cut electrical bills by as much as 3%. BULB-SAVERS lenglfiens light lite by.

1 Acting as an electrical "shock absorber", turns (tie bulb on slowly, eliminating the "thermal shock". Bulb lite increases 300 percent.

2. Banishes Current "Surges" Cushions line voltage surges when other loads cut power line.

3. Reduces Energy Consumption

-^CRYSTALS §T

THESE FREQUENCIES ONLY FREQUENCY CASE

CY1A

CY1.84

CY2A

CY2.01

CYZ.50

CY3.27

CY3.57

CY3A

CY4.91

CY7A

CY5.18

CY6.14

CY6.40

CY6.55

CY12A

CY14A

CY19A

CY18.43

CY22A

CY30A

1.000MHz

1.8432MHz

2000MHz

2.010MHz

2.500MHz

3.2768MHz

3.579545MHz

4.000MHz

4.916MHz

5.000MHz

5.185MHz

6 144MHz

6.400MHz

6.5536MHz

10.000MHz

14.31818MHz

18.000MHz

18.432MHz

20.000MHz

32.000MHz

HC33 HC33 HC33 HC33 HC33 HC33 HC33 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18 HC18

595 5.95 5.95 1.95 4.95 4.95 4.95 4.95 4.95 4,95 4.95 495 4.95 4.95 4.95 4.95 4.95 4.95 4.95 495

TRIMMERS

10MM size trimmers -.394" Dia.

Part No. 1-9 10-24 25-49 100+ TR-11(valve).3S .30 .25 20

■ 100. 500, IK, ZK, SK, 10K. 20K, 50K, 1O0K, 200K. 1 meg

TRIMPOTS

Single-Turn - 1/2 Watt

Square - Top Adjust - 3/8" Size Part No. 1-9 10-24 25-49 50-99

840P(value) .99 .89 .80 .70

Resistant* Values - 50.100.500 IK. ZK. 5K. 10K. 20K. 50K. IGOK 20OK. 500K. I meg

15-Turn - 3/4 Watt

Rectangular Side Adjust 3/4" x 1/4" Size Part No. 1-9 10-24 25-49 50-99

830P(value) 1.35 1.25 1.20 1.15

Resistance Values-50,100.500. IK.2K,5K, I0K,20K.50K. I00K, 200K.500K. 1 meg

Ittftta

1/16 VECTOR BOARD

0.1" Hole Spacing

Part No. 64P44 062XXXP 169P44 062XXXP 64P44 062WE 84P44 062WE 169P44 062WE 169PB4 062WE 169P44 062WEC1

650 17.00 6.50

CONNECTORS

25 Pin-D Subminiature

DB25P(as pictured) PLUG S3.25

DB25S . SOCKET 4.95

DB51226-1 Cover for DB25 P or S 1.75

MOLEX CONNECTOR PINS

Pre-packaoed in strips

$1.95/100 pins M-530-1 (minimum order)

$16.00/1000 pins

INSTRUMENT/ CLOCK CASE

Infection moldod unit, ComplotBwilh red bezel. l4YJr"x4"«1-W1«T

2513(3021)

2516

MM5230N

1802M

zeoM

2650M

P8085 CPU

8080A CPU

8212 8-Bit Input/Output

Priority Interrupt Conitol Bi-Oirectional Bus Driver Clock Gen era lor/Driver System Controller/Bus Driver Prog, Comm. Interlace Prog. Peripb. Interlace

MICROPROCESSOR COMPONENTS

$29.95 10.9

5.95 5.95

COP 1802 CPU

Z80 CPU

2650 MPU

MC5800 MPU

MC6810API 128x8 Static Ram

MCG820 Periph. Interlace Adapter

MC6821 Periph. interface Adapter

MC6B30L8 1024 x 8 Bit ROM

MC6850 Asychronous Comm. Adapter

£19.95

24.95 26.50 19.95 5.95 7.95 11.50 14.95 14.95

256

RAM'S

1 Static J

x 1 Dynamic

4 Static

X 1 Static

x 1 Dynamic

4 Static

4 Static

1 Static 4S0ns

1 Static 450ns Low Power

1 Sialic 300ns

1 Static 300ns Low Power

» Static

.4 Static

4 Static

4 Static

x 1 Static

: 1 Static

5.95 995 10.95 1095 11.95

MK4027 (UPD414J 4 HK4118 (UPD416) 1

TMS4Q44-45NL 4

DYNAMIC 16 PIN DYNAMIC 16 PIN STATIC

ROM'S

2513(2140) Character Generator (upper easel

Character Generaior (lower case)

Character Generator

204B Git Read Only Memoiv

USER MANUALS COP 1302 Manual ZBO Manual 2650 Manual

1702A

S203

32S23

B2SI15

82S123

74S287

2708

2716 T.I.

2716 Intel (25

6301-1

6330-1

74166

74168

MM5013N MMSQT6H HMS017N

2504T 2518 2519 2522 2524 2525 2527 2528 2529 2532 2533 3341 MLSB70

32 x

PROMS

Famous Famous

32 x 8 Tristate

1024 x 1 Sialic

8K EPROM

16K - EPROM I6T.I.) 16K EPROM 1024 x 1 Tri-State Bipolar

256 x 1 Open C Bipolar

512 x 1 TTL Open Collector

256 x 1 TTL Open Collector

SHIFT REGISTERS

1024 Bi(Accumulator Dynamic

500/512 Bit Dynamic

Dual 500/512 Bit Dynamic

1024 Dynamic

Hex 32 Bit Sialic

Hex 40 Sit Static

Dual 132 Bil Statin

512 Dynamic

1024 Dynamic

Dual 256 Bil Sialic

Dual 250 Static

Dual 240 Bit Static

Quad SO Bit Static

1024 Static

Filo

A X 4 Remiter

UART'S

30K BAUD

10.95 29.95 59.95 3.49

TELEPHONE KEYBOARD CHIPS AY-5-9100 SH 95 AY-5-9200 14 95 AY-5-9S0O 4 95 AY-5-2376 14.95 HD0165 7 95

74C922 9 95

SPECIAL REQUESTED ITEMS

MISCELLANEOUS

ICM7045 ICM720S ICM7207 ICM7208 ICM7209

HMOS READ ONLY

MEMORIES MCM6571 £13 SO MCM6574 1350 MCMG575 1350

11C90 S19-95 MWO.'Ui

MC3061P 11.95 DS0026CH

MC1408L7 4.95 TIL308

MC1408L8 5 75 95H90

LD110/1I1 J25.no/set MC4016174416) 7.50 4N33 3 95

The Sinclair PDM35.

A personal digital

multimeter for only $59 M

DESCRIPTION

PDM35 Digital Multimeter .c, fta>MM)

PDM-AC H7vok AC Adapter PDM-DP Deluxe padded carrying case

$59.95 6.95 6.95

pnwiwuflE

3%-Dlgil Portable DMM

• Overlaid froiecieo

• 3 nigh LED Oisplav

• Biltery m AC ooerahan

• Aulo 2eiomg

• Itnv tVa 0 t fjiim resoiiiliui

• Overange tending

• 10 meg mpu! impendence

• DC Accuracy 1"o typical Ranges; DC Voltage ■0-1000V AC vonarje 0-1000V

Freg Response 50-400 HZ DC'AC Current 0-100mA

Resist Sue

! 0-10 megohm

.44.:

Model 2800 $99.95

Ccmes win lest leads nperalmrj menus

Accessories: AC Adapter BC-28 Rechargeable

Batteries BP-26

$9.00

20.00

Carrying Case LC-2B 7.50

100 MHz 8 Digit Counter

. ;o Hj-100 MHj Range . Four power souces. i e

. 5" LED Display batiefies. 110 or 2201/ with i Crystal-controlled timebasc charger 12V with auto

. Fully Automatic lighter adapler and External

. Portable - completely 7.2-10V power supply

.gflSP.7* m*x-ioo $134.95

it 5.63"

y

ACCESSORIES FOR MAX 100: Mobil. Charger Eliminator

use power tram cat batterv Model 101) - CLA S3 95

Ch.rg.r/Ellmln.tor

use no VAC Model 100 — CAI 59.95

63-Key Unencoded

Hexadecimal Encoder

This is a 63-key. terminal keyboard newly manufactured by a large computer manufacturer. It is unencoded with SPST keys, unattached to any kind of PC board. A very solid molded plastic 13x4" base suits most application, in stock S29.95/each

19-key pad includes 1-10 keys. ABCDEF and 2 optional keys and a

'shift key. $10.95/each

S5.00 Minimum Order - U.S. Funds Only California Residents - Add 6% Sales Tex

Spec Sheets - 2H

1978 A Catalog Available—Send 41c stamp

ELECTRONICS

PHONE

ORDERS

WELCOME

(415) 592-8097

MAIL ORDER ELECTRONICS - WORLDWIDE 1021 HOWARD AVENUE, SAN CARLOS. CA 94070

Advertised Prices Good Thru September

The Incredible "Pennywhistle 103

N> I Oy.yij Kit Only

The Pennywhistle 103 is capable ol recording data to and (ram audio tape without critical speed requirements lor the recorder and it Is able to communicate directly with another modem and terminal tor telephone "hamming" and communications lor the deat. In addition, it is tree ol cnlical adjustments and is built with n on-precision, readily available parts. Data Transmission Method Frequency-Shift Keying, lull-duplex (half-duplex

selectable).

Maiimum Data Rata 300 Baud.

Data Format Asynchronous Serial (return to mark level required

Between each character). Receive Channel Frequencies .. .2025 Hz for space; 2225 Hz lor mark. Transmit Channel Frequencies ..Switch selectable; Low (normal) = 1070 space,

1270 mark; High = 025 space. 2225 mark.

Receive Sensitivity - 46 dbm accousllcaliy coupled.

Transmit Level -t5 dbm nominal Adjustable trom -6 dbm

to -20 dbm. Receive Frequency Tolerance ...Frequency reference automatically adjusts lo

allow lor operation between 1800 Hz and 2400 Hz. Olgllal Data Interlace EIA RS-232C or 20 mA current loop (receiver is

optoisolated and non-polar).

Power Requirements 120 VAC, single phase, 10 Watts.

Physical All components mount on a single 5" by 9'

printed circuit board. All components included. Reouires a VOM. Audio Oscillator. Frequency Counter and/or Oscilloscope to align.

0> the 3rd Hand

$9.95 each

*Leaves two hands free for working 1\ ^^^* * Clamps on edge of bench, table ^^^Z^S^ or wor^ bench

*" * Position board on angle or flat

position for soldering or clipping

:th*' .;;■ * Sturdy, aluminum construction

Jj ' for hobbyist, manufacturer or

> ' school rooms

DIGITAL STOPWATCH

• Bright 6 Digit LED Display

• Times to 59 minutes 59.59 seconds

• Cryslal Controlled Time Base

• Three Stopwatches in Dne Times Single Evenl — Split & Taylor

• Sue 4 5x2 15 x 90" (1''i ounces]

• Uses 3 Penlite Cells

Kit — $39.95

Assembled — $49.95

Heavy Duty Carry Case $5.95

Slop Watch Chip Only (7205) S19.95

3VaDIGIT DPM KIT

• New Bipolar Unit • Auto Polarity

• Auto Zeroing • Low Power

. .5" LED • Single IC Unit

Model KB500 DPM Kit $49.00

Model KB503 5V Power Kit $17.50

JE700 CLOCK

The J£TM is a low cost digital dock, but is a wv high quality unit The unn features a simulated walnut cast' with rjf mansions ol 6 x 2't i i ti utilizes a MAN "2 high unghiness readout MM53U clock Cl

KIT ONLY

$16.95

JE803 PROBE

The Logic PioDe is a unil whictmtoi Ihe mosl part inrtrspensihle in Irnublc shooting logic lamihes HL DTI RTL CMOS II derives Iff power n needs to operate direcily oh ol me mcuii undei test drawing a scanMOmA man it uses a MAN3 readout to indicate any ol ine following stales Ov Ihese symbols IH1 1 UOWl o iPULSEl P The Probe can detect ingh Irequency pulses to 45 MHz II can t Pe used ai MOS levels or circuii damage

$9.95 Per Kit

printed circuit board

PL 5V 1A Supply

This is a standard TTL power supply using the well known LM309K regulator IC to provide a soltd 1 AMP of current al 5 volts We Iry lo make Ihmgs easy tor you by providing everything you need in one package, including the hardware

'»«' JE225 $9.95 Per Kit

PROTO BOARDS

PROTO BOARD 6

$15.95

16" long X4" wide)

' x6"

-4.5'

- 5.8" x 4.5"

-7"x4.5" -»" x6" -9.5" x8"

- 9.75 x 6'A x 11,

PB100 PB101 PB102 PB103 PB104 PB203 PB203A - 9.75 x 6'A x 211 129.95

(includes power supplyl

$ 19.95 29.95 39.95 59.95 79.95 80.00

tmtrumi PROTO CUPS

' 14 PIN S4.50

I! 16 PIN 4.75

' 24 PIN 8.50

Hllllllim 40 PIN 13.75/

Circle 200 on inquiry card.

BYTE September 1978 195

What's New?

PUBLICATIONS

PIC Offers Free Metric and Inch Gear Computer

The PIC Design Division of Benrus Corp now offers a metric and inch gear computer in a convenient, one setting, pocket slide rule. This design tool is

capable of indicating 18 different gear functions instantly; inch gear data is on one side of the computer and metric module data on the other. One quick setting of the PIC gear computer gives simultaneous readings of metric modules, diametral pitch, tooth dimensions and circular pitch plus pitch diameter and outside diameter for both metric and inch gears. The PIC gear computer contains 16 basic gear formulas plus drawings which illustrate tooth size and configuration for both metric module and inch gears with 20 "pressure angle. To send for your free computer write to PIC Design Div, Benrus Corp, POB 335, Benrus Center, Ridgefield CT 06877."

Circle 605 on inquiry card.

1978 Smith Catalog Offers Many New Products

More than 20 new product groups representing several electronic component or hardware categories are among approximately 10,000 items featured in the newly published, multicolored, 104 page, 1978 full line catalog from Herman H Smith Inc, 812 Snediker Av, Brooklyn NY 11207. The free catalog includes a number of new binding posts, Mil-Spec-Jacks, fused test leads, the Hook-on Jr Probe with prods and leads, BredBlox and BredStix, BredBord kits, miniature and projection lamps, power terminals, lacing cords, wire nuts, rubber bumpers and many other new items. The catalog can be obtained by writing the company."

Circle 606 on inquiry card.

New Products for the Commodore PET 2001

Getting Started with Your Pet is a workbook intended for PET users who are anxious to put their PET to work. This beginner's workbook is said to supplement the documentation provided by Commodore. It covers the fundamentals of PET BASIC and explains its characteristics, limitations and useful features. The descriptive text is said to include step by step, detailed exercises including the expected PET responses. In addition to this beginning text, workbooks on advanced topics are said to be available as well as software applications for the PET. No price was given, so for more information write TIS, POB 921, Los Alamos NM 87544."

Circle 607 on inquiry card.

New Catalog from Alcoswitch

A complete line of miniature (7/8 inch diameter bushing) oil tight pushbuttons, selectors and pilot lights is described in Alcoswitch's new 12 page catalog, publication T278. Over 20 basic models are listed with details concerning control function options and color choices. The contact blocks offered range from logic types to 600 VAC models. This catalog will be sent free of charge to all inquiries. Contact Alco Electronic Products Inc, 1551 Osgood St, North Andover MA 01 845."

Circle 608 on inquiry card.

MicroAge Product Information

Literature describing MicroAge's printers, video boards, CRTs, monitors and keyboards is now available from the company. Included with the product descriptions is a complete price list. For this literature write MicroAge, 14250 12th PI #!01,Tempe AZ 85281."

Circle 609 on inquiry card.

PRACTICAL MICROCOMPUTER PROGRAMMING

THE INTEL 8080 by Weller, Shatzel, & Nice

Here is a comprehensive source of programming information for the present or prospective user of the 8080 microcomputer, including moving data, binary arithmetic operations, multiplication and division, use of the stack pointer, subroutines, arrays and tables, conversions, decimal arithmetic, various 10 options, real time clocks and interrupt driven processes, and debugging techniques.

This 306 page hardcover book is well worth its $21.95 price and should be in every 8080 or Z-80 user's library.

HIS

25 Route 101 West Peterborough, NH 03458

THE M6800 by W J Weller

This second volume of the Practical Microcomputer Programming series addresses the problems of applications programming at assembly level for the M6800. In 16 chapters and more than 100 formal examples, the fundamental techniques of assembly level programming are applied to the solution of specific problems with the 6800. Nowhere theoretical, it is a thorough and detailed methods text for the beginning and intermediate application programmer using the 6800. $21.95. Hardcover.

For your convenience in ordering please use this page plus the order form on p. 111.

Dial your bank card orders TOLL-FREE: 800-258-5477

196

September 1978 ©BYTE Publications Inc

Circle 38 on inquiry card.

PAPER TAPE READER

Simply connect the OP-80A Paper Tape Reader to any 8-bit parallel port and pull the tape thru (0-5,000 cps). A custom optical sensor array eliminates read errors found in lower cost units. (This is the one that works!) Complete with manual and interface cable. $84.50 Kit and JS99.95 A & T.

Oliver Advanced Engineering, Inc.

676 W. Wilson Avenue

Glendale, CA 91203

(213) 240-0080

CONTROL IT!

with yo(7ffTRS-80iLEv„ basic)

AND OUR VAR/80 INTERFACE

• 2 OPTO-ISOLATED INPUTS

•6 LOGIC INPUTS (TTL COMPATIBLE)

• 2 RELAY OUTPUTS (EACH 110V,3A)

• 6 LOGIC OUTPUTS (TTL COMPATIBLE) . INTERNAL POWER SUPPLY •CONNECTS DIRECTLY TO PORT EDGE

CARD

COMPLETE VAR/80 $79.95ppd

FREE!

J5 DATA PACKAGE WITH APPLICATIONS. SOFTWARE AND EXAMPLES INCLUDED WITH EACH ORDER

rTELESIS LABORATORY BOX 1843 CHILLICOTHE. OHIO 45601

UmU'Charf* «M Vlf * 0"f"i Accaptad

ycD Vl&AQCwd*

I IPHIDECK OWNERS! !

We Have The Solution To Your Tape Speed Problems!

**** R0TA-STR0BE****

Variations in tape speed between PHIDECK drives is the primary reason tapes recorded on different drives by you and your friends cannot be read.

If you or your friends have trouble reading each others cassettes due to different tape speeds—

If you lack the expensive test equipment required to properly check and adjust tape speed -

Then you need ROTA-STROBE.

With ROTA-STROBE you can check tape speed in seconds without removing the tape drive cover.

With ROTA-STROBE you no longer need expensive counters or oscilloscopes to check and adiust tape speed.

ROTASTROBE is designed to work on PHIDECK drives manufactured by Triple I and sold by THE DIGITAL GROUP, PERIPHERAL VISION and others.

To get your ROTASTROBE, send S4.5D to EMERGE SYSTEMS, P.O. Box 2518, Satellite Beach, FL 32937. No C.O.D. orders accepted.

Order additional ROTA STROBES lor your friends and club members. Allow time lor personal checks to clear.

We are dealers lor THE DIGITAL GROUP

Circle 291 on inquiry card.

Circle 373 on inquiry card.

Circle 131 on inquiry card.

T I S

WORKBOOKS FOR THE COMMODORE PET 2001 Getting Started with Your PET WB-1 S4.00

Covers the fundamentals of PET BASIC: calculator and program mode, data input and output, data representation, program storage on the cassette.

PET String and Array Handling WB-2 $3.95

Covers string and substring search, concatenation, replacement and manipulation,

PET Graphics WB-3 $4.95

Covers use of cursor control and special graphics symbols to draw plots, histograms, and sketches.

PET Cassette I/O WB-4 $4.95

Covers OPEN. CLOSE, string and numeric data files Miscellaneous PET Features WB-5 $3.95

Covers the clock, random number generator, upper and lowercase alphabetic characters, saving memory space, etc.

Don't be "lion" around! Order NOW! Send check or money order today to:

TIS

P.O. Box 921

Los Alamos, N.M. 87544

Money back guarantee.

CATCHAPULSEII

-Z. LOGIC PROBE

**■» * 10 Nsec pulse response • Open circuit detection

• Replaceable lip & cord

I

«r, • High input impedance

WEBb * pu'»e •"'■tthing

Multi-family

$39.95 •*

10 Nsec SPEED AT 3.5 to

15V LEVELS

ONLY

Compatible with RTL, DTL. TTL. CMOS, MOS, and Microprocessors using n 3,5 to 15V power supply. Thresholds automatically programmed. Automatic resetting memory. No adjustment required. Visual indication of logic levels, using LEDs to show high, low, bnd level or open circuit logic and pulses. Highly sophisticated, shirt-pocket portable (protective tip cap and removable coil cord). Eliminates need for heavy test equipment. Send S39.95 A definite savings in lime and money

(Calif residents add for engineer and technician.

6% sales tax) to <r* , rycF Pr.Ptm Dew nqtwca *<*u<t«

i!AM ELECTRONICS

Box 19299, San Diego. CA 92119. (714) 447-1770

SUPPLIES

• FLOPPY DISKS, MINI OR STANDARD MEM0REX OR 3M

• 3M DATA CARTRIDGES DC300A. OC100A

• 3M DIGITAL CASSETTES ■ 3M OR MEMOREX AUDIO

CASSETTES, C 60

• 3H DISK CARTRIDGES

WE OFFER: •COMPETITIVE PRICING •IMMEDIATE DELIVERIES

(Any Quantity) • UNCONDITIONAL GUARANTEE

BETA BUSINESS SYSTEMS 8369 VICKERS ST.. ga SAN DIEGO, CA 92111 r

>"'m

Circle 374 on inquiry card.

Circle 26 on inquiry card.

Circle 33 on inquiry card.

OS1

OHIO SCIENTIFIC * COMPUTERS*

SALES & SERVICE

Business/Home/Hobby

Hardware & Software

SEE0.S.I.N0W!

METRO D.C. AREA & MARYLAND

The Math Box,Inc. (301)277-6828

CENTRAL VIRGINIA AREA

H/B Computers.lnc. (804)295-1975

i.iMin D oi i i:r ihis momii. wiiii.i:si /»/'/.} lasts.'

ALL NEW! Mini Discs $3.70 ea. in boxes of 10

A. Horizon - 2

B. Centronic 779

C. Hazeltine 1500

D. Hazeltine 1400

A, B & C:

$4,995

A.B& D:

$4,895

We also stock Imsai, Seals, Okidata, ADM-3A, Xitan and Cromemco. Mail order only.

TORA SYSTEM LIMITED

29-02 23rd Avenue

Astoria, NY 11105

(212) 932-3533

IS YOUR COMPUTER DULL?

Is he hung up in the same old loop?

Is he sorting and searching his life away?

Turn him on to computer humor!

Bring out his hidden talents

with a sophisticated selection

of BAUDY JOKES AND

BYTING WIT! Let your computer comic delight your friends with a dazzling display of wit and whimsy! Your computer will have the last laugh!

Shift $5.95 into our register for: LAF-TRAK 1 (on cassette)

Micro-Madness

P. O. Box 2250 Pasadena, Ca. 91105 Specify computer or interface type and memory size.

Circle 217 on inquiry card.

Circle 377 on inquiry card.

Circle 208 on inquiry card.

What's New?

SOFTWARE

Text Processor for the EPA Micro-68b Computer

TEXT is a word processor which executes on the EPA Micro-68b computer with the following equipment: 16 K bytes of programmable memory, one floppy disk unit, one video display terminal and a printer. TEXT accepts lines of source text interspersed with lines of format control information and formats the text into a printable, paginated document having user designated style. Some of the capabilities of TEXT include: left and right justification; automatic word hyphenation; page headings; page footings, including page numbers; indenting; centering; single, double or triple spacing of lines; footnotes and bibliography references.

The most important feature is that the text stream is free format, which means that the typist, with the aid of the EPA TEXT Editor, can type the document text in any convenient format and TEXT will format the output as desired.

For further information contact Chuck Bennett, Electronic Product Associates Inc, 1157 Vega St, San Diego CA 92110."

Circle 575 on inquiry card.

A New DOS for Poly 88 and North Star Disk Systems

The Lazy Man's DOS (disk operating system) for Poly 88 owners with North Star Disk Systems has been announced by Cardinal Products, 1600 Tilden St, Wichita Falls TX 76309. According to the company, control character commands let you quickly and easily load and start BASIC, jump back to DOS, restart BASIC cold (initialized) or warm (retaining some user program data), list directory while in DOS or BASIC and bring up front panel mode at any time. List scrolling can be controlled on a line by line basis. The control Z is released for use in the BASIC editor. Delete key backspaces and erases a character at a time. The Poly 88 real time clock interrupt system may be left connected. Diskette and instructions are $15.95."

Circle 576 on inquiry card.

Multitasking Executive Added to Microbench Software

MTX-11, a multitasking executive for PDP-11 and LSI-11 computers, is the latest addition to Microbench software. The MTX-11 is said to execute multiple tasks on an interleaved basis with software priorities determining which task to execute if competition exists for processor and system resources.

The MTX-11 is priced at $1395 plus $100 per processor and is available from Virtual Systems Inc, 1500 Newell Av, Suite 406, Walnut Creek CA 94596."

Circle 577 on inquiry card.

Compiler BASIC Does Business, Control Applications on Microprocessor Systems

Software Dynamics BASIC, a compiler version of the> programming language, is now available for 6800 microprocessor systems. Decimal arithmetic, formatted output and file 10 is said to make SD BASIC ideal for microprocessor business applications such as payroll and inventory. High speed binary arithmetic, transcendental functions, assembly language interface and the performance resulting from compiling BASIC programs makes SD BASIC a tool for building process control programs. According to the company, the software is currently available on American Microsystems MDC, Smoke Signal Broadcasting BFD-68, SwTPC DOS and Wave Mate microcomputers. The 10 Interface Package concept allows you to customize SD BASIC to your DOS system. Further information can be obtained from Software Dynamics, 18914 S Laurelbrook PI, CerritosCA 90701."

Circle 578 on inquiry card.

Software for the H8

Two tapes are available for the Heathkit H8 computer from a newly formed company called Ed-Pro Inc, 6580 Buckhurst Tr, Atlanta GA 30349. According to the company, one of the tapes contains a collection of 11 game programs, while the other contains personal finance programs for checkbook reconciliation, budgeting and calculation of interest for various kinds of loans and investments. Tapes are supplied with complete program listings and user instructions. The tapes sell for $20 each (with a 10% discount if both are purchased)."

Circle 580 on inquiry card.

Assembly Language Development System for 8080 and Z-80

The Program Development System (PDS) is an assembly language development system for 8080 or Z-80 microcomputers with at least one disk drive. PDS is said to include a unified assembler/editor, a macro assembler combining the features of a relocating linking loader, a string oriented text editor, and a trace debugger/disassembler. The assemblers favor the Intel instruction mnemonics treating the Z-80 superset as a logical and syntactical extension. Source modules are available for floating point arithmetic, floating point IO, trigonometric functions, numerical and alphabetic sorting, matrix inversion, fast Fourier transform, and a full function expression evaluator. For further information contact Allen Ashley, 395 Sierra Madre Villa, Pasadena CA 91107."

Circle 579 on inquiry card.

Data Base and Query System Responds to Pidgin English

It is said that your home or business computer can manage a data base of stored information and respond to your queries in pidgin English, using a new microcomputer software package called WHATSIT. The system runs in BASIC on a modest personal computer yet it brings the power of a data base manager. Data is stored and retrieved by typing pidgin English requests. Indexing and disk space allocation are handled automatically. The file structure is never frozen but develops automatically through normal use to adapt to user requirements. Stored information is automatically cross-indexed under any desired headings, and headings may be added or changed at any time. Available in North Star BASIC, the system runs in 24 K of memory. It is offered with three ready to run programs on a minidisk for $75. A manual written in nontechnical language is $25. It is available from Information Unlimited, 698 W 70 S Private Rd, Hebron IN 46341."

Circle 583 on inquiry card.

Communications Software for LSI-11 Announced

The RT-11 compatible software driver for the Mighty-Mux 11 L, direct memory access (DMA) serial line multiplexer, has been announced by Educational Data Systems, Inc, 1682 Langley Av, Irvine CA 92714.

Providing efficient IO for any RT-11 based LSI-11 system, this new package simultaneously supports full duplex asynchronous IO to as many as 128 ports on the multiplexer. Control requests are provided to determine port status, set port characteristics (bps rates, parity, etc), assign logical and physical port mapping, and abort IO requests.

For stand alone multiplexing operations, modules are provided which may be linked directly to an applications package. This avoids the intervention and overhead of the RT-11 IO subsystem. A second configuration loads the package as a standard RT-11 driver.

The driver will function with any V02 system and is provided at no charge to users of the Mighty-Mux 11L."

Circle 582 on inquiry card.

Software for Users of North Star BASIC

A series of programs for users of North Star BASIC is available on North Star diskette with user instructions. Word processing, investments, inventory and other business oriented programs are offered. A complete catalog of North Star software is now available, including not only California Software material, but programs available from firms around the world. For further information contact California Software, POB 275, El Cerrito CA 94530."

Circle 581 on inquiry card.

198

September 1978 ©BYTE Publication! Inc

Circle 308 on inquiry card.

RONDURE COMPANY

2522 BUTLER ST.

DALLAS, TEXAS 75235

214-630-4621

the computer room

SPECIAL SALE $875.00

TESTED WITH

NEW

ASCII ELECTRONICS

ASCII Selectric with ASCII parallel electronics. Immediate Delivery—Shipped from inventory.

ASCII SELECTRIC

Printer Mechanism: Heavy duty input/output, Series 745.

Weight: 120 lbs. Dimensions: 29"Hx35"Wx33"D. Print Speed: (14.8 characters per second) Platen: 15" wide, pin feed or form feed device optional (132 print positions). Parallel output only—15 characters per second accepts 7 bit ASCII parallel w/strobe & prints on Selectric. The unit still works as a typewriter in off-line mode.

NOVATION DC3102A

Used

Working

RS232 Connection 300 Baud

Tl 990/4

Single Board 16 Bit Micro

Computer

NEW $250.00

USED MODEMS & COUPLERS NOVATION TC102 (Acoustic) $45.00

AJ 233 (Acoustic) $25.00

CF 318 (Hard Wire) $25.00

DATEL SELECTRIC (IBM Selectric Mechanism)

Specifications:

• Size: 21"Wx21"Dx8"H.

• Power Input 115 Volt Hz

• Interface: RS232

• Weight: 54 lbs. (Shipping weight 65 lbs.)

• 15" Carriage

• 15 CPS

• Correspondence code

• Half Duplex

• 132 Print Positions, 10 Pitch

Used

$395

SHUGART 'MINI-FLOPPY DRIVE

NEWPRICE $325.00 ea.

Model SA-400

FLAT PACK ACOUSTICAL

MODEM PICK-UP Useable with most modem chips/kits Used — $17.50 (w/prints)

ORDERING INFORMATION:

We ship the same day we receive a certified check or money order. Texas residents add 5% sales tax. Please call if you have a question. Write for our CATALOG of many parts, terminals, printers, etc. All items subject to availability. Your money returned if we are out of stock.

SHIPPING INFORMATION:

Modems: $2.00 each; 2 for $4.00 UPS.

Large Items & Parts: Specify Freight or Air Freight Collect

Foreign Orders: Add appropriate freight or postage.

We now take Master Charge and Visa orders, Specify full number,

bank number and expiration date.

ATWOOD ENTERPRISES

KITS

$ 79.95 4K RAM

Available assembled and tested $89.95.

$129.95 4KPROM

Bipolar 512x8 Proms 93448/6341.

.J

$149.95 8K EPROM

Needs only 4K space 2716.

$ 59.95 DIGITAL I/O

8 parallel ports plus 16 interrupts.

$ 99.95 ANALOG IN

32 inputs, 8 bits, 100 microseconds.

~l I

H I

J

$ 49.95 PROM PROGRAMMING

$129.95 SERIAL I/O

7 serial ports, fully software controlled To 500 baud.

Can copy to 3. I

1 I

WATCH

FOR OUR

NEW BOARDS:

40 line discrete display board

40 line switch input board

40 line new data board

Coming Soon

MOTHER BOARD

8 SLOT 44 PIN BUS

50 Pin Edge Connector

Mother Board $20.00 ea Connectors 2.50 ea

Card guides for above $10.00 per set.

MAKE CHECK OR MONEY ORDER PAYABLE TO:

Kathryn Atwood Enterprises P.O. Box 5203, Orange, CA 92667

Discounts available at OEM quantities. For orders less than $25 total, add $1.25 for shipping. California residents add 6% sales tax. Estimated shipping time 2 days ARO with money order. For checks allow 7 days for check to clear.

Circle 25 on inquiry card.

BYTE September 1978 199

What's New?

SOFTWARE

Apple BASIC Instructions.

Photo I.

We recently received copies of the new Apple II BASIC Programming Manual, written by Jef Raskin of Apple Computer Inc, 20863 Stevens Creek Blvd, Bldg B3-C, Cupertino CA 95014. The manual measures about 6 by 8.5 inches (15 by 22 cm) with 125 pages bound within its covers. The book (see photo 1) is intended to be a working manual for familiarizing its reader with the Apple II computer. Whenever necessary, internal graphics include representations of the machine's keyboard highlighted with a green color to emphasize a point being made. Listings of computer output are often printed in green, as produced by a matrix printer. When a full screen image is represented,

it is typically printed on the matrix printer and reproduced photographically as white on black to emphasize the image of a television screen. Full color reproduction is used for the several pages where actual Apple II output to a color TV is shown.

The manual begins with an introduction on the basics of the hardware and its interconnection. There is a description of the built-in 5 K integer BASIC. The introduction concludes with operation of one of the standard games supplied on cassette with the machine, Breakout. The next chapter is entitled Beginning BASIC, which in turn is followed by Elementary Programming. The formal presentation ends with Strings, Arrays and Subroutines as the last chapter. Several appendices com

Photo 2.

plete the book. Photo 2 illustrates several points about the Apple II BASIC Programming Manual. First, note the light type and the heavy type in the photograph. The lighter printing is green in the original, the heavier printing is black. Second, there is Jef Raskin's inimitable sense of humor which makes the manual an enjoyable experience. Look at page 24 of the Apple II BASIC Programming Manual at a local computer store for one of the most elegant modifications of a standard typing test string ever seen. (The string begins "THE QUICK BROWN FOX ... and in its original form is known to everyone, but in its modified form shows a certain humorous familiarity with the urban geography of the northeastern United States.)

While not a reference document by intent, users of Apples will find much information and a verbal delight in the form of this BASIC manual by Jef Raskin. . .CH»

Circle 597 on inquiry card.

Software for the North Star Disk System

According to its developers, the Comprehensive Mailing List Program Package, #ML-1NS, is a modular program set which enables the user to start and maintain one or more mailing lists. Operations include: add, delete, search, sort, auto-sort, and sequential printout. Features include: user selectable defaults for ease of entry, user selectable number of labels across page for different printers and label sheets, and user selectable 3 or 4 line address for each independent entry. The software is available with documentation and diskette for $25 from Williams Radio and TV Inc, Computer Division, 2062 Liberty St, POB 3314, Jacksonville FL 32206."

Circle 598 on inquiry card.

EMPL Interpreter for 8080

EMPL is a micro version of APL for the Intel 8080. It resides in the first 5632 bytes of memory. EMPL has numeric and character vectors, user defined niladic, monadic and dyadic functions, 22 primitive functions and nine system commands. It can be run either in the ASCII or APL character set. The range is ±32767 and double byte integer arithmetic is used. EMPL comes with a user's manual that includes information on implementing it on any system using Z-80 or 8080 processors with at least 8 K of memory. EMPL is $10 on Tarbell cassette; $20 on paper tape, North Star disk, CUTS cassette, or MITS cassette from Erik T Mueller, Britton House, Roosevelt NJ 08555."

Circle 599 on inquiry card.

Utility Package for North Star Micro Disk System

A complete disk utility package for the North Star Micro Disk System is now said to be available from Micro Logistics, POB 922, Madison Square Station, New York NY 10010. PKGUT1 on diskette includes the following four 8080 machine language programs origined at 0: Packit: packs and unpacks disk files so you can get more storage per disk; Changit: prints, dumps and/or changes data in disk files up to a global level; Sortit: a generalized sorting utility; Compit: file comparison utility which will compare disk files sequentially or by key and display differences. Diskette with full user's documentation is priced at $80.■

Circle 600 on inquiry card.

200 September 1978 © BYTE Publications Inc

FREE PROBES FREE PROBES FREE PROBES

ILM3A 3dig 1%DC $134.00

ILM3.5A 3% dig .5% DC ... $ 158.50

ILM40A 4 dig .1 % DC $ 209.00

|LM4A 4 dig .03% DC $250.00

i Rechargeable batteries and charger Included

• Measures DC Volts, AC Volts, Ohms and Current

Automatic polarity, decimal and overload Indication

• Rechargeable batteries and charger

• Measures DC Volts, AC Volts, Ohms and Current

| • Automatic polarity, decimal and overload Indication

• No zero adjustment and no full-scale ohms adjust

• Battery-operated — NICad batteries; also AC Una operation.

• Large LED display tor easy reading without Interpolation

. Size: 1.9"Hxi7"W»4"D

Pant & i»bor guaranteed 1 year

Till iland option » »-M

i Leather case «0.C

Purchase any of the LM series

Meters and buy the LEA THER CASE

for 1C

MS-15 MINISCOPE

Wit* AtertarpefuVe OttfWtti I CAS-per Unit

15 megahertz bandwidth.

External and internal trigger.

Time base — .1 mlcrcaec. lo 0.5 Sec/di'

settings. £3%.

Battery or line operation.

Automatic 4 Una aync modaa.

Power cciniumpl ion < 13 wall I Vortical Oain — 01 to 90 v«i» ■ II eeningr. - ).»•• 4"w»fS"D, leauods.

PROBE 1C

PROBE IC withlh.

purchaio of SCOPE

l.nd.lh. MENTION of

tnl. MAGAZINE

1-24

8 pin* .41

14 pin* 39

16 pin* .43

18 pin 20 pin 22 pin*

24 pin 28 pin 40 pin

63 80 90

90 1.10 1.50

58 .75

85

84 1.00 1.40

.54 .70

80

.78

.90

1 30

47 .63 .70

68

.84

1 20

42

58 .61

.63

76

1 04

36 .53 .57

.58 .71 .89

Sockets purchased in multiples of 50 per type

may be combined for best price. All sockets are GOLD 3 level closed entry * End and side stacable. 2 level, Solder Tail. Low Profile. Tin Sockets and Dip Plugs available. CALL FOR QUOTATION

• r i; , VjJ. "OK n--"

Price: $29.50

8800V

Universal Microcomputer/processor plugboard, use wild S-100 bus Complete win heal sink & hardware 5 3"> 10' x 1/16

1-4 5-9 10-24 S1995 117 95 11596

8801-1

Same as 8B00V except plain; less power buses & heal sink

1-4 5-9 10-24

114.95 113.45 511 96

3682 9.6"x4.5"

510.97

3682-2 6.5 "14.5"

59.81

Hi-Density Oual-ln-Line Plugboard for Wire Wrap with Power 8, Grd. Bus Epoxy Glass 1/16" 44 pin 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 Pattern for Solder or Wire Wrap. Epoxy Glass 1/16" 44 pin con. spaced .156

3662 6.5" 14.5"

$7.65

3662-2 9.6" 14.5"

$11.45

P pattern plugboards for ICs Epoxy Glass 1/16" 44 pin con. spaced.156

Phenolic

PART NO. 64P44XXXP I69P44XXXP

Epoxy Qlati 64P44 84P44 169P44 169P84

1/16 P&M BOARD

.042 dia holes on 0.1 spacing for ICs

PRICE

SIZE 4.5x6.6" 4.5x17"

4.5x6.5" 4.6x8.5" 4.5x17" 8.5x17"

1 -9

J 1.49 33.51

10 - 19 1-34 3.16

SI.70 $2.10 S4.30 S7.65

1.53 1.89 3.87 6.89

tfLLV-^IIGGb

*

t.

$24.50

PIOfMT

$75.00

NO PRE STRIPPING"

NO PRE-CUTTING "

SPOOL FED WIRE'

'Tna ipoMM writ W15-! IMOuQh M MM p-.il * slining *O0t

ntlt ID Ihl miy poll A tUr»D* lOOrfludMUl (Ut II mXM in tM

muiiM-an .r-t'f il pr«U« iht IQuUt pM

SLITNWHAP i2-.p,

WIRE

NO. 28 GAGE INSULATED

WIRE, 100' SPOOLS

«I'AI*>g J bin HfJllCFig J

2708

8K 450 ns

EPROM

FACTORY PRIME

$10.00 EA.

25 + Call For Price

3690-12 CARD EXTENDER

Card Extenrlc-r has 100 J contacts-50 per side on .125 centers-Attached connector-is compatible with S-100 Bus

Systems $25.00

3690 6.6" 22/44 pin .168 ctr*. Extenders $12.00 J

SOLD 3 LEVEL

• LCDt01wl.CO.1CB

LIQUID CRYSTAL DIGITAL CLOCK-CALENDAR

• For Auto. Home. Office

• Small In sl7e(2x2Vixtt)

• Push button (or seconds release tor date.

• Clock* mount enywnere with Ulnar 3M double aided tape or VELCRO, Included.

• 2 MODELS AVAILABLE: LCD-101, portable model rum on eel 1-conrained, bell en ei tor better than a year LCD tOZ turn on 13 vuii system end la beck lighted

$34.95.. $2.00

MICRO-KLIP

for.042 dia. holes (all boards on (Ms page) TeMpkg. 100 $ 1.50 T42-1 pkg.

1000 ill 00

f-149 hand Installing tool I 2.03

$0

WRAP POST

lor .042 dia. holes

(all bturds on this page) T-44pkg. 100 .1 2.26 T-U pkg.

1000 11*5.00

A-13 fund Installing

(ml . . . .1 2-80

.8" LEO ALARM CLOCK

12 hr. LED Alarm Clock uses Vh digit .8" LED Display wtih am/PM indicators and colons Direct drive. PIN lo PIN interface with m-MA l.C Just add switches. AC Supply Alarm Display and [ C only

$7.95 or 2/S15.00

Pe-teciii* balanced, lighting with precisit

leng For prol'l, lectin

His die casl pinlaclme sr<

$4495

SPECIAL

w

PRIORITY

sc-s

Rechargeable Batteries ft futures Charger nil jj9g

PjjhwiRE 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. ctosedentr^^

FM-7

With

R*cttarQ««t>l«

MUrlMi

Charger

umi $215

m

Include: ■ By using tN new NLS SC-5 Prescaiar. [he range el iwfm / (requcncvMew. whicrifs 10H- to60 MH*.iray beeilr-noefl to 512 UH1 <tr* upper VHF & IMF frequency tunds). • the Flrt-7 utiIt'es an LED rudoul. prowhng 7 digit nwluion • The FM-7 can tie calibrated 10 an accuracy of 0 OOOOi % • The SC-S is accuraie 10 one part per mrihon ■ Each unil fas 30 rmlliwns sensitivity, is binary power no ind has * chainer unil included *Onnenyonsoteactiare 1 r H 11 27" W x 3.9" D « The unns may be obtained separably or a: "Fr«)u«ncyCuo.'"» Parts & Labor guaranteed 1 year.

Till Sland Option . I1.H J

caw J2000J

Price Breakthrough

*17»

MA1003 CAR CLOCK

"W

Bright Green Fluorescent Display Crystal Time Base Assenbled, just add switches and 12VDC.

^nnT special

??Q0^^i14CS2 100 lor «14" - I -16CS2100 lor MB"

I II 14 pin CS210 tor -2"

r"'.""Trv- wpmcaa •tor,a"

These low cost OIP sockets will accept bofh standard width plugs and chips. For uh with chips, the sockets offer ■ iow profile height of only .125" ebove the board. These sockets are end stackable.

ELECTRONICS

j^'49l I B West Rosecrons, Hawthorne, Cfl 90250 <

Terms: VISA, MC. BAC. check, Money Order, COD.. U.S. Funds Only. CA residents add 6% sales lax. Minimum order $10-00. Orders less than $75.00 include 10% shipping and handling; excess refunded. Just in case please include your phone no. "Sorry, no over the counter sates" Good thru seP.i97s

phone orders welcome (213) 973-4876

Send for our latest brochure.

OEM and Institutional inquiries invited.

24 PIN DIP PLUGS

WITH COVERS

3/$1.00 40/S1C

FREE PROBES FREE PROBES FREE PROBES

.Circle 304 on inquiry card.

BYtl September 1<)78 201

What's Nsw?

SYSTEMS

Desktop Computer from Cabinet to Complete System

Compact Yet Versatile

The ZMS-70 contains a microcomputer system with up to 64 K bytes of memory, a 15 inch diagonal video display, an extensive keyboard, a telecommunications interface and 143 K bytes of on line disk storage. An optional internal hard copy printer interface and external printer is also available. The system is said to include an extensive set of software for both application program development and the day to day operational use of the system. This software comprises a general purpose disk based executive, a file manager, and a complete assembly language development package. In addition, a full set of test, diagnostic and utility programs are provided. Price is less than $5000 from Zentec Corp, 2400 Walsh Av, Santa Clara CA 95050."

Circle 588 on inquiry card.

Sirius II Complete Computer System

The Sirius II computer system features two processors: the Mostek Z-80 for main computations and a Fairchild 3870 that handles all keyboard and video interfacing. Also included are 32.768 K bytes of programmable memory, an RS-232 interface for IO, 8.1 92 K bytes of programmable read only memory with a 1 K byte monitor supplied, minifloppy disk drive, a 64 key keyboard with alphanumeric and graphic capabilities, and a video interface. Other features include a full disk operating BASIC interpreter, monitor and software programs ranging from home management, personal finance, educational learning programs and process control to business software and games.

The Sirius II sells for $1850. For more information contact Digital Sport Systems, 7th and Elm Sts, West Liberty IA 52776."

Circle 590 on inquiry card.

This UC2000 S-100 based computer is presently available in five system configurations ranging from empty mainframe card rack to complete system with processor, memory, multiple floppy disk and printer. The console is provided with a 12 MHz 12 inch video display, 8 card slot mainframe, 18 A power supply, axial blower and various keyboard options. All subsystem modules are plug connected for easy maintenance. A 230 V 50 cycle power option is available and EMI filtered power connector is standard equipment. DB25 type connector slots are provided on the rear panel for peripheral interfacing. Although the complete systems B through E are supplied with a microcomputer using the 8080 processor, any S-100 compatible computer can be used in the A system version. Extensive software is available for the 8080 system. Prices start at $995. Contact Infinite Inc, 1924 Waverly PI, Melbourne FL 32901. ■

Circle 591 on inquiry card.

A New Desktop System

This new microcomputer system, designated System 88, is designed for professional and small business problem solving. The hardware consists of a main unit, upper and lower case keyboard with control keys, and quick updating video monitor. Hardware features include full eight level vectored interrupts and full graphics. The main unit uses an 8080 processor and accommodates from one to three minifloppy drives. The system includes complete operating software on disk plus word processor, BASIC and assembler. Software features include: system software with a file system and built-in application aids; BASIC on disk that has multidimensional strings and numeric arrays, MAT statement, PLOT statement to support graphics, program CHAINing, variable cross-reference listing by line number, inverse trigonometric functions, array functions SUM, PROD, MEAN, STD; text editor; integral RS-232 printer interface; and complete macroassembler on disk. The main unit of the System 88 has a walnut cabinet with a brushed aluminum front panel. Price for the system, excluding printer, starts at $2795. Contact PolyMorphic Systems, 460 Ward Dr, Santa Barbara CA 93111 .■

Circle 589 on inquiry card.

202

September 1978©BYTE Publications Inc

r

f»®REBELUON

WE'RE FIGHTING BACK INFLATION WITH THIS EXCLUSIVE 1 £ SALE

BUY I AT SALE PRICE. GET 2ND ron ir MnBEll!

AT SALE PRICE, GET 2ND FOR IC MORE!!!

SALE

LED

WATCH GUTS S4 AC 2,or

JLa«79 $1.96

Factory "lay-around*." Do thsy work? Who digital tachnlclana bonania. Tha complete iui black caa* and laatharatta band. S (unctlona: t SECONDS. MONTH. A DATE. Sorry, n Cat. No. 9SB267 Wl 4 os.

n.r.. With

HOURS. MINUTES.

pici

!a^s ^^--.^...vo, Jr." *AMBLE

IT* 7 — 1 —I —1M Cat. No. 9SB267 Wl 4 oi.

PARTS & SEMI"ONE CENTERS"

tun. Doftcriotion (Ontor by C.L No. Id par.ntho.1.) Sal. 1CSALE

I 1-aO CHAWNCL C. SELECTOR. ./.nob. lor PLL circuit. IMMal 1.00 2 for 1.01

PARTS ALONE ARE WORTH MORE I THAN 1 PRICE

hw production line rrftrto ™i!d

rtjetts/ Mostly keyboard

problems, we nr/uwd Buia? lhet.o prices, who cares" Vmi

P Msata *'|()uresc

Ch,,,JNe from 2 Bty.et,; GRREN nuoraseeiu ..V din-its- JSpn

Iriih™ .* r*«% >» ^4 fiSSS-? fun«'"™. 4 memory

iriH»ii ,Uh """pel*, ant

nelude operation manual Hattem-N not included). Wt fi

Quart.

□ 1-40 CHANNEL CI (ELECTOR, w/hrtob, lor PLL circuit* (««SS045) 1.00

D 1-23 CHANNEL C9 SELECTOR w/knob, lor PLL A xtal («HS044] 1.00

□ ll-'->W- OPTICAL LENSES, pl.no-conv**, I" dla, flattie | #985043) l.tt

Q 10-tC "DICE", mlcroicoplc circuits, taacha* theory (*MBMS) 1.19

□ 1-*" Hl-n SPEAKER, hill ranga, tor tar-n-bome (=9552**) 4.95

C 1-LED WATCH OUTS, rnan'^ how food T Wa don't know (»MS2*7) i.»

O 1-UHF TUNER, toNd atata, standard type (»M2*27) 1.00

o 1U-ILI0E SWITCHES, »>t pop atyla* f««1495) 1.00

D 4-TAHTALUM CAPACITORS, 6.8 uf 33V, dipped (a»S52*l) 1.00

a 5-PANCAKE PHOTOCELLS, MO to 1H ohms I-H2MI] 1.00

□ 1-lOOftHZ MARKER CRYSTALS, approx for marker gen. |«IIUM) 1.95

D l-MOTHERROARD LPCE CONNECTOR, IOC pin*. .125" (««3tS7) 3.SO

□ 1-44-PIN IDS! CONNECTOR, .ISC" spacing (n9S3M3) 1.(5

D (METER, SOuA, 1W square, 0-2Odb («0*3705) 1.10

□ 1-SPST RELAY, norm, opan 12-24 VDC, 12S0 ohms, dip atyla (e»8S178) 1.00

a l-VEEDER ROOT COUNTER, 000-MB, reasttable, panel mt. («MSMt| 1.4t

a 2-OUAL OATE MOSFET, *lm. to 3M200. 3N1S7, for RF A Miser (***510l) 1.00

o 2-LCD THERMAL INDICATORS, U-1M°F, 7x 1", flexible («9S519B) 1.00

a 1-JOYSTtCK, taur 10OK pat*, with knot) (-**53*0*A] 4.35

O 1-CECO THUMBWHEEL SWITCH, RCD, 0-7 I--M2S70A] 1.49

D I PLESSEY TV SIDEBAND FILTER, lor chin, 3 or 4 ("913975) 1.95

D 2.0V HI CAD CHARfiER PAK, plug-In, 125ms, 125 VAC pri ("914098) 1.49

a 20-DATA ENTRY PUSH-SWITCHES, *p*t, norm open, far keyboard* ("9SS279) 2.00

d 75-SN74O0TTL ICa, untaatad SOX+ ylald, pop typaa i>tS241S) 2.00

ci 100-MINI DIP ICa, llnoors, untested S01.+ ylald, pop typaa («9S3245| 2.00

d 30-LM3M AUDIO ICa, 2 watts orta-dlp 50% + ylald 1" 9552*4) 2.00

q 75-LIHEARS, OP AMPS, untaatad 50X+ ylald, amps-dlps-wilnldlpa {«9S241tt) 2.00

d 100-CTU A LINEAR MIXED, with 7400s, SOX + ylald (»9S243l) 2.00

□ 1-JOYSTICK, two ION pota, for computers, TV gamea {«9S5037) 2.95

a IB-TRACK TAPE HEAD, with plug' n' card | .-.-** 34*9) 2.S0

a ISO-PREFORMED DISC CAPACITORS, mark d valua*. sast'd ("942605) ZOO

a 150-TRIMMER CAPACITORS, mks com M as a I on, platon. asst'd. («M3714) 2.00

D CO-YELLOW JACKET MYLAR CAPACITORS, marked, pap vilua* (o99S47*| 2.00

o 1S0-QLASS ZENCRS, 4M MW, untested, better than BOX ylald (..-992740) ZOO

(: 7S-CARR0F1LM RESI9T0RS, Vi, V. watt, 5 A 10X, markad, aaat'a (..-913534) ZOO

a 250-UNMABKED CAPACIT0R5, polystyrene, molded, pep values (a 993MB) ZOO

n 300-SILICON SIGNAL DIODES, micro, glast, zanara tool MX ylald (»9t2C29) ZOO

a SIC SOCKETS, 14, 19 pin. aoldar tall. (..-993421) ZOO

a 10O-1N4148/914 SWITCHINS DIODES, 50X+ ylald. Untaatadl [-892418! ZOO

a 30-PCTRIM POTENTIOMETERS, thumbwhtal, screwdriver sss't. (=953345) ZOO

□ 15-ILIDE VOLUME CONTROLS, asst'd valuaa, duala, slnglss (#993087) ZOO

U 78-4" CARLE TIES, plastic. Ilka "Ty-wrap" (s 9*9319) ZM

i; 10-CRYSTALS, may Include C». Ham A mora (f9S32M) ZOO

□ 10O-TERMINAL STRIPS, from 2 luajs up {"SS313S) ZOO

G 30-NE-2ME0N LAMPS, all 10OX goad (a»S2C13} ZOO

■: 40-tt. SHIELDED CARLE, 1 cond, mikas, phonos, (-9S3577] ZOO

0 3-SOUHO TRIOGERS, sound triggsrs scr w/amp (»9S3fi2S) ZOO

□ 10-CR CRYSTALS, far phasa lack loop, HAM, HC/ll {nSSMSO} ZOO

[■ 100-DISC CAPACITORS, long laada, markad, asst'd (»SS2SM) ZOO

□ 100-CAPACITOR SPECIAL, discs, mylar, lytlcs, mora («SS273S) ZOO

o 10-VOLTAOE REGULATORS, hobby LM320, 340, TO-3 (/'6S33M) ZOO

u 30-PANEL SWITCHES, slldas, rotarlas, mod, ate (»9S32«S) ZOO

n 200-RESISTOR SPECIAL, «* to 1W, carhoti, matal (a993054) ZOO

(i 20O-HALF WAITERS, rsalstors, carbon, matal ("9SJ04S) ZOO

d 100-NATIOHAL IC BONANZA, llnaara, 74O0* ROMS («9S2S60) ZOO

d 15-LM340T VOLTAGE REGULATORS, 5 to 24V, TO-220 ("9S2S35) ZOO

□ 100-POLYSTYRENE CAPS, asst'd valuaa, vaHaga, hl-Q ("952729) ZOO

n S0-THERMIST0R5, raslatars that changa wrth tamp (ftS40S9) ZOO

□ 20-BRIOOES. untaatad, 2. 4, 6, amp, full wavu {«9S40Z1) ZOO

o 25-LAMP'H-SOCKET SETS, micro, l.SV, T2 (aSS9957) ZOO

o 1S-MIXED READOUTS, habhy, untastad, .127, .3, .8, alt. («»S361») ZOO

□ ISO-QUARTER WAITERS, raslatars, mats I Him, markad (»SS3413) ZOO

□ 100-PLASTIC TRANSISTORS, untastad, TO 92 [«9S2804) ZOO

n 200-PtEFORMED RESISTORS, "A, V,, 1W, markad, asst'd («SS2«0S) ZOO

u 200-PRECI5IOH RESISTORS, U, •A. 1W, IX, 2X markad ("9S2429) ZOO

a CO-DIPPED MYLARS, shiny finish, asst'd valuaa (fSS2597) ZOO

g 30-VOLUME CONTROLS, audio, flnsar, asst'd valuas (#952421) ZOO

□ 30-CLOCK CHIPS, National, hobby A untaatad, alarm (nSSSOSS) ZOO

n 30 MM52C2 2K RAMS, hobby, untastad 0*53940) ZOO

:. 10-PUSH SWITCHES, puah-to-braah, spat, alarm. (»9S52SB) ZOO

a 25-CD-4000 AERIES CM09, untastad, MX usaabla ylald (//9SS2S4} ZOO

g 1-CHARACTER GENERATOR, 5x 7 Moatak MK 2002P («SS3»M) 4.95

G 1-CONDENSER MIKES, sunsrHva, 500 ohm. 1.3 Volts («9S317() 4.95

7-SEGMENT READOUTS

G SVi MGIT LCD WRISTWATCH DISPLAY (»*S3940) 3 ftw S1.19

a SPERRY FLAT NIXIES, oranga, .3" dual digit («9SM14) 3 for

a SPERRY FLAT NIXIES, aranga, .3", 1 Mr-dig («955015) S far

a MAN J WHU READOUT, .ir' rod. com, cat*. ("9S333S) Star

■:/. MAN 4 READOUTS, bubbla, rod, com. anoda, .19" (<f951M3) 2 far

g FND-10 BLOCK READOUT, .122" com cathoda («9S2092) 2 far

c 9-DIGIT READOUT, lad, cam cathoda, rad l»tS51*0) 1 far

o FND-M3, .5" rod, com cathada, 7-sag. («952949)

Q FND-500, .5" rad, cam anoda, 7 sag. (#>9S29M)

g FND-BOO, .9" rad, common anada, ("5S30M)

□ FND-M3..9" rad, common cathoda, (0*93327) 3.a,5

RELAYS!

O 1-9R9T24V REED RELAY, norm opan, dip atyla, 12M ohmo (»9S5175) 1.49

AMPLIFIERS! be*

J 9 WATTS OH A CHIP, Toshiba TA7209 (»9SS0S7) 4.93

a 3 WATTS ON A CHIP, 0-E PA 293 |»9S1B22) l.M

2 for

20 far 1.01 2 for 1.20 2 for 1.20 2 lor 4*4 2 for l.M 2 tor 1.01

20 lor 1.01

5 for 1.01 10 tor 1.01

2 for l.SS 2 for 3.51 2 for l.M 2 for 1.20 2 for 1.01 2 for l.M 4 for 1.01 4 for 1.01 2 for 4.M 2 for l.M 2 tor l.M 2 far l.M 40 for 2.0 1M lor ZO 130 for 2.0 M lor 2.0 150 lor 2.0: 200 lor ZO 2 for ZM 2 for 2.5 300 for 2.0 120 for ZO 150 for ZO 300 for ZO 130 for 2.0 SOO lor ZO GOO lor ZO 1* lor ZO 200 lor 2.0 M lor ZO M lor 2.0: 150 tor ZO 20 for ZO 200 lor 2.0 M lor ZO M ft. for 2.0

6 tor ZOI 20 for 2.0

200 for 2.0

200 tor ZO

200 lor 2.0

M lor ZO

400 for 2.0

400 for ZO

2O0 for ZO

M for ZO

2M lor ZO

100 for ZO

40 far ZO

M for 2.0

30 for 2.0

300 for ZO

2O0 for ZO

400 for 2.0

400 for ZO

120 for 2.0

M for ZO:

M far ZO

M for ZO

20 for ZO;

M for 2.0

2 for 4.M

2 for 4.M

ONE CENT SALE

1.20 1.01 1.01 1.20

LM

1.31

ZM

2 lor ZM

2lor

l.M

2 (or 4.96 1.51

1.19

• for

1.M

12 far

1.00

4 for

1.19

4 for

l.SS

2 for

l.M

2 for

l.M

2 for

Z99

2 tor

Ordar By Cat. No. 9S1M1

A Typo No. l: SN7400

□ SN7401

□ SN7403 d SN7404 a SN7405 o SN740S n SH7407 g SN7409 ■i! SN7410 D SN7416 n SN7417 a SN7420 G SH7421 n SN7423 d 9H742*

□ SN7430 a SN7437 o SH743S B SN7440 G SN7443

□ SN7444 G 5N744C

□ SH74SO G SH7451 G SN7433

□ SN74M

□ SN745S 3 SH74S0 3 SN7462 g SN74S4

TTL'S AT "CENT-CIBLE" PRICES

2 For

Typo No.

f -20

D SN74SB

.20

G 5H7470

.2*

O SH7471

.20

D SN7472

.20

G SN7474

.20

G SN747B

.40

G SN74B0

.40

D 5N74S2

.26

□ SN74S3

.34

0 SN74M

.3*

G 5H74M

.33

u SN74SS

.M

G 5N74M

.30

G SN7491

.20

G SN7492

.30

n 5N7493

.20

0 SN7494

.28

G 9N749B

.20

a SN74M

.SO

a 9N74M

.20

0 SN74107

1.2S

0 9N74113

.20

0 SN74114

.20

G SN74121

.20

D SN74123

.30

□ 5N7412*

.20

G SN741M

.36

D SN74140

.36

G SN74143

Type Ho.

Each

2 for

a 5N74153

1.2*

l.M

a SN741M

1.79

1.7S

□ SN741SS

.7*

■M

0 SN741M

.3*

.40

0 SN741B7

.*•

l.M

0 SN741SS

.9*

1.M

a SN741S1

1.23

1.2*

G SN741S3

l.M

1.40

□ SH741S4

.7*

.M

D SN741SS

.**

1.00

g SN741M

1.**

ZM

0 SN74I73

.*•

l.M

G SN74174

1.7*

1.M

G SN74175

.*•

l.M

d SN74177

.7*

.*0

□ SN74179

l.M

ZM

G SN741M

.4*

.SO

G SN74182

.49

.50

a SN741M

l.M

ZM

a SN741B1

1.7S

1.7*

a SN741S2

.95

.94

c SN74193

9*

l.M

G SN74194

1.2S

1.2S

0 SN 741*7

.78

.7*

0 SN741SS

l.M

LSI

□ SN 74200

ZM

3.51

0 SN74251

.7*

.90

0 SN742S4

ZM

COO

0 SN742M

Z7S

Z7S

POP-AMPS AT

"CENT-CIBLE"

nde: T=TO-220 Power Tab: V=Mini dip. K

Typo No.

Each

2 for

Typa No.

Each

2for

D LMJ340T-S

1.49

D LM340T-6

AS

D LM340T-8

Q LM340T-12

D LM340T-15

a LM340T-18

1.49

D LM340T-24

130

D LM350N

O LM376V

.29

30

a LM377N

2.25

236

.99

1.00

H LM380N

1.39

1.40

.99

1.00

D LM381N

1.99

230

D LM3S6N

1.50

1.00

D LM531H

1.49

130

D LM320T-6

U9

130

D LM532N

.25

36

D NES40H

D LM555V

□ LM340K-5

1.49

1.50

D LMS56N

D LM5S8H

G LM561N

□ LM56SN

D LM565H

D LM5G6

□ LM567

239

PENN

ESFOR

YOUR MEMORIES!

Ordar by

Typa

Description

Solo IC Salt!

a 1103

IK Dynim

c RAM

1.29

1.30

c 5202

2K Prom

2.95

2.M

a 5262

2K x 1 Dynamic R,

M .99

G 1702A

256 s * EPROM

4.9S

4.96

Typa No.

4K x 1 Dyr

M 3.95

3.96

'Ramovad from n

aw taatad

oqulpmant |

rO-3:II

□ LM703N D LM704H G LM709H D LM709N 3 LM733H 0 LM7.1V 3 LM741H D LM747H D LM1304

□ LM1310 D LM1312 D LM1414V O LM1458V D LM1800N D LM3028H O LM3900N D LM3909V D LM42S0 D LM754S1 D LM7S453 D LM7S491 D LM75492 D LM75494 0 PA263 D DMSS64N

PRICES

TO-S

N^DlT. Each

1.49 1.79 2.49 .19 39

.49 1.25

130

130 130 230

1.26 131 .70

1 AMP SCR'S

TO 92 Caaa. 2NS0M aarlaa, Ordar by Cat. No. 9S2367

■ nd vortaia

4 (or tl 3 lor 91 3 for SI 2 for $1 1 for 91

G 1M g 150 g 2M

• for 1.01 6 for 1.01 6 lor 1.01 4 for 1.01 2 for 1.01

IN4000 Epoxy Rectified

Cat. Nn Typa f_u._ *

1N4O01 1N4002 1N4003 1N4004 1N4005

Cit. N. □ U2377 O 112371 ■r. H237,

1:1 9S23SO " H2U1 n 9*2312 a 912343

VoH. SO 100 200 400 600

Sato

10 fori .75 10 for .85 10 for .05 10 for 1.19 10 for 139 10 for 1.49 10 for 1.59

j»#i* switches:

q 2 SWITCHE* ON A DIP 0 3 SWITCHES ON A DIP a * SWITCHES ON A DIP

»95 HW)....

<<9S 3449... »9* 3*71)....

.,,, ->< ♦♦♦♦♦♦♦♦♦tMtiJ.iV***** jTTTt», \Vl

9.77V°78 % full WAVE BRIDGE

BULLET RECTIFIERS!

Ordar by CaL No. 9SSOBM and voftagota 1-5 AMP

AMP D 50V D 100V

a 200V a 4oov

10 for $.59 10 for .69 10 for .79 10 for 39

20 for $.60 20 for .70 20 for 30 20 for .90

aS0(m!

1.2* 1.30 4

RECTIFIERS! ;

* I

IC SOCKETS!

« Ordar by CaL Ho. 9*2447 A volUga

n 9-PIN MINI-DIP ("9S2123)... D 14-PIN DIP ("M130S)

r: 14-PIN DIP "99130*

a IS-PIN DIP ("9S3379)

n 24-PIH MSI/DIP ("9S3SM ... 0 29-PIN MSI/DIP (=9*3*97)...

* PRV

♦ a so

• tor 91-20 «>D 100 8 for l.M ♦ a 200

• for l.M ♦ a 400 12 tor 1.20 *■[.?. 600

4 tor 1.20 *a SOO ■ 4 for 1.20 Z 310OO

Sale SI 39

1.49

^w>xj*mk

Tirmi: Add nostaee Rated: net 30 ^f

Phone : Wakefield, Mass. (G171 245-3828

Retail: 16-18 IJel Carmine St.. Wakefield.

MINIMUM ORDER — S6.O0

POLY PAKS

Send for FREE

CATALOO

P.O. BOX 942-S9

LYNNFIELD. MA.

ZIP 01940

^Vri» N«.«o Tor-HM «» )

Your Choice 2 for 51. SO 4 f-TiTj

CERMET TRIM POTENTIOMETERS

nlolnj

O 100 o, o 7JO|«|

d200L

BMH

Zl'U^iiZZ

;joi»i Dwu 020KI.1

SB °WI.I =200.. low

10 AMP- POWER TA.tl SS1730- SCR'S •S144S - TRIACS

991590 QUADNACt

Sato 2 for

.»»lt»i ..Sit**

1 «99213» .M213*

jMiiinn aiaaiim J

LYTIC KLINI.C

Order No. 933269 and valua

V Style Sale

IB P.C. 10 far 91.M

IB P.C. 8 for l.M

25 P.C. • tar l.M

25 P.C. * for l.M

□ 100 25 P.C.

5 for 1.0,

Electrolytic capacitor* IC SALE 20 tor 91.01 1* for 1.01 IS tor 1.01 12 tar 1.01 10 tar 1.01

CONDENSER MIKE

ftS ■ AJw "TIE-PIN" TYPE

7/16"x lonp

2 for

L»m tl* pin '

,iui£:c> J-.g * ",-■ m

. 953179 *1

$4,96

ZEN ERS! Order fay CaL No. 9S5210A A voltage A wattage 1 Watt Sale K SALE

G 7.9V 5 for 51- 10 for 91.01

n 9.2V 5 for

□ *.1V Star

10 for

1.01

10 for

1.01

10 for

1.01

10 tor

1.01

10 lor

1.01

10 tor

1.01

Order by Cat. Ho. 9882108 5 WATTS Sale IC SALE

□ 6. V 3 for

O S.2V 3 for

O IS. V 3 for

O IS. V 3 tor

D 24. V 3 for

a 30. V 3 tor

. 6 tor 1X11

. 8 tor 1.01

. 8 lor 1.01

Star 1X11

.8 for 1U11

. 6 for 1.01

COPYRIGHT 1978 - POLY PAKS INC

Circle 303 on inquiry card.

BYTE September 1978 203

What's New?

of INTEREST to DESIGNERS

Easy to Interface Chip Select USART

System Memory Interface Forms 2 Chip Microcomputer

A single integrated circuit for microprocessor interfaces which incorporates its own memory, internal timing and IO ports is now available from Signetics. The 2656 system memory interface (SMI) can be combined with the Signetics 2650 processor to form a 2 chip

microcomputer that provides system flexibility and additional memory and 10 port expansion capabilities. The unit is useful for applications where both reduced chip count and system flexibility are necessary.

The Signetics SMI is a mask programmable circuit that offers 2 K by 8 bit programmable read only memory, 128 by 8 bit static random access memory, eight multipurpose 10 pins for external chip selects or 10 data port bits, an 8 bit latch for output data, and an internal clock generator programmed with crystal, RC or external input.

As an aid to system designers Signetics offers an SMI emulator on a single PC card that duplicates all the functional capabilities of the 2656 SMI chip. The emulator is priced at $250. The SMI chip is available in quantities of 1000 for $17. Contact Signetics, POB 9052, 811 E Arques Av, Sunnyvale CA 94086.*

Circle 610 on inquiry card.

Hexadecimal Label Switches Break Keyboard Cost Barriers

Optical Comparator for Rapid PC Board Inspection

00mm

H0E0

Stuck on any panel by its self-adhering backing, this microprofile keyboard avoids the congestion and the mounting hardware difficulties of mechanical keyboards. Label switches produce matrix coded output directly and will interface directly with integrated circuit 74C922 for conversion to a binary code. Labels do not bounce and so do not require the usual debounce electronics. Label switches are gold plated inside and outside and are sealed against the entry of dust or soft drinks. Life is estimated at 100 million operations. A self-contained flexible cable plugs into standard 0.1 inch (2.54 mm) spacing- socket. Price is $3.95 in single quantities from Computronics Engineering, 7235 Hollywood Blvd, Hollywood CA 90046.*

Circle 614 on inquiry card.

An optical comparator for inspection of printed circuit boards or other flat electrical and mechanical assemblies is now available from TM Systems Inc, 25 Allen St, Bridgeport CT 06604. The Model 1013 optical comparator is a fully portable, compact device which optically compares production circuit boards with a master or standard assembly. Both boards are placed in the comparator and alternating images are superimposed for viewing by the inspector. Any errors are immediately identified and located. An image sequence rate from 1 to 10 per second can be front panel selected and the illumination intensity is infinitely variable. The comparator features all solid state electronics and is designed for operation under all lighting conditions at any assembly station. Power requirements are 115 V ±1 0%, 50/60 Hz, at 1 A."

Circle 612 on inquiry card.

This Astro universal synchronous asynchronous receiver transmitter (USART), the UC 1971 Astro-Chip Select, is now available from Western Digital, 3128 Red Hill Av, POB 2180, Newport Beach CA 92663. This UC 1971 has many of the features of Western Digital's UC 1671 Astro Multiplexed Address: bisynchronous, asynchronous or isochronous modes, double buffered receiver and transmitter data, convenient interface to data sets and parallel processors. The UC 1971 Astro will interface with all popular microprocessors on the market.

The UC 1971, now second sourced, features the generalized computer interface control signals CS, AO, Al, RE and WE. Another design and operational plus for the UC 1971 Astro is the receiver clock and last transmitter bit outputs for external CRC generation and checking. The operating speed is DC to M bps. For further information and price contact Western Digital."

Circle 611 on inquiry card.

New .6 Inch LEDsfrom IEE

A line of red .63 inch LED digital displays designated as lEE-Hercules Series 1800 has been announced by Industrial Electronic Engineers Inc, 7740 Lemona Av, Van Nuys CA 91405. Series 1800 includes high brightness, dual element models and also single element models. The dual element LEDs consist of two chips of light emitting material which are electrically interconnected in series and act functionally as single segments. Both types of red LEDs have wide angle and long distance viewing with a high contrast ratio. Common anode and common cathode versions are available with right-hand and left-hand decimal points and ±1 overflow. Series 1800 LEDs are directly interchangeable with Litronix. At the. 500 piece level, prices range from $1.65 each for single element to $1.88 each for dual element."

Circle 613 on inquiry card.

204 September 1978 © BYTE Publicalions Inc

Circle 207 on inquiry card.

F. Reichert Sales

1110 E. GARVEY AVE. |W. COVINA, CA 91790

• S20 MINIMUM ORDER

• FREE UPS DELIVERY ON U.S. ORDERS ONLV OR BY SURFACE MAIL IF SPECIFIED

• MONEY BACK GUARANTEE

(MOS S LED DEVICES EXCLUDED)

• UNDER 8 HOUR PROCESSING ON MONEY ORDERS S CASHIERS CHECKS

i SORRYi NO COOS.

POS. OR CREDIT CARDS ' CALIF RES. AOD 6%

SALES TAX ■CANADA. PUERTO RICO

t US POSSESSIONS ADD

US J3.50 ALL OTHERS

ADO US. S7.00 i US FUNDS ONLY'

THE S-100 BUS DIAGNOSTIC BOARD

CENTURION IV

A LEGION OF DIAGNOSTIC TOOLS ON ONE BOARD!

• EXTENDER BOARD • PULSE DETECTOR

• LOGIC PROBE • CURRENT SHUNT

• CONVERTIBLE INTO BACKPLANE.

• ON BOARD CONNECTORS FOR SCOPE, DVM, VOM, GENERATORS, ETC.

• ON BOARD 5 WAY CONNECTORS AND RF CONNECTORS.'

• OVER 160 WIRE-WRAP POINTS FOR TOTAL AND COMPLETE FLEXIBILITY IN WIRE WRAPPING ANY I/O CONNECTOR AND ALL LOGIC PROBE INPUTS INTO ANY AND ALL 100 BUS LINES, WHICH MEANS YOU

CAN MONITOR AND MEASURE ANY PARAMETER ON ANY ONE OF THE 100 BUS LINES, OR LOGIC LEVEL PROBE ANY FIFTY BUS LINES SIMULTANEOUSLY. THE ONLY TOOL OF ITS KIND. A MUST FOR ANY SERIOUS SERVICE EFFORT.

Kit $119°° Assembled $14900

S-lOO 32 K STATIC MEMORY BOARD

WITH THIS BOARD YOU CAN BEGIN WITH IUST 8K OF MEMORY AND AOD ON LATER IT CAN BE AS SIMPLE AS INSERTING MORE MEMORY CHIPS

FEATURES

1 FULLY STATIC — USABLE WITH All DMA DEVICES

2 BUFFERED WITH NOISE SUPPRESSED INPUTS

3 POPULATED IN IK INCREMENTS (EACH IK CAN BE ACCESSED INDIVIDUALLY)

4 INCLUDES A RELIABLE SINGLE SOURCE +5 VOLT REGULATOR

5 PROM COMPATIBLE THE BOARD MONITOR CAN BE EXCHANGED (PIN BY PIN WITHOUT BOARD MODIFICATION) WITH A BIPOLAR PROM PROGRAMMED TO YOUR SPECIFICATIONS

6 CREATES NO WAIT STATES

I PRICES OUOTED ARE FOR 300nS 200mW MEMORIES

— ASSEMBLED UNITS ARE FULLY TESTED AND BURNED IN.

— KITS AND BARE BOARD COME WITH FULL ASSEMBLY AND CHECKOUT INSTRUCTIONS

8K 16K 24K 32K BARE

KIT $270°° $440°° $580°° $695°° BOARD

ASSEMBLED $296°° $465™ $612°° $740™ $38°°

MAXI SWITCH KEYBOARDS

UNENCODED MOUNTED ON G-10 GLASS

EPOXY BOARDS A BLACK METAL FRAME KEEPS KEY SWITCHES SECURELY IN PLACE.

—53 KEY MAIN KEYBOARD -10 AUXILLARY & CURSOR

CONTROL KEYS —11 KEY NUMERIC PAD —BANK OF 5 AUXILLARY

POWER & CONTROL.

ROCKER ARM SWITCHES.

ONE OF THEM LIGHTS UP

$39"

WW. SOCKET CONNECTOR FOR NO. 1 KEYBOARD

NO. 2

-53 KEY KEYBOARD —1 AUXILLARY POWER/ CONTROL DPDT ROCKER ARM SWITCH

$2995

BEIGE METAL FRAME FOR NO. 2

$995

SOCKET CONNECTOR FOR NO 2 KEYBOARD

$295

WANT PEACE OF MIND? IN CRITICAL APPLICATIONS USE BIPOLARSH

BIPOLAR RAMS

82S10

1024x1

$4.95

82S1)

1024x1

$495

BIPOLAR PROGRAMMABLE LOGIC ARRAYS

82S100 $11.95

82S10! $11.95

8223

82S23

82S126

93427

82S131

6306 1

3604

BIPOLAR PROMS

256 (32 x 8) 256 (32 x 8) 1024 (256 x 4) 256 x 4 TRISTATE 2048 (512 x 4) 2K TRISTATE 4096 (512 x 8)

$2.65 $3.40 $4.95 $4.95 $6.95 $5.45 $11.95

ULTRA LOW POWER

256 < 4 BIT STATIC CMOS RAM

5101L-3 650nS 30mW

DATA RETENTION

CURRENT

0 /uA AT 2 VOLTS

$9

95

ASCII KEYBOARDS

FULLY ASSEMBLED FULLY FUNCTIONAL

—MAIN KEYBOARD SECTION OF

58 KEYS —A HEX PAD OF 15 KEYS —16 MORE PERIPHERAL KEYS —ASCII ENCODED

WO. 1 - WITH ON BOARD UV PROM 95

$99

NO. 2 - IDENTICAL TO THE ONE ABOVE. BUT WITHOUT ON BOARD UV PROM

$79«

S-100 EXTENDER BOARD

WITH CONNECTOR

A MUST lor troubleshooting your Computer boards

$17"

S-100 EXPANDABLE MOTHER BOARD

•8 SLOT EXPANDABLE BACKPLANE

• QUIET—GROUND PLANE DECOUPLES ALL SIGNAL LINES

• RELIABLE GOLD CONTACT CONNECTORS COMPLETE

KIT

$66°»

ASSEMBLED

$8900

S-100

100 PIN

EDGE CARD

CONNECTOR

GOLD CONTACTS

$4

25

WIRE WRAP POST

2 LEVEL 10/78C 100/S6.50

4 LEVEL 10/98C 100/57.40

HI-REL GOLD WIRE WRAP SOCKET POST

10/11.20

100/J9.90 . 1000/179""

LIST PRICE ?9c

SUMMER SPECIALS! LOW PROFILE SOLDERTAIL I C SOCKETS. OTHER SIZES IN PREVIOUS AD GOLD INLAID TIN

24 PIN 5/11.09 5/1089

28 PIN 5/JI 19 5/J099

40 PIN 4/SI 19 4/JO 99

PRICES AND AVAILABILITY SUBJECT TO CHANGE WITHOUT NOTICE

[§§ CLjbercL~m boards.

MB-1 MK-8 Compuler RAM (not S-100), 4KX8. uses

2102 lype RAMs. PCBD only $22.00

MB-3 1702A EROM Board, 4KX8, S-100 switchable address and wail cycles, kit less PROMS .. $58.00 MB-4 Basic 4KX8 ram, uses 2102 type rams S-100 buss. PC board $25.95

MB-6A Basic 8KX8 ram uses 2102 type rams, S-100 buss. KIT 450 NSEC $125. PCBD $24.95

MB-7 16KX8. Static RAM uses UP410 Protection, fully bullered. KIT.. ... $375.00

MB-8A 2708 EROM Board, S-100. 8KX8 or 16KX8

kit without PROMS $75.00

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or 82S129 PROM kit without RAMs or PROMs $72.00 10-2 S-100 8 bit parallel I/O port. ?i of boards is for kludging. Kit $46.00 PCBD $25.95

10-4 Two serial I/O ports with full handshaking 20/60 ma current loop: Two parallel I/O ports. Kit $130 PCBD $25.95

VB-1B 64 x 16 video board, upper lower case Greek, composite and parallel video with soltware, S-100.

Kit $125.00 PCBD $25.95

Altair Compatible Mother Board. 11 x 11 '-'3 x Va". Board only $40.00. With 15 connectors $94.95 Extended Board full size. Board only $ 8.95

With connector .. . . $12.95

SP-1 Synthesizer Board S-100

PCBD S39.95 KIT S135.95

82S23

$1.50

PRIME

DEVICES

82S123

1.50

82S126

1.95

8080A

$11.50

82S129 .

1.95

8212

3.75

82S130

3.00

8214

6.50

82S131

3.00

8216

3.95

MMI6330

1.50

8224

4.00

4N26

.75

8228

6.95

4N27

.75

8251

9.95

4N28

.75

8255

9.95

LM323

2.95

21L14

8.50

41161a

pple

ram)

19.50

/W7J7C/,nc WAMECO INC.

MEM-1 8KX8 fully buffered. S-100. uses 2102 type rams. PCBD $24.95

Mother Board 12 slot, terminated, S-100. board

only $34.95

CPU-1 8080A Processor board S-100 with 8 level

vector interrupt PCBD $25.95

RTC-1 Realtime clock board. Two independent interrupts. Software programmable. PCBD $23.95 EPM-1 1702A 4K Eprom card PCBD $25.95 EPM-2 2708/2716 16K/32K

EPROM CARD PCBD $25.95

SHORT MOTHER BOARD Short Version of QM-1A

9 Slots PCBD $27.95

2102AL-2 Prime 250 NSEC $1.70

2102AL-4 Prime 450 NSEC $1.30

2708 Prime (National) $9.95

1702A-6 AMD Prime $3.50

1702A Intel Not Prime (2US) $2.00

2501B $1.50 1488N $150

2502B 1.50 1489N 1.25

2504 1.50 MC4044 2.25

2507V 1.50 8038 3.90

2510A 1.50 5320 5.95

2517V 1.50 5554 1.90

2518B 1.50 5555 2.50

2519B 1.50 5556 2.50

2521 1.50 5055 1.25

2522 1.50 5312 4.00 2525 1.50 MH0025 1.50 2527 1.50 MH0O26 1.75 2532V 1.50 MH0028 1.90 2529 2.75 5262 .50 2533V 1.95 2101 3.50

m

419 Portofino Drive San Carlos, California 94070

Please send lor IC. Xistor and Compuler parts list

INTRODUCTORY OFFER. Good lor the month ol this issue.

WAMECO

16K STATIC 2114 RAM BOARD

PCBD $24.95

PCBD & MIKOS PARTS ASSORTMENT #7. All parts, including sockets

and prime 2114L $275.95

Assembled, Test and

Burn in by PROKO $335.95

Kils based on Wamco & Cybercom Boards with Mikos

parts assortmenl

8080 CPU KIT

S 89 95

Assembled

SI35 95

REAL TIME CLOCK KIT

S 65 95

Assembled

S 99 95

VIDEO KIT

S 89 95

Assembled

S135 95

8K 450 NSEC (MEM-11 KIT

S125 00

Assembled

S145 95

8K 250 NSEC (MEM-11 KIT

S155 00

Assembled

S180 95

LIMITED QUANTITY

8K STATIC RAM 450 NSEC. BUFFERED ASSEMBLED, TESTED AND BURNED IN PARTS MAY BE UNMARKED ALLOW 3 WEEKS S125.95

VISA or MASTERCHARGE Send account number expiration date & sign your order Approx. postage will be added Check or money order with order will be sent post paid in U.S. If you are not a regular customer, please use charge. cashier's check or postal money order, otherwise there will be a two-week delay lor checks to dear. Calif, residents add 6% lax. Money back 30 day guarantee. We cannot accept relumed IC's that have been soldered to. Prices' subject to change without notice. $10 minimum order. $1.00 service charge on orders less than $10.

Circle 237 on inquiry card.

BYTE September 1978 205

Unclassified Ads

FOR SALE: All issues of BYTE magazine. Excellent condition, no cuts. Best offer received after 60 days of publication of this notice. Charles Wolf, 996 Valencia St, San Francisco CA 94110, (415) 647-5705.

WANTED: APL versions of nongraphic terminal games, such as Wumpushunt, Lunar Lander, Dungeons and Dragons, Adventure, Battleship, Nim, Space War, Craps, Slot Machine, Sea Hunt and any others that show users that computers can be friendly, even if they win Star Trek 80 percent of the time! Larry G Leslie, 2626 Angling Rd, Kalamazoo Ml 49008.

CHALLENGER IIP user would like to swap software, applications, eic with other HP owners. If there is enough response, I will put out a monthly newsletter. Let me know your thoughts. Neil Shapiro, 32-20 91 St, Apt 607, Jackson Heights NY 11369.

FOR SALE: TDL Xitan with system monitor board, video display board, 2 processors, 34 K and 250 nsec memory, George Risk keyboard, 12 inch CRT-TV. Software - 12 K BASIC, Macroassembler, text editor, text processor. All for S2095 assembled and running. Call Jon A Batcheller, Gainesville FL 32603, I904) 373-7004.

FOR SALE: Altair 8800B computer with 32 K 200 ns static programmable memory, two serial ports, one parallel port, PROM board, ACR cassette interface, floppy disk drive and controller, panel mounted baud rate switches for fast device change, extended BASIC on cassette, disk extended BASIC, and DOS, along with 30 floppy disks, $5000, Steve Mastrianni, 2952 Main St, Coventry CT 06238. (203) 742-6727 or (203) 664-2401.

FOR SALE: ISC 8001 color graphics terminal with U/L case, background color, large keyboard, 80 characters x 25 lines, 4 K memory; character and line editing, line and plot graphics options. Excellent condition. $1500 cash. Digi Ironies (IOMEC) Model 2540 400 cps tape reader. Complete - never used. Includes fan fold bins, 19 inch rack mount. $350. Commercial Regulated Power Supply ±15 V at 12 A and ±5 V at 12 A. Well-built, enclosed, fan cooled case 5 x 8 x 15 inches. $100. Two units available. Corliss A Beck, 2533 Bernice Rd, Suite A2, Lansing IL 60438, (312)895-3010.

FOR SALE: SwTPC CT-64 CRT terminal with screen read option, assembled and tested, S600. Tl Silent 700 printer model 751, complete with printhead, power supply, modem and maintenance manual. $200, in excellent condition. SwTPC M6800 computer, mother board, 4 K memory, processor board, serial control interface, parallel interface and complete data on the system (including Motorola's Applications .Manual and Programming Manual). $375 assembled. Lear Siegler ADM-3A CRT terminal, assembled and tested, $815. Tim Tibbott, 714 North Nottawa, Sturgis Ml 49091, (616) 651-7245.

NEW UNCLASSIFIED POLICY

Readers who have equipment, software or other items to buy, sell or swap should send in a clearly typed notice to that effect To be considered for publication, an advertisement must be clearly noncommercial, typed double spaced on plain white paper, contain 50 words or less, and include complete name and address information.

These notices am free of charge and will be printed one time only on a space available basis. Notices can be accepted from individuals or bona fide computer users clubs only. We can engage in no correspondence on these and your confirmation of placement is appearance in an issue of BYTE.

Please note that it may take three or four months for an ad to appear in the magazine.*

FOR SALE: Olivetti TE318, ASR33 compatible, very quiet, RS-232, 72 characters per line, half full duplex, only 120 hours of operation. Asking $650. Prapote Srichareon, 400 Central Park W, Apt 15 H.New York NY 10025, (212) 866-5144.

FOR SALE: Data reference card for RCA CDP1802. Opcodes, mnemonics in alpha and numeric sequence. Cross reference: binary, octal, hexadecimal, ASCII. $1.00 plus SASE. R W Moell. 5505 Daywood Ct. Raleigh NJ 27609.

FOR SALE: SwTPC MP-A Microprocessor System Board, Meticulously assembled with gold sockets and all chips. Checked out by SwTPC, nearly new. $125, Gil Shattuck, 116 Vincennes, Charlottesville VA 22901.

FOR SALE: Altair 8800b microprocessor, 18 slot motherboard with 11 edge connectors. Processor Tech 3P+S and VDM-1, Tarbell 10 with HO-CHE cassette controller, keyboard Model EW-100B all assembled with cables and manuals included; $2000, or best offer. K Mcleanas, 711 E Elizabeth Av, Linden NJ 07036, (201) 994-3100, ext 268 days or (201) 925-3053 nights.

FOR SALE. IBM Selectnc corres code terminal. Recent mechanical overhaul, ran beautifully until something went in logic board. I have complete IBM mechanical manual and some electronics info, but no complete logic diagram. S250 or trade for TVT, DVM, or what have you. James Triplett, POB815. Leverett MA 01054, (413) 256-6101.

Struggling An is t /Programmer needs hard copy graphics, digital or analog XY plotter. Mitch Wade, 20221 Birch St, Santa Ana Heights CA 92707.

WANTED: Prom programmer for 5204s, Tom Cage, POB 402, Amanllo TX 79105.

FOR SALE: New Polysoftware using A00 or A01 BASIC. Over 50 programs to choose from. Send SASE for complete list to John McCaplin, 2203 RidgeCrest, Richardson TX 75080 or call (214) 235-2594.

FOR SALE: Apple II Computer, 16 K memory, three months old, $1200 or best offer. Brand New Sharp 13 inch Color monitor/TV, $400 firm. Bob Majanski, 214 Coolidge Av, Hasbrouck Heights NJ 07604, (201) 288-3742.

FOR SALE: HP-65 Programmable Pocket Calculator, A1 condition, in original box with all original manuals, standard pac, blank programming cards, carrying case, battery charger, etc. $275. Tom Strigel, 3566 Hwy 101, S Wayzata MN 55391, (612) 473-5743.

FOR SALE: TVT-IV terminal with UART board, 300 bps acoustic coupler and Tl Silent 700 Keyboard all enclosed in standard briefcase with power supply. Several nice modifications. Uses standard TV to display 32 characters per line and 16 lines per screen. Memory for 2 or 4 pages of screen. Operates at 110 to 1 200 bps. Schematics provided. Very portable and in perfect working order. Components cost $430. Best offer. Wayne Esch, 860 S Zeeb Rd, RR #3, Ann Arbor Ml 48103, (313) 994-1366 evenings.

FOR SALE: I have designed a BASIC coding form which works well with 32, 40 or 64 character per line systems such as the Radio Shack TRS-80 and Commodore PET. There are 25 normal use lines plus four addiiional lines reserved for corrections on each form. I can supply these forms to anyone interested at a cost of $2 for the first 40, and $2 for each additional 50 sheets ordered at the same time. I also have TRS-80 programs for sale or trade, please send SASE for list. J DeMita, 53 Fenimore St, Lynbrook NY 11563.

FOR SALE: Selectric terminal. Convert any Selectric typewriter to IO terminal. Assembled SC/MP controller and ps (RS232 ASCII, 110/300 bps, 256 character buffer, EPROM software) in nice case plus all parts to convert your Selectric. S500/offer (kit is $600 commercially) TDL text editor on cassette tape (one copy) $20. John R Cameron, Dept of Biochemistry, Stanford Medical Center, Stanford CA 94305, (415) 327-0341 evenings.

FOR SALE: Floppy disks. Information terminals flexible disks, FD32-1000. Wang flexible disks, FD/IV. $2 each. Will take back if they don't fit or work. Gabriel F Gargiulo, 160 Elm St, North Haven CT 06473.

FOR SALE: MITS 88-ACR. 88-2SIO TTY, 8800A, 88-4MCS, 88-16MCS. ASR-33 TTY. Two IBM 5440 hard disks. Must sell. High bidder takes any item. Michael Clark, RD ^3, Nazareth PA 18064, (215) 759-6873.

FOR SALE: I have 200 rare IBM (1 million cycle, computer type) WIRE relays removed from IBM equipment. 45 V, up to 12 pole (some latching types). Also have plugs. SASE for list. Price $8 to $15 each depending on type. Will sell for less in quantities. Also a FLEXOWRITER, with tractor feed with IO ports, $295 plus packing and freight. Jack Weaver, 16255 SW 82 Av. Miami FL 33157, (305) 2384837.

FOR SALE: Altair 8800 computer includes processor board, mother board with 8 connectors, souped up power supply good for full 8 A, documentation, etc, $400. Mini Micro Mart RM Z-80 board includes parallel and serial ports, 1 K monitor PROM cassette tape interface, documentation, $300. Terry M Lang, 16300 SW Btanton, Aloha OR 97005, (503) 649-9633.

FOR SALE: Apple II computer, single board computer with 36 K memory mounted in plexiglas case with keyboard. A $1600 value, will sell for $1000 cashiers check, Robert Meader, 17721 140NE, WoodinvilleWA 98072.

FOR SALE: Altair 8800 A. two PT 4 KRA, one 8 K Vector Graphic, 3P & S, PT 2KRO, MITS ACR, all assembled and working. Includes MITS 4, 8, & 12 K BASIC on paper tape and Radio Shack cassette tape recorder. First cashier's check for $1200 takes it. John Hunt, 1 Kelton Ct #IE, Oakland CA 94611, (415) 652-6408 or (415) 398-0289.

FOR SALE: ASR 33 TTY with autoreader, autopunch, print blind features and all parts, maintenance, lube manuals and schematics. Very good condition. S650. A W Walker, 1914 Ridgewood Dr,San Diego CA 92139, (714)479-9074.

FOR SALE: IMSAI 8080 with 13 slots. Four IMSA1 4 K programmable memory (16 K total), IMSAI MIO board with cables. Merlin video board with MBI read only memory. All boards are assembled and working, all documentation included. $1300, I pay shipping. Send money order or cashier's check to: Bruce Paige, 11210 Carvel Ln, Houston TX 77072, (713) 933-8385.

FOR SALE: North Star software special. Personal finance and budgeting package, $15. Memory test, $10. Disckopy, $10 - both for $15. Stock market analysis package, $10. Correspondence editor, $5. Mail list, $5. Special assortment disk, $10, plus much more. Send blank disk, or $5.25 for disk. Write for complete list. Herb Schildt, 1007 N Division, Urbana IL 61801.

FOR SALE: Over 500 magazines in my collection must go. BYTE beginning 1976. Popular Electronics beginning 1960. Electronics World, 1963 to 1971. Popular Science beginning 1961. Most in mint condition. Best offer for one or all within six weeks of ad appearance. E B Scott, 309 Duke. Garland TX 75043.

FOR SALE: Pertec 7850-9 9-track tape transports. 800 bytes per inch x 11.25 IPS=9 K bytes per second. NRZI IBM format. 9 by 19 inch rack style. 115 VAC. R/W head, R/W electronics, servo control electronics; computer & manual motion control. Documentation available. $200 each FOB. Gary Gaugler, 2276 Beaver Valley Rd, Fairborn OH 45324, (513) 878-0288.

206 September 1978 © BYTE Publications Inc

VISIBLE

OR

INFRA RED

USED FOR CHARACTER

RECOGNITION FOR

COMPUTERS WITH

EXTERNAL CIRCUITS

MAY BE USED IN

A VACUUM, UNDER WATER, HIGH ALTITUDE

IN MAGNETIC ENVIRONMENT BECAUSE THERE IS NO

HIGH VOLTAGE OR MAGNETIC DEFLECTION

MINATURE SOLID STATE

202 VIDEO CAMERA KIT

FEATURING A... 100 x 100 BIT SELF SCANNING CHARGED COUPLED DEVICE

THIS UNIQUE UPDATED CAMERA KIT

FEATURES THE FAIRCHILD CCD 202C IMAGE SENSOR

ADVANTAGES

• IN THE FUTURE WE WILL SUPPLY A

COMPUTER VIDEO INTERFACE CARD

• All clock voltages operate at 6V reguiring no adjustments

• Higher video output signal

• We supply the power board, so only a 5V 1 Amp power source is needed

• The circuitry has been simplified for easier assembly

• Two level TTL output is supplied for interfacing

FEATURES

• Sensitive to infra red as well as visible light

• May be used for IR surveillance with an IR light source

• Excellent for standard surveillance work, because of light weight and small size

• All components mounted on parallel 33/4"x61/2" single sided boards

• Total weight under 1 lb.

$

We supply all semiconductors, boards, data sheets, diagrams, resistors and capacitors, and 8MM lens. Sorry we do not supply the case, batteries and 5V supply

349

00

KIT

Add $75.00 to assemble and test Add $2.00 Postage and Handling

UNIVERSAL 4Kx8 MEMORY BOARD KIT $69,95

32-2102-1 fully buffered, 16 nddruss lines, on board dercdinr) (or any 4 of 64 pages, standard 44 fim buss, may be used with F-8 & KIM

EXPANDABLE F8 CPU BOARD KIT

S99.00

Featuring Faubmi PSU.IK-ot siau interface, iiocumuntation. 64 I

■loot 4007 4006 4007 4009 4010 4011 4012 4013

4015 4016 4017 4018

C/MOS (DIODE CLAMPED)

401D

.18 3020

.95 4021

18 4022

.37 4023

.37 4024

.18 402S

18 4027

.29 4028

37 4049

.90 4050

.90 4053

.90 4055

18 4066

.75 4071

18 4076

.37 4518

.80 74C00

95 74C02

.33 74C04

.97 74coses 74C1074C42

75

35 74C73

35 74C74

1.10 74C83

1.25 74C86

.70 74C93- ...

.18 74CI51 1.40

97 74C160 1.05

100 74C161 1.05

22 74C174 1.05

.22 74C175 1.05

24 74C193 1.20

2? 74C901 48

-27 74C902 .48

85 74C914 1.70

PRINTED CIRCUIT BOARD

7 WATT LD 65 LASER DIODE IR Sa95

2N 3820 P FET S 45

2N 5457 N FET S 45

2N2646 UJT S .45

6R 900 TRIGGER DIODES A SI 00

2N 6028 PROG UJT S 6b

MINIATURE MULTI-TURN TRIM POTS 100, IK, 2K, SK, 10K. 20K. 50K, 100K. 200K, 500K, IMeg, 2Mw, S.75 each 3/S2.00

CHARGED COUPLE DEVICES

CCD 321 AH2 G12 audio .mjlcy S.R. ■ ■ $95.00 CCD 201C 100x100 Image Sensor . ' $95 00 CCD 202C 100x100 Image $onsoi . . ,5145 00 VERIPAX PC BOARD S4.00

This board is a 1 'Ib'sintjlc sided oapci cpo«y board, 4H"x6K" DRILLED and ETCI-IEf.) which will bold up 10 21 single 14nin IC's or 8.16 o. LSI DIP iC's with

FP 100PHOTO TRANS . . . S 50

RED, YELLOW. GREEN o. AMBER

LARGE LED's.2" 6/S1.00

TIL-118 0PTO-ISOLATOR S .75

MOLEX PINS 100/S1.00

1000/SB 00

i WATT ZENERS 3 3 4.7 5.6 9 1 10

12, 15. 18. ur 22V .... 6/S1.0Q

MC6860 MODEM CHIP S9.95

MCM 6571A 7 x 9character gen ... S10.75

TRANSISTOR SPECIALS

2PJG233-NPN SWITCHING POWER $ 1.95 MRF-8004 a CEt RF Transistor NPN S 1-50

2N377? NPN Si TO 3 S 1.00

2N154GPNPGE TO-3 S .75

2fj<iyoy pnp Si to :t si no

.'N605G NPN Si TO J D,irlinitltm S I 70

2N5086 PNP S. TO-9? 4 S 1 00

2N3137 NPN Si RF , $ 8G

2N3919 NPN Si TO 3 RF SI 50

?Nl4>nNPNSiTOB 3/S 1.00

2N3 767 NPN Si TO 66 S .70

2N2222 NPN StTO-18 - 5 S 1.00

2N3055 NPN Si TO 3 S .50

2N3904 NPN Si TO 9? 6vS 1.00

2N3906 PNP Si TO 92 . 6/S 1.00

2N5296 NPN Si TO.220 S 50

2N6109 PNP St TO-220 . S 55

2N3G38 PNP S> TO 5 . 6'S I 00

MP.SA 11 NPN Si 4/S I lit)

TTLICSERIES7445_ 65

7400- .13 7446- .68 74151- .61

7401- .13 7447- .58 74153- .61

7402- .13 7448- .68 74154- .94

7403- .13 7450- 15 74155- .58

7404- .15 7472- .25 74157- .55

7405- .13 7473- .28 74161- .55

7406- .16 7474- .28 74163- 55

7407- ,20 7475- .45 74164- .85

7408- 18 7476- 30 74165- .95

7409- 18 7480- 31 74170- 1.68

7410- .13 7483- .65 74173- 1.20

7411- .18 74B5- .87 74174- .95

7412- .13 7486- .28 74175- .85

7413- .36 7489-1.25 74176- .75

7414- 60 7490- .42 74177- .75 7418- .22 7491- .58 74180- .65 7417- 25 7492- 43 74181- 1 90 7420- 13 7493- 43 74190- 1.00

7425- .25 7494- .67 74191- 1.00

7426- .22 7495- .65 74192- .79

7427- .19 7496- .65 74193- .79 7430- 13 74107- .28 74194- .80 7432- .22 74121- .29 75325- 150

7437- 21 74122- .38 74196- 86

7438- .21 74123- .45 74279- .55

7440- .13 74125- .40 74367- 50

7441- .70 74126- .40 75491- .50

7442- .37 74150- 94 75492- .60 DATA CASSF: T Tfc S 1/2 MR :=.; ~

Full Wave Bridges

1.20

1.75

=.00

DIP SOCKETS

8 PIN .17 ?4 PIN . 14 PIN .20 ?8 PIN 16 PIN ,22 40 PIN , 18 PIN .25

SANKEN AUDIO POWER AMPS

Si 1010 G 10 WATTS S 7,80

Si 1020 G 20 WATTS , . , S15.70

Si 1050 G 50 WATTS . . S28.50

TANTULUM CAPACITORS

22UF 35V 5.S1 00 47UF 35V 5 SI.00 68UF 35V 5S1 00 IUF 35V 5 S1 00 2'3-UF 20V5 SI 00 3 3UF 20V 4 SI 00 4.7UF 15V 5/S1.00

6 8UF 35V 4 SI 00

10UF 10V $ .25

22UF 25V S 40

15UF 35V 3/S1.00

30UF 6V 5/S1.00

4 7UF 20V S .35

68 UF 15V S .50

100 UF 10V S .40

Circle 340 on inquiry card.

BYTE September 1978

207

Feariep Service

To get further information on the products advertised in BYTE, fill out the reader service card with your name and address. Then circle the 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 do you gain information, but our advertisers ore encouraged to use the marketplace provided by BYTE. This helps us bring you a bigger BYTE.

Inquiry No.

Page No.

Inquiry No.

Page No.

Inquiry No.

Page No.

1 4 7 6 10 11 14 15 16 17 25 26 27 28 30 33 35 36 37 38 31 32

39

40

45

46

47

65

70

71

72

75

77

78

79

80

91

95

100

103

105

110

115

120

125

130

131

132

133

140

AAA Chicago Computer Center 146

Administrative Systems 125

Advanced Interactive Systems 176

AJA Software 150

Anderson Jacobson 31

Apparat Inc 176

Apple Computer 14

Apple Computer 15

Atlas Electronics 128

ATV Research 169

Atwood Enterprises 199

AVR Electronics 197

Basic Computer Shop 176

Bazzy Electronics 176

Beckian Enterprises 192

Beta Business 197

BITS 95

BITS 109

BITS 111

BITS 196

Biz Comp '78 144

Buss 88

BYTE Books 77-80

BYTE Wats Line 175

California Digital 185

Canada Systems 139

Central Data 51

Computalker 49

Computer Age 176

Computer Corner 169

Computer Enterprises 127

Computer Factory 151

Computer Hardware Store 169

Computerland 5

Computer Pantry 169

Computer Resources 137

Contemporary Marketing 55

Cromemco 1, 2

Digital Pathways 143

Digital Research (CA) 91

Digital Research (TX) 187

Digital Research & Eng 165

Disc 3 169

Dynabyte 89

Electrolabs 180

Electronic Control Technology 140

Electronic Systems 189

Electronics Warehouse 191

Emerge Systems 197

EMM/CMP 130

Essex Publishing 144

Forethought Products 119

142 Functional Automation 136

150 Godbout Electronics 61, 81 149 GRT134, 135

151 H & K Computer Corp 163 153 Hamilton Logic Systems 169 155 DC Hayes 152

170 Hobby World 179

175 I MSA I 6, 11

176 Info 2000 97

177 Information Terminals 99

.180 Integrated Circuits Unlimited 193

178 Integrated Technology 175 183 International Data Sciences 145 190 Ithaca Audio 183

195 Jade Company 181

200 Jameco 194, 195

201 Lifeboat Associates 119, 150

207 LMN Electronics 205

215 Logical Services 133

216 Manchester Equipment 67

217 The Math Box 197

218 Maxi-Switch 59

208 Micro Madness 197

219 Micro Mail 124 231 Micromation 66

235 Micropolis 120

236 Micropolis 121

237 Mikos205

255 Morrow/Thin ker Toys 25

260 Mountain Hardware 54

265 mpi 161

268 Mullen Computer Boards 140

275 National Multiplex 83

280 Netronics129

281 New England Electronics 142 283 New England Recruiters 176

285 North Star 7, 27

286 Northwest Microcomputer Sys 71

290 Ohio Scientific Instrument 18-21

287 OK Machine & Tool 131

291 Oliver Advanced Engineering 165, 197 289 On-Line163

293 Osborne & Associates 107 * Owens 141

294 Pacific Digital 158

296 Pacific Office Systems 180

297 Page Digital 188

298 PAIA Electronics 158

292 PanaVise126

288 PCE Electronics 169 301 Per Com Data 32

267 Per & Small Business Cmptr Show 101

302 Personal Software 90

276 Personal Systems Consulting 30

303 Poly Paks 203

304 Priority I 201

305 Processor Technology 8, 9, 123

277 Program Design Inc 138

306 PRS43

307 Quest Electronics 188

* Radio Shack 73 322 RCA 45

* Real World Simulation 176

308 Rondure Co 199

311 S-100 147

* ScelbiCIII

* Scientific Research 35, 37

309 S & D Computer Technology 176 313 Seattle Computer Products 62

316 Michael Shrayer Software 113

312 ShugartCIV

317 Signetics23

318 SPI 105

319 Small Systems Services 136

320 Smoke Signal Broadcasting 137, 139, 141, 143, 145, 147, 151,155

330 Software Records 152

335 Solid State Music 69

340 Solid State Sales 207

343 Soroc 29

350 Southwest Technical Products CM

351 Structured Systems Group 13

352 Summagraphics 122

353 Sybex 39

355 Synchro Sound 56, 57

356 Synertek Systems 93

357 Tano 132

360 Tarbell Electronics 47

363 Tasa 16,17

370 Technical Systems Consultants 85

372 Technico 87

373 Telesis Laboratory 197

374 TIS197

377 Tora System Limited 197 376 TransNet92

378 Utec Corp 131

386 US Robotics 169

389 Vector Electronics 103

387 Wameco 183 143 Whales 63

395 Worldwide Electronics 169

400 Xitex 146

401 Zeta Systems Canada Ltd 176

'Correspond directly with company.

ecivie

f!V I E's Ongoing Monitor' Box

Article No.

ARTICLE

PAGE

Ear Ear for the June Bomb

1

2 3 4 5 6 7 8 9 10

Posdamer: The Mathematics of Computer Graphics Kellerman: APL and Graphics Chung-Yuen: A "Tiny" Pascal Compiler Hearn: Some Words About Program Structure Williams: Antique Mechanical Computers: Part 3 Ciarcia: Let Your Fingers Do the Talking: Part 2 Bondy: S2L: An Altair (S-100) to LSI-11 Bus Adapter Boney: Math in the Real World Hungerford: Graphic Manipulations Using Matrices Kheriaty: WADUZITDO: How To Write a Language

22

40

58

68

82

94

102

114

156

166

Two "ear" oriented articles were at the top of the June 1978 BOMB results. First prize of $100 goes to Steve Ciarcia for his article "Talk to Me: Add a Voice to Your Computer for $35," page 142. The $50 second prize goes to Bill Georgiou for "Give an Ear to Your Computer," page 56. The two articles placed 1.6 and 1.3 standard deviations above the mean, respectively."

208

September 1978©BYTE Publications Inc

Scelbi

supports

Thetef

Introductory mail offers

vou canr refuse!

000 WINS THIS GAME IN 181 MOVES' ooo

oo •■••■•••■•••«••••••

oo « •«

OO • •■•■•••••••■••• OOOOOCM

oo ■ •••#•••• ■ o

oo # ■ •• 1 o

00 t ■•••••■•• • 0

oo • •••■«•■•••■•••• 0 ■

UU OOQOOM ■•+■•••••••••■• 0 (

dooooooo otir

-o 000000000000000000000000 (

o OOOOOOOOOOOOOOOOOOOOOOO I

O OOOOOOOOOOOOOOOOOOOOOOO (

OOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOf

s*&$v&^rtti^i&tk

We assume that "PET" is a trademark of Commodore. *" Mail Orders only. Regular price, including store price is $9.95.

Introducing famous Scelbi games, now on quality tape... ready to run on your own Commodore Pet...

Now SCELBI Software on tape, exclusively created for the Commodore PET Series 2001 Personal Computer. Just pop in the cassette and begin pitting your mind against your PET. There are three exciting games on this first tape, plus a perpetual calendar that hasn't missed a day yet! Best of all,

NOW THROUGHTyQCY: DEC. 31, 1978 f 57^

Regularly $9.95 the cassette

if you act right now, you can save $2.00 off the regular price! That's right. Now through December 31, 1978, you pay only 7950, instead of the regular price of $9.95! So hurry. At this price, you can't afford not to have SCELBITAPE! Start playing. Start saving. Now.

HERE'S WHAT YOU GET ON SCELBITAPE-1

AUTO BOX

It's you against your PET in a fast moving game of back'em-to-the-wall, box-'em-in action. Move up. Down. Across. Box-in your PET before it boxes you in. Don't bump. You'll lose. You can beat the PET, but you've got to work at it. Thousands of possibilities. Millions of moves. Hours and hours of fun, excitement and computer challenge.

©

e ©

SPACE CAPTURE. It's YOU vs. the PET in an attempt to shoot down an alien spaceship roaming the galaxy. Your "search and destroy" strategy is pitted against the "alien" PET's unlimited patterns of random moves. Like a chess game in outer space. Each intergalactic voyage is another new, different challenging adventure with infinite possibilities.

HANGMAN. Anyone who was ever a kid has played "Hangman". Here's an updated version that programs your PET to select words from an expandable list. Try to guess the word in 8 guesses before your PET "hangs" you. Think it's easy? Don't bet on it!

PERPETUAL CALENDAR. Never misses a day. Want to know when your birthday comes out in the year 3567? Ask the PET. Pick any date. Any year. Any century. Bet your friends that you can guess what day of the week their birthday will fall upon in any year they choose. You (and your PET) can't be wrong!

ORDER YOUR SCELBITAPE TODAY! HURRY! SAVE $2.00 NOW!

^g-^m ■)■ MifhlfeMM)! I WD Prices shown for North American customers. Master Charge,

SI.BiI.M5I M.MMr»MMvMJ I EH VISA, Postal and Bank Money Orders preferred. Personal

tf ■■MVl| U VIKJa'a INC checks delay shipping up to 4 weeks. Pricing, specifications,

v T_l" _ _ ..... , __._-.«„ availability subject to change without notice. IMPORTANT!

Post Office BOX 133 PP STN Department B MllfOrd, CT 06460 Include 75(S postage/handling for each SCELBITAPE delivered

by U.S. Mail; or $2 for each tape shipped via UPS.

]

[fiti

sn'tSl

iu£a

r

1

ii"

tisn

tnd

iiiflom

V

smmii!iii,„

i .<i

Shugart invented the minifloppy in 1976. Today there are more than 100,000 of the little drives in use. That's because users want the affordable random access data storage of the minifloppy.

Shugart packs years of proven floppy drive technology into this tiny package. Up to 110 kbytes of data storage. Fast random access of about one-half second. And high speed data transfer of 125 kbits per second. Plus sensible, maintenance-free features like write protect to prevent accidental data loss, an activity light to indicate when the drive is selected by your computer and a aoor interlock to protect your media from damage.

Our proprietary read/write head provides maximum data interchange margins, and it is

positioned precisely on the selected track by a patented spiral cam actuator. The DC drive motor with integral tachometer assures accurate aiskette rotation and low heat dissipation. A die cast aluminum base plate provides a solid foundation for the drive.

At Shugart, iechnology leadership is more than a slogan, it's a commitment. Get reliability and value when you invest your money for floppy disk storage. Ask for the standard of the industry, minifloppy. If it isn't Shugart, it isn't minifloppy.

Shugart Associates

435 Oakmead Parkway, Sunnyvale, California 94086

For a list of manufacturers featuring Shugart's minifloppy in their systems, circle reader response number.

TM minifloppy is registered trademark of Shugart Associates

Circle 312 on inquiry card.