Skip to main content

Full text of "Byte Magazine Volume 02 Number 12 - The Star Trek Computers"

See other formats


DECEMBER 1977 VOLUME 2, Number 12 







SPACEPORT GAMMA 6 

HOLOGRAPHIC MUSEUM' 

OF 

ANCIENT TECHNOLOGY 



the small systems journal 



■ 




Your computer system needn't cost a fortune. 



Some computer kits include little more than a mother board and 
a front panel , and you pay extra for everything else you need to • 
make an operating computer. 

SWTPC doesn'f do it that way, so you can get your Southwest 
Technical 6800 Computer up and running at a bargain cost 
compared with most other systems. It comes complete at $395 
with features that cost you extra with many other systems. 

The Extras You Get 

These extras include 4K of random-access memory, a 
mini-operating system in read-only memory, and a serial control 
interface. They give you 1) a considerable amount of working 
memory for your programs, 2) capability through the mini- 
operating system to simply turn on power and enter programs 
without having to first load in a bootstrap loader, and 3) an 
interface for connecting a terminal and beginning to talk with 
your computer immediately. 

Low-Cost Add-Ons 

Now that you have a working computer, you'll probably want 
to add at least two features soon, more memory and interfaces 
for needed accessory equipment. Memory for our 6800 is 
another bargain. You can get 4K memory boards for just $100 
and 8K boards for only $250. 

Our interfaces cost little compared with many other systems. 



For just $35 you can add either a serial or parallel interface 
board. (And you won't have to buy several interfaces on a costly 
board to get just the one you want.) 

Peripheral Bargains 

Your computer is no good without at least a terminal for 
entering data and viewing computer output, and you will 
probably want a good method of storing programs and data. 

We offer you a line of high-quality peripherals at low prices. 
(You can prove this by just comparing prices.) 

Buy our CT-64 Video Terminal for only $325 and our CT-VM 
Monitor with matching cover for $175. Our MF-68 Dual 
Minifloppy costs just $995, complete with Disk BASIC and a 
disk operating system. For cassette storage our AC-30 
Cassette Interface gives simple control for one or two cassette 
recorders. 

You can get inexpensive hard copy with our PR-40 Al- 
phanumeric Line Printer. 

We back up the 6800 system with low-cost software, 
including 4K and 8K BASIC. 

Compare the value you get with our computer and peripher- 
als before you buy. We think you'll find that SWTPC gives you 
more for your money in every way. 



Enclosed Is: 

$995 for the Dual Minifloppy 

$325 for the CT-64 Terminal 

$175 for the CT-VM Monitor 

$395 for the 4K 6800 Computer 

Name 

City 



$250 lor the PR-40 Line Printer 
$79.50 for AC-30 Cassette Inferface 

Or BAC # Exp. Date_ 

. Or MC # Exp. Date_ 



. Address 
.State 



-Zip- 



Esa 



Southwest Technical 
Products Corp. 

219 W. Rhapsody. San Antonio. Texas 78216 
London: Southwest Technical Products Co., Ltd. 
Tokyo: Southwest Technical Products Corp. /Japan 

Circle 109 on inquiry card. 



The easy way to get disk storage, 
FORTRAN IV, and other programming power 



Control up to 
four 8" drives 



Control up to 
three 5" drives 



CRT terminal 
interface 



Function 
switches 



LSI circuitry 



1 kilobyte 
PROM 







Here's a new disk controller and 
disk drive combination that will set 
you up for truly powerful disk storage. 

The new controller is extremely 
versatile. You can use it with either 
our new 5" single disk drive or our 
8" dual disk drive. In fact, the con- 
troller will interface up to three 5" or 
four 8" drives. 

That means you can have enor- 
mous disk storage since the new con- 
troller puts 92 kilobytes on each side 
of a 5" diskette and 256 kilobytes on 
an 8" diskette. Recording is in soft- 
sectored IBM format. 

FORTRAN IV AND MORE 

You can get still more Cromemco 
disk operation aids. For example, we 
also offer FORTRAN IV for our com- 
puter users. 

And as in so many things, we are 
the first manufacturer in the field to 
offer this advanced program for the 
Z-80 pP. 

Besides FORTRAN IV we also offer 
our special BASIC (14-digit precision), 
our Z-80 Assembler, and now an en- 
tertainment diskette with over a doz- 
en of our Dazzler® games. 

KEYBOARD CONTROL 

The new Model 4FDC disk con- 
troller (supplied in our Z-2D) is for 
our Z-2 computer or any S-100 bus 
computer using our Z-80 CPU card. 
You should also know about these 
other capabilities of the new con- 
troller: 

• Its PROM-resident Disk Operating 
System (RDOS) gives you key- 
Circle 34 on inquiry card. 



Single 5" 
disk drive 



Dual 8" 
disk drive 



board control of your disk drive 
and also includes a bootstrap to 
load our powerful CDOS disk 
operating system supplied on ail 
Cromemco diskettes. 

• The controller will interface your 
CRT terminal through its RS-232 
serial port. May save you an I/O. 

• It has 5 programmable interval 
timers. 

• It has vectored interrupts. 

• And it has an 8-bit parallel input 
port and an 8-bit parallel output 
port. 

LOOK TO THE FUTURE 

This new disk controller equips 
you for the future as well as for now. 
Not only can you now have very 
large storage, but the features of the 
controller and the standard IBM for- 
mat protect you from early obso- 
lescence. 



STORES/FACTORY 

This new card and the disk drives 
are in production and available. 

So contact your computer store 
or the factory today and you can have 
the power of FORTRAN IV and a 
large memory right away. 



PRICES 

Model 4FDC-K Disk Controller kit $ 395 

Model 4FDC-W Disk Controller assembled . . .$ 595 
Model WFD 5" single disk drive assembled . .$ 495 

Model PFD-K 8" dual disk drive kit $1995 

Model PFD-W 8" dual disk drive assembled . .$2495 
Disk drives are complete with 
power supply, case and cables. 

SOFTWARE 

Purchasers of Cromemco computers 
or drives may purchase software on 5" 
or 8" diskettes as follows: 

5" 8" 

Diskette Diskette 
Model Model Price 

FORTRAN IV FDF-S FDF-L $95 

Z-80 Assembler FDA-S FDA-L $95 

16K BASIC FDB-S FDB-L $95 

Dazzler® games FDC-S FDC-L $95 



ra 



Cromemco 



a t e 



^^^^^B Specialists in computers and peripherals 



2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 



BYTE December 1977 



You can now have the industry 



finest microcomputer 
with that all-important 
disk drive 



YOU CAN GET THAT 
ALL-IMPORTANT SOFTWARE, 

TOO 

Loading your programs and files 
will take you only a few seconds with 
the new Cromemco Z-2D computer. 

You can load fast because the 
Z-2D comes equipped with a 5" 
floppy disk drive and controller. Each 
diskette will store up to 92 kilobytes. 

Diskettes will also store your pro- 
grams inexpensively — much more so 
than with ROMs. And ever so much 
more conveniently than with cas- 
settes or paper tape. 

The Z-2D itself is our fast, rugged, 
professional-grade Z-2 computer 
equipped with disk drive and con- 
troller. You can get the Z-2D with 
either single or dual drives (dual 
shown in photo). 

CROMEMCO HAS THE 
SOFTWARE 

You can rely on this: Cromemco 
is committed to supplying quality 
software support. 

For example, here's what's now 
available for our Z-2D users: 
CROMEMCO FORTRAN IV COM- 
PILER: a well-developed and power- 
ful FORTRAN that's ideal for scien- 
tific use. Produces optimized, relo- 
catable Z-80 object code. 
CROMEMCO 16K DISK BASIC: a 
powerful pre-compiling interpreter 
with 14-digit precision and powerful 
I/O handling capabilities. Particularly 
suited to business applications. 
CROMEMCO Z-80 ASSEMBLER: a 
macro-assembler that produces relo- 
catable object code. Uses standard 
Z-80 mnemonics. 



The professional- 
grade microcomputer 
for professionals 




ADVANCED CONTROLLER CARD 

The new Z-2D is a professional 
system that gives you professional 
performance. 

In the Z-2D you get our well- 
known 4-MHz CPU card, the proven 
Z-2 chassis with 21 -slot motherboard 
and 30-amp power supply that can 
handle 21 cards and dual floppy 
drives with ease. 

Then there's our new disk con- 
troller card with special features: 

• Capability to handle up to 4 
disk drives 

• A disk bootstrap Monitor in a 
1K 2708 PROM 

• An RS-232 serial interface for 
interfacing your CRT terminal 
or teletype 

• LSI disk controller circuitry 



Z-2 USERS: 

Your Z-2 was designed with the future 
in mind. It can be easily retrofitted 
with everything needed to convert to 
a Z-2D. Only $935 kit; or $1135 for 
assembled retrofit package. 



ra 



Cromemco 



Shown with optional 
bench cabinet 



We're able to put all of this in- 
cluding a UART for the CRT interface 
on just one card because we've taken 
the forward step of using LSI con- 
troller circuitry. 

STORE/FACTORY 

Contact your computer store or 
Cromemco factory now about the 
Z-2D. It's a real workhorse that you 
can put to professional or OEM use 
now. 
Kit: Z-2D with 1 disk drive 

(Model Z2D-K) $1495. 

Assembled: Z-2D fully assembled 

and tested (Model Z2D-W) $2095. 

Additional disk drive 

(Model Z2D-FDD) $495. 

SOFTWARE 

(On standard IBM-format 
soft-sectored mini diskettes) 

16K BASIC (Model FDB-S) $95 

FORTRAN IV (Model FDF-S) $95 

Z-80 Assembler (Model FDA-S) $95 



BYTE December 1977 



^^__^H Specialists in computers and peripherals 



2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 



Circle 34 on inquiry card. 





■ ■ ■_ a« 




, 


BITE DECEMBER 1977 




In the Queue 


Volume 2 Number 12 




Foreground 


PUBLISHER 
V i r h i n i ,j Pcsihke 
EDITOR IN CHIEF 


48 


A $19 MUSIC INTERFACE 


Cail T Helmets |r 
PRODUCTION MANAGER 




Music Systems— Struve 


luililh ll.tw-v 


76 


ON A TEST EQUIPMENT DIET? TRY AN 8 CHANNEL DVM COCKTAIL! 


ADVERTISING DIRECTOR 

Dcbr.i linti.llic.iu 




Test Equipment— Ciarcia 


CIRCULATION MANAGER 


130 


USING THE POLYMORPHICS VIDEO INTERFACE 


GrcRorv spii/iadcn 
EDITORS 




Hardware— Wenzlaff 


Lhrislophci P Mnitt.in 


164 


SAVE SOFTWARE: USE A UART FOR SERIAL IO 


Blaise W l.iltkf, 
ASSISTANT PUBLISHER 




Interfacing— McGahee 


Lli/abcth Alp.tuBli 
CO-OP EDITOR 
Scc.ll Morrow 




Background 


PRODUCTION EDITORS 

K.iii-n Grcnury 
Nam.* Salmon 


12 


THE COMPUTERS OF STAR TREK 


ADVERTISING 
Nun-en Barcblc) 




Specula tion—Schmucker- Tarr 


P.mki.i Clark 


24 


A FLOPPY DISK TUTORIAL 


EDITORIAL ASSISTANT 

InRlid Nslanil 




Floppy Disks— Rampil 


PRODUCTION ASSISTANT 


91 


JACK AND THE MACHINE DEBUG 


Cheryl Hurd 
CIRCULATION ASSISTANT 




Software Techniques— Grappel-Hemenway 


Pamela R Heaslip 


104 


STRUCTURED PROGRAMMING WITH WARNIER-ORR DIAGRAMS: Part 1 


DEALER SALES 

Ginnie I Boudtieau 




Software— Higgins 


TRAFFIC MANAGER 


112 


SIMULATION OF MOTION: Part 2: An Automobile Suspension 


Edmund D Kells |i 
ART 




Modelling— Smith 


Wai Chlu LI 


118 


A LITTLE BIT ON INTERRUPTS 


Durnlhy Shamunsky 

Ellen Shamonsky 




Tutorial— Wier 


BOOK PUBLISHER 


140 


MULTIPROGRAMMING SIMPLIFIED 


Christopher L Stniih 
CONVENTION SUPERVISOR 




Software— Lahasky 


Elizabeth Alpaush 


154 


WHERE TO GET BARGAINS IN USED COMPUTER EQUIPMENT 


EXECUTIVE SECRETARIES 

|ill Callihan 




Hardware— Libes 


Patricia Glut k 


156 


A LOOK AT LISP 


RECEPTIONIST 
Jacqueline Earnshaw 




Software— McGath 


CLUBS AND NEWSLETTERS 


162 


RELATIVE ADDRESSING FOR THE 8080 


David Wo/mak 
DRAFTING 




Software— Gaskell 


Douelas Glen 


186 


A USER'S REPORT ON THE INTERCEPT JR 


Stephen Krusc 
Lynn Malo 




Applications— Lahore 


Bill Morello 

Dorothy Shamunsky 
TYPOGRAPHY 




Nucleus 






Custom Marketing Resources Ine 
















Goodway Graphics 






BYTE is published monthly by 




PHOTOGRAPHY 


4 


In This BYTE 


BYTE Publications Inc. 70 Main Si, 
Peterborough NH 0345B Address all 




Ed Crablree 
PRINTING 


6 


Is PASCAL the Next BASIC? 


mail except subscriptions to above 
address: phone 1603) 924-7217. Address 




Rumlord Press 

NEW PRODUCTS EDITOR 


10 


Letters 


all editorial correspondence to the editor 




Daniel 1 vlslia 






at the above address. Unacceptable 




46 


Technical Forum: Wheeler: 


manuscripts will be returned il accom- 




ASSOCIATES 




Undocumented M6800 Instructions 


panied by sufficient litst class postage. 
Not responsible lor lost manusciipts or 




Waller Banks 
Sieve Ciarcia 


72 


Technical Forum: Gordon: 


photos. Opinions expressed by the 
authors are not necessarily those of 




David 1 ylslra 
Porlia Isaacson 
BITS INC 
Floyd W Rchlinu 




The XF and X7 Instructions of the 
MOS Technology 6502 


BYTE Address all subscriptions, change 
of address, Form 3579, and fulfillment 
complaints to BYTE Subscriptions, PO 




74 


PC 77 


Box 590. Martinsville NJ 08836, Second 




Medellin Siephens 


class postage paid at Peterborough NH 




Jim Travisano 


84 


Get Your System Together 


0345B and at additional mailing 
offices- USPS Publication No. 102410. 




Ronald Wil/c 


143 


Technical Forum: Gentry: 
Comments on Paging Schemes 


Subscriptions are $12 for one year. $22 :, : 
tor two years, and $32 for three years in - 
the USA .inrl its possessions. Effective 






146 


Book Reviews 


Jan 1 1978. $15 foi one year. $27 lor 
two yHars, and $39 lor three years. Add 




ADVERTISING SALES 


148 


Programming Quickies 


$5.50 pet yeai for subscriptions to 
Canada and Mexico. Canadian second 




Southern California: 


149 


BYTE's Bits 


class registration no. 9321 . $25 for a one 




Buckley/Boris Associates ItlC 


151 


BYTE's Bugs 


year subscription by surface mail world- 
wide. Air delivery to selected areas at 




'.J 1 J Souih Barrlngion 
Suile 202 


152 


Clubs, Newsletters 


additional rates available upon request. 
$25 lor a one year subscription by air 




Los AnRclcsCA TOO 19 
(jl t) 826-4621 
Northern California: 


168 


Diddle 


delivery to Europe. Single copy price is 




192 


A Note to Novice Kit Builders. . . 


$2.00 in the USA and its possessions. 
$2 40 in Canada and Mexico, and S3.50 




Jules 1. Ihuinpson Ine 


193,196,204,216 


What's New? 


in Europe, and $4,00 elsewhere- Foreign 
subscriptions and sales should be remit- 




Hearst Building 

Suile 1 1 1 


197 


Bit Status Display 


ted in United States lunds. Printed in 
United States of America. Entire 




S.in 1 rancisco (.A 94103 

(IIS) UO-8S-17 


222 


Classified Ads 


contents copyright © 1977 by BYTE 




224 


BOMB 


Publications Inc. All rights reserved. 


' 


' 


224 


Reader Service 







BYTE December 1<177 



This month's cover is based on Kurt 
J Schmucker and Robert M Tarr's 
article, The Computers Of Star Trek 
(page 12). It is an appropriate topic 
for computer people, many of whom 
are science fiction aficionados, 
Trekkies, and users of the Force. The 
theme, interpreted by artist Robert 
Tinney, is: What would happen if the 
crew of the Enterprise visited a holo- 
graphic museum of ancient technology 
that had an exhibit devoted to per- 
sonal computing, circa 1977? Robert 
used Willard Nico and his 8080 based 
computer system with dual floppy 
disk, video terminal and DECwriter as 
models for the diorama. The cassette 
recorder, made obsolete by the disk 
drives, is shown unused. 

The floppy disk can give your 
computer the extra storage power 
needed for many applications such as 
advanced music and voice synthesis, 
artificial intelligence and robotics. 
Find out more about the ubiquitous 
floppy in Ira Rampil's A Floppy Disk 
Tutorial. 

Microprocessor operation code 
structure is sometimes incompletely 
documented, as is demonstrated in 
two articles: Gerry Wheeler's commen- 
tary on Undocumented M6800 In- 
structions and H T Gordon's commen- 
tary on The XF and X7 Instructions of 
the MOS Technology 6502. The 
effects of the undocumented op codes 
are interesting, even if you don't want 
to use them as part of normal coding 
practices. 



In a neat 
and practical 
article A $1 
Some Music 
Nuts) provid 
square wave 
channels as a 
of the theory 



combination of tutorial 
information, Bill Struve's 
9 Music Interface (and 
Theory for Computer 
es a way to generate 
musical tones for four 
result of an investigation 
of harmony. 



Transform your computer into a 
powerful 8 channel 3 1 /4 digit voltmeter. 
Steve Ciarcia shows you how in the 
latest installment of Ciarcia's Circuit 
Cellar. Let a BASIC program do all 
your calculations and get results that 



compare favorably with expensive 
digital voltmeters. Read On a Test 
Equipment Diet? Try an 8 Channel 
DVM Cocktail! 

Once upon a time, Jack and the 
Machine Talked; now Jack and his 
friendly 6800 have moved onto better 
things like debugging the programs 
issued by the assembler described in an 
earlier article. Turn to Jack and the 
Machine Debug by Grappel and 
Hemenway for a humorous (but 
tutorial) account of the development 
of a program called Tracer 6800 which 
uses software breakpoint techniques to 
provide an instruction by instruction 
machine code execution trace on a 
terminal or hard copy device. 



In This BITE 



To write well conceived programs 
easily, you have to design them in a 
disciplined and structured fashion. 
David A Higgins begins describing one 
useful method in the article on Struc- 
tured Programming with Warnier-Orr 
Diagrams, Part 1: Design Methodo- 
logy. 

As a second installment in a series 
of articles, Stephen P Smith turns to 
the problems of motion in which 
effects of the motion's current state 
feed back into the model. Turn to 
Simulation of Motion: An Automobile 
Suspension for a more detailed model 
which features damping (shock absor- 
bers) and bounce (springs) in response 
to external conditions (bumps in a 
road). 

The use of interrupts allows you to 
keep track of several devices at the 
same time. If you are not familiar with 
the use of interrupts read Robert Wier's 
article, A Little Bit on Interrupts. 

Constructing and interfacing a Poly- 
Morphics Video Interface is described 
by Wayne Wenztaff. Wayne describes 
his experiences with his video interface 
and how he modified a television set 
for use as a monitor in Using the Poly- 
Morphics Video Interface. 



Multiprogramming allows your 
computer to seemingly perform several 
tasks at the same time. It can save pro- 
cessor time by always having a pro- 
gram executing while another pro- 
gram waits for some type of input. 
Prof Irwin Lahasky's article, Multipro- 
gramming Simplified, explains the 
basics of multiprogramming. 

Many experimenters, including the 
editors of this magazine, have dis- 
covered the real advantages of pur- 
chasing used but eminently usable 
gear. Sol Libes gives valuable pointers 
to frugal hackers in Where to Get 
Bargains in Used Computer Equip- 
ment. 

As personal computer users acquire 
more and more memory for their 
processors, thoughts can be turned to 
more powerful languages for the ex- 
pression of programs. Gary McGath 
feels that small computer users should 
have nonnumeric, symbolic data 
manipulation abilities in their lang- 
usages. In A Look at LISP, Gary de- 
scribes one of the candidates for such 
symbolic manipulations in the small 
computer. 

Relative addressing allows jumps 
within a program to be made indepen- 
dent of the location of the program 
in memory address space. But what 
about such position independent 
code in processors like the 8080 which 
have no relative branch addressing? 
Read James P Gaskell's Relative Ad- 
dressing for the 8080 and learn how to 
simulate this feature for the 8080. 

Handshaking is the process of coor- 
dinating two asynchronous processes, 
such as serial communication opera- 
tions and a program. In a short article, 
Thomas McGahee shows how to Save 
Software: Use a UART for Serial IO. 

What do you do if you're an ocean- 
ographer and want a microprocessor 
to help collect data at the bottom of 
the sea for eight weeks? One solution 
is to use a watertight titanium sphere 
and a battery powered processor. 
Henry Lahore shows how he did it 
in A User's Report on Intercept Jr. 



4 BYTE December 1977 



FOUR STAR 
PERFORMERS 
HE S-100 BU 




Meet The North Star Family 



THE NORTH STAR S-100 FAMILY— four high perform- 
ance products at attractive low prices. Our boards are 
designed for use in the North Star HORIZON computer 
and other S-100 bus computers using 8080 or Z80 proces- 
sors. Visit your computer store for a demonstration, or 
write for our free color catalog. 

16K RAM BOARD 

No other S-100 bus memory can match the performance 
of the North Star 16K RAM at any price. This low-power 
board has been designed to work at full speed (no wait 
states), even at 4MHz with both Z80 and 8080 systems. 
Memory refresh is invisible to the processor, bank switch- 
ing is provided and addressability is switch selectable in 
two 8K sections. Best of all, a parity check option is avail- 
able. Kit: $399. Assembled: $459. Parity Option — kit: 
$39. Assembled: $59. 

MICRO DISK SYSTEM 

The North Star MDS is a complete floppy disk system with 
all hardware and software needed to add floppy disk 
memory and a powerful disk BASIC to S-100 bus com- 
puters. The North Star MDS is widely considered one of 
the best designed and most complete S-100 bus products 



available. The MDS includes the S-100 interface board 
with on-board PROM for system startup, Shugart mini- 
floppy disk drive, cabling and connectors, and DOS and 
BASIC software on diskette. Kit: $699. Assembled: $799. 
Additional drive — Kit: $400. Assembled: $450. Single 
Drive Cabinet: $39. Optional Power Supply: $39. 

Z80A PROCESSOR BOARD 

The North Star ZPB brings the full speed, 4MHz Z80A 
microprocessor to the S-100 bus. Execution is more than 
twice the speed of an 8080, and the ZPB operates in sys- 
tems both with and without front panels. The ZPB in- 
cludes vectored interrupts, auto-jump startup, and space 
for 1K of on-board EPROM. Kit: $199. Assembled: $259. 
EPROM Option — kit: $49. Assembled: $69. 

HARDWARE FLOATING POINT BOARD 

If you do number crunching, then this board is for you. 
The FPB performs high-speed floating point add, subtract, 
multiply and divide with selectable precision up to 14 
decimal digits. Arithmetic is up to 50 times faster than 
8080 software, and BASIC programs can execute up to 
10 times faster. A version of North Star BASIC is included. 
Kit: $259. Assembled: $359. Prices subject to change. 



North Star 



Computers 



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



Circle 83 on inquiry card. 



BYTE December 1977 



Editorial 



Is PASCAL 
the Next 
BASIC? 



By Carl Helmers 



One of the most interesting phenomena 
in the academic world of computer science 
of late is the language PASCAL. This lang- 
uage is the subject of much intense activity, 
and is rapidly gaining acceptance as the lang- 
uage of choice for training and illustration 
of computer concepts to new students of 
the field. Characteristic of this phenomenon 
is the existence of on the order of 100 
different implementations of the language 
for various computers and a very active 
"PASCAL User's Group." 

PASCAL began in the late 1960s as a 
tutorial experiment of Professor Niklaus 
Wirth: a method of teaching the concepts 
of programming in a systematic fashion 
using a consistent and highly structured 
program representation. Historically, 
PASCAL has antecedents in the ALGOL 
language but with the addition of con- 
cepts such as record and file structures 
which were missing in ALGOL'S definition. 
The following passage by Professor Wirth 
gives the essence of PASCAL'S purposes. . . 

The development of the language 
PASCAL is based on two principal aims. 
The first is to make available a language 
suitable to teach programming as a system- 
atic discipline based on certain fundamental 
concepts clearly and naturally reflected by 
the language. The second Is to develop 
implementations of this language which are 
both reliable and efficient on presently 
available computers. 

The desire for a new language for the 
purpose of teaching programming is due to 
my dissatisfaction with the presently used 
major languages whose features and con- 
structs too often cannot be explained logi- 
cally and convincingly and which too often 
defy systematic reasoning. Along with this 
dissatisfaction goes my conviction that the 
language in which the student is taught to 
express his ideas profoundly influences his 
habits of thought and invention, and that 
the disorder governing these languages 
directly imposes itself into the program- 
ming style of the students. 

There is of course plenty of reason to be 
cautious with the introduction of yet 
another programming language, and the 
objection against teaching programming 
in a language which is not widely used and 
accepted has undoubtedly some justifi- 
cation, at least based on short term com- 
mercial reasoning. However, the choice of a 
language for teaching based on its wide- 



spread acceptance and availability, together 
with the fact that the language most widely 
taught is thereafter going to be the one 
most widely used, forms the safest recipe for 
stagnation in a subject of such profound 
pedagogical influence. I consider it therefore 
well worthwhile to make an effort to break 
this vicious circle. [Quoted from the second 
edition of the PASCAL User Manual and 
Report, by Kathleen Jensen and Niklaus 
Wirth, Springer Verlag, New York, 1974, 
page 133.] 

Since the time of PASCAL'S creation by 
Professor Wirth, the language has become 
widespread, primarily because his tutorial 
purposes also happen to coincide with what 
one might want in a systems and appli- 
cations programming language used in 
software development. In fact acceptance 
has been sufficiently widespread that there 
now exist implementations for some of the 
more common microprocessors in the 
personal computing field (using the PASCAL 
User's Group Newsletter as a source for 
this information in a listing of implemen- 
tations in issue #8 recently published). What 
are the ramifications of PASCAL as it might 
affect personal computing users? 

At the present time, outside of low level 
assemblers, the personal computing field is 
dominated by one language, BASIC. It is the 
high level language of choice for users of the 
equipment and for manufacturers who sell 
to the users of the equipment. Any at- 
tempted personal computing system design 
these days must come up to the standards 
of a reasonable BASIC (such as the Micro- 
soft BASIC used by MITS, OSI, Commodore 
and others) or it will be at a relative dis- 
advantage in the marketplace. This domi- 
nance of BASIC as a language is a fact of life 
in this field. A decade and a half of language 
design evolution has occurred since BASIC 
first came on the scene, yet it still dominates 
at the user level. Why? 

In a casual enumeration mode, I can list 
several fairly obvious and interrelated 
reasons why this has become the case; out 
of these reasons will come a similar scenario 
for development of PASCAL as a future 
option for personal computers. 

• Everybody knows BASIC. 

• BASIC has a manufacturer indepen- 
dent standard definition. 

• Lots of implementations of BASIC are 
available. 

• Much personal use applications soft- 
ware already exists in BASIC. 

• BASIC is friendly. 



6 BYTE December 1977 



a 




corporation 



I 



J 



I 



i 



• 



The most cost effective 

products for your 

microcomputer. 



RM64 
64K bytes 




THE EXTENSYS 

RM64 MEMORY BOARD 

provides the most cost 
effective system memory 
found in the industry. 
The RM64 provides this because 
of our low cost per byte when 

compared to our competition plus the increased reliability of a 
single board over multiple boards containing less memory. The 
board is S-100 bus compatible making it usable in over a dozen 
different microcomputer systems including ALTAI R and IMSAI. 
The RM64 is available in four configurations: 16K, 32K, 48K, or 
64K bytes of memory all on ONE board. The board is completely 
assembled, checked out and burned in for over 100 hours prior 
to shipment. This complete testing procedure allows Extensys 
to provide a one year warranty on parts, labor and materials 
(assuming no misuse of the board occurs). 
On board hardware is provided for: 

- Individual memory bank address selection in 8K byte 
increments; 

■ Complete dynamic refresh logic without loss of processing 
efficiency while programs are running; 

■ Board select logic which allows more than one 64K byte board 
per system; 

- S-100 bus compatibility including on-board voltage regulator; 

■ Memory overlap which allows memory sharing the same address 
space to coexist in the same system; 



Write protection in 16K 
blocks; and 

Fully socketed for 64K 
allowing 16K, 32K, and 48K 
versions to be upgraded at 
a later date. 



Delivery of the RM64 is 15 to 30 Days upon 
receipt of order. Prices for the RM64 include shipping and handling 
prepaid in the continental United States. 

Extensys Corporation is also announcing several other new, 
highly cost effective products. The FOS100 Floppy Disk System 
is based upon the Extensys File I/O Board and incorporates 
either one or two dual PerSci Model 277 floppy disk drives. The 
FOS100 System also includes the Extensys Multiprocessor 
Operating System, EMOS. EMOS provided many large system 
capabilities, such as multi-processor, multi-user operation and 
individual file privacy based on user supplied passwords. The 
MM 16 Memory Manager interfaces to RM64 memory boards to 
create a megabyte or more of memory and adds full DMA 
capability to the FOS100 Floppy Disk System. 



Extensys Fully Assembled and Tested Prices 



RM64-16 
RM 64-32 
RM64-48 
RM 64-64 
16K Upgrade 



$ 595 
$ 895 
$1195 
$1495 
$ 375 



FOS100-2 
FOS100-4 

MM16 



$2880 
$4680 

$ 295 



Circle 52 on inquiry card. 

sxfensys 

^^■■^corporation 
380 Bernardo Avenue 
Mountain View, CA 
94040 
(415) 969-6100 



Articles Policy 

BYTI. Is continually seeking quality 
manuscripts written by individuals who 
are applying personal computer systems, 
designing suth systems, or who have 
knowledge which will prove useful to 
our readers. I or a more formal descrip- 
tion of procedures and requirements, 
potential authors should send a self- 
addressed, stamped envelope to BYTE 
Authors' Guide, 70 Main St, Peter- 
borough NH 03458. 

Articles which are accepted are 
purchased with a rate ot up to $50 per 
magazine page, based on technical 
quality and suitability for BYTE's 
readership. 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.* 



At a superficial level, these reasons are 
part of a self-sustaining loop of circular 
reasoning: Since BASIC is friendly, every- 
body wants to know BASIC; since so many 
people learn BASIC, there tend to be lots 
of implementations. Much software for 
applications has been written in BASIC. 
Since a manufacturer independent standard 
for BASIC exists, conversion of programs 
from one machine to another is simplified, 
thus making widely available software useful 
to people, and so on ... ad infinitum. . . 
This is Professor Wirth's "vicious circle." 

Like many similar conventions, BASIC 
has been bootstrapped into the public 
awareness over time, and has acquired a 
certain inertia of its own that will keep it 
going for years in the same way that 
FORTRAN seems to live forever. Let's 
examine the reasons in this list, and in so 
doing compare BASIC to PASCAL, a lang- 
uage which is quite possibly in an earlier 
stage of a similar bootstrap cycle and may 
indeed become a much demanded "language 
of choice" for the user community. Vicious 
circles can have positive aspects: it all 
depends on which circle one has established. 
A contention I make is that the same sort 
of "vicious circle" can be, and indeed is 
being established for the language PASCAL. 

Everybody Knows BASIC. 

BASIC historically was introduced at a 
time when "big" computers dominated the 
field, and there was a need to partition the 
activities of such computers into small 
individually oriented packages for purposes 
of making the "big" computer available 
to many people. This partitioning succeeded 
admirably: when professor X (or Y or Z) 
wanted to make real exercises in program- 
ming available to students, BASIC was 
frequently employed, due to its availability 
and interactive simplicity. Like any tech- 
nology, BASIC did not start out in an 
"everybody knows" state, but it got that 
way through its early availability and no 
small push from pedagogues of computer 
science. 

Today, the teachers of programming are 
tending to push PASCAL as the language of 
choice for teaching "good" programming 
concepts. The PASCAL User's Group is 
evidence of the number of academic people 
who support the ideas of Professor Wirth to 
the extent of implementing their own local 
PASCAL systems for educational purposes. 
(This is typically clone using a number of 
techniques of machine independence con- 
ceived by early implcmentors of PASCAL 
for purposes of spreading its implemen- 
tations.) One result of this availability is that 



PASCAL is becoming the tool of teaching 
programming concepts which Professor 
Wirth envisioned . . . and the beginnings of 
the "everybody knows" state for PASCAL 
are already evident. 

BASIC Has a Manufacturer Independent 
Standard Definition. 

This comment is nominally true of 
BASIC. Work is indeed in progress on an 
ANSI standard for BASIC, and there is 
of course the original Dartmouth College 
definition of BASIC. The fact that people 
are trying to define a standard form of 
BASIC, however, is a result of the fact 
that the implementations of BASIC have 
been somewhat subject to variations. In 
the personal computing world, there are 
numerous differences at a detail level 
between language extensions of various 
BASIC interpreters, some as basic as the 
variations in string and array handling 
in various forms of minicomputer BASIC. 

BASIC language implementors are no 
different from implementors of a number 
of languages, often succumbing to the 
"wouldn't it be neat if" syndrome and 
throwing in features not part of the original 
definitions of the language. The hitch with 
such featurism is that if anyone uses the 
features, the programs written with the 
feature may no longer be portable. 

Of course PASCAL would be no more 
immune to featurism on the part of imple- 
mentors; at least that would be an obvious 
contention since there is no fundamental 
difference between people who implement 
BASIC and people who implement PASCAL. 
But before making such a statement, an 
examination for the motives of implemen- 
tation featurism should be made. BASIC 
in its original definition is a very limited 
and parochial language, one which represents 
a viewpoint of quick implementation of 
programs with limited 10 formatting, 
standard floating point operations, and no 
intent to service large or complicated 
applications. Thus, many of the "feature" 
temptations presented to BASIC imple- 
mentors are a result of attempts to correct 
the deficiencies of BASIC by adding omitted 
items (for example, strings, implemented 
differently in various BASIC interpreters). 

PASCAL, on the other hand, by having 
a definition which is more general in scope 
than BASIC (although by no means compli- 
cated to use in simple problems) helps cut 
down these "feature" temptations on the 
part of its implementors. One basic example 
of this slightly more general definition is 
in PASCAL'S inclusion of extensible data 

Continued on page 184 



BYTE December 1977 



MBS 2K/4K EPPOM Board 
Kit less EPROM * 64.95 

Kit with 8-1702A (1 jjs] 104.95 
Kit with 16-1702A0 fis) 144.95 




And, we build just 

about any board you'll 

want for S-100 bus expansion. 

When you're thinking about expansion 
look to the Solid State Music "blue 
boards:' You'll find quality and user versa- 
tility built into every one allowing you to ex- 
pand your system in whatever direction you 
choose . . . and, we've been doing it for years. 

Right from the start we design our boards with our 
customers in mind. Extra features are added that will 
aid in expansion, not hinder program design and devel- 
opment. All first class parts are used and they're checked 
to make sure you have years of trouble free operation. Plus, 
every kit comes complete with assembly instructions and user 
information to make assembly a snap and operation a pleasure. 

Talk to your dealer today to get more facts about the "blue boards" 

or write direct. Compare prices, quality and features. You'll find out 

why more and more people are using Solid State Music "blue boards" 

for their S-100 bus expansion. 



104 2-Parallel and 2-Sorial 
Inpul/Output Board 



Assembled boards also a 
al slightly higher prices 



SPECIAL BONUS OFFER 
An 8080 Monitor for 
1/2 price!!! 

If you buy any of the Solid State Music 
kits or assembled boards you'll receive 
a SSM8080 Monitor complete with ei- 
ther eight 1702's or two 2708's and over 
50 pages of software information. A 
$49.95 retail value . . . just $25.00. Hurry! 



CLjbercDm 




Circle 106 on inquiry card. 



Solid State Music 
2102A Walsh Avenue 
Santa Clara, CA 95050 
(408) 246-2707 



We're the blue boards 




DON'T KNOCK 
HOMEBREW 

I just happened on Edgar Cohen's 
letter titled "Homebrew" (August 1977, 
page 12). He feels as I do, that we as 
readers should be looking at more 
homebrew computer articles in BYTE. 
My motive for writing was spurred by 
your follow-up comments. 

We in amateur radio have been home- 
brewing it for years, even before com- 
mercial equipment was available. And 
much of the present day homebrewing 
is for economic reasons. At age 13, I 
wouldn't have had my own amateur 
radio station had it not been for home 
built equipment, much of it coming 
from construction articles in publica- 
tions like BYTE. This same rule applies 
to test equipment I've built (frequency 
counter) and I think it applies to com- 
puters as well. 

As a matter of fact, the only reason 
I don't have a computer yet is because 
practically everything on the market is 
out of my price range. To top if off, 
there are very few good surplus buys 
available, another way we in amateur 
radio get by cheaply. 

I think you are wrong about the time 
invested in homebrew equipment. I and 
many other readers would gladly invest 
the time, if only the technology were 
there to give us a shove in the right 
direction. Certainly, the parts aren't ex- 
pensive at all and much can be saved by 
wire wrapping instead of using ready to 
go printed circuit boards made up and 
sold by someone else. 

Gary L Montgomery 

WB3GBQ 

Rockville MD 

In reply, let me reiterate the fact that 
I am a confirmed homebrewer, always 
trying to get the best system by my own 
viewpoints on the subject of design. But 
perhaps the reason I don't view the 
method as cost effective is the remem- 
brance of money spent to get one of the 
first Motorola 6800 chips ($360 for an 
XC6800 in early 1975) and similar 
purchase of 4 K static memory chips 
ahead of later price reductions. I've 
built a system with close to 800 TTL 
and MOS integrated circuits in the main 
processor modules, a system which, 
much to my homebrew surprise, works 
quite reliably. So I can certainly attest to 
the effectiveness of the approach. . .CH 



ANOTHER VIEW OF TECHNOLOGY'S 
USEFULNESS 

I am writing to BYTE in response to 
previous letters by Robert Garner (Ask 
BYTE, May 1977) and Nelson Ingersoll 
(Letters, September 1977) about the 
moral future and purpose of the com- 
puter. 

In response to Mr Garner's letter, the 
real hazard that results from computers 
being "plugged into applications right 
and left" arises not from intangible and 
poorly defined moral abuses that might 
result from their introduction, but rather 
from the standpoint of cost effective- 
ness. Computers are being considered for 
such purposes as maintaining home food 
recipe files and keeping track of food 
inventory, where it is much simpler and 
cheaper to perform these tasks the old- 
fashioned way. I agree with Mr Garner 
that computers could be misused, but 
he seems to promote the same general 
hysteria that is currently plaguing the 
new science of genetic engineering. True, 
along with every new technological 
development comes a host of possibi- 
lities of misuse, but surely these can be 
minimized so that we could reap the 
maximum benefits from it? Sanctimo- 
nious morality does nothing but help 
the public to concentrate solely on the 
deficiencies of a technological develop- 
ment and destroy it before it has had a 
chance to prove itself. 

Mr Ingersoll's problem seems to lie 
in the fact that he sees the computer as 
a device that will replace all of our 
duties as human beings and turn us into 
nonthinking, passive entities. I primarily 
see the computer as a tool, as a device 
that will aid man and not replace him. 
The "automation of physical and mental 
drudgery" does not relieve man of any 
responsibility to be productive and to 
think, but rather it frees him from 
simpler tasks (drudgery) in order to be 
the most creative and achieve the 
greatest self-satisfaction; man is only 
utilizing the feature that distinguishes 
him from the rest of the animal king- 
dom; in this instance, a decided advan- 
tage. I argue that performing simple and 
thoughtless tasks Is drudgery. The "box" 
analogy is poor in that it presupposes 
it took no effort to design, build, and 
program the computer and robot to 
make the box. What Mr Ingersoll over- 
looks is that to accomplish this the man 

Continued on page 19 



I IMH^^^M ^ 


limpak ^™™ ZED 


ajrr^jw.Kjj.iwi-w.w^i 


ALABAMA 




Mobile 


Lafayette Radio Electronics 


CALIFORNIA 




Berkeley 


Al Lasher Electronics 


Monterey 


Zackit 


Palo Alto 


Zack Electronics 


Sacramento 


The Radio Place 


Sacramento 


Zackit 


San Carlos 


J&H Outlet Store 


San Francisco 


Zack Electronics 


■' Sunnyvale 


Sunnyvale Electronics 


Vallejo 


Zackit 


Walnut Creek 


Byte Shop Computer Store 


FLORIDA 




Tampa 


Microcomputer Systems 


GEORGIA 




Atlanta 


Atlanta Computer Mart 


HAWAII 




! Aiea 


Delcoms Hawaii 


Honolulu 


Integrated Circuit Supply 


ILLINOIS 




Evanston 


Itty Bitty Machine Co. 


INDIANA 




East Chicago 


Aero Electronics Corp. 


Hammond 


Quantum Computer Works 


LOUISIANA 




Baton Rouge 


Davis Electronic Supply Co. 


MARYLAND 




Baltimore 


Computer Workshop of Baltimore 


Rockville 


Computer Workshop 


MASSACHUSETTS 




Medford 


Tufts Electronics 


MICHIGAN 




Lansing 


Fulton Radio Supply Co. 


MINNESOTA 




Duluth 


Northwest Radio of Duluth 


Eagan 


Dacom Amateur Radio Ctr. 


MISSOURI 




Parkville 


Computer Workshop of Kansas City 


MONTANA 




Billings 


Conley Radio Supply 


NEBRASKA 




Lincoln 


Altair Computer Center 


NEW JERSEY 




Hoboken 


Hoboken Computer Works 


NEW YORK 




Albany 


Fort Orange Electronics 


New York 


Computer Mart of New York 


New York 


The Computer Store 


Troy 


Trojan Electronics 


White Plains 


The Computer Corner 


OHIO 




Cincinnati 


Digital Design 


OKLAHOMA 




Oklahoma City 


Bits, Bytes & Micros 


OREGON 




Beaverton 


Altair Computer Center 


PENNSYLVANIA 




Murraysville 


Computer Workshop of Pittsburgh 


RHODE ISLAND 




Cranston 


Jabbour Electronics City 


Pawtucket 


Jabbour Electronics City 


TENNESSEE 




Memphis 


Sere-Rose & Spencer Electronics 


Oak Ridge 


Computer Denn 


TEXAS 




Dallas 


Computer Shops Inc. 


Houston 


Altair Computer Center 


Houston 


Interactive Computers 


VIRGINIA 




Alexandria 


Computer Hardware Store 


Springfield Computer Workshop of Nonhern Virginia 


WASHINGTON 




Bellevue 


Altair Computer Center 


Longview 


Progress Electronics 


WEST VIRGINIA 




Morgantown 


The Computer Comer 


Morgantown 


Electro Distributing Co. 


CANADA 




Alberta, Calgary 


The Computer Shop 


FOREIGN 




France, Paris 


Computer Boutique 




yhiir Jimpaii mnAYi 




JIM-PAK, 1021 HOWARD AVENUE, 


SAN CARLOS, CALIFORNIA 94070 



10 



BYTE December 1977 



Circle 67 on inquiry card. 



ATTENTION DEALERS: 

Announcing 



electronic components 



One-Stop Component Center 



*0ver 200 quality items in- 
cluding integrated circuits, 
resistors, diodes, transis- 
tors, capacitors, connect- 
ors, switches, sockets, 
LEDs and Data Books 
covering all JIM-PAX® 
items. 

* Immediate delivery on all 
orders 

* Store display racks avail- 
able 

* Stock rotation and return 
policy 

* Direct mail program avail- 
able from list of active 
electronic buyers in dealers' 
area. 

* National advertising cam- 
paign in leading electronics 
magazines to include list 
of qualifying dealers 

* Nationally known manu- 
facturers' products at prices 
every dealer can afford 

* Guaranteed products 

* Standard industry part 
numbers 



y . 



im-pak 

EEBBSSBEH 
Component Center 




A component line of proven 
sellers developed for the 
independent dealer. Ideal for 
computer shops, school 
stores, electronic dealers, 
hobby shops, or any location 
where there is a potential 
market for electronic sales. 

A product line which sup- 
plies most of your needs 
from one distributor with a 
reputation for fast and 
efficient service. Attractive 
and compact display racks 
make initial installation of 
the JIM-PAK® line easy. 

Your customers deserve the 
best. Now you can profitably 
retail name brand compon- 
ents at competitive prices. 
Be the first in your area to 
announce and sell the JIM- 
PAK® line. Write or call 
today. 



© FOR MORE INFORMATION AND PRICING SCHEDULE CONTACT: 

, a division of James Electronics, 1021 Howard Avenue, San Carlos, California 94070, (415) 592-8097 

Circle 67 on inquiry card. u 1 * TE DecemWr 1977 11 



The Computers of Star Trek 




About the Authors 

Kurt J Schmucker has been employed as a mathematician at the Depart- 
ment of Defense in Washington DC since 1974. He received an MS in mathe- 
matics in 1974 from Michigan State Univerisity, and an MS in computer 
science from Johns Hopkins University in 1977. Mr Schmucker is also cur- 
rently an advanced special student in the computer science department of the 
University of Maryland. He is a member of Phi Beta Kappa, the Mathematical 
Association of America, and the ACM. 

Robert M Tarr has been employed as an electronics engineer at the Depart- 
ment of Defense in Washington DC since 1974. He received an MS in mater- 
ials science in 1972, an MS in electrical engineering in 1973, and an engineer 
degree in electrical engineering in 1975, all from the University of Southern 
California. He is currently pursuing a PhD in electrical engineering with a 
computers major at the University of Maryland. Mr Tarr is a member of Phi 
Beta Kappa, Eta Kappa Nu, and the IEEE. 



Introduction 

The world of Star Trek represents many 
things to many people. To the majority it is 
an escape into a time when man is once 
again challenged by the vastness of his 
known universe and can assume the now 
lost role of the explorer of unknown ter- 
ritories with their inherent, but also un- 
known, dangers. To others it is the tale of 
man's final triumph over his own inhuman- 
ity; a world where race (human, humanoid 
or other), color and background are not 
points of contention and disunity, but are 
rather different reference points from 
which the society can grow together in 
peace. In this case "infinite diversity in 
infinite combinations" yields a whole which 
is greater than the sum of its parts. To yet 
others it is a time when science and the 
mysteries of nature are more clearly under- 
stood, an understanding which brings forth 
a technology beyond one's wildest 
imagination. 



12 



BYTE December 1977 



Whatever view one takes of the Star Trek 
phenomenon, one can ask how closely our 
present culture approaches that ideal, be it 
in the area of science, human understanding, 
or man's view of himself in his world. This 
essay will try to measure one such gap 
between our own world and that of Star 
Trek: the state of computer technology. 

Star Trek, with its fantastic starship the 
Enterprise, presents a level of computer 
science and computer engineering predicted 
by many science fiction writers. 1 ' 2 ' 3 ' 4 ' 5 
Problems like voice 10, automatic program- 
ming in a natural language and computer 
analysis of complex, ill-defined problems 
are handled routinely. How close is the 
present technology to solving these problems? 
How soon can the computers of the Enter- 
prise be constructed? Let us try to answer 
these questions. 

Very little, if any, technical information 
is available on the Enterprise computers. 
Only vague, nontechnical statements are 
ever made by the Captain or the Science 
Officer. 

"Deep in the heart of this ship are our 
computer banks. They operate the entire 
ship. They also contain the whole of 
human and humanoid knowledge. They 
are indisputably reliable. Our lives depend 
on them. "6 

"In a matter of a few seconds we can 
obtain an answer to any factual question, 
regardless of its complexity, "i 

No references are ever made to its physical 
configuration. Is it in fact one large central 
processor with terminals and perhaps ter- 
minal concentrators scattered throughout 
the ship, or a number of smaller optimized- 
for-special-functions processors loosely 
coupled through a shipwide network? The 
portions of the Star Fleet Technical Manual 
which recently have been made available to 
other than Star Fleet personnel do not in- 
clude the "Ship's Computers Systems 
Schematics" section or the "Ship's Com- 
puters Maintenance Schematics" section. 8 

This essay will speculate on various 
hypotheses supported by the user level in- 
formation available, and will attempt to 
show the hardware and software possibilities. 

The Role of the Enterprise 

The world of Star Trek takes place in the 
late 22nd or early 23rd century. 9 ' 10 In that 
era the United Starship Enterprise is perhaps 
the second largest scientific and technical 
achievement resulting from the combined 
technologies of a unified portion of the 
Milky Way. 1 1 In the 22nd century a portion 
of the intelligent life forms of the galaxy 



have bonded together to form a union called 
the United Federation of Planets. It is a 
union more loose than the United States of 
America of the 19th, 20th and 21st cen- 
turies, yet stronger than the United Nations 
of the 20th century. 1 2 These planets occupy 
a significant portion of the Milky Way called 
the Treaty Exploration Territory, roughly 
a sphere centered on Sol with a radius of 
4750 parsecs (approximately 15,500 light 
years). The Articles of the Federation were 
the agreement which established this union. 
They authorized funds for the building of a 
Star Fleet to act as the armed, peace keeping 
force of the Federation. The Fleet would be 
designed and built using state of the art 
techniques. 

Included in this Star Fleet appropriation 
was an initial expenditure for 14 heavy 
cruiser starships, one to be named the 
Enterprise. These starships would be capable 
of extended duration patrol of the Treaty 
Exploration Territory and would be provided 
with weaponry and other capabilities enabling 
them to accomplish a myriad of possible 
tasks. 

A starship on patrol represented the 
Federation in all matters within its occupied 
quadrant of space. Its functions included 
military uses (defense of borders and moni- 
toring of intergalactic treaties with the 
Klingon and Romulan Empires, two other 




"Computer, I want a complete rundown of all references to the design of 
computer systems for Enterprise class ships in the first quarter century of 
BYTE magazine." 

"Yes, sir, but are you prepared for recursion?" 



BYTE December 1977 



13 



Federation-sized planetary unions, police 
actions (enforcement of Federation law, 
investigation of criminal actions), scientific 
missions (new explorations, data gathering 
assignments), diplomatic assignments, and 
missions of mercy. 

It may be of benefit to compare the star- 
ship Enterprise to its namesake of the 20th 
century, the United States aircraft carrier 
Enterprise, in order to get a grasp of the 
scope involved in the construction of such 
a vessel. The USS Enterprise, launched in 
1 960, was the largest warship of its time and 
represented state of the art technology. It is 
still operational today and is powered by 
ten nuclear reactors. The USS Enterprise 
can sail on one set of reactor cores for 
about ten to 13 years or roughly 300,000 
miles. It is provisioned every few weeks, 
however. The total cost of the construction 
and outfitting was 451 million dollars. In 
wartime, its complement is 5500 people 
consisting of 162 officers and approxi- 
mately 2940 1 enlisted men plus 2400 airmen 
attached to an air wing. 1 3 

The starship Enterprise, on the other 
hand, is powered by a controlled matter- 
antimatter reaction. 14 ' 15 

The total cost of the Enterprise was 50 
billion credits. 16 On patrol, its complement 
consists entirely of 430 officers with 43 
command (lieutenant and above) and 387 
crew (ensign rank). 17 Traveling at the speed 
of light (ie: Warp Factor 1, approximately 
1 /200th of its flank speed) the Enterprise 
can travel for 18 years (as measured by a 
calendar traveling aboard the Enterprise!) 
without refueling or taking on additional 
provisions. 18 

Computer Uses and Capabilities of the 
Enterprise 

An enterprise as complex as a starship 
requires a vast amount of computer sup- 
port. Many of the routine tasks, such as 
monitoring of life-support systems, food 
synthesis and turbolift control (a vertical 
and horizontal elevator used for intraship 
transportation) are automatically maintained 
and controlled by the ship's computers. 
These are manually controlled only during 
an emergency. 

Even more demanding and less well- 
defined tasks are routinely delegated to the 
ship's computers. The computers can activate 
the ship's alert systems and initiate the 
deflector shields (a set of very sophisticated 
defensive force shields which block matter 
and selective energy transmission) upon 
analysis from the ship's sensors. It appears 
that only a portion of the ship's vast amount 
of sensory data is routinely patched through 



the computer, since it is often instructed 
to "tie in to all ship's sensors" and provide 
the command staff with an analysis of 
unknown phenomena. 1 9 ' 20 ' ] 

If most of the Enterprise computing 
power resides in a central processing unit, 
this may point to a limitation in the com- 
puter's processing power. Perhaps if all data 
from all sensors were routinely processed 
there would be insufficient computing 
power to perform the remaining essential 
functions. If, on the other hand, there is a 
network of processors, then it may be that 
the results of sensor input are not routinely 
passed to the central complex. 

Certain groups of sensors may be tied 
to local processors which perform the 
necessary functions, eg: activation of shields. 
The central processor complex does not 
routinely have need for these results unless 
correlation of the sensor data is required. 

Computer control of the weapons sys- 
tems (phasers and photon torpedoes) is also 
possible through analysis of sensor input, 
but it is not as accurate as computer assisted 
human control coupled with visual contact 
with the desired target. 22 This, too, may 
point to either a lack of sufficient com- 
puting power for timely analysis, or a lack 
-of— appropriate decision algorithms for this 
type of situafion. 

Another major use of the computer, 
perhaps the one most apparent to the casual 
observer, is information storage. The need 
for an immense data base can be clearly seen 
when one considers the role a starship plays 
in its patrol area. A starship captain acts 
autonomously from Star Fleet Headquarters 
in almost all aspects of his command. 23 As 
far as violations of Federation law are con- 
cerned, he is the judge and jury. In addition, 
the officers and crew often require instant 
access to the immense technical knowledge 
of the Federation in order to cope with new 
phenomena encountered in their patrols. 
This requires the existence of an immense 
interactive data base on the Enterprise 
itself. Because of the intergalactic distances 
involved, there can be no link to the com- 
puters at Star Fleet Headquarters or on 
Memory Alpha. Subspace communica- 
tions require time for transmission, too 
(often on the order of days). ' 6 

The vast amount of information stored in 
this data base is best appreciated by relating 
two incidents that happened on the Enter- 
prise. The first involved a small space cruiser 
traveling toward Ophiuchus VI without an 
identification beacon. Upon pursuit, the 
cruiser entered an asteroid belt. After 

Continued on page 172 



14 



BYTE December 1977 






HORI 

THE COMPLETE 



TER 






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, in- 
cluding 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); addi- 
tional 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 SYS- 
TEM 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 it Computers 

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



Circle 83 on inquiry card. 



BYTE December 1977 



15 



Introducing Apple II. 




i 



msaj'mvt***'"!*-" 




ii 




Curie 4 on muu 



The home computer that s ready 
to work, play and grow with you. 



Clear the kitchen table. Bring in the color 
T.V. Plug in your new Apple Ilf and connect 
any standard cassette recorder/player. Now 
you're ready for an evening of discovery in 
the new world of personal computers. 

Only Apple II makes it that easy. It's a 
complete, ready to use computer— not a kit. 
At $1298, it includes features you won't find 
on other personal computers costing twice as 

much. 




Features such as video graphics in 15 colors. 
And a built-in memory capacity of 8K bytes 
ROM and 4K bytes RAM -with room for lots 
more. But you don't even need to know a 
RAM from a ROM to use and enjoy Apple II. 
It's the first personal computer with a fast 
version of BASIC— the English-like pro- 
gramming language— permanently built in. 
That means you can begin running your 
Apple II the first evening, entering your own 
instructions and watching them work, even if 
you've had no previous computer experience. 

The familiar typewriter-style keyboard 
makes communication easy. And your pro- 
grams and data can be stored on (and re- 
trieved from) audio cassettes, using the built- 
in cassette interface, so you can swap with 
other Apple II users. This and other peri- 
pherals—optional equipment on most per- 
sonal computers, at hundreds of dollars extra 
cost— are built into Apple II. And it's 
designed to keep up with changing technol- 
ogy, to expand easily whenever you need it to. 
As an educational tool, Apple II is a sound 
investment. You can program it to tutor your 
children in most 
any subject, such 
as spelling, 



history or math. But the biggest benefit— no 
matter how you use Apple II — is that you and 
your family increase your familiarity with the 
computer itself. The more you experiment 
with it, the more you discover about its 
potential. 

Start by playing PONG. Then invent your 
own games using the input keyboard, game 
paddles and built-in speaker. As you experi- 
ment you'll acquire new programming skills 
which will open up new ways to use your 
Apple II. You'll learn to "paint" dazzling color 
displays using the unique color graphics com- 
mands in Apple BASIC, and write programs 
to create beautiful kaleidoscopic designs. 
As you master Apple BASIC, you'll 
be able to organize, index and 
store data on household fi- 
nances, income tax, 
recipes, and record col- 
lections. You can learn to 
chart your biorhythms, 
balance your checking ac- 
count, even control your home 
environment. Apple II will go as 
far as your imagination can take it. 
Best of all, Apple II is designed to grow 
with you. As your skill and experience with 
computing increase, you may want to add 
new Apple peripherals. For example, a re- 
fined, more sophisticated BASIC language is 
being developed for advanced scientific and 

mathematical 
applications. 
And in addi- 
tion to the 
built-in 
audio, video 






and game 
interfaces, 
there's 
room for 
eight plug-in 
options such as a prototyping board for ex- 
perimenting with interfaces to other equip- 
ment; a serial board for connecting teletype, 
printer and other terminals; a parallel inter- 
face for communicating with a printer or 
another computer; an EPROM board for stor- 
ing programs permanently; and a modem 
board communications interface. A floppy 
disk interface with software and complete 
operating systems will be available at the end 
of 1977. And there are many more options to 
come, because Apple II was designed from 
the beginning to accommodate increased 
power and capability as your 
requirements change. 

If you'd like to see for yourself 
how easy it is to use and enjoy 
Apple II, visit your local dealer for a 
demonstration and a copy of our 



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

SPECIFICATIONS 

• Microprocessor: 6502 (1 MHz). 

• Video Display: Memory mapped, 5 

modes— all Software-selectable: 

• Text— 40 characters/line, 24 lines 
upper case. 

• Color graphics— 40h x 48v, 15 colors 

• High-resolution graphics— 280hx 
192v; black, white, violet, green 
(16K RAM minimum required) 

• Both graphics modes can be selected 
to include 4 lines of text at the bottom 
of the display area. 

• Completely transparent memory 
access. All color generation done 
digitally. 

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

• Uses either 4K or new 16K dynamic 
memory chips 

• Up to 12K ROM (8K supplied) 

• Software 

• Fast extended Integer BASIC in 
ROM with color graphics commands 

• Extensive monitor in ROM 
•I/O 

• 1500 bps cassette interface 

• 8-slot motherboard 

• Apple game I/O connector 

• ASCII keyboard pqrt_ 

• Speaker 

• Composite 
video 
output j 




Apple II is also 

available in board-only 

form for the do-it-yourself hobbyist. Has 

all of the features of the Apple II system, 

but does not include case, keyboard, 

power supply or game paddles. $798. 

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

detailed brochure. Or write Apple Computer 
Inc., 20863 Stevens Creek Blvd. .Cupertino, 
California 95014. 

Circle 4 on inquiry card. 




apple computer inc. 



Order your Apple II now. 



from any one of the following authorized dealers: 



ALABAMA 

Computerland 
3020 University Dr. B.W. 
Hunlsville 539-1200 
The Compulet Center 
303 B. Poplar Place 
Birmingham 942-8567 

ALASKA 

Team Electronics 

Country Village Shopping Center 

700 E. Benson Blvd. 

Anchorage 276-2923 

Team Electronics 

404 E- Fireweed Lane 

Anchorage 272-4823 

Team Electronics 

1698 Airpnrt Way 

Fairbanks 456-4157 

ARIZONA 

Byte Shop 

813 N. Scottsdale Road 

Tempe 894-1193 

CALIFORNIA 

Computer Components 

5848 Sepulveda Blvd. 

Van Nuvs 786-7411 

Computerland 

11074 San Pablo Ave. 

El Cerrito 233-5010 

Computerland 

22634 Foothill Blvd. 

Hayward 538-80B0 

Computerland 

6840 La Cienega Blvd. 

Inglewood 776-8080 

Computerland 

24001 Via Fabricante 

Mission Vieio 770-0131 

Cnmputerland 

4233 Convoy Street 

San Diego 660-9912 

Computerland 

117 Frement St. 

San Francisco 546-1592 

Compoterland 

104 W. First Street 

Tustin 544-0542 

Byte Shop 

6041 Greenback Lane 

Citrus Heights 961-2983 

Bvte Shop 

2233 El Caraino Real 

Palo Alto 327-B080 

Byte Shop 

496 S. Lake Ave. 

Pasadena 

Byte Shop 

2626 Union Avenue 

San Jose 377-4685 

Byte Shop 

1200 W. Hillsdale Blvd. 

San Maten 341-4200 

Byte Shop 

3400 El Camino Real 

Santa Clara 249-4221 

Byte Shop 

2989 N. Main Street 

Walnut Creek 933-6252 

A-VIDD Electronics 

2210 Bellflower Road 

Long Beach 598-0444 

Computer Coontry 

2232 Salt Air Drive 

Santa Ana 832-9681 

Compoter Playgronnd 

6789 Westminster Avenue 

Westminster 898-8330 

Computer Store 

1093 Mission St. 

San Francisco 431-0640 

Electric Braio 

3038 N. Cedar Aye. 

Fresno 227-8479 

Raiobow Competing. Inc. 

10723 White Oak 

Granada Hills 360-2171 

Strawberry Electronics 

71 Glenn Way #9 

Belmont 595-0231 

COLORADO 

Byte Shop 

3464 S. Acoma St. 

Englewood 761-6232 

Team Electronics 

3275 28th Street 

Boulder 447-2368 

Team Electronics 

The Citadel 

Colorado Springs 596-5566 

Team Electronics 

107 S. College 

Fort Collins 484-7500 

Team Electronics 

Teller Arms Shopping Center 

2401 Worth Avenue 

Grand Junction 245-4455 

Team Electronics 

2045 Greeley Mall 

Greeley 356-3800 



COLORADO (continuedl 

Team Electronics 
1450 Main Street 
Longmont 772-7800 

Team Electronics 
1022 Constitution Road 
Belmont Plaza 
Poeblo 545-0703 

FLORIDA 

Byte Shop 

1044 E. Oakland Park Blvd. 

Ft. Lauderdale 561-2983 

Byte Shop 

7825 Bird Road 

Miami 264-2963 

GEORGIA 

Data Mart, Inc. 
3001 It. Folton Drive 
Atlanta 233-0532 

HAWAII 

Real Share 

190 S. King Street #890 

Honolulu 536-1041 

ILLINOIS 

Team Electronics 

Meadowdale Drive. Space 1A 

Carpentersville 428-6474 

Team Electronics 

Northgate Mall Shopping Center 

Decatur 877-2774 

Team Electronics 

Sandburg Mall 

1150 W. Carl Sandburg Drive 

Galesburg 344-1300 

Team Electronics 

Southpark Shopping Center 

4200 16th Street 

Moline 797-8261 

Team Electronics 

4700 Block -N. University Ave. 

Peoria 692-2720 

Team Electronics 

1714 Fifth Avenue 

Rock Island 786-9595 

Team Electronics 

321 01. Alpine Read 

Rackfprd 399-2577 

Team Electronics 

Woodlield MallF-119 

Schaumburg 882-5864 

Team Electronics 

2716 S. MacArthur Blvd. 

Springfield 525-8637 

Computerland 

50 t. Rand Road 

Arlington Heights 255-6488 

Compoterland 

9511 HI. Milwaukee Ave. 

Niles 967-1714 

Itty Bitty Machine Cumpany 

1316 Chicago Avenue 

Evanstnn 328-6800 

INDIANA 

The Data Domain 
2805 E. State Blvd. 
Fort Wayne 484-7611 
The Data Domain 
7027 Michigan Road 
Indianapolis 251-3139 

IOWA 

Team Electronics 
202 Main Street 
Ames 232-7705 
Team Electronics 
Duck Creek Plaza 
Bettendorf 365-7013 
Team Electronics 
4444 First Avenue N.E. 
Lindale Plaza 
Cedar Rapids 393-8956 
Team Electronics 
320 Kimberly Road 
Northpark Shopping Center 
Davenport 386-2588 
Team Electronics 
2300 Kennedy Road 
Dubuque 583-9195 
Team Electronics 
Room 120-Space 16 
The Mall 

Iowa City 338-3681 
Team Electronics 
2015 E. Fnurth Street 
Sioux City 252-4507 
Team Electronics 
K-0 Stockyards Station 
2001 Leech Avenue 
Sioux City 277-2019 
Team Electronics 
2750 University Avenue 
Waterloo 235-6507 

KANSAS 

Team Electronics 
215 W. Kaosas Avenue 
Garden City 276-2911 
Team Electronics 
14 S. Main Street 
Hutchinson 662-0632 



KANSAS Icontinuedl 

Team Electronics 
2319 Louisiana Street 
Lawrence 841-3775 
Team Electronics 
1132Westloop Shopping Center 
Manhattan 539-4636 
Team Electronics 
Space 81-A Mid-State Mall 
Salina 827-9361 
Team Electronics 
907 W. 27th Street Terrace 
Topeka 267-2200 
Team Electronics 
Towne East Square 
7700 E. Kellogg 
Wichita 685-8826 
Team Electronics 
791 N. West Street 
Wichita 942-1415 
Team Electronics 
"The Mall" on Harry Street 
Wichita 682-7559 
Barney & Associates 
425 N. Broadway 
Pittsburg 231-1970 

KENTUCKY 

Compoterland 
813 B Lyndon Lane 
Louisville 425-6308 
The Data Domain 
506H Euclid Avenue 
Lexington 233-3346 
The Data Domain 
3028 Hunsinger Lane 
Louisville 466-5242 

MARYLAND 

Computerland 

16065 Frederick Road 

Rockville 948-7676 

MASSACHUSETTS 

The Computer Store, Inc. 
120 Cambridge Street 
Burlington 272-8770 

MICHIGAN 

Team Electionics 

Delta Plaza Shopping Center 

Escanaba 786-3911 

Team Electronics 

M&M Plaza 

Menominee 864-2213 

MINNESOTA 

Team Electronics 

Ridgedale Mall 

12503 Wayzata Blvd. 

Minnetonka 544-7412 

Team Electronics 

204 Southdale Center 

Edina 920-4817 

Team Electronics 

1248-50 Eden Prairie Center 

Eden Prairie 941-8901 

Team Electronics 

207 Third Street 

Bemidii 751-7880 

Team Electronics 

Kandi Mall South Hwy 71 

Willmar 235-2120 

Team Electronics 

Crossroads Shopping Center 

St. Cloud 263-6326 

Team Electronics 

Cedar Mall 

Owatonna 451-7248 

Team Electronics 

Mesabi Mall 

Hibbing 263-8200 

Team Electronics 

Thunderbird Mall 

Virginia 741-5919 

Team Electronics 

Apache Plaza 

Silver Lake Road 

St. Anthony 789-4368 

Team Electronics 

1733 S. Robert Street 

West St. Paul 451-1765 

Team Electronics 

2640 Hennepin Avenue S. 

Minneapolis 377-9840 



MINNESOTA Icootinuedl 

Team Electronics 

465 Rice Street 

St. Paul 227-7223 

Team Electronics 

110 Sixth Avenue S. 

St. Cloud 251-1335 

Team Electronics 

6413 Lvndale Avenoe S. 

Mioneapplis 669-3268 

Team Electronics 

1311 Fourth St. S.E. 

Minneapolis 378-1185 

Team Electronics 

Malllewoorl Plaza 

3000 White Bear Avenoe 

Maplewood 777-3737 

Team Electronics 

Madison East 

Mankato 387-7937 

Team Electronics 

310 Grant Avenue 

Eveleth 749-6140 

Team Electronics 

Hat Mar Mall 

2100 N. Snelling Avenue 

St. Paul 636-5147 

Computer Depot 

3515 W. 70th Street 

Minneapolis 927-5601 

MISSOURI 

Team Electrnnics 
Biscavne fVlnll 
301 Stadium Blvd. 
Columbia 445-4496 
Electronic Components Intl. 
1306-B South Hwy 63 
Columbia 443-5225 

MONTANA 

Team Electronics 
613 Central Avenue 
Great Falls 852-3281 
Team Electronics 
1206 W. Kent 
Missoola 549-4119 
Computers Made Easy 
415 Morrow 
Bozeman 586-3065 

NEBRASKA 

Team Electronics 

148 Conestoga Mall 

Highway 281 & 13th Street 

Grand Island 381-0559 

Team Electronics 

2055 "0" Street 

Lincoln 435-2959 

Team Electronics 

304 S. 72nd Street 

Cedarnole Shopping Center 

Omaha 397-1666 

Team Electronics 

Bel Air Plaza 

12100 W. Center Road 

Omaha 333-3100 

Team Electronics 

Sunset Plaza Shopping Center 

Norfolk 379-1161 

Team Electronics 

The Mall 

1000 S. Dewey 

North Platte 534-4645 

NEW HAMPSHIRE 

Computermart 
170 Main Street 
Nashua 863-2386 

NEW JERSEY 

Cnmputerland 

2 De Hart Street 

Morristown 539-4077 

Compotermart 

501 Roote 27 

Iselin 2B3-0600 

NEW YORK 

Computerland 
1612 Niagara Falls Blvd. 
Buffalo 836-6511 
Computerland 
225 Elmira Road 
Ithaca 277-4888 
Co-op Electronics 
9146 Main Street 
Clarence 634-2193 



NORTH CAROLINA 

Byte Shop 

1213 Hillsborough St. 

Raleigh 833-0210 

NORTH DAKOTA 

Team Electronics 

2304 E. Broadway 

Bismarck 223-4546 

Team Electronics 

West Acres Shopping Center 

Fargo 282-4562 

Team Electronics 

1503 11th Avenue N. 

Grand Forks 746-4474 

Team Electronics 

209 Uth Avenue S.W. 

Minot 852-3281 

Team Electronics 

109 Main Street 

Williston 572-7631 

OHIO 

The Data Dnmain 
1932 Brown Street 
Dayton 223-2348 

OKLAHOMA 

Team Electronics 

1105 Elm Street 

Stobbeman Village 

Norman 329-3456 

Team Electronics 

Crossroads Mall 

7000 Crossroads Space 2010 

Oklahoma City 634-3357 

Team Electronics 

Penn Square Shopping Center 

Penn Square 

Oklahoma City 848-6573 

Team Electronics 

1134 Hall of Fame Avenue 

Stillwater 377-2050 

Team Electronics 

5305 E. 41st 

Southroads Mall 

Tulsa 633-4575 

Team Electronics 

Wnodland Hills Mall 

7021 Memorial 

Tulsa 252-5751 

Team Electronics 

Surrey Hills 

Yokon 373-1994 

Bits, Bytes & Micros 

1186 N. MacArthur Blvd. 

Oklahoma City 947-5646 

High Technnlogv 

1020 W. Wilshire Blvd. 

Oklahnma City 842-2021 

OREGON 

Team Electronics 

1913 N.E. Third Street 

Bend 389-8525 

Team Electronics 

1023 S.W. 1st 

Canby 286-2539 

Team Electronics 

2230 Fairground Road N.E. 

Salem 364-3278 

SOUTH DAKOTA 

Team Electronics 

402 W. Sioox Avenue 

Pierre 224-1881 

Team Electronics 

1101 Omaha Street 

Rapid Citv 343-8363 

Team Electronics 

613 W. 41st Sheet 

Sioux Falls 336-3730 

Team Electrooics 

41st Street & Western Avenue 

Western Mall 

Sioux Falls 339-1421 

Team Electronics 
Sioux Empire Mall 
4001 West 41st Street 
Sioux Falls 339-2237 
Team Electrooics 
223 Ninth Avenoe S.E. 
Watertown 686-4725 



TEXAS 

Byte Shop 
3211 Fondren 
Houston 977-0664 
Compoterland 
6439 Westheimer 
Houston 997-0909 
Computer Shops, Inc. 
13933 North Central 
Dallas 234-3412 
The Compoter Shop 
6812 Sao Pedro 
San Antonio 828-0553 
Computer Terminal 
2101 Myrtle St. 
El Paso 532-1777 
The KA Computer Store 
1200 Majesty Drive 
Dallas 

VIRGINIA 

Home Compoter Center 
2927 Virginia Beach Blvd. 
Virginia Beach 486-1700 
Timbervilie Electronics 
P.O. Box 202 
Timbervilie 896-8926 

WASHINGTON 

Team Electronics 
423 W. Yakima 
Yakima 453-0313 

WISCONSIN 

Team Electronics 

3209 Rudolph Road 

Eau Claire 834-0328 

Team Electrcoics 

3365 E. Clairmont Parkway 

Eau Claire 834-1288 

Team Electronics 

3365 E. Washington Avenue 

Madison 244-1339 

Team Electronics 

7512 W. Appleton Avenue 

Milwaukee 461-7800 

Team Electronics 

3701 Durand Avenue 

Elmwood Plaza Sboppiog Center 

Racine 554-8505 

Team Electionics 

3347 Kohler Avenue 

Memorial Mall, Space H-4 

Sheboygan 458-8791 

Team Electronics 

5300 S. 76th 

Southridge Center 

Greendale 421-4300 

Team Electronics 

Sunrise Plaza 

Highway 8 East 

Rhinelander 369-3900 

Team Electronics 

1505 Losey Blvrl S. 

Village Shopping Center 

LaCrosse 788-2250 

Team Electronics 

2207 Grand Avenue 

Wausau 842-3364 

Team Electronics 

3301-3500 S. 27th Street 

Snuthgate Shopping Center 

Milwaukee 672-7600 

Team Electronics 

2619 Milton Avenoe 

Janesville 756-3150 

Team Electionics 

1801 Marshall Street 

Manitowoc 664-3393 

Team Electronics 

7700 W Brownrleei Road 

Northridge Center 

Milwaukee 354-4860 

Team Electrooics 

396 Park Avenue 

Oshkosh 233-7050 

WYOMING 

Team Electrooics 
Hilltop Shopping Center 
207 S. Montana 
Casper 235-6691 

CANADA 

Fotore Byte 

2274 Rockland 

Montreal. One. 731-4638 



18 



BYTE December 1977 



If you would like to be an Apple dealer, call Gene Carter, 
Director of Dealer Marketing, 408-996-1010. 

cippkz computer inc. 

20863 Stevens Creek Boulevard, B3-C 
Cupertino, California 95014 
(408) 996-1010 

Circle 4 on inquiry card. 



Circle 90 on inquiry card. 




• Record and playback at 120, 
60 or 30 self-clocking bytes per 
second (extended Kansas City 
Standard) 

• 1200, 600 or 300 baud data 
terminal interface 

• Dual cassette operation 

• Compatible with SWTPC cas- 
sette software 

• Optional kit permits program 
control of cassettes 

• Optional adaptor permits inter- 
facing with any computer 



Upgrade your SWTPC 6800 system to 1200 baud with 
PerCom's CIS-30+dual-cassette/terminal interface 

The CIS-30+ . . . four times as fast as SWTPC's AC-30 with the same dual- 
cassette capability . . .plus a 1200-baud data terminal interface ... in a SWTPC 
color-compatible package that's only 1/10 the size of the AC-30. 

Dependable? The simplicity of Harold Mauch PerCom Data designs says more 
than any well-chosen words. Simply put, for only $79.95* you get the fastest, most 
dependable dual function interface you can buy for your SWTPC 6800. 

See your nearest dealer or order direct from PerCom. 

PerCom 'peripherals for persona/ computing' 




PERCOM DATA COMPANY, INC. 
DEPT.B. 318 BARNES •GARLAND, TX 75042 

(214) 276-1968 

•Kit price. Assembled and tested: 
$99.95 + shipping. Tex. res. add 
5% tax. BAC & MC available. 



Continued from page 10 



must have been extremely proficient at 
building boxes, for otherwise the pro- 
gramming would have been impossible. 
(Anyone who programs computers 
would know this.) To illustrate my con- 
cept of the computer as a tool, I propose 
that once the computer and robot have 
freed the man from the drudgery of 
making simple boxes, he can really 
think about what larger structure or 
scheme those boxes will be a part of. 
Following these guidelines will make 
the computer a safe and useful tool 
that benefits all society. 

Mark Bizer 

43 Morgan Cir 

Amherst MA 01002 

CONFIRMATION OF THE SR-51 A 

PRINTER TRICK. . .AND SOME 

GRAPEVINE JUICE 

After reading Webb Simmons' letter 
in the September 1977 BYTE regarding 
the use of his SR-5 I Tl calculator on the 
PC-100A printer, I decided to try the 
same with my SR-51 A. Obviously this 
model functions on the PC-100A as well 
as the SR-51 as shown by the printout 
tapes I have included with my letter. The 
longer tape is a line regression problem 
which I "made up" on the spur of the 



moment in my haste to try out the 
SR-51A on the printer. Each 'x' value 
(1, 3, 5, 7, 9, 11, 13) and each 'y' value 
(2, 4, 6, 8, 10, 12, 14) is nolated at the 
edge of the tape and the number of data 
points entered (7) are also shown. The 
shorter tape shows the printout of two 
problems I copied from the owner's 
manual of the SR-51 A on pages 40 and 
42 respectively. The first is the conver- 
sion of polar coordinates (5,30°) to 
rectangular coordinates while the second 
is a conversion of spherical (5, 30°, 60°) 
to rectangular coordinates. 

In addition to the SR-51A I also 
own the SR-50, SR-56 and the Tl 
Programmable 58 "Solidstate Software" 
and of course the PC100A printer. As 
I am a newcomer to the hobby of home 
calculator and computer systems I would 
appreciate hearing from other readers 
who use these calculators I have men- 
tioned, in order to exchange ideas and 
information with them. I would like to 
know especially if anyone who practices 
chemistry or biochemistry as a hobby or 
as a student has any programs for these 
subjects that could be used or modified 
for use on the Tl -5 8 or SR-56? 

Finally, I have heard that Tl intends 
to release a "programmer" for the 
TI-58/59 which will allow users to 
record their own library modules and 
also is planning on video monitors and 
XY plotters to add on to their pro- 
grammable calculators. Are these idle 



SKsrt-fi jf<^ 


• « -A 

CLR ALL 




eir- V - — . 1" 












1 












4. 


V 


CLR ALL 












c; 




■j. ,,, t 




c; 




.-. n ' .-. . .-. 


1 




y 


'-. ' L- ' ' 


v. 






z. 5-x.^ ;<:;v 








4. 330127019 -*, 


<£ 






CLR 


£ 


d 








< 


9 






a 


9, 






K 
o 

O. 


to. 


' 




1 1. 
ii. 




c-owv. r t j.'^.'niKm 




T« «CT, Co.n.0. 




- 




CLR ALL 




13. 
13. 
14. 




30. CIS 








■3 ' c 








CLR 


, -~^\ - 


1. 


SLOPE 


4.330127019 ST1 




IN TCP 


60. CIS 
3. 165063509 




CLR 


2. 165063509-"**. XIV 


rur. r*t<~ X - 22 




1. '45 -X, 


/"•«>*• t — 23. 




CLR ALL 


cut: »e<» >-33. 


X ' 




t/w X — — G£. 


CLR ALL 


SKS"!* /Pz. (»»•» 



rumors or do you know if there is any 
truth to them? 

William A Faria 

74 Division St 

New Bedford MA 02744 



BYTE December 1977 19 



NEED NEW PLAYER PIANOS? 

Since you didn't mention it in the 
September 1977 issue, let me be the first 
to tell you about Superscope's latest 
entry: 

It's called the Pianocorder (a Super- 
scope trademark), and it is an electronic 
player piano. Built around an 8080 
processor, it's scheduled to come in two 
versions: a Vorsetzer, for grand pianos 
and such, and what seems to be a retrofit 
kit that can be put in an upright or 
spinet. This version is supposed to come 
out around $1500 or so. The control is 
by means of a digital casette tape, which 
controls which keys are down, and also 
controls the dynamics (by controlling 
the pulses into the solenoids). There are 
two things that are really exciting about 
this: there's a record mode (casually 
invite Van Cliburn over and have him try 
out your new piano); and the device will 
come with 100 cassettes, recorded from 
Mr Tuchinsky's collection. He's presi- 
dent of Superscope, and an avid fan of 
player piano rolls from Welte; his 
collection includes most of the great 
pianists from the turn of the century, 
who cut rolls for Mr Welte. 

You can get more details from the 
source by contacting Tony Blazina, 
manager, PTanocorder Division, Super- 
scope Inc, 20525 Nordhoff St, Chats- 
worth CA 91311. He says that basic 
descriptive literature should be available 
in a few weeks, and marketing early in 
1978. I first read about it in a recent 
issue of Electronics magazine. 

A long list of possibilities come to 
mind. The output device is a piano. 
Given the data format, you could encode 
a score, make an arrangement for four 
hands (why not eight?). You could take 
the sheet music, encode it, fine tune the 
phrasing, pedalling, dynamics until you 
had the perfect performance. For 
learning and teaching, you could encode 
the right or left hand, or one part of a 
duet. 

I hope we'll see an article covering 
these bases not too long from now. 

Michael D Zorn 

1833 S Peck Rd #4 

Monrovia CA 91016 



APL COMMENTS 

I would like to offer a few comments 
on APL matters in your August and 
September 1977 issues: 

1. The readability of APL expressions 
might be brought out more clearly 
by adding to your explanation 
(September BYTE, page 166) of my 
thought experiment (August BYTE, 



PRIMER REMOVER 

It was good to see so much attention 
to APL in the August 1977 issue. But 
you goofed when you recommended the 
APL Primer. 

The APL Primer may be easy to read, 
but its author missed the boat on two 
key attributes of APL. He neglected 
APL's treatment of arrays as wholes, and 
its treatment of programs as "user de- 
fined functions" that take arguments, 
return results, and behave just like 
primitives. The truth is, he didn't realize 
at the time either how central those two 
topics are, or how easy to introduce 
they'd prove to be. 

Experience shows that they're not 
hard to get across. By shrinking from 
forthright treatment of these funda- 
mental aspects of APL (and thereby 
fostering dreadful programming habits), 
the APL Primer does the newcomer 
to APL a great disservice. 

You shouldn't recommend it. IBM 
should withdraw it. 

Paul Berry 

I P Sharp Associates Inc 

Ste 110, 299 California Av 

Palo Alto CA 94306 

PS: I know; I wrote it. 



page 40) this sequence (box below). 

2. There are many serious errors in the 
APL references. For example, there 
are five errors in those on page 65 
(August) alone. Perhaps you should 
consider publishing a carefully 
checked and annotated bibliography 
for APL. 

3. In discussing APL, care should be 
taken to use appropriate terminolo- 
gy. For example, Mr Wimble's article 
confuses the important distinction 
between operators and functions 
(already commented upon in Mr 
Anthony's letter (August page 17)) 
and uses the term arity for valence. 
Perhaps the best reference for 
terminology and fundamental con- 
cepts is one not yet mentioned 
in your articles: APL Language 
Manual, available from IBM Corp 
as Form #GC26-3847. 

Kenneth Iverson 

163 Great Oak Ln 

Pleasantville NY 10570 

Mike Wimble concurs; the confusion 
over operators and functions is in part 
due to changes and revisions to APL over 
the years. We regret the bibliographic 
errors, and will attempt to correct them 
in future APL articles. ■ 









iff 


All candidates for primes to N. 




( 


iff) o . | 


iff 


A remainder table. 




= ( 


iff )o . | 


iff 


Divisibility table. Column I 
shows the divisors of I . 




+ /(S)0 = ( 


iff ) o . | 


iff 


The number of divisors for each of iff . 




2 = + /<S>0 = ( 


iff ) o . | 


iff 


A sieve showing which numbers have 
exactly two divisors (the primes). 


( 7-- 


+ /$() = ( \N)« 


. I iff)/ 


Iff 


Selection of the primes by the sieve. 



Rated [G 



Great Locations 
ComputerLand 



Now Open: 

3020 Omversity Drive N W 
Huntsville.AL 35805 

11074 San Pablo Avenue 
El Cernto. CA 94530 

22634 Foothill Blvd 
Hayward. CA 94542 

6840 La Cienega Blvd 
Inglewood, CA 90302 

24001 Via Fabncante, *904 
Mission Vieia CA 92630 

4233 Convoy Street 
San Diego. CA 92111 

117 Fremont Street 

San Francisco, CA 94105 

El Cd Plaza 

171 E Thousand Oaks Blvd 
Thousand Oaks, CA 91360 

104 W First Street 
Tustm, CA 92680 

2475 Black Pock Turnpike 
Fairfield. CT 06430 

Astro Shopping Center 
Kirkwood Highway 
Newark, DE 19711 

50 East Rand Poad 
Arlington Heights. IL 60004 

9511 No Milwaukee Avenue 
Miles, IL 60648 

10935 S Cicero Avenue 
Oak Lawn, IL 60453 

813 -B Lyndon Lane 
Louisville, kY 40222 

16065 Frederick Poad (Pt 355) 
Rockville, MD 20855 

419 Amherst 
Nashua, NH 03060 

2 De Hart Street 
Mornstown, NJ 07960 

1612 Niagara Falls Blvd 

Buffalo, NY 14150 

225 Elmira Poad 
Ithaca, NY 14850 

1304 SOM Center Poad 
Mayfield Heights, OH 44124 

Shoal Creek Plaza 
3300 Anderson Lane 
Austin, TX 78757 

6439 Westheimer Poad 

Houston, TX 77057 (713) 

52-58 Clarence Street 
Sydney, NSW AUSTRALIA 

Opening Soon: 

6743 Dublin Blvd 
Dublin, CA 94566 

42-42nd Avenue 
San Mateo, CA 94403 

2927 28th Street 
Kentwood, Ml 94508 



Franchises Available: 
Computerland Corp. 

1922 Republic Ave 
San Leandro, CA 94577 
(415) 895-9363 



(205)539-1200 
(415)233-5010 
(415)538-8080 
(213) 776-8080 
1714)770-0131 
1714)560-9912 
(415)546-1592 

(805)495-3554 
(714)544-0542 
(203) 374-2227 

(302)738-9656 
(312)255-6488 

(312)967-1714 
(312)422-8080 
(502)425-8308 

(301)948-7676 
(603)889-5238 
(201)539-4077 

(716)836-6511 
(607) 277-4888 

(216)461-1200 

(512)452-5701 

977-0909/0910 

29-3753 



20 



BYTE December 1977 



Circle 30 on inquiry card. 



Rated ICr 



The Best Game in Town. 

Welcome to ComputerLand. 
An incredible adventure into 
the world of personal 
computers. A one-of-a-kind 
shopping experience. 

Each ComputerLand store 
presents everything you ever 
wanted to know about 
computers. And then some. 

Take our Game Room, for 
starters. You'll find excitement 
for the whole family in our 
endless variety of challenging 
computer games. You can battle the Klingons in an 
out-of-this-world game of StarTrek. Create an elec- 
tronic work of art with a computer controlled TV. Test 
your skill in a game of computerized hangman. 

You can even plot your biorhythm. 

But we're more than just fun and games 
Each ComputerLand store offers a 
knowledgeable and person- 
able staff of professionals 




And if your system breaks down, 
our in-store service department 
will get you back up and 
running. 

Right now! 

Great Selection. 

Your first stop at ComputerLand 
may well be your last stop. 

ComputerLand offers the finest 
quality and 




to serve you. 
Plus the greatest avail- 
able selection of micro components. Whether it's a data 
processing system for your business or a computer controlled 
sprinkler system for your home, you'll find whatever you need 
at ComputerLand 

Read on. 

Genuine Service. 

We want to supply 
you with the one 
system that's right. 
Rather than a com- 
plete system that isn't. 
Or a limited system 
that is. 

That's why, at Com- 
puterLand, you deal 
with real professionals 
who are also real 
people. People who 
speak your language 
... in addition to BASIC, COBOL or FORTRAN. 

People, in short, who can offer both the novice and 
the old hand the same expert guidance in selecting 
the optimum system he or she needs. 

Yet, assisting in the purchase is only the beginning of 
ComputerLand's service. If the kit you bought requires a 
little more do-it-yourself than you yourself can do. we 
provide assembly assistance. 

If that complex program proves to be just that, we provide 
programming assistance, 

Circle 30 on inquiry card. 



largest selec- 
tion of all the 
major brand names. 
Like Apple Computer, 
Cromemco. DEC, Diablo, 
Hazeltine, ICOM.IMSAI, LearSiegler, 
National Semiconductor, North Star, Texas 
Instruments, Vector Graphics and more. 

Plus a complete inventory of tools, books and accessories. 

What's more, at ComputerLand, we deal in product. Not 
promises. Our inventory is on our own shelves. Rather than the 
manufacturer's. So you can take delivery on tomorrow's com- 
ponents today. _______________ _________ _ 





Which means, 
simply put, that at 
ComputerLand, you 
get exactly what 
you want. 

Exactly when you 
want it. 

Be Our Guest. 

Begin with the 
grand tour of our 
exhibit areas. "Test- 
drive" any of our 
individual systems. 



Then tell us your needs. We'll sit down and talk about the system 
that's right for you. It's as easy as that at ComputerLand. 

The great computer store. RATED G. 

Call or write forthe address of the ComputerLand store nearest you. 



Franchise opportunities available. 



ComputerLand 

1922 Republic Avenue, San Leandro. CA 94577 (415) 895-9363 



BYTE December 1977 21 



Some people build personal computers ior the love o! building. And 
the systems they buy are usually more fun to build than to operate. 

The Equinox System , on the other hand, is designed for people who 
build for the love of computing. When you put it together, it's really to- 
gether. Ready to work for, and with, you in the development of your own 
professional, intellectual, business and even social interests. 

The Equinox System ™ goes together easily with construction aids 
like parts legends and solder masks. The Equinox System ™ fits together 
perfectly, and will continue to be a perfect fit with future hardware and 
software. And it's all S- 100 compatible, so you'll be able to work together 
with the largest group of peripherals, software, suppliers and system 
users in personal computing. 

Mainframes, interfacing, memory, software — The Equinox System 
has it all together now. 

Really together. 

THE MAINFRAMES 

The Equinox System offers an important choice in mainframes. 

The Equinox 100 mainframe integrates the popular 8080A CPU 
into a powerful front panel programming center. For users who prefer 
another CPU, however, we also offer the Equibox —a fully engineered 
cabinet, power supply and S- 1 00 busboard system ready for installation 
of your choice of CPU • 

It would be difficult to forego the speed and convenience of the 
Equinox 1 00 front panel, however. It allows you to work in concise 
octal digits on a 12-key keyboard and digital LED display. It allows you 
to monitor and/or alter the contents of any CPU register or register pair, 
I/O device or memory location. And the Equinox 1 00 front panel 
will perform these operations while fully halted, single-stepping, or Slow- 
Stepping rM at a programmable rate! 

It is, quite simply, one of the most powerful, intelligent and wonder- 
fully convenient front panels in the world. And comparisons of The 
Equinox System™ mainframes don't stop at the front panel. 

Both Equinox 1 00 and Equibox compare directly to full-scale 
and mini computers in reliability of operation. Both Equinox 100 and 
Equibox are equipped with massive 26-amp Constant Voltage (ferro- 
resonant) power supplies to protect your programs from in-home appli- 



ance loads, system loads, and even area-wide line voltage drops as 
low as 90 VAC. 

And the exclusive Noiseguard system on our 20-slot busboard 
produces signals that are "textbook clean," eliminating a major source 
of data errors and interfacing problems that plague most other 
personal computer systems. Plus, there are dozens of other features 
to make your mainframe 
more convenient: carrying 
handle and tilt-up stand, key- 
operated power switch for 
system security, spare power 
regulators for your small 
peripherals, and more. 



It's no wonder that Equinox 
mainframes have been acclaimed as a major advance in per- 
sonal computers . Equinox 1 00 or Equibox —each has the 
features you want all together in one elegant package. 

THE INTERFACING 



a: 

TOGE 
NC 



Interfacing your input/output devices to your mainframe can 
be a frustrating, expensive and time-consuming process. 

That's why The Equinox System offers all the interfacing 
you're likely to need in one low -cost kit. _ 

The Equinox I/O Interface is a single board that plugs right into your Equinox 1 00 bus. And 
you're ready to plug in 3 audio cassette units with individual motion control, a Teletype* or 
RS-232 terminal, and any 8-bit parallel device. . . including graphics display, line printer or 
paper tape reader. 

The Equinox I/O Interface has 1 K bytes of RAM and ROM on board, preprogrammed with 
powerful Cassette Operating Executive (COPE) software. COPE handles dozens of interfacing 
and data handling tasks to increase the efficiency 
of your software. Your programs can store and 
retrieve cassette data with a simple CALL COPE 
instruction. Data is formatted, checked and trans- 
ferred in blocks up to 64K bytes with a single READ 
or WRITE instruction. COPE can even bootstrap 
your programs. 




V II. Di'iember l<)77 


jj« T M^ . ., ,, 



,L 



W! 



All Equinox software is designed to make full use of COPE capabili- 
ties. So loading your Equinox software is as simple as selecting an 
address and pressing RUN. Cassette data storage has never been 
more convenient. 

The Equinox I/O Interface is programmed for the highly -reliable 
300 baud Kansas City Standard for cassette data transfers. . .but can 

be reprogrammed for faster 
rates in the future. Your TTY/ 
RS-232 channel also features 
user-programmable rates up 
to 4800 baud. And you have 
access to all COPE routines. 

There is no more cost- 
effective way to handle your 
system interfacing. And the Equinox I/O Interface is even 
more attractively priced when purchased with a complete 
system. 




THE MEMORY 



You can get your Equinox System together with more 
low-cost memory. 

The Equinox System is the first system to offer the 
ECONORAM III™ 8K X 8 memory board with the advanced 
SynchroFresh natural-timing refreshing system. 

Configured as two individually addressable 4K blocks, the ECONORAM III comes as- 
sembled, tested and guaranteed to work perfectly in your Equinox System for one full 
year. It is also available as a lower-cost kit. 

For tight budgets, the K-Ration 4K X 8 static memory kit is also available for your Equinox 
System This high-efficiency design is one of the most widely used, lowest power and lowest 

cost memories available for S- 1 00 systems. 

And the memory savings are even greater 
when you purchase your Equinox System 
all together! 



,TM 



THE SOFTWARE 

The Equinox System now includes two primary software packages: 
EQU/ATE for text -oriented programming, editing and assembly , and 
BASIC-EO language for number -oriented programming. 

Both of these powerful programming languages have been greatly 
enhanced by full integration with our COPE interfacing software. 

EQU/ATE gives you the power of a fully programmable text language. 
Using EQU/ATE, you can create programs to edit copy, keep inventory, 
manipulate your files of addresses or recipes, and more. 

EQU/ATE is also one of the most powerful editor/assemblers available. 
EQU/ATE writes, assembles and executes your programs. It is fully 
symbolic, accepts global symbols and assembles programs larger than 
available memory. 

EQU/ATE is also an extraordinary text editor which works interactively 
with you to edit by character, string or line. It also offers full number edit- 
ing of memory contents in octal, hex or decimal. 

Yet, EQU/ATE is extremely compact, occupying only 4K of memory 
with 8K total memory required. 

BASIC-EQ is a powerful, interactive, high-level programming lan- 
guage developed for math and science applications. Its primary use is 
in the manipulation of numbers, although it is capable of string oriented 
operation. Our version, BASIC-EQ, occupies 5K of memory. 

Both BASIC-EQ and EQU/ATE are supplied on cassette, ready to 
load themselves into your Equinox System . They are competitively 
priced. . .and are even more attractive when purchased together with 
your Equinox System 

GET IT TOGETHER! 

For more information and ordering: 

BY MAIL Send check or money order to Equinox 

Division. Parasitic Engineering. P.O. 

Box 6314. Albany. California 94706 

800-648-5311. Bank Americard/ Visa and 

Master Charge accepted. 

See The Equinox System ™ at your local 

computer shop. 

*A trademark of Teletype Corporation. 



BY PHONE 



IN PERSON 




A Floppy Disk Tutorial 



Ira Rampil 

917 Engineering Research Bldg 
University of Wisconsin 
Madison Wl 53706 



What peripheral device most often defines 
the home hacker's ultimate system? It is, of 
course, the floppy disk. But what are these 
devices that seem to have the ability to 
transform the smallest microprocessor sys- 
tem into a full-fledged computer? How do 
they work, and are they worth the cost? I 
slowly uncovered the answers to these ques- 
tions as I sought to upgrade my system by 
adding floppies. 

Basically, the floppy disk is the little 
cousin of IBM and other manufacturers' 
huge hard disk drives. As far as any com- 
puter is concerned, the floppy is a real disk 
drive. The differences between it and (for 
example) an IBM 3330 disk are mainly 
specifications of speed and storage capacity. 
Floppies, like other disks, are relatively fast 
random access memories. If the last three 
words sound familiar, it should be no sur- 
prise. Semiconductor random access mem- 
ories store (if programmable) and read data 
by address, with a unit quantity of data 
(typically one bit) at each address. The data 
at any address can be quickly and easily 
changed without disturbing the contents of 
any other address. 



So it is with floppy disks except that the 
access times are now measured in centi- 
seconds instead of nanoseconds, and the 
quantity of data at each point is now 
hundreds or thousands of bits instead of just 
one. Because the structure of disk storage is 
similar to that of main memory, it is often 
used to store programs and data, especially 
those programs and data which are fre- 
quently referenced or modified. In fact, 
during the early age of electronic digital 
computers, machines like the IBM 650 
actually used a rotating drum similar to a 
disk as its only memory, which fetched new 
instructions for execution with each revolu- 
tion. It is widely believed that the Minute- 
man missile system still uses such a memory. 

All of the other mass storage techniques 
available to hackers, such as paper tape, 
audio, and even digital cassettes, are funda- 
mentally serial memories. That is, all or most 
of the recorded data may have to be passed 
through in order to find a particular piece of 
data. 

Table 1 compares several different mass 
storage techniques. As you can see, floppy 
disks fall between hard surface cartridge 



Table 7: A comparison of 
several different mass stor- 
age techniques. 



Technique 


IBM 2315 
Cartridge Disk 


IBM 3740 
Floppy 


Digital 
Cassette 


Audio 
Cassette 


Units 


Data Capacity 


48. 


3.0 


6.0 


0.84 


Million bits 
(unformatted) 


Average or Typical 
Access Time 


.035 


.45 


20 


120* 


Seconds 

(* = manually 

controlled) 


Data Transfer Rate 


2500 


250 


10. 


0.3 


k bps 


Price of Commercial 
Package: Drive + 
Power + Control ler 


$8000 


$1500 


$1000** 


$100 


**Note that 
personal com- 
puting digital 
cassettes can be 
much cheaper 
than commercial 
drives 


System Cost per 
Unit Data Rate 


.32 


.6 


10 


33.3 


cents per bps 


System Cost per 
Unit Storage 


.016 


.05 


.016 


.012 


cents per bit 
stored 


Media Cost 


$100 


$8. 


$4. 


$4. 


(unit quantity 
prices) 


Storage Cost 


1.7 


2.2 


0.55 


3.9 


cents/kilobyte 
of media 



24 



BYTE December 1977 



Typetronic: 
your source for complete computer 

management systems... 
now introduces New Jersey's most 

complete computer store 



The new Typetronic Computer 
Store has all the professionalism 
and depth of the field-proven Type- 
tronic minicomputer management 
systems. In fact, the store is staffed 
by experienced professionals who 
have devoted years to the success 



■*.•«£* 



of the Typetronic systems . . . power- 
ful tools for management in such 
fields as retail chain stores and 
chemical distributor operations. 

The Typetronic Computer Store 
is New Jersey's most complete and 
comprehensive store for hobby- 
ists, engineers, and business 
users. It offers a 
wide range of 




hardware and software packages, 
including microprocessor and 
NOVA* compatible minicomputer 
systems and peripherals... plus 
classroom courses, expert assis- 
tance, and many other services. 

Highlights include: 
• Hands-on demonstrations of 

microprocessors and other 

equipment. 

A variety of microprocessor 

assembly kits. . . IMSAI, Pro- 
cessor Technology, Motorola, 

etc. 

Formal classes on both software 

and hardware topics. 

Library of publications, product 

literature, etc. 

Use of the Typetronic computer 

with micro-assembler. 

"NOVA is a registered trademark of Data General Corp. 



1 1 -**>r-^ 



typetronic 

computjer 
store 

806 Route 17, Ramsey, N.J. 07446 
201-825-1300 



If you are located in the N.J./N.Y./Pa. metropolitan area and 
desire additional details, return this coupon: 

( ) We are considering the automation of our company 
operations. Please have a systems representative 
contact me. 

( ) Please send me your brochure on the new Typetronic 
Computer Store. 



Name 



Title 



Company 
Street 



Div. 



■ City. 



. State . 



.Zip. 



Circle 122 on inquiry card. 



BYTE December 1977 25 



__ 


PLASTIC ^- ~ ~~- -^ 


CARTRIDGE .. ■** ^.— ' -«,-_. \. 


/ ~V X \ 


/ / INDEX HOLE °0&, / \ \ 

// \ -Af \ \ 

/ / ' j^ \ ° \ \ 
1 i / /r ^v \ \ \ 

/ / TRACK 76 / ^^T ^^^^ ^ \ * 


^-1 H SPINDLE 1 | 1 | | 


i \ m hole ) i i 


1 1 TRACK 00 \ \ \ / / 1 II 


v \ \ ^ 

\ \ 

\ \ HEAD ACCESS 

\ ■*. HOLE 


<~*\ 


- / 




/ / 




/ / 


> \ 




yy 


DISKETTE—^ ^\ ~~-^ | 




c- 


\--~^' 


^*^ ***»— — ~~ *"~ 


' --*" 


COLOR KEY: 


4LED 


1 MAGNETIC MEDIA CONCE 


J BY PROTECTIVE WRAPPE 


R 





MAGNETIC MEDIA VISIBLE THRU 
HOLES IN PROTECTIVE WRAPPER 



Figure 1 : An X-ray view of a floppy disk. The floppy disk is encased in a 
protective plastic cartridge 8 inches square. Dotted line circles illustrate 
the portion of the disk where data is stored. It is coated with an oxide layer 
similar to that used on magnetic tape. The combination read and write head 
contacts the oxide layer through the slot shown at the bottom of the 
cartridge. 

disks and cassette systems in terms of 
performance and cost. (We're not even con- 
sidering the much more expensive 2311, 
2314 and 3330 type disk drives of the 
big machines here.) Both floppies and 
digital cassette systems provide high per- 
formance at medium cost. Audio cassettes 
provide low performance at low cost. (Car- 
tridge disks are not likely to fall into the 
hands of a hacker; they are included for 
reference only.) The big tradeoff is speed 
versus price, of course. A floppy is very fast 
and more expensive, while the digital cas- 
sette is much slower but cheaper. The same 
holds true for the media. Diskettes cost 



more per kilobyte than do high quality 
audio cassettes like Memorex MRX-2 C30, 
when used for digital recording. If speed and 
random access are important, get a floppy. If 
low cost and vast amounts of storage are 
important, get digital cassettes. My own 
system will eventually have a floppy disk for 
an operating system and a digital cassette 
transport for archival storage. 

Floppy disks were first developed at IBM 
laboratories in the middle 60s. They were 
first used as a means of storing micro- 
program code for programmable peripheral 
controllers in the S/370 family, and were 
eventually used to store the microcoded 
diagnostics and emulator functions for the 
370 computers. Then, in the beginning of 
1973, IBM introduced the 3740 Data Entry 
System. Like a keypunch, except that data is 
recorded on a floppy instead of cards, one 
3740 floppy disk holds the equivalent of 
3000 cards. IBM then predicted that floppies 
would replace cards as the principle data 
entry medium. This of course has yet to 
happen completely, but is well under way. 
In the midst of all the commotion, someone 
discovered that floppy disks make excellent 
mini and microcomputer peripherals, and 
the floppy peripheral industry was born. 
Thus the 3740 is the device that started the 
floppy industry. 

As for the floppy disks (diskettes) them- 
selves, figure 1 provides a closeup view. An 
IBM diskette looks for all the world like a 45 
rpm record in a plastic jacket. Actually, the 
diskette is defined to be a disk of heavy 
Mylar based magnetic tape material. It is 7.8 
inches (19.8 cm) in diameter with a center 
spindle hole 1.5 inches (3.81 cm) in diam- 
eter. The 0.01 inch (0.025 cm) index hole is 
used to synchronize data as the disk rotates. 
Data is stored on the surface of the disk in 
the oxide coating, the same technique used 
in magnetic tape storage. And like magnetic 
tape, floppies are very susceptible to con- 
tamination by foreign particles (dirt, dust, 
fingerprints). Therefore, the diskette is en- 
closed in a thin semistiff low friction plastic 
jacket known as a cartridge. The standard 
cartridge has three openings in it to allow 
the spindle, read and write head, and index 
photosensor to have access to the disk. 

The inside surfaces of the cartridge have 
soft, low friction liners. The liners wipe the 



26 



BYTE December 1977 




<^ 



• 



» 






^ 



y* 




ssn 



\tt*N 



B 






uv 



UP AND RUNNING 

TDL EQUIPMENT USED BY NEW JERSEY PUBLIC TELEVISION 
TO PROCESS NEW JERSEY GUBERNATORIAL PRIMARY ELECTION RETURNS 



John Montagna, computer engineer (above left), 
lead this successful network team in generating 
election results speedily, efficiently and reliably 
using predominantly TDL hardware and soft- 
ware. Montagna created three programs to get 
the job done. The text for a SWAPPER pro- 
gram was written and assembled using the TDL 
TEXT EDITOR and Z80 RELOCATING MACRO 
ASSEMBLER. The SWAPPER text and all 
debugging was run through TDL's ZAPPLE 
MONITOR. The relocatable object code was 
punched onto paper tape. A MAIN USERS 
program updated votes and controlled air dis- 
play. An ALTERNATE USERS program got 
hard copy out and votes in. The latter two 
programs were written in BASIC. Montagna 
modified the ZAPPLE BASIC to permit time- 
sharing between the two USERS programs. 



TDL's XITAN SYSTEMS have the capacity to do 
similar tasks for you. Write to us for XITAN 
information and the name of your nearest TDL 
dealer. 

Circle 1 1 7 on inquiry card. 



Four screens were incorporated, two terminals 
entered votes as they came in and were used 
to call back votes to check accuracy. Mon- 
tagna called on the power and flexibility 
offered by TDL's ZPU board and three Z-16 
Memory boards. 

Montagna's setup worked constantly for over 
four hours updating and displaying state-wide 
and county-wide- results without flaw. 

"I chose TDL because they have all the soft- 
ware to support their hardware, and it's good; 
it has the flexibility to do the job." 

John Montagna 

We salute John Montagna and NEW JERSEY 
PUBLIC BROADCASTING for spearheading 
the micro-computer revolution. 




TECHNICAL 

DESIGN 

LABS 



RESEARCH PARK BLDG. H 1101 STATE ROAD 
PRINCETON, NEW JERSEY 08540 (609) 921-0321 



BYTE December 1977 



27 



Figure 2a: A diagram of 
a floppy disk showing a 
typical location of the 
wire protect (or file pro- 
tect) hole. When this hole 
is punched out, data 
cannot be erased from the 
disk. The write protect 
hole serves the same pur- 
pose as the plastic tabs 
on a magnetic tape 
cassette. 



WRITE PROTECT HOLE 

X 



Figure 2b: A floppy disk 
with a design modification 
to allow "hard sectoring. " 
32 0.10 inch (0.025 cm) 
holes are punched in the 
disk in addition to the 
index hole. These holes en- 
able the hardware to 
detect the exact rotational 
position of the disk by 
means of a photosensor. 
The need for space wast- 
ing address fields is elim- 
inated with one hole per 
sector, and the number of 
data sectors can be 
typically increased from 
26 to 32 per track. 




INDEX HOLE 




32 0.1 in. SECTOR HOLES 



disk clean and eliminate static charge while 
reducing the necessary spindle torque. To 
protect the disk even further when the 
diskette is not in use, it is kept in a 
cardboard sleeve, in the same manner that an 
LP record is kept in its album cover. The 
industry standard (IBM 3740) specifications 
for diskettes is fairly rigorous and widely 
accepted, although a number of variations 
have lately appeared on the scene. Two of 
these are shown in figure 2. 

The write protect hole is a small plastic 
knockout in the cartridge which serves the 
same purpose as the small knockout tabs in a 
tape cassette. A sensor detects whether the 
knockouts have been removed or not, and if 
so, disables the write electronics. Another 
variation is the presence of many small 
sector indexing holes punched in the disk. 
The advantage of this so-called hard sector- 
ing process is a higher data capacity per 
track. This will be discussed in more detail 
later. 

A third, relatively recent, innovation in 
the manufacture of diskettes is to coat both 
sides of the Mylar backing with magnetic 



oxide and to put an additional head access 
slot on the opposite side of the cartridge, 
giving a two-sided floppy disk (see photo 
2 and figure 6). Some manufacturers have 
gone so far as to develop a drive mechanism 
which simultaneously accesses both sides at 
once. IBM, Information Terminals, BASF 
and Wabash are some of the companies 
which sell floppy disks. The price of disk- 
ettes varies from $12 to $7 each in boxes of 
ten to about $4 to $5 each in large 
quantities. 

Drive Hardware 

There is a commonly drawn analogy be- 
tween a disk drive and a phonograph. Both 
are mass storage devices in which the data is 
stored on a platter-shaped medium. The 
platter is seated on a spindle around which it 
revolves while the data pickup (needle or 
magnetic head) moves radially across the 
data. In the case of a phonograph record, the 
music, or data if you will, is recorded on 
spiral grooves or tracks which are cut into 
the record. To access a particular song, the 
tone arm is moved radially over the record 
and placed down in the starting groove of 
the song. In contrast, the data on a com- 
puter disk is stored in discrete concentric 
circles, not one continuous spiral. The con- 
centric circles are called tracks and are 
accessed by a magnetic head which is 
bumped mechanically from track to track 
under computer control. Data is stored by 
means of saturated magnetic recording at a 
maximum density of 3200 bits per inch (on 
the innermost track), and 48 tracks per 
radial inch. 

Most floppy drives on the market today 
use either a synchronous AC or servo- 
controlled DC motor to drive the spindle at 
exactly 360 rpm. Speed control is very 
important to insure data reliability. The 
spindle motor runs continuously whether or 
not a diskette is loaded. 

When a diskette is loaded into a drive, it 
is inserted into a narrow slot and the 
cartridge is held in place between a spring 
and a small metal protrusion. The door over 
the slot is then closed, clamping the diskette 
to the rotating spindle. At the same time, in 
most drives, the read and write head is 
engaged. 

The type of read and write head used is 
one of the important differences between 
hard disks and floppies. Hard disks use a 
system known as flying heads in which the 
read and write heads are aerodynamically 
floated off the surface of the disk. They are 
held a very small and precisely controlled 

Continued on page 35 



28 



BYTE December 1977 



WAN 






Circle 108 on inquiry card. 



BYTE December 1977 29 



Ohio Scientific advances 
the state-of-the-art 
of smell computers. 

From our inexpensive 8K BASIC in ROM Challenger IIP to our powerful triple processor 
Challenger III, Ohio Scientific offers a full range of products that are technologically 
superior to anything available on the market today. 



Challenger IIP 



Challenger n 





sM*^- 



"""* s -«i-^ 



Challenger II 
from Ohio Scien- 
tific is a disk 
based computer 
capable of stor- 
ing up to 500,000 
bytes of informa- 
tion on an Ohio 
Scientific dual 
drive floppy disk. 



Challenger IIP from Ohio Scientific is our unique 
personal computer with BASIC in ROM and 4K RAM 
for programs in BASIC. 

Complete with audio cassette interface and a full 
computer keyboard, Challenger IIP can be connected 
to a home TV via an RF converter and it's ready to go. 

Challenger IIP comes fully assembled and tested 
for only $598.00. 



Challenger II comes with 16K of RAM (the disk 
BASIC is automatically loaded into the computer so 
there is no need for ROM's) and our powerful Disk 
Operating System (DOS) which allows the computer 
to perform big computer functions like random ac- 
cess, sequential and index sequential files in BASIC, 
and I/O distributors which support multiple terminals 
and industry standard line printers. 

And best of all a 16K Challenger II with serial inter- 
face, single drive floppy disk, (250,000 bytes) BASIC 
and DOS costs only $1,964.00 fully assembled. 




Challenger III 



Challenger III from Ohio Scientific is the revolutionary, new triple processor 
computer that allows you to run programs written for the 6502A, 6800 and Z-80 
processors. 

Incredible as this is, a disk based Challenger III costs 

only about 10% more than conventional single processor 

microcomputers. A 32K Challenger III with a 

serial interface and a dual drive floppy disk 

assembled and tested costs $3,481.00. 






11679 Hayden • Hiram, Ohio 44234 



For more information send for our 
Free, short form catalog, or send $1 for 
our 64 pg. Small Computing Buyers Guide. 



30 BYTE December 1977 



Meet Challenger IIP 
from Ohio Scientific. 




Unlike any other personal computer available today 



Complete with BASIC in ROM and 4K RAM, 
Challenger IIP is the ideal computer for programs 
in BASIC. 

BASIC is there the instant you turn the computer 
on with a full 32 x 64 character video display. 
Challenger IIP also comes with an Audio Cassette 
Interface for program storage. The user simply con- 
nects a Video Monitor or a TV via an RF Converter 
(not supplied) and the machine is ready to use. 

Challenger IIP is ideal for both the home user 
who is new to computing or the experienced user 
who wants expansion capabilities. Challenger IIP 
comes with a four slot backplane and is expandable 
via the full Ohio Scientific product line, which in- 
cludes 15 system boards offered in over 40 different 
versions. 

Ohio Scientific has always maintained upward 



expandability from old models to new models, 
which is nice to know considering the rate at which 
technology is constantly improving. For example, 
Ohio Scientific's original 400 series products can 
be plugged right into the new Challenger IIP. And 
Ohio Scientific has 2 years of experience in build- 
ing personal computers, so we're not new to this 
business unlike some of our competitors. 

Complete with a full computer keyboard Chal- 
lenger IIP comes fully assembled for $598 from 
Ohio Scientific. 

Check the chart below and compare Challenger 
IIP with other BASIC in ROM computers. Unlike 
other personal computers, Challenger IIP has a 
much greater capacity for expansion and the capa- 
bility to perform big computer functions with all of 
its big computer features. 





Ohio Scientific 


Other BASIC in ROM 


Processor 


Challenger IIP 


Computers 


6502A 


6502 or Z-80 


Clock 


1 or 2 MHz 


slower 


Display (Lines/ Characters) 


32/64 


25/40 or 16/64 


Keyboard 


Full Computer 


4 Function 




(Capacitive Contact) 


Calculator Type or Full Computer 
(Mechanical Contact) 


Display Characters 


256 


128 or 64 


Lower Case 


Yes 


No 


Plotting 


Yes 


Yes 


Audio Cassette Interface 


Yes 


Yes 


BASIC 


8K By Microsoft 


some have only 4K BASIC 


String Functions PEEK, POKE, User 


Yes 


Not Always 


Machine Language Accessible 


Yes 


Not Always 


Optional Assembler/ Editor 


Yes 


No 


Disk Option Available Now 


Yes 


No 


In Case Memory Expansion Ability 


36K 


Less 


Expansion Boards Available Now 


15 


None 



BYTE December 1977 31 



Introducing three boards only 
Ohio Scientific could build. 

Ohio Scientific provides 15 system boards offered in over 40 different versions for Ohio Scientific Com- 
puter users. All of the boards are compatible with Ohio Scientific systems and many of them are by far 
technologically superior to any other microcomputer products on the market. And Ohio Scientific has the 
technology that made them possible. 






500 CPU Board 

This board gives you our ultra-fast 8K BASIC in ROM 
with plenty of user workspace (4K RAM) for as little as 
$298.00. Use it as a standalone or as the CPU in a large 
system. BASIC is there the instant you turn it on. And 
in the October issue of Kilobaud Magazine, our version 
of 8K BASIC came out the winner in a BASIC timing 
comparison test of all of our competitors. The 500 is the 
fastest around! 



510 Systems CPU Board 

This is our unbelievable triple processor board! Com- 
plete with the 6502A, 6800, and Z-80 processors, this 
board allows you to run virtually all programs published 
for small computers. Available in the Challenger III, the 
510 board is ideal for industrial development and re- 
search applications. There isn't another triple proces- 
sor board like the 510 anywhere, except at Ohio 
Scientific! 



560Z CPU Expander Board 

The 560Z board is our multiprocessing board with a 
Z-80 and 6100 chip. This board allows you to run 
several processors simultaneously and the 6100 chip 
lets you run powerful PDP8 software with the 560Z. The 
560Z board is the only multiprocessing board available 
for small computers, and Ohio Scientific makes it! 



These three state-of-the-art CPUs are only a small part of the picture. Ohio Scientific's advanced tech- 
nology offers you other unique features such as Multiport Memories, Distributed Processing, Big Disks with 
up to 300 megabytes on line, and Advanced Software. 





1 1 679 Hayden • Hiram, Ohio 44234 



32 



3YTE December 1977 



Announcing the most 
advanced disk 
anywhere for s 6,000 

The 74 megabyte disk 
from Ohio Scientific 

C-D74 from Ohio 
Scientific is the ultimate 
storage device for small 
computers. 

TheC-D74 is the first 
Winchester technology disk 
for small computers making 
big system technology af- 
fordable and reliable for the 
small system not under 
maintenance contract. 

The disk uses a non-re- 
movable sealed chamber 
drive with a unique rotary 
positioner to provide the 
highest performance disk 
available today. 

The Ohio Scientific 
C-D74can store all the 
records of a medium size 
company for instant access. 
And the Winchester tech- 
nology of the C-D74 means 
that the drive can run 24 
hours a day without worry 
of disk wear. 

There are other important 
C-D74 applications in business 
computing and research in computing 
itself. The disk makes small computers 
practical for much larger jobs than 
formerly thought feasible, particularly since most business computing is 
disk bound and not computer bound. 

C-D74 provides an unbelievable 35 millisecond average access time 
to any of 74 million bytes of information. With a 10 millisecond single 
track seek, the drive has an incredible data transfer rate of 7.3 megabits 
per second. 

Recommended minimum hardware for the C-D74 is a Challenger 
with 32K RAM and at least 8K on a Dual Port 525 board, and a single 
or dual-drive floppy disk. 

The drive , cable, interface for an Ohio Scientific Challenger and 
OS-74 operating'system software is $6,000 FOB Hiram, OH. 
Equipment rack shown not included. 




OHIO SCIENTIFIC 
DEALERS 

Abacuz Stores Limited 
55 Erb St. East 
Waterloo. Ontario 
Canada N2C 3E0 
(519) 885-1211 
American Microprocessors 

Equipment S Supply Corp. 
20 N. Milwaukee Ave. 
Prarieview, IL 60069 
(312) 634-0076 
Century 23 

4566 Spring Mountain Rd. 
Las Vegas, NV 89102 
Computer Mart of New York 
118 Madison Ave. 
New York. NY 10010 
(212) 686-7923 
Computer Power 
P.O. Box 28193 
San Diego, CA 92128 
(712) 746-0064 
Delaware Microsystems 
92 E. Main St. #1 
Newark, DE 19711 
(302) 738-3700 
Desert Data 
Microcomputer Sales 
P.O. Box 1334 
Tucson, AZ 85702 
(602) 623-6502 
The Homa Computer Co. 
P.O. Box 1891 
University Station 
Charlottesville. VA 22903 
(804) 295-1975 
Mlcrocomp 
P.O. Box 1221 
Fond-Du-Lac, Wl 54935 
(414) 921-4669 
Microcomputer Workshop 
234 Tennyson Terr. 
Williamsville, NY 14221 
(716) 634-6844 
Omaha Computer Stare 
4540 S. 84th St. 
Omaha, NE 68127 
(402) 592-3590 



REPRESENTATIVES 



Abacuz Data 

P.O. Box 276 

Oil City. PA 16301 

Associates Consultents 

33 Ogden Ave. 

East Williston, NY 11596 

(516) 746-1079 

BRAG Microcomputers 

19 Cambridge St. 

Rochester, NY 14607 

(716)442-5861 

Computer Business 

P.O. Box 171 

LaPorte, IN 46350 

(219) 362-5812 

Johnson Computer 

P.O. Box 523 

Medina, OH 44256 

(216) 725-4560 

Omega Computing, Ltd. 

Box 220, Station P 

Toronto, Ont. M5S 2S7 

(416) 424-2174 

Pan Atlantic Computer Systems, GmbH 

61 Darmstadt 

Frankfurterstrasse 78 

West Germany 

(08102) 3206 

Science Education Extension 

11516 LeHavre Dr. 

Potomac, MD 20854 

(301) 299-9506 

Spectrum Technology Services 

P.O. Box 942 

Palos Verdes Estates, CA 90274 

Tek-Aids, Inc. 

1513 Crain St. 

Evanston, IL 60202 

(312) 328-0110 



Secom Systems 

541-1 New Peach Tree Rd. 
Chamhlee, GA 30341 
(404) 934-3272 
Yingco, Inc. 
2 World Trade Cntr. 
Penthouse 107th Floor 
New York, NY 10048 
(212) 775-1184 



The state of the art in small computers. 

To order direct call 1-216-569-3241 




Take an 
even BIGGER 



Byte 



i 



Fully assembled DEC 

Writer II Keyboard 

Printing Terminal at the 

sensational low price 

of only $1495! 



with the Heathkit H11 16- Bit Personal Computing System 



Based on the world-famous DEC 
LSI-1 1 , the Heathkit H1 1 and it's 
peripherals are designed to give you 
all the power and speed you need for 
total computing versatility. It's one of 
the few FULL 1 6-bit personal com- 
puters available to hobbyists today, 
and equivalent commercial versions 
would cost literally thousands of dol- 
lars more! As with the H8 system, 
complete "program-ready" software 
is supplied: the Heath/DEC PDP-1 1 
software includes ED-11 editor; 
PAL-11S relocatable assembler; 
LINK-11S link editor; Absolute 
Loader; ODT-11X debug; IOX LP I/O 
executive program; DUMP-AB-PO 
and DUMP-AB-PB; plus BASIC and 
FOCAL; and it executes the PDP-1 1 / 



40 instruction set! The software is 
supplied in easy-to-use paper tape 
format, perfect for the H10 paper tape 
reader/punch. And with Heath's 
complete assembly manuals and 
software documentation, you have 
the most solidly supported computer 
system you'll find anywhere. Sink 
your teeth into it today! 

H11 LSI-1 1 16-Bit Computer $1295 

H11-1 4K Memory 275 

H11-2 Parallel Interface 95 

H11-5 Serial Interface 95 

H10 Paper Tape/Reader/Punch . .350 
H36 LA36 DEC Writer II 1495 

If purchased separately, 



Heath System Price 



*3605 00 

S33500C 




Prices are mail order net F.O.B., Benton Harbor, Michigan. 
Prices and specifications subject to change without notice. 

Heathkit Catalog 

Read about computers and nearly 
400 other easy-to-build kits. 



Schlumberger 



Heath Company, 334-360 
Benton Harbor, Ml 49022 



Please send me my FREE Heathkit Catalog. 
I am not on your mailing list. 



Name- 




Address- 
City 



CP-133-1 



_State_ 
Zip- 



Use coupon for 

mail-order 

catalog or bring 

to store for 

retail catalog. 



34 



BYTE Decemher 1977 



AVAILABLE LOCALLY 
Visit the Heathkit Electronic Center 
nearest you (Units of Schlumberger 
Products Corporation) and see our 
Complete Computer Line 
Parts and service available. All kits dis- 
played, and sold at slightly higher prices. 
ARIZONA - Phoenix, 85017 

2727 W. Indian School Rd. 602-279-6247 
CALIFORNIA 

Anaheim, 92805 

330 E. Ball Rd. 714-776-9420 

El Cerrito, 94530 

6000 Potrero Ave. 415-236-8870 

Los Angeles, 90007 

2309 S. Flower St. 213-749-0261 

Pomona, 91767 

1655 Orange Grove Ave. N. 714-623-3543 

Redwood City, 94063 

2001 Middlefield Rd. 415-365-8155 

Sacramento, 95625 

1860 Fulton Ave. 916-486-1575 

San Diego (La Mesa, 92041) 

8363 Center Dr. 714-461-0110 

Woodland Hills, 91364 

22504 Ventura Blvd. 213-883-0531 
COLORADO - Denver, 80212 

5940 W. 38th Ave. 303-422-3408 
CONNECTICUT- Hartford (Avon, 06001) 

395 W. Main St. (Rte. 44) 203-678-0323 
FLORIDA 

Miami (Hialeah, 33012) 

4705 W. 16th Ave. 305-823-2280 

Tampa, 33614 

4019 West Hillsborough Ave. 813-886-2541 
GEORGIA- Atlanta, 30342 

5285 Roswell Rd. 404-252-4341 
ILLINOIS 

Chicago, 60645 

3462-66 W. Devon Ave. 312-583-3920 

Chicago (Downers Grove, 60515) 

224 Ogden Ave. 312-852-1304 
INDIANA - Indianapolis, 46220 

2112 E. 62nd St. 317-257-4321 
KANSAS - Kansas City (Mission, 66202) 

5960 Lamar Ave. 913-362-4486 
KENTUCKY - Louisville, 40243 

12401 Shelbyville Rd. 502-245-7811 
LOUISIANA -New Orleans (Kenner, 70062) 

1900 Veterans Memorial Hwy. 504-722-6321 
MARYLAND 

Baltimore, 21234 

1713 E. Joppa Rd. 301-661-4446 

Rockville, 20B52 

5542 Nicholson Lane 301-881-5420 
MASSACHUSETTS 

Boston (Peabody, 01960) 

242 Andover St. 617-531-9330 

Boston (Wellesley, 02181) 

165 Worcester Ave. 

(Rt. 9 just west of Rt. 128) 617-237-1510 
MICHIGAN 

Detroit, 48219 

18645 W. Eight Mile Rd. 313-535-6480 

E. Detroit, 48021 

18149 E. Eight Mile Rd. 313-772-0416 
MINNESOTA— Minneapolis (Hopkins, 55343) 

101 Shady Oak Rd. 612-938-6371 
MISSOURI - St. Louis (Bridgeton) 63044 

3794 McKelvey Rd. 314-291-1850 
NEBRASKA -Omaha, 68134 

9207 Maple St. 402-391-2071 
NEW JERSEY 

Fair Lawn, 07410 

35-07 Broadway (Rte. 4) 201-791-6935 

Ocean, 07712 

1013 State Hwy. 35 201-775-1231 
NEW YORK 

Buffalo (Amherst, 14226) 

3476 Sheridan Dr. 716-835-3090 

Jericho, Long Island, 11753 

15 Jericho Turnpike 516-334-8181 

Rochester, 14623 

937 Jefferson Rd. 716-244-5470 

While Plains 

(North White Plains, 10603) 

7 Reservoir Rd. 914-761-7690 
OHIO 

Cincinnati (Woodlawn, 45215) 

10133 Springfield Pike 513-771-8850 

Cleveland, 44129 

5444 Pearl Rd. 216-886-2590 

Columbus, 43229 

2500 Morse Rd. 614-475-7200 

Toledo, 43615 

48 So. Byrne Rd. 419-537-1887 
PENNSYLVANIA 

Philadelphia, 19149 

6318 Roosevelt Blvd. 215-288-0180 

Frazer (Chester Co.) 19355 

630 Lancaster Pike (Rt. 30) 215-647-5555 

Pittsburgh, 15235 

3482 Wm. Penn Hwy. 412-824-3564 
RHODE ISLAND 

Providence (Warwick, 02886) 

558 Greenwich Ave. 401-738-5150 
TEXAS 

Dallas, 75201 

2715 Ross Ave. 214-826-4053 

Houston, 77027 

3705 Westheimer 713-623-2090 
VIRGINIA 

Alexandria, 22303 

6201 Richmond Hwy. 703-765-5515 

Norfolk (Virginia Beach, 23455) 

1055 Independence Blvd. 804-460-0997 
WASHINGTON -Seattle, 98121 

2221 Third Ave. 206-682-2172 
WISCONSIN - Milwaukee, 53216 

5215 W. Fond du Lac 414-873-8250 
OPENING THIS FALL: San Jose, California 

Circle 58 on inquiry card. 



Continued from page 28 



SOLENOID 



PRESSURE PAD 
LOAD SPRING 



CARTRIDGE 
DISKETTE 

SPINDLE 





READ AND 
WRITE HEAD 



' LEAD SCREW 



HEAD POSITION MOTOR 



Figure 3: Diagrammatic representation of a floppy disk drive system. The read and write head and the pressure pad are mounted 
on the head carriage, which can be moved radially (see arrow A) to any given data track by means of the motor controlled lead 
screw. The bail Is solenoid actuated (see arrow B) and is used to lift the pressure pad away from the disk during insertion and 
removal. The floppy disk remains in its protective plastic cartridge at all times; the head makes contact with the oxide surface 
through an access slot (see figure 1). The spindle rotates the floppy disk at 360 rpm during use. 



distance away from the magnetic surface in 
the relative wind created by the rapidly 
spinning disk. Flying heads are very difficult 
to build and maintain, and therefore quite 
expensive. The advantage of flying heads is 
that they cause no wear on the disk surface 
(unless they "crash," of course) and there- 
fore permit very high rotational speeds and 
data rate. 

Floppies, on the other hand, use a con- 
tact head. Contact heads are much simpler, 
mechanically speaking. They are pressed 
onto the floppy in much the same way as a 
tape head is pressed into magnetic tape. 
Thus in the terminology of flying heads, 
floppy disk heads are permanently 
"crashed." The chief drawback of these 
contact heads is the wear they cause to the 
floppy and vice versa. Diskettes are rated in 
terms of the number of passes the head 
makes over a particular spot before an error 
is likely to occur there, while read and write 
heads are rated in terms of the number of 
hours they can survive contact with the 
diskette before replacement. Typically 
quoted values of component life are in the 
millions of passes per track for diskettes, and 
tens of thousands of hours of contact for the 
read and write heads. In order to stretch the 
useful component lives, most floppy control- 
lers will command the drive to unload the 
head from the diskette when the floppy is 



not being used. A typical mechanism for 
head loading and positioning is shown 
schematically in figure 3. 

Most manufacturers use a lead screw 
driven by a stepping motor to move the head 
from track to track (A stepper motor is a 
motor which rotates a fixed number of 
degrees every time it receives a pulse.). 'The 
head is mounted on a carriage which is 
pushed back and forth across the diskette 
by the rotation of the lead screw. The pitch 
of the lead screw is chosen such that the 
stepper motor's angular rotation is trans- 
lated into a linear motion equal to the track- 
to-track radial distance of 0.0213 inches 
(0.05 cm) (IBM format). A "seek," which 
means moving the head to the desired track, 
consists of the retraction of the head back to 
track 00 followed by n pulses to the stepper 
motor in order to reach the desired track n. 
Track 00 position of the head is detected 
by a microswitch sensor. Likewise, tracks 
44-76 are detected, for reasons to be dis- 
cussed later. Variations on head positioning 
schemes in the newer drives include "voice 
coil" methods which position the head with 
a linear actuator similar to an acoustic 
suspension loud speaker's voice coil. 

Controllers 

The basic function of a floppy disk con- 
troller is to do many of the small house- 



BYTE December 1977 



35 



keeping tasks necessary in order to use the 
floppy as a storage device. Perhaps the most 
important task of a controller is the handling 
of floppy disk formatting. Formatting is the 
key to the floppy disk's random access capa- 
bility, since it provides the stored data with 
access addresses. 

Basically, formatting breaks each track up 
into discrete areas known as sectors. Each 
sector is of fixed length and is assigned its 
own address based on the sector's physical 
location on the disk. With soft sectored 
disks, sector addresses are permanently 
written into the beginning of each sector to 
uniquely identify the corresponding block 
of data. 

Formatting is a concept similar to the 



wide bands between selections on a phono- 
graph record. The bands on a record allow 
the- listener to select and play particular 
songs. In fact, a recent addition to the list of 
exotic hi fi equipment is a microprocessor 
controlled turntable called the Accutrac. 
The unit has an infrared emitter and re- 
flection detector built into the tonearm head 
which sense when the tonearm is over a 
smooth band, detect the record's format, 
and allow the processor to randomly access 
any track. The track can be played and re- 
played, or any other track on that side of 
the record can be accessed. 

A floppy disk controller works in much 
the same way. The computer passes a sector 
address to the controller, which moves the 





Figure 4: The IBM 3740 floppy disk format. The format is "soft" sectored, meaning that data written in the track controls the 
organization of information on each track. Each of the 77 data tracks on the floppy disk contains data, address and control 
fields grouped together to form "sectors." Each sector contains a sequence of fields, identical to those of the other sectors, 
which are further broken down into individual data bytes. One complete track is shown in this illustration. The index hole 
provides the only hardware synchronization in this format. 



36 



BYTE December 1977 



Now you can gain all the speed and flexibility of a 
disk-based PolyMorphic microcomputer system 
without scrapping your POLY 88. 

Our POLY 88 Upgrade-to-Disk Kit enables you to 
quickly and easily convert your POLY 88 into a 
complete System 8813, a very versatile disk 
system with one, two or three floppy disk drives. 

You retain all the essential parts of your POLY 88 
system (including the powerful BASIC software 
library) and gainthe increased access speed and 
programming flexibility of PolyMorphic's remarkable 
new System 8813. 

Our POLY 88 Upgrade-to-Disk Kit contains every- 
thing you need to perform a quick "disk transplant" 
on your POLY 88 at home, using a few simple tools. 
Each upgrade kit contains a brushed aluminum 



front panel and walnut cabinet with one, two or 
three floppy disk drives, controller, power supply, fan 
and 2K of ROM. You also receive two copies of our 
system disk, containing our powerful disk 
operating system, fully extended BASIC and versatile 
text editor and assembler. The single-drive POLY 88 
Upgrade-to-Disk Kit costs $1,450. 

Why wait? Drop by your nearest PolyMorphic 
Systems dealer today and have him demonstrate 
the speedy and flexible new System 8813 for you. 
Then, ask him to show you just how quickly and 
easily you can perform a disk transplant on your 
POLY 88. 

If you can't drop by your dealer, please call us at 
(805) 967-0468. Or write PolyMorphic Systems Inc., 
460 Ward Drive, Santa Barbara, CA 93111. 



Perform a 
disk transplant 




BYTE December 1977 



37 



DATA BYTE 



► I I I 10 

juin_mLnn^uumjL 



CLOCK BITS 



I I 



I I 



I I 



GAP BYTE 



00000000 



jL_n^i^L_ji_n 



ji 



CLOCK BITS 



I I 



I I 



I I I I 



ADDRESS MARKS 



juiniLJLJLJiJL'mjimi 



CLOCK BITS 



Figure 5: Examples of FM data encoding. In this scheme, clock bits alternate 
with data bits to provide constant resynchronization during data recovery. 
The concept of FM, or "frequency modulation, " comes about because a 
string of Is in the data bit, when interlaced with the clock bits, gives a differ- 
ent frequency of pulses than a string of Os. The pulse train at the top of the 
figure shows the data byte J 001 01 10 encoded using this technique. The 
middle section shows the format for a "gap " or zero byte. Gaps are used to 
provide buffer regions between fields so that minor fluctuations in motor 
speed will not affect accuracy. Also shown is the format for address marks, 
which serve to inform the system that the next byte is the beginning of a 
data or address field. Certain clock and data bits of the address marks are 
intentionally set equal to zero in order to differentiate them from other types 
of bytes. The last three data bits in the address mark tell whether the infor- 
mation that follows is deleted data, regular data, an index byte or an ID 
byte. 

head to the proper track. The controller 
then waits for the desired sector address to 
pass under the head before allowing the data 
transfer to occur. The data transfers are 
always of fixed length to avoid unintentional 
overwriting of other sectors. 

The IBM standard format is illustrated in 
figure 4. It currently represents the most 
popular form of soft sectoring. The format 
is conservatively designed to protect against 
overwrites and to synchronize data transfers. 
The format details the content of each of 
the 77 tracks: data, address and control 
fields grouped together to form sectors. 
Each sector contains a sequence of fields 
identical to those of the other sectors. These 
fields are further broken down into individ- 
ual data bytes, each of which is coded to 




n n n 


MARK TYPE 





DELETED DATA 


I 1 


DATA 


1 


INDEX 


1 1 


ID 



identify its type to the controller. This 
encoding is easily accomplished through the 
use of clock bits. Clock bits are written, as 
shown in figure 5, prior to every data bit on 
a diskette. This is done to provide continu- 
ous resynchronization in the data recovery 
process. This in turn decreases the confusion 
resulting from small motor speed variations 
while decreasing the signal recovery band- 
width and improving the overall data reli- 
ability. Most data recovery circuits utilize 
a phase locked loop which provides a limited 
form of timing memory that can recover a 
data bit if the preceding clock bit is missing, 
or the motor speed is slightly off. Those 
bytes which serve a special formatting func- 
tion are called address marks and are rec- 
ognized by a pattern of intentionally 
missing clock bits. There is a single pattern 
of clock bits that serves to identify all four 
types of address marks; each type is iden- 



38 



BYTE December 1977 



Circle 96 on inquiry card. 





theVEClOTI 



4-T 



filial 

PROM/RAM 

BOARD 

from 

VeClO=* G=*APHC 




PROM: Space for 2K bytes, 1702A. Store 
bootstrap loaders and monitors. 

RAM: 1K bytes, 2102LIPC, 450 ns, low 
power. NO NEED TO RELOCATE STACK 
WHEN ADDING MEMORY. 

CIRCUITRY: Replaces memory write logic 
on ALTAIR™ and Imsai front panels. 

REGULATORS: Two regulators. No need for 
regulated power supply. 

JUMP-ON-RESET: PROM program execu- 
tion starts at any location in memory without 
interfering with programs in any other por- 
tion of memory. 

S-100 BUS; +8 and -16 VDC; P/C BOARD 
SOLDER MASKED BOTH SIDES WITH 
PLATED THROUGH HOLES; ALL SOCKETS 
INCLUDED. 

OPTIONAL FIRMWARE: 512 byte monitor 
for use with Tarbell tape interface on 2, 
1702A PROMs. 

PROM/RAM KIT WITHOUT PROMS 

+ OPTION A - SIO Rev. 1 or 3 P + S 
+ OPTION B-2SIO(MITS) 
+ OPTION C- SIO 2 (IMSAI) 



$ 89 
$129 
$129 
$129 
$159 



+ OPTION D - Poly Video Interface 

(Includes Video Driver) 

California residents please add 6% tax. 

IMMEDIATE DELIVERY FROM FACTORY 
OR YOUR LOCAL COMPUTER STORE 

T.M. 

OH G3APHC inc. 

717 LAKEFIELD ROAD. SUITE F • WESTLAKE VILLAGE, CA 91361 • (805) 497-0733 



Circle 127 on inquiry card. 



BYTE December 1977 



39 



Pressure Pad 



Spindle 



Head Position 
Motor 




Lead Screw 



Read and Write Head 



Insertion Slot 



Photo I : A floppy disk unit. The cover has been opened to reveal the disk 
drive system and its associated electronics. The floppy disk is inserted and 
removed at the front, as shown. Courtesy Innovex Corporation. 



tified by the data bits in the byte. Address 
marks serve to inform the system that the 
next byte is the beginning of a data or 
address field. 

Another special byte present in the IBM 
format is the zero byte, which makes up the 
predefined gaps. Gaps exist to provide a 
buffer region between other fields whose 
physical length may vary slightly, depending 
on the spindle speed and software synchro- 
nization. Gap bytes contain only clock bits 
which preserve the proper output frequency 
in the phase locked loop for synchronous 
data recovery, starting with the first byte 
of the next field. 

Picking the index hole as a convenient 
starting reference, every track will contain 
the same sequence of data, address and con- 



trol fields. Roughly 46 gap bytes after the 
leading edge of the index photocell there 
is an address mark called an index address 
mark. The index address mark byte serves 
as a landmark indicating that exactly 32 
bytes follow before the first byte of the first 
sector of the track. The length of the post 
index gap is fixed at 32 bytes since it lies 
between the index address mark and the ID 
record of the first sector, and neither of 
these fields are user written. Consequently, 
they are immovable and fixed in length. 

Each sector has four major fields: the ID 
record, the ID gap, the data field record, 
and the data gap. The ID record, as its name 
implies, provides the complete identification 
for the sector. Its first byte is an ID address 
mark which permits the system to get ready 
to read the address information. Next are 
the 8 bit track and sector address fields, 
each followed by a byte of eight zeros. 
Finally, a 16 bit cyclic redundancy check 
word (see BYTE, March 1977, page 42) is 
calculated to confirm error free address read 
back. Note that in the IBM format, the track 
and sector addresses are defined by the 
sector's physical location on the diskette. 
Because of this the user cannot usually 
modify the ID record. Following the ID 
record is the ID gap, which is 17 bytes 
long. Its primary functions are to buffer 
the length of the data field record and 
to provide a place for the read and write 
head to switch to write mode before enter- 
ing the data area without disrupting any 
other information. 

The data field record is the heart of the 
floppy disk, and without it none of the rest 
of these fields would be necessary. The data 
field consists of 130 eight byte bits in which 
the owner of the diskette is free to record 
programs, text, or any other information 
desired. Actually, only 128 bytes of the 130 
bytes allocated is free for user data; the final 
two bytes of the data field are reserved for 
another cyclic redundancy check (CRC) 
word, to permit error checking during 
read operations. After the cyclic redundancy 
check word, there is another gap, 33 bytes 
long, providing a head write-to-read transi- 
tion area and another safeguard against data 
spillover. The next sector's ID address mark 
follows immediately after the data gap. Of 
course, the tangential speed of the diskette 
is different for every track, being greatest on 
track 00 and least on track 77. This physical 
fact, combined with a constant data rate of 



40 



BYTE December 1977 



THIS IS ^ flCTUflL PHOTOGRfPH OF fi DISPLffi' 9CREB- SHQHDC K 
OfflflCTERS fflBWO W OR UN AfflHB-n. 

Tf€ APHft-VUHI LETS YOU DKFW BOTH IffER AND low case 
UTTERS, 64 CHflRACTERS PER UC. 16 LD€5 EP IN fl QflR, 
EtfWDED FORMftT. FOR CHY $145.00! 



The neui flM-VBI-II is not a kit, but a fully assented, 
tested, burnt-in board with a 1 year uarranty. tod look at 
whet you get! We use fast, 250 nsec RflM'S to allow using the 
ftPHft-VDM-II with the 280 micro processor cards, And there's 
a keyboard input port that allows use of an ASCII encoded 
keyboard, uitn +5v & -12V power supplied for keyboard logic. 



The Alpha-VDM-ll contains 1K (1024) bytes of ran- 
dom access memory, to which the processor can 
read or write, just as though the memory were an 
integral part of the system. As the information is 
written, the contents of this on-card memory are 
displayed instantly without interrupting the opera- 
tion of the processor. 

All timing required to generate a standard video 
signal is provided by a crystal oscillator and as- 
sociated digital circuitry. Centering of the display 
on the monitor screen is controlled by drift-free 
counter logic. 

The 1K by 8 static display memory buffer is directly 
addressable as RAM on the S-100 bus. Displaying 
data on the screen is accomplished by moving the 
data to be displayed in the first 512 bytes of the 
Alpha-VDM memory. Therefore the display update 
is essentially instantaneous. Output routines can 
make use of all Memory Reference instruction, in- 
cluding one byte moves, (i.e. MOV M, reg.) 

Multiple programmable cursor circuitry is built in. 
All 1024 cursors can be displayed at one time, and 
anywhere in the display. Thus, the VDM can display 
white-on-black or black-on-white — perfect for 
many video games! The VDM also features EIA 

Circle 68 on inquiry card. 



Video output for any standard video monitor, or a 
TV repair shop can easily modify your own set. 

The VDM comes with free terminal mode software, 
designed for teletype replacement. Options include 
select blinking cursors, text line blanking after car- 
riage return. 

Also available: 4K RAM; $107.00, 8K RAM; 
$197.50, 8K(Z) fast RAM; $217.50, Alpha-VDM; 
$107.00, Graphics-VDM; $137.00. 

Order direct, by check, BankAmericard or Master 
Charge (Add $1.50 shipping, credit customers give 
us all the card numbers, please and Ohio residents 
add 4 1 /2% sales tax) or contact us for more infor- 
mation. Kent-Moore Instrument Company, a sub- 
sidiary of Kent-Moore Corporation (founded in 
1919), P.O. Box 507, Industrial Ave., Pioneer, Ohio 
43554. (419) 737-2352. Or, Kent-Moore of Canada, 
246 S. Cawthra Rd., Mississauga, Ontario L-A3P2, 
Canada. 



Kent-Moore 
INSTRUMENT COMPANY 



BYTE December 1977 41 




Photo 2: A closeup of the 
Shugart SA850 double- 
sided floppy disk head 
assembly. Each head in 
effect acts as the pressure 
pad for the other head. 
Courtesy Shugart Asso- 
ciates. 




250 kHz, means that the physical bit density 
on each track will be different, track 77 
having the highest density. In order to pre- 
vent peak shift distortion (see BYTE, 
February 1977, page 36) on the more 
crowded innermost tracks, the write current 
delivered to the head is reduced when 
writing on tracks 44-77. 

Most floppies in use today use the fre- 
quency modulation (FM) encoding described 
here. In the search for ever higher per- 
formance, several new codes have been 
developed to increase the capacity and 
transfer rate of floppy disks. These schemes 
are MFM (modified FM) and M2FM 
(modified MFM) which are usually referred 



to as "double density" options by manu- 
facturers. They work by a set of rules that 
remove clock bits when those bits will not 
be required for synchronization. Group 
coded data is also more compressed than 
raw FM. All of these techniques require 
more sophisticated electronics than FM, and 
are slightly less reliable because they remove 
redundancy and at the same time have prob- 
lems with peak shift due to more critical 
timing requirements. 

Hard sectoring is another high perform- 
ance option increasing the storage capacity 
of a diskette. By adding sector holes tied 
through the index photosensor to a sector 
address counter circuit, the need for space 



42 



BYTE December 1977 



wasting address fields is eliminated, increas- 
ing the space available for data. The number 
of data sectors is increased from 26 to 32 
in most hard sectoring schemes. 

There have been several complex large 
scale integration (LSI) chips introduced, 
such as Nippon Electric's NEC MPD372, 
which contain most of the circuitry neces- 
sary to perform the formatting and device 
control functions of a floppy disk controller. 
These chips obviously simplify the task of 
designing a general purpose, inexpensive 
controller. 

Decoding a diskette's format codes is as 
far as some controllers go. They leave much 
work still to be done by software in the 
host computer in order to retrieve data files 
from a diskette. At the other extreme some 
controllers have dedicated intelligence in the 
form of their own microprocessors. A floppy 
disk operating system will usually include a 
general-purpose set of subroutines, called 
a device handler, which takes care of what- 
ever messy details the controller can't do. 
A partial list of the tasks required of a 
device handler for a floppy disk includes: 

• determining the track and sector 
address of a desired file 

• doing a seek to the desired track 

• scanning sector addresses for a match 

• reading, writing and buffering data 

• error detection and correction 

If the files to be stored are longer than 
one sector's worth of data, then there must 
be additional software, usually called a file 
management package. The file manager 
determines how to break up and reassemble 
large blocks of data and maintain a directory 
of where all the files and remaining free 
space is located. The file manager is typically 
used to invoke the device handler in order 
to keep minor details transparent to the 
user. The user merely has to call the file 
manager and ask that a file identified by a 
name be either written or retrieved. From 
that point on, he or she can be completely 
ignorant of the details of lookups, timing, 
noncontiguous files, error retries and many 
othe complications required for floppy disk 
operation. Of course, transparent or not, 
these two programs add quite a bit of over- 
head to the task of disk access: the host 
computer must spend time (up to several 
hundred milliseconds) between the time 
a request is made to the file manager and the 
time the access begins. In most micro- 
processors and minicomputers, this time 
is precious and could almost always be spent 
more profitably elsewhere. 

In an effort to reduce unproductive over- 
head time, many manufacturers are design- 



The Dual Sided Floppy 

One of the most promising develop- 
ments in the floppy disk field is the 
new two-sided floppy. An example of 
this is the Shugart Associates SA850/ 
851 double sided floppy disk drive 
shown in photo 2. Details of the drive 
mechanism are shown in figure 6. The 
price of the unit is approximately 
$750, and it is capable of storing up 
to four times the data of a standard 
floppy disk drive (1600 K bytes unfor- 
matted or 1200 K bytes formatted). 
The unit is available with double 
density FM encoding capability (called 
M^FM). A metal band driven by a 
stepper motor is used to position the 
dual head assembly. Photo 2 shows a 
closeup of the head assembly. 




1 Base Casting 
Mounting Plate 



Capstan 



Double-Sided 
Diskette 



Figure 6: A diagram of the Shugart SA 850 dual sided floppy disk drive. Note 
the metal band which is used for positioning the head assembly. (Graphics 
courtesy Shugart Associates.) 



BYTE December 1977 43 



Command Language 






Command 


Command Syntax 


Function 


Allocate 


AX n 




Create an empty 
file of length 
n with name 
A* 


Copy 


CX Y 




Copy file X into 
Y 


Delete 


D X 




Delete file X 


Eject 


Ed 




Eject diskette 
in drive d 


File 


F u X 




Open file X and 
assign it 
logical unit 
number u 




F u 




Close file asso- 
ciated with u 




F 




Close all files 


Gap 


Gd 




Compress data 
gaps on drive 
d 


Input 


1 t sd 




Read sector s on 
track t on 
drive d 


Kill 


K d seq 




Initialize diskette 
on drive d 
with optional 
interleaved 
sector 
sequence seq 


Load 


LX 




Read entire file X 


Name 


N X Y 




Rename X by Y 


Output 


t s d 




Write sector s 
on track t on 
drive d 


Position 


Pus byte 




Position open 
file associated 
with u to the 
relative sector 
and byte 
offset 




Pu 




Report current 
position of 
open file 
associated 
with u 


Query 


QX 




Report index 
track info for 
file X 


Read 


Run 




Read n bytes 
from open 
file u 




R u 




Read variable 
length record 
from open 

file u 


Save 


S X 




Write a new file 
called X 


Test 


Td 




Run diagnostics 
on drive d 


Write 


W u n 




Write n bytes to 
the open file 
associated 
with u 


*File References (FR): A 4 part 


identifier for each 


disk file < 


:onsists of a 


name, 


version, type and 


drive num 


ber. Identifiers consist of alphanumeric 


characters 


separated by 


special 


punctuation char- 


acters. "Wild card" and 


partial 


file constructions 


are allowed. 







Table 2: The command set for the PerSci intelligent 
floppy disk controller. 



ing and producing "intelligent" controllers, 
which vary from dumb to very bright. The 
label "intelligent" does not specify exactly 
what the controller is capable of, but indi- 
cates only that it can reduce the host's 
workload associated with floppy disk use. 
These intelligent controllers usually take the 
form of a separate high speed dedicated 
microprocessor attached to the host's DMA- 
10 bus. The host can issue a small number of 
macrocommands which the controller pro- 
cessor can decode and execute on its own. 

There are two paths to intelligence that 
manufacturers are currently taking. The 
first, similar to the channel computer con- 
cept, is to provide a controller capable of 
executing user-written mini-instructions 
directly and independent of the host's main 
memory. These mini-instructions, above the 
level of the controller's microcode but 
below the level of typical user file 
commands (GET file, PUT file), provide a 
great deal of flexibility in terms of incor- 
porating the floppy into a preexisting high 
performance operating system. Controllers 
of this type might be most efficiently used 
in high performance minicomputer systems. 
Here a sophisticated file manager program 
can take full advantage of the flexibility and 
other features of this type of controller and 
at the same time reduce the host's workload. 
An example of this type of controller is 
Scientific Micro Systems' FD0300 family of 
controllers for various different computer 
families. 

The second approach is to incorporate 
the entire device handler and most of the 
file manager programs into the controller. 
This method takes care of the hardware de- 
tails and most of the software details of file 
management for the user. However, this 
is at the expense of eliminating control of 
file formats, directories and other things, 
since the controller usually has a fixed and 
rather simplistic approach to file manage- 
ment. This is not necessarily bad for 
personal microcomputer systems, in which 
the goal is not necessarily tricky data file 
manipulations but rather rapid and con- 
venient access to a small number of files 
(such as assemblers, compilers, sources and 
object codes). In fact, this type of controller 
may be the best bet for meeting that sort 
of system requirement. An example of this 
type of controller is the PerSci 1070. The 
1070 communicates with its host largely 
by single character ASCII codes which 
signify major file operations such as S for 
seek, D for delete, and G for get (read). 
The complete list of 1070 op codes is 
fairly powerful, as can be seen in table 2. 

Adding intelligence to a floppy disk con- 



44 



BYTE December 1977 



trailer costs about $200 to $300. This 
brings the total cost to about $400 to $600, 
matching the cost of most floppy disk 
drives. Including another $200 for a power 
supply, cables and a cabinet raises the cost 
of a floppy disk system to double that of 
many personal computer systems. Many 
personal computer systems (the author's 
included) are little more than workshop 
curiosities. The addition of a fast mass 
storage device would transform them into 
convenient and powerful interactive tools." 



GLOSSARY 

Address mark: A special byte used for format- 
ting data (see figure 5). 

Bail: A solenoid operated mechanical device 
used to lift the pressure pad away from the 
floppy disk during insertion and removal. 

Cartridge: A square plastic sleeve used to 
protect the floppy disk. 

Data field: That portion of a sector in which 
data can be stored. 

Floppy disk: A flexible plastic disk used for 
bulk data storage and retrieval. 

FM encoding: A floppy disk encoding tech- 
nique in which clock bits alternate with data 
bits in a serial pulse train. 

Gap byte: A data byte consisting of all zeros, 
used as a buffer between various regions on the 
floppy disk. 

Hard sectoring: A technique of sector identifi- 
cation in which each sector is assigned a unique 
physical hole on the disk, and 32 sectors can be 
put in a single floppy disk track. Since this 
form of sectoring requires a unique hole pat- 
tern and a different type of controller, it is 
incompatible with soft sectored disks. 

Head: An electromagnetic device used for 
reading, recording or erasing data on a magnetic 
medium such as the floppy disk. 

Sector: One of several fixed length subdivisions 
of a floppy disk track used for storing data and 
ID information. Typical mechanisms use 26, 32 
or a similar small number of sectors per track. 

Soft sectoring: A technique of sector identifi- 
cation in which only one physical hole on the 
disk is used to synchronize the beginning of a 
track's data. Then, the remainder of the track is 
divided into sectors which contain the sector 
identification as part of the fixed format of 
data on the track. Only 26 sectors per track are 
possible due to the formatting information 
which must be recorded with each sector. This 
format is incompatible with the hard sectored 
format which achieves higher data content. 

Track: One of 77 concentric rings of data on a 
floppy disk. The radial distance between tracks 
is 0.0213 inch (0.05 cm). 



Only 

Computer Enterprises 
Has All 3: 



1. Lowest Prices 

2. Reliability 

3. Speediest 
Shipping 



North Star Horizon Computer System 

The Complete Z80A System 
*Z80ACPTJat4MHZ 

* 16K 200 ns RAM 

* Serial I/O * lor 2 

micro disk drives p ... „ , 

* Tins QnH -RA.QTn ureait L-asn 

Card Discount 
Price Price 



DOS and BASIC 



Horizon 1(1 drive) kit 
Horizon 1 (2 drives) kit 

THE standard of Video 
Display Terminals— 
Lear Siegler ADM-3A Kit 

SPECIAL TOTAL SYSTEM 
combination 
SAVE $50 MORE- 
Horizon 1 and ADM-3A 

kits 
Horizon 2 and ADM-3A 

kits 



$1497 $1439 
$1871 $1799 



$ 770 $ 740 



$2214 $2129 
$2589 $2489 



SEND FOR YOUR FREE COPY 

OF COMPUTER ENTERPRISES 

DISCOUNT CATALOG 



Polymorphic VTI / 64 kit 
IMSAI 8080 with 22 slots kit 
IMSAI Factory Assembled 16K RAM 
IMSAI Factory Assembled 32K RAM 
IMSAI Video Interface VIO-B kit 
IMSAI Video Interface VIO-C kit 
Seals 2S0ns 8K RAM kit 
TDL ZFU kit 

4K Expansion for TDL Z16K 

SEMI 4200 Chips 
TDL 8K BASIC Paper Tape 
TDL 12K BASIC Paper Tape 
TDL Macro Assembler Paper Tape 



$186 $179 

$614 $590 

$464 $446 

$748 $719 

$234 $225 

$278 $267 

$250 $240 

$252 $242 

$ 99 $ 95 

$ 13 $ 12 

$ 47 $ 45 

$ 89 $ 86 

1 47 $ 45 



Shipping charges: $10 per CPU on larger units; $1.50 
per kit. $2.00 min. per order. 

Delivery is stock to 30 days on most items. Shipment is 
immediate tor payment by cashier's check, money or- 
der or charge card. Allow 3 weeks for personal checks 
to clear. N.Y. State residents add approp. sales tax. 
Availability, prices and specs may change without 
notice. „ ., 

Write Or Call 

computer 
enterpriser™ 

Fayetteville, N.Y. 13066 
P.O. Box 71 

Phone (315) 637-6208 Today! 



Circle 28 on inquiry card. 



BYTE December 1977 



45 



Technical 
Fcpum 



Gerry Wheeler 

Computer Communications Network Group 

University of Waterloo 

Waterloo, Ontario CANADA 



Undocumented M6800 Instructions 



Table I: A list of six un- 
documented M6800 
instructions and their 
definitions. The operations 
and operation codes which 
invoke them are defined in 
the column labelled Re- 
sult, and the next instruc- 
tion address is given in 
each case. Halt and Catch 
Fire (HCF) does not have 
a "next instruction" 
address because the pro- 
cessor hangs up. 



According to Motorola there are 197 
valid operation codes for the M6800 micro- 
processor. This means that of the 256 
possible 8 bit combinations, 59 are called 
invalid instructions. 

Have you, like myself, ever wondered 
about these invalid codes? What would 
happen if you accidentally executed one? 
It does happen sometimes, of course, when- 
ever your latest software creation takes an 
unexpected leap into never never land and 
begins executing randomly set memory 
locations. What are those holes in the op 
code chart anyway? 

The mystery of those holes held my 
attention until the suspense was unbearable. 
To satisfy my gnawing curiosity I executed 
those codes deliberately, defying man and 
Motorola! And I got some interesting results. 

Some of those codes seem to be just 
NOPS: they do nothing. Others change the 
flags in the condition code register according 
to some pattern that is, as yet, unde- 
ciphered. 

But let me tell you about a couple of the 
interesting ones. See table 1 for descriptions 
of six instructions that Motorola didn't tell 
us about. The mnemonics are, of course, 
assigned by me. 

The first one, NBA, is self-explanatory. 
The A and B accumulators are ANDed to- 
gether, and the result is stored in A. I had 
to use NBA as the mnemonic because ABA 
is already used by Motorola. This instruction 
has been checked out thoroughly, and seems 
to be perfect, even setting the condition 
codes correctly. The only uncertainty is its 
execution time. 



The store immediate instructions may 
require some explanation. Consider for a 
moment the load immediate instructions. 
These instructions take the byte following 
the op code and put it into the appropriate 
register. Therefore the store immediate 
instructions should store the register into 
the byte immediately after the op code, 
right? The only flaw is that there is a hole 
left after the instruction, and the register 
is stored after that (see figure 1). Note that 
the next instruction executed is the byte 
following the newly stored register. This 
means that the store immediate A and B 
instructions are three bytes long, and the 
store immediate X and SP instructions 
are four bytes long! 

Now for the big surprise. This one has 
been dubbed HCF for Halt and Catch Fire. 
Well, almost. When this instruction is run 
the only way to see what it is doing is with 
an oscilloscope. From the user's point of 
view the machine halts and defies most 
attempts to get it restarted. Those persons 
with indicator lamps on the address bus 
will see that the processor begins to read all 
of memory, sequentially, very quickly. In 
effect, the address bus turns into a 16 bit 
counter. However, the processor takes no 
notice of what it is reading. . . it just reads. 
The only way out of this race is with the 
RESET line. The machine ignores the IRQ, 
NMI and HALT lines. For all intents and 
purposes the processor has halted and caught 
fire! It is quite possible that the HCF 
instructions are put into the 6800 design 
intentionally in the interest of production 
testing of newly fabricated processor chips. 







Hexadecimal 




Next Instruction 


Name 


Mnemonic 


Op Code 


Result 


At 


AND accumulators 


NBA 


14 


A.B^A 


PC+ 1 


store ACCA, immediate 


STAA 


87 


A-H>C+2 


PC + 3 


store ACCB, immediate 


STAB 


C7 


B~>PC+2 


PC + 3 


store SP, immediate 


STS 


8F 


SPh-^PC+2;SPI^PC+3 


PC + 4 


store IX, immediate 


STX 


CF 


IXh~>PC+2;IX|->PC+3 


PC + 4 


Halt and Catch Fire 


HCF 


9D or DD 


see text 


Not applicable 



46 



BYTE December 1977 



Circle 96 on inquiry card. 




MEMORY CAPACITY EXCEEDED 
CORRECTIVE ACTION: ADD ON MEMORY 

By Problem Solver Systems, Inc. 
• •••• FEATURES ••••• 



16K Static RAM 
250nS & 450nS Versions 

ADDRESSING in anr4K boundaries 
BANK SELECT up to 8 banks 
MEMORY PROTECT 1K increments 
BUFFERING all address and data lines 
WAIT STATES 0-Z 

SEGMENT DISABLE up to 6 1K banks 
SOL PHANTOM 



KM8B 
8K Static RAM 450nS 

• ADDRESSING select in any BK boundary 

• PROVISION for Interrupt 

• MEMORY PROTECT 

• BUFFERED data and address lines 

• PIN COMPATIBLE with KIM-1, which allows for 
a Bussed System 

• SPECIAL LOGIC which allows monitor program 
to operate with lull 65K memory 



Contact Us For The Sealer Nearest You 8040 Deering Ave., Canoga Park, Ca. » (213) 888-5079 





rPfijeiEM Solver' Systems Jn 



This one instruction might provide the auto- 
matic test equipment with a quick initial 
indication of whether the particular pro- 
cessor chip is a total dud, or a prospect 
for more detailed automatic testing and 
verification of defect free operation. 

While these instructions are now docu- 
mented, some warnings must in all fairness 
be stated lest the user run into problems. 
The primary warning is that there may be a 
reason that they were left undocumented: 
they may not work with every 6800 pro- 
cessor, so any software intended for pro- 
duction, distribution to friends or for 
publication should never use these instruc- 
tions. At different times during the history 
of M6800 production at Motorola, revisions 
and changes in the production masks may 
alter the effects of these instructions with- 
out any warning to users; after all, an 
undocumented instruction is not there from 
Motorola's point of view, so why tell the 
users about changes in its definition? Simi- 
larly, when 6800 parts are acquired from 
suppliers other than Motorola, use of inde- 
pendent designs for the production masks 
by the second source leaves definition of 
these undocumented instructions unspeci- 
fied and not necessarily identical to 



Motorola's definitions. But these warnings 
apply only to programs to be distributed 
in some way; if your personal processor 
executes these instructions and you find 
a use for them in your own handcrafted 
assembly language programs, then by all 
means take advantage of them." 



C F ? ? r r r r O P 



- NEXT INSTRUCTION 

- INDEX REGISTER STORED HERE 

- DON'T CARE 

-("CF"= STORE INDEX, IMMEDIATE) 



Figure 1 : The "Store Index Immediate" instruction requires four bytes of 
memory, as illustrated here. The operation code hexadecimal CF is followed 
by one byte which is "don't care" as far as the operation of this instruction 
is concerned. The third and fourth bytes of the operation receive the 16 bit 
address value from the index register in the normal order. In this diagram, rrrr 
is the 16 bit target for the immediate store, and OP is the first byte of the 
next instruction. Operation of the "Store Stack Pointer Immediate" instruc- 
tion is similar. 



BYTE December 1977 



47 



A $19 Music Interface 



(And Some Music Theory for Computer Nuts) 



Bill Sti Live 
800 Madison Av 
Memphis TN 38163 



"It's all Relative." So it is in physics as 
it was in music. About 600 BC Pythagoras 
discovered that strings under equal tension 
sounded harmonious if their lengths were 
in ratios of small whole numbers like 2/1, 
3/2, 4/3, 5/3, etc. Many experiments 
throughout the world since that time have 
told us that in music, it is the ratios of the 
frequencies of the notes that count, not the 
absolute frequencies. It has only been in 
recent times that there has been inter- 
national agreement that A above middle 
C is 440 Hz. Musicians call the "distance" 
between two notes an interval. Musical inter- 
vals are actually the ratios of the frequencies 
of two notes, and are so important in music 
that many of the ratios, or intervals, have 
names. For example, 2/1 is called the octave, 
3/2 is called a perfect fifth, 4/3 is called a 
perfect fourth, 5/3 is called the major sixth , 
etc. These names make sense to musicians 
because they represent the distance between 
two notes on the musical scale like do re mi 
fa sol la ti do, which might be numbered 1 
through 8, respectively. An octave is do to 
do, a perfect fifth is do to sol, a perfect 
fourth is do to fa, a major sixth is do to 
la, etc. The pure diatonic scale was con- 
structed to maximize harmony between 
notes. This scale has been called the natural 
scale, and is one of the two most widely 
used scales in Western music. Many unac- 
companied singing groups sing on this scale 
because it sounds right to them, even though 
they may not be able to tell you the dif- 
ference between pure diatonic and tempered 
diatonic scales. Later you'll see how easy 



it is for a computer to generate notes on this 
scale. 

Pianos, electronic organs, and synthe- 
sizers are all tuned to a slightly different 
scale, the equally tempered diatonic scale. 
JS Bach (1685-1750) played keyboard in- 
struments and composed music which 
required changing key signatures (which 
we'll define by example later in this discus- 
sion), during the performance. But changing 
key signatures on an instrument tuned to 
the pure diatonic scale usually required 
retuning the instrument as you'll see in a 
moment. Bach found his way out of this 
dilemma by slightly mistuning his instru- 
ments, a technique which had recently been 
developed in Europe. This tempering was 
done so that all key signatures were equally 
out of tune, or equally tempered. When 
this is done, the ratio of frequencies of any 
two adjacent notes turns out to be the 
twelfth root of two (the value 1.0594631 
noted mathematically as J >^/2 or calculated 
in FORTRAN-like languages as 2**(1 .0/1 2)). 
He chose this ratio because there are twelve 
half steps per octave and the octave is a 
ratio of 2/1. Only the octave is kept purely 
harmonic in this scale: The perfect fifth is 
0.1 1 percent low, the perfect fourth is 
0.11 percent high, the major sixth is 0.91 
percent high, etc. Since the most discrim- 
inating ear can only perceive differences 
in frequency when they are more than 
0.2 percent, the most harmonious inter- 
vals (the octave, the fifth and fourth) are 
indistinguishable between the two scales. 
But what Bach and the world gained by 
giving up a little harmonic perfection was a 
quantum jump in the versatility of fixed 
tuned instruments (and an added quantum 
jump in the time and skill required to 
properly tune one). 



48 



BYTE December 1977 



FIRST EASY WAY TO BUY 
A MINICOMPUTER 



MINI 12 SPECIFICATIONS 



Word Length 
CPU 


12 Bits 

IM6100fullystaticCMOS 

device 


Instruction Set 


Identical to the Digital 
Equipment Corporation 
PDP-8E 


Clock Rate 


4MHZ 


Major State Time 
Serial interface 


500NS 

20 MA current loop 

standard, RS-232 


Baud Rate 


Optional 

110 Standard, Others 


Memory 


optional 

8192 words standard, 

expandable to 32 K words 


Control Panel 


PDP-8E compatible, with 

additional functions 


Parallel Interface 


12 input and 12 output 




lines 


Real Time Clock 


Programmable, from 10 
MS to 40.95 seconds 


Counter 


Counts External Events 


Expansion Bus 


50 line, TTL compatible 
terminated bus structure 


Binary Loader 


ROM resident. 


Monitor Bootstrap 
Power Requirements 


ROM resident. 

100/120/200/240 VAC, 




50/60 HZ 


Dimensions 


2" high x 13" wide x 14" 
deep 




BUT 




HOW'M I GONNA PAY 
FOR IT? 

TLF offers 3 purchase plans: 

1) CASH with order - and receive 
a BONUS CERTIFICATE 
worth $100 on selected MINI 
12 accessories. 

2) Send $350 with order and pay 
balance of $545 when ready to 
ship or COD to postman. 

3) NO INTEREST EASY 
PAYMENT PLAN 



HERE'S HOW IT WORKS: 



STEP 1 

Fill in coupon below 
and mail TODAY 
with your check for 
$195 to: 

TLF 

P.O. Box 2298 

Littleton 

Colorado 80161 



C^ 





And your wife will be happy 
too! In fact she might just 
buy it herself (for you of 
course) for Christmas. 



You can use your BAC/ 
VISA, Master Charge or 
American Express too! 

Make all cheques payable to 
TLF Corporation. 

I 

Please enter my order for 



STEP 2 

When your MINI 12 is ready 
to be shipped you send us 
$200 or pay postman COD. 



STEP 3 

The balance of $500 is paid 
in 4 equal monthly 
installments of $125 each. 

TOTAL PRICE ONLY $895 

WHAT COULD BE 
SIMPLER? 




©TLF 1977 



MINI 12 Computers @ $895 each as per the plan checked below: 

1 D Enclosed is $895 - I want the Bonus certificate. □ Send more information please. 

2 □ Enclosed is $350 - I will pay $545 when you're ready to ship or COD when delivered. 

3 □ Enclosed is $195 - I will pay $200 when you're ready to ship and 4 monthly payments of $125 ea. 



Check 

Card# 

Signature 

Name 

Address . 

City 

TLF 



Money Order . 



BAC/VISA _ 
Interbank #. 



Master Charge 



American Express 



. Exp Date. 



Phone 



State 



. Zip . 



Corporation 
Telephone 



P.O. 
303 



Box 
922 



2298 
6241 



Littleton 



Colorado 
Telex 454541 



80161 



Circle 121 on inquiry card. 



BYTE December 1977 49 



Harmonious Computers 

Microcomputers can give us both per- 
fection and versatility. Since division by 
small whole numbers is trivial with digital 
electronics, it is at first sight more practical 
to use the pure diatonic scale when digitally 
generating music, just as it has been more 
practical to use the equally tempered dia- 
tonic scale for music performed on classical 
keyboard instruments. Changing key signa- 
tures in computer generated music is no 
problem, since the entire instrument may be 
"retuned" in a few microseconds. 

The greatest advantage of the micro- 
computer is the ease with which anyone 
can produce music. Years of time con- 
suming practice are not required. Applica- 
tion of computers to music may change 
music from an activity primarily dominated 
by motor skills to one dominated by the 
intellect. Composers no longer have to be 
skilled at playing an instrument in order 
to work out their compositions. 

Do, re, mi, fa, sol, la, ti, do! North 
American, English, and Italian children all 
learn how to sing the scale. Most of them 
also learn other representations of the same 
musical scale like: CD EFGABC, and: 




Rarely if ever are any of these youngsters 
exposed to: 264 Hz, 297 Hz, 330 Hz, 352 
Hz, 396 Hz, 440 Hz, 495 Hz, 528 Hz, or 
to: 1/1, 9/8, 5/4, 4/3, 3/2, 5/3, 15/8, 2/1. 
These two sets of numbers are also repre- 
sentations of do, re, mi, fa, sol, la, ti, do in 
the pure diatonic scale. Equally valid (es- 
pecially for the piano) representations of 
this simple do to do musical scale are; 
261.6 Hz, 293.7 Hz, 329.6 Hz, 349.2 Hz, 
392.0 Hz, 440 Hz, 493.9 Hz, 523.3 Hz, 
which are related to each other by powers 
of the twelfth root of 2: 20/12(=i.000), 
22/1 2(=1 .1225), 2 4/12 j 25/12, 27/12, 
29/12, 211/12, 212/12 (=2.000). As you 
may have guessed by now, these last two 
sets of numbers are the frequencies and 
frequency ratios of the equally tempered 
scale of do to do played on a piano. 

So far, so good, but if you are as fast as 
I am at absorbing this material, by now it 



should be as clear as mud! Organization of 
facts into a pattern often does wonders for 
the intellect, so let us organize all this in- 
formation into one table (table 1) and call 
it the "Key of C Major" so that musicians 
will think we are talking about music instead 
of computers. 

You should notice a couple of things 
about table 1. First, at the bottom line 
you'll see that I've added a new concept: 
the musician's idea of step size. The steps 
come in two sizes, whole and half. Remem- 
bering that everything is relative, we can talk 
about step size in terms of the ratio of the 
frequencies of the pitches, or notes. In the 
pure scale, a half step up in pitch is an in- 
crease of 16/15 in frequency and a whole 
step up is an increase of 9/8 or 10/9. In the 
tempered scale all half steps up are an in- 
crease in frequency by the twelfth root of 
two (21/2), and all whole steps up in pitch 
increase the frequency by the sixth root of 
two (21/6) which is two half steps: 

2 1/12 x 2 1/12 = 2 2/12 = 2 1/6 

Secondly, you should note that the dif- 
ference between the pure and tempered 
notes is imperceptible for four of the eight 
notes. You may be wondering why 440/440 
= +.91 percent instead of percent and why 
261.6/264 = percent instead of -.91 
percent. To answer this, look at the "Fre- 
quency Ratio to C" lines and recall that 
everything is relative so: C(tempered)/ 
C(pure) = 1/1, or percent and A(tem- 
pered)/A(pure) = 23/4/(5/3) = 1.6818/ 
1.6667, or +.91 percent. 

To make this last point clear let's make a 
do to do scale from A = 220 Hz to A = 440 
Hz, table 2. I could have made C(tempered) 
= C(pure), but that would violate an inter- 
national agreement about A = 440 Hz! 
Besides, this way I can tell you about a 
scale in the minor mode. We'll impress 
the musicians looking over our shoulders 
by calling table 2 "Key of A Minor." 

The two major differences between these 
two keys are the beginning note and the se- 
quence of whole (W) and half (H) steps up 
the scale. Both the starting place and the 
sequence are specified in the name 1 of the 
key. The key of C major begins with C and 
proceeds in the major mode sequence of 
steps, WWHWWWH. The key of A minor 

Article continued on page 54 

Text continued on page 58 



50 



BYTE December 1977 



APB 0«SS»ONW 



HOBBYIST 



THE AJ 841 1/O-A COMPLETELY 
REFURBISHED IBM SELECTRIC 
TERMINAL WITH BUILT IN ASCII 
INTERFACE-JUST $995 



Features: 

■ ASCII code 

■ 14.9 characters per second printout 

■ Special introductory price — $995 
(regularly $1195). 75% discount over 
original price of new unit. 

■ Choice of RS 232 Serial Interface or 
Parallel Interface (requires 3P + S) 

■ Order direct from factory 

■ 30 day warranty— parts and labor 

■ Nationwide service locations 

AJ 841 WARRANTY AND SERVICE IS 
AVAILABLE IN THE FOLLOWING CITIES: 



High quality selectric printing 

Reliable, heavy duty selectric 
mechanism 

Off line use as typewriter 



Los Angeles 


Cincinnati 


Philadelphia 


Detroit 


Hackensack 


Dallas 


Columbus 


Houston 


Cleveland 


Atlanta 


San Jose 


Chicago 


Boston 


New York 


Washington, 


DC. 




ANDERSON 
_ JACOBSON 

Anderson Jacobson, Inc., 521 Charcot Avenue 
San Jose, California 95131, (408) 263-8520 



HOW TO ORDER AN 
AJ 841 I/O TERMINAL 

1 . Make cashier's check or money order pay- 
able to: ANDERSON JACOBSON, INC. 

Address your request to: 
Personal Computer Terminal 


CLIP AND MAIL WITH ORDER 

SELECT EITHER: 

□ RS 232 Serial Interface 

□ Parallel Interface (requires 3P + S) 

NumhprnfuniK (a) ffQQq p n <-h $ 
Local Sales Tax $ 


ANDERSON JACOBSON, INC. 
521 Charcot Avenue 


Shipping and handling $35.00 each 

(excluding San Jose) $ 


San Jose, CA 95131 

2. Upon written notification, pick up your ter- 
minal at the AJ service office located in one 


TOTAL $ 


NAMF. 


of the above cities. Allow six to eight weeks 
for delivery. 

3. Afinal check of your unit will be made at the 
local AJ service office at time of pick up. 

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


ADDRESS 

CITY STATF 7TP 

PHDNF ( 1 







Circle 3 on inquiry card. 



BYTE December 1977 



51 



FROM THE INVENTORS OF SEX SOMETHING NEW, 
THE WORLD'S BEST KEPT SECRET. 



SEX 



Now what self-respecting company 
resorts to a cheap trick like this to 
get your attention. 

WE DO 

And it works, doesn't it? So does 
our new 16K STATIC RAM memory 
board. It is fully assembled and 
tested and plugs into your SWTPC 
6800 microcomputer— allowing you 
to expand your system to 48K. The 
PRICE?? That's the sexy part. It's 
so BARE we can only reveal it 
through the mail. (Sent in plain 
brown wrapper so as not to offend 
a non-computer oriented spouse.) 



Name - 
Street - 



SMOKE SIGNAL BROADCASTING 

P.O. Box 2017 
Hollywood, California 90028 



Exactly one year ago, we introduced SEX to BYTE Magazine with this little 
ad. Your response was tremendous — much greater, in fact, than to any 
of our other larger ads which made no mention of sex. Researchers at the 
psychology department of TJU say that, because the readers of BYTE are 
not a controlled group (some irresponsible parents even let their children 
read the magazine), no statistically valid conclusions can be drawn. We 
believe, however, that we may have stumbled across something of even 
more interest to computerists than the old 8080. It is, in fact, the world's 
best kept secret. 

What is it you ask? First, please keep this confidential. If word got out to 
too many people, it might depress the market for late model 8080's so 
much that one of those high priced units could be purchased for less than 
a comparably equipped new economical 6800 with automatic bootstrap 
and power disc drives. The world's greatest secret is: NOW THERE IS A 
LOT OF GOOD SOFTWARE FOR THE 6800. For instance, there are two 
disc based editors and three assemblers available for the SMOKE SIGNAL 
BROADCASTING BFD-68 disc system. A disc based BASIC COMPILER 
with data file capability is available and so is a BASIC INTERPRETER with 
data file capability. We also have a DISASSEMBLER with TRACE capabil- 
ity, a SOURCE GENERATOR and a smart IK MONITOR program with I/O, 
tape load and punch, breakpoint, single step capability and much more. 
If you're a newcomer to computing and want to learn what BASIC is all 
about, we have a LEARN BASIC package that leads you from basic BASIC 
to advanced BASIC in 12 easy lessons. All this plus the best microcom- 
puter disc operating system around. 



SUPER EDITOR: The SE-1 is a content oriented editor with 
string search and block move capability. Changes may be 
made by referring to line number or string content or a com- 
bination of references. Naturally, it is designed for file trans- 
fers to and from the BFD-68 so the size of the edited file is 
limited only by the capacity of the diskette. $29 on diskette 
or cassette. 

SUPER ASSEMBLER: The SA-1 inputs source code from a file 
on the BFD-68 and outputs object code to disc file. Some very 
large programs can be assembled with the SA-1 since the 
source code resides on disc and is not resident in memory. 
Assembly listings include alphabetized and tabulated symbol 
table: $29 on diskette or cassette. 

Complete source listings are included for both the SE-1 and 
SA-1. Order both for $53 and save $5. 

SMARTBUG — A CURE FOR MIKBUGITIS: A super smart 
Motorola-Mikbug replacement that preserves almost all Mik- 
bug entry locations so your present programs will run without 
modification. Uses ACIA for baud rates to 19,200 and includes 
many additional features including a software single-step trace 
command. Manual and source listing for $19.50. 

TRACE-DISASSEMBLER: The TD-1 in the trace mode allows 
you to trace through a program and monitor and change the 
registers or memory as you go along. In the disassembler 
mode, it provides you with a way to make a program listing 



from a program when you only have the object code. $19.95 
on cassette. Add $5.95 for diskette. 

SOURCE GENERATOR: The SG-1 is a very fancy disassembler 
that takes object code in memory and creates a listing and 
outputs source code to cassette tape or the BFD-68 in either 
SWTPC CO-res or SSB Editor format. The source code gener- 
ated includes labels so that the source file created may be 
edited and re-assembled with whatever changes the user 
wishes to make. $24.95 on cassette. Add $5.95 for diskette. 

BASIC COMPILER: The Software Dynamics Basic Compiler has 
been adapted for use on the BFD-68. This is a super fast busi- 
ness oriented BASIC with PRINT USING statement, disk data 
file capability and ten digit accuracy. Because it is a compiler, 
you can develop business programs, compile them and deliver 
an object module, thus, keeping the BASIC source program as 
your trade secret. Write for more information. 

LEARN BASIC is a 12 lesson programmed course in BASIC. 
It takes the new owner of a 12K or larger 6800 computer sys- 
tem from beginning BASIC to advanced BASIC in easily under- 
stood steps. Requires SWTPC 6800 version 2.0 BASIC. Includes 
65 page manual. $39.95 on cassette or diskette. 

A BASIC INTERPRETER for the BFD-68 with data file capa- 
bility is available for $39.95 from Computerware, 830 First 
Street, Encinitas, CA 92024. Write them for more details. 




P.O. Box 2017, Hollywood, CA 90028* (213) 462-5652 



52 BYTE December 1977 



Circle 104 on inquiry card. 



FULLY ASSEMBLED PRODUCTS FOR THE 
TRULY COMPATIBLE SS-50 6800 BUS. 



Our Basic Floppy Disc System (BFD-68) must, in all modesty, be 
called superb. It comes completely assembled with a disc con- 
troller that is plug compatible with the SWTPC 6800. The cabinet 
and power supply are capable of handling up to 3 Shugart Mini- 
Floppy Drives. One drive is included in the price of the BFD-68 
and others may be added easily at any time. Or you may save 
money by ordering the dual-drive BFD-68-2 or triple drive BFD- 
68-3 (pictured). Price: BFD-68 $795, BFD-68-2 $1139, BFD-68-3 
$1479, SA-400 Drive $360. 

The BFD-68 includes our Disc Operating System Software. The 
software provides direct commands to name and rename files, 
transfer memory to disc and disc to memory and to automatically 
jump to the starting location of any program loaded from disc to 
memory. The direct command names are: RUN, GET, GETHEX, 

CLOSE, SAVE, DELETE, APPEND, RENAME, COPY, LIST, LINK and PRINT. In addition, the Disc File Management subroutines are 

available to create files under your program control. 

A bootstrap PROM is included on the controller board to initiate the Disc Operating System which loads into a 4K memory board 

located at 7000 or optionally at D000. Thus, you can be up and running from a cold start in just a few seconds. 

SUPER SOFTWARE: Free patches are provided for SWTPC BASIC version 2.0 and Co-Resident Editor/Assembler. These patches 
allow the SAVE and LOAD commands to work with the disc or the cassette at your option. 
See the opposite page for more details on the Super Software available for the BFD-68. 





M-16-A: The M-16-A is a single power supply fully STATIC 16K 
memory system. It is fully buffered and requires only half the 
power of a similar size system using low power 2102's. With the 
M-16-A, you can expand your system to 48K, add one of our 
EPROM boards, our BFD-68 disk controller board and still have 
room to spare. The M-16-A is switch selectable to any 4K starting 
address and hardware write protect is included. Price $529. 



P-38: The P-38 series modules are available in 3 configurations. 
The basic P-38 is an 8K EPROM board containing room for 8 
2708's. Like all our products, it is completely assembled. As a 
bonus, one 2708 is included which contains SMARTBUG, our IK 
Mikbug compatible monitor program. The P-38 is switch select- 
able to any 8K location. P.'ice $179. 

The P-38-1 contains all the features of the basic P-38 plus a 
built in interface to the POP-1 and the Oliver Paper Tape Reader. 
Price $229. 

The P-38-FF is a plug-in interface card for the ICOM Frugal Floppy 
and the other ICOM full size floppy disks. It contains all the fea- 
tures of the P-38-1 plus an additional 2708 with the ICOM boot- 
strap software. ICOM's 6800 FDOS-II is included on diskette. 
Price $299. 

The PS-1 power supply kit provides plus and minus 16 volts required for the P-38 series boards. Also, it allows a wiring modi- 
fication to be made to the 8 volt supply that will increase its output by one volt. Price $24.95. 




NEW PRODUCT: The POP-1 is a 2708 EPROM programmer that is contained in a separate cabinet outside the 6800 and connected 
by ribbon cable. The POP-1 uses a separate self-contained power supply for the programming voltage. There is plenty of power to pro- 
gram 2708's from any manufacturer — no need to choose only the most expensive 2708's. The POP-1 interfaces to the SMOKE 
SIGNAL BROADCASTING P-38-1 EPROM board and complete software is provided on cassette. The software allows you to duplicate 
an existing 2708 (making changes if you wish) or to transfer a block of RAM to EPROM. An adaptive programming technique is used 
that allows most 2708's to be programmed within 15 seconds. Instructions are also provided showing how to modify the POP-1 
to program the TMS 2716. Price $129. 

ALU OUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED. MASTERCHARGE AND VISA CARDS WELCOME. 





P.O. Box 2017, Hollywood, CA 90028 • (213) 462-5652 



Circle 104 on inquiry card. 



BYTE December 1977 53 



Continued from page 50 



Key of C Major 



r 



III 

= h- 



V O in i 

° S ■ t ( 

>■ el) H" 



Cm /- 



Interval 

From C: Unison 


Major 
Second 


Major 
Third 


Perfect 
Fourth 


Perfect 
Fifth 


Major 
Sixth 


Major 
Seventh 


Octave 




Sung: do 
Called: C 


re 

D 


mi 
E 


fa 

F 


sol 
G 


la 
A 


ti 
B 


do 
C 






o 


















N 




Written: 


y 










^ 




\ 




') 




) 




/ 




_| 


* 




S 








1 


^ 


1 









((\\ 


\ 




s 








/ 


— 


/ 


m 










KJ 


) 




/ 


^ 


/ 



















*JV 










































Units 


Frequency 


















Pure: 264 


297 


330 


352 


396 


440 


495 


528 


Hz 


i Tempered: 261.6 


293.7 


329.6 


349.2 


392.0 


440 


493.9 


523.3 


Hz 


Frequency 
Ratio to 
Cfor, 


















Pure: 1/1 


9/8 


5/4 


4/3 


3/2 


5/3 


15/8 


2/1 


Hz/Hz 


Tempered: 1 


2 1/6 


2 1/3 


2 5/12 


.27/12 


2 3/4 


2 11/12 


2 


Hz/Hz 


Tempered/ 
Pure : / 


\ -0.23 / 


V +0.79 / 


\+0.11 / 


\ _0 ' 11 / 


\ +0.91 / 


\ +0.68 / 


\° 


% 


Step Size: /whole\ /wr 


ole\ /Half \ /Wh 


ole\ /wr 


ole\ /wholeS. /h< 


A 





Table J : The key of C major. There is a direct equivalence between a musician's terminology for musical concepts and the 
physicist's or mathematician's precise measures of the idea. One of the attractions of music is this low level precision involved 
in the creation of high level emotional sensations. 



54 



BYTE December 1977 



vj| DIGITAL RESEARCH 




NEW CP/M" SOFTWARE 

Digital Research is pleased to announce the 
availability of our new macro assembler called 
"MAC" which is upward compatible from our 
previous 8080 assembler provided with version 
1 .3 of CP/M "'. Our new assembler is compatible 
with the latest Intel macro standard, and 
incorporates several facilities which will prove 
quite useful: 

IF, ENDIF, ELSE provide conditional 
assembly facilities which are controlled by 
boolean expressions involving the arithmetic 
operators (+. -, ', /, MOD, and unary -), shift 
and mask operations (SHL, SHR, AND, OR, 
XOR), and relational operators (LT, LE, EQ, GE, 
and NUL). 

MACRO definitions allow groups of 
instructions to be stored and substituted in 
the source program, as the macro names 
are encountered. Definitions and calls can 
be nested, symbols can be constructed 
through concatenation (using the special & 
operator), local symbols can be created 
(using the LOCAL pseudo operation). Macro 
parameters can be formed to pass arbitrary 
strings of text to a specific macro for 
substitution during expansion. In particular, 
the MACLIB (macro library) feature allows 
the programmer to define a particular set of 
macros for generation of machine code for 
any specific 8 or 16 bit machine which does 
not match the Intel 8080 instruction set. 
Macro libraries are included with MACforthe 
Zilog Z-80 instruction set, along with macros 
for performing simple peripheral and se- 
quential file I/O under CP/M. 

Circle 39 on inquiry card. 



IRPC, IRP, REPT provide repetition of 
source statements under control of a list of 
characters or items to be substituted each 
time the statements are expanded. This 
feature is particularly useful in generating 
. groups of assembly language statements 
with similar structure. 

SORTED SYMBOLS are provided in a 
diskette file suitable for listing on your line 
printer or use during debugging. 

TITLE, PAGE are provided to control page 
ejects and titles on each page of the source 
listing. 

PARAMETERS can be specified when 
MAC is started to control the source and 
destination of particular files as well as listing 
formats for macro generation. 

MAC DOCUMENTATION 

MAC documentation includes the "Macro 
Assembler Language Method and Applica- 
tions Guide", the most complete guide to 
macro applications available toddy. Examples 
include macro-based languages, high-level 
control structures and operating system interfa- 
ces. Over 60 listings of working 8080 macro 
assembly language programs are provided so 
this manual can be used as a study guide in 
advanced macro applications. (The manual is 
available for separate purchase.) 

The macro assembler occupies a 1 2K region 
of memory, and requires concurrent operation 
with CP/M system, thus requiring 1 6K of program 
space during operation. Additional memory 



space is used for the symbol table, resulting in a 
minimum usable memory size of obout 20K. 

'PLEASE NOTE: MAC is a copyrighted product of Digital 
Research and may not be copied for use by any 
individual other than the purchaser. Due to the proprie- 
tary nature of MAC, the machine code diskette is 
available only to registered owners of the CP/M™ 
Operating System. Although you may purchase the 
"Macro Assembler Language Manual and Applications 
Guide" separately, Digital Research cannot accept 
diskette orders without your registered CP/M™ Serial 
Number. (If you haven't returned your CP/M " Registra- 
tion Card, you may do so at this time.) 



ORDER FORM: 

I would like to purchase: 

( ) 'MAC Macro Assembler Language Manual 
and Applications Guide" Only (200 pages) for 
$15.00 
( ) 'MAC Macro Assembler Language Manual 
and Applications Guide" and MAC Ma- 
chine Code Diskette*. CP/M" Serial No. 

for $70.00. 

( ) MAC Machine Code Diskette" Only CP/M " 

Serial No. for $60.00. 

California residents please add 6% sales tax. 
Total purchase: $ . 



) Please charge to my 

Mastercharge 9 

BankAmericard ' 
Expiration Date 



Name 
Address 
City 



) I would like further Information on: 
( ) CP/M " Operating System. 
( ) MAC Macro Assembler. 



Zip . 



PI DJE.Tfll RESEARCH 

P.O. Box 579, Pacific Grove, CA 93940 

BYTE December 1977 55 



Key of A Minor 



r 



01 

o 

c 

1 



3 

5 



US 



o E 

(ft 

S ' 
u 

'« 

>■ 

Q. 



(0 o 

u c 



c 



Interval 




Major 


Minor 


Perfect 


Perfect 


Minor 


Minor 






From A 


Unison 


Second 


Third 


Fourth 


Fifth 


Sixth 


Seventh 


Octave 




Sung* 


do 


re 


mi 


fa 


sol 


la 


ti 


do 




Called 


A 


B 


C 


D 


E 


F 


G 


k 


A 


) 




■w 








. 


1 


s 




r 




r- 




)- 


# 


1 




Vy 




, 




\ 








/ 


^ 


/ 


m 










tJ 




) 




1 


^ 


/ 


















/ 


























Units 


Pure 




















Frequency 


220 


247.5 


264 


293.3 


330 


352 


391.1 


440 


Hz 


Tempered 




















Frequency 


220 


246.9 


261.6 


293.7 


329.6 


349.2 


392.0 


440 


Hz 


Pure 
Ratio 


















Hz/Hz 


To A 


1/1 


9/8 


6/5 


4/3 


3/2 


8/5 


16/9 


2/1 


Tempered 
Ratio 
To A 




















1 


2 1/6 


2 1/4 ' 


2 5/12 


2 7/12 


2 2/3 


2 5/6 


2 


Hz/Hz 


Tempered/ 




















Pure 





-0.23 


-0.90 


+0.11 


-0.11 


-0.79 


+0.23 





% 


Pure A Minor/ 


}o 

J 


















Pure C Major 



\ / 





-1.25 

\ / 








-1.24 





% 


Step 


/ 


\ / 


\ / 


\/\/\ / \ / \ 




Size 


/Wh 


ole\ / H 


3lf \/Wh 


ole\ /Whole\ / Half \ /Whole\ /Whole\ 





s.» 



*North American and English children learn a movable do scale, so do can be any note. The French and Italians have a fixed do 
system so do is C. 



Table 2: The key of A minor. As in table 1 , we note the same information, but start the scale on A instead of C. This changes 
the order of half and whole steps (bottom line) from a major mode sequence to a minor mode sequence; an extra line has been 
added to show the frequency ratios of the minor key with respect to the major key. 



56 BYTE December 1977 



Computer Mainframe System 

First in the TEI family . . . The MCS-112 and 122 Mainframe Systems. 
"The Base on Which to Build" 



The cabinet 

A heavy duty precision formed cabinet of fine 
craftsmanship. Completely machined and 
ready for assembly The exterior is fin- 
ished in TEI blue. Vented for most 
efficient thermal character- 
istics. Furnished with 
necessary hardware. 



The front panel 

The front panel is blank 
except for an indicates AC 
switch and a reset switch 
However, the chassis and mother 
board are desisned so that you may 
remove the front panel and insert an IMSAI 
or equivalent front panel. Soon to be 
available will be our "VIRTUAL OPERATING CON- 
SOLE" especially desisned to complement our 
Mainframe Systems. 



Specifications 



MCS-112 



MCS-122 



Dimensions TWWx12Dx7VSiH 

Power +8 volt DC 17 amps 

Power ±16 volt DC 2amps 



17'/4Wx19ViDx7'AH 

30 amps 
4 amps 



/The motherboard 

An S-100 Bus system high quality mother board with 100-pin edge connectors. Compatible with IMSAI, MITS, 
CROMEMCO, TDL and other S-100 bus configured circuit boards. Plug connections for reset switch. Voltage terminals 
are screw type to power supply leads. All card guides are provided. 12 slots for MCS-112 model and 22 slots for 
MCS-122 model. 

Edge connectors 

High quality edge connectors factory mounted and wave soldered to eliminate this nuisance for 
you. Completely checked out for shorts or open traces. ALL edge connectors furnished, 12 for 
the MCS-112 and 22 for the MCS-122. No additional expense when you expand your 
system. 

The power supply 

One of a kind . . . using a constant voltage transformer CCVT) with a very 

high immunity to input line noise . . . greater than 100 db rejection. 

Line regulation better than ± 1% from an input of 95 to HO Volt 

AC at full load to 85 to 140 Volt AC at three quarter load. 

Designed to meet UL-478 specifications (EDP SPECS). 

Individual fusing on all input and output voltage 

lines. See specifications below for power 

ratings. 

The cooling system 

A 115 CFM muffin fan with a 
commercial grade washable filter 
will provide clean airflow over all 
circuitry 

The wiring 

All wiring is color coded and ALL is 
precut to length with connecting lugs 
factory machine applied. Soldering is 
held to an absolute minimum. 



NOW ... TEI puts it all 
together for you. Mainframe 
systems (6, 12 and 22-slot) . . . 
Floppy and mini-floppy disc drive 
systems (single, double and triple with 
dual density) ... a Z-80 CPU with address- 
able "jump to" and autostart capability (also 
variable speed control) . . . 8K and 16K RAM ... 16 
Channel A/D and D/A converter ... 3 serial + 3 
parallel multiple I/O . . . and other supporting boards 
... and our newest item, the PROCESSOR TERMINAL — A 
CRT, keyboard, mini-floppy disc and 12-slot mainframe with a 
8080A_CPU - all housed in one quality aluminum case. All of 
these fine products at prices you will like. Watch for them all. 




Contact your local TEI dealer or if you are not near one of our 

dealers, write or call CMC MARKETING CORP direct for more 

information. 

(DEALER INQUIRIES INVITED) 

PLEASE SEND ME: 

□ MCS-112 Kit® 395.00 □ MCS-112 Assembled @ 445.00 

□ MCS-122 Kit @ 495.00 □ MCS-122 Assembled @ 575.00 

Texas residents add 5% Sales Tax 
I Enclose Check □ or Money Order □ 
CMC MARKETING CORP 
7231 Fondren Rd, Houston, TX 77036 Telephone (713) 774-9526 



c 



□ 



5 



INC. 



Circle 20 on inquiry card. 



BYTE December 1977 



57 



Text continued from page 50 



starts with A and proceeds in the minor 
mode sequence, WHWWHWW. 

Look at the frequencies of the notes 
called D and G in these two keys. For tem- 
pered tuning, each of these notes keeps the 
same frequency although the key changes 
from C major to A minor. For pure tuning, 
however, each of these notes must be 
lowered by 1.25 percent when changing 
from C major to A minor. A singer or 
violinist does this during a performance, 
but can you imagine a pianist or organist 
stopping in the middle of a performance to 
retune two notes in each octave? Bach's 
equally tempered tuning survives all such 
key shifts quite well. The most sensitive 
intervals (octave, fourth, fifth) are still 
imperceptibly different from the pure 
scale, and the other intervals get no worse. 
You should notice one more thing when you 
are comparing these two tables. There are 
two kinds of thirds, sixths, and sevenths. 
As you may have guessed, there are also two 
kinds of seconds, major and minor. There 
is also an interval called the tritone, so there 
can be twelve equal half steps per octave. 

So if we list all of the intervals, we find 
13 to get 12 half steps per octave. Since 
these thirteen intervals form what is known 
as the chromatic scale, we'll call this list 
"Intervals of the Chromatic Scale" and 
write it down in table 3. 

You can learn at least five things by 
inspecting table 3. 

First, the k sign is used to denote a half 
step down from a note and is called a flat. 



Interval 

1 Unison 

2 Minor Second 

3 Major Second 

4 Minor Third 

5 Major Third 

6 Perfect Fourth 

7 Tritone 

8 Perfect Fifth 

9 Minor Sixth 

10 Major Sixth 

11 Minor Seventh 

12 Major Seventh 

13 Octave 



C Major 



A Minor 



|c- 


-c| 


c- 


-D b 


|c- 


-d| 


c- 


-E b 


|c- 


-E I 




|c- 


-F | 


c- 


-G l> 


|c- 


-g| 


c- 


-A 


|c- 


-A | 


c- 


-B k 


|c- 


-B I 




|c- 


~ C 



A-A 



A-B 



A-B 



|A-C 



A-D k 



A-D 



A-E [ 



A-E 



A-F 



A-G' 



A-G 



A-A' 



A-A' 



Pure Ratio 


Tempered Ratio 


1/1 


2 0/12 


16/15 


2 1/12 


9/8 


2 2/12 


6/5 


2 3/12 


5/4 


2 4/12 


4/3 


2 5/12 


(64/45 or 45/32) 


2 6/12 


3/2 


2 7/12 


8/5 


2 8/12 


5/3 


2 9/12 


16/9 


2 10/12 


15/8 


2 11/12 


2/1 


2 12/12 



The sign for a half step up is # and is called 
a sharp . 

Second, you should now be able to write 



jcwiiu, yuu miuuiu nuw uc duie iu wi 

the notes used in the scales of all major a 
minor keys. For example, the key of C 
minor begins with C and proceeds 
WHWWHWW, so it would be: C, D, E>>, F, 
G, A 1 ", B^, C. The key signature is the short- 
hand used by musicians to specify the key at 
the beginning of each line of music: 



itV' — 


-&*-« — 



Table 3: Intervals of the chromatic scale. 



KEY OF C M INOR 



This tells the person playing the music that 
all of the Es, As, and Bs should be played 
one half step flat. 

Third, the major and minor modes 
sound different because different intervals 
are used for the third, sixth, and seventh. 

Fourth, the two most dissonant intervals, 
the minor second and the tritone, are not 
used in any major or minor key, but are 
needed for some key changes. 

Fifth, and perhaps most important for 
implementation on a "dinky" computer 
and for experimentation, is that the only 
prime numbers used in the pure pitch ratios 
are 2, 3, and 5. Also, 5 only appears to the 
first power and 3 only to the first and 
second powers. You will see later how easy 
it is to implement the pure diatonic scale 
with inexpensive integrated circuits external 
to the computer, so the computer is not tied 
up by generating the pitches itself. In con- 
trast, the powers of the twelfth root of two 
may be obtained from the moderately ex- 
pensive "top octave" integrated circuit, or 
calculated (but not accurately) in real time 
by the dinky itself. In the latter case there 
will be little computer power left for calcu- 
lating the melody or harmony. 

From Music to Mathematics and Back Again 

Webster defines inversion of a musical 
interval as: "A simple interval with its upper 
tone transposed an octave downwards. . . 
Inverted primes become octaves; seconds 
become sevenths; thirds, sixths, etc." 

A mathematical inversion Webster defines 
as: "A change in the order of terms of a 
proportion. . ." So what if a fifth is just an 
inverted fourth? Simplification, that's what! 
If we divide the chromatic scale right in the 
middle at the tritone, the bottom half is 
just the inverse of the upper half. This means 
that you only need to learn and think about 
half as much. This is not only true musically 



58 



liYTL December 1977 



DATELINE . . . BASE 2 




BASE2 is pleased to offer the following products to the S-100 market at the indslury's lowest prices: 

8K Static Memory Board 

This 8K board is available in two versions. The 8KS-B operates al 450ns Tor use with 8080 and 8080A microprocessor 
systems and Z-80 systems operating at 2MHz. The 8KS-Z operates al 250ns and is suitable for use with Z-80 systems 
operating at 4MHz. Both kits feature factory Tresh 2102's (low power on 8KS-B) and include sockets for all IC's. 
Support logic is low power Schottky to minimize power consumption. Address and data lines are fully buffered and 
4K bank addressing is DIP switch selectable. Memory Proloct/Unprotoct. selectable wail stales and battery backup 
are also designed into the board. Circuit boards an; snider masked and silk-screened for ease of construction. These 
kits are the best memorv value on the market ! Available from slock . . . 

8KS-B $125 

8KS-Z $145 

Z-80 CPU Board 

Our Z-80 card is also offered in two speed ranges. The C.PZ-1 operates at 2MHz and the CPZ-2 operates al 4MHz. 
These cards offer the maximum in versatility at unbelievably low cost. A socket is included on the board for a 2708 
EPROM which is addressable to any 4K boundary above 32K. The power-on jump feature can be selected to address 
any 4K boundary above 32K or the on-board 2708. An On-board run-stop flip-flop and optional generation of Memory 
Write allows the board to run with or without a front panel. The board can be selected to run in either the 8080 mode, 
to lake advantage of existing software, or in the Z-80 mode for maximum efficiency. For use in existing systems, a wail 
State may be added to the Ml cycle, Memorv request cycle, on-board ROM cycle, input cycle and output cycle. DMA 
grant tri-states all signals from the processor board. All this and more on top quality PC boards, fully socketed with 
fresh IC's. 

CPZ-1 $110 

CPZ-2 $125 



S-100 for Digital Group Systems 

This kit offers, at long last, the ability to lake advantage of S-100 products within your existing Digital Group main- 
frame. Once installed, up to four S-100 boards can be used in addition to Ihe existing boards in the D.G. system. The 
svslem includes an "intelligent" mother board, ribbon cables to link existing D.G. CPU to Ihe DGS-100 board and a 
power wiring harness. The DGS-100 is designed to fit in Ihe 5 V x 12" empty area in the standard D.G. cabinet. It 
may seem expensive but there's a lot here! End vour frustration! 

DGS-100 $295 



16K Static Memory Board 

Base 2 can now offer the same price/performance in a 16K static RAM as in its popular 8K RAM. This kit includes 8K 
bank addressing with 4K boundary address setting on DIP switches. This low power unit provides on-board bank 
selection for unlimited expansion ... No MUX board required. Using highest quality boards and components wo 
expect this kit to be one of Ihe mosl popular units on the market. Available in two speed ranges, the 16KS-B operates 
.il 450ns while the 16KS-Z operates at 250ns. 

16KS-B $285 

16KS-Z $325 



Send for more details on these products. Got on our mailini 
products al factory-direct prices from BASE2. Why pay more w 



for information on more soon to be announced 



ba/e_ inc 



p.o. box 9941 

marina del rey, ca. 90291 

213/822-4499 

CA residents add 6% tax 
MC/BAC accepted 





p.o. box 9941 

marina del rey, ca. 90291 

213/822-4499 

FOB — U.S. destination 



irele 8 on inquiry card. 



and mathematically, but your own ears 
will also easily recognize the similarities 
between an interval and its inverse. 

Try the following experiment on any 
piano or organ that's in tune. Pick out any 
black or white key and call it 1 for ref- 
erence. This home note is called the tonic 
and should be located near the center of the 
keyboard for reasons I'll explain in a 
moment. Now find note 6 by counting up 
six keys including 1 and all black and white 
keys. Now play both 1 and 6 together; 
that's how a perfect fourth sounds. Try it 
again with 1 and 8 this time; that's how a 
perfect fifth sounds. Now go back and forth 
between 1 and 8 and then 1 and 6 to get a 
feel for the fifth and its inverse. Next try 
the same thing with 2 and 7 then 2 and 9. 
These two intervals are also the fourth and 
its inverse, the fifth, but you have trans- 
posed them up by half a step. Now try a 
minor third and its inverse, the major sixth. 
First play 1 and 4 together and then 1 and 
10 together. 

You should notice that the minor third 
and major sixth don't sound quite as sweet 
or harmonious as the fourth and fifth did. 
Now try transposing up a half step to 2 and 
5 then another half step to 3 and 6, and so 
on up the keyboard. Do the same with the 
fourth, first 2 and 7, then 3 and 8 and so on 
up the scale. Notice how the fourth and 
minor third sound similar regardless of the 
tonic or home key chosen, and how they 
are clearly different from each other even if 
played in different octaves; in music as in 
physics everything is relative to the observer. 

You may even want to make a list for 
yourself of the intervals which sound alike. 
You can also note which intervals are most 
harmonious and which are most dissonant, 
or rough. I'll even bet your list looks like 
mine! If you think I've biased you, have 
your friends or family make lists. I'll bet 



Interval 


Ratio 


Inverse 


Octave Shift 


Musical Inverse 


Unison 


1/1 


1/1 


2/1 


Octave 


Fourth 


4/3 


3/4 


3/2 


Fifth 


Major Third 


5/4 


4/5 


8/5 


Minor Sixth 


Minor Third 


6/5 


5/6 


5/3 


Major Sixth 


Major Second 


9/8 


8/9 


16/9 


Minor Seventh 


Minor Second* 


16/15 


15/16 


15/8 


Major Seventh 


Tritone 


64/45 


45/64 


45/32 


Tritone 



*The minor second is more dissonant to me than the tritone, but the tritone seems 
more dissonant to me than the major seventh, so the minor second doesn't fit in 
this list very well. 

Table 4: Music to mathematics to music. The intervals useful in music are 
listed in order from the most harmonious to the most dissonant. Most people 
are in good agreement about the order of evaluation of the relative degrees of 
harmoniousness in the first five intervals listed. 



they all are in agreement. Table 4 contains 
my list, which I've called "Music to Mathe- 
matics to Music" for reasons you'll see in 
a moment. 

Now isn't that a remarkable historical 
achievement: what musicians have been 
calling an inverse is also an inverse of the fre- 
quencies of pitches according to the mathe- 
matical definition of inverse. Although I'm 
neither mathematician nor musician, I have 
read a number of books on both subjects, 
including some on the psychophysics of 
music, and I have never seen this simple 
and simplifying correspondence of musical 
and mathematical inverses mentioned. Per- 
haps it was information lost with the burn- 
ing of Pythagoras and his temple 2500 years 
ago. A close look at my list of most har- 
monious to most dissonant reveals that as 
the top and bottom of the fractions get 
larger, the harmony decreases and the 
dissonance increases, (with the exception 
of the minor second; but let's forget about 
this exception for the moment). 

The order in this list is no accident; 
neither is it a learned cultural bias! It is as 
if we had a brain with a center which con- 
tinually seeks for simplicity, harmony and 
order. The harmonic series: 1, 2, 3, 4, 5, 
6, . . . , is found extensively in man's 
theories about nature. Is this because it is a 
property of nature, or is it because man's 
brain can understand things better if they 
are in such a series? Such a question is 
interesting, but can only be raised and not 
answered in an article about music for 
computer nuts. Music, like speech, is unique 
to man and is totally abstract. By abstract, 
I mean that for the most part, no attempt 
to copy nature is made. 

Music is solely a product of man's brain, 
or ear-brain combination. Here is where we 
find harmonic series galore. A musical chord 
such as the major triad is three notes played 
together, the frequencies of the notes being 
related to each other as elements of a har- 
monic series are related. In the key of C 
major, the major triad is C, E, and G which 
have pitch ratios of 4, 5, and 6 (ie: 4/4, 
5/4 and 6/4). Often to make the chord 
sound fuller, a musician will add the C an 
octave lower, and the C an octave higher. 
This also fills out the harmonic series some 
more: 2, , 4, 5, 6, , and 8. How about the 
missing 1, 3, 7, 9, etc? You can try 1 and 3 
for yourself; they are simply the C an octave 
lower still, and the fifth up from the next 
C, and they fit in beautifully. 

Unfortunately, you won't be able to try 
7 on a piano; it would be 7/4, which is 
1.8 percent lower than B , a minor seventh 
from the C of the triad. Fortunately, if you 



60 



BYTE December 1977 




6800 Text Editing System 



This Editor has caused more talk than any 
other TSC program. Most users find it hard to 
believe its power. The TSC Text Editing System 
will allow extreme ease in any text preparation, 
whether it be an assembler language program 
or a legal document. 

Included are all the usual edit features plus 
commands for block move, block copy, tabs, 
local and global string changes, and overlays. 
All editor commands can be used as content 
oriented commands. The commands may 
also be used in a character, line, or relative 
position fashion and either in a local or global 
sense. 

Some other unique features include the 
ability to work forward or backwards through a 
file, restrictive column zone definitions, a de- 
finable tab fill character, plus many more. 

The TSC Text Editing System comes com- 
plete with assembler language source listing 
and a very thorough users manual which in- 
cludes a "Mini-Tutorial" for those wishing to get 
started immediately. 

SL68-24 Manual and Source Listing $23.50 
With Cassette $ 30.45 With Paper Tape $31.50 



Meet the TSC 
Text Handlers! 



6800 Text Processing System 

The TSC Text Processing System is by far 
the most powerful text formatter available to the 
micro user. Over 50 commands are provided 
for easy paging, margin setting, and spacing. 
Right, left, right and left, and center justification 
modes are all handled. The TSC Text Proces- 
sor is actually a formatting language which 
allows the creation of macros including vari- 
ables. All of these features allow for very 
efficient footnote handling, special document 
preparation, and form letters. 

Other features supported include page 
numbering (either Arabic or Roman Numerals), 
complete page size control (line length, page 
length, top, bottom, left and right margins, etc.), 
tabs, conditional formatting control, exact title 
placing, contiguous space and text control, plus 
much, much more. 

The Text Processor in conjunction with the 
Text Editor will give your micro the powers of 
the best text processing system available. The 
complete assembler language source listing 
and extensive users manual are included. 
SL68-29 Manual and Source Listing $ 32.00 
With Cassette $38.95 With Paper Tape $40.00 



8080 Systems Available Soon! 





TECHNICAL SYSTEMS 

CONSULTANTS, INC. 



CWPODO- 



r UQoaa a ooouo 

t7POCD D Q DOOQ 




■ OX 2574 W.LAFAYETTE INDIANA 47906 
317 742-7509 



SPECIALISTS IN PROGRAMS. SOFTWARE. * HARDWARE FOR INDUSTRY A. THE HOBBYIST 



d W/Cassette $30.45 
d W/Paper tape $31.50 t 
□ Complete 6800, 8080, 
alog 25<t 

Name 


□ W/Cassette $38.95 1 

W/Paper tape $41.00| 

& 6502 Software Cat-| 


Adrireqq I 


City 


State 


Zip 1 



Circle 1 18 on inquiry card. 



BYTE December 1977 



61 



build the pure diatonic scale interface de- 
scribed below, you will be able to hear for 
yourself how well 7 fits into the series. Also 
you will be able to hear 11, and 13, and to 
hear how, and under what conditions they 
fit. 

The ear-brain wants so much to hear 
harmonic series that it will even fill in 
missing pitches. The "missing fundamental," 
or the lowest note of a harmonic series, has 
been studied by many doing acoustics re- 
search. If your ear is presented with a series 
of tones whose frequencies are in the ratios 
of whole numbers such as 2, 3, 4, 5, 6, or 
3, 5, 7, 9, your brain tells you that you 
actually hear the pitch corresponding to 1 
(the fundamental) also! 

Now let's get back to the dissonance of 
the minor second and why you needed to 
stay in the middle of the piano keyboard 
to do the experiments with intervals. If two 
pitches are very close together, the ear can- 
not tell them apart, and they are heard as 
a single smooth pitch. If the pitches are far 
enough apart, two smooth and distinct notes 
are heard. If the distance between the 
pitches is in the critical band, the two notes 
are heard as two more or less rough notes. 
This roughness is maximum at 1/4 of the 
critical band. It turns out that the minor 
second is 1/4 of the critical band over the 
middle of the piano range, and this is why it 



sounds so dissonant. The width of the criti- 
cal band is roughly equal to: 

100 Hz + 50 Hz xf 

where f is the frequency of the note in kHz. 
You can calculate that, as you go to lower 
notes on the piano, roughness, or dis- 
sonance, will be heard in the minor and then 
major thirds, and still lower will be heard 
even in the fourth and fifth, until at the 
lowest octave the only consonant interval 
will be the octave itself. Thus, if you want 
the music you compose to sound har- 
monious, you should have the pitches re- 
lated to each other in the harmonic series, 
and pitches played at the same time should 
be more than 1/2 of the critical band apart. 
Analysis of music composed by Bach and 
Dvorak shows that their chords obey these 
two simple rules. 

To compose interesting music, you'll 
need a few more rules. Most music has 
two features, constancy and variety. 
It is as if the brain center which looked for 
order, simplicity, and harmony was easily 
bored, so once it found a pattern, it would 
soon be looking for another. Our musical 
needs vary. Sometimes we want very simple 
tunes so we can unwind, and at other times 
we need complex melodies to keep our 
interest. Once you have made a tune with a 
computer, it will be possible, in principle, 



TTL 5 VOLT 



CMOS 12 VOLT 



KIM-I 
COMPUTER 



TTL b VOLT 



CMOS 12 VOLT 



R/W.K5, <t>2 



Ap TO Ag 



D TO D 7 



Do TO D7 



A TO A 7 



FOR FUTURE 
CMOS EXPANSION \ 



(_ $2, 12 VOLTS 



5 VOLT TTL 
TO 12 VOLT 
CMOS 
LEVEL 
SHIFTER 



$2 



Do TO 



E> 



WP20 TO WP22 



l 



T 



D 4 00 T DW PR0G ' 
"° U "V DIVID 



75oi \ and' n 

Dp TO D 7 y 



7402 \ 

Dp TO D7 / 



ll 



RAMMABLE 
ERS FOR 
KEY, OCTAVE, 
OTES 



FIGURE 2 
(BLOCK) 



WW 1400 TO WW 1402 STROBES 



R/W, K 5 , <t> 2 



Ap TO Ag 



-J 

A 



ADDRESS 
DECODER 



NOTE 2 ) 



NOTE 3 ) 



NOTE 4 ) 



SQUARE WAVE 
NPTE OUTPUTS 



WW 1403 TO WW I4P7 
WRITE STRPBES 



FPR 

FUTURE 

USE 



*2=CLCCK PHASE 2, ICOMHz 



Figure 7 : Block diagram of the musical tone generator interface. All logic (see figures 3 and 4) of the tone generator itself is 
12 V CMOS, with level conversion from the TTL 5 V levels at the computer output. 



62 BYTE December 1977 



ARTEC Introduces 

The Expandable 32K Elephant 




The 8K-32K Expandable Memory That Grows With Your System 



Now, for the first time, you can have a 
reliable true static memory that will grow 
with your system. Start with the board and 
8K memory. Then add on one, two or three 
8K increments of memory up to 32K. 250 ns 
access time. The Artec 32K Expandable 
Memory allows you plenty of room for 
memory and all necessary support hardware. 

For five years Artec craftsmanship and 
reliability has been proven in tough industrial 
use. Now, you too can enjoy breadboards 
and memories that will work time after time. 
Boards like the GP 100 and the wire wrap 
WW-100. Send for an Artec Board, your 
order will be sent the same day as received. 

Board & 8K of memory — $290.00 
8K add on kits— $255.00 ea. 
Full 32K board— $1,055.00 



MM I IMl 

4W'-g| : 

d« SsrfiBI 


IlliSFlBBl 



GP-100— $20.00 

Maximum design 
versatility along 
with standard ad- 
dress decoding and 
buffering for 
S — 100 systems. 
Room for 32 un- 
committed 16 pin 
IC's, 5 bus buffer & 
decoding chips, 1 
. DIP address select 
switch, a 5 volt reg- 
ulator and more. 
High quality FR4 
epoxy. All holes plated 
through. Reflowed sol- 
der circuitry. 



WW-100— $20.00 

A wire wrap breadboard, 
similar to the GP 100. Al- 
lows wirewrap of all 
sizes of sockets in any 
combination. An extra 
regulator position for 
multiple voltage applica- 
tions. Contact finger 
pads arranged for easy 




TO ORDER: Use your Mastercharge or 
BankAmericard. Or just send along a money 
order. Your order will get same day service. 

FOR MORE INFORMATION: For more 
information about these or any of Artec's 
complete line of circuit boards or for either 
industrial or personal use, please call or 
write. A catalogue will gladly be sent. 



Please send me: 

D 32K D GP-100 □ WW-100 
□ I've enclosed a money order. 
Bill my □ Mastercharge 

□ BankAmericard No. 



Name — 
Address 
City 



-Zip. 



10% discount for students & computer club members. 



pin insertion. 



mec aecTRonia, inc. 

605 Old County Rd. • San Carlos, CA 94070 • (415) 592-2740 



Circle 5 on inquiry card. 



BYTE December 1977 



63 



for you to have the computer make all 
sorts of variations of your tune to keep it 
interesting. 

Now let's switch gears from music to 
computer oriented electronics and find out 
how to build a diatonic computer music 
interface. The interface costs less than $19 
to build, including 24 integrated circuits, 
LEDs, resistors, four diodes, and a universal 
type printed circuit board. It will put out 
four notes simultaneously, and will play in 
almost nine octaves (17.36 Hz to 7812.5 
Hz). The highest and lowest octaves have 
12 and 13 different notes, and the middle 
seven octaves have 33 notes each, giving 
a total of 256 unique notes. It uses three 
bytes of memory space. 

The interface can be functionally divided 
(see figure 1) into four parts: 

• A set of programmable frequency 
dividers. 

• A three byte latch. 



• An address decoder. 

• A level shifter to change the 5 V sig- 
nals from the computer to 12 V sig- 
nals for the CMOS circuits so they 
can operate fast enough to follow the 
500 ns write pulse put out by the 
computer. 

The block diagram shows that I've chosen 
hexadecimal addresses 1400 to 1402 to drive 
the interface. This is a convenient memory 
location for me because I have a KIM-1 
with 12 K of memory and these locations 
are not used for anything else. You'll notice 
that I've also decoded write pulses for 
hexadecimal addresses 1403 to 1407 and 
page selects of addresses 20XX to 22XX for 
future expansion of the interface. Also, 
eight address lines, eight data lines, a clock 
line, and the write pulses for addresses 
20XX to 22XX, all at 12 V, are brought 
out to the edge connector for use with 
other CMOS interfaces. 



Figure 2: Detail block dia- 
gram of the tone genera- 
tor, which uses the 1 MHz 
clock of the KIM-1 as its 
frequency standard. The 
outputs at right are square 
wave signals which can be 
sent to further filtering 
and signal processing be- 
fore mixing down to one 
or two stereo channels. 



*2 



DO TO 



s> 



SIX 

HALF 
BYTE 
LATCHES 



STROBE 



TT 



YVI400, Dp TO D3 



J 



f|„« I.OOMHz 



KEY 

SELECT 



WI400, D4 TO D 6 



OCTAVE 
GENERATOR 
AND 
SELECTOR 



WI40I, Dp TO DJ) s E LEX T 



WI40I, D4 TO D7 



D 



NOTE 2 
SELECT 



WI4Q2, Dp TO~blT ) NOT 



rE 3 
_ECT 



WI402, D4 TO 



^) 



NOTE 4 
SELECT 



WI400, D 7 



■f|( = 66,7KHz TO I25KHZ 

-^n (n= I, 2, 3,4, 5, 6,7, 8) 
f k0 = 520.8Hz TO I25KHZ 



WWI400 TO WWI402 



FLIP 

FLOP 

R 



FLIP 

FLOP 

R 



FLI P 

FLOP 

R 



FLI P 

FLOP 

R 

—r- 



4 — ►OUTPUT NOTE I 

( f konl =l74Hz TO 7.8KHz) 



-►OUTPUT NOTE 2 

( f kon2= 17.4Hz TO 78KHz) 



-^2 



-►OUTPUT NOTE 3 

lfkon3=34.7Hz TO 122. IHz) 



-►OUTPUT NOTE 4 

lfkon4=69.4Hz TO 244.1Hz) 



64 



BYTE December 1977 




DYNAMIC RAMS 




• Bank Selectable via Software 

• Addressable in 4K increments 

• On Board Refresh 

• ROM phantom line to inhibit RAM for ROM 

• Addressing Switch Selectable 

• Solder Mask Both Sides 

• Top Quality FR-4 fire resistant 
glass board material 



32KDS 

64KDS 



. . 750.0 
1,850.0 



STATIC RAMS 



l t fcWI ( i wtr'"'M 

■ — Hera — nri 

' • B-'J''.'^ i B. nH 

—WHM ' mirw 

■ "•■•■ .* 1,,,. J i^TM 



■ H| 'V HI 



iiiiiiinrti tiuiitriTiTrrrriYtTiiEntlf 

-X-8KSC-Z-16KSC-A 



• Access times to 250 nsec. 

• Address selectable by DIP Switch 

• All Address, Control, and Data 
outlines fully buffered 

• Low Power Consumption 

• Meets all DMA requirements 

• Solder Mask both sides of PC. boards 

• Top Quality FR-4 fire resistant 
glass board material 



:K*M< 



KSC- 

6KSC-A (250 nsec.) 



.... 269.00 
.... 579.00 



ALL BOARDS S-100 BUS COMPATIBLE 









ERSAL PR 



Have you seen the Seals Electronics, Inc., 
Peripheral Universal Processor-PUP-1 ? It is the 
newest member of the Seals family of perfor- 
mance products. The PUP-1 is designed to meet 



all the needs and demands placed on a con- 
tinuous-duty micro-computer by OEM appli- 
cations. Write or call Seals factory direct for 
more information. 



SEALS ELECTRONICS, INC. 

10728 DUTCHTOWN RD. ■ CONCORD, TN. 37720 



PHONE 615-966-8771 



TELEX NO. 55-7444 



Circle 101 on inquiry card. 



BYTE December 1977 65 



*2 O [J>C- 



ALL 
RES 
630 
I/4W 



ISTORS £ 



IC4 
7406 



O-^fc^ 



IC4 

7406 



o — HS***- 



O-^fcx^ 



IC4 
7406 



04 C>- 



^ 



IC4 
7406 



"5 n> — 4£*^ 



C— ^ 



ICI 
7406 



07 £>- 



Dl 
02 
D3 



IC8 
4042 



Ql 

61 ■ 

03 ■ 



02 03 Q4 



$>' (*)(*) (*)(*) 



02 Q3 Q4 



oooeoo? 



+4Z 

in, 



IC9 
J3 4029 






ICiO 
4001 



KEY DIVIDER 



f b - INH 
405 



;^B^ 



ICI4 
4042 



NSL 
5053 



^p^pi^D 



1 



ICI8 
4042 



NSL ■ 
5053 



02 03 04 



30 CO 00 OS 



♦ 12 



1 SFY 

WWI40D /77 L 



+ 12 

Jtli 



icts 

J2 4029 
J 3 CO 



71 




IC20 
4042 



01 02 03 04 



NSL • 
5053 



30 Qt 



IC23 
4042 



•current thru led indicators 
is limited by the outputs of 

THE 4042'S 



NSL * 
5053 



Q4 Q3 Q4 



30 00000? 



♦ 12 



J2 IC2I 

J3 4029 



Ti 



+ IZ 

in, 



IC24 



*' 4029 
J3 CO 

CI 
UP/ON PE 



XI 



L. 



Ql 
02 


ICI3 
4024 


03 




Q« 




05 




06 




07 





OCTAVE GENERATOR 
AND SELECTOR 



~^h 



ICI 7 

4001 



iE>n 



JO 



J 



ICI7 
4001 



ICI6 
4013 



7 



JZl 



:ijs^ 



D 

,C22 R 

4013 





I 



ICIO 
4001 



^>c± 



Q 



IC22 
4013 



j 




DEFAULT MIXING CIRCUIT 



I^F 
25V 



■Onote I 

SELECTOR 
OUTPUT 



-O NOTE 2 

SELECTOR 
OUTPUT 



-ONOTE 3 

SELECTOR 
OUTPUT 



-O NOTE 4 

SELECTOR 
OUTPUT 



• I 1£ ®T0 AUDIO AMP (~2 3VPP) 

<> "7 USE THIS AS A QUICK 

470 KLUGE IN LIEU OF 

4 w , MORE ELABORATE 

/?j SYNTHESIZER MODULES 



.J 



Figure 3: Schematic of the tone generator's key, octave and note selection 
logic. A default mixing circuit is shown to allow connection of all four out- 
puts directly to one audio amplifier for testing. 



66 



BYTE December 1977 




Peripheral Vision is a young, fast-moving company 
that's dedicated to selling reasonably priced 
peripherals for various manufacturers' CPU's. 

So now, when you build your microcomputer 
system, you'll know where to iook for all the 
peripherals that will make your system do what it's 
supposed to do. 

Peripheral Vision may be young, but we have some 
old-fashioned ideas about how to run our business. 

We know there are serious incompatibilities among 
the various manufacturers' peripherals and CPU's. 
We want to get them together. And we want to bring 
significant new products to market— products 
consisting of everything from adaptation 
instructions/kits for hardware and software to major 
new designs. 

Most important to our customers, Peripheral Vision 
is committed to helping you get along with your 
computer. We'll do all we can to make it easy. 

Our first product is a real reflection of this 
philosophy. It's a full-size floppy disk for the Altair- 
Imsai plug-in compatible S-100 BUS. And it's 
available for as low as $750.00. 

Our floppy disk has many exciting features: 
•1 interface card supports 4 or more drives 
•Stores over 300,000 bytes per floppy 
•Bootstrap EPROM included— no more toggling or 
paper tape 



•Completely S-100 plug-in compatible 

•Drive is from Innovex (the originator of the floppy 

concept)~assembled and tested 

•Disk operating system with file management 

system included on floppy 

•Cabinet and power supply optional 

Also in the works are many new products we'll be 
letting you know about soon, if you'd like to take a 
closer look. Like I/O cards, tape drives, an impact 
printer—all for the S-100 BUS— and we're designing 
peripherals for a lot of other CPU's too. 

We've given you a little glimpse of who we are and 
what we're doing. If you want to see more, just fill in 
the coupon below. 




RO. Box 6267/Denver, Colorado 80206 303/777-4292 



Nome 



City/State/Zip . 



Circle 91 on inquiry card. 



BYTE December 1977 



67 



R/W Q>~ 



K5 O- 



A9 O 



A8 O- 



A7 O 



A6 IZ> 



I I 

3n^ t 



*2 C> 



A5 O 



A4 [I> 



A3 O 



A2 O 



Al O- 



AO C> 



H>>2- 



^ 



IC3 
7406 



H>^ 



H>o- E 



IC2 
7406 



5J>*~6 



&o$ 



9J>^8 



1 1 r»^^IO 



I I 

3 fc^- 4 



ICI 
7406 



^ 



3fi^J2 



^ 



;630 >630 

lirs^.10 1 



4>^ 



•630 



■630 



+ 12 



I I 



;630 



■630 



'630 



•630 



+ 12 



; 630 



+ 12 



•630 



■630 



+ 12 



'630 



+ 12 



■630 



10 



IC5 
4028 






IC6 
4023 



113. N 



13 



10 



WP22 



WP2I 



-CI> } FUTURE USE 



WP20 



■o J 



+12 



IC3 
7406 

I3I>^J2 



•630 



J°J£ 1 ^ 

Ar' IN746 
*>■ 3.3V 
IN4I48 



SH> 



IN4I48 J 



+12 
IC2 § 

7406 S 630 

I3r>v 12 1 



4>^ 



3.3V 



IC7 
4028 



"6" 
"5" 
" 4 » 

"3" 
"2" 
"I" 
"0" 



4 WWI400 



LATCH STROBE PULSES 



C> TO KEY, OCTAVE 



7 WWI40I 



-£> TO NOTES I, 2 



J *^°<L-C>T0 NOTES 3,4 



I WWI403 p-Q 



16 WWI404 



I 



o 



2 WWI405 



14 WWI406 |-L 



i ' 

i 



3 WWI407 



FUTURE 
EXPANSION 



Figure 4: Schematic of the tone generator's KIM-1 address space decoding, a 
diagram of the edge connector, and power wiring table for figures 3 and 4. 



68 BYTE December 1977 



The six programmable dividers are the 
heart of the interface (see the detail block 
diagram of figure 2 and circuit diagram of 
figure 3). Five of these are 4029 presettable, 
bidirectional, binary or decade counters set 
up to count down in binary mode. In this 
mode the carry out (CO) line goes low when- 
ever the counter counts down to 0. The CO 
signal is inverted and returned to the preset 
enable (PE) input which sets the counter to 
the value of the binary number on input pins 
J4 to J1. Each positive transition of the 
clock (C) input causes the counter to count 
down by one as long as the clock inhibit 
(CI) is low. Because J4 (pin 3 on IC9, IC15, 
IC19, IC21, and IC24) is always high, the 
counters may be set to divide by 8, 9, 10, 
11, 12, 13, 14, or 15, depending on the 
binary number on inputs J3 to J-|. This 
number is stored in 4042 latches by writing 
the data into D3 to D-| of the latch as if it 
were a memory location. For example, if a 
binary three (01 1 ) were on J3 to J 1 , 8+3, or 
11 would be loaded into the counter when 
PE went high, and the C input would have 
11 positive transitions before CO would go 
low, forcing PE high momentarily, and again 



loading the counter with 11. Thus the fre- 
quency of PE pulses would be 1/11 of the 
frequency of positive transitions at C. A 
flip flop at the output of the note dividers 
converts the PE impulses into square waves 
with a 50 percent duty cycle. Each of the 
Q4 latch outputs turns off a divider and 
thus turns off the sound of one or more 
note outputs. Bits 4 and 8 of hexadeci- 
mal location 1400 turn off all the sound, 
whereas bits 4 and 8 of address 1401 and 
1402 turn off notes 1 thru 4, respectively. 
The reason for all this turn off is that music 
has a lot more silence in it than is generally 
recognized. To make notes sound distinct, 
rather than all run together, the sound must 
be shut off for periods of 10 to 50 ms (for 
example). 

The key selector divides the computer's 
1 MHz clock by a number from 1 5 to 8 to 
produce frequency f|< of 66.7 kHz to 125 
kHz as shown in the second block diagram. 
A binary divider, IC13, produces seven 
more octaves (factors of two in frequency) 
from f«, and the 1 of 8 selector, IC12, 
selects one of the octaves, f|^Q (520.8 Hz to 
125 kHz), based on bits 6 to 4 stored at 



Number 


Powe 
Type 


r Wiring Te 
+5V 


ble 
GND 


+12 V 


IC1 


7406 


14 


7 


— 


IC2 


7406 


14 


7 


- 


IC3 


7406 


14 


7 


- 


IC4 


7406 


14 


7 


- 


IC5 


4028 


- 


8 


16 


IC6 


4023 


- 


7 


14 


IC7 


4028 


- 


8 


16 


IC8 


4042 


- 


8 


16 


IC9 


4029 


- 


8 


16 


IC10 


4001 


- 


7 


14 


IC11 


4042 


- 


8 


16 


IC12 


4051 


- 


8 


16 


IC13 


4024 


- 


7 


14 


IC14 


4042 


- 


8 


16 


IC15 


4029 


- 


8 


16 


IC16 


4013 


- 


7 


14 


IC17 


4001 


— 


7 


14 


IC18 


4042 


- 


8 


16 


IC19 


4029 


- 


8 


16 


IC20 


4042 


- 


8 


16 


IC21 


4029 


- 


8 


16 


IC22 


4013 


— 


7 


14 


IC23 


4042 


- 


8 


16 


IC24 


4029 


- 


8 


16 



Edge Connector Wiring Diagram 





+5 V 


1 


A 


ground 




12 V output 2 


2 


B 


write page 20 * 






f *2 


3 


C 


write page 21 






R/W 


4 


D 


write page 22 






K 5 


5 


E 


D 






D 


6 


F 


D 1 






D 1 


7 


H 


D 2 






D 2 


8 


J 


D 3 






D 3 


9 


K 


D 4 






D 4 


10 


L 


D 5 






D 5 


11 


M 


D 6 


> 12 V outputs 




D 6 


12 


N 


D 7 




5 V inputs * 


D 7 


13 


P 


A 






A 


14 


R 


A 1 






A 1 


15 


S 


A 2 






A 2 


16 


T 


A 3 






A 3 


17 


U 


A 4 






A 4 


18 


V 


A 5 






A 5 


19 


w 


A 6 






A 6 


20 


X 


A 7 






A 7 


21 


Y 


Ag 5 V input 






A 8 


22 


z 


+12 V 





Continued on page 170 



BYTE December 1977 



69 



the best way to build 
your system. .♦ 




IMSAI introduces 

the PCS-80 
component system. 



is to take it apart 
piece by piece. 



Compare the features of our S-100 bus 
system, the industry standard, to anyone 
else. After you've taken them apart piece by 
piece, you'll know why IMSAI is the system 
you can grow with. At a price you can live 
with. 

IMSAI 80/30 Integrated Video Computer 
(with Intelligent Keyboard-IKB-1) 
Standard Features: 

D Price assembled $1499. IMSAI is the only 
S-100 bus manufacturer that offers a micro- 
processor driven keyboard with "N" key 
roll over, 2'AK of RAM, 8 expansion slots, 
choice of 4K, 16K, 32K and 64K RAM 
expansion boards, 3K ROM monitor, 
synch/asynch serial interfaces, parallel and 
serial ports, high resolution CRT monitor, 
24 x 80 display with graphic editing and 
data entry features, and 28 amp power sup- 
ply for the incredibly low price of $1499. 

□ mpu Speed. IMSAI is the only S-100 bus 
manufacturer that offers true 8080 com- 
patibility, operating at 3 mHz. 

□ RAM Included. 2'AK. 

□ Expansion Slots. Eight expansion slots 
are provided in a new terminated and regu- 
lated motherboard (10 slots total). 

□ RAM Board Sizes. IMSAI is the only 
S-100 bus manufacturer to supply 4K, 16K, 
32K, and 64K RAM memory expansion 
boards. 

□ ROM Monitor. IMSAI is the only S-100 
bus manufacturer to provide 3K of ROM. 

□ Asynch /Synch. Only one other S-100 bus 
manufacturer provides both methods of 
data communication. 

D PIO/SIO. IMSAI is the only S-100 bus 
manufacturer that provides two serial ports 
and one fully implemented parallel port at 
no extra charge. 

□ Video I/O. IMSAI is the only S-100 bus 
manufacturer to include a high resolution 
(14 mHz) monitor as an integrated part of 
the computer. 

D CRT Format. IMSAI is the only S-100 
bus manufacturer to provide a full 24 x 80 
screen, which is two times the capacity of 
the common 16 x 64 screen. 
D Graphic/Edit. IMSAI is the only S-100 
bus manufacturer that provides graphics 
and text editing features with character and 
line insert/delete for your CRT display. 



D Keyboard Included. IMSAI is the only 
S-100 bus manufacturer to supply a micro- 
processor driven keyboard with "N" key 
roll over and tiered construction for a true 
typewriter keyboard touch. 

□ 28 amp Power Supply. The world famous 
IMSAI power supply assures stability and 
reliability of performance. 

Options: IMSAI is the only S-100 bus manu- 
facturer to provide a comprehensive array 
of fully integrated options including: line 
and character printers, CRT terminals, 
intelligent keyboard, ACR storage, stan- 
dard and mini floppies, TTY BASIC with 
OS, 4K, 8K and 12K BASIC, audio cassette 
BASIC with OS, 8K disk operating system 
(DOS) based upon CP/M* scientifically 
and commercially oriented disc BASIC and 
level 2 FORTRAN IV compiler. 
D Printers. Only one other S-100 bus manu- 
facturer can supply both line and character 
printers. 

□ CRT/Keyboard. IMSAI is the only S-100 
bus manufacturer to provide both CRT 
terminal and intelligent keyboard as 
separate options. 

D ACR Storage. Available. 
D Floppies. IMSAI is one of the few S-100 
bus manufacturers to provide both 
standard and mini floppies and the only 
S-100 bus manufacturer that supplies 
double density standard floppies. 

□ TTY BASIC. IMSAI is one of the few 
S-100 bus manufacturers that provides self- 
contained operating systems with 4K, 8K 
and 12K BASIC. 

□ ACR BASIC. IMSAI supports ACR 
BASIC with an 8K version. 

D DOS. IMSAI is the only S-100 bus manu- 
facturer to provide an enhanced version of 
the control program monitor (CP/M*) that 
can support up to 18 disk drives. 

□ Disc BASIC. IMSAI is the only S-100 bus 
manufacturer that provides both scientific 
and commercial versions of compiler 
oriented BASIC. 

D FORTRAN IV. IMSAI is the only S-100 
bus manufacturer that offers a level 2 
FORTRAN IV compiler that operates 
under an enhanced version of CP/M.* 

Prices and specifications subject to change without notice. 
*CP/M is a trademark of Digital Research Corporation. 



Price/Performance 
no one else has put together. 



m 




The Standard of Excellence 

IMSAI Manufacturing Corporation, 14860 Wicks Blvd., San Leandro, CA 94577 (415) 483-2093 TWX 910-366-7287 in Microcomputer Systems 



Circle 61 on inquiry card. 



BYTE December 1977 



71 



Technical 
Fwum 



The XF and X7 Instructions 



of the MOS Technology 6502 



H T Gordon 

Dept of Entomological Sciences 
110 Wellman Hall 
University of California 
Berkeley CA 94720 



Technical Forum is a fea- 
ture intended as an Interactive 
dialog on the technology of 
personal computing. The sub- 
ject matter is open-ended, and 
the intent is to foster dis- 
cussion and communication 
among readers of BYTE. We 
ask that all correspondents 
supply their full names and 
addresses to be printed with 
their commentaries. We also 
ask that correspondents 
supply their telephone num- 
bers, which will be printed 
unless we are explicitly asked 
to omit them. 



None of the operation codes listed in the 
instruction set of the MOS Technology 6502 
has a low order bit pattern of 1111 (hexa- 
decimal F) or 0111 (hexadecimal 7), al- 
though many have 1110, 1101, 0110 or 
0101. How does the processor interpret 
op codes of type XF or X7 where X is an 
arbitrary high order digit? 

When I tried this out I found that it exe- 
cutes them as valid instructions to do both 
the XE and XD, or both the X6 and X5 
instructions, with fascinating and useful 
results. Thus for example A5 XX causes 
a load of the byte in page zero location 
XX into the accumulator, A6 XX loads 
this byte into the X register, and A7 XX 
loads it into both index registers, an oper- 
ation that would need three program bytes 
with the conventional coding. 

Op code 87 is even more interesting, 
since 85 XX stores the value in the accu- 
mulator into page zero location XX and 

86 stores the value in the X register into 
XX, and it is obviously impossible to store 
two different values simultaneously in one 
location. The effect of 87 XX is to store 
into location XX only those 1 bits that 
occur in both the accumulator and the 
X register. The effect is that of a logical 
AND between the accumulator and the 
X register (neither one being altered), with 
storage of the result into XX. 

The effect of 97 XX resembles that of 

87 XX, except that the result of the AND 
is stored in page zero location XX + Y, 
since Y indexed storage is used by op 
codes 95 and 96. Since these are store 
instructions, no testable flags are set. In 
general, op codes of type XD and XE 
have the same logic as X5 and X6, differing 
only in having a 2 byte absolute address 
instead of a 1 byte page zero address. This 
is not true for op codes of type 9X. Both 
are nevertheless executed, but the operations 
are not the same as those of 96 and 97. 
They resemble the valid 9D in that storage 



into a Y indexed absolute address (XXXX + 
Y) is commanded. However, 9E stores the 
result of an AND between the byte in the 
X register and hexadecimal immediate value 
02, ie: if bit 1 of this byte is a 1, 02 is 
stored, and if not, 00 is stored. (I have no 
idea where the processor finds the 02.) Op 
code 9F stores the result of an AND 
between the value 02, the X register, and 
the accumulator; if the bytes in both re- 
gisters have a 1 in bit 1, 02 is stored; other- 
wise 00 is stored. 

When X6 and X5 command different 
operations, X7 causes the X6 to be done 
first, followed by the X5. For example 
E7 XX causes the byte in XX to be incre- 
mented by 1, then subtracts this value from 
the accumulator, setting the proper flags 
and leaving the result in the accumulator. 
Everything the "new" instructions do could 
of course also be done with the conventional 
set, using more program bytes and time. 
Most of the unused op codes of the 6502 
"run," but 12 of type X2 cause operations 
to become "lost in space," from which only 
RESET can rescue them. It would be inter- 
esting to know whether some of the unused 
op codes of other microprocessor designs 
will also prove to be valid instructions. 

Since discovering the XF and X7 instruc- 
tions, I have found that there are also 
"unofficial" XB instructions. For example 
A9 XX is a load immediate of the byte XX 
into the accumulator, and AA commands 
transfer of the byte in the accumulator 
into the X register. The effect of AB XX 
is to load XX into both the accumulator 
and X registers, setting the usual flags. 
Some other XB op codes are also executed, 
but I have not yet had time to work out 
their operation. I have no doubt that some 
of these instructions could be put to use, 
but there is a hazard. If manufacturers 
decide to add new planned instructions 
in chip redesign, programs using the un- 
planned ones will be incompatible." 



72 



BYTE December 1977 



$, 



The *6,000 DP 

Center. 




IMSAI Introduces 
the VDP-80 

Until now. owning real computing power meant paying 
unreal prices. Announcing the IMSAI VDP-80 Video Data 
Processor, a complete computer, intelligent terminal and 
megabyte floppy disk mass storage system. All in one 
compact cabinet. All for just $5995? 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. 

D Powerful, High-Speed, Central Processor. 3 mHz 

Intel 8085 microprocessor. 32K RAM memory (expandable 
to 196K). 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 drive standard. One million byte storage 
capacity. Three floppy disk drives can be added-on, 
providing 4 million bytes of on-line storage. 

D 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). 

Circle 61 on inquiry card. 



□ 12" CRT, 24x80 Field, User Programmable Font. 

Character and line insert/delete allows fast program 
correction and text editing. Inverse video and programmable 
field allows highlighting or enlarging graphics of informa- 
tion display. Titled fields protect information blocks from 
being written over accidentally. Programmable font (up to 
256 different characters) allows foreign language and special 
purpose character forms. 

ii Alphanumeric Intelligent Keyboard. 62-pad main 
keyboard. Programmable 12-pad numeric keyboard. 12-pad 
control keyboard. Standard typewriter and calculator 
keyboard layouts. "N" key roll over reduces operator error 
during high-speed data entry. 

D Commercial BASIC, FORTRAN IV, DOS Software. 

Built-in ROM monitor allows extensive debugging and 
diagnostics. BASIC, interactive or compiler version. 
FORTRAN IV level 2 ANSI compiler. DOS- 
enhanced CP/M.** 

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

Dial (415) 483-2093, and we'll tell you how you can put 
our $5995* DP Center on your desk top. When it comes to 
small business computers, Just Ask IMSAI. 

"Base price VDP-80/1000. $5995. with 32K RAM memory and dual double density floppy 
disk drive. U.S. Domestic Price Only. Features and prices subject to change without notice. 
'"CP/M is a trademark of Digital Research Corporation. 




\m 



The Standard of Excellence 
in Microcomputer Systems 



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



BYTE December 1977 



73 




Photo J: A view of the PC 77 convention floor. 



Photo 2: Heath's dis- 
play, a popular spot 
at the convention 
where hackers could 
get their hands on the 
new Heath kit com- 
puters for the first 
time. 




PC77 



By Chris Morgan, Editor 



Who would go to Atlantic City before the 
gambling casinos are built? Computer freaks, 
that's who! Thousands of microcomputer 
enthusiasts (between 8 and 12 thousand) 
crammed into the Shelburne hotel August 
27 and 28 to see over 150 manufacturers 
display their computer creations. Exotic 
sights met the eye at every turn: a complete 
mock up of a fighter plane was being run by 
a microcomputer, with plans available to 
intrepid experimenters who wanted to 
duplicate the gadget; games galore and some 
very high class color graphics filled video 
screens; computers spoke and listened 
to fascinated onlookers; Heath, Commodore 
and Radio Shack displayed their brand new 
microcomputer systems; and BYTE was on 
hand at a brand new convention booth. 

Everything went smoothly from first 
hour to last, and the well attended banquet 
featured a host of speakers including com- 
puter pioneer Dr John Mauchly. 

Next year's convention promises to be 
even bigger and better at its new location: 
the Atlantic City Convention Center." 




Photos by Charles Floto 



Photo 3: One of the many color 
video displays on view at Per- 
sonal Computing 77. Shown are 
two Compucolor displays 
offered by the Computer Mart 
ofNJ. 



<$GlQDCs@ 



Photo 4: The Computer Store (New York area) booth. 





Photo 5: One corner of the expansive MITS booth 
which took up over 800 square feet and featured 
the complete line of Altai r computers. 



IN ELECTRONICS @) HAS THE LINE.. 



DIP/IC INSERTION TOOL with PIN STRAIGHTENER 




STRAIGHTEN PINS 



RELEASE 



PICK-UP 



INSERT 



* MINIMUM ORDER $25.00, SHIPPING CHARGE $1.00, N.Y. CITY AND STATE RESIDENTS ADD TAX 



OK MACHINE AND TOOL CORPORATION 

3455 CONNER STREET, BRONX. NEW YORK, N.Y. 10475 U.S.A. 

PHONE (212) 994-6600 TELEX NO. 125091 



Circle 85 on inquiry card. 



BYTE December 1177 75 



Qispcia's 
Bipcuil Bella* 



On a Test 
Equipment Diet? 



Photo I: ICs on ICE. 
Pictured are all the com- 
ponents necessary to build 
the 8 channel 3'A digit 
computer controlled volt- 
meter described in this 
article. 




Try an 8 Channel DVM Cocktail! 



Steve Ciarcia 
POB 582 
Glastonbury CT 06033 



About three weeks ago, I was testing a 
new 8 bit analog to digital converter which 
I had just built for an upcoming magazine 
article: this one, in fact. It was a high speed 
successive approximation analog to digital 
converter which performed 200,000 con- 
versions a second, and it worked fine. I had 
intended to use it for some speech digitiza- 
tion experiments. During the testing phase, 
however, I became exasperated from con- 
tinually moving my digital voltmeter (DVM) 
probes around the circuit to take readings 
and having to stop to make the same cal- 
culations repeatedly. To speed the process 
up, I wrote a BASIC program which would 
do the number crunching, provided I typed 
in the voltage values correctly. More often, 
though, all I wanted was to monitor a few 
voltage levels simultaneously. 

After stringing my two DVMs, an analog 
volt-ohm meter (VOM), and my oscilloscope 
all over the bench to aid in my testing, I 



Motorola MC14433 3M Digit Analog to Digital Converter Specifications: 

Accuracy: ± 0.05% of reading ± 1 count 

Two voltage ranges: 1.999 V and 199.9 mV 

Up to 25 conversions per second 

Input impedance > 1000 megohms 

Auto zero 

Single positive voltage reference 

Auto polarity 

Drives CMOS or low power Schottky loads 

On chip system clock 

Over, under, and auto ranging signals available 



concluded that there must be a better way. 
It's old hat to use one channel of a dual 
trace scope to troubleshoot the other trace, 
so it was natural to consider using the 
analog to digital converter to monitor 
itself. While the thought was momentarily 
gratifying, the low resolution inherent 
with eight bits and clumsy binary con- 
version made me reconsider. 

While thinking over this dilemma I was 
leaning back in my reclining desk chair 
with one elbow on my computer and my 
feet up on my printer. I realized that I 
should move some of the junk so that I'd 
have more room in the basement. I con- 
cluded that what I needed were eight DVMs. 
This insane desire was quickly eradicated 
and replaced by a more economically sound 
idea. I had designed a 4 channel 8 bit digital 
to analog converter to run with BASIC. It 
was only natural to design a multichannel 
analog to digital converter which also inter- 
faced to BASIC. 

12 bit analog to digital converters and 3 % A 
digit DVM chips come in a variety of con- 
figurations. Converters which specifically 
state that they are 12 bit converter modules 
can have either binary or binary coded 
decimal (BCD) outputs, but are almost 
universally parallel binary output devices. 
The end of conversion signal results in 
immediate data output. The computer 
just has to scan the data lines and translate 
them into meaningful notation. Chips which 



76 



BYTE December 1977 



MORE BYTES FOR YOUR BUCK ! 




8K RAM. . .assembled, burnt-in, tested 
and warranted ... only $197 50 ! 



These are not kits, but completely assembled and 
tested boards, with a 1 year warranty. No soldering, 
no messing, no chance of mis-connections . . . just 
plug 'em in and you're ready to run. The 8K RAM has 
the same features and speed as our 4K RAM (500 
nsec, no wait states) and if that isn't fast enough 
there's our 8K (Z) fast RAM that gives you a 250 nsec 
access time for only $217.50! 

Because of the low power memory chips used, power 
requirements are lower than many other RAM boards. 
And the 8K RAM uses less power than two 4K boards. 
All RAMs are manufactured to military specification 
MIL STD-883-C, assuring greatest control over 
reliability. 

Address selection is easily accomplished by our 
Visaddress™, an easy to read switch on the board 
top. The 8K board is designed to be selected as one 
of eight possible 8K RAM boards present on the S-100 
bus. 

To achieve address selection, the top address lines 
are decoded using the Visaddress switch. The switch 
will then show the selected starting address of the 
RAM card. (i.e. = 0000-1 FFF, 2=20$f-3FFF, etc. 
on the 8K board). 

Circle 68 on inquiry card. 



Both boards have fully buffered address and data 
lines, and extensive built-in noise immunity circuitry. 
And are plug-in compatible with the S-100 bus 
(Altair 8800, IMSA1 8080, etc.) 

Quality, assembled boards at less than kit prices. But 
what else should you expect from a company whose 
prime products are electronic test instrumentation 
and microprocessing components? 

Also available: 4K RAM; $107.00, Alpha-VDM; $107.00, 
Alpha-VDM-ll; $145.00, Graphics-VDM; $137.00. 

Order direct by check, BankAmericard or Master 
Charge (Add $1.50 shipping, credit customers give us 
all the card numbers, please and Ohio residents add 
4 1 /2% sales tax) or contact us for more information. 
Kent-Moore Instrument Company, a subsidiary of 
Kent-Moore Corporation (founded in 1919), P.O. Box 
507, Industrial Ave., Pioneer, Ohio 43554. (419) 737- 
2352. Or, Kent-Moore of Canada, 246 S. Cawthra Rd., 
Mississauga, Ontario L-A3P2, Canada. 



Kent-Moore 
INSTRUMENT COMPANY 



BYTE December 1977 77 




are specifically referred to as 3'/2 or 4/2 digit 
DVM large scale integrated circuit (LSI) 
chips do not have this luxury. In general, 
their output is a combination of serial and 
parallel, one digit at a time. Interfacing to a 
parallel output analog to digital converter 
would be far easier with regard to the com- 
puter software, but as is generally the case, 
one never gets something for nothing. 1 2 bit 
parallel analog to digital converters are 
expensive. Most are designed to cover high 
speed data acquisition applications. Speed 
(1000 to 100 K conversions per second) 
costs money. 

This leaves us with the 3/2 digit DVM LSI 
chips. They run very slowly by comparison 
(1 to 50 conversions a second), but cost an 



Figure It A simplified functional representation of the Motorola MCI 4433 
3 'A digit analog to digital converter. 1a shows a block diagram of the device; 
lb shows the two integration periods used to convert the input voltage to a 
3'A digit decimal number. During time tj, the unknown voltage (Vj n ) is ap- 
plied to an integrator having a predefined integration time constant (r) for a 
preset time. During t2 a known negative voltage is presented to the integrator. 
The time needed for the integrator to return to the level is therefore a 
function of the unknown voltage. A digital counter keeps track of this time, 
from which Vjp can be calculated. 



VOLTS 







INTEGRATOR OUTPUT 












VOLTAGE VO 






















VIN I / 








SLOPE= 


VIN 

T 


/ VIN2/ 
/ VIN3 






SLOPE* VREF/r 
















TIME 


* 


t| 


» 


■» t 2 I » 

t; 


. 2- 


* 























order of magnitude less. Software to per- 
form the serial to parallel conversions is a bit 
more involved, but once it's written, who 
cares? 

One of the latest chips to hit the market 
is the Motorola MCI 4433, a 3/2 digit low 
power complementary MOS analog to digital 
converter. Its specifications (relative to 
computer applications) are listed in the box 
on page 76. 

The MC14433 is a modified dual ramp 
integrating analog to digital converter. This 
is outlined in figure 1. 

The conversion sequence is divided into 
two integration periods: unknown and 
reference. During the Vj n or unknown input 
integration sequence, the unknown voltage 
is applied to an integrator with a defined 
integration time constant for a predeter- 
mined time limit. The result is that the 
voltage level at the output of the integrator 
will be a function of the unknown voltage 
input. More positive input voltages will 
result in higher levels at the integrator 
output. 

During the second cycle of the integra- 
tion sequence, Vj n is replaced at the input 
of the integrator with a negative 2.000 V 
reference. The output of the integrator 
starts to move toward zero while the digital 
circuitry in the chip keeps track of the time 
it takes to make it to zero again. The time 
difference between the two integration 
sequences is then a function of their voltage 
difference. Since the integration time con- 
stants are the same for both periods, if 2.000 
V were the unknown applied voltage, t2 
would be equal to ti. The unknown voltage 
is equivalent to the ratio of the periods, 
times the voltage reference, V re f. This is 
also known as a ratiometric converter. Quite 
a mouthful. The full scale range of the 
converter is determined by the level of V re f. 
Changing V re f to .200 V will make the same 
1999 count represent a 199.9 mV full 
scale. (Obviously, V re f could be set to any 
value within the voltage limitations of the 
chip. But, remember, full scale will still be 



(la) 



<0 START 



•" r 




T = integration time constant 

ti = unknown voltage integration period 

(constant) 
tj = reference voltage integration period 

(variable) 


v - Vint1 - 

v 

T 


V ref t 2 

T 


that is 




V in <2 




v ref t, 


Ob) 



78 BYTE December 1977 










-'**„ 



•^ 



*•. 



x. 



/ 



■'%>.„>. 






VI & VII 

are finally 
released! 






.°-v 



Si 









Or 



**„ 










Volume VI 









Yes and it still contains what was previously 
advertised. A fully disk interactive business 
package with A/R, Inv., A/P, ledgers, tax totals, 
payroll records, more. 

As a bonus it also contains the Users Manual for 
our Firmware Ledger package. These 100 extra 
pages contain report formats, file creation rou- 
tines and our very powerful program ACBS1 used 
to create the powerful file structured data base. 



$49.95 



Volume VII 



Here is that Chess program you have been 
waiting for as well as a disk interactive Medical 
Billing package with patient history file. 

Also included is our disk interactive Word 
Processing package 
(revision 0). 

*& ■' 

$39.95 



Add $1.50/ Vol. for U.P.S. and handling except to APO and PO addresses. 
Foreign orders add $8/Vol. for air shipment — US dollars only. No purchase 
orders over $50. 








. L 



VOLUME 


I 


_ 


$24.95 


VOLUME 


II 


— 


24.95 


VOLUME 


III 


— 


39.95 


VOLUME 


IV 


— 


9.95 


VOLUME 


V 


— 


9.95 




OUR SOFTWARE IS COPY- 
RIGHTED AND MAY NOT BE 
REPRODUCED OR SOLD. 

Due to the numerous copyright violations on 
our earlier volumes — until further notice we 
are offering a REWARD leading to the arrest 
and conviction of anyone reproducing our 
software in ANY way without our written 
permission. This includes diskettes, paper and 
magnetic tape, cassettes, records, paper 
copies, etc. 



SCIENTIFIC 
RESEARCH 

220 Knollwood 
Key Biscayne, FL 33149 

Phone orders (800) 638-9194 
Information 305-361-1153 



AVAILABLE AT MOST COMPUTER STORES 

10% discount on purchases of entire set. Offer expires December 30, 1977 







honored 



Figure 2: Circuit for the 
8 channel 314 digit volt- 
meter. 



1999 counts even if it represents 2.463 V, 
if for example that were V re f.) 

Making a DVM Chip Computer Compatible 

There are more bus configurations than I 
know what to do with lately, so I set up this 
interface to run from decoded input and 
output ports. Whether they be memory 
mapped 10 or not, we do not care, as long 
as the outputs are latched and the inputs 
can be driven by low power Schottky TTL 
devices. 

To fully utilize this eight channel 3/2 
digit DVM, we must design the correct hard- 
ware interface and write a universal software 
driver. 

Hardware and Data Format 

Figure 2 details the schematic of the 8 
channel interface board. IC1 is the MCI 4433 
DVM chip. With the values chosen, it will 
perform approximately 25 conversions a 
second. Reducing the 68 K resistor between 
pins 10 and 11 to about 27 K will increase 
this to about 50 conversions per second. 
This is an out of specification condition 
and, though probably successful, is 
dependent on individual parts. 



Each output pin of IC1 has the power to 
drive one LS TTL load. Since all input ports 
are not necessarily low power, we provide 
IC3 and IC4 as buffers. They are 74LS04s 
and while they are capable of driving regular 
TTL, they do invert the output data of the 
DVM. Any driver program must complement 
the BCD and digit data it receives from this 
interface before using it. 

IC2 is a MCI 403 precision voltage 
reference chip and supplies the V re f input. 
This IC will vary only 7 mV over a range of 
0° to 70°C from its nominal 2.5 V output. 
While a zener diode might also supply an 
adequate reference voltage, the temperature 
drift characteristics of the average zener 
would negate the value of a V/i digit 
converter if used beyond a 5 or 10°C tem- 
perature variation. A precision voltage 
integrated circuit is an absolute must if 
this circuit is to be used for practical 
applications. 

IC5 is a 7474 which is used here as a set- 
reset flip flop. The end conversion signal 
from IC1 sets it, and an output bit from 
the computer resets it after reading the 
output data. 

IC6 is an 8 input CMOS multiplexer. 
Its address lines are tied directly to a latched 



u. 



I C 2 

MC I403U 



1 X 

oov rh 

.i 
ioov 



Z0K 
-Wv— 



l 



VREF VIN 

ICI 
MC 14433 
3 1/2 DIGIT DVM 



DSI 0S2 DS3 DS4 Q3 Q2 Ql QOCLK 



IC3 
74LS04 



MYLAR 



$10 



Y 



Y 



Continued on page 92 



TYPICAL RESISTOR 
INPUT SCALING 



-1.999 < VIN < 1.999V 
-5V < MAX < 5V 



IC4 
74LS04 



IC4 
74LS04 



wOwOw 

B7 B6 B5 B4 B3 B2 Bl BO 



PORT 003 INPUT 
SELECTED CHANNEL 
DATA OUTPUT 




PORT 002 INPUT 
OVERRANGE AND 
END OF CONVERSION 
STATUS 



PORT 003 OUTPUT 
CHANNEL SELECT 
AND CONVERSION 
START 



f_~^GND 



m 



80 



BYTE December 1977 




Tfca [L^a^J to ^a^ S^&aaa *% 



MODEL CC-8 $175.00 



4800 BAUD CASSETTE RECORDER 

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error 
rate 108 at 4800 BAUD. Can be used from 110 to 4800 BAUD into a UART or "Bit 
Banger PIA" -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 speed is 3.2"/second nominal; 1.6 "/sec. optional. 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 PRO- 
GRAM RELOADING and DATA STORAGE. Especially recommended for 6800 
systems, 6502 systems, 1800 systems and beginners with the 8080 systems. Manual 
control except for motor start/stop. 6800 or 8080 software for file or record searching 
available on request with order. Used by major computer manufacturers, Bell Tele- 
phone and U.S. Government for program reloading and field servicing. 

AVAILABILITY - Off the shelf. 



6800 CONTROLLER for SWTP 

HI 




PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. EXPANDS 
MIKBUG with 1 K of ADDITIONAL ROM PROGRAM. 

This is a complete tape controller for the SWTP 6800 system. Has 3 K of EPROM 
space for your own programs. A 1 K ROM (2708) is provided with all tape and moni- 
tor functions. The ROM program is identical to our extensive 8080 ROM program. 

Has one ACIA for one or two tape drives, one USART for an additional Serial port 
and a 4 bit parallel port for motor control. Will control one or two CC-8 or 3M3A 
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. 

AVAiLABiLiTY-off the shelf . $190.00, Tested & Assmb. ($160.00, Kit) 

PROVIDES MONITOR AND TAPE SOFTWARE in ROM TERMINAL and 
TAPE PORTS on SAME BOARD CONTROLS ONE or TWO TAPE UNITS 
(CC-8 or 3M3A) 

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 and interfaces. 

This is Revision 7 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 prepro- 
grammed 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 RS232 level. 

AVAILABILITY - Off the shelf. 




2SIO (R) CONTROLLER 
$190.00 ($160.00 Kit) 



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 MPC card. $200 assembled and tested. ($160 kit) 

AVAILABLE-November '77. 



OVERSEAS: Export Version 220 volt 50 hz. Write factory or: Megatron-Datameg, 8011 Putzbrunn, Munchen, Germany; Nippon Automation 
5-16-7 Shiba, Minato-Ku, Tokyo. Japan; Hobbydata, FACK 20012, Malmo, Sweden; G. Ashbee, 172 /field Road, London SW 10-9ag: Trin- 
tronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EBASA, Enrique Barges 17, Barcelona 14, Spain; ARIES, 7, rue Saint Phillipe du 
Route, 75008 Paris; Micro/em 20131, Milano, Italy; Eagle Electric, Capetown, S. Africa. 

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 



i — ^ 



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



Circle 82 on inquiry card. 



BYTE December 1977 



81 



SYNCHRO SOUND 

■■■■■ENTERPRISES, INC.MHHH 

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 



$739.95 

849.95 

69.00 



ADM 1A 
TERMINAL 



• Display Format 
—80 characters 
per line by 24 lines 
• Full cursor control 
Edit operations: clear screen, 
clear unprotected character type-over. 
(Options are Character Insert/Delete, 
Line Insert/Delete, Erase to end 
of page, Erase Line/Field) 
and much more 

Assembled $1398.00 



ADM 2A TERMINAL 

• 1920 character display (24 x 80) 

• 16 function keys for 32 commands 

• Separate keyboard— 119 keys 

• 10 key numeric pad . nM „. 

• Single key edit operations £ s D s M e ^ led . . . 

• Page, field or line edit <fc^oAC f\r\ 

• Security, protected fields $1090.UU 
and much more 



OKIDATA MODEL 110 
LINE PRINTER 

• 110 CPS dot matrix 

Feed" $1149.00 

K3° 1279.00 

RS 232C 

Interface... 260.00 



OKIDATA MODEL 22 
LINE PRINTER 



125 lihes per minute 
132-column print line 

• Upper/lowercase 

• 8 different 
character sizes 

• 12 IPS paper slew 

Tractor Feed $2249.00 

RS 232C Serial Interface . . . 37 9.00 



DECWRITER II 

• 132 column printing 

• 10-30 CPS 

• Full keyboard 

• Tractor feed 

$1695.00 



■ *!^ i|h»,.. 



82 



BYTE December 1977 



SYNCHRO SOUND 



ENTERPRISES, INC.I 



CENTRONICS 
703 SERIAL 
PRINTER 




• Low 
cost 
of ownership 

• Bidirectional logic seeking printing 

• Microprocessor electronics 

• Excellent print quality 



CENTRONICS 761 PRINTER 

• 300 Baud serial transmission 

• Bidirectional and incremental printing 

• RS232, CCITT-V24, or 
current loop interface 

• Baud selection (110/150/300) 

$1695.00| 

Receive only version 

1595.00! 



KSR with Keyboard. 



$2395.00 



IMSAI 8080 MICROCOMPUTER 
• Powerful • Low cost • Easy to use 



IMSAI 8080 






«|SK^W 



With 22 Slot 
Mother Board 

$619.95 

With Z-80 CPU 

849.95 




HAZELTINE1500 
VIDEO TERMINAL 

• Reverse video 

• 24 x 80 display 

• Programmable 
brightness levels 

• RS232 and 
current loop 
and much more" 




Assembled 



$1149.00 



Kit also available 



Fully IBM 3740 media 
and format compatible 
Full formatter 



FLOPPY DISK 
SYSTEM 



and controller 
built-in 



ICOM Model FD3712 
Dual Drive System 

$2795.00! 



HAZELTINE MODULAR 1 
INTELLIGENT TERMINAL 

• 1920 character display 

• 8 different video levels 

• Full editing capability 

• Removable keyboard 
and much more 



Assembled .... 

$1659.00 



We carry a full line of the following: TDL, 
Centronics, Seals, Hazeltine, Micropolis, 
Hayden, IMSAI, Cromemco, 
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. 





SPECIAL BUYS 

Sorac IQ 120 Video Terminal Kit $959.00 

DEC LA 180 Printer 2769.00 

Compucolor 8001 Color Computer Z595.00 

ICOM Microfloppy System 989.00 

North Star Microfloppy Disk Kit 599.00 

2708 Eproms 27.95 

Javelin 9" Video Monitor 159.95 

Livermore Modem Model 76 299.00 

Sol 20 with Solos Kit (limited supply) 999.00 

Micropolis Model 1053MOD 2 1799.00 

IMSAI AP44-44 Col. Printer Kit 329.00 

TDL Xitan Alpha 1 Computer Kit 699.00 



SYNCHRO-SOUND ENTERPRISES, INC. 

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 

andSaturday Working unitsondisplay 

Dept.BB BankAmericard • MasterCharge 



Circle 1 1 2 on inquiry card. 



Get Your System Together 



John G Whitney 
2405 Haisley Dr 
Ann Arbor Ml 48103 



So you now have your own home com- 
puter system up and running. Your pro- 
cessor is on one bench, a cassette mass 
storage memory unit on another. The ter- 
minal stands nearby, with the paper tape 
punch and your TV video monitor on the 
floor. To top it off you have 20 interconnec- 
ting cables lying around. Does this remind 
you of your computer system? Things don't 
have to be this way when with a moderate 
amount of time and money one can convert 
one's computing apparatus into a well organ- 
ized and laid out system. 

Most professionally installed minicom- 
puter systems have most of their hardware 
mounted in one rather large cabinet. 
Mounting the hardware in such a cabinet 
eliminates many interconnecting cables that 
otherwise would be lying around on the 
floor. A cabinet for your system will in- 
crease the system's reliability by shortening 
cable lengths between system components, 
since they are now all mounted together. 
The shorter cables will have less capacitance 
which will in turn lower the amount of byte 
transfer errors due to noise pickup. A cab- 
inet will also provide easy movability of the 
total computing system without much 
trouble. By mounting your computer hard- 
ware in such a cabinet you can achieve 
these results in addition to improving 
your system's appearance and efficiency. 

At almost any used computer surplus 
center one can find a fairly cheap and 
adequate stripped down computer frame 



or cabinet that will serve the purpose. 
I have found a 20 by 25 by 60 inch (40.8 by 
63.5 by 15.24 cm) size frame quite suit- 
able for my homebrew computing system. 
The size depends mainly on the size of the 
existing equipment in your system. Some of 
the better cabinets are the ones in which all 
four sides have panels which swing open to 
expose the computer hardware for easy ser- 
vicing. If you fail to locate such a cabinet, 
you can easily construct an adequate 
wooden enclosure. 

After acquiring a cabinet it's usually best 
to install a fairly large ventilating fan to keep 
the heat generated by the hardware to a 
minimum. Another addition such as a row 
of 110 V AC outlets, mounted on the inside 
of one side panel, will decrease your work 
when changing or increasing your com- 
puter's equipment. A main power switch for 
all electrical equipment in the cabinet, 
when mounted near the front, becomes 
quite handy when all power is to be discon- 
nected. Other additions, like a smoked glass 
or plastic front door panel to improve your 
cabinet's appearance, are left to your 
imagination. 

Not only will the cabinet provide an 
enclosure for your equipment, but any 
sufficiently large unused space can be used 
to store your computer software, in paper 
tape or cassette form. When utilizing space 
for your system's software it becomes 
necessary to insulate and shield these areas 
from all electrical wires or possible strong 
magnetic fields. This can be done either by 
moving the wires away from the space or by 
surrounding them with a steel shield which 
will confine the magnetic fields. Otherwise 
you might find that your software cassettes 
contain small bits of garbage. 

In utilizing a cabinet with your system 
you won't just improve your computer's 
appearance and efficiency, but when some- 
one views your system he or she won't 
exclaim in disbelief, "Is that the computer? 
That little box!"* 



84 



BYTE December 1977 



landu 



s canpjTEns 



A DIVISION OF TANDY CORPORATION 



ANNOUNCING 



GRAND OPENING 

MOST COMPLETE LINE OF MICROCOMPUTERS AND ACCESSORIES 
PLACE YOUR ORDER TODAY — CALL TOLL-FREE — 800-433-1679 





RADIO SHACK 



6800 S?"«- 

SOUTHWEST TECHNICAL PRODUCTS 






CPU's — Alpha Micro, ICOM, 
IMSAI, Polymorphlcs, 
Processor Technology, 
T.D.L., Vector Graphics, 
Equinox 



POPULAR BRANDS" 
CARRIED 




DISCS — ICOM, Digital 

Systems, IMSAI, Mlcroplls, 

North Star, Polymorphlcs, 

Processor Technology, 

Shugart, Smoke Signal, SWTP, 

Perscl, Extensys 



TERMINALS — 

Beehive, 

Lear Slegler, 

SOROC, SWTP, 
Informer 




Complete Line of Parts and Accessories! 
Call for Special Prices! 800-433-1679 



PRINTERS — Centronics, Okidata, Practical Automation, SWTP, 
Diablo, IMSAI 



Mall To: TANDY COMPUTERS 

P.O. Box 2936, Fort Worth, Texas 76102 

Please Send Me TANDY COMPUTERS 
Full-Line 1978 Catalog 

PLEASE PRINT 

Name Apt. _ 

Street 

City 



. State . 



.Zip. 



Circle 1 14 on inquiry card. 



BYTE December 1977 85 




Sol Terminal Computer 







^m 



I 




• 



To do real work with any computer, big or small, it takes 
a complete system. Thais one of the nice things about the 
Sol-20. It was built from the ground-up as the heart of three 
fixed price computer systems with all the peripheral gear and 
software included to get you up and on the air. 

Sol System I costs just $1649 in kit form or S2129 fully 
burned in and tested. Here's what you get: a Sol-20 with the 
SOLOS personality module for stand alone computer power, 
an 8192 word memory, a 12" TV/video monitor, a cassette 
recorder with BASIC software tape and all necessary cables. 

Sol System II has the same equipment plus a larger 




*!\fkBM r 9 V'iV.'r.' 



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

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

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

power per dollar than anything ever 
offered. They provide performance com- 
parable with mini-computer systems priced 
thousands of dollars more. 

The Small Computer 
Catalog for the rest of the real 
computer system story. 

Visit your local computer store for 
a copy of our fully illustrated 22 page cata- 
log. Or you may write or call us if more 
convenient. Please address Processor 
Technology, Box B. 6200 Hollis Street, 
EmerwilleVCA 94608. (415) 652-8080. 




The Functional beauty of Sol Computer Systems is 
more than skin deep, A look inside reveals a simple elegance 
of design and sturdy const ruelion. 



.•; • 



Corporation ^# m 



Wk 







iSt- 



/ *l 



t m 


• r *■ v ^ + m 


■f' ~ ""■-"/ !i 


• '.-•• • ■'■■-• 




f 


« 


B 






1 

■#•1 



» -3iii »»»». -i 



II . 



mum 



f xiw n 



?- >*•'■ 



f.;>' 



5, f 



la 1 

6 tOiAfl . I 







The end of bad solder joints, heat damaged 
components and sick IC's. Introducing the 
Semikit. Item 1, a 16KRA Memory Board, s 369. 



Let's face it. Loading and 
soldering PC Boards is not much 
fun for the kit builder. Even 
more important, it's the place 
where most of the trouble gets 
introduced. The real fun and 
education comes in running and 
testing boards. 

Now the Semikit with 
fully tested IC's. 

At the price of a kit, Processor 
Technology Corporation intro- 
duces the Semikit. It's a fully 
stuffed, assembled and wave 
soldered PC Board loaded with 
IC's that have gone through Q.C. 
and final checkout (a first in 
the industry). 

We leave you the fun of 
testing with our fully documented 
set of instructions. We do the 
production tasks of loading, wave 
soldering and inspecting the 
boards. You do the more interest- 
ing and time consuming chore 
of testing and burning-in 
the boards. 

The result is one sweet deal 



for both of us. You get a board 
where the primary causes of 
damage (poor solder joints, excess 
solder and bad IC's) are virtually 
eliminated. You get a board of 
highest professional quality. 
And we get the business! 

The 16KRA Memory 
Board's at your dealer now. 

Your Processor Technology 
dealer has the first Semikit, a 
16KRA Memory Board, in stock 
and ready to go right now. You 
can take it home tonight for 
$369 as a Semikit or for S399 
fully assembled, tested and 
burned-in. 

You'll have a 16,384 byte 
memory with a better price per- 
formance ratio than anything 
on the market today. Now you can 
afford to add quality, high 
density memory to your system 
for remarkably little. And you 
can add enough to solve complex 
computing problems right in 
the main frame. 

The memory features invisible 



refresh. There's no waiting while 
the CPU is running. Worst case 
access time is 400 nsec. Each 
4,096 word block is independently 
addressable for maximum sys- 
tem flexibility. Power is typically 
5 watts, the same as most single 
4K memory modules. Back-up 
power connection is built-in. 

Other Semi's are coming 
your way. 

The 16KRA Memory is 
Processor's first step in adding 
more fun, capability and reli- 
ability to your computer system 
at lower cost. Other modules are 
on the way to your dealer now. 
Come on down today. 

Or you may contact us 
directly. Please address Processor 
Technology Corporation, Box B, 
7100 Johnson Industrial Drive, 
Pleasanton, California 94566. 
Phone (415) 829-2600. 



ProcessorTechnofog 



Circle 95 on inquiry card. 



UYTE December 1977 



89 



See Sol here 



ARIZONA 

Byte Shop Tempe 
813 N. Scottsdale Rd. 
Tempe, AZ 85281 
(602) 894-1129 

Byte Shop Phoenix 
12654 N. 28th Dr. 
Phoenix, AZ 85029 
(602) 942-7300 

Byte Shop Tucson 
2612 E. Broadway 
Tucson, AZ 85716 
(602) 327-4579 

CALIFORNIA 

The Byte Shop 
1514 University Ave. 
Berkeley, CA 94703 
(415) 845-6366 

Computer Center 
1913 Harbor Blvd. 
Costa Mesa, CA 92627 
(714)646-0221 

DCI Computer Systems 
4670 N. El Capitan 
Fresno, CA 93711 
(209) 266-9566 

The Byte Shop 
1122 "B" Street 
Hayward, CA 94541 
(415)537-2983. 

The Byte Shop 
16508 Hawthorne Blvd. 
Lawndale, CA 90260 
(213)371-2421 

The Computer Mart 
633-B West Katella 
Orange, CA 92667 
(714)633-1222 

Byte Shop 

496 South Lake Ave. 

Pasadena, CA 91101 

(213)684-3311 

Micro-Computer 
Application Systems 
2322 Capitol Avenue 
Sacramento, CA 95816 
(916)443-4944 

The Computer Store 
of San Francisco 
1093 Mission Street 
San Francisco, CA 94103 
(415)431-0640 

Byte Shop 

321 Pacific Ave. 

San Francisco, CA 94111 

(415)421-8686 

The Byte Shop 
2626 Union Avenue 
San Jose, CA 95124 
(408) 377-4685 

The Computer Room 
124H Blossom Hill Rd. 
San Jose, CA 95123 
(408) 226-8383 

The Byte Shop 
509 Francisco Blvd. 
San Rafael, CA 94901 
(415)457-9311 



The Byte Shop 
3400 El Camino Real 
Santa Clara, CA 95051 
(408) 249-4221 

Recreational Computer 

Centers 

1324 South Mary Ave. 

Sunnyvale, CA 94087 

(408) 735-7480 

Byte Shop of Tarzana 
18423 Ventura Blvd. 
Tarzana, CA 91356 
(213)343-3919 

Computer Components 
5848 Sepulveda Blvd. 
Van Nuys, CA 91411 
(213)786-7411 

The Byte Shop 
2989 North Main St. 
Walnut Creek, CA 94596 
(415)933-6252 

Byte Shop 

14300 Beach Blvd. 

Westminster, CA 92683 

(714)894-9131 

COLORADO 

Byte Shop 
3101 Walnut St. 
Boulder, CO 80301 
(303) 449-6233 

Byte Shop 
3464 S. Acoma St. 
Englewood, CO 80110 
(303) 761-6232 

FLORIDA 

Byte Shop of 

Fort Lauderdale 

1044 East Oakland Park 

Blvd. 

Ft. Lauderdale, FL 33334 

(305) 561-2983 

Byte Shop of Miami 
7825 Bird Road 
Miami, FL 33155 
(305) 264-2983 

Microcomputer 

Systems Inc. 

1 44 So. Dale Mabry Hwy. 

Tampa, FL 33609 

(813)879-4301 

GEORGIA 

Atlanta Computer Mart 
5091 -B Buford Hwy. 
Atlanta, GA 30340 
(404) 455-0647 

ILLINOIS 

Champaign Computer 

Company 

318 N. Neil Street 

Champaign, IL 61820 

(217)359-5883 

itty bitty machine co. 
1322 Chicago Ave. 
Evanston, IL 60201 
(312)328-6800 

itty bitty machine co. 
42 West Roosevelt 
Lombard, IL 60148 
(312)620-5808 



INDIANA 

The Data Domain 
406 So. College Ave. 
Bloomington, IN 47401 
(812)334-3607 

The Byte Shop 
5947 East 82nd St. 
Indianapolis, IN 46250 
(317)842-2983 

The Data Domain 
7027 N.Michigan Rd. 
Indianapolis, IN 46268 
(317)251-3139 

IOWA 

The Computer Store 
of Davenport 
4128 Brady Street 
Davenport, IA 52806 
(319) 386-3330 

KENTUCKY 

The Data Domain 
3028 Hunsinger Lane 
Louisville, KY 40220 
(502) 456-5242 

MICHIGAN 

The Computer Store 

of Ann Arbor 

310 East Washington 

Ann Arbor, Ml 48104 

(313)995-7616 

Computer Mart 
of Royal Oak 
1800 W. 14 Mile Rd. 
Royal Oak, Ml 48073 
(313)576-0900 

General Computer Store 
2011 Livernois 
Troy, Ml 48084 
(313)362-0022 

MINNESOTA 

Computer Depot, Inc. 
351 5 W. 70th St. 
Minneapolis, MN 55435 
(612) 927-5601 

NEW JERSEY 

Hoboken Computer Works 
No. 20 Hudson Place 
Hoboken, NJ 07030 
(201)420-1644 

The Computer Mart 
of New Jersey 
501 Route 27 
Iselin, NJ 08830 
(201)283-0600 

NEW YORK 

The Computer Shoppe 
444 Middle Country Rd. 
Middle Island, NY 11953 
(516) 732-4446 

The Computer Mart 

of New York 

118 Madison Ave. 

New York, NY 10001 

(212)686-7923 

The Computer Corner 
200 Hamilton Ave. 
White Plains, NY 10601 
(914)949-3282 



NORTH CAROLINA 
ROMs 'N' RAMs 
Crabtree Valley Mall 
Raleigh, NC 27604 
(919) 781-0003 

OHIO 

Byte Shop 

2432 Chester Lane 

Columbus, OH 43321 

(614)486-7761 

Computer Mart of Dayton 
2665 S. Dixie Ave. 
Dayton, OH 45409 
(513) 296-1248 

OREGON 

Byte Shop Computer Store 
3482 SW Cedar Hills Blvd. 
Beaverton, OR 97005 
(503) 644-2686 

The Real Oregon 
Computer Co. 
205 West 10th Ave. 
Eugene, OR 97401 
(503)484-1040 

Byte Shop Computer Store 
2033 SW 4th Ave. 
Portland, OR 97201 
(503) 223-3496 

RHODE ISLAND 

Computer Power, Inc. 
M24 Airport Mall 
1800 Post Rd. 
Warwick, Rl 02886 
(401) 738-4477 

SOUTH CAROLINA 

Byte Shop 
2018 Green St. 
Columbia, SC 29205 
(803) 771-7824 

TENNESSEE 

Microproducts & Systems 
2307 E. Center Street 
Kingsport, TN 37664 
(615)245-8081 

TEXAS 

Computer Port 
926 N. Collins 
Arlington, TX 76011 
(817)469-1502 

Computertex 
2300 Richmond Ave. 
Houston, TX 77006 
(713)526-3456 

Interactive Computers 
7646V2 Dashwood Rd. 
Houston, TX 77036 
(713) 772-5257 

Neighborhood Computer 

Store 

#20 Terrace 

Shopping Center 

4902 - 34th Street 

Lubbock, TX 79410 

(806)797-1468 



The Micro Store 
634 So. Central 
Expressway 
Richardson, TX 75080 
(214)231-1096 

VIRGINIA 

The Computer Systems 

Store 

1984 Chain Bridge Rd. 

McLean, VA 22101 

(703)821-8333 

Media Reactions Inc. 
Reston International Center 
11800 Sunrise Valley Dr. 
Suite #312 
Reston, VA 22091 
(703)471-9330 

The Home Computer Center 
2927 Virginia Beach Blvd. 
Virginia Beach, VA 23452 
(804)340-1977 

WASHINGTON 
Byte Shop Computer Store 
14701 N.E. 20th Ave. 
Bellevue, WA 98007 
(206) 746-0651 

The Retail Computer Store 
410 N.E. 72nd 
Seattle, WA 98115 
(206)524-4101 

WISCONSIN 

The Milwaukee 
Computer Store 
6916 W. North Ave. 
Milwaukee, Wl 53213 
(414)259-9140 

WASHINGTON D.C. 

Georgetown 
Computer Store 
3286 M Street NW 
Washington, D.C. 20004 
(203)362-2127 

CANADA 

Trintronics 
160 Elgin St. 
Place Bell Canada 
Ottawa, Ontario K2P 2C4 
(613)236-7767 

Computer Mart Ltd. 
1543 Bayview Ave. 
Toronto, Ontario M1K 4K4 
(416)484-9708 

First Canadian 
Computer Store Ltd. 
44 Eglinton Ave. West 
Toronto, Ontario M4R 1A1 
(416)482-8080 

The Computer Place 
186 Queen St. West 
Toronto, Ontario M5V 1Z1 
(416)598-0262 

Basic Computer Group Ltd. 
1548 East 8th Ave. 
Vancouver, B.C. V6J 4R8 
(604) 736-7474 

Pacific Computer Store 
4509 Rupert St. 
Vancouver, B.C. V5R 2J4 
(604) 438-3282 



ProcessorTechnology 



90 



BYTE December 1977 



Circle 95 on inquiry card. 



Jack and the Machine Debug 

. . . or Reading the Traces of the Wild Program 



I may have bugs in the 
program, but the pro- 
grammer's got bats in his 
belfry. 



"It has to be done by now. That sub- 
routine can't take much more than a few 
milliseconds per entry, and there aren't 
many entries. I'll give it a few more 
seconds." Jack sat nervously puffing his 
cigar. "It can't take this long," said Jack, his 
patience exhausted. He punched the RESET 
button. 

"What do you want now, Jack? Here I 
am, faithfully running your program, and 
you interrupt me. Find a mistake in your 
code?" 

"Hardly. You should be clone by now. 
What have you been doing that took so 
long?" 

"Well, when you interrupted me, I think 
I was executing a load-immediate 
instruction." 

"Where?" 

"How should I know? You interrupted 
me. I'm in the monitor ROM now. I can't 
keep track of every instruction I execute." 

"True, true. It sure would be nice if you 
could, though." 

"Well, I can't. I already assemble your 
programs for you; you can't expect me to 
debug them for you too! That's supposed to 
be your department!" 

"I know, computer. How do I figure 
out where you went wrong?" 

"How do 1 know?" 

"Calm yourself or I'll use your parts in 
my F8." 

"Okay, Jack. I'm sorry I lost my head. 
Anything would be better than inflicting 
that F8 on us. How about trying a break- 
point?" 

"Good idea! Computer, sometimes you 
amaze me. Try a breakpoint at the sub- 
routine return." 



"Shouldn't I reload the program first, 
Jack?" 

"I guess so." Jack waited as computer 
reloaded the program from its cassettes. 
"Now, put a software interrupt at 1 FCO." 

"One SWI inserted (hexadecimal 3F to 
me). Shall I run the program now?" 

"Start." Jack went into the kitchen for 
a beer. He returned a few minutes later. 
"Computer! What are you doing? RESET!" 

"Now what?" 

"I told you to set a breakpoint!" 

"I did set a breakpoint; see the 3F at 
1 FCO. I just haven't executed that instruc- 
tion yet." 

"Why not?" 

"I haven't the foggiest idea. I just execute 
them in the order that you wrote them. 
Writing programs is supposed to be your 
contribution to our work." 

"Don't get snide. Remove the break- 
point." 

"Done." 

"Now, put the breakpoint at 1 FA2." 

"I'll reload the program first, Jack." 

"I guess you should, but I hate waiting 
for those cassettes." 

"They're your design, remember. If you 
want speed, buy me some disks." 

"They're on order." 

"Great. Now let me load the program the 
best I can from these archaic, cranky, slow, 
old . . ." 

"Just do the job without the com- 
mentary!" 

The cassette in the read drive turned ever 
so slowly. "I'm ready now, Jack. The break- 
point is set." 

Continued on page 133 



Robert D Grappel 
148 Wood St 
Lexington MA 02173 

Jack E Hemenway 
151 Tremont St 
Boston MA 02116 



I just execute them in the 

order that you wrote 

them. Writing programs is 

supposed to be your 

contribution to our 

work . . . 



B\ TE December 1 977 



91 



Continued from page 80 

output port. The usual conversion sequence 
is to set the channel information to the 
multiplexer, clear the EOC flip flop and wait 
for an end of conversion signal. More on this 
later. 




Photo 2: Eight meters (some are multimeters, others are voltmeters) which 
could be replaced (at least for DC voltage measurements) by the computer- 
ized 8 channel voltmeter described here. 



Data Format 

As I stated earlier, the data from the 
DVM to the computer is both serial and 
parallel. There are four digit select lines and 
four BCD data lines (see table 1). 

With respect to what the computer sees 
through the 74LS04 buffers, the digit 
select output is low when the respective 
digit is selected. The most significant digit 
(34 digit DS1) goes low immediately after 
an EOC pulse, followed by the remaining 
digits sequencing from most significant to 
least significant digit (MSD to LSD). An 
interdigit blanking time of two clock periods 
is included to ensure that the BCD data 
has settled. The multiplex clock rate is equal 
to the system clock frequency divided by 
80. 

During the Yi digit (DS1), the polarity 
and certain status bits are available. It would 
be confusing to list the status bits, since they 
are not being used in this application for 
autoranging. The polarity will be Q2 and a 
"1 " will indicate negative. The V2 digit value 
will appear on Q3 and a "1" will indicate 
high. 

The interface is summarized by port 






Photo 3: Prototype board 
for the 8 channel 316 digit 
voltmeter. 





92 BYTE December 1977 



Talk to our Computer... 
and it will talk back! 



(Plainly speaking, it's only from the Digital Group.) 



Now, your Digital Group computer becomes more 
than a silent partner. You can vocally command 
your computer ... it will listen . . . and it will talk back 
to you. How? With the introduction of the exciting 
new Digital Group/Votrax Voice Synthesizer. 

All this is possible because the Digital Group/Votrax. 
Voice Synthesizer has an unlimited vocabulary, •" 
64 "human sounds" that can be combined ad 
combined to form words and languages^ 
your own computer glibly spouting 
Spanish, Russian, Japanese and )M 
average English words require c 
memory! j 



Programming the Di£pl Groyp/' 



supplied withy 
software wruclh will I 



Assembler 
included. 

We have additional software a 
cost: 

• "Talking Basic" — $10. MAXI-Basic outpu 
converted to English. 

• "Talking CW" — $10. For impressing your 
HAM buddies. Requires the forthcoming 
HAM interface card. 

• "Latin and Spanish Talking" — $10. Hearthe 
computer repeat letters and words typed in 
Latin or Spanish. 

• Demonstration Tape — $5. A sample of 
audio tape and a complete explanation of 
the system. 

Bonus: A basic input circuit is included that may 
be programmed to understand a small vocabulary of 
voice commands. 



Unlimited Applications 



these possibilities: 



An aid for 
Synthesizers 



nomy — 



e blind, with the Voice 
ting a CRT display 



.put and output of 




ft :'»«^4dBfiM 




, ent terminals >i^> 
AM radio repeater telemetry systems 
'student ld»guagiip5ronunciation learning 

irfkPr^^ 

Jy, w«g§rould be shouting this one. The 
. Group/Votrax Voice Synthesizer, with all its 
capabilities, is only $495 kit or $595 assembled and 
test/e*i^?at's language anybody can understand. 

O.K., you've listened briefly to what we have to say 
about the new Digital Group/Votrax Voice 
Synthesizer. But we can keep right on talking! Write 
or call today for all the details — music to your ears. 



po box 6528 denver, Colorado 80206 (303) 777-7133 



Circle 38 on inquiry card. 




Photo 4: An illustration of the accuracy of the computerized voltmeter. A 
Data Precision 416 digit digital multimeter and the author's system simultane- 
ously measure a C cell battery. The computer value is 1.540 V compared 
with the Data Precision reading of 1.5402 V. 



allocations in table 1. (Note: I have assigned 
particular port numbers to each byte. These 
designations will run directly with the soft- 
ware driver provided. If the reader wishes to 
assign different port numbers, that is fine, 
but remember to modify the driver software 
to reflect the changes.) 

Designing an Analog to Digital Converter 
Software Driver 

For a hardware personality like me, soft- 
ware is a tedious task. I don't like writing 
any more than I have to and if it is possible 
to write a universal piece of code which is 
compatible with any operating system, all 
the better. Units such as the digital to 
analog converter I presented in the Septem- 
ber 1 977 BYTE (page 30) do not need soft- 
ware drivers because the hardware is expli- 
citly designed to be independent of com- 
puter timing. Timing is the key word. A 
"software driver" is the same as its hardware 
counterpart. Both serve to couple the 
computer to external devices and 
synchronize the timing. The most obvious 
driver already existing in a computer system 
like my Digital Group system is the 
asynchronous data link to the tape cassette, 
video display and printer. The computer is 
instructed through this program to perform 
explicitly timed operations which result in 
the correct serial input and output. 

The 3iVi digit DVM interface is not unlike 
a communications driver. To effectively 
obtain data from the interface, the computer 



Table 1: 
formats. 



10 port data 



Command Output Byte (Port 003 OUT) (Enable = 1 Disable = 0) 






B7 = EOC/lnterrupt Enable/disable 






B6 ) 






B5 \ Future Expansion 






B4 






B3 ' 






B2 / 






B1 } Channel Select, 0-7 






B0 I 






Status Input Byte (Port 002 IN) 






B7 \ 






B6 ) 






B5 I 






B4 ( Not Used 






B3 J 






B2 ' 






B1 = Out of Range (-1 .999 < V in > 1 .999) 






B0 = End of Conversion 




IC1 


Data Input Byte (Port 003 IN) 


Symbol 


Pin Number 


B7 = 1st digit (MSD): When true = B7-»-0 


DS1 


19 


B6 = 2nd digit B6 . 

B5 = 3rd digit B5 \ N/A 

B4 = 4th digit B4 ' 


DS2 


18 


DS3 


17 


DS4 


16 


B3 ) B3 = 1/2 digit value 


Q 3 


23 


B2 ( BCD Digit Value B2 = Polarity 


Q 2 


22 


B1 ( B1 = N/A 


Qi 


21 


B0 ) B0 = Status Bit 


Qo 


20 



94 



BYTE December 1977 



i : i 



new 
STANDARD ASSEMBLER 



^^^^^^^^^ t ,n 8080 CPU on an 8080 based 

, written in symbolic language for an 8080 LW 
Assembles programs written y 

. f 4K memory (of which at least 1K shou.d be RAM); 

8080 computer with m,— of « men J^ ^ 
a source Ust.ng.nputdev.ee, an keyboard /printer will allow 

into memory. be utjlized . Each I/O 

to individual systems. through QA (nexa . 



FUNCTION: 

HARDWARE REQUIRED: 
OPTIONAL HARDWARE: 

SOFTWARE REQUIRED: 
MEMORY UTILIZED: 



PSEUDO-OPERATORS: 
PROGRAM OPERATION: 



SOURCE FORMAT: 
DOCUMENTATION: 

SPEC IAL FEATURES: 
OPTIONS: 



[^barac.erized its 8080 pro S ,™ . ■ > ^ DB ^ 

byte), DS (data string) »<" ° W aisembled object 

zeros, h»s "literal Jj >'W ^ operands. 

U! e of letter, of number, as CFU „, man „al deseribes . he operation of 

SerrorTordS'pCar^-bytbeasseniblerl 



LTaSi'eKSS-,-^-- 




^ea is witaW "' «"«* ■"" "™ " ..„ ,„ <, e ,enbed in the doeti- 

A P-b.d paper S ^gS^I^^ WS^ 

presented in the documentation's «. ^ ^ m hand hnf. am eaders now 

in widespread use. NO It. h 
documentation. 



Scelbi's 8080 Standard Assembler: $1 9.95 Optional object code 

on punched paper tape, specify 8080SA-OPT: $10.00. Optional 

commented source listing on punched paper tape, specify 

8080SA-SPT: $39.00. 



OPTIONAL PAPER TAPE NOW AVAILABLE! 



* 



JT ICffll ■ COMPILER 
CONIULTING INC. 

Post Office Box 133 PP STN 
Milford, CT 06406 Dept. B 



Circle 98 on inquiry card. 



BYTE December 1977 



95 



Listing 1 : An assembly program for driving the 8 channel 3'A digit voltmeter 
in figure 3. It is designed to run on the Z-80 and is assembled to occupy mem- 
ory page octal 140. 



000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 
000 000 



000 
000 

000 000 
000 000 



ASSM 110000 140000 



140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140000 
140002 
140004 
.140004 
140010 
140012 
140014 
140016 
140020 
140022 
140024 
140026 
140030 
140032 
140034 
140034 
140040 
140040 
140040 
140040 
140041 
140042 
140044 
140046 
140046 
140046 
140046 
140046 
140046 
140046 
140046 
140046 
140046 
140046 
140047 
140052 
140053 
140057 
140062 
140062 
140062 
140062 
140064 
140066 
140070 
140072 
140074 
140076 
140100 
140102 
140104 
140106 
140111 
140113 
140115 
140117 
140120 
140123 
140123 
140123 
140123 
140126 
140130 
140133 
140135 
140140 
140143 
140145 
140151 
140153 
140156 
140160 
140162 
140164 
140144 
140164 
140164 
140147 
140171 
140173 
140175 
140175 
140175 
140175 
140177 
140201 
140203 
140205 
140207 
140207 
140207 
140207 
140211 
140214 
140215 
140216 
140217 
140220 
140222 



353 

042 042 140 

257 

375 041 040 140 

375 167 001 



006 002 
076 007 
323 003 
366 200 
323 003 
333 002 
313 107 
050 372 
020 342 
004 200 
315 341 
014 000 
313 122 
040 001 
014 
375 141 000 



140 



140 



072 042 
313 077 
042 042 140 
070 010 

312 355 140 
375 044 001 
030 356 

335 041 000 140 
026 000 
375 136 001 

313 043 
313 043 
335 031 



072 041 140 
323 003 
344 200 
323 003 



333 002 
313 107 
050 372 
313 117 
040 124 



006 200 
315 361 140 
057 

017 
017 
017 

346 001 
036 000 



0100 
0110 
0120 
0125 
0130 
0140 
0150 
0160 
0170 
0180 
0190 
0200 
0210 
0220 
0230 
0240 
0250 
0260 
0270 
0290 
0290 
0300 
0310 
0320 
0330 
0340 
0350 
0360 
0370 
0380 
0390 
0400 
0410 
0420 
0430 
0440 
0450 
0460 
0470 
0460 
0490 
0500 
0510 
0520 
0530 
0540 
0550 
0560 
0570 
0580 
0590 
0600 
0610 
0620 
0630 
0640 
0650 
0660 
0670 
0680 
0690 
0700 
0710 
0720 
0730 
0740 
0750 
0760 
0770 
0780 
0790 
0800 
0810 
0820 
0830 
0840 
0850 
0860 
0870 
0880 
0890 
0900 
0910 
0920 
0930 
0940 
0950 
0960 
0970 
0980 
0990 
1000 
1010 
1020 
1030 
1040 
1050 
1060 
1070 
1080 
1090 
1100 
1110 
1120 
1130 
1140 
1150 
1160 
1170 
1180 
1190 
1200 
1210 



*** MC14433 3 1/2 DIGIT A/D CONVERTER DRIVER 



DIP ECIU 3 DATA INPUT PORT NUMBER 

SIP EMJ 2 STATUS INPUT PORT NUMBER 

COP ECIU 3 COMMAND OUTPUT PORT NUMBER 

EEOC EOU 200 ENABLE EOC INPUT 

DEOC ECIU 000 DISABLE EOC INPUT 



* CONVERTED CHANNEL DATA BUFFERS 



CHAN1 DU 



DU 
DU 



CHAN7 DU 



000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 
000000 



* INTERMEDIATE DATA BUFFERS 



POLVAL Dfi 
CHAN DB 

CCP DU 
STATUS DU 
* 



000 LAST POLARITY VALUE <0=P0SUIVE1 
000 CURRENT CHANNEL NUMBER 
000000 COMMAND CHANNEL PARAMETER 
000000 RETURN STATUS PARAMETER 



*** START A/D CONVERTER 
* 

* INPUT PARAMETER=DE REGISTER UITH CHANNEL SELECT BITS 

* SET FOR DESIRED CHANNEL (BIT 0=1 

* FOR CHANNEL Or ETC.) 

* OUTPUT PARAMETER=HL REGISTER(BIT FOR CHANNEL 

* UHERE 0=GOOD VALUES 1=0UT OF RANGE) 



START EX 
LB 
XOR 
LD 
LB 



DErHL SAVE INPUT PARAMETER 

(CCP), HI. 

A INITIALIZE CHANNEL NUMBER 

IY, POLVAL INITIALIZE INTERMEDIATE DATA POINTER 

(IY+ll.A ZERO CHANNEL NUMBER 



* START A/D CONVERTER AND ESTABLISH POLARITY 
* 

LIP B.2 CYCLE TUO TIMES 

SELECT CHANNEL 8 

SELECT CHANNEL 

ENABLE EOC INPUT 
READ STATUS 
TEST FOR EOC 
JUMP IF NOT TRUE 
JUMP IF NOT DONE 
SELECT DGIT 1 
READ DIGIT 
POLARITY=POSITIV!£ 
BIT 2,D TEST POLARITY BIT- 
JR NZjPOS JUMP IF POSITIVE 

inc: c polar:i:ty=negative 

POS LD <IY+0),C SAVE CURRENT POLARITY 

* 

» SELECT NEXT CHANNEL FOR CONVERSION 



LD 


Ar7 


OUT 


COP 


OR 


EEOC 


OUT 


COP 


IN 


SIP 


BIT 


0,A 


JR 


Z,WAIT 


D.INZ 


AGAIN 


LD 


11,200 


CALL 


RDIG 


111 


CO 



SELNXT LD 
SRI. 



[NCCN INC 
JR 

iELOOl ID 
LD 

LD 
SLA 
SLA 
ADD 



A, (CCP) LOAD CHANNEL COMMAND PARAMETER 

A TEST NEXT CHANNEL BIT 

( CCP ) , A RESTORE 

C.SEL001 JUMP IF CHANNEL SELECTED 

ZrRAPUP 

(IYH) INCREMENT CHANNEL NUMBER 

SELNXT 

IXrCHANO LOAD DATA BUFFER BASE ADDRESS 

DfO 

E,(IY+1) LOAD CURRENT CHANNEL NUMBER 

E CALCULATE BUFFER OFFSET 

E 

IX, DE 



* SELECT CHANNEL AND START CONVERSION 



A, (CHAN) LOAD CHANNEL NUMULR 



OUT 
OR 



COP 

EEOC 

COP 



SELECT CHANNEL 
ENABLE EOC OUTPUT 
COMMAND A/D CONVERTER 



* UAIT FOR EOC 



WEOC IN SIP READ CONVERTER STATUS 

BIT 0,A TEST FOR EOC 

JR Z.UEOC JUMP IF NOT READY 

BIT 1,A TEST FOR OVERANGE 

JR NZ,OVER JUMP IF TRUE 

* 

* CONVERSION DONE {PROCESS FIRST (MSD) DIGIT 



LD 


B , 200 


SELECT DIGIT 1 


CALL 


RDIG 


UAIT AND READ DIGIT 1 


CPL 






RRCA 


RIGHT 


JUSTIFY DIGIT VALUE 


RRCA 






RRCA 






AND 


1 


ISOLATE 


LD 


£,(> 


INITIALIZE STATUS BYTE 



must synchronize itself to the integrated 
circuit and perform a set instruction 
repertoire to demultiplex the input data 
stream. There is a certain trade-off between 
hardware and software. Another ten or 
15 chips could be added to the interface 
board so that it requires no more software 
than the digital to analog converter board, 
but the cost justification is not there. 

Driver programs can be triggered by 
either a poll from another program or an 
interrupt which initiates execution. While 
both can be equally effective in certain 
applications, using interrupt initiated drivers 
which give the appearance of simultaneous 
computer operation can be hazardous. By 
now, most experimenters have mastered 
BASIC and are trying to find more challeng- 
ing applications. But consider for a moment 
the BASIC interpreters most systems are 
provided with. They may execute divinely, 
but they have no source listing and there- 
fore cannot be modified very easily. If a 
program utilizes information provided 
through interrupt driven peripherals, but has 
no way of knowing when the information 
will arrive, it is of no use. Attempting to add 
interrupt analog data acquisition to 
unsourced sequentially interpreted BASIC is 
more than I intend to explain this month. 
Sometime in a future article I'll describe a 
control application which uses interrupts as 
they were intended. 

Adding this DVM interface to BASIC 
requires a polled driver. A machine language 
program is written which can be inserted 
anywhere in the computer's memory 
(assuming it's assembled to execute there, of 



Constructing the Interface 

1. Use IC sockets and solder in all passive 
components. 

2. Turn on the power and ensure that the 
correct supply voltages are presented to 
ICs 1, 2 and 6. Turn off power. 

3. Insert IC2 and apply power. The output at 
pin 2 should be 2.5 V and should not drift. 
Adjust the pot so that there is exactly 
2.000 V on IC1 pin 2. Turn off power. 

4. Insert the rest of the ICs including the 
MC14433. Be careful when inserting the 
4051 and MC14433. You are now ready to 
wire the board to some convenient input 
and output ports and see if it flies. 

5. Turn on power. A driver program obviously 
is necessary to see if the circuit actually 
works and I have included one. If you are 
really anxious, you can try a couple of 
quickies: an oscilloscope attached to digit 
select or data lines will tell you immediately 
if the circuit is running. You should see 
square waves of various duty cycles. 
Another method is to write a short program 
which scans the end of conversion bit 
(remember to reset it first) and halt. If it 
halts, there must be an EOC. 



96 



BYTE December 1977 



MSD 

WhatYou See is What You Get! 

Now, A Video System You Can Afford! 



MSDV-100 

Video Display System: 

The Video Display System is a high 
quality 80 character, 24 line video output 
device for the S-100 bus. Many advanced 
features have been incorporated which are 
not normally found on units costing many 
times the price. 

The character set includes upper and 
lower case characters as well as full 
punctuation. Any character can be 
underlined, a feature useful in word 
processing. A character can also be made to 
blink at a user selectable rate, often used 
for alarm or warning situations. Additionally 
a character can appear in reverse field 
(black on white) or, if composite video is 
used, individual characters can be 
intensified. 

Also included in the MSDV-100 is the 
ability to generate high quality continuous 
forms overlays. Charts, graphs, or order 
entry forms are easy to produce on the 
video screen. 




A third significant feature of the Video 
Display System is the ability to display grey 
scale elements in any of nine levels in any 
of 1920 positions on the screen. This is 
especially useful for bar graphs and for grey 
scale graphics or animations. 



Internally, the MSDV-100 is a two-board 
S-100 based system which occupies 2K of 
RAM address space and two I/O ports, user 
selectable. The microcomputer can write to 
the screen directly with horizontal retrace 
synchronization if desired for a flicker free, 
very high speed display. 

Software support for the MSDV-100 is 
complete with both machine language code, 
including fully commented source listings, 
and a comprehensive Basic software 
package implementing all MSDV-100 
features. Assembly language drivers allow 
the sophisticated user to easily customize 
the system for specilized applications. 

Programs are provided that permit the 
user to link the video system to high level 
programming languages such as Basic. A 
link program, provided in Basic, permits 
the user with no knowledge of assembly 
language programming to immediately 
obtain video output. The link fully 
implements the forms capability of the 
MSDV-100, including direct cursor 
addressing, as well as the other advanced 
features of the Video Display System. 



MSDD-100 

Floppy Disc System: 

The MSDD-100 Floppy Disc System is a 
significant advance in low cost, high density 
mass storage systems. Using the industry 
standard Shugart SA400 minifloppy™ drive 
and a highly reliable LSI controller, the 
single card MSDD-100 Floppy Disc System 
represents a major cost/performance 
breakthrough for the hobbyist and 
businessman. 

Many features not provided on larger 
disc systems are standard on the MSDD-100 
Disc system. The controller will support up 
to three drives and provides all of the disc 
timing functions, therefore no software 
timing loops are required. A very flexible 
onboard vectored interrupt structure is 
provided, a valuable feature for use in 
modern multi-tasking applications. 

The disc controller design is totally 
synchronous, requiring no "one shots". 
Ease of maintenance is evidenced by the fact 
that there are no adjustments required for 
operation. 

Circle 81 on inquiry card. 




Also included are disc driver routines for 
Altair Basic, which allow program and data 
storeage on disc, and permit sector level 
I/O through Basic. Many programs and files 
may be kept on a single disc, and cassette 
I/O is retained. These drivers work with 8K, 
3.2, 8K 4.0, Extended 3.2 and 4.1 versions 
of Basic. 





The Altair/SlOO compatible disc 
controller is a single board design, and 
features very low power consumption. 

Included free with each MSDD-100 
Floppy Disc System is a software package, 
provided on diskette, for formatting, 
certifying, and copying discs, as well as 
programs for creating fully customized 
memory-to-disc and disc-to-memory 
routines which may be put in read-only 
memory. In addition, assembly language I/O 
driver listings are provided to facilitate 
custom applications programming. 



' 2765 So Colorado Blvd. Suite 110 Denver.CO 80222 (303)758-7411 \ 

Sanyo Monitor (VM4209) $150 

Micro-Floppy Disc System $499* 

(Assembled) $599* 

Video Display System $285 

(Assembled) $385 

Additional Drivers $350 ea. 

Diskettes $4.25 ea. 

'Power Supply not included. 
To place Order, send check, money order or BA 
or MC Card # with exp. date and signature. 
Uncertified checks require 6 weeks process- 
ing. Phone orders accepted. 
Please Send me the following: AMOUNT 



TOTAL: 

Name 

Address 

City, State, Zip 

□ Send me more information 



Listing 7, continued: 



140224 
110225 
110225 

140225 
140225 
.110227 
140231 
140231 
140231 
140231 
140232 
140234 
140240 
140242 
140246 
140250 
140250 
140250 
140250 
140251 
110256 
140262 
140264 
140264 
140264 
140264 
140265 
140270 
140273 
140273 
140273 
140273 
140275 
1.40300 
140302 
(40305 
140305 
140305 
140305 
140307 
140312 
110311 
140317 
110317 
110317 
140317 
140321 
140324 
140326 
140331 
140333 
140333 
140333 
140333 
140335 
140340 
140341 
140344 
140347 
140352 
140355 
140355 
140355 
140355 
.140360 
140361 
140361 
140361 
140361 
140361 
140363 
140364 
140365 
140366 
110370 
140371 



313 122 
040 017 



014 

036 200 
375 313 
040 022 
375 313 
030 314 



375 313 
050 006 
375 313 
030 300 



263 
335 167 

375 161 



313 010 
315 361 
346 017 
335 167 



313 010 
315 361 
346 017 
335 167 



313 010 
315 361 
346 017 
335 167 

030 205 



076 002 
335 167 
257 

335 167 
335 167 
335 167 
303 140 



000 106 
000 306 



000 106 
000 206 



000 
000 



140 
001 



140 
002 



140 
003 



000 
001 



003 
140 



052 044 
311 



333 003 

057 



course) and called as a subroutine when the 
peripheral is to be exercised. The Digital 
Group Maxi BASIC, like many others, has 
instructions which allow memory and 10 
port manipulation as well as calling machine 
language subroutines. It is this latter call 
instruction which initiates the analog to 
digital conversion cycles and communicates 
with the interface driver program. When it 
executes this call instruction, it passes a 
channel convert code in the DE register 
pair. The driver program returns control 
to the BASIC interpreter at the conclusion 
of the analog to digital conversion. This 
provides a convenient method of synchron- 
ization. BASIC waits for the driver to finish 
storing the converted input data before 



J 220 
1230 



LB CrE 

* TEST POLARITY OF CHANNEL 



1260 
1270 



2.D TEST POLARITY 
NZ.MSD2 JUMP IP POSITIVE 



1290 * NEGATIVE POLARITY 

1300 * 

1310 INC C 



1320 
1330 
1340 
1350 
1360 
1370 
1380 
1390 
1400 
1410 
1420 
1430 
1440 
1450 
1460 
1470 
1400 
1490 



Er200 LOAD NEGATIVE SIGN 
Of(IY+0) TEST PREVIOUS POLARITY 
N'ZrMSD3 JUMP IF ALSO NEGATIVE 
Or(IY+0) MAKE PREVIOUS VALUE NEGATIVE 
SCSC CONVERT AGAIN 



* POSITIVE POLARITY 



Ot(IY-K)) TEST PREVIOUS POLARITY 
ZrMSD3 JUMP IF ALSO POSITIVE 
Of(IY+0) MAKE PREVIOUS VALUE POSITIVE 
SCSC CONVERT AGAIN 



* SAVE MSD AND CURRENT POLARITY 



(IX+0> 
CIY+O) 



ADD POLARITY SIGN TO MSD 
■A SAVE IN DATA DUFFER 
■ C SAVE CURRENT POLARITY 



1510 * process;; 2nd digit 



1540 
1550 
1560 
1570 
1580 
1590 
1600 
1610 
1620 
1630 
1640 
1650 
1660 
1670 
1680 
1690 
1700 
1710 



RRC E 

CALL RDIG 

AND 017 

LB UX+DtA 

* PROCESS 3RD DIGIT 



SELECT DIGIT 2 

WAIT AND READ DIGIT 

ISOLATE 

A STORE SECOND DIGIT 



RRC B 

CALL RDIG 

AND 017 

1.D <IX+2>.A 

* 

* PROCESS 4TH DIGIT 

* 

RRC B 
CALL RDIG 
AND 017 
LD (IX+3): 
JR INCCN 



SELECT 3RD DIGIT 
WAIT AND READ DIGIT 
ISOLATE 
A STORE 



SELECT 4TH DIGIT 
WAIT AND REAP DIGIT 
ISOLATE 
A STORE 



.000 OVERRANGE VALUE INTO DATA BUFFER 



1750 OVER 

1760 

1770 

1780 

1790 

1800 

1810 



LOAD MSD VALUE 



A 

(IX+1) , 
(IX+2) t 
< IX+3) , 
INCCN 



LOAD LSD VALUES 



1830 
1840 
1850 
1S60 
1870 
1880 
1890 
1900 
1910 
1920 
1930 
1940 
1950 
1960 
1970 



* END OF CHANNEL CONVERSIONS 



RAPUP LD 



HL. (STATUS) 

RETURN TO CALLER 



* READ DIGIT ROUTINE 



READ DATA BYTE 

CONVERT TO HIGH TRUE LOGIC 

SAVE COPY 

TEST FOR GIVEN DIGIT READY 

JUMP Tl" NOT 

RESTORE A REGISTER 

RETURN TO CALLER 



trying to use it. Perhaps the next level is 
to write an interrupt driver which con- 
tinually updates a value in the interpreter's 
tables of variables; but this would require a 
source listing and further documentation of 
the interpreter in order to accomplish the 
goal. 

The Driver Is a Relocatable Subroutine 

The actual program which interfaces to 
and stores the values to the DVM chip is 
written in the form of a single callable sub- 
routine. To maintain the relocatability of 
the subroutine to any page in memory, all 
information necessary for the proper 
execution of the driver is provided at the 
time of the call. The additional information 
about which channels are to be converted is 
loaded into the DE registers at the time of 
the call. One bit of the E register is allocated 
for each analog to digital channel. Channel 1 
is the least significant bit and channel 8 is 
the most significant. Setting a "1" value for 
the channel bit will tell the driver to convert 
that channel and a "0" means to ignore it. 
Loading E with binary 10 110 011 will 
indicate to the driver that channels 1, 2, 5, 
6 and 8 are to be converted. Setting all bits 
to "1 " will cause all channels to be read and 
converted. Indicating to the driver which, if 
any, channels are to be read rather than 
scanning all of them is a method of saving 
time. By computer standards, this analog to 
digital interface is slow; it is better not to 
waste any more time than is necessary. 

The driver starts the conversion process 
by selecting a channel address to convert. 
This is accomplished by looking at the least 
significant bit of the E register. If it is a "1 " 
it will convert on that channel. If it is a "0" 
it shifts and inspects the next bit, and so on 
until it finds one that is set. When a bit set 
condition is found, the channel address of 
that particular channel is sent out via port 
003 to the analog input multiplexer IC6 and 
the end of conversion flip flop IC5 is reset. 
The DVM then starts the process of 
converting the analog input signal. 

Demultiplexing the output of the DVM is 
fairly straightforward. The processor hangs 
in a loop waiting for an end of conversion 
signal. When this happens, the program 
knows that the next four digits of data are 
what is wanted. The DVM integrated circuit 
sets each of the digit select lines successively, 
and the program records the values of the 
four data lines each time. It strips the status 
and polarity bits from the most significant 



98 



BYTE December 1977 



Table 2: Power 
table for figure 3. 



wiring 



+5V -5V 


GND 


IC Number Type Pin Pin 


Pin 


Id MC14433 24 13 

IC2 MC1403 1 

IC3.4 74LS04 14 

IC5 7474 14 

IC6 CD4051 16 7 


1&12 
3 
7 
7 
8 


Note: All resistors % W 5% unless otherwise noted. 

All capacitors are 100 V ceramics unless otherwise noted. 



f START J 



SAVE 

REQUESTED 
CHANNEL 
NUMBERS 



READ AND SAVE 
MOST SIGNIFICANT 
BIT WITH POLARITY 
SIGN 



INITIALIZE 

INTERMEDIATE 

VARIABLES 



PERFORM TWO 
ANALOG TO DIGITAL 
CONVERSIONS AND 
SAVE LAST 
POLARITY VALUE 



CONVERSION 
REQUEST FOR 
NEXT 
CHANNEL 



READ AND SAVE 
SECOND, THIRD 
AND FOURTH 
DIGITS 




Figure 3: Flowchart of the digital voltmeter driver program of listing 1 . 



BYTE December 1977 



99 



ROGRAM --S.CIARCIA 



THE DECIMAL STARTING LOCATION OF 



Listing 2: A BASIC program (written in Max/ BASIC) which performs data 
acquisition and computes results from the output of the 8 channel digital 
voltmeter. 

LIST 

100 RUM 

IK) REM 

120 REM 8 CHANNEL 3 1/2 DIGIT SCANNING 

130 REM REV 1.5 

140 REM SPECIAL ANALYSIS SECTION 

150 REM TTL TO MOS VOLTAGE LEVEL CONVERTER 

140 REM 

170 REM 

ISO REM 

190 LET Ml=24574 

192 REM PAGE 14O(0CTA1_> 

200 REM Ml IS SET TO BE 

210 REM THE VALUE TABLE 

220 LET M2=24614 

230 REM M2 IS THE MACHINE LANGUAGE CALL ADDREi 

240 LET M3 = 10 

250 REM M3 IS THE GAIN. IN THIS APPLICATION, ' 

240 REM IS +19.99 TO -19.99 VOLTS 

270 REM TO USE THE CONVERTER FOR -1,999 TO +1.999, 

280 GOTO 300 

290 PRINT'TO REPEAT THE SAME SELECTION, TYPE AN X" 

291 PRINT'TO SELECT A NEW OPTION, TYPE AN 0" S INPUT 

292 IF B$="X" THEN GOTO 420 
294 PRINT ! PRINT I PRINT 
300 PRINT - OPTION LIST" 
310 REM WE START THE PROGRAM WITH AN OPTION 

320 PRINT" - - 

330 PRINT'O SELECT CHANNELS" 

340 PRINT"! SCAN AND DISPLAY ALL CHANNELS" 

-SCAN AND DISPLAY SELECTED CHANNEI 

SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY" 

— -SCAN CHANNEL 1 CONTINUOUSLY 100 TIMES" 

GO TO SPECIAL ANALYSIS SUBROUTINES" 

390 REM THESE ROUTINES ARE DEPENDENT UPON THE PARTICULAR A/D APPLICAT! 

400 PRINT"* - EXIT" 

410 PRINT'UHICH OPTION "i INPUT S 
420 IF S=0 THEN 520 



LOCATION FOR THE A/D 



RANGE 



LET 



THE CONVERT!:! 



I 1ST 



350 PRINT 
340 PRINT 
370 PRINT 
380 PRINT 



Bt 



ONCE 



THANKYOU" ;END 



430 IF S=l THEN 930 

440 IF S=2 THEN 1040 

450 IF S=3 THEN 1280 

440 IF 8=4 THEN 1380 

470 IF S=5 THEN 1470 

480 IF S-=4 THEN PRINT" 

490 GOTO 410 

500 REM 

510 REM FIRST WE DETERMINE WHICH ANALOG CHANNELS TO READ 

520 PRINT "INDICATE YOUR CHOICES WITH A Y OR N AFTER THE CHANNEL NUMBS 

530 FOR Ol TO 8 

540 PRINT"CHANNEL "JC, 

550 INPUT AI 

540 REM ACCEPT ONLY TRUE INPUTS 

570 IF A»="Y" THEN LET A(Ci=l : GOTO 410 

580 IF A*="N" THEN LET A<C>=0 [SOTO 410 

590 PRINT "INPUT A Y FOR YES OR A N FOR NO" 

400 GOTO 540 

410 NEXT C 

420 GOTO 290 

430 REM 

440 REM 

450 REM 

440 REM SET D EQUAL TO THE DECIMAL MEMORY ADDRESS OF THE 

470 REM BEGINNING OF VALUE TABLE 

480 REM THIS SUBROUTINE DETERMINES THE 3 1/2 DIGIT VALUE 

690 REM FROM THE TABLE IN MEMORY 

700 LET 1)1= J XAM(D) 

710 LET 0=01 

720 if <:i:o-'«:i2a then let CMJ1-12S 

730 D-B+l 

740 LET U=EXAM<D> 

750 D-D+l 

740 LET E=EXAM!fi) 

770 U =n+i 

780 LET R=EXAM(D) 

790 LET B=B+1 

800 LET Y-OK , l*W> + < . 0;l*E> + < ,001*R) 

810 LET Y1=M3*Y 

820 RETURN 

830 REM 

840 REM THIS SUBROUTINE PRINTS OUT 

350 PRINT-CHANNEL "jXf IS ": 

840 IF 0K128 THEN PRINT" "i SOOTO 

870 IF Bl>=128 THEN PRINT ■-"! 

880 IF M3=:J.0 THEN PRINT X5F2PY1." 

890 PRINT Z6F3;Y1;" VOLTS" 

900 RETURN 

910 REM 

920 REM 

930 LET B-CALI ... <M2,2SS> 

940 REM THE CALL INSTRUCTION I ELLS 

950 REM 255 IS ALL BITS SET 

940 REM THIS WILL CAUSE: THE A/D TO CONVERT 

970 1 ET D = M1 

980 REM B IS THE START ADDRESS 

990 FOR' X=l TO 3 

1000 GOSUB 700 

1010 REM GET 3 1/2 DIGIT VALUI 

1020 IF Y>=2 THEN PRINT "CHANNt 

1030 GOSUB 850 

1040 NEXT X 

1050 GOTO 290 



380 



I'AGE VALUE! 



GOTO 900 



THE A/D INTERFACE TO START CONVERTING 



THE VALUE TABLE. 



FROM MEMORY 
"tXI" IS OUT OF 



ight channel: 



:goto 1040 



digit (the 3/4 digit) and reformats the value 
into four bytes of memory. The three whole 
digits will be stored in BCD notation and 
occupy three of the bytes. The Vi digit, 
polarity and out of range will be located in 
the remaining data byte. Polarity is indicated 
by setting the most significant bit. A positive 
reading is a zero condition and negative is a 
one in that bit. The 54 digit value can only 
be a one or zero and occupies the least 
significant bit of the quantity. Out of range 
is accomplished with a little program man- 
ipulation. If the driver detects that the 
incoming reading is not within range, it sets 
the equivalent of +2 in the J4 digit byte. 
Obviously, this is an illegal condition for a 
DVM capable of only counting to 1999, but 
it is easy for BASIC to check the 
authenticity of the data by checking that all 
incoming values are between -1999 and 
+1999. The driver program continues to do 
this same sequence until all designated 
channels have been converted. 

There is a slight peculiarity with DVM 
chips: they don't like changes in polarity. 
The first conversion after a change in 
polarity will be 0.000 and will have to be 
discarded. In a single channel DVM this 
wouldn't present a problem, but when 
reading eight channels, some will be negative 
inputs and others will be positive. 

The initial conversion also has the same 
problem to contend with, since the con- 
version history when the driver is not active 
is unknown. The solution is to write a 
smarter driver. Following a call, the driver 
program initializes the interface and deter- 
mines the polarity. After that, any time the 
polarity changes between successive readings 
on designated channels, another conversion 
is initiated and stored. Figure 3 is a 
simplified flow diagram showing the logical 
design of the driver. 

The end product of the driver is a 32 byte 
memory resident table which contains the 
eight 4 byte values corresponding to the 
eight channels. The values are sequentially 
arranged in the table. A simple formula 
locates a particular channel location at L + 
(4(N-1)) where L is the starting address of 
the table and N is the channel number. A 
complete assembly listing of the DVM driver 
is outlined in listing Litis made to run on a 
Z-80 and is assembled to occupy page 140 
(octal). 

The driver can be assembled for 
practically any portion of memory, but take 
care not to overlap into operating system or 
source files. If you own Digital Group soft- 



100 



BYTE December 1977 



Listing 2, continued: 



1060 LET D=M1 

.1070 GOSUB 1130 

1080 GOTO 290 

1090 REM 

1100 REM 

1110 REM 

1120 REM THIS SUBROUTINE PRINTS ONLY THE SELECTED CHANNELS 

1130 LET L=A(l>*l+A<2)*2+A(3>*4tA<4>*3+A<5>*16TA<6)*32l-A<7)*A4+A<a)*l?3 

1110 REM THIS EQUATION SETS THE BIT PATTERN FOR THE CALL TO THE A/D 

1150 LET H=CALL<M2rL> 

1160 REM H U1LL RETURN FROM THE CALL WITH THE HL REG. VALUE BUT 

1170 REM IS NOT BEING USED PRESENTLY IN THIS PROGRAM 

HBO FOR X=l TO a 

1190 GOSUB 700 

1200 LET Z-A<l)+A<2)+A<3)+A(4>+A(5>+A(6)+A<7>+A<8> 

1210 IF Z=0 THEN F'RINT'NO CHANNELS HAVE BEEN SELECTED" SEXIT 290 

1220 IF A<X>=0 THEN 1250 

1230 IF Y>=2 THEN PEINT'CHANNEL ■;xi" IS OUT OF RANGE' : GOTO 1250 

1240 GOSUB 830 

1250 NEXT X 

1260 RETURN 

1270 GOSUB 1130 

1280 LET D==M1 

1290 REM THIS SUBROUTINE IS A CONTINUOUS LOOP - EXIT WITH RESET SWITCH 

1300 FOR J=l TO 1000 

13 10 LET D=M1 

1320 GOSUB 1130 

1330 PRINT ! PRINT ! PRINT 

1340 NEXT J 

1350 GOTO 290 

1360 REM 

1370 REM THIS SUBROUTINE CONTINUOUSLY SCANS AND PRINTS CHANNEL 1 

1380 FOR R=i TO 100 

1390 LET U=CALL<M2.1> 

1400 REM GO AND CONVERT CHANNEL 1 ONLY 

1110 LET D=M1 

1420 GOSOB 700 

1430 LET X=l 

1440 GOSUB 850 

1450 NEXT R 

1460 GOTO 290 

1470 LET B=CALI.(M2.255) 

1480 REM SCAN AND STORE ALL CHANNELS 

1.490 LET U = M1 

1S00 FOR X=l TO 8 

1510 GOSUB 700 

1520 LET V(X>=Y1 

1530 REM SET VALUES INTO AN 8 VALUE ARRAY 

1510 NEXT X 

1550 REM CHECK CALIBRATION 

1560 IF V(8)>«2.006 THEN PRINT'OUT OF CALIBRATION - 1 GOTO 290 

1570 IF V(8)<=1.?94 THEN PRINT-OUT OF CALIBRATION- ! GOTO 290 

1580 PRINT-TTL TO MOS LEVEL CONVERTER TTL LOU INPOT STATE' (PRINT! PRINT 

.1,590 PRINT-DIODE Dl ■ 

1600 PRINT" VOLTAGE DROP • l iUt2)-Vfl)t l VOLTS" 

1610 PRINT !PRINT-R1- 

1620 LET T1=(V<2>-V<3> 1/2200 

1630 PRINT-CURRENT = " » T 1 r ■ AMPS" 

1610 PRINT'FOWER " "iTl*Tl*2200 

1650 PRINT IPRINT'Ol" 

1660 PRINT-VCE 01 = ■ jV(4 >-V<3 ) i ■ VOLTS" 

1670 PRINT- VBE Bl * •iV(3)r l " VOLTS" 

1680 PRINT-VCB 01 ■ •iV(4); 1 VOLTS' 

1690 PRINT 1PRINT-R2- 

1700 LET T2==<V(5> -V(4) J/4700 

1710 PRINT-R2 DROP - " . V (5 )-V<4 ) r " VOLTS' 

1720 PRINT-CURRENT » •tTZf AMPS" 

1730 PRINT-POUER ■ ■ i T2*T2*4700 1 ■ WATTS' 

1740 PRINT 1PRINT-R3' 

1750 LET T3=(V<6)-V(7> 1/4700 

1760 PRINT-R3 DROP « ■ i V(6 ) -V< 7 ) ) " VOLTS' 

1770 PRINT-CURRENT = 'rT3r- AMPS" 



1780 PRINT-POUER » ' 

1790 PR INT SPRINT "02' 

1800 FRINT'VBE 02 > 

1810 PRINT-VCE 02 » 

1820 PRINT-VCB 02 » 

1830 PRINT- IC OF 02 



;T3*T3*4700i- WATTS' 



VOLTS ■ 
VOLTS" 
VOLTS' 



■ ;V(S)-V(4) i- 
" I V < 7 ) -V ( 5 ) > ■ 
■ >V<7>-V<4> f " 
= -!T3i' AMPS' 

1840 print'pouer dissipation = ' 8 < v<7> -v<5 > >*t3 ! 
1850 print:print:print-supply voltages- 

1860 PRINT V(6) 
1870 PRINT'-'8V<5> 

1880 GOTO 290 
READY 



OPT ION LIST 



—SELECT CHANNELS 
—SCAN AND DISPLAY ALL CHANNELS 
—-SCAN AND DISPLAY SELECTED CHANNE I S ONCE 

-SCAN AND DISPLAY SELECTED CHANNELS CONTINUOU! 

SCAN CHANNEL I CONTINUOUSLY 100 TIMES 

SO TO SPECIAL ANALYSIS SUBROUTINES 

EX] I 



1 



WHICH OPTION 

•'1 

CHANNI L 

CHANNI 1 

CHANNEI 

I HANNEI 

CHANNEI 



■ 34 vol TS 

.93 VOLTS 
.ol VOL IS 

. .". vol rs 

.02 VOLTS 



CHANNEL 6 IS 5.04 VOLTS 
CHANNEL 7 IS -11.45 VOLTS 

CHANNEL 3 IS 2.00 VOLTS 

TO REPEAT THE SAME SELECTION. TYPE AM X 

10 SELECT A NEW OPTION , TYPE AM il 



ro 



OPTION LIST 



SELECT CHANNELS 

1 SCAN AND DISPLAY ALL CHANNELS 

2 SCAN AND DISPLAY SELECTED CHANNELS ONCE 

3 - SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY 

4 — SCAN CHANNEL 1 CONTINUOUSLY 1.00 TIMES 

5 GO TO SPECIAL ANALYSIS SUBROUTINES 

6 EXIT 

WHICH OPTION 
YO 

INDICATE YOUR CHOICES WITH A Y OR N AFTER THE CHANNEL NUMBER 

CHANNEL. 1 TY 

CHANNEI. 2 ?N 

CHANNEL 3 TN 

CHANNEL 4 ?Y 

CHANNEL 5 TY 

CHANNEI 6 TN 

CHANNEI. 7 TN 

CHANNEL. 8 TN 

TO REPEAT THE SAME SELECTION. TYPE AN X 



TO SELECT A NEU OPTION. TYPE AN 



?0 



OPTION LIST 



- -SELECT CHANNELS 

1 - SCAN AND DISPLAY ALL CHANNELS 

2 SCAN AND DISPLAY SELECTED CHANNELS ONCE 

3 • SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY 

4 SCAN CHANNEL 1 CONTINUOUSLY 100 TIMES 

5 GO TO SPECIAL ANALYSIS SUBROUTINES 

6 EXIT 

WHICH OPTION 



CHANNE 
CHANNE 
CHANNE 
TO REP 
TO SEL 
?0 



L 1 IS 3.54 VOLTS 

L 4 IS -10.75 VOLTS 

L 5 IS -11.02 VOLTS 

EAT THE SAME SELECTION. TYPE 

ECT A NEU OPT ION. TYPE AN 



OPTION LIST 



SELECT CHANNELS 

SCAN AND DISPLAY ALL CHANNELS 

SCAN AND DISPLAY SELECTED CHANNELS ONCE 

SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUSLY 

- SCAN CHANNEL 1 CONTINUOUSLY 100 TIMES 

GO TO SPECIAL ANALYSIS SUBROUTINES 

EXIT 



WHICH OPTION 

TTL TO MOS LEVEL CONVERTER 



-TTL LOU INPOT STATE 



DIODE Dl 

VOLTAGE DROP 

Rl 

CURRENT ' 

POWER '■-■ 

1)1 

VCE 01 = 

VBE 01 = 

VCB 01 ■ 

R2 

R2 DROP c 

CURRENT ■ 

POWER - 

R3 

R3 DROP i 

CURRENT I 

POWER ■ 

02 

VBE 02 ■ 

VCE 02 ■ 

VCB 02 ■ 

IC OF 02 



-.61 VOLTS 

1.0454545E-03 AMPS 
2.4045452E-03 

10.12 VOLTS 
.63 VOLTS 
10.75 VOLTS 

.27 VOLTS 

5 . 7444B09E-05 AMPS 
1.5510639E-05 WATTS 

-6.41 VOLTS 
-1.3638298E-03 AMPS 
8.742149E-03 WATTS 



.27 VOLTS 

.43 VOLTS 

.7 VOLTS 

-1.3633298E-03 AMPS 
POWER DISSIPATION ■ -5 . 3644681E-04 UATTS 
SUPPLY VOLTAGES 

5.04 
-11. 02 

TO REPEAT THE SAME SELECTION. TYPE AN X 
TO SELECT A NEU OPTION. TYPE AN 
Ytl 

OPTION LIST 



SELECT CHANNELS 

1 — SCAM AND DISPLAY ALL CHANNELS 

2 SCAN AND DISPLAY SELECTED CHANNELS ONCE 

3 - SCAN AND DISPLAY SELECTED CHANNELS CONTINUOUS 

4 SCAN CHANNEI 1 CONTINUOUSLY 100 TIMES 

5 GO TO SPECIAL ANALYSIS SUBROUTINES 

6 EXIT 

WHICH OPTION 
76 

TIIANKYOU 
READY 



BYTE December 1977 



101 



CHANNEL N0.7 



A 



CHANNEL N0.4 



CHANNEL NO. 3 



T 

TL 

ONTROL i 1^ ? ' ZZK 

NPUT CHN O ►) O W^-^ 



TTL 7404 "' R 

CONTROL 



01 
2N2907 



CHANNEL NO. I 

CHANNEL N0.2' 




R3 
4.7K 



CHANNEL NO. 6 



MOS LEVEL 
O OUTPUT 
5V 



/77 



©02 -l+i 

2N2222 ; 

- 12 L- 



R2 
4.7 K 



-I2V 

NOTE: CHANNEL NO. 8 
CONNECTED TO 2.000 V REF 



CHANNEL N0.5 



Figure 4: A sample circuit illustrating the use of the 8 channel 3'A digit volt- 
meter. The circuit is a TTL to MOS voltage level converter. 



ware, there are some alternatives depending 
on what version you have. For people with 
straight (non-universal) 32 character Z-80 
Maxi BASIC Version 1.0, page 012 is empty 
and has been left for future expansion. If 
you have the 64 character Maxi BASIC 
Version 1 .1 , it's better not to try to bury the 
driver within the interpreter unless you're an 
experienced programmer. Owners of 8080 
systems have only to reassemble the code 
using 8080 instructions and locate it in a 
similar manner. The logic behind the driver 
is not so involved that it necessitates using 
the Z-80. Any microprocessor should be 
able to work with the interface. 

Using the Interface with BASIC 

This DVM interface is specifically 
designed to run with a BASIC interpreter 
such as Maxi BASIC or the equivalent. 
Listing 2 illustrates a BASIC program which 
does data acquisition and computes results 
from this input data. Often, the best method 
of explanation is to illustrate the actual use 
of a device. This program, while being 
general in nature, provides specific reference 
to the value of mating BASIC and analog 
acquisition. 

Figure 4 is a circuit of a TTL to MOS 
voltage level converter. Its use is to convert 
and 5 V TTL levels to +5 V and -12 V 
MOS logic levels. It is a relatively simple 
circuit, but it shows how BASIC can work 
for you. 

Up to this point I have said that the input 
range of the DVM is ±1.999 V. By putting 
resistor voltage dividers in series with the 
multiplexer channel inputs, other ranges can 



be accommodated. A 900 K-100 K resistor 
divider network will change the input 
range to ±19.999 V. Some channels can 
be set for 20 V ranges. With the present 
CD4051, though, separate resistor dividers 
are needed on the inputs because the max- 
imum voltage handling capability of the 
4051 is the range of its power supply. 
Relays, which could pass the high voltages, 
could be configured to allow use of only one 
selectable divider network, but for now we 
are limited. If you put resistor dividers on 
the inputs, the only necessity is to instruct 
the program to multiply the particular 
channel reading by an appropriate ranging 
factor. In this particular case, all input 
channels have been set for ±19.99 V ranges, 
and the multiplier is ten. 

The program presents an option list. It 
allows general application as an acquisition 
and data logging tool. With it, one can select 
to read and print all eight channels, 
particular channels, or log a single channel 
continuously. Option 5 is what it's all 
about. It automatically records the input 
voltages and computes the circuit parameters 
such as power dissipation and voltage drops. 
A very complicated circuit example would 
probably have been more impressive, but 
that is merely a case of applying program- 
ming talents to the same set of input data. 

One further note of explanation: the call 
instruction in Maxi BASIC has been mis- 
interpreted by some people. It is not a 
directly executable instruction, but is rather 
used in a statement like LET X = CALL 
(2560,9). The BASIC interpreter will go to 
memory location decimal 2560 and start 
executing a machine language subroutine. 
The number in parentheses after the comma 
is the value which is put in the D and E 
registers at the same time. This is a 16 bit 
value with a range of to 65,535. When the 
machine language subroutine is finished, it 
returns to the interpreter. X will then have a 
value equal to whatever was in the H and L 
registers when the subroutine ended. 



The following items are available from General 
Digital Corporation, 700 Burnside Av, East 
Hartford CT 06108: 

1. Complete set of integrated circuits 
including the MC14433 and MC1403. . . 
$29.95 

2. Complete kit of all parts including PC 
board, sockets, integrated circuits and 
other components. . .$64.95 

3. Assembled and tested unit complete 
with DVM interface. . .$79.95 

All items are postpaid in the continental US. 



102 



BYTE December 1977 



Conclusion 

Having eight channels is better than 
having one, especially if it doesn't cost any 
more. I've attempted to present a low cost 
solution to a usually expensive data ac- 
quisition problem. As is always the case with 
computers, the maximum utilization of the 
device is dependent upon the programmer, 
and as my college textbooks used to say, this 
is an exercise left to the reader. 

If you have a suggestion for an article or 
an idea about a project to be built, please 
write and tell me about it. Please enclose a 
stamped, self-addressed envelope. Unfor- 
tunately, based on the mail volume of pre- 
vious articles, I will not be able to answer 
all letters personally, but I will attempt to." 



The author 


would like to extend 


special thanks 


to Dave Hardenbrook 


for his help in 


writing the DVM driver 


program. 






Photo 5: The breadboard circuit of the schematic in figure 4 used to test the 
8 channel voltmeter. 



THE ALPHA-1 SYSTEM 

• RATED A BEST BUY 

IN MASS STORAGE 

SYSTEMS 




^APPLICATIONS 

• BUSINESS applications include mailing lists, payroll, 
billing, and inventory. 

• CASSETTE BACKUP for disk-based Systems not 
only provides large amounts of storage at low cost, 
but also provides for convenient storage of histori- 
cal records. 

• DEVELOPMENT SYSTEM features include a power- 
ful operating System with an Editor, Assembler, and 
Debugger, plus a variety of System utilities which 
speed development. 

• OEM applications include P.O.S. data capture, word 
processing systems, audio-visual presentation sys- 
tems, telephone call transfer systems. 



• hardware 

• Stores greater than 500K bytes per side of a C-60 
tape. 

• Access a file in 17 seconds average on a C-60 tape. 

• Load 8K of data in less than 1 1 seconds (6250 baud). 

• 100% interchangeability of cassettes with no adjust- 
ments required orallowed. 

• Compatible with all popular S-100 Bus Microcom- 
puters. 

• Audio track under computer control. 

• Eliminates the need for ROM/PROM monitors. 

• software 

• MCOS, a powerful stand-alone cassette operating 
system, is operationally much simpler than a D.O.S., 
handles variable length named files, will update a 
file in place, packs or copies tapes with a single 
command. 

• EXTENDED BASIC with MCOS permits array hand- 
ling and concatenation of files, plus all capabilities 
of MCOS. 

• PRICES START AT $240 

• FREE BUYERS GUIDE 

If you are shopping for a tape or disk system for your 
S-100 Bus Computer System, you do not have all the 
facts until you have the MECA "BUYERS GUIDE TO 
MASS STORAGE." This 10 page guide book provides a 
framework for evaluating cassette, cartridge, and disk- 
based systems. Write for your copy today. 

For complete information including the Dealer nearest 
you, write or phone: 

mecsi 

7026 O.W.S. Road, Yucca Valley, CA 92284 
(714)365-7686 



Circle 70 on inquiry card. 



BYTE December 1977 



103 



Structured Programming 
with Warnier-Orr Diagrams 



Part 1: Design Methodology 



David A Higgins 

Langston Kitch and Associates 

715 E 8th St 

Topeka KS 66607 



Any successful program design method- 
ology must be able to do several things: it 
must produce consistent, low cost, high 
reliability results; it must produce them 
quickly, while still allowing for easy mainte- 
nance later and, it must be simple enough to 
allow anyone (and I do mean anyone) to use 
it. Warnier-Orr diagrams (after Jean- 
Dominique Warnier in France and Kenneth 
T Orr in the United States) satisfy all of the 
above requirements with an added bonus; 
they produce structured programs that 
nearly always run correctly at the first 
effective trial. They allow people to produce 
superprograms without being superprogram- 
mers. 

The purpose of this article is to show how 
to develop and code a structured program 
using the Warnier-Orr methodology from 
start to finish. The technique is a straight- 
forward approach to producing correct pro- 
grams. It is just as valid and successful for 
personal microcomputer applications as it is 
for megacomputer applications in the world 
of business, science and industry. I feel that 
this method of designing a program is one of 
the most advanced state of the art software 
development techniques in existence today. 
It is a concise, step by step method with 
predictable results. 

Step One: Identify the Output 

This is the first, the primary and the most 
important rule of all for the construction of 
a correct program. It cannot be emphasized 
enough. The failure to first identify the 
outputs of a program is usually the primary 
reason programs fail to run correctly. 

You must ask yourself the questions: 
"How will I be able to tell when I am 
through with this program?" "What will the 



printed, displayed and punched outputs 
physically look like?" "What will the pro- 
gram be able to do?" All of these questions 
must be thoroughly answered before you 
can even begin to think of coding the 
program. Skipping this step because "Aw, I 
know what I want to do," or "Gee, this isn't 
any fun, let's start coding," is a common 
mistake, and although you may get away 
with it on a small program once in a while, 
omitting it will kill you more often than not. 

A good example of the kind of trouble 
you can get into by assuming that you know 
everything about a problem can be found in 
a recent popular film. In the movie Jeremiah 
Johnson, Jeremiah befriends an old-hunter 
and trapper in the mountains. The old 
hunter asks Jeremiah if he can skin a bear. 
"Of course I can," he replies. In the next 
scene, we see the old man running down a 
hill towards the cabin closely pursued by a 
very large bear. The hunter runs into the 
open front door, leaps out of the back 
window and yells: "There . . . you skin that 
one and I'll go get you another." Jeremiah 
failed to do one basic thing; he forgot to ask 
whether the bear he was supposed to skin 
was dead. Skinning a dead bear is one thing, 
skinning one that is still running around the 
room trying to skin you is quite another. 
Just as writing a program after it has been 
properly defined is one thing, and trying to 
write one when you aren't even sure what it 
is supposed to do when you are finished is 
another. 

Defining outputs is not really an un- 
reasonable requirement to make; after all, no 
building contractor would begin construc- 
tion without first knowing what the finished 
building was supposed to look like; no 
electrical engineer would start soldering 



104 



BYTE December 1977 



YES YOU CAN 

Put The Versatile 2 To Work Now! 

Even if you've NEVER used a computer, you can begin to operate the Versatile 2 immediately. 
It's all been done for you: a compact computer that needs no extras, and a complete software library' 

Great for HOBBYISTS • TEACHERS • BUSINESSMEN 



HOME You don't have to be a 
programmer or electronics techni- 
cian. Or know anything more than 
how to plug it in, and read our 
manual. Get your hobby going with- 
out hassle. 



CLASSROOM Get your kids right 
to work learning BASIC, playing 
games and solving math and ac- 
counting problems without worry- 
ing about what makes the computer 
go. 



Sluiuarl Mini-Floppy 
Controller built into thcVl 





Numeric Keypad may be ordered as 
option at no charge. 



STATUS REPORT 

PHOTON TORPEDOES LEFT 9 
PHASER STRENGTH LETT 25 
SHIELD STRENGTH 1125 

STAR DOTE 115*8 31 

REHH1H1HG EHERtt 22M 

common un red uu 



CMMM 1 REPORT KL1NS0N POSITION 
KL1IK0N VESSEL 1: QUAD 2 SECTOR « 
(UKM VESSEL 2: ttWI 4 SECTOR 6 



ENTER PART HJKR NV-349B 

PART WISER HV-349B 
DESCRIPTION: 3 IN GLOBE WIDE 
IWtrflCTlKR: aOBE INC. 
CURRENT SUPPLIER: PURCHASED DIRECT FRON FACTORS 

01V. IN STOCK COST PRICE 0T1. ORDERED DUE DATE 
17 24.76 «.BS 5B 1/1I/7B 

ENTER PARI KIKR: I < 



OFFICE Stop drowning in paper- 
work. And quit worrying about 
which system will work best for you. 
With our business accounting pack- 
age, you can concentrate on busi- 
ness while the Versatile S con- 
centrates on maintaining your 
records compactly, and permanent- 
ly on diskette. 



SPECIFICATIONS 

Z-80 CPU 

Video display with graphics on 9" 

64x16 screen 

16K Static RAM Memory 

Serial and Parallel I/O Ports with 

standard RS-232 Connector provided 

at rear of unit 

ROM to drive RS-232 

EXPANDABLE 

Add memory, printer, and up to 3 
external mini-floppy disk drives. 

OPTIONS 

8K Memory Boards at $195.00 each. 



HOME SOFTWARE LIBRARY 

Five diskettes are included to give you im- 
mediate programming capabilities. 

DISK #1 contains a Disk Operating System 
and 12K Extended BASIC. Easy to use 
statements include: IF THEN, GOTO, 
READ, EXIT, FOR, NEXT. You get com- 
plete line editor, multi-statement lines and 
multi-dimension arrays. A BASIC teaching 
program on this diskette will have you quick- 
ly programming in BASIC. 

DISK #2 has many games including STAR- 
TREK, BLACKJACK and STAR WARS. 
There's room left over for you to add your 
own. 

DISK #3 is a Home Accounting Package with 
programs like Budgeting, and Checkbook 
Balancing. 

DISK #4 contains a Small Business Account- 
ing Package. Included are programs for Pay- 
roll, Inventory Control, Accounts Payable 
and Receivable, Taxes, Invoicing, Check 
Printing, and much more. 

DISK #5 is a formatted blank diskette for 
you to enter your own programs. 



Versatile 2 

$2495 Assembled and Tested. 6 Month Warranty. 30-day delivery or available direct from dealers. 



Scientific Sales, Inc. 

175W. Wieuca, Suite 210 

Atlanta, GA 30342 

(404) 252-6808 



COMPUTER DATA SYSTEMS 

5460 Fairmont Drive 

Wilmington, Delaware 19808 

(302) 738-0933 



Alexander and Company, Inc. 

5518 Florin Road 

Sacramento, CA 95823 

(916) 422-9070 



Circle 25 on inquiry card. 



BYTE December 1977 



105 



MONTHLY FINANCIAL REPORT 
FOR THE MONTH OF JANUARY 1977 



BALANCE FORWARD OF 



DATE 
1 


CHECK* 
978 


TO: 

GROCERY STORE 
-MILK, BREAD, EG.GS 


DEBIT 
2.23 


CREDIT 


BALANCE 
229.67 


1 


979 


PHONE COMPANY 


37.14 






192.53 


3 


980 


GAS BILL 


25.61 






166.92 


5 


981 


GEORGE FREDRICK 
-SHOVELLING SNOW 


5.00 






156.92 


5 




PAYCHECK DEPOSIT 




312 


18 


469.10 


6 


982 


ELECTRIC COMPANY 


23.15 






4 4 5.95 



31 1013 



BYTE MAGAZINE 12.00 

-SUBSCRIPTION RENEWAL 



CURRFNT BALANCE 



Figure 1 : Proposed output of a computer program for balancing a checkbook 
and producing an end of month report. 



parts together without a schematic diagram. 
In fact, no profession (reliable profession 
anyway) involved in the business of putting 
things together ever starts to build anything 
unless they know what it will look like after 
they are done. Yet, that is precisely the way 
most programmers try to write programs. 
Then they wonder what went wrong when 
they have problems. The same programming 
principles which apply to the professional 
apply just as much to the amateur, for no 
one's time is unlimited. 

After defining all of the outputs of the 
program, the next step is to define the 
logical data base, although you will probably 
never really spend much time at this step 
with most personal microcomputer applica- 
tions. 

Step Two: Define the Logical Data Base 

The reason this step is trivial for many 
personal use applications is because the 
logical data base typically consists of only 



CHECK FILE < 



YEAR 

d,vl 



MONTH 
(1,m) 



DAY 
(1,cll 



. TRANS- 
< ACTIONS < 
' (1,1) 



DEBIT 

(0,1) 



CREDIT 
(0,1) 



Figure 2: Logical data structure for the checkbook balance report. The 
notation (l,n) indicates an operation will take place at least once and possibly 
many times. 



one numeric field. It is typically the field 
holding a person's response to a program 
generated question. For illustrative purposes 
let us look at a home computer application 
that requires a slightly more complex data 
base arrangement. Take for instance a com- 
puter program that would balance the family 
checkbook and produce a financial report 
each month. The report designed in step one 
might look something like figure 1. 

If you were keeping manual records that 
you wanted to be able to search very easily, 
you would keep each one of those entries, 
perhaps on index cards, filed by year, by 
month and by date. Figure 2 illustrates a 
way of representing the logical data struc- 
ture for the checkbook balance report in 
Warnier-Orr notation. 

In figure 2, you can see the logical data 
structure for the checkbook balance report. 
The report is organized by year; within each 
year by months; within each month by days; 
and within each day by transactions, which 
are either debits (checks) or credits (de- 
posits). Note that year, month, day, and 
transactions all appear in the report at least 
once and possibly many times; thus we see 
the notation (1,n) in the diagram. Having an 
entry for a day that had no transactions or 
having a monthly report with no days is 
hardly worth the trouble. However, each 
transaction is either a credit transaction 
(credit occurring once, and debit not occur- 
ring) or a debit transaction (debit occurring 
once and credit not occurring). This con- 
dition is reflected on the chart by the "©" 
symbol, which is the symbol for mutual 
exclusion. 

One important point needs to be made 
here. The diagram of figure 2 is not the 
logical data base for this report; it is only the 
report's logical data structure. Making a 
chart of the logical data base requires that 
we map the data elements that appear in the 
report onto the logical report structure, as 
we have done in figure 3. In figure 2 we 
showed conceptual relationships of one part 
of the structure to another. In figure 3 we've 
filled in the required details needed to 
complete each level of the structure. One 
level of the structure corresponds to one 
bracket and the levels are counted left to 
right. 

Step Three: Define the Physical Data Base 

Defining the physical data base of a pro- 
gram is largely a packaging decision: what 
physical arrangement of the data in the 



106 BYTE December 1977 



IN THE L.A. AREA 



TECH -MART 

• 19590 VENTURA BOULEVARD ■ 

TARZANA, CALIFORNIA 91356 

(213) 344-0153 



IMSAI COMPUTER 

MODEL 8080 MICROPROCESSOR SYSTEM 



$875 



ASSEMBLED 
AND TESTED 



INCLUDES CPU, MAINFRAME WITH 22 CARD SLOTS, FRONT PANEL, 
AND POWER SUPPLY. COMES ASSEMBLED AND READY TO PLUG IN AND ENJOY! 



8K RAM BOARD 



$225 



250 nS 
ACCESS 



LOW 
POWER 



NOT A 
KIT 



ASSEMBLED 
AND TESTED 



• S100 BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS 

• CONVENIENT DIP SWITCH SELECTION OF ADDRESS ASSIGNMENT AND WAIT CYCLES 

• MEMORY PROTECTION DIP SWITCH SELECTABLE IN INCREMENTS OF 256, 512 1K, 2K, 4K, or 8K BYTES 

• FULLY BUFFERED ADDRESS LINES ALLOW USE IN LARGE COMPUTER SYSTEMS 



16K 2708 EPROM BOARD 



INCLUDES ALL SUPPORT CIRCUITRY AND SOCKETS READY TO PLUG-IN 16 2708 IC'S 



$99 



2708'S NOT INCLUDED 



• ALLOWS CONVENIENT STORAGE AND ALTERATION OF YOUR OWN CUSTOMIZED COMPUTER PROGRAMS 

• S100BUS: PLUGS RIGHT INTO ALTAIR/IMSAI, OR ANY COMPUTER USING THE "ALTAIR" BUS 

• DIP SWITCH SELECTION OF MEMORY ADDRESS ASSIGNMENT 

• DIP SWITCH SELECTION OF MEMORY WAIT CYCLES 

• ASSEMBLED AND TESTED, NOT A KIT 



8K 2708 EPROM PROGRAMMER BOARD 



$145 



COMPLETE SYSTEM FOR "BURNING IN" PROGRAMS INTO THE 
ELECTRICALLY ALTERABLE 2708 MEMORY 



2708'S 
NOT INCLUDED 



• S100BUS ALTAIR/IMSAI COMPATIBLE 

• COMPLETE 2708 PROGRAMMING SYSTEM 

• DOUBLES AS 8K NON VOLATILE PROGRAM STORAGE 

• ASSEMBLED AND TESTED, NOT A KIT 



2708 EPROMS $18 50 21L02 250 nS $1 75 



TOP QUALITY PARTS - NOT SECONDS 



74 SERIES IC's 
74LS SERIES IC's 
LINEARS 



COMPLETE LISTINGS 
IN OUR CATALOG 



SOROC IQ-120 TERMINAL 



$995 



• RS-232 COMPATIBLE 24 LINES X 80 CHARACTERS INCLUDING BLOCK MODE OPTION 



8080 A $14 POWER SUPPLY 12 VOLT $9 95 



PER SCI DUAL DRIVE 



$1400 



8-INCH FLOPPY WITH IMS CABINET AND POWER SUPPLY 



Many other parts available — Just call or write for free catalog 



NEW PRODUCTS COMING - WATCH FOR OUR ADS - INFORMATION AVAILABLE 

WE WELCOME INQUIRIES 



Circle 1 16 on inquiry card. 



BYTE December 1977 



107 



YEAR NUMBER 



HECK / YEAR J MONTH J 

ILE A (1,y) \ d.m) \ 



NAME OF MONTH 
BALANCE FORWARD 



DAY 
I1,d) 



DAY NUMBER 



CURRENT BALANCE 



TRANSACTIONS 
(1,1) 



DEBIT 
(0,1) 



CREDIT 
(0,1) 



BALANCE AMOUNT 



CHECK NUMBER 
"TO" DESCRIPTION 



"FOR" DESCRIPTION 
(0,1) 



AMOUNT 



CREDIT DESCRIPTION 
AMOUNT 



Figure 3: The logical data 
base is generated by map- 
ping the data elements 
that appear in the report 
onto the logical data struc- 
ture. 



date 



check or 

deposit 

flag 



computer will best suit the needs of the 
program. The only help I can give you on 
this is the simple suggestion that the physical 
representation should mirror the logical 
representation in all but the most extreme 
cases. These are hardware decisions. You 
may wish to construct a file one way if you 
are using a cassette tape storage system; you 
may construct it another way if you have a 
floppy disk. You would not want to impose 
a file structure that forced a cassette tape to 
behave like a disk by running back and forth 
through the tape at high speed. That is a 
good way to burn up a tape drive in a hurry. 
Ultimately, as memories become faster, 
more versatile and more efficient, the phys- 
ical data base will probably always be able to 
mirror the logical data base. Magnetic bubble 
memories, for instance, have no moving 
parts to burn up. 

In the checkbook balance report program 
the simplest physical data base would be a 
sequential file. The necessary information 
and a brief description of each transaction 
could be stored in the order shown in figure 
4, read left to right. 



description 
field 1 



description 
field 2 



transaction 
number 



H 



Figure 4: A sequential file with a record format such as this is the simplest 
physical data base for the checkbook program. The information that is 
needed has been decided by the logical data base. The order they are put on 
the file depends on exactly what you intend to do. Since in this case we will 
be sorting by date, the date of the transaction appears first on the file. 



Given that we have a file with this 
information on it which is sorted by year, 
month, day and transaction, producing a 
report program is almost a trivial exercise. 

Step Four: Design the Process Structure 

Since in this case we are working with a 
single program, the process structure will 
ultimately represent the program structure. 
Were we designing an entire system, an 
accounts receivable system for instance, the 
process structure would represent many pro- 
grams and the associated system procedures 
that would operate them. The process struc- 
ture is obtained from the same logical data 
structure that the logical data base was 
derived from. 

Referring again to both figures 1 and 2, 
we can begin to design the program from the 
bottom to the top. Looking first at the 
leftmost bracket, which for this step is 
labeled REPORT PROGRAM, we could 
draw a structure thus: 



REPORT PROGRAM 



START PROGRAM < OPEN FILES 



{» 



END PROGRAM < CLOSE FILES 



{< 



Note that program structure is denoted by 
left to right positioning, and that sequences 
of operations are noted top (first) to bottom 
(last). 

We can see that the only thing for us to 
do at the beginning of the program is to 
open the files, and the only thing to do at 



108 



BYTE December 1977 



the end of the program is to close the files 
wc have used. Moving right to the YEAR 
bracket, the process END YEAR must be 
defined. For this program there is nothing to 
do at the end of the year, so we fill in the 
bracket with the notation SKIP. 



YEAR 
(1,Y> 



{• 



For the bracket labeled MONTH, there is 
the matter of printing the CURRENT 
BALANCE at the end of the month. 



EMD MONT 



"{ 



PRINT CURRENT BALANCE 



There are no processes to be performed at 
the end of each DAY, therefore we show the 
END DAY process the same way as the END 
YEAR process. 



{■ 



The TRANSACTIONS process is where 
most of the work is done. For each CREDIT 
or DEBIT, one line and possibly a second 
(for DEBIT) is printed, showing the appro- 
priate information; the running balance is 
updated, and the next record must be read. 



MOVE CHECK NUMBER. 
CHECK "TO", AND 
CHECK AMOUNT 
TO PRINT LINE 



TRANSACTIONS 
11. t) 



DEBIT 
10,11 



CREDIT 
(0,1) 



END 
TRANS- 
ACTION 



SUBTRACT CHECK AMOUNT 
FROM RUNNING BALANCE 

MOVE RUNNING BALANCE TO 
PRINT LINE 

PRINT A LINE 

PRINT SECOND LINE 10.11 

SPACE ONE LINE 



MOVE DEPOSIT AMOUNT, 

DEPOSIT DESCRIPTION 
TO PRINT LINE 

ADD DEPOSIT AMOUNT TO 
RUNNING BALANCE 

MOVE RUNNING BALANCE TO 
PRINT LINE 



PRINT A LINE 
SPACE ONE LINE 



< GET NEXT 



Free Bugbacks. f 




Our Bugback adhesive labels stick to 

their chips, immediately identifying logic 

functions and pin numbers. But even 

without the S6.50 Bugback freebie, our 

Bugbooks are a great bargain. Nine 

books, packed with everything 

to teach you digital and 

analog electronics 

from scratch. 

Bugbooks I & II - 750 

pages, with experiments 

in basic digital electronics 

to sophisticated circuits. 

S 17.00. 

Bugbook MA - Advanced topics 

in digital logic transmission. S5.00. 

Bugbook III - General overview 

of microcomputer systems with 

particular emphasis on interlacing, 

I/O, programming in machine languages 

597 pages. $15. 00. 

Bugbooks V & VI - Digital logic and 

microcomputers from ground zero. 



$6.50 worth 
of Bugback 8 
labels free 
with $35.00 
book purchase. 

Emphasis on self-teaching. No previous 
knowledge ol electronics needed. 
Over 900 pages. SIS. 00. 
BRS-1 - Lab workbook providing theory 
and applications of the 555 timer chip. 
$6.95, 

BRS-2 - Text/workbook covering the best 
design of low-pass, high-pass, 
bandpass and notch filters. 
$8.50 

BRS-4 - OP-AMP and linear 
course. 300 pages. $9.00. 
Select your $35 (or more) 
book value and get $6.50 
worth of Bugbacks now. Send 
check or money order directly 
to E&L Instruments. We'll ship 
postpaid anywhere in continental U.S. 
nn iO® 




^^^tT* 




Please send the following Bugbooks, postpaid. I've enclosed 

$ □ Bugbook l/ll $17.00 □ HA $5.00 □ III $15.00 

□ V/VI $19.00 D BRS-1 $6.95 □ BRS-2 $8.50 □ BRS-4 $9.( 
Name 

Address 

City 



Enclose check, money order or numbers from BankAmericarrJ/ 
Visa or Master Charge We will ship postpaid anywhere in 
Continental U. S. 



Circle 46 on inquiry card. 



BYTE December 1977 



109 



Figure 5: Completed Warnier-Orr diagram for a checkbook balancing report program. This program arrangement will probably 
result in the smallest amount of memory being used. The sequences of operations at any given level (left-right position) are 
read from top to bottom. A level of operations corresponds to a logical level of procedure calls in a block structured program- 
ming language. 



REPORT PROGRAM 



. YEAR 
( I1.Y) 



OPEN FILES 
3EGIN PROGRAM ( SET INITIAL VALUES 
READ FIRST RECORD 



BEGIN YEAR 



r 

BEGIN MONTH 



. MONTH I DAY 

( (l.ml ( II. til 



PRINT HEADINGS 

PRINT STARTING BALANCE 

INITIALISE RUNNING BALANCE 



BEGIN DAY 



DEBIT 
10.11 



, TRANSACTIONS 



CREDIT 
10.1) 



END TRANSACTION 



V 



ENDPROGRAM ( CLOSE FILES 



JD DAY / SKIP 

END MONTH < PRINT CURRENT BALANCE 

( SKIP 



MOVE CHECK NUMBER, CHECK "TO", AND 
CHECK AMOUNT TO PRINT LINE 

SUBTRACT CHECK AMOUNT FROM RUNNING BALANCE 

MOVE RUNNING BALANCE TO PRINT LINE 

PRINT A LINE 

PRINT SECOND LINE (0.11 

SPACE ONE LINE 



MOVE DEPOSIT AMOUNT, DEPOSIT DESCRIPTION 
TO PRINT LINE 

ADD DEPOSIT AMOUNT TO RUNNING BALANCE 

MOVE RUNNING BALANCE TO PRINT LINE 

PRINT A LINE 

SPACE ONE LINE 



f GETN 



EXT RECORD 



With this much of the program design 
done, the only things to be filled in are the 
BEGIN brackets for each level. The entire 
diagram with these processes added is shown 
in figure 5. 

Looking at the Warnier-Orr diagram for 
the checkbook balance program, you can see 
the entire series of events which must take 
place to correctly process the report as it 
was given. Note also that this is the only 
correct structure that will produce the 
checkbook balance report. Any other struc- 



ture that will produce the report is iso- 
morphic to this structure. The structure is 
also optimal in operation, in the sense that 
nothing is ever done unless it must be done. 

The program which is coded from this 
structure will also have some predictable 
features. It will run as quickly as possible. It 
will usually require the least amount of 
storage. It is very easy to maintain, and it 
will run correctly at the first effective trial. 
Not bad dividends for a half hour of extra 
work. Syntax runs are not effective trials, 
but, with a little diligence and effort, syntax 
errors can also be brought under control. 

Next month Part 2 will show how easy it 
is to fill in the details of structured programs 
using Warnier-Orr diagrams." 



110 



BYTE December 1977 




Dynabyte builds the Great Memory 



.We cut up a Dynabyte 1 6k. P 
dynarnicRAMbidafd and con : 
shuctedthis pyrarrifd to illustrate 
an ir^portajfit point: Dynabyte -%; .-. 
designs.and builds memory boards, 
.with the sameunAatchedenjji^ ' 
neefjng^biiity and [technical skill' -! 
that wentinto'Egyfit'S Qfeat '.v4 \ • 
, Pyramid. : '• ,'.' •> .''''. . V'. ''" ' .-' t '' - -" ■ '' 
' ; ■', ,On:edf 'the seyehw|$ndersQf ... < 
the ancient worldj the Great <"'■: ' • t 
Pyrahiid has been standing on the J ; 
de|e/tforarrincredibte4,40CJ* ; * ' 
years. Although its enormous base 
coders 1 3, acres,Jt Is perfectly * 
square. Rising 450 feet, it is as tall 
as a 3 7 stOfy building. Over 2.3 
million blocks of stone were used, 
each averaging 2% tons. Some 
weigh 1 6 tons. Despite their size, 
they fit together with a tolerance 
that is less than half the width of a 
human hair. 

Dynabyte builds its 16k 
dynamic RAM boards with the 
same exceptional precision 
and care. Their reliability is as 
solid as a rock. 

Dynabyte's design meets rigid 
industrial grade standards. The 
design is so good, in fact, that one 
of the largest, most experienced 
electronics manufacturers has 
tried to imitate it. (We were 



flattered but not surprised; we . ; 
know how good It is.) * 
' ; More than i4Q0miGrocompu^ 
ter owners also know how good it 
- IjK' Dynabyte'sT 6k dynamic is 
running in more systems than any 
other dynamic memory onthe 
market. -'.-'' ■'.':■•'-, «. 

/We select the best components 
We carrpuy to build the 16k dynam- 
ic, because solid parts make a solid" 
memory.. Our memory chips, for 
example, are factory, prime from , 
National Semiconductor. 
i Dynabyte was the first to 
deliver 16k dynamic RAM's 
assembled, tested and burned 
in. And at a price competitive with 
kits! Each board's complete 
function is confirmed by three 
stages of testing and a burn in 
cycle that runs 72 hours at 70° C 
(158°). 

When we build them that 
solid we can guarantee them 
for a full year. 

If a Dynabyte board ever needs 
repair, we provide factory service 
with a 24 hour turnaround for both 
warranty and non-warranty work. 

The Dynabyte 1 6k dynamic 
has the widest compatibility of any 
dynamic memory. So it will work in 
your system. 



* .7 TKe Great Memory by / • 
Dynabyte lis a solid buy. Arid ah" 
economical bne^ Effective October 
X, the Tjew Manufacturer's " 
Suggested Prfce is reduced frofh 

• $485 to $399.- :-:{i -v-V-.,: /■;;'; 

•Ask for the Great Memory by 
Dynabyte at your local computer 
store. If it isn't in stock, telf the 
•owner -that he missed another • 
Dynabyte sale, and order direct. * 
Telephone (4 1 5)494-78 1 7. Cable 
DYNABYTE. Or mall to Dynabyte, 
Inc., 4020 Fabian, Palo Alto, CA ~ 
94303. 

Specifications: 16,384 bytes, National 
Semiconductor MM5271 chips, S-100 com- 
patible, 350 nsec. access time, 550 nsec. 
cycle time, transparent refresh, no wait states 
for 2 MHz 8080 processor, on board clock, 5 
watts power consumption, 1 MHz direct mem- 
ory access, 16k addressing, solder masked, 
assembled with sockets, tested, burned in, 
guaranteed one year. 

Dynabyte 

Builders of the Great Memory 




Circle 43 on inquiry card. 



BYTE December 1977 111 



Part 2: 



Simulation Of Motion An Automobile Suspension 



Stephen P Smith 

POB 841 

Parksley VA 23421 



Have you ever taken your system out to a 
club meeting or demonstration, only to find 
that something is ruining your car's hand- 
ling? Was it because of the heavy power 
supply in the back seat? Would heavy duty 
shock absorbers help? You can answer these 
questions using your personal computer and 
the simulation techniques found here. 

Last month [page 18], I introduced some 
basic ideas used in simulating motion. A 
games application was used as an example. 
This month I'll expand on that base, explain 
some additional ways that forces can act, 
and demonstrate a more accurate technique 
for computing speeds and positions. The 
example I'll use will be a simulation of an 
automobile suspension and its response 
to a varying road surface. Automobile 
enthusiasts will be able to see how different 
springs and shock absorbers would affect 
the way a car rides. More important, all 
computer users will acquire some additional 
tools to use in their own simulations and 
gain insights into new applications for their 
personal systems. 

First, let's review the basic points made in 
the last article. When beginning a simulation, 
you will first divide the motion being 
simulated into degrees of freedom. In other 
words, you will decide which motions 
you want to simulate, up and down, side 
to side, etc. From then on, calculations 
will be made separately for each degree of 
freedom. Next you will decide which 
forces are acting in each direction and 
determine how much each force would 
change the speed of some object in 1 second. 
If you use the metric system of units, the 
change, or acceleration (in meters per 
second per second), will be exactly equal to 
the force (in newtons) divided by the mass 
of the object (in kilograms). You will now 
be ready to predict the speed and position of 
the object at a step of D seconds into the 
future. Add up the effects of the individual 
forces. Multiply the total by D (the step 
size) and add the product to the present 



speed. This is the speed of the object at a 
time D seconds into the future. Now multi- 
ply the speed by D and add that product 
to the present position. This is the position 
the object will take in D seconds. The 
simulation program will now calculate new 
values for the forces and mass and step the 
simulation forward once more. The process 
will continue until an end condition is 
reached. 

In the lunar lander game simulation, two 
degrees of freedom were considered, up and 
down, and side to side. The up and down or 
vertical motion was affected by gravity and 
thrust. The side to side or horizontal motion 
was affected only by thrust. Both of these 
forces were determined independent of the 
speed and position of the lander. Gravity 
provided a constant change in speed, and 
thrust was controlled by the user. In this 
article we will explore variable forces which 
are not determined by the user, but directly 
by the speed and position we are simulating. 

As mentioned earlier, the example we'll 
use is an automobile suspension, the parts 
which connect the wheel to the body. The 
most important of these parts are the spring 
and the shock absorber. We will assume 
that there are other parts which keep the 
wheel from moving back and forth, but 
only the wheel's up and down motion 
will be considered (see figure 1). Of course, 
the entire car can also move along the road. 
We will consider that as a second degree of 
freedom. Let's examine separately the 
forces that contribute to vertical and 
horizontal motion. 

Motion down the road results when the 
car's motor, through the wheels, pushes 
the car forward. Air resistance and rolling 
friction try to slow it down. To simplify 
the simulation, we will assume that these 
forces balance each other exactly. This 
means that the speed along the road will 
not change. If the speed starts at some 
value other than zero, the horizontal posi- 
tion will change. As we will see later, the 



112 



BYTE December 1977 



Y-+.08 
Y=-.08-0 



s® 



y^. 



10 / 

BUMP 



sy 




SHOCK ABSORBER 



HORIZONTAL 

VELOCITY 

(X) 



FROST HEAVE ? 
ROAD SURFACE LEVEL MODEL 



Figure I : A conceptual model of the "automobile" (unicycle, rather) which is modelled in the sample program of listing 1 as 
discussed in this article. The wheel in this model tracks the road surface exactly, and has its own vertical velocity due to the 
horizontal velocity interacting with bumps in the road. The actions of the wheel In turn couple through the spring and shock 
absorber suspension to the "body" of the automobile. The purpose of this simple model is to calculate the vertical position 
of the car body at any given point down the road, given the effects of gravity, shock absorber, spring and excitement provided 
by the bumps and holes. The table in the figure is taken from lines 605 and 606 of the BASIC program of listing 1, and is used 
to plot the road surface. A better dynamic model of a car would have many more degrees of freedom than this simple model. 



simulation program must keep track of the 
position along the road, because it will 
determine how the wheel, and in turn 
the body, moves up and down. 

In the vertical degree of freedom we will 
need to consider gravity. You will remember 
from the last article that to simulate gravity 
a program subtracts a constant value from 
the speed for each unit step. (Speed and 
position are considered positive if they are 
directed upward.) On the earth the gravita- 
tional acceleration constant is 9.8 meters per 
second per second, so for each second of 
simulated time, velocity changes by 9.8 
meters per second. Since the car obviously 
does not continue to move downward, there 
must be other forces balancing gravity. 
These are produced by the spring and shock 
absorber, and are determined by the vertical 
speed and position of the body. 

Let's examine the spring first. At its nor- 
mal length (often called the free length) a 
spring produces no force at all. If it is 
compressed, in other words forced to be- 
come shorter, it will push back on whatever 
is compressing it. The shorter the spring 
is forced to become, the harder it will push 
back. This is an example of a force that 
depends upon position. In the automobile 
example, as gravity pulls the body down, 



the spring is compressed. The spring begins 
to push upward on the body, and at some 
point the two forces balance each other. 
The body will eventually come to rest there. 

Knowing a little information about the 
spring we can compute that point. Springs 
produce forces which are equal to the dis- 
tance they are compressed times a constant. 
The metric units for the constant are new- 
tons per meter. Sample values are shown in 
table 1, column a. Suppose that gravity 
exerts a force of 5000 newtons on the car 
body; then a spring with a constant of 
100000 newtons per meter would have to be 
compressed .05 meters (100000.x.05=5000.) 
to balance the pull of gravity. At this point 
the system would be in equilibrium. 

What about the shock absorber? It was 
designed to produce a force that depends 
not on how far it is compressed, but on how 
fast it is being compressed. The faster you 
try to move it, the harder it resists being 
moved. Like the spring, a constant is used 
to calculate the force, this time multiplying 
the speed. The metric units for this constant 
are newtons per meter per second and some 
representative values are shown in table 
1, column b. At equilibrium there is no 
motion, so the shock absorber produces no 
force. If you were to push down the car 



BYTE December 1977 



113 



Vehicle 



Full size car (LTD, etc) 
Intermediate (Torino, Cutlass, etc) 
Compact (Nova, Aspen, etc) 
Subcompact (Vega, Pinto, etc) 

Add 20% for heavy duty suspension. 

Subtract 20% for front wheel. 



(a) 

Spring 



3200 
3000 
2800 
2600 



(b) 



Damping 



1450 

1200 

1000 

700 



Table I: Representative 
spring and damping con- 
stants for automobiles. 
The units are metric: the 
spring constant is quoted 
as newtons per meter of 
compression; the dampling 
constant is expressed as 
newtons per meter per 
second. 



Table 2: A sample road 
surface table. This table 
is used to draw the sur- 
face curve shown in 
figure I. 



Horizontal 


Road 


Position 


Surface 





0.0 


10 


0.0 


12 


0.08 


13 


0.08 


14 


0.0 


20 


0.0 


21 


-.04 


22 


-.04 


23 


-.08 


24 


0.0 


30 


0.0 


50 


0.1 


51 


0.0 


100 


0.0 


14 BYTE December 


1977 



body at a speed of 2 meters per second, a 
shock with a constant of 50 would resist 
that motion with a force of 100 newtons 
(50 x 2). When you let up on the body, 
the spring would exert a greater force than 
gravity and the body would move upward. 
The shock absorber would also resist that 
motion. This action is called damping. The 
damping in an automobile suspension must 
be carefully chosen so that the body returns 
quickly to equilibrium, but does not con- 
tinue to bounce back and forth for very long 
afterward. 

Armed with your present knowledge of 
simulation you should be ready to make 
just such a choice using a trial and error 
approach. Calculate the forces on the body, 
and then use them to find the speed and 
position one step into the future. That speed 
and position will be used to calculate new 
values for the forces, which in turn will be 
used to step the simulation forward once 
more. Repeating the process continuously, 
you will simulate the motion of the car 
body. Try different values for the spring and 
damping constants until the desired output 
is achieved for a given set of inputs. 

The inputs, you'll remember, are going 
to be determined by the simulated position 
in the horizontal degree of freedom. At each 
position along the road the input routine 
will determine the height of the road surface 
above or below normal. If we assume that 
the wheel does not leave the road this will 
also give us the up and down motion of the 
wheel. The data can be stored in a table 
in memory. By entering different values for 
the horizontal speed at the start of the 
simulation, we can also vary how fast the 
car will pass over our model road. At each 
step the program will enter the table to find 
the road height which corresponds to the 
current horizontal position. 

This method will work as long as there 
is an entry in the table for every horizontal 
position we will find. That could be a very 
big table, especially if the step size is small. 
To eliminate the need for large tables, we 
can use a technique called interpolation. 
Very simply, interpolation is done like this. 
When the program enters the table, but 
doesn't find an entry exactly equal to the 



current horizontal, it finds the next smaller 
entry and the next larger entry. An inter- 
polation formula is then used to figure out 
where the present position falls between 
the two table entries, and to calculate the 
road surface which lies at the same point 
between the corresponding table entries 
of road height. For example, suppose a 
program entered table 2 to find the road 
surface corresponding to a horizontal 
position of 11. It would find entries at 
10 and 12 with corresponding road heights 
of 0.0 and 0.08. Because 11 lies halfway 
between 10 and 12, the interpolation 
formula will find a corresponding road 
surface that lies half way between 0.0 and 
0.08 or 0.04. There are other interpolation 
formulas that use three, four, or more of 
the table points, but this method using two 
is generally accurate enough with a reason- 
ably detailed table. To simplify your 
implementation of interpolation, I have 
included a BASIC function in the program 
of listing 1 which uses the 2 point method. 
Users can simply place their own tables 
in the data statement and use the function 
in their programs, or they can follow 
through the equations and implement them 
directly. 

In our automotive simulation, the inter- 
polated table data will give us the vertical 
road and wheel position. The difference 
between this and the vertical position of 
the body will be the amount the spring is 
compressed. We can quickly calculate the 
resulting force. If the simulation program 
retains the wheel's position from the pre- 
vious step, it can also calculate the wheel's 
vertical speed. Reversing the equation used 
to find a new position, the speed is equal 
to the difference in the two positions 
divided by the step size. If the wheel moved 
from .08 meters to .04 meters in a step of 
0.01 seconds, its speed would be (.04-. 08)/ 
.01 = -4.0 meters per second. The difference 
between this speed and the speed of the 
body is used to calculate the force produced 
by the shock absorber. All these calculations 
are included in the BASIC program of listing 
1. Readers who want more detail on the 
equations will find them there as well- 
commented program statements. 

Also in that program is a new method for 
computing speeds and positions. The 
equations used in the lunar landing game 
worked fairly well when the forces did not 
depend upon the speed and position. In this 
simulation they do, and even small errors 
can snowball if not corrected. To do this, 
we will use a powerful numerical technique, 
one which uses the results from three pre- 
vious steps to help predict the next, and 



Application Software ! 



"ASIc 

S()| TWAIO; 
1 -IMKARV 



l ""« m 




— •» «.w. 




t BASIC 

SOFTWARE \ 
LIBRARY 



VOLUME II 






12" 




You can 
buy software 
from anybody - 

but ours works 
in your system. 

We only sell one product, 
Quality. 

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: 

• Versatile — as most programs allow for multiple modes of 
operation. 

• Tutorial — as each program is self prompting and leads you 
through the program (most have very detailed 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, simul- 
taneous 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. 

• Virtually Machine Independent — these programs are written 
in a subset of Dartmouth Basic but are not oriented for any 
one 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 differ- 
ent Basic's; thats right, just look it up and make the sub- 
stitution 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. 

Over 85% of our programs in the first five volumes will execute in 
most 8K Basic's with 16K of free user RAM. If you only have 4K 
Basic, because of its' lack of string functions only about 60% of our 
programs in Volumes I thru V would be useable, however they 
should execute in only 8K of user RAM. 

All of our programs are available on machine readable media. For 
those that have specific needs, we can tailor any of our programs for 
you or we can write one to fit your specific needs. 



Vol. 1 — $24.95 


Vol. Ill — $39.95 


Bookkeeping 


Advanced Business 


Games 


Billing, Inventory 


Pictures 


Investments 




Payroll 


Vol. II — $24.95 


Vol. IV — $9.95 


Math/Engineering 


General Purpose 


Plotting/Statistics 




Basic Statement 


Vol. V — $9.95 


Def. 


Experimenter's 




Program 



SCIENTIFIC RESEARCH 

220 Knollwood, Key Biscayne, FL 33149 

Phone orders call (800) 638-9194 
Information— (305) 361-1153 

Add $1 .50 per volume handling, all domestic shipments sent U.P.S. except 
APO and P.O. Box which go parcel post. Foreign orders add $8.00/volume 
for air shipment and make payable In U.S. dollars only. 

AVAILABLE AT MOST COMPUTER STORES 

Master Charge and Bank Amerlcard accepted. 

Our Software is copyrighted and may not be reproduced or sold. 




BYTE December 1977 



115 



which then goes back and corrects the 
step when the predicted results are available. 
It is called, logically enough, a predictor- 
corrector method. Rather than attempt 
to explain it here, I'll provide a BASIC 
programming example which you can 
adapt to your own simulations. Readers 
with a good background in math may wish 
to reference a book on numerical methods 
for more details. In either case you will 
have acquired a tool which will be very 
useful in future simulations. 

Looking back over the two articles 
you should begin to see some ideas for 
your own simulations. They could involve 



forces which are constant, user controlled, 
or which depend directly on the motion 
you are simulating. Inputs can come from 
your keyboard, from an analog device such 
as a joystick, or from tables interpolated 
by your program. The outputs might tell 
you how well you are playing a game, or 
which of several configurations is best 
for a design you are contemplating. In the 
next article I'll continue to expand on the 
types of forces considered. In particular, 
I'll show how you can handle forces which 
act in more than one degree of freedom 
and suggest some ways to handle rotary 
motion." 



189 REM SET PROGRAM CONSTANTS 

lie ki«- leeeee 
i2e K2--2eee 
138 H'see 
ue y-ie 

158 D-8.85 

151 REM SET INITIAL SPEED AND POSITION 

166 T-6 

178 P1»9.8*H^K1 

171 Sl-6 

172 REM FIND INITIAL ROAD SURFACE 

175 1 1-9 

176 Xl»8 

177 Yl»8 

178 X-8 

182 GOSUB 606 

183 I2»<Y-I1)/D 

184 I1«Y 

185 REM CALCULATE INITIAL FORCES 

186 FWPl-inm'H 

187 F2><Sl>I2)*K2<fl 

188 A1-F1+F2-9.8 

189 REM SET PAST DATA EQUAL TO INITIAL DATA 
196 S2-S1 

286 S3-S1 
216 S4-S1 
238 A2«A1 
248 A3>A1 
296 A4-A1 

259 REM BEGIN SIMULATION 
268 REM PREDICT SPEED AND POSITION 
276 S"S1+D/24*(55*A1-59*A2+37*A3-9*A4> 
286 P-P1+D'24*<53*S1-39*S2+37*S3-9*S4> 

281 X-X+U*D 

282 REM FIND HEM ROAD SURFACE 

283 G0SU6 606 

284 I2«<Y-I1VD 

285 Il-Y 

296 REN PREDICT NEW FORCES 

291 Fl-<P-U>m/H 

292 F2»<S-I2)*K2/H 
306 A m Fl+F2— 9.8 

316 REN CORRECT SPEED AND POSITION 
320 S'Sl<H>'24t(9*A+19*Al-5*A2+A3) 
330 P-P1+D/24»<9*S+19*S1-5»S2+S3> 

340 REM CORRECT FORCES AND UPDATE SAVED DATA 

341 F1-(P-I1>«K1/N 

342 F2-<P-I2)*K2/N 
350 A4-A3 

360 A3-A2 

370 A2-A1 

380 A1-F1+F2-9.8 

390 S4-S3 

400 S3-S2 

416 S2-S1 

420 Sl-S 

430 Pl-P 

446 T-T+D 

490 PRINT T,S1,P1 

460 IF X<160 THEN 270 

470 END 

668 REM INTERPOLATE TABLE TO FIND 
661 REM VALUE OF Y CORRESPONDING 
682 REM TO GIUEN UALUE OF X 

665 DATA 6,8, 1616. 12.8.68, 13,8.66, 14,8, 28, 0,21 , -6.84 

666 DATA 22,-6.64,23,-0.08,24,0,30,0,50,0.1,51,6,100,0 
611 REM TABLE FORMAT IS X< 1 >, Y<1),X(2), Y<2>, ... 

626 IF X<X1 THEN 676 

636 X2-X1 

646 Y2-Y1 

636 READ XI, Yl 

666 GO TO 626 

676 Y»Y2+<Y1-Y2)*<X-X2)/(X1-X2) 

686 RETURN 



Automobile Suspension Simulator 

Listing 1 : This program was written to help interested readers 
follow the mathematics of the accompanying article. Particular 
attention should be paid to the interpolation subroutine and to 
the equations for the predictor-corrector method of predicting 
future positions and velocities. The program was not intended to 
be efficient; readers will surely be able to shorten it once the 
method is understood. The following table defines the variable 
names I've used. 

Kl = spring constant 

K2 = damping constant 

M = mass supported by the spring 

V = horizontal speed of the entire car 
D = time step size 

T = elapsed time in the simulation 

P, S, A = predicted values for vertical position, speed, and 

total effect of forces 
PI, SI, Al = present values of vertical position, speed, and 

total effect of forces 

52, A2 = speed and effect of forces one step past 

53, A3 = speed and effect of forces two steps past 

54, A4 = speed and effect of forces three steps past 
Fi = change in speed due to spring 

F2 = change in speed due to damping (shock absorber) 

11 = current vertical position of the wheel 

12 = current vertical speed of the wheel 
X = current position of car along the road 

Y = road height at position X 

XI , Yl, X2, Y2 = table entries for positions immediately 
greater than and immediately less than the current value 
ofX 

I expect it will occur to many of you that graphic rather than 
printed output will make this program much clearer. The wave- 
form produced by a plot of the data would give you a much 
better feel for the motion of the car body. For the example in 
this listing, try plotting position from -0.1 meter to +0. 1 meter 
versus time from to 100 seconds. 

One final note: to avoid losing data, it is important that the 
interval between points of the table in the interpolation subrou- 
tine is larger than the distance the car moves in one step. In other 
words, if you want to model a road that changes rapidly, you will 
have to reduce the step size (D) to a value less than the minimum 
of(X(n)~ X(n+i))IV. 



116 



BYTE December 1977 



Ximedia Presents . . . 

a reliable small business disk system 
for both word processing and computation 

Ximedia Systems stress reliability and performance at an affordable price. That re- 
quires hundreds of product evaluations. It also requires a strong commitment to 
selling only those components which have operated dependably in business or pro- 
fessional applications. The Small Business Disk System (SBD-I) is that kind of system. 



OPERATIONAL CAPABILITY 

The SBD-I system is designed for the professional for 
such tasks as word processing, accounting, inven- 
tory control, and other business-related activities. 

We like this system for a number of reasons. First, 
the North Star Disk-Operating-System (DOS) with 
extended disk BASIC is excellent. It's as bug free as 
any BASIC now in use. Also, it's a truly extended 
BASIC with features like formatted output, callable 
machine language subroutines, random and sequential 
file access, and a powerful line editor. 

On the hardware side, we have found all the North 
Star products to be well-engineered, well-designed, 
and extremely reliable. The Micro-Disk System, 
around which the HORIZON is built, was the first 
mini-floppy system commercially available, and is still 
the leader. Each 5/2" diskette will hold 90K bytes of 
data, which means about 50 pages of text per disk, 
perfect for word processing. We've included 32K 
of Crea/Com dynamic memory which is in our exper- 
ience, one of the better dynamic boards around. They 
require low power, they're fast, and they use a good 
refresh scheme. For memory, 32K should be plenty 
and the HORIZON is expandable up to 65K and 
beyond! 

The combination of 32K of Ram, 180K of Disk, Z-80 
speed and the FOX-1100 make SBD-I system a 
powerful tool for the professional user. It's a good 
medium-sized system that can be expanded to in- 
clude more memory, more disks, and other S-100 
accessories when and if they become necessary. 



TECHNICAL CAPABILITY 

The North Star HORIZON computer is built around 
the highly successful Micro-Disk System. The CPU 
card is based on the Z-80 microprocessor, and de- 
signed to run at a full 4 MHz. It also features a jump- 
on-start circuit to pull in the disk bootstrap on power- 
up. 

The HORIZON motherboard has an on-board serial 
interface with room to add another serial and/or 
parallel I/O port. The Crea/Com memory is a very 
fast (250s) dynamic ram board with lots of features. 
First, the refresh is handled by an on-board processor 
and is fofa//y invisible to the main processor. Other 
goodies include a pin 67 phantom line, full or partial 
write protect, no wait states (even at Z-80 speeds), 
and guaranteed tested, burned in factory prime chips. 

The Perkin-Elmer FOX- 11 00 is a super high quality, 
low cost CRT terminal that's a cut above the com- 
petition. The first big improvement is the 9x1 2 matrix. 
This means terrific readability and lowercase char- 
acters that descend! Other features include a 
hooded, eye-level display, black-on-white or white- 
on-black display, full 96 character ASCII character 
set, direct cursor addressing, 80x24 display, re- 
settable tab stops, Typamatic auto repeat, wrap- 
around or scroll modes, and a debug mode for 
displaying control characters. All in all, the FOX is a 
superior terminal designed for the serious user and 
built to take abuses of day in and day out use. 

The alternate SBD-IP system includes a 55 CPS 
daisy-wheel printer for letter quality hard-copy output. 




SMALL BUSINESS DISK SYSTEM SBD-I 



QUANTITY 



1 

3 

1 
1 

1 set 
1 set 



DESCRIPTION 



North Star HORIZON -2 computer 
(without memory board) 
Extra card guides and connectors 
Crea/Com 32K fast dynamic memory 
Perkin-Elmer FOX-1100 CRT terminal 
Interconnection cables 
Ximedia proprietary system docu- 
mentation 



TOTAL SUGGESTED RETAIL 



SUGGESTED 
RETAIL 



$1,949.00 

21.00 

885.00 

1,440.00 

25.00 

50.00 



$4,370.00 



CONVENIENT ORDERING: Toll free number. Prepaid, 
Mastercharge, and Visa orders shipped free; others 
freight-collect. Most orders shipped from stock. If not, 
we will notify. California residents add 6% sales tax. 



Fully Assembled and Tested XIMEDIA SYSTEM PRICE- $3,975.00 



XililEDiA 

1290 24th Avenue 

San Francisco, California 94122 

(415) 566-7472- Toll Free (800) 227-4440 



Circle 132 on inquiry card. 



BYTE December 1977 



117 



A Little Bit on Interrupts 



Robert R Wier 

POB 9209 

College Station TX 77840 



While talking with fellow enthusiasts at- 
tending meetings of computer clubs, there 
seem to be several aspects of small computer 
systems which are particularly confusing to 
newcomers to the hobby. One of these is 
interrupts. This article explains how the 
mechanisms of interrupts work, and what 
can be done with them in a personal com- 
puter system. 

History 

When computers first came into wide- 
spread use, they ran primarily on card or 
tape batch principles. The operator had long 
lists of instructions which told him which 
card decks to use to run which jobs. Each 
job had to be set up independently, which 
was okay as long as this setup time was 
short in relation to the amount of time each 
job ran. A desired goal was to keep the 
machine running as much as possible. As 
technology advanced and job run times be- 
came shorter, setup time became a signifi- 
cant fraction of the total job run time. It 
was clear that if the machine could take over 
some of the chores of the operator, but at 
machine speed, the utilization of the system 
could be increased. Accounting and setup 
procedures could be accomplished by pro- 
grams stored inside the machine, and then 
the computer could request the operator to 
perform only those duties that actually re- 
quired human intervention (such as mount- 
ing a disk pack). Thus programs called 
"operating systems" came into use. About 
this same time, it was realized that if such a 
machine were going to run jobs under an 
operating system, there had to be some way 
to return control to the operating system 
should the program encounter difficulties. 
That is, the operator should be able to jerk 
control of the machine away from the pro- 



gram currently running and give it to the 
operating system without having to go 
through the process of clearing the machine 
and reloading the operating system manually 
each time. Another problem emerged at this 
time with the fact that as the central proc- 
essing unit improved in efficiency due to 
the faster technology, the devices used for 
input and output, called peripherals, re- 
mained at about the same speed. Therefore, 
if the central processing unit had to wait for 
the completion of an input or output opera- 
tion, it would just sit there testing and 
retesting to see if the program could pro- 
ceed. This was frequently called a "busy 
wait loop," or "spin lock." It is a technique 
which is still frequently used in microproces- 
sor systems. 

Clearly, since 10 operations were so slow, 
it would be nice if the processor could 
simply request the 10 hardware to input to or 
output from memory directly without proc- 
essor intervention. Then the processor could 
go on and perform useful computations 
while the 10 operation was in progress. Of 
course this required considerably more 
sophisticated 10 hardware than was in use 
previously, when the processor orchestrated 
every data transfer. But since the 10 hard- 
ware didn't need to be able to perform com- 
plicated arithmetic functions it could be 
regarded as a "mini" central processing unit 
or (Aha!) microprocessor. Indeed, the 
original purpose of the microprocessor chip 
which has made our hobby possible was to 
produce cheap, reasonably smart peripheral 
systems at low cost. That is, each 10 channel 
would have its own smaller processor to 
handle only data transfers between an IO 
device and memory. A little thought will 
reveal a problem, however. If the processor 
simply starts an 10 operation and then 
pursues other matters, how does it know 



118 



BYTE December 1977 



Everything you've ever 

wanted to Know about 
microcomputers in 

ONE complete book 

for only $10.95 



Over 400 pages. Full 8V2" x 11" size. 



The ultimate book 
about microcomputers. 
Written by experts 
. . . SCELBI and BYTE. Over 
400 pages. A collector's item, 
featuring The Basics 

from the first 16 issues of BYTE and SCELBI's 
classic library of books. Your microcomputer 
bookshelf is incomplete without this priceless edition. 




You can't buy information 
organized like this any- 
where. This is the book 
that everyone who is into micro- 
computers needs for reference, 
for ideas, for clues to problem 
solving. It is a truly authorita- 
tive text, featuring easy-to-read, 
easy-to-understand articles by 
more than 50 recognized pro- 
fessional authors, who know and 
love microcomputers from the 
ground up. Logical and com- 
plete, it features many glos- 
saries, and is illuminated with 
profuse illustrations and photo- 
graphs. 

The Scelbi/BYTE Primer is 
divided into four logical sec- 
tions, that take you from point 
"0" through building and pro- 
gramming your own computer. . . 
step-by-step-by-step. 

What can you do with a micro- 
computer? Checkbook balanc- 
ing. Recipe converting and food 
inventory. Heating and air condi- 
tioning control. Home and busi- 
ness security and management. 
Playing the ponies. Analysis of 
the stock market. Maintaining 
massive data banks. Self-instruc- 
tion. Toys and games. Small 
business accounting and inven- 
tory. And lots, lots more. 

Circle 98 on inquiry card. 



How does a microcomputer do 

it? Lots of "how to" theory. In- 
troducing you to microcomputer 
operation. 6800, 6502, Z80 CPU 
chip capabilities. RAM and ROM 
memories. Addressing methods. 

Ill 

YHiiimi 
Pamirs 

Over 400 pages. Selected articles 
from BYTE and SCELBI books. 
Profusely illustrated. Many 
photographs. $10.95, plus 500 
shipping and handling. 

How to control peripherals. 
Transmission of information to 
and from computers. Magnetic 
recording devices for bulk stor- 
age. Analog to digital conver- 
sion. How a computer can talk. 
Other I/O techniques. And more. 

Order your copy today! 

SCELBI COMPUTER 
CONSULTING INC. 

Post Office Box 133 PP STN 
Dept. B 



Milford, CT 06460 



BITS 

70 Main Street 
Peterborough, NH 
03458 



Prices shown for North American customers. 
Master Charge. Postal and bank Money 
Orders preferred. Personal checks delay 
shipping up to 4 weeks. Pricing, specifica- 
tions, availability subject lo change without 
notice. 



**** 



All about building a micro- 
computer system. Over 12 com- 
plete construction articles. Flip- 
flops. LED devices. Recycling 
used ICs. Modular construction. 
Making your own p.c. boards. 
Prototype board construction. 
Make your own logic probes. 
Construction plans for 6800 and 
Z80 computers. Building plans 
for l/Os — TV and CRT displays, 
cassette interfaces, etc. Mathe- 
matics functions. ROM program- 
mer. Plus much, much more. 

How to program a micro- 
computer. Programming for the 
beginner. Assembling programs 
by hand. Monitoring programs. 
Number conversions. Game of 
Hexpawn. Design your own as- 
sembler. Lots more. 

And that's only the beginning! 
Others have spent millions ac- 
quiring the type of microcom- 
puter information found within 
the 400 pages of The Scelbi/ 
BYTE Primer. But, it costs you 
only $10.95, plus 500 for postage 
and handling, complete! You 
know the quality of Scelbi and 
BYTE. This is your assurance of 
excellence throughout this MUST 
text. Order your copy today! And, 
get one for a friend! 



BYTE December 1977 



119 



Figure I: What happens 
when an 8080 interrupt 
occurs. The interrupt sig- 
nal occurs first at some 
external device. Then, 
external circuitry creates 
an interrupt signal and 
sends an RST instruction 
to the processor as the 
second step. As a third 
step the old program 
counter information is 
saved on the stack to allow 
later return. Then, the 
fourth step which is part 
of executing the RST in- 
struction is to jump to 
one of eight possible re- 
start locations in the first 
64 bytes of memory ad- 
dress space; if the eight 
bytes are not sufficient, 
step five, shown here, is a 
Jump to an extension of 
the interrupt routine. 
Responsibility for saving 
the state of the processor 
(beyond the return from 
subroutine pointer pushed 
automatically into the 
stack by RST n) is up to 
the programmer coding 
the interrupt response 
routine. 



when the 10 operation is finished so that it 
may use the data input, or refill the buffer 
just output. What if the drive mangles the 
tape and the data has to be output or input 
again? What was needed was the ability for 
the 10 processor to be able to tap the 
central processor on the shoulder and say 
"I'm finished," or "I fouled it up." 

There was also the problem of real time 
applications which, depending on the sys- 
tem, needed the computer to be able to 
detect some condition, make a decision, and 
act on it quickly. If you had a big busy wait 
loop, where several instructions were 
executed in the loop between each checking 
of the status of each separate input signal, 
your refinery's catalytic converter might go 
critical before the computer even checked to 
see if something was wrong, a disquieting 
development. 

What Interrupts Do 

So, interrupts were devised. Indeed, some 
computer scientists feel that the major dif- 
ference between the second and third 
generation machine was not only the transi- 
tion to integrated circuitry, but the advent 
of the interruptable machine as well. But 



exactly what happens when something from 
the outside world, or a condition internal to 
the processing, wants attention? 

Suppose the processor is hardwired with 
at least one interrupt line, and probably 
more. When an interrupt occurs, the desired 
effect is to: 

• Store all the information regarding 
the presently running program which 
is necessary to resume execution at 
the same point some time in the 
future, so as not to have to start it 
over again from the beginning. This 
includes the program counter, any 
status information, and, optionally, 
the processor registers. This "state 
saving" activity must be complete or 
unpredictable behavior can ensue upon 
return to the interrupted process. 

• Insert into the program counter the 
address of the first instruction in the 
interrupt program which will handle 
the condition which caused the inter- 
rupt. When the interrupt routine is 
finished, the status register(s), program 
counter, and processor registers of the 
interrupted program may be restored 
and the interrupted program resumes 



INTERRUPT 

* 

SOURCE 




EXTERNAL LOGIC 
TRANSFORMS 
INTERRUPT INTO 
"RST" INSTRUCTION 
REQUEST 



8080 
PROCESSOR 



120 BYTE December 1977 



More Than Just Hardware. 



When you put the MSI 6800 Computer 
System together with our FD-8 Floppy Disk 
Memory, you have the best 6800 hardware 
package available today. 

But to make a computer system work, 
you need more than just powerful hardware, 
you need powerful software . . . and MSI has 
what you need. 

MSI Disk Extended BASIC Available In 
Both Compiler and Interpreter Versions 

The new Software Dynamics BASIC 
Compiler is now available from MSI in an FD-8 



business applications. 

The ExceUent TSC Editor In An FD-8 
Disk Version 

TSC's new text editing system is clearly 
the most powerful editor available for any 
microcomputer system. The FD-8 disk version 
allows you to edit and assemble long source 
files from disk and to place object code on disk 
as well. 



MSI Reverse Assembler 

Our Reverse Assembler for the FD-8 allows 
disassembly of object code programs, complete 
with creation of symbol tables, labels, and equate 
statements. The source code is placed on disk 
where it can be edited and reassembled. 

Interpretive Debugger 

An Interpretive Debugger is now available 
for MSI and SWTP 6800 systems. IDB is the 
most complete debugging package ever released 
for 6800 systems. 

Hardware and software . . . MSI offers a 



new 1978 Catalog and get all the details about 

■ « i ii r» _ _ m«f»w i _*._ 



Liiese cuiu many uiuei 1111c i»ioi piuuu^a. 

THioUvett Scientific 

220 West Cedar 

Olathe, Kansas 66061 

(913) 764-3273 

TWX 910 749 6403 (MSI OLAT) 

TELEX 42525 (MSI A OLAT) 








&* 



Circle 75 on inquiry card. 



BYTU December 1977 121 



WIRED "OR" INTERRUPT LINE 






SYSTEM DATA BUS 



PROCESSOR AND 

REST OF 
SYSTEM 



INTERRUPT 



"WHODUNIT" 
INPUT PORT 

■ "I DIDN'T DO IT I 
I - "I DID IT!" 



1 O 



COLOR KEY.- 



10 ACCESSED BY INTERRUPT OF 
DEVICE NO.I, THIS CASE 



□ 



10 IGNORED THIS CASE 



I DIDN T DO IT! 



Figure 2: The "Who Done 
It" problem on interrupts. 
Some means must be pro- 
vided to determine which 
10 device requested service 
when more than one de- 
vice shares an interrupt 
line on any processor. 
Here is one way of deter- 
mining "who done it": 
The input port "WHO- 
DUNIT" looks at eight 
single bit status flags 
corresponding to up to 
eight devices; if the flag 
is on, then that device 
"did it." 



running without really being aware 
that it was temporarily not in control 
of the processor. This process of re- 
storing the machine state is the inverse 
of the state saving activity. 

Interrupt Hardware 

The actual hardware that is included to 
effect interrupts varies somewhat from one 
processor to the next. Virtually all of them 
save the old program counter in some speci- 
fied location and insert the address of the 
interrupt handler's first instruction into the 
program counter. This is in effect an uncon- 
ditional branch to a subroutine with linkage 
for return after interrupt processing. Each 
machine is different, though, in the actions 
taken beyond these two basic functions. In 
the IBM 370 series, the hardware does 
practically everything for the programmer. 
In microprocessors, the software interrupt 
program must do some of the things that the 
hardware does in the larger machines. Let's 
look at the most popular microprocessors 
and see what they do. 

Interrupts on the Intel 8080 

When an interrupt request is received, the 
8080 completes the current instruction be- 
fore taking any action on the interrupt. 
Virtually all miniproccssors and microproc- 



essors do this, since there would be all sorts 
of problems encountered if an interrupt 
were recognized in the middle of the execu- 
tion of an instruction. A little thought will 
show why. The 8080 does not increment 
the program counter. The program counter 
for the old program is pushed, saved, onto 
the stack. The next instruction to be 
executed is "jammed" onto the data bus by 
external interrupt circuitry and is called the 
restart instruction. Depending on the restart 
instruction operand, the next instruction 
executed (ie: the address placed into the 
program counter) may be one of eight 
possible decimal memory locations: 0, 8, 16, 
24, 32,40,48, or 56. 8080 programmers will 
note that there are just enough memory 
locations, eight, between these addresses to 
save the registers of the old program, disable 
further interrupts, and execute a jump to 
another location, which in this case will be 
the interrupt service routine. This entire 
operation is explained in figure 1 . 

Obviously, if you ever contemplate using 
all eight classes of interrupts, you want to 
be sure not to program using the first 64 
memory locations since those are reserved 
by the hardware for interrupt handling. But 
what if you want to have only one class of 
interrupt? Say, a panel switch that the 
operator (you) can push to get the attention 



122 



BYTE December 1977 




Game Playing With Computers by 

Donald D Spencer, published by Hayden. 
What does it mean to play games using a 
computer? Read this book to get an 
introduction into numerous recreational 
uses of the computer to program and play 
mathematical and logical games. Topics 
include numerous mathematical problems, 
casino games, board games, unusual gam- 
bling games, and miscellaneous logic games. 
Numerous BASIC language programs and 
listings are included to show details. $16.95. 




Scientific Analysis on the Pocket 

Calculator by Jon M Smith, published by 
John Wiley & Sons. This book is another in 
a set of source books for mathematical 
analysis using the contemporary products of 
technology. It is oriented to the pocket 
calculator, yet it will provide you with 
algorithms and methods useful with any 
personal computer which implements the 
scientific and analytical functions found on 
a good pocket calculator. For a more 
complete description, see the book review 
on page 120 of the December 1976 BYTE; 
or order its 392 pages of detailed technical 
information and review its use for yourself. 
$13.75. 



References 

and 

Robots 

from BITS 




Build Your Own Working Robot by 

David L Heiserman, published by Tab 
Books. This book will not tell you how to 
build Robbie, the robot of Forbidden 
Planet, or a classical android of science 
fiction. What it will introduce you to is the 
problems of making a robot mobile device 
called Buster III, using pre-microprocessor 
TTL integrated circuits for all logic 
functions. It is a must book for background 
reading, but much of the logic can be 
extremely simplified using today's micro- 
processor technology. Use this book as a 
first look at these problems from which you 
can build further and more elaborate 
solutions. Softbound, $5.95. 



IT 



i 



A Dictionary of Microcomputing by 

Philip E Burton. In the opinion of BYTE's 
editor, Carl Helmers, "This is one of the 
best designed and executed dictionaries of 
computer related terms yet seen on the 
market. It is of particular relevance to those 
individuals who want a good general 
reference to numerous technical terms, 
broadly covering hardware and software 
fields as currently practiced." This new 
hardbound edition is part of the Garland 
Reference Library of Science and Technol- 
ogy. $12.50. 




Software Design for Microprocessors. 

This stand alone guide to microprocessors 
has been designed by the people at Texas 
Instruments to convey knowledge to the 
first time user of microprocessors. This 
excellent source book of computer concepts 
begins with an outline of the basic principles 
of the general purpose computer, its 
machine architecture, software, and meth- 
ods of addressing. It proceeds to discuss 
how to build software, what is involved in 
documenting what you've done once you've 
done it, the mechanics of programming, and 
specific examples using the Tl TMS-1000, 
TMS-8080, TMS-9900 and SBP0400 de- 
signs. You'll find a thick hardcover text- 
book filled with over 370 pages of useful 
information including a comprehensive 
glossary of microprocessor terminology, 
among several other detailed appendices. 
$12.95. 



Send to: 

BITS, Inc 
70 Main St 
Peterborough NH 03458 

Total for all books checked 
Postage, 50 cents per book for. 
Overseas, 75 cents per book for 
Grand Total 



$. 



Check payment method: 
My check is enclosed 

Bill my MC No. 

Bill my BAC No. 

Name 



Exp. date 
Exp. date 



.books $ 

_books $ 

$ 



Address 



City^ 



State 



Zip 



Sign ature 



Prices shown subject to change. 

You may photocopy this page if you wish to leave your BYTE intact. 



All orders prepaid. 

In unusual cases, processing may exceed 30 days. 



Circle 12 on inquiry card. 



BYTE December 1977 123 



of the machine. Then just program the par- 
ticular location that you (or the computer 
hardware designer) hardwired in. Let's 
suppose for a minute that you need more 
than eight interrupts. That's possible, within 
a few restrictions as shown in figure 2. Just 
OR the interrupt request lines from the out- 
side world together and feed them to the 
same interrupt line going into the processor. 
But then how do you know which device has 
caused the interrupt? Obviously there will 
have to be another signal somewhere to indi- 
cate which device needs attention. This 
could be implemented in a variety of ways: 

• The device could place an identifying 
number on the data bus which would 
identify the device. 

• An input port could be wired so that 
the device would signal that it needed 
attention. 

• The processor could send an interroga- 
tion to each device connected to that 
interrupt line asking if it was the one 
that sent the request. 

The first and second methods are faster since 
the device number or input data could be 
used as an index to go to the appropriate 
interrupt handler program. The third 
method is called polling and may be some- 
what time consuming if many devices use 
the same interrupt line. Because so much of 
the interrupt logic of the 8080 is external to 
the chip, there can be considerable variation. 
Most 8080 systems use a simple restart 
(RST) operation code, but any instruction 
including jump (JMP) or call (CALL) can be 
used with appropriate external logic. 

Motorola 6800 Interrupts 

This chip has built into it the capability 
of decoding and servicing a smaller number 
of interrupts, but in a more automatic way 
than the 8080. The 6800 uses an indirect 
"vectored" interrupt situation in which each 
source of an interrupt looks up a unique 
vector location for the address of its service 
routine. When an interrupt is indicated to 
the 6800 by one of three possible sources, 
the processor automatically saves the two 
accumulators, index register, status register, 
and program counter on the stack, and in 
the process of doing so it changes the stack 
pointer. Thus, the 6800 has the advantage 
of never requiring program code to achieve 
state saving functions. It simultaneously has 
the disadvantage of always performing a 
complete state save so there is no way to 
"cut corners" and save time by ignoring 
the saving and restoring of data which is not 
changed by the interrupt routine. This 



vectoring method also has the disadvantage 
of requiring that the stack pointer must 
never be used for other purposes (such as 
a pseudo-index register) when interrupts 
are possible. The three interrupts possible 
on the 6800 are: 

Maskable Interrupt (IRQ). This inter- 
rupt occurs when a hardware signal causes 
a low state on the IRQ line of the proces- 
sor. This line is always wired in a "wired 
or" configuration when multiple sources 
are used, so some form of polling or 
priority logic is needed to identify 
sources. When an interrupt occurs, a flag 
is set in the processor which prevents a 
second interrupt from interrupting the 
routine which processes the first to arrive. 

Non-Maskable Interrupt (NMI). This 
interrupt is identical to the IRQ interrupt 
except that no "masking" of repeated 
interrupts occurs in the processor to pre- 
vent conflicts. As a result, without exter- 
nal logic to do the masking only one 
interrupt source should be dedicated to 
this signal. Motorola intended this line to 
be used with the absolute highest priority 
external signal in a typical system: the 
signal which indicates a 110 VAC main 
power supply "power failure" in a dedi- 
cated application system; the interrupt 
response routine in such a case would 
have enough time before the capacitors 
of the power supply discharge (typically) 
to save the state of the processor and pre- 
pare for later return of power. But the 
intended use does not mean the only use, 
and with proper care this interrupt line 
can be used for inputs as diverse as a 
direct memory address (DMA) controller 
or real time clock. 

Software Interrupt (SWI). This inter- 
rupt occurs when a program executes 
a software interrupt instruction. The 
actions taken are exactly the same as 
those for the totally asynchronous NMI 
and IRQ hardware inputs. The only 
difference is that the SWI is not a true 
interrupt since it is programmed into the 
software at a fixed point, whereas an 
interrupt such as NMI or IRQ can occur 
at any time relative to the execution of 
a program. The SWI instruction, in effect, 
is a call to an interrupt subroutine, with 
return implemented via an RTI (return 
from interrupt) instruction. 

There is one further method of interrupting 
a process in the 6800 which is not charac- 
terized by the state saving needed to effect a 
true interrupt style action. This is use of the 
"reset" (RES) line of the hardware. This 
form of interruption merely causes an 



124 



BYTE December 1977 





Digital Computer Fund- 
amentals by Jefferson C Boyce. 
The way to a world of learning is 
through books. A great place to start, 
and to return from time to time, is 
the classical textbook. This new 
book from Prentice Hall is in- 
tended as just that. Topics covered 
include digital computer operation, 
basic computer circuits and concepts, 
Boolean algebra, implementing com- 
puter operations in hardware, com- 
municating with the computer and 
related issues of coding schemes, 
detailed discussions of the control 
section, memory functions, arithme- 
tic and logic functions, input and 
output functions of a classical com- 
puter, a chapter on computer pro- 
gramming and a final summary 
chapter on the details of a typical 
minicomputer design interpreted in 
the light of the more theoretical 
general concepts in the book. This 
book is excellent background infor- 
mation for the literate and well read 
hacker. Order yours today. $15.95 
hardbound. 



Adam Osborne's books An Introduction 
to Microcomputers, Volumes 1 and 2, are a 

concise compendium of the technical details 
of microprocessors at the component 
(engineering) level. These are the source 
books for the system designer who plans to 
employ the microprocessor, or the advanced 
homebrewer who wants a dash of custom- 
ization not found in commercial products. 

Volume 1 is subtitled "Basic Con- 
cepts." This is the book which presents a 
framework of ideas concerning the design 
and use of small computers implemented 
with LSI. Topics include definitions of the 
microcomputer, fundamental concepts of 
logic and numbering characteristics of 
instruction sets, etc. $7.50. 



How to Buy and Use 

Minicomputers and Microcomputers 

by William Barden. People have often 
asked us where to turn to get an 
introductory book about computers 
for personal use. One excellent place 
to start is How to Buy and Use 
Minicomputers and Microcomputers, 
William Barden Jr's instant summary 
of the small computer revolution, 
published by Howard Sams in mid- 
1976. This is one of the first books 
of the "general introduction to 
computers" genre to be published 
with an emphasis towards the small 
computer and personal computing as 
it is being practiced these days, the 
book, written for the novice as well 
as the expert, surveys the technical 
details of the field in nine chapters 
and 10 appendices. This book is light 
(but essential) reading for the experi- 
enced computer person, and worthy 
of serious, concentrated perusal by 
the novice. $9.95. 



j HowtoBuySUgo 

i MMCQKIPUTEHSS 
| MiCHQCQRIHJTEHS 




Volume 2 is a much thicker detailed 

volume which complements the information 
in the first volume. This is the volume which 
fills in many of the details left out of the 
conceptual treatment in Volume 1. Here 
you'll find 19 detailed chapters on the 
engineering and logical specifications of pro- 
ducts made by 16 different manufacturers, 
including in many cases reprints from the 
manufacturers' documentation as well as 
new materials provided by the author. Pub- 
lished in 1976, it even includes such pro- 
cessors as the MicroNOVA by Data General 
and the Texas Instruments TMS-9900 as 
well as the older 8 and 16 bit machines. 
Organization is by design type, and where 
parts of several manufacturers were in- 
tended for a given processor design such as 
the 8080, these are grouped into a single 
chapter. Revised second edition $15.00. 



|OSF,rHWilZr.N&ttIM 



COMPUTER 
POWER 

AND 
HUMAN 
REASON 



FROMIUDCMENT 
TO CALCULATION , 



. Computer Power And Human 

Reason by Joseph Weizenbaum. This 
book is one which should be 
purchased or read for several reasons. 
If you're presently a programmer by 
trade or skill, you'll see a philosophy 
of computer use and abuse pro- 
pounded. It's genuinely interesting, 
and definitely provocative if you 
reference the storm of letters, coun- 
ter letters and counter counter letters 
which this book produced in the 
Association for Computing Machin- 
ery's SIGART newsletters during 
1976. If you're a novice to the field, 
the tutorial and explanatory chapters 
of this book, which are aimed at the 
layman, will serve as an excellent 
background source which is also 
eminently readable- This includes an 
excellent and low level explanation 
of what an algorithm is, and how 
computers go about executing effec- 
tive algorithms. $5.95 softbound. 



Send to; 

BITS, Inc 
70 Main St 
Peterborough NH 03458 

Total for all books checked 

Postage, 50 cents per book for 

Overseas, 75 cents per book for 

Grand Total 



Check payment method: 

My check is enclosed 

Bill my MC No. 

_ Bill my BAC No. 



books 
books 



Name 



Exp. date 
Exp. date 



Address 






City 


State 


Zip 


Signature 



You may photocopy this page if you wish to leave your BYTE intact. In unusual cases, processing may exceed 30 days 



Circle 12 on inquiry card. 



BYTE December 1977 



125 




COLOR KEY 



MEMORY WHICH CAN BE 
ROM (AND OFTEN IS) 



MEMORY WHICH MUST BE 
J PROGRAMMABLE SCRATCHPAD 



, LINKAGES DURING 
IRQ INTERRUPT 



STEP 2: 
PUSH OLD PROCESSOR 
STATE INTO STACK 



STEP I: 
INTERRUPT 
INPUT ON IRQ 



EXTERNAL 
EVENT 

* 



ssoo 

PROCESSOR 



Figure 3: The 6800 proc- 
essor's interrupt structure. 
This vectored interrupt 
method starts with an 
interrupt signal to the 
processor. In this example, 
IRQ occurs, so the proces- 
sor generates a reference 
to the IRQ vector location 
at hexadecimal FFF8 and 
FFF9. The two byte ad- 
dress at the IRQ vector 
location in turn points to 
the IRQ routine some- 
where else in address space 
and as the last step in the 
process, the routine is 
called. As part of the 
special interrupt routine 
call, the old state informa- 
tion is pushed onto the 
stack. 



unconditional branch to a restart location, 
and is typically used to initialize the system 
or to recover from disastrous errors. 

All four sources of interruption of the 
6800 processor, IRQ, NMI, SWI and RES 
use a similar indirect vectored approach to 
locating the address of the desired routine. 
In the cases of IRQ, NMI and SWI the 
desired routine is a subroutine which returns 
via an RTI (return from interrupt) 
instruction; in the case of RES the desired 
routine is the beginning of the software 
which gains control when the processor is 
restarted. 

In each case, the processor uses a 2 byte 
address stored in the region from hexa- 
decimal address FFF8 to FFFF in memory 
address space as the starting address for the 
desired routine. Thus, for example, suppose 
a source of an interrupt changes the state 
of the IRQ line, causing an IRQ interrupt. 
The processor first completes the previous 
instruction, as noted earlier. Then, instead 
of executing the next instruction, it 
executes the details of the built in "state 
saving" sequence. After state saving, the 



processor sends out address to memory for 
location FFF8 from which it obtains the 
high order address of the interrupt routine. 
Then it sends out the address FFF9, from 
which it obtains the low order address of 
the interrupt routine. It then branches to 
the interrupt routine at the address just 
obtained. A similar process occurs for the 
NMI response using the data contained in 
locations FFFC and FFFD as an address; for 
the SWI response using data contained in 
locations FFFA and FFFB as an address; 
and for the RES response using data con- 
tained in locations FFFE and FFFF as an 
address. 

The MOS Technology 6502 

This 8 bit processor is very similar to the 
6800 in its processing of interrupts. There is 
no separate vector for a software interrupt as 
implemented in the 6800, so the 6502's 
interrupt vector region only includes non- 
maskable interrupts (FFFA and FFFB con- 
tain the address), reset (FFFC and FFFD 
contain the address), and maskable 
interrupts (FFFE and FFFF contain the 



126 



liYTE December 1977 




to oil fiVT€ mogozine 
subscribers one! 
would-be subscribers 



SAVE MONEY! As of January 1, 1978, we are raising our subscription rates to meet the increased 
costs of producing and mailing BYTE to our more than 110,000 monthly readers. The new domestic 
subscription rates, effective January 1, 1978: 




Current Rates 
One year U.S. 
Two years U.S. — $22 

Three years U.S. — $32 




ates Effective January 1, 1978 
One year U.S. — $15 

Two years U.S. — $27 
Three years U.S. — $39 



If you already subscribe to BYTE and still have 
several months to go before expiration of your 
subscription, you can still take advantage of 
current rates for renewal (even up to three 
years). Use coupon below. When your present 
subscription expires, your renewal order 
commences. 

If you are not yet a subscriber to BYTE, the 
leading magazine for the creative home 
computer experimenter, don't delay . . . mail 
this coupon and start getting your own copies 
of this invaluable magazine, before new rates 
become effective. 




KITE 




BUI 



i 



M 






USE THIS MONEY-SAVING COUPON TODAY 



To new subscribers: 
Read your first copy of BYTE, if it's 
everything you expected, honor our 
invoice. If it isn't, just write 
"CANCEL" across the invoice and 
mail it back. You won't be billed, and 
the first issue is yours. 

Allow 6 to 8 weeks for processing. 



© Byte Publications, Inc. 1977 



BYTE Subscription Dept 



• P.O. Box 361 • Arlington, Mass. 02174 



PLEASE ENTER MY SUBSCRIPTION FOR: 

D One year $12 (12 issues) □ Two years $22 □ Three years $32 

D Check enclosed (entitles you to bonus of one extra issue) 

□ BUI me □ Bill BankAmericard/Visa □ Bill Master Charge 
Card Number I I II I I I I I I I I I I I 

Signature: - ^— 

Address: ■ ■ 

City:— ; State/Country: 

Offer expires December 31, 1977 
FOREIGN RATES FOR ONE YEAR: (Please remit in U.S. Funds) 

□ Canada or Mexico $17.50 (Air delivered) □ Europe $25 (Air delivered) 

□ All other countries except above: $25 (Surface delivery) 

Air delivery available on request 



359&.^ 



Expiration Date: — 
Name (please print)- 



Code:- 






address.) The 6502's BRK instruction is 
similar to the 6800's SWI, except it uses the 
same vector location as the maskable inter- 
rupt (IRQ) rather than a separate address 
vector. 

Interesting Uses 

Now knowing about interrupts, what are 
their uses on the personal computer system, 
and what kinds of programming should we 
use with them? Probably a majority of users 
will not need to use interrupts at all, at least 
until they have several years programming 
experience. If you have an 8080, just be 
careful to write your programs around the 
critical interrupt locations in low memory 
addresses, in case sometime in the future 
you decide to start using them. If you have a 
6800 and use a dedicated monitor such as 
JBUG or MIKBUG, much of your freedom 
to use interrupts is replaced by hardwired 
response vectors in ROM found at FFF8 to 
FFFF. Almost certainly if you plan on 
writing or using some type of operating 
system, the interrupt facilities will need to 
be used in the interrupt routines. 

The use of interrupts for 10 operations 
probably will not be a major application 
except in cases of direct memory access or 
fast peripherals. Personal systems tend to be 
strongly oriented to a memory conservative 
type of programming, since the cost of 
the processor hardware is so low to begin 
with, and the slowness of lO is not really a 
significant factor. 

Real time applications are likely to 
abound in small systems. The timers that are 
included in some systems often operate by 
allowing the program to load a desired 
number, which is then counted down (or 
added up, depending on the hardware) 
independent of the processor. When zero is 
reached, the timer can generate an interrupt. 
This could be useful in such applications as 
keeping track of how long programs use the 
processor, allowing a player a limited 
amount of time to make a move in games 
like Star Trek, generating time of day 
applications and so on. A very interesting 
real time application of interrupts is in the 
use of light pens on oscilloscope graphics 
displays. This is one use of computers that 
many hobbyists, upon seeing it operate for 
the first time, feel is just this side of magic. 
Actually, when you consider how the 
oscilloscope display is generated, the mech- 
anism is very straightforward. You may 
deduce that the computer, or 10 device, 
must know where the beam of light is 
currently positioned on the scope's screen, 
or else it would be just a jumbled mess. 
Therefore, if a photosensitive device is 



placed close to the screen, when the light 
beam strikes the cell an interrupt may be 
generated. This interrupt may then cause 
the location of the beam to be noted by 
storing the current values in the counters 
used to control the beam. 

Another extremely interesting applica- 
tion is the emulation of hardwired instruc- 
tions. If the processor allows software or 
illegal instruction interrupts then software 
routines may be programmed which will 
produce the same effect as if the desired 
instruction had actually been included in the 
silicon on the chip. For example, suppose 
that you frequently needed an instruction 
which would, for some unfathomable 
reason, add the contents of all the registers 
and output them to a teleprinter. You 
could set up a subroutine in each program 
that required this action. But if you 
found that you needed this instruction 
frequently in every program you ran on the 
machine, another way of implementing this 
routine would be to place into the program 
code (that is, the program being run) some- 
thing to cause an interrupt. 

This interrupt would cause the interrupt 
routine to determine which action was 
desired, execute it, and then resume the 
interrupted program. Of course, the in- 
struction would be executed much more 
slowly than if hardwired. Once the routine 
was finalized, it could be burned into read 
only memory, and from then on it would 
always be available for the programmer's 
use. The actual bit pattern inserted into 
the program, to cause the interrupt, varies 
with the processor. If there are unimple- 
mented operation codes then you may 
simply choose one and use it to signify the 
new operation from then on. If unimple- 
mented operation codes do not exist, or 
they cause the machine to "hang up" and 
not interrupt, then a software interrupt, 
called a "supervisor call" on the 370, may be 
used. This is somewhat less pleasing, how- 
ever, since the code on the program listing 
will always look the same (ie: a software 
interrupt) and make debugging a bit more 
difficult. The 6800's SWI instruction with 
its separate vector is ideally suited to this 
use. Obviously, a byte would have to be 
stored somewhere which would signify to 
the interrupt routine which operation 
was desired. In a 6800 this would be accom- 
plished by following the SWI instruction 
with the appropriate 1 byte code, and 
modifying the stack so that RTI returns 
control one byte past its normal point of 
return. 

It is possible to reproduce a particular 
machine's entire instruction set on another 



128 



BYTE December 1977 



entirely different machine in this manner. 
This is frequently called "emulation," 
although the term is also used to describe 
this process being accomplished by micro- 
code which, confusingly enough, is only 
remotely related to microprocessors. 

Conclusion 

We have seen that the use of interrupts 
allows computers to become more versatile 
than when they are dedicated to one 
program. Interrupts allow the machine to in- 
teract with the outside world while at the 
same time allowing it to pursue "its own" 
interests. Interrupts are useful for accom- 
plishing things in ways which, while more 
difficult to program initially perhaps, may 
be worthwhile in the ease of application." 

REFERENCES 

1 . Intel 8080 Microcomputer Systems User's 
Manual, Intel Corporation, Santa Clara CA, 
July 1975. 

2. M6800 Systems Reference and Data Sheets, 
Motorola Semiconductor Products Inc, Phoenix 
AZ. 

3. MCS6500 Microcomputer Family Program- 
ming Manual, MOS Technology, Norristown, 
PA. 




SPEAK "KAAMPYUTAOLKER" 



MODEL CT-1 SYNTHESIZER 
CSR1 SOFTWARE SYSTEM 
DEMONSTRATION CASSETTE 



395.00 

35.00 

2.95 



CALIF RESIDENTS AOD 6% SALES TAX 



WRITE FOR INFORMATIVE LITERATURE 

COMPUTALKER CONSULTANTS 

BOX 1951, DEPT. B, SANTA MONICA, CA 90406 



P.O. 




DAJEN Electronics 

7214 Springleaf Ct. 

Citrus Heights, Ca. 95610 

(916) 723-1050 



Easy to use! Everything you need 
for I/O, mass storage, and a monitor. 

3 complete parallel parts with their 
own handshaking, latched outputs, bi- 
directional. 

Serial port with 20 ma, 60 ma, 
RS-232, speeds from 75 to 19,200. 256 
bytes of RAM for stack and buffer 
storage. 



2708 PROGRAMMER 

3K of ROM, 2-2708's provided with 
monitor: complete video, software, cassette routines, 16 com- 
mands total. 

High-speed cassette system with 2 relays, simultaneous 
read and write, speeds from 500 to 40,000. 

Yes, please rush my SCI to: 

Name 



Altair, Poly, 

Address ' M SA' ; M0. 

Tarbell Com- 
patible 



City State Zip. 

Mastercharge Exp. . 

Visa/B.A Exp. . 

Signature 



Kit 

$285 

Assembled 

$345 



OUR NEWEST BABY! 

The System Central Interface 
SCI 




Circle 35 on inquiry card. 



BYTE December 1977 



129 



Using the PolyMorphics Video Interface 



Wayne Wenzlaff 
3494 S Greenwood Ct 
EaganMN 55122 



I recently purchased one of the PolyMor- 
phic Video Terminal Interface units from a 
local computer store. After opening the 
plastic bags included with the kit and check- 
ing the parts against the packing list, I sat 
down to the task of assembling the kit. The 
instructions looked simple enough, the parts 
were all there, and there was a parts diagram, 
except I couldn't read it. 

Well, being no stranger to electronics, I 
armed myself with a pen, the schematic, and 
a bottle of Dr Pepper. (The Dr Pepper is 
important!) Some four hours and many 
bottles later, my board was complete. Trac- 
ing circuit diagrams is OK if you have a lot 
of time and know your electronics, but 
there have to be a lot of nonelectronics 
people who bought this board and had the 
same problem. The more I thought about it, 



NEW VIDEO INPUT 



FROM 3rd VIDEO 



o- 



IO,uF* 
SEE TEXT 



B + 



€) 



2SC563 

VIDEO AMPLIFIER 



RI4I 

47 

■JWV- 



■ — ^ TO VIDEO 
I — ^ OUTPUT 



EXISTING 

TEST POINT 



X 



Figure I: This is the simplified schematic for the video amplifier. The dot- 
ted capacitor is the added component to the original circuit. Take care to 
connect the positive side of the capacitor to the television circuitry. The 
video signal from the video interface can be connected directly through this 
capacitor. 



the more curious I became. A call to Poly- 
Morphics gave me the answer. 

It seems that some of the first instruc- 
tion books printed managed to get by the 
quality control department without being 
checked. In any case, I spoke to a very nice 
person by the name of Cindy Feeney, who 
turned out to be the national marketing 
manager. She apologized for the problem, 
and explained that they sent a letter to their 
dealers as soon as they became aware of the 
mistake. The only trouble is they didn't 
know who had purchased the boards with 
the bad diagram, so some of us unfortunates 
got hold of a kit without knowing about 
the letter. She explained that the diagram 
had been reprinted, this time in three colors 
for easy readability. And she sent one to me. 
Free! She also offered to replace the diagram 
to anyone else who has had the same pro- 
blem if they will just drop her a note. The 
address is PolyMorphics, 737 S Kellog Av, 
GoletaCA93017. 

Now I needed a television to connect it 
to. I don't own a video monitor, but I do 
have a black and white television set, a 
Panasonic Model TR-542. With this set, 
adding a video input is a cinch. A schematic 
of the section of the video amplifier to be 
modified is shown in figure 1. Panasonic 
provides a test point at the input of the 
video amplifier. The signal is positive going 
(signal is positive with respect to ground) 
and the level is 0.9 V peak to peak. The 
PolyMorphics board provides a positive 
going video output, with about 1 V peak to 
peak level. Talk about a perfect match! 

In order to eliminate any biasing pro- 
blems for the video amplifier, I elected to 
leave the video intermediate frequency (IF) 
stage connected. The PolyMorphics board 
has plenty of video to drive the amplifier, so 
the only thing you need to do is turn the 
television to an unused channel, preferably 



130 



BYTE December 1977 






UHF. The PolyMorphics board provides a 
slight amount of DC bias on the video line, 
and this will distort your display unless you 
filter it out. The simplest cure for this is the 
addition of a coupling capacitor in the video 
line. Install it in series with the center con- 
ductor, with the positive end connected to 
the TV circuitry as shown in figure 1. Ex- 
periment to see what value works best for 
you, but it will probably be between 0.1 and 
10mF. 

With the television modified and the 
board completely assembled, I was now up 
to the section labeled 1.6. For those of you 
who don't own the PolyMorphics terminal, 
that section reads, "As it stands now, your 
unit should work if connected via coaxial 
cable to a video monitor or modified televi- 
sion set." Wrong. Not that there's anything 
wrong with the terminal, but I have built 
two of them now, and they don't do any- 
thing until you put something in memory. 
For ease of testing, the following program 
can be entered via the front panel switches. 
This eliminates the need for anything but a 
computer, the video interface board and the 
modified television. Set the PolyMorphics 
address to 0000, then proceed as follows: 



0000 


21 


0001 


0A 


0002 


00 


0003 


3E 


0004 


38 


0005 


77 


0006 


23 


0007 


C3 


0008 


03 


0009 


00 



Photo I: This is the display generated by the program written to output a 
series of vertical bars. The dark bands running across the monitor indicate 
that the horizontal frequency of the video interface and the horizontal 
frequency of the monitor are not identical. 



Notice the dark lines running from the 
lower left to upper right hand corner of the 
screen. These are present because the hori- 
zontal frequency of the set is not the same 
as the horizontal frequency of the video ter- 
minal. The standard horizontal frequency of 
a television set is 15,750 Hz. The frequency 
of the PolyMorphic board is 17,094 Hz. Al- 
though the manual would lead you to be- 
lieve that this is a simple adjustment of the 
horizontal hold control, not all sets can be 
adjusted to operate at this frequency with- 
out some internal modification. I had access 
to four standard video monitors which I 
later tried the board on. Only two of the 
four were able to lock in and produce a 
usable display. Fortunately it's not too 



HORIZONTAL HOLD 




This program should display alternate black 
and white vertical bars on the screen. I say 
"should" because the display I got is illus- 
trated in photo 1. 



Figure 2: The section of the horizontal hold 
circuit that determines what the horizontal 
frequency is must be modified to match the 
horizontal frequency of the video interface. 
The dotted resistor and switch are additions 
to the original circuit. By changing the value 
of R4I5, I changed the range of the horizon- 
tal frequency adjustment. The switch is not 
necessary but allows the use of the set as 
either a monitor or a television. 



BYTE December 1977 



131 



Illlli jiillil Imm milt 



XIMEDIA PRESENTS 

The Perkin-Elmer Fox-1100 




The Low-Cost, Not -So-Dumb CRT 

Fully Assembled and Tested— $1,295.00 

Ximedia Corporation stresses reliability 
and performance at an affordable price. 
That requires literally hundreds of product 
evaluations. It also requires a strong com- 
mitment to selling only those components 
which have operated dependably in 
business or professional applications. 
The Perkin-Elmer FOX-1100 has that kind 
of track record. And it has the following 
features: 

• Resetable tab stops 

• Numeric key pad 

• Highly readable 9 x 12 dot matrix 

• Hooded, anti-glare screen 

• Upper and lower case 

• Black-on-white/ 
white-on-black display 

• Transparent mode— displays 
control characters 

• Direct cursor addressing 

• Typamatic auto repeat 

• Local service centers 

All in all, the FOX is a superior terminal 
designed for the serious user and built to 
take the abuses of day in day out use at a 
price the economy-minded user can afford. 

XililEDiA 

1290 24th Avenue 

San Francisco, California 94122 

(415)566-7472 

Toll Free (800) 227-4440 

CONVENIENT ORDERING: Toll free number. Prepaid, 
Mastercharge, and Visa orders shipped free; others 
freight-collect. Most orders shipped from stock. If not, 
we will notify. California residents add 6% sales tax. 



Photo 2: The correct display should have 
vertically aligned black and white bands. 
This indicates that the horizontal frequency 
of the video interface and the monitor are 
identical. 




difficult to modify the set once you know 
what you are up against. 

The sets that seem to cause the trouble 
are the ones that use a coil to adjust the 
horizontal frequency instead of a poten- 
tiometer. A quick look at my Panasonic 
located the culprit. The horizontal fre- 
quency is determined by a coil, in con- 
junction with a 6.8 k resistor (R415) as 
shown in figure 2. Although it would be 
difficult to change the coil, we can adjust 
its range by changing R415. A 5.6 k resistor 
added in parallel with R415 changed the 
range sufficiently to produce a proper 
display. I could have permanently altered 
the value of R415, but then the set would 
not have been usable as a standard TV set. 
By connecting a switch in series with one 
of the leads from the 5.6 k resistor I can 
disconnect the added resistor from the 
circuit when I'm not using the set as a 
monitor. 

The final display is shown in photo 2. 
Adding a video input required only one 
part, a capacitor. Correcting for the un- 
usual horizontal frequency took a single 
resistor. This may not work for every set, 
but you'd be surprised how many sets use a 
circuit very similar to this one. If you have 
a tight budget, arm yourself with a sche- 
matic of your TV, a few spare parts, and this 
article. You'll undoubtedly learn something, 
and the pleasure of doing it yourself can't 
be beat. Besides, assuming you already own 
a black and white television set, where else 
can you get a video monitor conversion for 
under a dollar?" 



132 



BYTE December 1977 



Circle 132 on inquiry card. 



Continued from page 91 

"Start the program." 

Time passed, a lot of time. Jack stabbed 
the RESET button hard enough to push 
the computer across the desk. 

"Gently, Jack! I get your message. You 
must be putting the breakpoint in the wrong 
place." 

"If I knew where to put the breakpoint, 
then I probably wouldn't need one. What I 
need is some way to sprinkle a program with 
breakpoints and just skip the ones I don't 
need." 

"No can do, Jack. My MIKBUG monitor 
traps every breakpoint and that is that. You 
can't skip by one. If you put obstacles in 
my path, I trip over them. You don't want 
a bruised computer, do you, Jack?" 

"I guess not. What I do want is a better 
way to debug. There's got to be something 
more effective than this 'stab in the dark' 
approach." 

"May I make a suggestion, Jack?" 

"Now look who's the designer. What 
words of wisdom have you, great sage of 
Motorola?" 

"Sarcasm will get you nowhere, except 
maybe 'stabbed in the dark.' I was going to 
suggest that you investigate my HALT in- 
put. If you put a properly timed signal there, 
then I'll execute only one instruction at a 
time. You can run programs so slowly even 
a human can follow the processing." 

"That's an interesting idea. Let me think 
about it for a while." 

"I can hardly stop you, Jack. I don't have 
hands. . .yet. You were looking at those 
robot articles in BYTE, weren't you!" 

"Talking is quite enough, computer!" 

"I. . .guess. . .so." 

Jack sat back in his chair and thought. 
Computer knew better than to interrupt 
such meditations of his human partner. 
Computer liked its power continuous. 

"No good, computer." Jack rolled his 
chair to the console again. "Hardware single 
stepping isn't what I need. I need to be able 
to read your registers and check memory 
locations. In short, I need your MIKBUG 
capabilities to help me debug. With your 
hardware suggestion I'd still need to know 
where to stop single stepping. That's no 
better than breakpointing." 

"Not exactly, Jack. If you don't muck up 
my contents with your debugging stuff, 
then you can resume running again after 
you stop stepping. You can write reentrant 
code, can't you, Jack?" 

"That's exactly what I'm trying to debug. 
Thanks a bunch." 

"Sorry. I guess we'll both have to live 
with MIKBUG for a while longer, until you 



write me a real nice monitor, with asynchro- 
nous IO, and disks, and. . ." 

"Get off the disk kick. A debugger is 
what I need. I want a purely software 
answer. I need to have MIKBUG-like facili- 
ties that I can use wherever I want in a pro- 
gram without upsetting that program. It's 
got to be reentrant. It's got to know how to 
break down instructions. It should give me 
a sort of breakpoint for each instruction 
executed." 

"The program you seek is called a tracer. 
They're available on big machines, like your 
partner Grappel's PDP-11. Maybe he can 
adapt one to your liking." 

"And adapt it to your limited faculties." 

"His big machine can't even talk! Don't 
you say I'm limited!" 

"Okay, okay, I give up. Anyway, it's 
bedtime. Good night." 

"Yeah," said computer. Jack flipped the 
power switch, and computer's red eye 
dimmed. 

"So what's new?" said computer as its 
fan began to hum. 

"Well, I uh. . .found. . .discovered that 
. . .noticed, uh. . ." 



NEW... 

We have introduced two new products 
which interface to a variety of bus structures: 
the S-100 bus - the Motorola bus - the 
Intel SBC 80/10 bus. We have a Scientific 
Calculator Board which will do your complex 
mathematical computations in firmware with a 
minimum of dedicated RAM or software sup- 
port. In kit form, prices start at $99.95. 

A new video display module which pro- 
vides for a format of up to 24 lines and a full 
80 characters wide is ready. Lower case and 
custom character sets are available on special 
order. 

It can also be obtained to provide 32, 36, 
40, 64, or 72 characters per line. In kit form, 
prices start at $199.95. 

Call or write for data sheets - or contact 
your local dealer. 

Celetion 

P.O. Box 621 5 

Syracuse, New York 13217 

(315) 422-6666 



Circle 138 on inquiry card. 



BYTE December 1977 



133 



Circle 119 on inquiry card. 



CDCTlPflRE 

B-BT COmPUTERS 



THE 

TECHNICO 

SUPER STARTER 

SYSTEM 

AND 

SUPER SYSTEM 16 

v.s. 

THE HEATH H-11 

SAVE OVER $1000 
SEND FOR FREE BROCHURE 
TECHNICO 1-800-638-2893 

9130 RED BRANCH RD. COLUMBIA, MD 21045 
CIRCLE INQUIRY NO. 



"Come on, Jack, out with it!" 

"That problem you were having 
yesterday. . ." 

"I wasn't having any problem yesterday! 
It was your code that was a problem. I just 
read 'em; I don't write 'em!" 

"I know. But you should have warned 
me that I was pushing one more item onto 
the stack than I was popping off. When you 
executed the subroutine return, you got a 
byte of data confused with the real return 
address." 

"I did not confuse anything! I did exact- 
ly, 1 repeat, exactly, what you asked for. 
You said PSH, I pushed! You said PUL, I 
pulled a byte off the stack. You said RTS, 
and I took the top of the stack as a return 
address. I may have bugs in the program, but 
the programmer's got bats in his belfry! 
If you can't count the number of bytes you 
put on the stack, you might think of going 
back to philosophy!" 

"Cool it!" 

"I might say. . ." 

"Cool it!" 

Jack glared at the console, and com- 
puter's red eye stared back. "I'm sorry, 
Jack." 

"I guess it really is my fault, computer." 

"Friends?" 



"Friends." 

"Going to get a tracer written?" 

"Yep." 

"Can I assemble it? I'll do a very careful 
job." 

"I'm sure you will, computer. I'm sure 
you will." 

"Computer, let's try to work this break- 
point thing out." 

"Glad to help, Jack." 

"Fine. Now, we need a program which 
doesn't change any register or condition 
code or memory location in the target 
program. . .the one I need to debug." 

"It's got to be reentrant. Right, Jack?" 

"It should print the contents of all your 
registers, the address of the present instruc- 
tion, and the instruction code. Something 
like the MIKBUG format should do." 

"That's a problem. How do I do all that 
printing without messing up the registers?" 

"Come on, computer. . .that's easy. You 
save all the registers before printing and then 
restore them when you're done." 

"Like the MIKBUG software interrupt 
does, on the stack! You know, sometimes 
you're pretty smart, Jack." 

"Except we can't do it that way." 



CDfTFflBE 

IB-BIT COmPUTERS 



HARDWARE 


TECHNICO 


HEATH 


FEATURES 


SYSTEM 16 


H-11 


DUAL 


YES 


NO 


FLOPPY'S 






CASSETTES 


YES 


NO 


VIDEO 


YES 


NO 


BOARD 






E-PROM 


YES 


NO 


PROGRAMMER 







*FOR COMPLETE COMPARISON SEE 
HEATH LITERATURE AND CONTACT 
TECHNICO FOR FREE CATALOG 

CIRCLE INQUIRY NO 



134 



BYTE December 1977 



Circle 119 on inquiry card. 



Circle 1 19 on inquiry card. 



"Why?" 

"Because MIKBUG won't let me change 
the address of the software interrupt handler 
program. It's in ROM, unfortunately. We'll 
need another way." 

"Jack, isn't this breakpoint thing sort of 
like a subroutine? I mean, it's, say, 'called' 
from the target program. . .does some stuff 
like printing. . .and then returns to the 
target program." 

"I guess we have to do it that way. We'll 
put a subroutine call (JSR) at the address 
where the trace is to begin. It will call the 
trace program, which will be written as a 
subroutine. The subroutine will first have to 
save all the registers, then print my debug- 
ging info. It can then restore the registers 
and return. Thanks for the idea, computer." 

"Don't thank me yet; it won't work. If 
I insert a 3 byte subroutine jump into the 
target program, then I've destroyed three 
bytes of your code. Then, when I return 
from the subroutine, I return three bytes 
further into the target program, not where I 
started." 

Jack thought a bit and puffed his cigar. 

"Jack! That cigar smoke is getting in my 
cassettes! How can you humans stand all 
that stuff? Do computers get cancer of the 



CDfTIPfiRE 

PROCESSORS 



MICRO- 


TMS-9900 


LSI 1 1 


PROCESSOR 


TECHNICO 


HEATH 


FEATURES 


SUPER 
SYSTEM 16 


H-11 


SINGLE 


YES 


NO 


CHIP 






CPU 






WITH HDW. 


YES 


NO 


MULT.-DIV. 






INCL'D. 






COMMUNI- 


YES 


NO 


CATIONS REG- 






ISTER UNIT 






IB- 


YES 


NO 


REGISTERS 







'FOR COMPLETE COMPARISON CONTACT 

DEC, FOR 9900 CONTACT 

TEXAS INSTRUMENTS OR TECHNICO 

CIRCLE INQUIRY NO. 



» 



CDtTlFflRE 

Era S price 5 



IN STORE 


TECHNICO 


HEATH* 


PRICE 


SYSTEM 
16 


H-11 


MINIMUM 


$299 


$1,350 


KIT 






WITH POWER 


$442 


$1,550 


SUPPLY AND 






1-0 






WITH ASSEM- 






BLY 


$491 


$1,845 


LANGUAGE 






WITH MEMORY 


$968 


$2,140 


FOR FULL 






SOFTWARE 







'FOR COMPLETE COMPARISON SEE HEATH 
AND SEND FOR TECHNICO PRICE LIST 

CIRCLE INQUIRY NO 



integrated circuit or something?" 

"Relax, my automated friend. You're 
quite safe. I just figured out how to work 
the tracing." 

"I'm all ears." 

"I'm surprised you can stop talking long 
enough to listen. Anyway, I can overcome 
your objections by careful programming. 
Before inserting the subroutine jump, you'll 
save the three bytes you're replacing. You 
can put them back before you return." 

"But, Jack, I still return to the wrong 
place!" 

"Hold it a minute! I can fix up the return 
address on your stack to back it up three 
bytes. Then you'll return to the code you've 
replaced and restored. That'll be a break- 
point that I can really use." 

"Glad to help you. But, Jack, you still 
have to know where to breakpoint. We're 
scarcely better off than we were with 
MIKBUG. True, the program can now con- 
tinue after your breakpoint. Is that all you 
wanted?" 

"It's enough for right now, but we'll 
probably extend it later. Please assemble 
this code." Jack placed a cassette in the 
drive and pressed PLAY. Jack smiled. "It's 
the only sure way to keep it quiet." 



Circle 1 19 on inquiry card. 



BYTE December 1977 



135 



All a trace is is a moving 
breakpoint. . . You handle 
it in the usual way except 
that before you return you 
put a new breakpoint 
where the next instruc- 
tion will be, and fix up the 
previous breakpoint as if 
it were never there. 



Why anybody would try 
to trace a program with 
interrupts going off is 
beyond me, but we'd 
better be complete. 



"Computer, I want to extend Bob's 
breakpoint." 

"It was only a matter of time. I suppose 
you want a full trace now." 

"Right. It isn't that much more. All a 
trace is is a moving breakpoint." 

"If you can't figure out where. you want 
your breakpoint, then you make me push it 
around through your stuff. Why is it that I 
always have to bail you out of your 
problems?" 

"That's what I built you for, remember?" 

"Calm down, Jack. I was only kidding." 

"I didn't build your sense of humor, 
that's for sure! Anyway, here's how you'll 
trace a program. Start with a breakpoint. 
You handle it in the usual way, except that 
before you return you put a new breakpoint 
where the next instruction will be. Effective- 
ly, this breakpoints every instruction!" 

"Some things are easy to state in words 
but hard to code. How do I figure out where 
my next instruction is? I have instructions 
of different lengths in my op code set. I 
might jump or branch. . ." 

"Computer, remember the 'Thompson 
Lister' program on page 99 of the October 
1976 BYTE? It could figure out how long an 
instruction was by disassembling your code 
in memory. Well, I'm going to give you a 
version of that algorithm so that you can 
find the next op code. It'll also help you for- 
mat the instruction printout for my ease in 
reading." 

"Fine. . .if you think you're up to it. 
Besides, I remember that the 'Thompson 
Lister' couldn't catch invalid instructions. 
Sometimes you stick data into a subroutine 
return address and force me into the middle 
of nowhere!" 

"I remember that incident well enough. 
I'll add a table of invalid op codes so that 
you can call me names when you hit one." 

"This I like." 

"I thought you would. Now, think you 
can trace?" 

Computer sat with lights quivering. "I've 
got problems, Jack. You've given me a way 
to find the next instruction in most cases, 
but what about jumps or branches? Knowing 
the length of the instruction is no help." 

"True. I guess we'll need a set of special 
cases." 

"Oh boy. Here we go." 

"It won't be too bad." Jack didn't sound 
too convinced. "Let's start with the jumps. 
There are subroutine jumps and uncondi- 
tional jumps. They can be indexed or ex- 
tended addressing." 

"The subroutine stuff doesn't matter, 
Jack. For my purposes, a jump is a jump. 
All I need is the location of the end of the 
jump." 



"Fine. So, we'll have two special cases: 
extended jumps and indexed jumps. The 
extended jumps are easy; the second and 
third byte of the instruction are the address 
you require to set your new breakpoint." 

"Done." 

"The indexed jumps need the contents 
of the index register from the target pro- 
gram, but you have saved that! You have 
the offset in the second byte of the instruc- 
tion! Do a simple addition and you have the 
new breakpoint address!" 

"It's simple if you give me a 16 bit addi- 
tion program." 

"Surely. Now for subroutine returns. 
You can get the return address from the 
stack. You've saved the target program stack 
pointer, so you can get the top of the target 
stack for your new breakpoint. That's 
special case 3." 

"But what about all the branches?" 

"That will take a bit of work. Let's work 
on the unconditional branches first; they're 
simpler. You do know where the target 
program is because you've got its program 
counter saved. You get the offset from the 
second byte of the instruction. You just add 
the offset to the program counter." 

"What about signs, Jack?" 

"Oh, yes. Forgot about that." 

"I noticed that." 

"All right, computer. You get a gold 
star! If the offset is negative, you must 
subtract it from the program counter. I'll 
give you a 16 bit subtract too." 

"All that for just unconditional branches! 
I shudder to think what the conditional 
branches will need." 

"Not too much more. We just have to 
decide whether the branch will be executed 
or not. If not, then the branch is just 
another 2 byte instruction. If it is to be exe- 
cuted, then it is equivalent, for your pur- 
poses, to an unconditional branch. You've 
already got code to handle each case." 

"Yeah, but how do I know if the branch 
is to be executed? ESP?" 

"Nothing but good, clever programming 
is needed here. You have the condition 
codes from the target program saved away. 
You have the op code, the type of branch. 
All it takes is a little trick. You'll copy the 
branch into a spot in the trace code and set 
the condition codes from your save area. 
Then, if the branch falls through, you know 
to treat it as a normal 2 byte instruction. 
The branch will tell you when to use your 
branch code. Simple, huh?" 

"Self-modifying code. . .very poor form, 
Jack!" 

"Can you do it better?" 

"No." 

"Then stop complaining. It's effective; 



136 



BYTE December 1977 



it works. Don't knock it." 

"At least it will have your name on it 
and not mine. Any more special cases?" 

"A few. We've got to take care of the 
interrupt instructions RTI and WAI and 
SWI. Why anybody would try to trace a pro- 
gram with interrupts going off is beyond me, 
but we'd better be complete. They won't 
be hard to handle." 

"Thank God!" 

"Since when did you get religious? Any- 
how, the RTI is just like the subroutine 
return; just the return address is deeper on 
the stack." 

"That was relatively painless. I can figure 
out the SWI code myself. I know the soft- 
ware interrupt will get a handler address 
from its vector, which, since I have M IK- 
BUG, is in ROM. My new breakpoint goes 
at the address found in the vector." 

"Very good, computer. Now, the WAI is 
a bit of a problem. You can't know whether 
the interrupt that will get you out of wait 
state will be an IRQ or an NMI. They have 
different vectors. We'll just have to pick one 
and warn the user of my tracer that the 
other type of interrupt causes problems." 

"The IRQ is used more often, so I guess 
I'll get my new address from the IRQ 
vector." 

"I guess that's a good choice." 

"Done with special cases, Jack?" 

"I think so. Here, I'll load this program 
and you try to trace it." 

Computer began to trace. Jack smiled as 
the printout overflowed down the printer. 
Suddenly, the printing stopped. Jack 
punched RESET. 

"I was going good there, wasn't I, Jack?" 

"Yeah, but why did you stop?" 

"You had this call to MIKBUG in the tar- 
get program. I traced the next instruction 
and put my breakpoint out, but then every- 
thing fell apart." 

"Of course, of course! You can't put 
breakpoints into ROM! You can try to store 
anything you want, the data won't change! 
When you breakpoint, check that your 
breakpoint is going in. If not, quit before 
you get lost in thought." 

"Now you tell me!" 

"Better late than never. Now let's see, we 
can't trace through ROM or nonexistent 
memory and we can't tolerate nonmasked 
interrupts at all, or IRQs unless we were in 
a wait for interrupt state. Can you think of 
any other places we'd have trouble?" 

"Well, if you hit my RESET then I'll 
have trouble. I might not have fixed up my 
breakpoint yet." 

"Right. Tell you what: every time you fix 
up the code after having traced an instruc- 



tion, wait for me to hit a key on the console. 
This will let me stop tracing cleanly." 

"Glad to oblige. Now, your favorite 
trick of modifying instructions could cause 
problems. If an instruction tries to modify 
the instruction I've tried to breakpoint, 
well, kaboom!!!" 

"Very graphic." 

"You're buying me some graphics 
equipment?" 

"No, my eager processor. Perhaps a 
muzzle. . ." 

"Okay. Beware of tracing programs 
which use modifying instructions. You 
shouldn't write them that way anyhow." 

"Computer, try tracing this now." 

The stream of printout began again, with 
Jack periodically tapping the carriage re- 
turn key. "Wait a minute, wait a minute! 
Computer, you're getting some of these 
branches screwed up." 

"I'm just doing what you said to do." 

"Well maybe I was wrong." 

"Please publish that last comment, 
Jack! I want that admission in writing!" 

"Okay. Now, what's the problem? Why 
do some branches trace properly and others 
don't?" Jack poured over the printout 
while computer hummed contentedly. 

"Bob! Come here and look at this!" 
(Enter Bob, who really was there all the 
time, but didn't say much.) Bob scanned 
the trace listing. 

"You always get forward branches right. 
That must be a clue. What is it about back- 
ward branches? You get some of them 
right." Bob thought some more. 

"Oh, sure!" Bob jumped to the console 
again, papers falling to the floor. "If you 
branch backwards less than three bytes, 
then your new breakpoint overlaps the 
present instruction!" 

"Fine, Bob. Now what are we to do 
about that? My breakpoint has to be three 
bytes long." 

"Yes, but this problem only happens on 
backwards branches. A branch doesn't 
change anything in the target program ex- 
cept the program counter. In fact, it needn't 
be executed at all. We just change the return 
address from the trace routine to get back to 
the right place in the target program! We 
return to the breakpoint call, not the 
branch! It's easy." 

"Fine, Bob. Can I rest now? It's been a 
long time since I had some time to myself. 
All work and no play makes Jack's com- 
puter dull." 

"Computer!" 

"What is it, Jack? I was just reading that 
new language you guys have been working 



Of course, you can't 
expect to put break- 
points into read only 
memories. . . 



BYTE December 1977 



137 



on, STRUBAL. Bob wants me to compile it 
for him. It looks like a big project." 

"Well, right now I want you to help me 
extend our debugger." 

"You never give up, do you, Jack?" 

"With such an able assistant, why should 
I?" 

"That's hitting below the belt." 

"You don't have a belt, computer." 

"I forgot," said computer sheepishly. 
"What now?" 

"Your tracing is very helpful, but I'd like 
to be able to fix the errors that I find 
without reloading the program and retracing 
my steps." 

"Would you say 'our steps'?" 

"If you insist." 

"I do." 

"Okay. We don't want to retrace our 
steps. We need more of MIKBUG's capa- 
bilities in the debugger. I want to be able 
to change the register contents in the target 
program." 

"After I spend so much effort saving the 
contents?" 

"Yes. If I find that a register has the 
wrong thing in it, then I'll want to correct 
the register before you go on to the next 
instruction." 



nnnouncsnG 

0RHI1GE COUHTV'S 

most [onuenient 
& mast Affordable 

Computer Store 

WE OFFER A COMPLETE LINE OF MICROCOMPUTERS, 
PERIPHERALS AND ACCESSORIES 

IMSAI SEALS PRINTERS 

CROMEMCO HAZELTINE BOOKS 

BYTE 8 LEAR SEAGLER MAGAZINES 



VISIT OUR STORE AND SEE THE 
LATEST IN AFFORDABLE COMPUTERS 



BVTE 

ShOP 



v 



W E R 



4* 



674 ELCAMINO REAL 
EL CAMINO PLAZA 
TUSTIN, CA 92680 

PHONE f7ft)73l-r6S6 

MON THUR 11 - 7 
IRI 11-9 

SA1 10 - b 




"Well, that's no big deal. I just change 
my stored value for that register. Then, 
when I return to the target program, the 
register will have what you want in it. How 
will you tell me which register to change?" 

"I thought a lot about that, and I think I 
will use the console input that now tells you 
to go on. From now on, if I type a carriage 
return, then go to the next instruction. If 
I type a capital A, then I want to change 
your A register. If I type a capital B, then I 
want to change your B register. Similarly, 
X and S indicate your index and stack 
registers. Just after the input you can wait 
for me to type in the new value I want in 
that register." 

"I suppose I keep letting you change 
registers until you get around to a carriage 
return?" 

"Right, and, if I type something that 
doesn't correspond to a register, just skip it. 
Prompt me for another input." 

"Yes sir, boss. Let me anticipate your 
next request. You want to be able to change 
memory locations, like MIKBUG does." 

"Right again! We'll indicate that with a 
capital M. I'll enter the address. You give me 
the present contents and then let me type 
my desired value for that location." 

"Done. I'm going to add a feature that 
might be useful. I'll automatically convert 
lower case letters to upper case. Then you 
won't have to worry about case shifting on 
that fancy console." 

"That's a good idea. Thanks." 

"Glad to help. At least it will keep the 
swearing down when you forget to shift." 

"Yes." 

"Jack, I've got a question." 

"What?" 

"If you can change registers and memory 
at will, can't you get me into situations 
where I can't continue a trace? Especially 
if you muck around with the stack." 

"I guess that's true, but let the user be- 
ware. I don't expect you to protect against 
every stupidity that a programmer may 
come up with. All the legitimate cases I 
can think of will work correctly. After all, 
the trace program is only about one 
kilobyte." 

"I'm glad you said that and not me." 

"Computer, we understand each other." 

"Yeah, Jack. Now can I go back to read- 
ing STRUBAL?" 

"I suppose so." 

"Jack, would you put a clean cassette in 
drive 1 ? I think I may be needing it." 

"Sometimes I wonder who works for 
whom," muttered Jack as he reached for 
the bulk eraser. He dropped the cassette 



138 



BYTE December 1977 



Circle 15 on inquiry card. 



into the drive. It began to slowly and in- 
exorably turn. 

"Computer, load the tracer program, 
please." 

"You want to change it again 1 . " 

"Don't get steamed up. I just want to run 
an example to test out the tracer." 

"What target program should I load?" 

"You don't need one." 

"Come on, Jack, be serious. Of course 
I need a target program. You don't expect 
me to trace memory garbage. You don't 
mean that, do you, Jack?" 

"You've already loaded a program; 
let's trace that." 

"Trace the tracer. Clever! That will 
really show that tracing doesn't upset the 
target program. Okay, I'm ready." 

"Go." 

"What address in the program do you 
want to start at?" 

"How about 212 hexadecimal?" 

"212 it is. Here are your registers: index, 
condition code, B, A, and stack pointer. 
The instruction is a CLR B, hexadecimal 5F. 
What would you like?" 

"Continue trace." Computer traced the 
next instruction. Jack typed a carriage re- 
turn and computer traced again. Again Jack 
hit the return and computer traced. Jack 
hit yet another carriage return. Computer 
traced the instruction at 219. 

"Why don't you show off some of your 
register change stuff? You're at a compare A 
with 8C immediate instruction; why not 
make A equal to 8C?" 

"Fine. Do it." 

"Done. What now?" 

"Continue tracing." 

"The tracing tracer traces, and having 
traced, moves on." 

"Can the poetry and just trace the pro- 
gram, if you don't mind." 

Computer traced the next ten instruc- 
tions without comment. "Let's show some 
of the other debug stuff." 

"Okay. Change the B register to FF." 

"Done." 

"Change the index register to 1234." 

"Roger." 

"Change the condition codes in the tar- 
get program to D1." 

"That's cute, Jack. What does it mean?" 

"Just do it." 

"All right. How about a memory change? 
I've got lots of memory that isn't being used 
right now." 

"Fine. Look at location 500." 

"It's got 22 in it now." 

"Make that 44, computer." 

"Your wish is my command." 



"Continue the trace." 

"I'm at 10B now. It's a jump to 
MIKBUG." 

Jack hit a carriage return. 

"Got to stop here, Jack. I can't trace 
ROM. Try a new address?" 

"No, I think that will make a sufficient 
example." Jack turned and walked toward 
the kitchen. He almost imagined that he 
heard a sigh from the workshop. He ig- 
nored it." 

And when Tracer was done, Jack's computer sent his printer the following 
listing of tracer tracing tracer, ultimate confirmation of the program's opera- 
tion. In this listing, the lines which are blank except for single colons illus- 
trate inputs of carriage returns to cause the program to proceed with tracing 
the next instruction. Each line of output contains the hexadecimal contents 
of the index . register, processor condition codes, B and A accumulators, 
stack pointer, current instruction address, and the current instruction's 
hexadecimal operation code and operands. A fter tracing through to location 
0245, several memory manipulation and register manipulation commands 
are executed, followed by one further line of traced code. 

ENTER START-TRACE ADDRESS: 0212 

X CC B A SP-ADDRESS INSTRUCTION 
0212 D0 02 8C A042 0212 5F 

0SI2 D4 00 8C AW42 0213 FE 0173 

02 16 1)0 00 8C AU42 61216 A6 00 

02 16 D8 00 A6 A042 0218 08 

0217 D8 00 A6 A042 0219 81 8C 
A BC 

0217 D4 B0 8C A042 021F) 27 1C 

0217 D4 00 8C A042 0239 5C 

0217 D0 01 8C A042 023A 5C 

0217 OS 32 8C A042 023P 5C 

0217 DO 03 8C A042 023C F7 172 

0217 D0 03 8C A042 023F 5A 

02 17 D0 02 8C A042 0240 27 09 

02 17 D0 02 BC A042 0242 5A 

0217 00 01 8C A042 0243 27 03 

0217 D0 01 8C A042 0245 BD 010B 
E FF 
X 1 2 3 4 
C Dl 



Using Tracer 6800 

A low level trace technique is a useful ad- 
junct to an assembly language oriented pro- 
gram development situation. The tracer pro- 
gram described in this short story can be 
purchased by 6800 owners in the form of a 
Paperbytes tm program product, number 2.1, 
soon to be published. Tracer: A 6800 Debug- 
ging Program includes a reprint of "Jack and 
the Machine Debug," tracer program notes, 
complete assembly and source listing, object 
program listing, and machine readable Paper- 
bytes tm bar codes for the object program. 
Watch BYTE for details on price and where to 
purchase Tracer. 



BYTE December 1977 



139 



Multiprogramming Simplified 



Multiprogramming is the ability of the 
computer's operating system to handle and 
execute several programs concurrently. In 
this article, I've set out to explain in a simple 
fashion the concept of how the operating 
system of a computer handles more than one 
job (program) at one time. Only the essential 
elements are included in this simple model, 
which is based on a "typical" large scale 
computer's programming environment. The 
same general concepts are of course appli- 
cable as well to the much smaller memory 
regions of the typical personal computer. 

The operating system, through its various 
control programs, keeps track of the amount 
and location of available memory and the 
specific memory regions allocated to pro- 



Job 


Active Ready Waiting 


NSI 


Queue 


Queue Queue Queue 


Cells 


A - 1 00 K 






B - 1 50 K 






C" 50 K 






D- 150 K 






E - 1 00 K 








Program Counter = xxxxxx 





Figure I: When a program is entered into the multiprogramming computer, it 
is first put onto a job queue. The jobs are typically stored in the order they 
are entered, and each queue entry has all the essential information about the 
job. 



Job 
Queue 

D - 1 50 K 
E - 100 K 


Active Ready 
Queue Queue 

A 
B 
C 


Waiting 
Queue 


NSI 

Cells 

A 100,000 
B 200,000 
C 350,000 




Program Counter = 


= xxxxxx 





Figure 2a: Enough memory is available to fit the first three programs into the 
ready queue so they can await execution. The next sequential instruction 
(NSI) cell for each of the programs is initialized to the location of the first 
instruction in the corresponding program. 



grams currently in memory. As programs 
(tasks) are read into the computer, certain 
information associated with them is 
stored by the computer. The name of the 
program and the location where the above 
information about the program is stored 
is placed on a list called the job (task) 
queue (see figure 1). As memory becomes 
available, programs to be executed are 
loaded into memory (figures 2a and 2b) 
according to their size and arrival time 
(how long they have been waiting). Infor- 
mation regarding these programs, such as 
name and location, is placed on the ready 
queue. As processing continues, programs 
are categorized as either active, ready or 
waiting. Only one program at a time can 
be active. 

The operating system maintains a special 
memory location for each program in 
memory which contains the next sequential 
instruction (NSI) to be executed for that 
program. This memory location is called 
the NSI cell. As a program is loaded into 
memory, the address of the first instruction 
to be executed for that program is moved 
into this NSI cell. A special NSI register 
(program counter) is maintained by the 
hardware containing the address of the next 
sequential instruction to be executed for the 
currently active program. When a program 
becomes active, the next sequential instruc- 
tion pointer is moved from its NSI cell to 
the program counter of the computer; this 
will of course be dynamically changing for 
the currently active program. As instructions 
for the active program are executed the 
value of the program counter is typically 
incremented by the length of the current 
instruction being executed to reflect the 
address of the next instruction address 
that is to be executed. When branches 
occur, the program counter is redefined 
completely. This process is repeated until 
the program is either completed or inter- 
rupted by an outside service request from a 
real time clock or 10 operation. If the active 
program has been completed, its memory 
allocation is freed and becomes available for 
reallocation. If it was interrupted it will be 



140 



I1YTE December I 977 



Irwin Lahasky 
Bankers Trust Company 
1 Bankers Trust Plaza 
New York NY 10006 



placed on the waiting queue and its next 
sequential instruction pointer will be defined 
by the old program counter value at the time 
of interrupt. The highest priority program in 
the ready queue will be given active status, 
its NSI cell will be moved to the program 
counter, and instruction execution will be 
resumed at its NSI address. 

As 10 requests are serviced, programs will 
be moved from the waiting queue to the 
ready queue, and will be returned to active 
status when their turn comes. Example: 
Program A (100 K bytes), program B (150 
K bytes), program C (50 K bytes), program 
D (150 K bytes) and program E (100 K 
bytes) are read into the computer and placed 
on the job queue (figure 1). 350 K bytes of 
memory are available beginning at address 
location decimal 100,000. Addresses thru 
99,999 may contain operating system pro- 
grams. Program A is loaded into locations 
100,000 to 199,999, its NSI pointer is set 
to its first instruction to be executed 
(address 100,000), and it is placed in the 
ready queue. Program B is loaded into 
locations 200,000 to 349,999, its NSI 
pointer is set to its first instruction address 
of 200,000, and it is placed second in the 
ready queue. Program C is loaded into 
locations 350,000 to 399,999, its NSI 
pointer is set to 350,000, and it is placed 
third in the ready queue. 50 K bytes remain 
available in memory from addresses 400,000 
to 449,999, but this is insufficient for either 
of the remaining programs (D and E), which 
require 150 K and 100 K bytes, respectively. 
Therefore this memory will remain tempo- 
rarily unused (figures 2a and 2b). 

If there is no entry in the active queue, 
the first program in the ready queue, pro- 
gram A, is moved to active status, its NSI 
cell is moved to the program counter 
(figure 3), and execution will begin at the 
status address. Program B now becomes 
first on the ready queue and program C 
second. As the instruction at location 
100,000 is fetched and executed, the 
address in the program counter value 
changes as instructions are executed. 

Assuming the first instruction is 2 bytes 



Address 000,000 



Operating System Programs 



Address 99,999 



* Address 100,000 



Program A 



Address 199,999 



* Address 200,000 



Program B 



Address 349,999 * 



Address 350,000 



Program C 



Address 399,999 



Address 400,000 



Unused 



Address 449,999 



Figure 2b: A representation of where the programs are actually stored in 
memory. Addresses thru 99,999 (decimal notation) are used by the oper- 
ating system of this example. 



Job 
Queue 



D - 1 50 K 
E - 1 00 K 



Active 
Queue 



Ready 
Queue 



Waiting 
Queue 



NSI 
Cells 

A 100,000 
B 200,000 
C 350,000 



Program Counter = 100000 



Figure 3: Program A is moved into the active queue to be executed. The 
next sequential instruction pointer is moved from the appropriate NSI cell to 
the program counter upon activation. 



Job 
Queue 



D " 1 50 K 
E - 1 00 K 



Active 
Queue 



Ready 
Queue 



B 

c 



Waiting 
Queue 



NSI 
Cells 

A 100,000 
B 200,000 
C 350,000 



Program Counter = 100002 



Figure 4: The program counter is here incremented by 2, since the first 
instruction of program A is a 2 byte instruction. This has no effect on the 
related NSI cell. 



BYTE December 1977 141 



long, the next sequential instruction to 
be executed becomes 100,002 (figure 4). 
After the execution of the instruction at 
location 100,000 is completed, the instruc- 
tion pointed to by the program counter 
(at location 100,002) is fetched for execu- 
tion, and the program counter is changed 
to 100,004. This is done because the second 



Job 
Queue 



D- 150 K 
E- 100 K 



Active 
Queue 



Ready 
Queue 



Waiting 
Queue 



NSI 
Cells 

A 158,272 
B 200,000 
C 350,000 



Program Counter = 158,272 



Figure 5: When program A reaches memory location 758,266, read instruc- 
tion is encountered that is 6 bytes long. The program counter is incremented 
by 6 to 158,272. While the read operation takes place, program A is removed 
from the active queue and put into the waiting queue. The current value of 
the program counter is then stored in the A NSI cell as shown here. 



Job 
Queue 

D - 1 50 K 
E - 1 00 K 


Active 
Queue 

B 


Ready 
Queue 

C 


Waiting 
Queue 

A 


NSI 
Cells 

A 158,272 
B 200,000 
C 350,000 




Program 


Counter = 


200,000 





Figure 6: The next program on the ready queue is moved to the active queue 
after an interrupt. The appropriate NSI cell is moved to the program counter 
(re)starting the program on its way. 



Job 
Queue 



Active 
Queue 



150 K 



Ready 
Queue 



Waiting 
Queue 



NSI 
Cells 

A 158,272 
B 248,208 

E 350,000 



Program Counter = 158,272 



Figure 7: At this point program C has finished and has been removed from 
memory. There is not enough room for program D but there is for program E, 
which is loaded into memory and the ready queue. Program E's NSI cell is set 
to its first instruction 's location. Program A 's read operation has finished and 
program A is again in the active queue. The programs will continue to shift in 
and out of the active status as they are interrupted, until the entire series, and 
any that are read in later, is completed. 



instruction is also two bytes long. 

Processing continues in this manner until 
an interrupt in processing is encountered, 
such as a request to read data into the pro- 
gram from an input device or a request to 
write data to an output device. In this case, 
time is required to get or write the external 
data, and control is transferred to another 
program in the following manner. For the 
purpose of our example, let us assume that 
program A issued a read instruction located 
at address 158,266, and that this instruction 
type is six bytes long. The program counter 
which had been pointing to address 158,266 
will be incremented by 6 to 158,272 (figure 
5). An interrupt is generated by this IO 
instruction. 

The program counter contains the address 
where execution is to be resumed for pro- 
gram A (158,272). The program counter 
is stored in program A's NSI cell, and pro- 
gram A is placed last on the waiting queue. 
The next program in the ready queue is 
moved to active status, its NSI cell is moved 
to the program counter, and processing is 
continued at the address (now different) in 
the program counter (figure 6). 

As jobs are completed and their memory 
allocation is freed, programs waiting on the 
job queue are loaded into available locations. 
Their NSI cells are initialized and they are 
placed last on the ready queue. 

Programs are loaded into memory ac- 
cording to their position on the job queue, 
their memory needs, and availability of core. 
If program C, which occupies 50 K bytes, 
finishes first, its memory allocation of 50 
K bytes plus the 50 K bytes which is unused 
(total 100 K bytes) is not sufficient for pro- 
gram D (which needs 150 K bytes) even 
though program D is next in line on the job 
queue. The 1 00 K bytes of available memory 
is sufficient for program E, so it is loaded 
into locations 350,000 thru 449,999. Its 
NSI cell is then set to 350,000 and it is 
placed last on the ready queue (figure 7). 

This idea of multiprogramming has 
developed over a number of years of conven- 
tional computing systems, ranging from the 
simplicity of two interacting programs on 
small machines to the larger contexts of 
many jobs executing simultaneously on the 
biggest machines. It is an example of how 
creative programming and design of systems 
software can make a machine do more than 
what the hardware designer intended." 



142 



BYTE December 1977 



Comments on Paging Schemes 

Just read "Give Your Micro a Megabyte" 
by R D Grappel in the July BYTE and I 
thought it was GREAT! I think I have a way 
to avoid the startup "difficulty" referred to: 

1. Reset the "page written latch." 
This will keep the junk page from 
being written into bulk store. 

2. Use a latch to disable the page com- 
parator logic so as to force a "not 
equal" output. This will cause the page 
processor to begin the page fetch 
sequence. The comparator will be en- 
abled upon completion of the fetch 
operation. 

3. Use the output of the page com- 
parator as the source for causing the 
main processor to wait. This will allow 



immediate response to a request for a 
nonresident page. The main thing, 
however, is that the page processor 
need not respond as quickly as before, 
since the comparator has already asser- 
ted the wait request to the main pro- 
cessor. 

4. Update the page select register after 
the completion of the page fetch oper- 
ation. By waiting until the newly re- 
quested page is in main store, the wait 
request will automatically be disabled 
at the proper time. Also, each time the 
update occurs, the comparator is en- 
abled, thus the latch set during startup 
will be cleared to its normal run state. 

It is clear that by doing things this way 
the startup sequence looks just like any 
other nonresident page fetch. ■ 



Technical 
Fcnum 



James F Gentry 
4116Schalk Rd 1 
Millers MD 21107 



Senior Computer 
Systems Technicians 



We're the fastest growing small-computer systems company in the world. 
Not just in systems sales, but in careers as well. 

Several new Senior Systems Tech positions are opening up here in 
Southboro this month and in the immediate future. They're key assignments 
that demand at least 3 years' experience, minimum, and an ASEE degree or 
its equivalent. Your background should include familiarity with CPU memory, 
moving head disks and related peripherals. 

What each of these jobs offers is the chance to move your career up to 
new levels. 

Our salary levels, benefit program and training programs are attractive 
and more easily discussed in a personal interview. 

To arrange for an interview send a letter or resume to John Prendergast, 
Data General, Route 9, Southboro, MA 01772. Data General is an equal 
opportunity employer M/F. 

IrDataGeneral 



Circle 36 on inquiry card. 



BYTE December 1977 



143 



The disk system you want 

at a price you didn't expect from a 

company that understands systems. 




144 BYTE December I977 



THE VISTA *50 
FLOPPY DISCOUNT 



We know that one of the biggest problems in 
personal computing is that you're buying with 
your own personal dollars. 

That's precisely why you're going to like 
doing business with us. 

We're Vista Computer Company, the personal 
computer systems brainchild of the business com- 
puter systems people at Randal Data Systems. 

And our V80 Floppy Disk System is a perfect 
example of how we're prepared to help you get the 
most out of your personal computing dollars. 

$649 buys you the 
whole kit and kaboodle 

The $649 you spend on a Vista V80 Floppy 
Disk System ($749 assembled) gets you every- 
thing you need: 

An 80K byte minifloppy drive (assembled and 
tested) that can be powered directly by your 
8080 or Z-80 computer. (Case and power 
supply optional.) 
An I/O cable and a 
single card, S100 bus- 
compatible controller kit 
that handles up to four 
drives and includes a PROM 
for bootstrap loading (addi- 
tional drives just $399). 
VOS, the most advanced 
microcomputer disk operating 
system available, and our 
BASIC-E compiler, designed 
to work with VOS, all on a 





single diskette. Software functions include 
instantaneous program loading, named dynamic 
files, program editing, assembling, debugging, 
batch processing, and file copying on back-up 
diskettes. 

All backed by the Vista 90-day warranty, mem- 
bership in VUE (Vista Users' Exchange), and 
Dataforce, our associated service company with 
115 locations throughout the country. 

Test drive the V80 
at your local computer store 

Drop by your nearest computer store and run 
the V80 through its paces. Once you find out what 
it can do for you, you'll see that our combination 
of high performance and low price is hard to beat 
and easy to take. 

We love to take orders 

If you'd like us to ship you a Vista V80 Floppy 
Disk System, they're available now. Just send us a 
check or money order for the amount 
of purchase, or your BankAmericard/ 
VISA or Master Charge account 
number with expiration date and 
authorized signature. California resi- 
dents add 6% sales tax. Uncertified 
checks require six weeks processing. 

To place your order, or to obtain 
further information, call or write today. 

Vista Computer Company, 2807 
Oregon Court, Torrance, CA 90503. 
(213) 320-3880. 



Vi/tci 



We never forget it's your pocket. 



BYTE December 1977 



145 



Control your Premises! 
with INTROL 




the Intelligent 
Remote Control System 

Mountain Hardware's new Introl™ system is a sophisticated 
remote control system that communicates over the standard 
1 10 VAC power lines. The AC Controller"" board is an S-100 
compatible board that is capable of controlling up to 
64 remote units anywhere in your building. The AC Remote'" 
unit has two independently controllable AC sockets that 
can turn two 500 wott appliances on or off. The computer can 
also "poll" the remote to check its status (on or off). 
Programs can easily be written in Basic or assembly language 
to monitor and control remote devices. All future remotes 
(temperature indicator, remote terminal, and status sensor) 
will be compatible with the AC Controller board. An Apple II 
version is also available. 

A functional Introl system requires one AC Controller board 
and at least one remote unit. Complete documentation 
is provided with each component of the Introl system along 
with software subroutines for your own controller programs. 



aaaaam Advanced 8K 
PROROM Memory System 




PROAOM is a 7.BK 6PROM + 512 RAM board that is S-100 
compatible. It has a built in programmer which allows you to 
program the AMI-6834 CPROMs one byte at a time without 
special software. The kit is complete with sockets, manual, 
256 bytes of RAM and one 512 byte PROM, preprogrammed 
with on 8080 system monitor. 

KIT ASS6MBLCD 

AC Controller $1 49 $ 1 89 

AC Remote $99 $ 1 49 

PROROM $1 64 $214 

68346PROMs $10 ea. 

Available now at most computer stores or directly from 
Mountain Hardware, Inc. Visa and Master Charge accepted. 
Calif, res. add 6% sales tax. (408) 336-2495. 

K Mountain Hardware, Inc. 

S Box 1133 Ben Lomond, CA 95005 



Beck Reviews 



Principles of Interactive Computer Graphics 
by William M Newman and Robert F 
Sprouil, McGraw-Hill, New York. $22.50. 

It seems to be only a matter of time until 
someone somewhere develops a high resolu- 
tion graphics display at a price within the 
reach of the amateur computer experi- 
menter. Several companies have already 
introduced devices capable of generating 
medium resolution pictures using bus 
compatible cards and a common TV or 
monitor. Once the hardware is available, 
then comes the software: the programs 
that build the picture and move it in two 
or even what looks like three dimensions. 
A highly definitive and readable book by 
William Newman and Robert Sprouil, 
Principles of Interactive Computer Graphics, 
leads the reader step-by-step through 
display devices, display files, interactive 
graphics, three-dimensional computer 
graphics and finally graphics systems. 
The book is designed as a college text, 
but this does not diminish its general 
usefulness. The language is not heavy 
and the math is for the most part limited 
to algebra. Nine appendices cover most of 
the nonalgebraic math and machine or 
language specific descriptions. 

Part 1 describes available display devices 
including CRTs, storage tubes and plasma 
panels. Attention is given here for the 
nonhardware oriented reader to gain an 
understanding of what actually happens 
inside the equipment and what the advan- 
tages and disadvantages of each gadget are. 
Next follow two chapters on point plotting 
displays and vector generation. These are 
followed by a chapter on display processors, 
the highly necessary hardware that drives 
the actual picture making unit. Also covered 
here is an instruction set for a display pro- 
cessor that is used throughout the book. 

Part 2 gets into the actual programming. 
For openers, the authors describe a hypothe- 
tical instruction set similar to that used on 
the IMLAC PDS-1 and the 18 bit DEC com- 
puters. This instruction set, along with that 
of the previous section and the SAIL lang- 
uage (an extension of ALGOL-60), is used in 
the numerous examples to illustrate sample 
techniques and methods. The authors then 
continue with a description of the use of 
subroutines and files to simplify and con- 
dense the instructions required to generate 
a picture. Finally, once you have built a 
picture, how do you move it? In the chapter 



146 



BYTE December 1977 



Circle 79 on inquiry card. 



on transformations, both rotation about an 
axis and shifting along a line are discussed. 
Then comes the problem of eliminating part 
of a display that has been transformed off 
the screen. For the solutions the authors 
describe methods such as scissoring, clipping, 
windowing and viewporting. 

Interactive graphics, part 3, is the real 
heart of the book and probably the most 
interesting section. Here is where graphic 
input devices such as the light pen or the 
Stanford Research Institute "mouse" are 
tied into the total system to provide a device 
which is efficient and usable. Also covered 
here are interrupt techniques, hardware 
versus software, and character recognition. 

Three-dimensional graphics is given a 
good treatment with discussions of wire 
frame perspective, hidden line, hidden 
surface and shading, to name a few. This 
section once again discusses the trans- 
formation theory and some sample imple- 
mentations required to move a three-dimen- 
sional object through space. 

The last section, part 5, deals with needed 
languages as well as those now available for 
use in developing interactive graphics sys- 
tems. Included are discussions of command 
languages, primitive operators, and some 
considerations on system design. 

From a hobbyist standpoint, one of the 
best parts of the book is its extensive biblio- 
graphy. Over 300 references are cited with 
a short preceding section which describes 
some of the most useful. 

While it does not read like a popular 
novel, the book is exciting and tends to 
encourage "leafing through" until some- 
thing interesting catches the eye for more 
detailed reading. The authors have gone to 
considerable effort to expound virtually 
every method or algorithm talked about 
with actual program segments and profuse 
illustrations (After all, what good is a book 
about graphics without lots of pictures?). 

For the beginner in graphics who needs 
to know a little about everything or for 
the professional who needs a reference 
work, this book is a good place to start. 
The style is easy to read and skim for the 
novice, and the depth of the material 
presented is sufficient so that with the 
bibliography and appendices, even an 
old-timer can learn a lot. 

If you are not afraid of something be- 
sides BASIC and the ASR-33 then this 
book can make a valuable addition to 
your reference shelf. 

Steven Fox 

875 Foxcroft Lp 

Bosque Farms NM 87068" 



Introducing a new order of profes- 
sional printing performance— the 
Integral Impact . . . with features 
normally found only in big, higher- 
priced units. 

• Microprocessor based controller 

• Serial RS-232, current loop and 
parallel TTL interfaces are standard 

• Built-in self-test mode 

• Plain paper— 8V2" wide— roll or 
fanfold 

• Standard 64 character ASCII set 
using 5 x 7 dot matrix 

• Multiple copies without adjustments 

• Line length to 132 columns 

• Instantaneous print rate to 1 65 cps, 
throughput to 80 cps 

• Attractive table top console with 
front panel controls 



'Site 5 



lN\P* cT 



Circle 63 on inquiry card. 



lYow- 
Big Printer 

Performance 
ata 

Mini-Printer 

Price 

Only $ 745 
complete 




^Integral Data Systems 

5 Bridge Street • Watertown, MA 021 72 . (617)926-1011 



BYTE December 1977 147 



Circle 69 on inquiry card. 

FINALLY. 

A State-of-tHe-Art 
T«h>I For Learning 
Software Design. 

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 sys- 
tematic software design techniques, 
structured program design, and prac- 
tical 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 back- 
ground material on micro-computer 
architecture, hardware/software trade- 
offs, and useful reference tables. All 
for only $49.95. 

For $49.95 you learn design tech- 
niques that make software work for 
you. Modu-Learn™ starts with the 
basics. Our problem-solution ap- 
proach enables you to "graduate" as 
a programmer. 

See Modu-Learn™ at your local com- 
puter store or order now using the 
coupon below. 



Please send the Modu-Learn™ course for 
me to examine. Enclosed is $49.95 (plus 
$2.00 postage and handling) or my 
Mastercharge/Bankamericard authoriza- 
tion. 



Name:, 

Address:. 
City: 



.State:. 



Card # 

Expiration date:. 
Signature: 




711 Stierlin Road 
Mountain View, CA 94043 
(415) 965-8365 



Programming Cuicfcies 



A Number Guessing Game 



Keith C Laudenslager 
139 Bronx Dr 
Cheektowaga NY 14227 



SERVICES INCORPORATED 



This is a game to guess a number between 
and 99 that the 8080 computer is thinking 
of. When the program if initialized, a "C" 
followed by a carriage return and line feed 
is sent out to your Teletypewriter or video 
monitor. To start, type in any 2 digit num- 
ber using leading zero for numbers below 
ten. If it is not the number the computer is 
thinking of, the number will be typed out 
followed with an "H" or "L" The "H" or 
"L" indicates that you guessed either too 
high or too low. If the number is guessed 
correctly, it will be typed out and followed 
by the letter "C." To play again, just type in 
another 2 digit number. The program is 
listed in symbolic form along with absolute 
code, and was assembled by hand." 



1030 


IE 


A3 




START 


HVI 


E.43H 


■ Ei- "C" 


1038 


CD 


86 


10 




CALL 


CHOUT 


■OUTPUT CHARACTER 


1035 


CD 


91 


10 




CALL 


CRLF 


I0UTPUT CARRIAGE RET AND LINE FEED 


1038 


04 






LOOP 


INR 


B 


I INCREMENT LOOP COUNT 


1039 


DB 


FE 






IN 


FEH 


< INPUT DATA 


103B 


E6 


01 






AMI 


04H 


1 CHECK IF DATA AVAILABLE 


103D 


CA 


38 


10 




JZ 


LOOP 


I LOOP UNTIL DATA READY 


1040 


78 








MOV 


A>B 


J OTHERWISE GET COMPUTER NUMBER 


1041 


87 








DAA 




■ADJUST TO DECIMAL NUMBER 


1042 


47 








MOV 


B,A 


IRES Bl -NUMBER 


1043 


CD 


9C 


10 


G-UESSIN 


CALL 


INECHO 


1 INPUT DATA AND ECHO 


1046 


CD 


AB 


10 




CALL 


ASCBIN 


1 ASCI I TO BINARY CONVERTOR 


1049 


OF 








RRC 




;move FIRST 


104A 


OF 








RRC 




JDIGIT TO 


104B 


OF 








RRC 




■UPPER 4 BITS 


104C 


or 








RRC 




)0F BINARY DATA 


I04D 


4F 








MOV 


CA 


I REG Ct -RESULT 


104E 


CD 


9C 


10 




CALL 


INECHO 


1GET SECOND DIGIT 


1051 


CD 


AB 


10 




CALL 


ASCBIN 


■ASCII TO BINARY CONVERTOR 


1054 


81 








ADD 


C 


■PACK BOTH NUMBERS TOGETHER 


1055 


4F 








MOV 


CA 


■ REG O-BOTH NUMBERS 


1056 


3E 


SO 




TEST 


MVI 


A.50H 


■REG At- 50 


1058 


B8 








CMP 


B 


■IS COMPUTER # ABOVE 507 


1059 


FA 


63 


10 




JM 


ABOVE 


■ GO TO ABOVE IF 1 ABOVE 50 


105C 


B9 








CMP 


C 


■NUMBER GUESSED ABOVE 50? 


105D 


FA 


6F 


10 




JM 


NUMHI 


■ IF ABOVE 50 GO TO NUMHI 


1060 


C3 


67 


10 




JMP 


CMPBC 


■GO TO CMPBC IF BOTH BELOW 50 


1063 


B9 






ABOVE 


CMP 


C 


■IS NUMBER GUESSED ABOVE 507 


1064 


F2 


74 


10 




JP 


NUMLO 


■IF NOT ABOVE 50 GO TO NUMLO 


1067 


79 






CMPBC 


MOV 


A.C 


■ACCt -NUMBER GUESSED 


1068 


B8 








CMP 


B 


■COMPARE COMPUTER AND GUESSED # 


1069 


CA 


30 


10 




JZ 


START 


■IF EQUAL GO TO START 


106C 


FA 


74 


10 




JM 


NUMLO 


■GUESSED TOO LOW 


106F 


IE 


48 




NUMHI 


MVI 


E.48H 


■ Ei-m" 


1071 


C3 


76 


10 




JMP 


OT 


) OUTPUT "H" 


10 74 


IE 


4C 




NUMLO 


MVI 


E.4CH 


JEl""L" 


1076 


CD 


86 


10 


OT 


CALL 


CHOUT 


■OUTPUT CHARACTER 


10 79 


CD 


91 


10 




CALL 


CRLF 


■OUTPUT CARRIAGE RET AND LINE FEED 


107C 


DB 


FE 




NXTNUM 


IN 


FE 


■INPUT DATA 


10 7E 


E6 


04 






ANI 


04H 


J I S DATA READY 


1080 


CA 


7C 


10 




JZ 


NXTNUM 


■LOOP UNTIL DATA READY 


1083 


C3 


43 


10 




JMP 


GUESS IN 


■PROCESS NEXT NUMBER 


1086 


DB 


FE 




CHOUT 


IN 


FE 


JCHECK IF TRANSMIT 


1088 


E6 


oe 






ANI 


OS 


J BUFFER IS EMPTY 


108A. 


CA 


86 


10 




JZ 


CHOUT 


■LOOP IF BUSY 


108D 


7B 








MOV 


A.E 


■ACCl-DATA 


108E 


D3 


FF 






OUT 


FF 


■OUTPUT CHARACTER 


1090 


C9 








RET 




■RETURN 


1091 


IE 


OD 




CRLF 


MVI 


E.ODH 


■REG "E"I-CARRIAGE RETURN 


1093 


CD 


86 


10 




CALL 


CHOUT 


■OUTPUT CHARACTER 


1096 


IE 


OA 






MVI 


E.OAH 


JREG "E"I-LINE FEED 


1098 


CD 


86 


10 




CALL 


CHOUT 


■OUTPUT CHARACTER 


109B 


C9 








RET 




1 RETURN 


I09C 


DB 


FE 




INECHO 


IN 


FE 


IIS DATA AVAILABLE? 


109E 


E6 


04 






ANI 


04H 


JCHECK STATUS BIT 


I0A0 


CA 


9C 


10 




JZ 


I NECHO 


■LOOP UNTIL DATA AVAILABLE 


10A3 


DB 


FF 






IN 


FF 


) INPUT DATA 


10A5 


5F 








MOV 


E.A 


JREG El -DATA 


10A6 


CD 


86 


10 




CALL 


CHOUT 


■ECHO DATA 


10A9 


7B 








MOV 


A.E 


■RESTORE DATA TO ACCUMULATOR 


10AA 


C9 








RET 




■ RETURN 


10AB 


D6 


30 




ASCBIN 


SUI 


30H 


JSUBTRACT ASCII ZERO 


lOflD 


FE 


OA 






CPI 


OAH 


■IS IT A LETTER OR NUMBER? 


10AF 


FS 








RM 




■RETURN IF IT IS A NUMBER 


10BO 


D6 


07 






SUI 


07H 


■SUBTRACT ASCII SEVEN 


10BB 


C9 








RET 




■ RETURN 



148 BYTE December 1977 



BYTEs Bits 



TECHNICAL NOTE: 

Selectric Interfacing Experiences 

I enjoyed Dan Fylstra's well written 
article ("Interfacing the IBM Selectric 
Keyboard Printer," June 1977 BYTE, 
page 46), as his experience paralleled 
my own. Perhaps it is too obvious to 
mention but one big advantage of the 
Selectric is that it makes a fine stand 
alone typewriter. This is not impaired 
by connecting it to a computer and can 
help justify the outlay of several hun- 
dred dollars. There are many variations 
on the Selectric theme beyond the 
carriage size. Coil voltage may be 24 or 
48 V, friction feed or a variety of 
traction feed (pin feed) platens are 
available, some printers are without 
keyboards, and Selectric mechanisms 
are used in other manufacturers' hous- 
ings and equipment. 

The 10 Selectric (versus the type- 
writer version) is designed for con- 
tinuous operation and once set up 
properly it should be quite reliable. 
Properly is the catch word since it is 
a complex mechanism and those who 
work on these machines professionally 
are used to getting professional prices. 
Surplus units can run the gamut from 
functionally perfect and well maintained 
to run-to-destruction and cannibalized 
hulks. I've been favorably impressed 
with the parts situation both in terms 
of price and availability. 

For my Selectric output device, 
I also chose the open loop control sys- 
tem since it uses only one output port 
and less than 250 words of memory 
(8080 or Z-80). No interrupts or input 
ports are involved. With careful trim- 
ming of software timing loops very little 
speed loss should occur. Selectrics are 
more notable for quality print than 
speed; other impact printers are much 
faster. Mine runs about 12 to 14 charac- 
ters a second, including carriage returns, 
and is nearly at the upper limit of speed. 

A Note on Selectric Interfacing: 
A Magnet Driver Circuit 

I also started to do my interface with 
relays but hit on a simpler design. Mine 
has less isolation than Dan Fylstra's 
but this has been no problem. Driving 
either interface thru optoisolators would 
be good practice since relays and 
solenoids are very noisy. My actual 
circuit and program aren't given as I 
adapted a single relay to replace the 
missing dual latching shift relays. The 
front end is about the same except I 
used all eight bits. This will make it 
easier to actuate the check relay either 
with the tilt and rotate relays or as a 
control relay. The number of control 




CABLE a 
CONNECTORS 



SELECTRIC 



?S 



O 1 TYPICAL 

MAGNET 



c 



o 1 typical 

{magnet 



C 



c^ 



NORTK STAR OWNERS 

The System Executive Package 
You Have Been Waiting For: 

ft EDITOR : Line oriented with auto number, incrementing to any value; 
holding up to 6 files in memory. 

ft MONITOR/EXEC : Tape I/O in TARBELL & ESP formats (object or 
source); disk I/O for NORTHSTAR, reads HEX paper tape in INTEL 
format. 

ft ASSEMBLER : Processor technology — ESP compatible; assemble the 
program for one address & put object elsewhere. 

ft DEBUGGER: Breakpoint - continue from breakpoint & resume 
execution reset & clear breakpoint. 

ft DISASSEMBLER : HEX or ASCII clump -labels located by address, not 
just assigned — writes assembler format file to memory location. 

THE PACKAGE IS COMPI LIE AND HEADY IO LOAD 
USINO YOUR EXIS I INC, DOS INPU I /OU I PU 1 HOU I INES. 

DISKETTE + EXTENSIVE MANUAL ONLY $48.00 

1st Class Poslaqe, Insurance, Handling & Cahl. Residents - (>% Sales ! ax Included. 

714/894-9131 
M-F 11:30 9:00 

SAT 10-6 



BYTE SHDP 

14300 BEACH BOULEVARD • WESTMINSTER, CA 92683 



Circle 16 on inquiry card. 



BYTE December 1977 



149 



Circle 139 on inquiry card. 



TAKE ADVANTAGE OF US... 

We offer a full 10% DISCOUNT on many major lines: 

IMSAI Processor Technology 

Vector Graphic TDL 

North Star Solid State Music 

- and others - 

Many items at even greater discounts: 

IMSAI, w/22-slot motherboard, reg. $699.95, OUR PRICE $589 95 ! 
Vector Graphic Vector 1-plus, reg. $659, OUR PRICE $560°°! 
North Star Micro Floppy Kit, reg. $699, OUR PRICE $599'™! 

No service charge for credit cards. Take a 5% cash discount on your 
whole order if you don't use a credit card. 



Absolute lowest prices on 16K or 32K Dynamic RAM Boards. 

4K, 8K, and 16K Static Boards and 2-80 CPU Boards are being deliv- 
ered at rock-bottom prices. Call for quotation. Call or write for our 
free 64-page catalog. 

If it's made for the S-100 bus, chances are we stock itf 



7 White Place, Clark, N J 07066 (201 ) 382-1 31 8 



MUSIC. 



Demo Record 
(stereo LP) $2 

includes 4th class 
postage in USA. For 
1st class, add $2. 

Synthesis Board: 
Waveform: dual RAM, 

sync switch-over, 

64 elements each 

with 256 levels. 

Programmable filter 

smooths "steps". 
Envelope: rise: 256 

levels, 4ms to 1.3s. 

fall: 256 levels, 3ms 

to 7.8s. sustain: 

256 levels. 
Volume: 256 levels. 
Pitch: 96, piano range 

&8higher* Price: $220 (kit). 
* If 2MHz clock is unavailable (on pin 49 for S-100 

COMPUTER-CONTROLLED MUSIC 

Our Synthesis Boards (specs and price given above left) are professional synthesizers 
for serious musical applications such as studio recording, live performances, and 
educational use. An S-100 controller (parallel version available soon) runs 1 to 8 
synthesis boards; the price is $88 to $180 depending on cables required. Write for 
information on these products, and a complete description of our synthesis methods 
and how they compare with others'. Dea|er inquiries invited 

ALF PRODUCTS INC. 8080 software available at cost. 

JL^L?r-9, U Ui T^^T-,^ Both products featured on LP. 

DENVER, CO 80228 r 




Produce music 
with your micro 
for $159 or less. 

Quad chromatic pitch 
generators are S-100 
boards (parallel ver- 
sion available)which 
produce 1 to4 tones 
at once, each tone 
any of 96 pitches* 
Square wave output 

§ plugs into your amp. 

# 8 IP I 'W 1,2,and3 tone units 
" *$fSfc* ($111,$127,&$143kit) 
I i00«ffli««j are expandable to 4 
tone unit ($159 kit, 
$185 assembled). All 
units expandable to 
include synthesizer 
features, 
units), ask about our crystal option, $16. 

SYNTHESIZER SYSTEMS. 




functions can be expanded with a BCD 
to decimal converter (7442 etc) between 
the 7400s and the transistors. For 48 V 
coils use 2N2907A (James, 5/$1) tran- 
sistors and the suppression diodes 
should be on the relays. In this circuit 
the relay common line must not be 
grounded. Switching the motor on and 
off generates a big noise spike, worse 
on the inductive start motors than on 
the capacitor start ones. A zero crossing 
solid state relay would probably be the 
best solution and could allow TTL level 
on and off control. 

What can you do with a printer? 
With a 64 or more character width moni- 
tor, floppy disk or computer controlled 
cassettes and a good text editor, you can 
easily store, retrieve, edit and print out 
letters, manuscripts, resumes, etc. I 
wrote this note on a Digital Group Z-80 
system, stored it on a Phi-Deck, edited it 
on a DGSS text editor (awkward but 
well priced) and printed out the final 
version in 5 minutes. On a lesser scale, 
hardcopy of disassembled machine lang- 
uage programs or BASIC program listings 
make it much easier to see the whole 
program and structure or debug it. Prin- 
ters are generally a poor substitute for a 
video monitor when running games. That 
approach can put you up to your arm- 
pits in paper. Paper that has been used 
on one side is often available free from 
commercial computer users and is fine 
(as is, or sheared) for listings, work 
sheets etc. This saves money and trees. 

Don Southwick 
7611 Aberdeen Way 
Boulder CO 80301 ■ 



IEEE 

A call for papers has been issued for 
the Pattern Recognition and Image 
Processing Conference scheduled for 
Chicago IL on June 5 thru 7 1978. 
Sponsored by the Machine Intelligence 
and Pattern Analysis Technical Com- 
mittee of the IEEE Computer Society, 
the program will consist of invited 
papers, panel discussions and contri- 
buted papers. Papers are invited on all 
aspects of pattern recognition and image 
processing, including statistical and syn- 
tactic pattern recognition, clustering, 
shape and texture recognition, scene 
segmentation and analysis, image fil- 
tering, enhancing and reconstruction, 
and medical, industrial and remote 
sensing applications. 

There are two categories of contri- 
buted papers, and authors should state 
their preference when sending in 
material. Long papers (about 5000 
words and suitable for a 25 minute oral 
presentation) are due December 1 1977. 
Short papers (about 500 words and 
suitable for a 15 minute oral presen- 
tation) are due February 1 1978. Camera 
ready copy in both categories is due 
April 1 1978. 

Send image processing papers (in 



150 



BYTE December 1977 



Circle 1 on inquiry card. 



triplicate) to Prof K Preston Jr, Depart- 
ment of Electrical Engineering, 
Carnegie-Mellon University, 5000 Forbes 
Av, Pittsburgh PA 15213, (412) 
621-2600. All other papers should be 
sent (in triplicate) to Prof R L Kashyap, 
School of Electrical Engineering, Purdue 
University, West Lafayette IN 47907, 
(317) 493-9137." 



Ambiguous BOMBacity 

The following two comments were 
received, referencing the same article in 
the BOMB evaluations for May 1977. 
The author's name has been para- 
meterized to "X" for purposes of anony- 
mity. "Y" stands for the article name. 

Comment 1 : 

<Y> is awful. <X> is an idiot. 
(Rating: 0) 

Comment 2: 

<X> is a great writer! He is clear, 
concise and yet detailed. (Rating: 
10) 

All one can conclude is that subjective 
evaluations of the same item sometimes 
differ markedly." 



A Small Hole in the APL 

There is one section of Mike 
Wimble's article, "An APL Interpreter 
for Microcomputers, Part 3" (October 
1977 BYTE, page 64), that should be 
clarified. Figures 32 and 33 are actually 



c 


UBR 









I 




|«iW 


SVAL 


(SV1 






C-5? 




'" f 







Siggraph 1978 Call for Papers 

The 5th Annual Conference on 
Computer Graphics and Interactive 
Techniques will be held August 23 to 
25 1978 in Atlanta GA, sponsored by 
ACM/Siggraph. The deadline for a 300 
to 500 word abstract is December 15 
1977. The first draft manuscript (in- 
cluding figures) is due |anuary 16 1978. 
Send those to Prof R L Phillips, pro- 
gram chairman. 213 Aerospace Engi- 
neering Building, North Campus, Univer- 
sity of Michigan, Ann Arbor Ml 48109." 



A Little Contest 

A firm called Etronix has announced 
an applications contest featuring the use 
of Fairchild Technology Kits. The 
contest is open to anyone. It features 
a Fairchild Video Entertainment System 
($169.95) as first prize; second prize is 
a Fairchild LED or LCD digital watch 
(approximately $80); third, fourth, and 
fifth prizes are Timeband digital LED 
watches (approximately $30). Send to 
Etronix, Box 321, Issaquah WA 98027, 
for your entry blank and rules. Contest 
closes December 30 1977." 



BYTEs Begs 



continuations of the case structure 
labeled CODE and established in figure 
31 (see page 66). A note should have 
been placed below the exponentiation 
branch at the bottom of figure 31 to 
make this clear." 




MIXTE J FIGURI 











YES 


m 




fjf;i*-D u 

Z— Z* 1 


;:; 










IAKE COPT OF DESCRIPTOR 



■^ Z* (OA*I*BI 









Where to get it. 

Equipment, parts, sup- 
plies and services. Hard to 
find and standard items at 
bargain prices. 

Over 600 places to find 
transceivers, antennas, 
surplus, new and used 
equipment, ixPs/com- 
puters, ICs, components, 
assortments, assemblies, 
discounted items, test 
equipment, peripherals, 
etc. Hundreds of large and 
small mail order sources. 

A complete directory 
divided by sources, items 
and locations. Saves count- 
less hours of shopping. 
Easily pays for itself through 
comparative buying. 
Contains no advertising. 



Rush my order. I enclose $5.95 plus 550 
postage and handling. Californians add 
390 sales tax. Full refund if not 
completely satisfied within 10 days. 

Name 



Address . 



City/State/Zip I -g 

Primary interest: Amateur Radio DCBD I < 

Experimenting □ ^Ps/Computers □ | S 

Send to: Peninsula Marketing | P- 

Dept. D ■ 

12625 Lido Way 

Saratoga, CA 95070 



BYTE December 1977 



151 



Conducted by 
David Wozmak 



Slobs and 
Newsletters 



Eastern Iowa Computer Club 

The Eastern Iowa Computer Club is a 
group of computer enthusiasts and other 
interested people. If you'd like to join, 
contact Samuel Dillon, 1125 Washington 
Dr, Marion IA 52302. 

Illiana Teleprinter Society 

The Illiana Teleprinter Society is a new 
Chicago based group of microcomputer 
experimenters. Meetings will be held on the 
second Thursday of each month at 8 PM in 
the lower lobby of the Clyde Savings and 
Loan Building, 722 W Cermak Rd, North 
Riverside IL The programs will include 
speakers from Digital Equipment Corpor- 
ation, IBM, and Heath Company, as well 
as an informal program of discussions and 
software swaps between members. All 
meetings are open to the public. Those 
curious about microcomputers and their 
uses are invited to attend. For more infor- 
mation contact John March, president, 
POB 874, Oak Park I L 60303. 

Apple I Library 

The Apple I software and hardware 
library is being started in Indiana to 
support the Apple I computer. Interested 



readers can obtain material at cost. Write 
to Joe Torxewski, 51625 Chestnut Rd, 
Granger IN 46530. 

Jim's Industry Notes 

This newsletter is aimed primarily at 
retailers and manufacturers. The newsletter 
provides fast turnaround news on industry 
data, and a communication medium for 
exchange of ideas, problems, solutions, 
etc. The newsletter contains no advertising. 

Jim's Industry Notes is sent first class. 
Contact Jim Warren, POB 3010, Palo Alto 
CA 94305. 

St Louis Amateur Computer Club 

SLACC's newsletter, the SLACC Stack, 
contains club information and an appli- 
cations forum. Meetings are held at 7 PM 
on the first Tuesday of every month at 
the Thornhill branch of the St Louis County 
Library. Contact Frank Curtis, c/o SLACC 
Stack, 24 Midpark, St Louis MO 63124. 

CHIPS 

A microcomputer club has been formed 
in the central New York State area. The 
club, known as CHI PS (Computer Hobbyists 
in Processing — Syracuse), has been holding 
regular monthly meetings and hardware 
and software demonstrations for almost 
a year. Membership is open to all who are 
interested in the microcomputer field. For 
further information, contact CHIPS, c/o 
J A Green, General Electric Company, 
Court St Plant #3, Room 16, POB 4840, 
Syracuse NY 13221. 



INTERNATIONAL DATA SYSTEMS, INC. 



400 North Washington Street. Suite 200 
Falls Church, Virginia 22046 USA 
Telephone (703) 536-7373 



S100 Bus Cards (ALTAIR/IMSAI Compatible) 

88-SPM Clock Module 



USES 



88-UFC Frequency Counter Module 

88-MODEM Originate/Answer MODEM 

GENERAL PURPOSE PERIPHERALS 



MCTK 



TSM 



DAC8 



Morse Code Trainer/Keyer 
Temperature Sensing Module 



Your computer keeps time of day regardless of what program it is executing. 
Applications include event logging, data entry, ham radio, etc. Provision for 
battery backup is included 

Measure frequencies up to 600 MHz or period with 1/10 microsecond resolu- 
tion. Computer can monitor four separate inputs under software control. 

Use your computer to call other computer systems such as large timesharing 
systems Also allows other computer terminals to "dial-up" your computer. 
Auto-dialer is included so your computer can call other computers under soft- 
ware control. Operates at 1 10, 134.5, 150, 300, and 600 band. 

Hard/Software package which allows your computer to teach Morse Code, key your 
transmitter, and send prestored messages. Uses "NEW CODE METHOD" for training. 

Use it lo measure inside and/or outside temperature for computerized climate 
control systems, etc. 



Requires one eight bit TTL level latched parallel output port. Use it to produce 
computer music or to drive voltage controlled devices. 



KIT PRICE 



$96.00 



$179.00 



$245.00 



$29.00 



$24 00 



Eight Bit Digital to 
Analog Converter 
Terms: Payment with order. Shipment prepaid. Delivery is stock to 30 days. Write or call for detailed product brochures 



$19.00 



152 



BYTE December I 977 



Circle 65 on inquiry card. 



Southern Nevada Personal Computing 
Society 

The SNPCS meets on alternate Saturdays 
from noon to approximately 3 PM. Its 
membership is open to Clark County 
residents and students of Clark County 
educational institutions. Dues for a 
corporate member are $12 per year; family 
membership is $18 per year; correspondence 
membership is $6 per year; and student 
membership is $3 per year. Subscription 
to the newsletter Hard Copy is included 
in the membership. Meetings are held 
at Clark County Community College, 
Cheyenne Campus, room 3106. For more 
information contact Edna Wells (secretary/ 
treasurer) at 1405 Lucilee St, Las Vegas 
NV 89101, (702)642-0212. 

Unofficial Heath Users' Group 

A Heathkit computer users' group (as of 
this writing still unnamed) in New Haven 
CT produces a newsletter, BUSS, con- 
taining information about the Heathkit 
computers. You can get more information 
about the newsletter by writing to BUSS, 
c/o Charles Floto, 267 Willow St, 
New Haven CT 06511. 

Microcomputer Tinkers and Bug Busters 

This new club needs members and people 
willing to produce a newsletter. Contact 
Microcomputer Tinders and Bug Busters 
Society, 3845 Le Bleu St, Beaumont TX 
77707. 



Portland Computer Society 

The Oregon based Portland Computer 
Society was formed in the summer of 1976 
by Mike Enkelis and Mike Boyd when they 
discovered that the Altair computer had 
become a reality. To get in touch with the 
PCS, write to the Portland Computer 
Society, 3763 SE Division St, Portland OR 
97202. 

SEMCO 

The Southeastern Michigan Computer 
Organization will be hosting the MACC 
Computerfest '78 in the Detroit Plaza 
Hotel on June 23 thru 25 1978. For club 
or Computerfest information contact 
SEMCO, POB 9578, North End Station, 
Detroit Ml 48201. 

A TRS-80 Users' Group 

This group is dedicated to the exchange 
of programs and technical data for the new 
Z-80 based system by Radio Shack. Inter- 
ested parties may send a self-addressed 
stamped envelope to R Gordon Lloyd, 
7554 Southgate Rd, Fayetteville NC 28304. 

Junior Computer Hackers of America 

All students interested in forming a 
nationwide organization and publishing 
a newsletter of, by, and for computer 
oriented students should contact Brian 
Moran, 7335 N Manning Dr, Peoria IL 
61614." 




ALPHA Z-80 $ ^95 

ASSEMBLED 

• 12 SLOT MOTHER BOARD 

• 12 CONNECTORS (S-100 BUS) 

• 17 AMP POWER SUPPLY 

• HEAVY DUTY CABINET WITH FAN 

• Z-80 CPU BOARD: All Sockets Included, Gold Con- 
tact Fingers, High Quality Glass Epoxy PC Board, 
Double-Sided, Plated Through Holes, Requires Only 
+ 8 VDC / 800 MA. 

NOTE: 22 SLOTS/30 AMP POWER SUPPLY - $595. 

ADS also sells IMSAI and NORTH STAR Assembled at Kit Prices + LEAR 
SIEGLER ADM 3A Assembled at $888.00. TERMS: Cash with Order. 
Prices include Freight. (N.C Residents add 4% Sales Tax.) 



ADS 



ALPHA DIGITAL SYSTEMS 

Data Acquisition, Computation and Control 



ROUTE 4 BOX 171A 
BOONE, NORTH CAROLINA 28607 



Circle 2 on inquiry card. 



BYTE December 1977 



153 



Where to Get Bargains 
in Used Computer Equipment 



Sol Libes, President 
Amateur Computer Group of NJ 
1776 Raritan Rd 
Scotch Plains NJ 07076 



Once they have their computers up and 
running, computer experimenters start 
hunting around for peripherals. They look 
for things like Teletypes (usually ASR-33s), 
video terminals, printers, paper tape readers 
and punches, etc. The big problem here is 
cost. In fact, those electronic and electro- 
mechanical IO gadgets can often cost several 
times the price of the processor itself. New 
video terminals can cost you $1500 and up. 
Printers can cost as much as $2000. What 
can a hobbyist do to save money? One way 



Used Computer Equipment Vendors 

American Used Computer Corporation 
POB 68 Kenmore Sta 
Boston MA 0221 5 
(617) 261- 1100 



Atlantic Surplus Sales 
3730 Nautilus Av 
Brooklyn NY 11224 
(212)372-0349 

Computer Warehouse Store 
584 Commonwealth Av 
Boston MA 
(617) 261-2701 

Data Access Systems 
100 Route 46 
Mountain Lakes NJ 07046 
(201) 335-3322 

Data-Lease 

700 N Valley St #A 

Anaheim CA 92801 

Data Processing Design Inc 
6980 Aragon Cir, Suite B 
Buena Park CA 90620 
(714) 994-4971. 

Federal Communications Corporation 

Suite 107 

1 1105 Shady Trl 

Dallas TX 75229 

(214) 620-0644 

Herback & Rademan Inc 
401 E Erie Av 
Philadelphia PA 19134 

(215) 426-1700 



Equipment 

Used minicomputers, printers 
video terminals, modems. 
Teletypes, etc. Also new equipment 
for personal computing via the 
Computer Warehouse Store. 

Teletypes, parts, supplies and 
miscellaneous. 



(See American Used Computer 
Corporation) 



Used Teletypes, DECwriters, video 
terminals, modems, parts. 



Minicomputers, video terminals, 
Teletypes, etc. 



PDP-1 1s, printers, terminals, 
etc. 



Used Teletypes, data phones 
and TWX units 



Used computer gear and parts. 



is to buy used equipment. The question is, 
where do you find it? 

The big market in used computer equip- 
ment is due to many factors, one being that 
the state of the art is changing rapidly and 
companies frequently obsolete working 
equipment to keep up. Thus, there is a 
great deal of equipment available that may 
not be up to the latest speed or have the 
latest features, but is fully operational. For 
example, you can buy a used video terminal 
(ASR-33 compatible) for less than $500, 
or a video terminal that requires some re- 
wiring for under $200. Hard copy terminals 
range from $300 (for an untested unit) to 
$1000 for guaranteed units with extra 
features. 

There are even minicomputers available 
at bargain prices. Digital Equipment Corpor- 
ation PDP-8s with 4 K words of core 
memory and serial interface start at $750 
and go up to $3000 for newer models. 

New dealers in used equipment are 
appearing all the time. The list that accom- 
panies this report is not complete by any 
means, but it does include the larger dealers 
in the country. Most used equipment dealers 
publish catalogs and maintain mailing 
lists. A simple postcard will usually get you 
their latest equipment listing and put you 
on their mailing list. Most of these com- 
panies are eager to deal with computer 
experimenters. 

Many dealers refurbish the used equip- 
ment they sell and restore it to manu- 
facturer's specifications to the point where 
it is often indistinguishable from new 
equipment. For example, several dealers 
refurbish Teletypes to "as new" condition. 
This means a complete cleaning, replace- 
ment of defective or worn components, 
replacement of items such as plastic covers, 
repainting exposed metal enclosures, running 
the machine for at least 5 hours to insure 
its performance, and guaranteeing it for 
90 days. A new Model ASR-33 Teletype 



154 



BYTE December 1977 



costs approximately $1200, while an "as 
new" reconditioned unit typically sells for 
$700 and an "as is" nonreconditioned 
machine goes for as little as $500. 

Particularly good buys can be obtained 
on equipment no longer being manu- 
factured or from a manufacturer who is 
no longer in business. Prices are often 
considerably less than those for equipment 
still being manufactured. 

The largest and oldest used computer 
equipment dealer is American Used Com- 
puter Corporation, which was started in 
1968. Second largest is Newman Computer 
Exchange, which was founded in 1972. 

In addition to equipment dealers, used 
equipment is often advertised in publications 
such as On-Line, Electronics News, Com- 
puterworld and Computer Hotline. These 
should be consulted regularly for current 
"buys" and new companies in the market. 

Another excellent source of used com- 
puter equipment is amateur radio flea 
markets. Ham radio operators are big users 
of Teletypes and other printers, tape readers 
and punches, etc. These flea markets are 
held locally and regionally. The largest is 
held in April in Dayton OH, and draws 
over 10,000 attendees. There are acres of 
flea marketers. To find out when and 
where the ham flea markets are being held, 
consult the ham magazines such as QST, CQ 
and Ham Radio. 

Good hunting!" 



Used Computer Equipment Vendors 

JM Associates 
80 Emerald Av 
Westmont I\JJ 08108 

ICC Computer Corporation 
1115 Security Dr 
Dallas TX 75247 
(214) 630-1401 

Minicomputer Exchange 
154 San Lazaro 
Sunnyvale CA 94086 
(408) 7334400 

National Teletypewriter Corporation 
207 Newtown Rd 
Plainview NY 11803 
(516) 293-0444 

Newman Computer Exchange 
3960 Varsity Dr 
Ann Arbor Ml 48104 
(313) 994-3200 

PMR Canada Ltd 

94 Hyde Av 

Toronto, Ontario CANADA 

(416) 653-4842 

RCA Service Company 
Bldg 204-2 
Camden NJ 08101 
(609) 779-4129 

Rondure Company 
1224 Security Dr 
Dallas TX 75247 
(214) 630-4621 

Van't Slot Enterprises 
550 Springfield Av 
Berkeley Heights NJ 07922 
(201)464-5310 



Equipment 

Used computer peripherals, 
etc. 



Used Teletypes and TWX units. 



Miniperipherals. 



Used Teletypes, parts and supplies. 



Used minicomputers, peripherals, 
Teletypes, etc. 



Used processors, memories, con- 
trollers, etc. 



Used Teletypes 



Miniperipherals, modems, 
parts, etc. 



Used Teletypes, parts and supplies. 




PERCOM DATA COMPANY, INC. 

4021 WJNDSOR • GARLAND. TEXAS 75042 

(214) 276-1968 




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



the CI-812 

The Only S-100 Interface 
You May Ever Need 

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



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



PerCom 'peripherals for personal computing' 



Circle 90 on inquiry card. 



BYTE December 1977 



155 



A Look at LISP 



Gary McGath 
7 Silver Dr, #3 
Nashua NH 03060 



Today BASIC is the universal language of 
the microcomputer hobby. It is easy to learn, 
can run in a small amount of memory, and 
provides a common ground for people with 
different processors. But many microcom- 
puters are no longer so "micro," and they 
need a more powerful language to use their 
full capabilities. 

What properties should this language 
have? It should work well interactively, 
since most hobbyists use their machines 
that way. It should be simple in form, so 
that implementing and understanding it are 
easy. It should be good at handling non- 
numeric data, since most computer hobby- 
ists aren't interested in "computing" in the 
literal sense (ie: numerical calculations) as 
much as in graphics, information manage- 
ment and other such applications. It should 
run efficiently. And it should make pro- 
gramming easy. 

A prime candidate, on all but one of 
these counts, is LISP. LISP was developed at 
MIT in the early 1960s; it has never attained 
widespread use, perhaps because of its un- 
usual syntax, or else because it tends to run 
slowly. It is oriented not toward production 
work, but toward program development and 
experimentation. 

Evaluating LISP in terms of the criteria 
mentioned above: It is very strong on inter- 
action. Its syntax, though unusual, is very 
simple. It includes names and a versatile 
structured type in its data handling facilities. 
It is powerful enough to make most program- 
ming jobs simple. Unfortunately, though, it 
loses to many other languages in efficiency, 
at least when it is run by an interpreter (as is 
the normal case). But unless speed is so 
crucial for a given problem that it outweighs 
the convenience, LISP is an excellent choice. 

The purpose of this article is not to be a 
primer on LISP, but to give you reasons to 
look for such a primer (for instance, Weiss- 
man's Lisp 1.5 Primer, published by Dicken- 
son). There are, as far as I know, no micro- 
computer based interpreters for the language 



yet; but this could change, if suppliers see a 
potential market. 

Much of the power of LISP comes from 
the fact that in it, programs are data. This 
means that one program can build up or 
look at another program, or even operate on 
itself. This is a tremendous help for debug- 
ging programs, since it lets them be examined 
or modified on the fly. For instance, a LISP 
routine might call a special error handling 
routine if it detected an unwarranted state 
of affairs; this routine could let the user 
examine and change variables, since variables 
in LISP are also data, or even change part of 
the program to get it back on the right track. 

The structure which is used for programs 
and data is the list. A list is a sequence of 
any length, written as its elements enclosed 
in parentheses. For instance, (I 2 3 4) is a 
list of four numbers. Lists can contain lists; 
((1 2 3 4)) is a list with one element, which 
is a list of four numbers. Note that in LISP, 
parentheses always change the content of 
expressions; they are never optional, as in 
some languages. 

Programs can create lists as they run, 
thus giving themselves the storage they 
need. This is another speciality of LISP, 
called dynamic storage a/location. Most 
programs have to set out their storage re- 
quirements before they are run; a BASIC 
program, for instance, can't decide halfway 
through its execution that it needs another 
array. But LISP picks up its storage as it 
needs it. To give just one example of what 
this can mean: You can run a LISP pro- 
gram on a small amount of data with your 
current memory supply, then expand it 
when you get more memory to handle more 
data with no changes to the LISP program. 

LISP programs are unusual, but con- 
sistent, in that they use one tool everywhere. 
This tool is functional application. BASIC 
programmers are familiar with simple func- 
tions like SIN; in the expression SIN (X), 
SIN is the function, which is applied to the 
argument X. In LISP, this expression would 



156 



BYTE December 1977 



be written as the list (SIN X). The rule is 
that the first thing in the list is the function, 
and the rest of the list is its arguments. 
A LISP program is a list of this form, which 
gets evaluated by applying the function to 
the arguments. The value of the list is the 
result of this application. This value may 
itself be used as an argument to another 
function; thus, programs can be built up 
from lists within lists to any level. 

Some functions do other things besides 
returning a value. The function SETQ, for 
instance, performs the role of the assign- 
ment statement in other languages. 
(SETQ X 5) is like BASIC'S LET X = 5. 
COND tests a condition and performs or 
omits evaluations depending on the truth or 
falsehood of that condition. This gives a 
capability like BASIC'S IF statement, except 
that COND is much more general. The fol- 
lowing is a simple example of how COND 
can be used: 

(COND((GREATERP X Y) (SETQREL 1 )) 
((LESSPX Y) (SETQREL-1)) 
(T(SETQRELO))) 

This is what happens when the COND 
expression is evaluated: The function 
GREATERP is applied to X and Y. If X is 
greater than Y, the value returned will be T, 
otherwise it will be NIL. If T (or for that 
matter, any value but NIL) is returned, then 
(SETQ REL 1) will be evaluated, and the 
COND will be done. If, however, X is less 
than Y, then COND will try again on the 
first element of its next argument; that is, 
(LESSP X Y). If X is less than Y, this will 
evaluate to T, REL will be set to —1, and 
the COND will be done. If, however, this 
also falls through, then X must equal Y. T is 
then evaluated; since T is a special constant 
which always evaluates to itself, COND will 
finally be satisfied, and REL will be set to 0. 

When a variable is used in a list, it is a 
piece of data like any other, of a type called 
atom. Atoms can be passed around by them- 
selves (as opposed to passing around their 
values) by using the function QUOTE. 
(SETQ X Y) sets X's value to be the same as 
Y's value; but (SETQ X (QUOTE Y)) sets 
X's value to be the atom Y itself. This lets 
you keep verbal information around for 
later printing. QUOTE is also useful with 
lists, since it lets you create a list of data 
which isn't intended for evaluation. 

The complement of QUOTE is EVAL. 
This takes an argument, already evaluated 
once by the application mechanism, and 
evaluates it again. The use of QUOTE and 
EVAL provides one way of writing a pro- 
gram for later repeated use; at some point 
you write: 



A sample LISP program for building a maze 
(which may be used in Wumpus type games). The 
user defines the maze by typing in lists of two 
atoms, which give two rooms that are adjacent to 
each other. The rooms may have as names any 
atoms not otherwise used. Input is terminated by 
entering NIL. The function returns a list of atoms 
which are the names of all the rooms; this value is 
also available as the value of the atom MAZELIST. 
Each of the room atoms has as its value a list of 
all the rooms to which it is adjacent. 

The only function used here which was not 
mentioned in the main text of this article is MEMQ. 
This function tests whether its first argument is a 
member of its second argument, in the sense of 
list membership. 

(SETQ MAZEBUILD 
(QUOTE (LAMBDA 

(SETQ MAZELIST NIL) .'initialize the value 
(PROG (TEMP) ;TEMP is a local variable 
A ;A is a label 

(COND ((SETQ TEMP (READ));geta pair 
(SETQR1 (CAR TEMP)) 
(SETQ R2 (CAR (CDR TEMP)) 
,1he names of the two rooms 
(COND ((MEMQ R1 MAZELIST) 
;is this room known already? 
(SETQ (EVALR1) 

(CONS R2 (EVALR1)))) 
((SETQ (EVALR1) 
(CONS R2 NIL)) 
;if not, start it up 
(SETQ MAZELIST 
(CONS R1 MAZELIST)))) 
(COND ((MEMQ R2 MAZELIST) 
;do the same for R2 
(SETQ (EVAL R2) 

(CONS R1 (EVALR2)))) 
((SETQ (EVALR2) 
(CONS R1 NIL)) 
(SETQ MAZELIST 
(CONS R2 MAZELIST)))) 
(GO A) ;repeat if wasn't nil 
))) 
MAZELIST))) ;return the value 



(SETQ X (QUOTE list-to-be-evaluated- 
later)) 

Elsewhere you have: 

(EVALX) 

When this is encountered, X is evaluated 
once by the LISP interpreter, giving list-to- 
be-evaluatecl-later; then EVAL evaluates it 
again, generating its value and all side effects. 

A list can be modified (I'll discuss the 
methods when I get to the structure of lists), 
so program editing is possible. But simply 
evaluating fixed lists, even with editing, isn't 
a very flexible method of programming. It 
would be more useful to have a program 
that can operate on alternative sets of data; 
that is, to run it with one set of data, then 
run it again on different data. This can be 
done, of course, by SETQing variables on 
which the program will operate. But this 



BYTE December 1977 



157 



Circle 140 on inquiry card. 

AT LAST! 



s 






co 

CM 
X 

g 

CD 



Your idle system can now come alive. 
The software scarcity is over. 

Do you need business programs? 



ACp °^Pay m 



<e? Ge 

Accounts Receivable? 



ne r 



alL- 6 ' 



dger 



W^ e 



d'»c 



a^' 1 






Payroll?? 



fv/tn, 



VL 



'sts? 



CD 



CD 



O 

C/3 



BASIC interpreters... or just a monitor??? 

We can supply them — and we can supply" 
them in 8-level paper tape, a variety of audio 
cassette formats and on some floppy disk 
formats. 

Write for our software catalog — 

P. S. We buy programs either outright or on a royalty basis. 



MORE 6800 POWER 

from MICROWARE 

A/BASIC COMPILER 

• Generates Pure M6800 Code — No Run-Time 
Package Required 

• Compiled Programs Run Much Faster Than Interpreters 

• Low Overhead— Will Run in 8K System Without Disk 

• Programmer has Complete Control of Memory Allocation 

• Many Powerful Extensions to Basic Syntax 

DA1 • MOTOROLA "D2 KIT" EXPANSION KIT 

• Converts D2 to Terminal-Based I/O 

• Includes Popular RT/68 ROM 

• Retains Full Cassette I/O Capability 

• Allows use of most popular 6800 software; editors, 
assemblers, BASIC, etc. 

• Comprehensive documentation — over 80 pages 

A/BASIC w/manual $49.95 

A/BASIC W/RT/68MX $99.95 

RT/68MX w/manual $55.00 

DA1 w/manuals $69.95 

Motorola MMS681 04 16K RAM for D2 (Assm) $395.00 

Call or write today for our free catalog 
ot M6800 software and hardware products. 
1 Phone orders (515) 279-9856 g 

U.S. Orders Postpaid. iim^^u 

THE MICROWVRE CORPORATION 

RO. BOX 954 Des Moines, Iowa 50304 



means that each program must operate on 
different variables, or else bookkeeping 
problems start coming up. A more convenient 
method, which LISP provides, is to define a 
function which takes its data as arguments. 

A user defined function is a list which has 
the atom LAMBDA as its first element. 
(This has its roots in a mathematical nota- 
tion called the lambda-calculus.) The second 
element of this list is a list of atoms. These 
atoms are the parameters of the function, 
that is, the things that catch the arguments 
to the function. After the list of parameters, 
any number of expressions can follow. 

The use of functions with parameters is 
familiar to FORTRAN programmers, and 
many versions of BASIC provide it in a 
simple form. What happens when a user 
defined function is called is this: First, the 
old values of the atoms_on the parameter 
list are saved on a stack. Then the param- 
eters are given the values of the cor- 
responding arguments. (There must be one 
parameter for each argument.) Next, the 
remaining expressions of the function are 
evaluated in order. The value of the last 
expression is the value of the function. After 
this value is found, the old values of the 
atoms on the parameter list are restored 
from the stack. Thus, as far as the outside 
world is concerned, these atoms were never 
touched. 

There are various methods for setting up 
function definitions in various implementa- 
tions, and the method in Weissman's book is 
distinctly confusing. A straightforward 
method is to let the function be the value of 
an atom. Then to define a function, you 
would just have to enter 

(SETQ FUN (QUOTE (LAMBDA(...) ...))) 

At any later time you could simply use 
(FUN args) to apply the function. 

There is, incidentally, no objection to 
using a function from inside itself. This 
method is called recursion, and it is often 
useful to break up a complicated case into 
simple ones. The idea is this: Your function 
examines its argument. If the argument is a 
simple one, it just returns the value. Other- 
wise, it finds a simpler case which has a 
known relation to the case at hand, and 
calls itself with an argument for the simpler 
case. For instance, the factorial function 
(FACT X), which returns X * (X - 1) 
*(X -2) * .. . * 1, could be written: 

(SETQ FACT 

(LAMBDA (X) 

(COND ((LESSPX2) 1) 
((*X(FACT(-X1))))))) 

(Note the use of arithmetic operators as 



158 



BYTE December 1977 



Circle 136 on inquiry card. 



Circle 49 on inquiry card. 



functions in this example.) The important 
thing to remember in recursion is that there 
always has to be a simple, nonrecursive case 
on which all the recursive cases are built; 
otherwise, you will find yourself blowing 
your stack without getting a result. 

Input and output in LISP are simple. The 
function READ reads one LISP expression 
and returns that expression as the value of 
the function call; the function PRINT prints 
the value of its argument. Arguments to 
these two functions are necessarily im- 
plementation dependent; they may include 
the name of the device or some other indica- 
tion of where to go for the 10 function. 
A good system will also provide other func- 
tions, including ways of reading single 
characters and controlling output formatting. 
A desirable (but expensive) function would 
be one that printed a list in a readable in- 
dented format. 

And now for the question that everyone 
has been asking: What are lists really like? 
A list really has only two parts, the first 
element and all the rest. These are called the 
car and the cdr, respectively, of the list. 
(Legend has it that these names come from 
the old IBM 704 implementation of LISP, 
where they stood for "contents of address of 
register" and "contents of decrement of 
register.") The cdr of a list is itself a list, 
containing all the elements but the first. 
In the case of a one element list, the cdr 
is the atom NIL which we met earlier in 
connection with COND. LISP takes NIL 
to be a list of zero elements; it can be 
treated as a list in most ways, and can be 
written as (); but, of course, it has no car 
or cdr. The functions CAR and CDR are 
available for taking the car and cdr of a 
list. There are also two functions, called 
RPLACA and RPLACD, for changing the 
car and cdr of an existing list. 

This system lets you have pointers into 
any part or sublist of a list. For instance, if 
Y is some list, you might use 

(SETQX (CDR Y)) 

to get a version of Y without its first ele- 
ment. Both of these variables will then share 
the same storage; therefore, a RPLACA or 
RPLACD on X will change Y's value. The 
moral: Handle shared lists with care! 

Unfortunately, the cost of the car and 
cdr approach is that indexing down a list 
is tedious. If you want the fifth element 
of a list, you have to work your way 
through four cdr pointers and then take 
the car. This isn't too bad when working 
linearly down a list, since a variable can be 
set to successive cdrs to get each element; 
but it does slow down random access. 




16K RAM 

FULLY STATIC 

NTRODUCTORY 
$450 KIT PRICE 




10 SLOT TABLE TOP 

MICROCOMPUTERS 

TT-8080. . . KIT $475 

SYSTEM WITH 16K& I/O 
TT-8080-S... KIT $1125 



CARD CAGE 

& MOTHER BOARD 

ECT-100... KIT $100 

WITH CONNECTORS 

& GUIDES 

ECT-100-F... KIT $200 



»IMP 



Mtt». 



CPU'S , MEMORY 

MOTHER BOARDS 

PROTOTYPING BOARDS 

EXTENDER CARDS 

POWER SUPPLIES 



I 
I 
I 
I 
I 
I 
I 
I 
I 



DEALER INQUIRIES INVITED SHIPPING EXTRA 

ELECTRONIC CONTROL TECHNOLOGY 

P.O. BOX 6, UNION, NEW JERSEY 07083 
(201) 686-8080 




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. 



City: . 



.Zip: 



ELECTRONICS, INC. 

DEPT.12-B, 1020 W.WILSHIRE BLVD.. OKLAHOMA CITY. OK 73116 



Circle 87 on inquiry card. 



BYTE December 1977 



159 



Circle 80 on inquiry card. 



Need Hard Copy? 



TRY OUR 



RICES 



SSP-40 .....,,....., . 

Contains its own micro processor for easy connection to 

your RS232 serial port or TTY current loop. *>■#»* 

MP-40 ;• • -425 

interfaces to your micro computer parallel output port for 

ASCII data transfer » - _ _ 

KP-40KIT ...,-... 179 

Contains 1 mechanism. PC board, all components. 
transformer and complete assembly instructions for 
parallel data transfer. 

AM of our 40 series printers use the same reliable 5x7 impact.dqt matrix mechanism with 
up to 40 columns per line on ordinary paper with a print speed of 75 lines minute 

SEND FOR FREE LITERATURE 

k ~\ Box 22101 

Salt Lake Gity, Utah 84122 
(801)566-0201 



The Great 



International 



Math On Keys 
Book 



k^,,,,,,. 




From Texas Instruments 



Do you need a numerical algorithm for calculating exchange 

rates in a hotel on a foreign trip? Or figuring those 

mysterious "points" when facing the sanctimonious charisma 

of a banker at mortgage arrangement time? This book is a 

compendium of simple explanations and step by step 

procedures for accomplishing numerical solutions to 

numerous commonly encountered situations in daily life. 

Each entry is characterized by a statement of the problem, 

including the elements of theory required, and the keystrokes 

needed to solve the problem on an algebraic entry calculator. 

This is an invaluable sourcebook of information for the 

person who is inclined to manipulate numbers. $4.95, plus 50 

cents postage. 

For convenience, use any 

of the coupons on pages 
123, 125 or 167, writing 
BITS, Inc. in tn j s book's title. Pro- 

70 Main Street cessing may occasionally 

Peterborough N H 03458 exceed 30 days. 

Master Charge and BankAmericard Welcome. 



Send now to: 



The function which builds up lists is 
called CONS. CONS takes two arguments: 
The first becomes the car of the new list, 
and the second becomes the cdr. The argu- 
ments themselves are unchanged; what 
happens is that a new structure is created to 
encompass them both. This new structure 
is allocated from a pool of free storage. 
Using CONS is one of two ways to create 
new lists; the other is READ (which uses the 
equivalent of CONS internally), or the inter- 
preter's top level reader. 

But if you keep CONSing things, won't 
you eventually run out of free storage? Yes, 
this would be true if nothing were done to 
prevent this situation. But storage can often 
be reused. A list may be entered once and 
then forgotten; a variable may be reassigned, 
leaving its old value in limbo. This storage 
can be reclaimed by a routine called a 
garbage collector. Whenever the interpreter 
finds itself running out of storage, it can call 
the garbage collector, which finds storage 
that is available for reuse and designates 
it as such. 

Garbage collection, unfortunately, is a 
slow process. Whenever it has to be done, 
the system comes to a complete halt for a 
few seconds. This can create problems for 
real time applications. I have heard reports, 
however, of a LISP system being developed 
which does its garbage collection in small 
chunks, so the waiting is distributed more 
evenly. Garbage collection is the price that 
has to be paid for dynamic storage alloca- 
tion, unless you want to keep track of all 
allocated storage explicitly. 

Now for the interpreter itself. Interactive 
LISP is run in a READ-EVAL-PRINT loop. 
That is, an expression is entered, it is evalu- 
ated, and its value is printed. The mechanisms 
used for these operations are identical to 
those of READ, EVAL and PRINT respec- 
tively. This means that a LISP function 
can start up its own equivalent of the inter- 
preter anywhere the programmer chooses; 
this is often useful for debugging programs. 
You might, for instance, place a READ- 
EVAL-PRINT loop as the first thing in a 
function, giving it a provision for exiting, so 
that you could look at its parameters and 
decide if they are valid. This gives you an 
ability corresponding to breakpoints in 
machine language debugging. 

But how do you do looping? The func- 
tions which allow this are PROG and GO. 
PROG constructs are similar to user defined 
functions, except that PROG is used in place 
of LAMBDA and the construct isn't applied 
to anything. The parameters are NIL, or 
else indeterminate, at first. The function GO 
can be used within a PROG construct, and 



160 



BYTE December 1977 



Circle 12 on inquiry card. 



Circle 13 on inquiry card. 



nowhere else. Its one argument is an atom; 
it treats that atom, which is not evaluated, 
as a statement label and goes to that label, 
if it exists in the PROG. For instance, a 
nonterminating READ-EVAL-PRINT loop 
could be written thus: 

(PROG () 
A 
(PRINT (EVAL (READ))) 

(GO A)) 

PROGs can put a GO inside a COND 
expression to allow for conditional branches. 

Finally, LISP is an expandable language. 
Its costly features (in terms of designing the 
interpreter) are data definition, input and 
output, garbage collection, and a design that 
permits recursion. Once thisexists, individual 
functions are fairly cheap. This means that 
with sufficient documentation, the user 
could add his or her own machine language 
functions to perform specialized operations 
(eg: graphics). LISP interpreters might even 
be sold in a minimal version, with add on 
modules available for larger memory sizes. 
(No, I can't say right now how much memo- 
ry that minimal version would take.) 

LISP is not an ail-purpose language. If 
you like to do matrix inversions or quadratic 
interpolations, you will find it outrageously 
slow and awkward. But if you are interested 
in symbolic work, if you are not frightened 
by the unusual, if ease of use is more impor- 
tant to you than speed, and if your compu- 
ter has the capacity, LISP may be your 
best choice." 



GLOSSARY 

Atom: a variable or literal used in a list. 

Car: the first element of a list. 

Cdr: all elements of a list except the first element. 

Dynamic storage allocation: the ability of a pro- 
gram to get the storage space it needs as it is 
executing. 

Garbage collector: a routine that searches the 
storage space for previously used memory space 
that is no longer needed and allocates these memory 
nodes as free space. 

Interpreter: a program that analyzes an instruc- 
tion and executes it before going to the next 
instruction. 

List: a data structure, represented as a sequence 
of elements enclosed in parentheses. 

NIL: an atom that doubles as a list of length zero. 

Recursion: the ability of a function to repeatedly 
call itself. 




That's right, if we don't sell a bunch of our 
BASIC SOFTWARE VOLUME 1 albums 
quick, we'll get fired! Included are lots 'n' lots 
of your favorite Basic programs such as 
LUNAR LANDER and BLASTOFF!, plus new 
ones like MAILING LIST, FOURIER FIT and 
AMPLE ANNIE. Plays through your Tarbell, 
Kansas City or Altai r cassette interface (we 
coded all three ways). Or make cassette 
copies. Only 6 bucks. Don't be a dummy, or- 
der today! Satisfaction guaranteed or money 
back. 

to: SOFTWARE RECORDS 

PO BOX 8401 -B 
UNIVERSAL CITY, CA 91508 

(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX) 



$6 



VEESIEAM 

16K X 8 BIT RAM MEMORY 

STATIC OR DYNAMIC 
HAVE IT YOUR WAY ! ! ! ! ! ! 




DYNAMIC RAM 

Sphere Plug Compatible 
270 NSEC Access Time 
470 NSEC Read/Write Time 
Fully Socketed 
Low Power 



STATIC RAM 

Sphere Plug Compatible 
Easy Home Brew Interface 
150 NSEC Access Time 
300 NSEC Read/Write Time 
Fully Socketed 



MODEL 
WWW-16KA 


DESCRIPTION 
Fully Assembled 


PRICE 1 
$549.00 


WWW-16KK [ Kit 


$449.00 | 



MODEL 

WWW KAS 


DESCRIPTION 

Fully Assembled 


PRICE 

$650.00 


WWWKKS 


Kit 


$550.00 



WWW ENTERPRISES 

P. O. BOX 548 

HARBOR CITY, CA. 90710 

(213) 835-9417 



Circle 131 on inquiry card. 



BYTE December 1977 



161 



Relative Addressing for the 8080 



James P Gaskell 
Griffon Industries 
Austin Rd 
Amherst NH 03031 



An essential characteristic of any com- 
puter is the ability to branch as a result of a 
decision. These jumps, or branches, can be 
done with target addresses determined in a 
number of ways. Examples include absolute 
(direct) jumps, indirect jumps, indexed 
jumps and relative jumps. 

The instruction set for the 8080 pro- 
cessor includes explicit absolute jumps, 
both unconditional and conditional. It 
also has one indexed jump (although it 
allows for no offset). Unfortunately, the 
instruction set does not include any rela- 
tive jump instructions, instructions which 
are necessary if position independent pro- 
gramming is to be accomplished. However, 
a routine can be used that simulates the 
desired result, thus enhancing the 8080's 
usefulness to programmers. 

A relative jump goes to a specified offset 
from the present address. Instructions of 
this type allow jumps within a program to be 



independent of where the program is located 
in memory. That is, if the whole (object) 
program is moved to a new area of memory, 
the jumps are still valid. It is not necessary 
to reassemble or explicitly relocate a pro- 
gram every time it is moved around in 
memory. 

In order to implement this routine, three 
steps have to be taken. First, a short pro- 
gram must be entered into memory. Second, 
a section of memory must be set to a con- 
stant. Third, some macroinstructions must 
be added to the 8080 assembler. (Macroin- 
structions are assembly language instructions 
that are expanded into a sequence of ma- 
chine language instructions during as- 
sembly.) After these steps are taken, relative 
jumps can be written in a straightforward 
fashion in assembly language. 

First, the program shown in listing 1 must 
be entered into memory. It is important that 
this program start at hexadecimal address 



Listing i : A program used 
to perform relative jumps 
on the 8080 processor. 
A block of memory must 
also be set aside for the 
RST 7 instruction, and 
the macroinstructions 

listed in table 1 must be 
added to the assembler 
to allow this program to 
work. 



ixadecimal 


Hexadecimal 


Label 


Op 


Operand 


Commentary 


Address 




Code 










0038 


22 


4B 


00 


ENTER: 


SHLD 


TEMPI 


Save H L 


003B 


E1 








POP 


H 


HL= (THERE" HERE 
+ BIAS+ 1) 


003C 


EB 








XCHG 






003 D 


E3 








XTHL 




TOS = Original DE 
HL= (HERE + 3) 


003E 


F5 








PUSH 


PSW 


Save PSW 


003 F 


19 








DAD 


D 


HL = (THERE + BIAS + 


0040 


11 


FC 


3F 




LXI 


D,"(BIAS + 4) 




0043 


19 








DAD 


D 


HL= THERE 


0044 


F1 








POP 


PSW 


Restore PSW 


0045 


E3 








XTHL 




TOS = THERE 
HL = Original DE 


0046 


EB 








XCHG 




Restore DE 


0047 


2A 


4B 


00 




LHLD 


TEMPI 


Restore HL 


004 A 


C9 






EXIT: 


RET 




Jump THERE 


004 B 


00 






TEMPI: 


NOP 




2 bytes of 
temporary 


004C 


00 






END: 


NOP 




storage 



Note: In this listing, BIAS = C000 and TEMPI = 004B. 



162 



HYTE December 1977 



0038, because it will be entered during exe- 
cution via a ReSTart 7 instruction. Also, 
since TEMPI is used for data storage, it is 
necessary that TEMPI be located in pro- 
grammable memory and not in read only 
memory. 

Second, a block of memory must be set 
to the RST 7 instruction. The larger the 
block, the greater the range of the relative 
jump instruction. An address near the 
middle of this area should be chosen as the 
BIAS address. The machine language code 
for the RST 7 instruction is hexadecimal FF. 
This fortuitous coding permits an easy way 
to meet the present requirement. Select an 
area of (logical) memory where no hardware 
memory exists. If the data bus has pull up 
resistors, doing a memory read to these 
locations results in reading hexadecimal FF. 

Third, macroinstructions should be writ- 
ten for the assembler so that it will do the 
computations necessary to implement the 
relative jump. Since relative jumps can be 
done either unconditionally or based on 
either state of any of the four flags, this 
requires that nine macroinstructions be 
written. Table 1 outlines what has to be 
done. If your assembler cannot handle 
macroinstructions, or if you do not have 
an assembler, you must enter the proper 
CALL instruction as shown in the table. 

To help in understanding the theory 
of operation, refer to figure 1. Since we 
wish to jump from HERE to THERE, we 
insert JR THERE (= CALL (THERE - 
HERE + BIAS)) at HERE. This instruction 
pushes (HERE + 3) onto the stack and 
jumps to the location (THERE - HERE + 
BIAS). At this new location we have made 
sure that the contents are equal to hexa- 
decimal FF (= RST 7). This instruction 
pushes (THERE - HERE + BIAS + 1) onto 
the stack and jumps to hexadecimal 0038. 
At 0038, we find our program. This program 
first saves the contents of selected registers. 
It then pops the top two words off the stack 
and adds them together to give (THERE + 
BIAS + 4). After (BIAS + 4) is subtracted 
off, we are left with THERE. This address 
is pushed onto the stack and the registers 
are restored to their original conditions. The 
final RETurn does a jump to THERE. 

This routine uses four bytes in the stack 
and takes 78.5 jus (with a 2 MHz clock, 
ignoring memory wait times) to execute. 
For comparison, the absolute jump uses 
no stack locations and executes in 5.0 jus. 
This routine returns all registers in their 
original states (except, of course, PC). 
After the overhead is established, each 
relative jump requires three bytes, which 
is the same as the absolute jump. This 
means that switching between absolute 



Macro 
Number 


Macroinstruction 


Assembled Instruction 


1 
2-9 


JR LABEL 

JR (FLAG) LABEL 


CALL (LABEL- $ + BIAS) 
C (FLAG) (LABEL- $ + BIAS) 


Note 1 : $ means the location of the current instruction. 
Note 2: (FLAG) means any of the eight condition flags, ie: NZ, Z, 
NC, C, PO, PE, P or M. 



Table I : The nine macroinstructions which enable the assembler to perform 
relative jumps on the 8080 processor. 





Instr 




HERE: 


JR THERE 
Instr 


; CALL (THERE - HERE + BIAS) 
1 
N locations 




Instr 


♦ 


THERE: 


Instr 
Instr 


; Address = (HERE + N) 



BIAS: 



RST 7 
RST 7 
RST 7 

RST 7 

RST 7 
RST 7 



; Contents = FF 

I 
N locations 

♦ 
; Address = (THERE " HERE + BIAS) 



Figure I : An illustration of relative addressing as it is performed on the 8080 
processor. The program jumps from HERE to THERE. 



and relative jumps does not affect the 
length of the object code. As requirements 
change (basically, relocatability versus 
execution speed) it should not be difficult 
to alter the coding. 

In summary, the ability to do relative 
jumps can be added to an 8080 based 
system. The working program requires 
only 21 bytes with perhaps another 
couple of hundred bytes located elsewhere, 
so the demand on memory space is quite 
low. In a typical application of relative 
jumps, object programs are pulled off a 
mass storage unit, placed in any available 
memory, and immediately used. This 
example shows some of the strength of 
this kind of jump and some of the reason 
for the experimenter to add this capability 
to his/her operating system." 



BYTE December 1977 



163 



Save Software: 



Use a UART for Serial IO 



Fr Thomas McGahee 
Don Bosco Tech 
202 Union Av 
Paterson NJ 07502 



In my opinion suppliers of software for 
microprocessors should refrain from writing 
their software for serial 10. Before you beat 
me over the head with your expensive Tele- 
type, let me explain myself further. 

Much of the software for serial devices 
such as Teletypes is written in such a way 
that the software itself provides the parallel 
to serial and serial to parallel conversion and 
timing necessary to allow the Teletype to 
communicate with the computer. [A prime 
example is the Motorola 6800 's MIKBUG 
program.] This may save the price of a 
UART, but it also ties down a complicated 
memory program to emulate a UART. I 
propose that instead of writing the software 
for a serial device, all software be written for 
parallel IO. If provisions are made for the 
"handshaking" status information, then the 
parallel information can be easily converted 
to serial information if desired by using a 
UART. With proper handshaking and a 
UART, the speed of serial 10 can be made 
independent of the software, allowing the 
user to choose 110 bps or any other desired 
speed as presented to the UART clock 
inputs. All the user has to do is provide the 
desired clock rate. Further, such parallel 
handshaking would allow parallel devices 
such as the SwTPC TVT II to be used at 
speeds of several hundred characters per 
second instead of 10 per second. 

If properly designed, a parallel IO inter- 
face can offer the following advantages: 

1. External IO devices may be serial or 
parallel. 

2. External IO devices may be made 
to run at a data rate up to their maximum 
speed. 

3. External IO devices may be mixed; 
ie: a parallel input and serial output or vice 
versa. 

4. Changing from one external IO 
device to another would require at most a 
change in a few jumpers. 



Handshaking 

The key to an effective IO scheme is a 
little thing we call "handshaking." Hand- 
shaking is a technique wherein two devices 
communicate their status to one another. 
For instance, if the computer gives the exter- 
nal IO device a signal that indicates that it 
has valid data available on its output port, 
and the external device, after accepting 
and processing this data then provides the 
computer with a signal that indicates it is 
ready to accept a new input, this is hand- 
shaking. 

How can we provide this handshaking? 
Well, a UART already provides handshaking 
signals. For that matter, most external IO 
devices do or can provide the necessary 
signals needed for handshaking. What is 
needed is a way to communicate this 
information to the computer. 

The first technique that might come to 
mind would be to use a special input and 
output port to communicate status infor- 
mation. As it happens, the ASCII code 



Figure I: A circuit for setting up hand- 
shaking between a computer and a UART. 
The eighth bits of the input and output 
ports are used to indicate whether the data 
has been sucess fully transmitted and the sys- 
tem is ready to transmit the next bit of 
information. This circuit can be adapted to 
any 8 bit computer. IC4 is a standard UART 
part, an asynchronous data interface. Some 
integrated circuit part numbers which may 
be used for IC4 are: the COM 2502 and 
COM 2017 by Standard Microsystems, the 
2536 by Signetlcs, the AY 5 1012, by 
General Instruments, the TMS 6011 by 
Texas Instruments, the TR 1602 by Western 
Digital, and the SI 883 by American Micro- 
systems. All res/stances are measured in 
ohms and all resistors are % W. 



164 



BYTE December 1977 



0=0 

-j rn£5 

row 
w > 

o 



-VA > c 



'o o 
o w 



SK: 



row m" 



r- 



-O" 



=i 



U)-l 


xx 


HX 


mm 


X> 


too 


02 


mm 


CDU) 


-<< 


mS 






xx 



>s 







CDH 






cap 






-n> 






■flZ 






mw 


ss» 




3JS 






^^m 




mH 






2 3 


m 


o 


5- 


m^ H 


■fr 




3I r Z 






c/> 







fON 

0J> 



X 



-w» — >; 



i_J 



o — 



t>i 
ro 


OJ 


o 




ro 

CD 


ro 


ro 
en 

r~ 
to 

CD 


ro 

r~ 
w 

CD 




O 


ID 


CO 


-J 



3J3J TJW 

mm <=d 
m S° 



iii^iiil f^fffW 




^^ 



o c o 



onoo 

K CO NO -> 


— ct> 

-. s 

3>" (D 

a. 


7400 
74123 
74123 
UART 


-1 
< 

10 

(D 


-» ai en -b 


+ 
< 


CO 00 CO 00 


a 

z 
o 


Mill 


1 

-A 
M 
< 



BYTE December 1977 



165 



Octal (Page 0) 


Octal 






Address 


Op Code 


Operand 


Mnemonic 


100 


113 




INP 005 


101 


310 




LBA 


102 


174 


200 


CPE 200 


104 


150 


100 000 


JTC 000100 


107 


106 


123 000 


CAL 000123 


112 


044 


177 


NDI 177 


114 


310 




LBA 


115 


007 




RET 


123 


250 




XRA 


124 


133 




OUT 015 


125 


301 




LAB 


126 


133 




OUT 015 


127 


113 




INP 005 


130 


074 


200 


CPI 200 


132 


100 


127 000 


JFC 000127 


135 


301 




LAB 


136 


007 




RET 



Commentary 

ASCII input routine using input port 005; 

input data into register B; 

check if most significant bit is high; 

if bit not high continue input loop; 

echo ASCII character; 

strip off most significant bit; 

registers A and B contain ASCII character; 

return; 

ASCII output routine using output port 015; 

clear output port; 

load ASCII character into register B; 

output ASCII character; 

check most significant bit of input port 

to see if it is high; 

if bit is high continue checking loop; 

restore ASCII character to register A; 

return; 



Listing 1: Typical software routines for parallel 10 handshaking. This listing is represented 
in octal for an 8008 processor. A subroutine of this sort can be used at a wide variety of data 
rates since the receiving device will indicate when the next byte of data is to be sent. The deter- 
mining factor for data transmission rate is the speed of the UART's clock. 



universally used by small computers only 
requires seven bits to define all the regular 
characters: upper and lower case, numeric, 
special symbols and control characters. Thus 
we have the eighth bit, the most significant 
bit, available for use as a status bit. 

Figure 1 shows one way of setting up 
handshaking between a computer and a 
UART. The receiver of the UART has the 
seven necessary data lines connected directly 
to the input port. The eighth bit of the 
input port is connected to a simple RS flip 
flop formed by two cross coupled NAND 
gates. When receiver data available (RDA, 
pin 19 of the UART) goes high, indicating 
that the receiver section has valid data, this 
signal is inverted and fed to the RS flip flop, 
causing the most significant bit of the input 
port to go high. This high level at the most 
significant bit can be detected by the soft- 
ware in a wait loop. [This status line can 
also be used to trigger an edge sensitive inter- 
rupt. . .CH/ 

Once the software has acquired the data, 
in most situations it calls for an echo, which 
uses the output ASCII routine. The software 
first clears the output port, insuring that the 
most significant bit is low. Then the ASCII 
and the high most significant bit are sent to 
the output port. The low to high transition 
of bit 07 is detected by oneshot IC3A which 
causes a few hundred nanoseconds of delay 
before causing oneshot IC3B to output a 
negative pulse. This negative pulse is fed to 
the transmitter data strobe pin of the 
UART,. which causes the data from the 
output port to be loaded into the UART's 
transmitter buffer. At the same time the 
receiver data available pin of the UART is 
also pulsed low, resetting the receiver 



section's data available line to a low level. At 
this time the RS flip flop maintains the 
input port's most significant bit at a high 
level. 

Having echoed the ASCII code back to 
the UART, the software can now wait 
with a loop testing the most significant 
bit of the input port for its low state. 
Meanwhile the UART transmitter section 
is busy sending out serial data. When it 
is done, or at least when it is ready to accept 
more data, the transmitter buffer empty 
will go high. Oneshot IC2A detects the 
rising edge and produces a few hundred 
nanoseconds of delay, and then oneshot 
IC2B produces a negative pulse that 
resets the RS flip flop. The software detects 
this when the most significant bit at the 
input port goes low. This indicates that the 
output operation has been successfully 
completed. The system is also ready to 
accept more input at this time. 

Note that while the example shown was 
for a UART, no restrictions were made on 
the speed at which the UART was being 
clocked. Because we used handshaking logic 
signals we can run our UART at whatever 
clock speed we desire. 

By using a handshaking method such as 
this, the software is reduced to periodic 
checking of the status bit. Output characters 
can be sent at any time, not overlapping 
receipt and echo of an input character. The 
only other restrictions on use of this tech- 
nique are that a dummy character must be 
sent out when the system is initialized, and 
of course the UART clock rate input must 
be matched to the rate of the terminal or 
other communications device at the end of 
the serial transmission channel." 



166 



BYTE December 1977 



We Speak Your Language... 



Practical Microcomputer Programming: 

The Intel 8080 by W J Weller, A V Shatzel, 
and H Y 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, sub- 
routines, 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. 



A 

COLLECTION 

OF 

PROGRAMMING 

PROBLEMS 

AND 

TECHNIQUES 





A Collection of Programming Problems 

and Techniques by H A Maurer and M R 
Williams. Here is a book that presents you 
with problems— nearly 400 of them: pro- 
blems and games like chess, bridge, NIM; 
practical problems such as applications of 
the law of science, Kramer's rule for solving 
simultaneous equations, and applications 
of Latin squares to problems of probability; 
and more advanced computer science topics 
such as the use of Backus Naur form. One 
quarter of the book is devoted to an appen- 
dix that gives stymied readers hints on how 
to proceed with solutions of the problems. 
The most valuable feature of the book is its 
careful and thorough explanation of the 
use of algorithms to solve problems. No 
dyed-in-the-wool programmer or experi- 
menter will be able to read this book for 
very long before trying to solve the tanta- 
lizing and well presented problems. $13.50. 



f 9.00 



THE FIRST 

BOOK 

OF 

KIM 



0*8 



Top Down Structured Programming 

Techniques by Daniel McCracken who has 
called structured programming "a major 
intellectual invention." What is structured 
programming? Clement McGowan and 
John Kelly answer this question in their 
lively, well written book. Top Down Struc- 
tured Programming Techniques. Discover 
the three basic types of flowcharts and 
how to optimize them. One section deals 
with the best ways to manage programs 
being written by a team of programmers. 
An important feature of this book is its 
universality: practically any program in any 
language can be improved by using the ideas 
described in it. $15.95. 




The First Book of KIM. 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 including 
Card Dealer, Chess Clock, Horse Race, 
Lunar Lander and Music Box. Also featured 
are diagnostic and utility programs for 
testing both the computer and external 
equipment (such as cassette recorders), and 
chapters on expanding memory and con- 
trolling analog devices. This 176 page 
volume should prove an essential addition 
to any KIM user's library. $9.00. 




6800 Programming for Logic Design 

8080 Programming for Logic Design by 

Adam Osborne. These books are sequels to 
Adam Osborne's previous books, An Intro- 
duction to Microcomputers, volumes 1 and 
2. They explain how an assembly language 
in a microcomputer system can replace 
combinatorial logic such as TTL logic and 
the like. If you're a logic designer, you'll 
discover how to do your job in a new way. 
If you're a programmer, you'll find many 
new and valuable techniques including the 
use of macros, high level languages, peri- 
pheral interface adapters (PIAs), and so on. 
Also included are complete chapters on 
assembler language, direct digital logic 
simulation, and large sections devoted to 
the implementation of all these ideas 
using the Motorola 6800 processor and 
the 8080 processor. $7.50 each. 



DIAL YOUR ORDERS ON THE BITS TOLL FREE HOT LINE: 1-800-258-5477. 

In New Hampshire, call collect: 924-3355 Check Payment method: 

Send to: 4Mfe ^ y check is enclosed 

BITS, Inc. '"-' ' Bill my MC No 

70 Main Street JSmim SSSm Bill my BAC No 

Peterborough NH 03458 



. Exp. date . 
Exp. date . 



Name 



Address 



Total for all books checked 
Postage, 50 cents per book for_ 



$_ 



Qay_ 



State 



Zip Code 



Overseas, 75 cents per book for . 



.books $_ 
_books $_ 



Grand Total 



Signature 



You may photocopy this page if you wish to leave your BYTE intact. 



Prices shown are subject to change without notice. 

All orders must be prepaid. 

In unusual cases, processing may exceed 30 days. 



Circle 12 on inquiry card. 



BYTE December 1977 167 



Diddle 



Stan Skoglund 

5757 Avenida Sanchez 

San Diego CA 92124 



Listing 7. 



OCTAL 



000377 




SWITCH: EQU 


255 


000000 




ORG 


000000 






; "DIDDLE 


' VERSION 1.0 


000000 


076 


START: MVI 


A, 3 


000001 


003 






000002 


016 


BEGIN: MVI 


C,0 


000003 


000 






000004 


107 


RUN: MOV 


B,A 


000005 


021 


SPEED: LXI 


D,64 


000006 


100 






000007 


000 






00001 


041 


LXI 


H,0 


00001 1 


000 






00001 2 


000 






00001 3 


002 


DSPLY: STAX 


B 


000014 


002 


STAX 


B 


00001 5 


002 


STAX 


B 


000016 


002 


STAX 


B 


000017 


002 


STAX 


B 


000020 


002 


STAX 


B 


000021 


002 


STAX 


B 


000022 


031 


DAD 


D 


000023 


322 


JNC 


DSPLY 


000024 


013 






Q00025 


000 






000026 


333 


IN 


SWTCH 


000027 


377 






000030 


376 


CPI 





000031 


000 






000032 


312 


JZ 


SPEED 


000033 


005 






000034 


000 






000035 


062 


STA 


SPEED+1 


000036 


006 






000037 


000 






000040 


014 


INR 


C 


000041 


171 


MOV 


A,C 


000042 


376 


CPI 


63 


000043 


077 






000044 


362 


JP 


RESET 


000045 


063 






000046 


000 






000047 


376 


CPI 


31 


000050 


037 






000051 


170 


MOV 


A,B 


000052 


007 


RLC 




000053 


372 


JM 


RUN 


000054 


004 






000055 


000 






000056 


017 


RRC 




000057 


017 


RRC 




000060 


303 


JMP 


RUN 


000061 


004 






000062 


000 







000063 170 



000064 000 

000065 303 

000066 002 

000067 000 



.ADDRESS OF SENSE SWITCH PORT 



INITIALIZE DISPLAY PATTERN 

INITIALIZE DIRECTION COUNTER 

;MOVE DISPLAY TO B-REG 

INITIALIZE TIMER DURATION COUNTER 

.INITIALIZE TIMER BASE 



DISPLAY BIT PATTERN VIA ADDRESS LIGHTS 
DO IT AGAIN TO MAKE IT BRIGHTER 

AND BRIGHTER 

AND BRIGHTER 

AND BRIGHTER 

AND BRIGHTER 

AND BRIGHTESTI 

ADD TO TIMER BASE. TIMER ELAPSED? 

NO, GO BACK AND DISPLAY AGAIN 



;OTHERWISE READ SENSE SWITCHES 
;DOES PLAYER WANT DISPLAY TO STOP? 
;YES, GO BACK AND RE-ISSUE SAME DISPLAY 

;OTHERWISE SAVE NEW SPEED 

;BUMP DIRECTION COUNTER 

;TIME TO RESET DIRECTION COUNTER? 

;YES, JUMP TO RESET SECTION 

;SET STATUS WORD 

;MOVE PATTERN INTO A-REG. 

;SHIFT PATTERN 1 BIT TO THE LEFT 

gUMP IF STILL MOVING IN LEFT DIRECTION 



;SHIFT PATTERN 1 BIT TO THE RIGHT 
;SHIFT PATTERN 1 BIT TO THE RIGHT 
;GO DISPLAY NEW PATTERN AT NEW SPEED 



THIS SECTION IS EXECUTED AFTER PATTERN HAS MOVED 4 TIMES TO THE 
LEFT AND 4 TIMES TO THE RIGHT. 



RESET: 



MOV 



A,B 



; MOVE PATTERN INTO A-REG. 



THIS NEXT LOCATION CAN BE LOADED WITH OCTAL 057 WHICH WILL 
ADD A LITTLE ZIP TO DIDDLE. 



NOP 

JMP 



BEGIN 



;CHANGETO CMA 

;GO START OVER AGAIN 



168 



BYTE December 1977 



"Diddle" is a game program in which one 
can sit with an Altair 8800 computer and 
diddle around for some time without solving 
anything. The pure satisfaction of beating 
the game makes it all worthwhile. 

The object of Diddle is to stop the 
moving pattern in address lights A12 and 
A13 while it is approaching from the right. 
If this is done within the rules and regula- 
tions you are considered a winner. Of 
course, almost everybody wins at the slower 
speeds, while only a selected few are tal- 
ented enough to beat the computer in the 
high speed race. Try your luck! 

Load Diddle via the front panel 
switches, referring to listing 1. For those of 
you wishing to make paper tapes or Xerox 
copies of this listing, be my guest. Diddle is 
public domain software. 

Program Operation: 

• Select the program starting address 
by setting all the address switches 
off (down). 

• Press examine. 

• Press run. 

• Set address switch 10 up. Observe a 
pattern moving in address lights A08 
thru A1 5. Watch it for a minute or so. 
Try to predict its behavior. 

• Set all the address switches down. 
Note that the pattern stops moving. 
Now set address switch 10 up again. 
The display in the lights should start 
moving again if the program is oper- 
ating properly. 

• There exists a relationship between the 
speed of the moving pattern and the 
address switch used in the above steps. 
Switches to the left of A10 will cause 
the pattern to move faster, while 
switches to the right will produce a 
slower motion. Only A08 thru A15 
can be used. Program ignores switches 
AOOthru A07. 

Rules and Regulation: 

• Once a player starts the pattern mov- 
ing, he must wait at least 5 seconds 
before making his move to stop it. 
This prevents a player from creeping 
up to the stopping spot by toggling the 
speed switch. 

• The moving pattern must be approach- 
ing the stopping position from the 
right when a player attempts his move. 

• You must upon demand show that 
you can beat Diddle three out of 
three times at the speed you claim to 



be a winner. If you cannot do this, 
then you are not a bonafide winner, 
but just a diddler. 
• In all cases the burden of proof is left 
to the player, not the judges. However, 
the judges' decision is final. 

Theory of Operation and 
General Notes on Diddle 

The display pattern is shown in the 
address LEDs by executing a STAX B 
instruction which causes the 8080 pro- 
cessor to output 16 bits of information to 
the address bus. The choice of the STAX B 
instruction was made so that the B register 
could contain the display pattern. To 
modify the display, it is only necessary to 
modify the B register and then execute the 
STAX B instruction. This method of display 
requires keeping in mind some other con- 
siderations. For instance, remember that the 
processor is also putting onto the address 
bus the location of each instruction it 
fetches from memory and therefore, in 
order to control address LEDs A8 thru A15 
via the B register, the STAX B instruction 
must be located in low memory (below 
octal address 377). Try relocating Diddle 
to octal 10000 and you will see that the 
display still rotates, but address LED A12 
will always be on. Also, for the same reason, 
the maximum display pattern one could 
hope to achieve would be 13 bits, although 
Diddle only uses an 8 bit display. 

The speed of the rotating pattern is 
determined by adding a value to an accumu- 
lative counter until it overflows. Of course, 
the larger the value, the quicker the counter 
will overflow. The real trick with Diddle is 
that it lets the value be selected by the 
player at execution time. This is done by 
executing an IN instruction from port 255. 
MITS has provided the ability to read the 
front panel switches (A8 thru A15) via 
software using this port. 

The direction of motion of the display 
pattern is determined by counting the num- 
ber of rotations. Eight rotations will cause 
the pattern to revolve once, 16 rotations will 
cause it to revolve twice, etc. The pattern 
is rotated in the left direction until the 
counter reaches 31, then it is rotated in the 
right direction until it reaches 63. The 
counter is then reset and the cycle begins 
again. 

It is interesting to note that the contact 
bounce of the front panel switches does not 
seem to affect the operation of Diddle. This 
is probably because the reflex time is much 
larger than the contact bounce time." 



BYTE December 1977 



169 



Continued from page 69 



A two-sided printed cir- 
cuit board and a kit of parts 
are now commercially avail- 
able. The board alone is $19, 
and the complete kit is $39. 
The assembled, tested and 
warranteed unit is $69. Send 
to: Meade Electronics, 511 
Meade Cir, Memphis TN 
38122. 



address 1400, to send to the dividers, IC15 
and IC19, for notes 1 and 2. Notes 2 and 3 
are only in the low octaves 5 and 6 so up to 
three octaves may be played at once. I chose 
these to be in the lower octaves because I 
use them for rhythm and accompaniment. 
You may want to add other octave selectors 
for more control, or add manual switches to 
have notes 4 and 3 in any octave. 

The data from the computer is strobed 
into the latches by write pulses generated by 
the address decoder, IC5 to IC7 (figure 4). 
K5 from KIM-1 is low whenever the sixth 
1024 block of memory is addressed. K5 
is combined in IC5 with A9, As, and R/W 
to produce pulses when addresses 20XX to 



22XX are written into. The pulse indicating 
addresses 20XX (2000 to 20FF) are_ being 
written into is combined with A7 to A3 and 
02 to produce a negative pulse during phase 
two of the computer clock when locations 
1400 to 1407 are being written into. This 
short pulse is combined with A2 to Arj in 
IC7 to produce strobe pulses for the latches 
during the 500 ns when the data is stable on 
the data bus. Generating a tune is done by 
storing (with a timed sequence) the appro- 
priate data into locations 1400 to 1402 as 
you would any other memory location. The 
5 to 12 V level shifter is simply a high volt- 
age, open collector hex inverter, 7406. 
In retrospect, diodes D^ to D4 are pro- 



Effective 

Nearby Integer 

Musical Note N 



Key 



Note 



Actual 


Pitch 


Nearest 


Ratio 


Assuming 


Well Tempered 


256/N 


1 MHz/(16N) 


Ratio 



(R-W)/R 



B 


256 
252 


8 8 

9 14 


1.0000 
1.0159 


244.14 
248.02 


1.0000 
1.0000 


0.0000 
0.0156 


C 

■ 


242 
240 


11 11 
8 15 (10,12) 


1.0579 
1.0667 


258.26 
260.42 


1.0595 
1.0595 


0.0015 
0.0068 


C# 


234 
225 
224 


9 13 

15 15 

8 14 


1.0940 
1.1378 
1.1429 


267.09 
277.78 
279.02 


1.1225 
1.1225 
1.1225 


0.0260 
0.0135 
0.0178 


D ■* 


220 
216 
210 


10 11 

9 12 

14 15 


1.1636 
1.1852 
1.2190 


284.09 
289.35 
297.62 


1.1892 
1.1892 
1.1892 


0.0220 
0.0034 
0.0245 


D# 


208 
200 
198 


8 13 

10 10 

9 11 


1.2308 
1.2800 
1.2929 


300.48 
312.50 
315.66 


1.2599 
1.2599 
1.2599 


0.0237 
0.0157 
0.0255 


E ■« 


196 
195 
192 


14 14 

13 15 

8 12 


1.3061 
1.3128 
1.3333 


318.88 
320.51 
325.52 


1.3348 
1.3348 
1.3348 


0.0220 
0.0170 
0.001 1 


F 

■ 


182 
180 
176 


13 14 
9 10 (12,15) 
8 11 


1.4066 
1.4222 
1.4545 


343.41 
347.22 
355.11 


1.4142 
1.4142 
1.4142 


0.0054 
0.0056 
0.0277 


F# 


169 
168 


13 13 
12 14 


1.5148 
1.5238 


369.82 
372.02 


1.4983 
1.4983 


0.0110 
0.0167 


G 

■ 


165 
162 
160 


11 15 
9 9 
8 10 


1.5515 
1.5802 
1.6000 


378.79 
385.80 
390.63 


1.5874 
1.5874 
1.5874 


0.0231 
0.0045 
0.0079 


G# 


156 
154 
150 


12 13 
11 14 
10 15 


1.6410 
1.6623 
1.7067 


400.64 
405.84 
416.67 


1.6818 
1.6818 
1.6818 


0.0248 
0.0117 
0.0146 


A ■* 


144 
143 

140 


8 9 (12,15) 
11 13 
10 14 


1.7778 
1.7902 
1.8286 


434.03 
437.06 
446.43 


1.7818 
1.7818 
1.7818 


0.0026 
0.0047 
0.0256 


A# ■* 


135 
132 


9 15 

11 12 


1.8963 
1.9394 


462.96 
473.48 


1.8876 
1.8876 


0.0045 
0.0266 


B 


130 
128 


10 13 

8 8 (next octave) 


1.9692 
2.0000 


480.77 
488.28 


2.0000 
2.0000 


0.0156 
0.0000 



■ Diatonic major scale notes "best fit" to A = 440 standard. 

* Best fit of diatonic major scale to equally tempered scale based on B = 244.14. 

Table 5: Table of possible intervals. The circuit of figures I to 4 produces the following set of possible frequencies assuming a 
1 MHz central processor clock. In this table, outputs have been grouped near the equivalent well tempered scale ratio and fre- 
quencies. The asterisk (*) indicates best fit for a logarithmic well tempered scale series starting at a ratio of 1.0000, calculated 
using a program on a pocket calculator. Notations in parentheses show effective integers derived by shifting to the next octave. 
Note that with this calculation, use of "best" fit finds the note A in this octave at 434 Hz, 0. 7% flat with respect to the standard 
A of 440 Hz. Table 6 picks a set from this table which is closest to the standard pitches but not optimal with respect to equal 
temperment. 



170 



BYTE December I 977 



bably not needed since IC6 probably can't 
supply enough current to damage IC3, 
even though the input voltage maximum to 
IC3 is specified as 5.5 V. The four extra out- 
puts on the quad I. itches are used with 24 
LEDs to give you a bonus light show, and 
are useful in figuring out what data is being 
sent to the interface from the computer. The 
LEDs are lit with Os instead of Is at the J 
inputs, so that the more lights, the lower 
the divisor and the higher the note. If you 
want the lights to read the same as the J 
inputs, reverse them and tie the anodes to 
+12 V. 

The middle seven octaves of the interface 
each have 33 unique combinations of the 
key and note dividers. I've made a list of fre- 
quencies in one such octave. You'll notice 
right away that there is no way to get a per- 
fect fifth if you use 244.14 Hz as the home 
or "tonic" note. This is because to go up in 
frequency by 3/2s, you need to already be 
dividing by a number that has 3 in it such as 
9, 12, or 15. So if you want to change to a 
note that is a fifth from the tonic, 248.02 
Hz, 260.42 Hz, 267.09 Hz etc can be used 
as the tonic, but 244.14 Hz, 258.26 Hz, 
279.02 Hz can't be. Although this may seem 
restricting, remember that the octave here 
has almost three times as many notes as an 
octave on a piano. For the tritone inter- 
vals), you will find that 10/7 and 7/5 are 
indistinguishable from 64/45 and 45/32, 
and are easier to use. 

Now to get started using the interface, 
let's write a program to play the do to do 
scale in both major and minor modes. To 
keep it simple, we'll let note 1 play and 
keep the others silent. To silence notes 
2 to 4, we need to store a 1 in bit 7 of 
location 1401 and in bits 4 and 7 of loca- 
tion 1402. To hear anything, we also need 
a in bits 4 and 7 of location 1400 and 
to hear note 1, a in bit 4 of 1401. One 
set of data to accomplish this is: 

Data 



Address 

1400 
1401 
1402 



xy 
Fz 
FF 



where x, y, and z are numbers less than 8 
and the Fs are any number more than 7 
(eg: hexadecimal E). 

If you look at the major and minor 
mode sequences in table 1, "Key of C 
Major," or in table 2, "Key of A Minor," 
you'll find that the major scale tonic must 
contain two 3s and a 5 in the divisor so 
you can multiply by 9 and 15, and the 
minor scale tonic must contain two 3s. 

The so called "rate multipliers" also do 



their multiplication by dividing by a smaller 
number. To make this idea clear to you I've 
written out the ratios, divisors, output fre- 
quencies, and the data to be written into 
locations 1400 and 1401 (don't forget to 
write FF into 1402). For example, if hexa- 
decimal 34 and hexadecimal F7 are written 
into 1400 and 1401, the 1.00 MHz clock 
will be divided by (8x12x15x2) to give 
an output frequency of 347.222 Hz. 

To play the major scale, your memory 
should look like this: 



( start j 



Address 


Data 


SCALE+0 


34 


SCALE+1 


F7 


SCALE+2 


40 


SCALE+3 


F2 



etc 

The major and minor diatonic scales and 
the twelve note chromatic scale are not the 
only scales that are pleasing to the human 
ear. With this interface you should be able to 
create new and pleasing musical scales, and 
compose music which has never been heard 
before. You can explore the sounds of inter- 
vals with frequency ratios of 7/4, 9/5, 9/7, 
and 7/6 which are not found in Western 
music. You should also be able to invent 
some new and interesting chords since 
you will have more of the harmonic series 
available to you. Just watch out for the 
critical band by keeping your notes more 
than 50 Hz apart plus 25 Hz for each kHz." 











LOAD REGISTER X 
WITH 




J' 










LOAD ACCUMULATOR 
WITH OCTAVE AND 
KEY DATA LOCATED 
AT SCALE + X 










STORE ACCUMULATOR 
IN I400 










INCREMENT X 










LOAD ACCUMULATOR 
WITH NOTE DATA 
LOCATED AT 
SCALE + X 










STORE ACCUMULATOR 
IN I40I 










WAIT 250 mS 










INCREMENT X 




N( Vdoes 


X=I6N 



( END* ") 



♦CHANGE OCTAVE AND 
REPEAT OR RETURN 



Figure 5: Flowchart of a simple program to cycle through a series of note 
codes found in a table indexed by register X, with 16 entries. 









Divisor 




Data 




f KON1 




Ratio 


Octave 


Key 


Note 


1400 


1401 


Tonic 


1/1 


8 


12 


15 


34 


F7 


347.2 


Second 


9/8 


16 


8 


10 


40 


F2 


390.6 


Third 


5/4 


8 


12 


12 


34 


F4 


434.0 


Fourth 


4/3 


8 


9 


15 


31 


F7 


463.0 


Fifth 


3/2 


8 


12 


10 


34 


F2 


520.8 


Sixth 


5/3 


8 


12 


9 


34 


F1 


578.7 


Seventh 


15/8 


8 


12 


8 


34 


F0 


651.0 


Octave 


2/1 


4 


12 


15 


24 


F7 


694.4 


Tonic 


1/1 


8 


12 


12 


34 


F4 


434.0 


Second 


9/8 


16 


8 


8 


40 


FO 


488.3 


Third 


6/5 


8 


12 


10 


34 


F2 


520.8 


Fourth 


4/3 


8 


12 


9 


34 


F1 


578.7 


Fifth 


3/2 


8 


12 


8 


34 


FO 


651.0 


Sixth 


8/5 


4 


12 


15 


24 


F7 


694.4 


Seventh 


16/9 


8 


9 


9 


31 


F1 


771.6 


Octave 


2/1 


4 


12 


12 


24 


F4 


868.1 



Table 6: A selection of codes taken from the integers of table 5 and applied 
to the hardware of figures I to 4, to create a major scale (tonic F relative to 
A = 440) and minor scale (tonic A, relative to A = 440). 



ISYTE December I 377 



171 



Circle 54 on inquiry card. 



D-2 BINDER ADAPTERS 




G 



$36.00 



Ri 



P.O. Box 10767 
Salem Station 
Winston-Salem, N.C. 
27108 

(919) 748-8761 




We're not playing games! 

Our systems mean 

BUSINESS! 



The systems can play games, but they're really meant to 
do business. Our Z-80 based minicomputer system has 
keyboard, video display, printer, 24K of memory, dual 
floppy disks including full business software — and is 
available assembled and tested, starting at... 



$3,995.00 



Nothing else to buy (except paper and floppy disks) to 
run: 

Accounts Receivable General Ledger 
Accounts Payable Inventory 

Payroll ... and others 



Programs run in BASIC interpreter, which is supplied. 

Dealer and sales agent inquiries are invited 

MiniMicroMart, Inc. 

1618 James Street 

Syracuse, New York 13203 

(315)422-4467 



Continued from page 14 

rescuing the small space cruiser, the captain 
was being questioned concerning his actions 
(which had necessitated the intervention of 
a starship). His statements were routinely 
routed through the data base for confirma- 
tion or contradiction. Less than one second 
after he stated "I have a Masters licence.", 
the computer countered with "Incorrect. 
Masters licence revoked stardate 1317.6." 
Even more surprisingly, the computer had 
previously identified this captain correctly 
from his voice print and other sensory data. 
His complete file, including criminal record, 
was instantly available to the Enterprise 
officers. So, at the very least, the Enterprise 
data base must contain complete biographical 
information on all known criminals in the 
galaxy! 27 

The second incident began with the com- 
puter's response to the inquiry: "Computer. 
Linguistic banks. Definition of the following 
word: 'redjac'." After receiving a negative 
reply, all other banks were searched. The 
answer was then in the affirmative: "Work- 
ing. Red Jack: Source: Earth, nineteenth 
century. Language: English. Nickname ap- 
plied to mass murderer of women. Other 
Earth synonym: Jack the Ripper." At this 
point an additional inquiry was made: 
"Computer. Criminological files. Cases of 
unsolved multiple murders of women since 
Jack the Ripper." The computer responded 
with a half dozen such crimes ranging in 
time from the unsolved murder of seven 
women in Shanghai, China, Earth in 1932 
to the crimes on Rigel IV only one year 
preceding the inquiry. 28 

The amount of linguistic, criminological 
and biographical data that would have to be 
stored, on line to answer these types of 
questions almost defies belief. 

Apart from the exceptional tasks which 
the Enterprise computers perform, their 
man-computer interface is even more 
amazing. All the computer terminals are 
equipped for audio IO, full graphics including 
the display of photographic data, and can be 
tied into any of the ship's numerous data 
banks. The voice commands that can be 
processed by the ship's computers are not 
from a small set of command words (eg: 
"End yellow alert! Begin processing. Find 
Yeoman Rand!"); rather they are com- 
pletely unrestricted English! Examples of 
typical commands are: 

Compute to the last digit the value 

of pi. 29 [Quite a trick if you can do 

it. . . CM] 

Computer. Digest log recordings for past 

five solar minutes. Correlate hypotheses. 

Compare with life forms register. Ques- 



172 



BYTE December 1977 



Circle 77 on inquiry card. 



Circle 103 on inquiry card. 



tion: Could such an entity within dis- 
cussed limits exist in this galaxy? 7,0 

Engineering Officer Scott reports warp 
engines damaged but repairable. Ascertain 
precise degree and nature of damage, 
compute nature and magnitude of forces 
responsible, and program possible 
countermeasures. 3 1 

Library computer . . . Give me everything 
you have on a man named or known as 
Kodos the Executioner. After that, a 
check on an actor named Anton 
Karidian. 3 2 

Hardware Innovations Necessary 

With the immense amount of data that 
must be stored on line and available for fast 
access, one area of technology that must 
have been highly developed in the Star Trek 
era is memory technology. A reasonable 
estimate of the size of the Enterprise data 
base is 10^2 bits. To achieve a retrieval "in 
a manner of seconds," an effective memory 
access time of 10—15 seconds is required 
(see reference on page 180). No operational 
memory devices today offer the necessary 
fast access time, along with high capacity, 
low power consumption and small volume. 
However, a number of devices hitherto 
restricted to the research lab are becoming 
operational which have some or all of the 
desired qualities. These include the so-called 
electronic disks, the Megastore of the 
Ampex Corporation, and Josephson junction 
devices. 

Electronic disks are memory devices em- 
ploying various new technologies which do 
not involve mechanical movement, but 
which possess the capacity of fixed or 
movable head disks, along with dramatically 
faster access times. They are just now begin- 
ning to become operational. Some problems 
exist in a few of the technologies, eg: 
memory volatility is a slight problem in 
the electron beam addressed electronic 
disk. 33 ' 34 

The Megastore of the Ampex Corpora- 
tion, however, represents a new use for an 
old technology. Megastore uses magnetic 
core, a technology that has been on the 
decline since the advent of smaller and faster 
semiconductor memories. The use of Mega- 
store as a mass storage device is now a 
fact. 35 

The Josephson junction is another entirely 
new technology which could be used for 
memory. The Josephson junction device is 
a superconducting tunnel junction first 
demonstrated in 1962 by Brian Josephson at 
Cambridge. In one form, it exhibits a very 
rapid switching phenomenon between two 
modes of junction tunneling which enables 



BUY, SELL OR TRADE 



YOUR NEW OR USED HARDWARE, SOFTWARE 

OR LITERATURE THROUGH OUR NATIONWIDE 

SMALL COMPUTER SYSTEMS DATA BASE 

Enter any item you wish to buy, sell or trade in our Small 
Computer Systems Data Base. We will process your 
entry against all others in our data base and mail you a 
printout of all matching entries. You then contact the 
correspondents listed in those entries to effect your buy, 
sell or trade. Your entry will remain active in our data 
base for three months. All incoming entries will be pro- 
cessed against your item and your entry will be mailed 
to all those that match. Thus you are assured of a wide 
coverage for your buy, sell or trade. 

The cost of your first entry is $4.00, each additional item 
submitted at the same time is $2.00. Send the entry form 
below together with your check to: 

THE SMALL COMPUTER SYSTEMS CO. 

P.O. Box 4344, Warren, New Jersey 07060 



□ BUY 

D HARDWARE 



□ SELL 

□ SOFTWARE 



G TRADE 

D LITERATURE 



Name. 
Street. 
City 



State_ 



.Zip. 



Telephone (Include Area Code) 



Attach description of item (approximately SO words). 

THE PERFECT N 

.MsfcPUDAY 
# fCARDS 





.Any of the 
versatile boards 

Z-80 CPU $35.00 

2708/16 EPR0M $25.00 

PR0T0B0ARD $25.00 

8k STATIC RAM $25.00 

PLEASE ADD S2.00 SHIPPING PER ORDER 



from 



IMSAI 8080 Kit 

—with 22 slot M.B. 

$5BOP° 

PLUS $10.00 SHIPPING 



V 



\7\ itlm oudio 



PO BOX 91 ITHACA, N.Y. 14850 (607) 273-3271 



Circle 137 on inquiry card. 



BYTE December 1977 173 



Circle 59 on inquiry card. 




Talk to your 
computer for $ 299* 

SpeechLab™ lets you talk to and control any S-100 
bus computer. . . Sol, Altair, IMSAI, etc. Use for compu- 
ter input, research, vocal control and games. Price, $299 
assembled and tested. Complete hardware/software 
system, 275 page lab and 95 page hardware manuals. 

Address Heuristics, Inc., 900 N. San Antonio Road, 

Heuristics 



Los Altos, CA 94022. 
Phone (415) 948-2542. 



INC. 



Get the best in 

Business Data 

Processing Systems 



Accounting, Inventory, General Ledger, 
Timesharing Applications 

Also a complete line of personal computers 
and peripherals, including: 

• Polymorphic 

• DTC 

• North Star 
• Books/ Magazines 

HARDWARE/SOFTWARE SUPPORT 

Our experienced staff is ready to help you 

configure the best system to suit your needs 



• IMSAI 

• Digital Group 

• Compucolor 




■w 



A company of Business Solutions, Inc. 



124 H Blossom Hill Road • San Jose, CA 95123 
(408) 226-8383 



the device to be used as a flip flop register. 
The Josephson junction, as far as memory 
technology is concerned, is over 15 years 
away. One difficulty with this technology 
is that it operates at the extremely cold 
temperature of liquid helium (4.2°K) and 
therefore requires a sophisticated external 
refrigeration unit. 36 The typical access times 
for memory devices employing these tech- 
nologies are shown in the following table: 



Integrated circuits 


1 to 1 00 ns 


Magnetic core 


1000 ns 


Fixed head disk 


8,000,000 ns 


Electronic disk technologies: 




• Charge coupled devices 


6400 ns 


• Domain tip propagation 


1,280,000 ns 


• Electron-beam addressed 


10,000 ns 


• Magnetic bubbles 


640,000 ns 


Josephson junction 


1 ns 



Without a doubt, the new technology 
which provides the fastest access is the 
Josephson junction. (Laboratory access 
times of 0.6 ns have been recorded.) Because 
of the speed of the Josephson junction, its 
small size and low power consumption, 
much work is currently being done to bring 
it from the laboratory into the working 
computer world. 

With respect to operational memory 
devices, then, the current technology is still 
five or six orders of magnitude away from 
the world of Star Trek, where the measure 
used is memory access time. However, an 
additional possibility is that the Enterprise 
computer may be organized as an associative 
or content addressable memory. Such an 
organization would reduce the access time 
requirements by at least a few orders of 
magnitude and would make the memory 
access time requirements closer to our 
current technology. 

The remote terminals on the Enterprise 
also represent a real challenge for today's 
electronic technology. These terminals are 
primarily used for live visual communication 
between ships as well as for internal ship 
communications. They are also capable of 
displaying photograph quality records from 
a data base plus alphanumerics. Since the 
videophone is a reality today (although in 
very limited quantities and at great ex- 
pense), 37 the visual communication usage 
alone poses no problem. Graphics display 
terminals using the current raster scan 
technology can presently provide this. 

The display of photographs from the 
data base, however, is a different matter. 
If the raster technology is used, then the 
storage of digitized photographs by current 
data compression techniques 38 would 
require such an immense amount of 
secondary storage 39 that our current 



174 



BYTE December 1977 



Circle 32 on inquiry card. 



Circle 62 on inquiry card. 



memory technologies could not do the job. 
But one could envision a central photograph 
storage from which a specific photograph is 
retrieved mechanically and brought into 
position in front of a high resolution TV 
camera. The camera produces the necessary 
raster scan signal to drive the display. 
Whether a mechanical retrieval of a random 
photograph could be performed in a timely 
fashion, however, is open to discussion. 

Another possibility is to use the plasma 
display technology coupled with back 
projection. This is currently done in the 
Magnavox 10000 Plasma Display Terminal, 
now being successfully used in the PLATO 
IV Project (Programmed Logic for 
Automatic Teaching Operation, Fourth Gen- 
eration) at the University of Illinois. 40 ' 4 1|42 
The Model 10000 allows back projection of 
microfiche data concurrent with the display 
of graphic information. 43 Such a system 
allows a small amount of information on the 
screen to be modified without redrawing or 
recomputing the unchanging major portion 
of the display. The problem on the Enter- 
prise, however, is to transmit such a back 
projection from a common library to a 
remote terminal. 

Any hardware on board the Enterprise 
must be rugged. The starship is often sub- 
jected to jolts of sufficient magnitude to 
propel a forewarned, experienced and able- 
bodied crewman a distance of 20 feet or 
more. 44 ' 45 ' 46 While it is stated that the 
computer hardware is enclosed in anti- 
gravity, antiacceleration and antiradiation 
fields, 47 this is at best impossible to evaluate 
and at worst incomprehensible to today's 
science. 

Software Innovations Necessary 

Apart from the hardware innovations 
necessary to realize the level of computer 
technology present in Star Trek, there are 
-software and theoretical developments 
which must be made. Certain elements of 
that level of technology are not hardware 
bound (or at least do not appear to be 
so). Two of these most apparent to the 
computer oriented Star Trek observer are 
speech recognition and semantic compre- 
hension of a natural language. 

Speech Recognition 

It is often hard for nontechnical people 
to understand the problems involved in 
speech recognition by computer. After all, 
every 5 year old child can understand 
the speech of fellow human beings, even 
in the presence of significant background 
noise or degradation. Can the process be so 
difficult to program? 



experience 



excitement 

challenge 

intrigue 

with your computer 
and 

Dr. C. Wil liam Engel's 

Stimulating Simulations 

64-page paperback book 



10 Programs in BASIC 

art auction 
monster chase 
lost treas ure 
gone fishing 
space flight 
forest fire 
na utical navigation 
business management 
rare birds 
diamond thief 
$5 a copy -immediate delivery - 1st class postage paid 

C W. Engel, P.O. Box 16612, Tampa, FL 33687 



Each Simulation 
Contains 

scenario 

sample run 

f lowc hart 

list of variables 

program listing 

suggested modifications 




For the computer 
that has 
everything 

Searching for a Christmas 
idea for your computer? 
Stop in and see our 
complete line of computer 
products at our two 
convenient locations or 
send $2 to General 
Computer Company, Inc., 
420 Main St., Brighton, 
Michigan 48116 
We'll RUSH you our NEW 80 
PAGE MAIL-ORDER 
CATALOG. 

General 
Computer 
Company, Inc. 

Put the top of the line at the 
top of your Christmas list. 



1310 Michigan Avenue 
East Lansing, Mich. 48823 
(517) 351-3260 

75 W. Long Lake Road 
Troy, Mich. 48084 
(313) 362-0022 



Circle 55 on inquiry card. 



BYTE December 1977 



175 



Circle 19 on inquiry card. 



ADM-3A 



IN KIT 
FORM 



$ 



695 



00' 



« 




^%a 



'# 



*j 



s? 




■80 CHARACTERS/LINE 
• 24 LINES/SCREEN 
> ADDRESSABLE OURSUR 
'9, 10, or 11 BIT WORDS 



2& 



• All equipment 
F.O.B. Dallas, Texas 
or Anaheim, California 

• Terms — check or 
money order with 
order 

• Delivery in 30 days 

• Add $20 for Shipping 
and Handling 



OPTIONS: 

• Lower case option 
add $100,00 

• Numeric key pad 
option add $75.00 



• 75-19,200 BAUD 

• FULL & HALF DUPLEX 

• ODD/EVEN/NO PARITY 

• RS232 INTERFACE OR 
20 ma CURRENT LOOP 



CET COMPLETE DETAILS WITH A DIRECT CALL: 
214 258-2414 TWX 910-860-5761 TELEX 73-0022 

800 527-3248 



mi-\H 25tS-ZllVt IWX 910-860-57 
capital 



930 N. BELTLINE 



equipment brokers 

IRVING, TEXAS 75061 f 



MACRO FLOPPY 
CONTROLLER 

S-100 Compatible Flexible Disk Controller handles up to 
eight standard or mini disk drives. 

On Board EPROM contains all disk interface software: 

*CP/M compatible driver routines and bootstrap 

*Blank disk format routine 

*Routines for system customization 

"Jump table driven software for easy interface 

Crystal controlled clock. Board Address Jumper selectable. 

Controller compatible with many brands of drives such as 

Persci, Shugart, Pertec, Remex. 

Model FDC-108MA (mini) Assembled and tested $400.00 
Model FDC-108SA (Standard) Assembled and tested $400.00 
Model FDC-108K (Bare PC Board, LSI 

Controller IC, Pre-Programmod EPROM) $225.00 

Available stock to 10 days. 
Contact your local distributor, or 

Computer Hobbyist Products, Inc. 

P.0 Box 18113 

San Jose, CA 95158 

(408) 629-9108 

(Calif, residents add 6% sales tax.) 

Dealer inquiries invited. 



What some do not realize is that speech 
is a method of communication used by 
intelligent, knowledgeable beings who 
employ elements of syntax, semantics and 
world knowledge in order to process a 
complex signal. But only a portion of this 
signal is purely linguistic information. 
Current studies indicate that the 5 year 
old is able to utilize both hemispheres 
of his brain in language learning, unlike 
adults. Biologically, the child is specially 
adapted to learn language by recognizing 
and inferring grammar from the speech of 
those around him. This research brings 
into new light the human cognitive 
abilities for language and speech recognition. 
Recognition of the spoken word is often an 
underestimated task. 48 ' 49 Star Trek 
presents a world in which this problem is 
completely solved. Almost all commands to 
the computer complex are given vocally. 
The processor is always able to convert this 
audio signal into an appropriate internal 
representation of English words and 
sentences. 50 

At present, the success in speech recog- 
nition could be characterized by saying that 
a vocabulary of 1000 words can be 
recognized for one speaker, or a vocabulary 
of one word for 1000 speakers. 51 The 
reasons for this lack of progress in over 20 
years of work are many, but the main dif- 
ficulties are presently in separating the 
phonemes (the basic units of speech) from 
each other and from other information in 
the speech signal. 52 Some researchers have 
estimated that less than 1% of the energy 
transmitted by voice output is used for the 
linguistic signal itself. The majority of the 
energy communicates other factors like the 
sex, state of health (head cold, flu, etc), 
emotional state and other nonlinguistic 
information about the speaker. 53 Merely 
separating the linguistic portion is difficult 
because it is masked by the torrent of 
extraneous information (as far as speech 
recognition is concerned). 

Aside from the separation of "pure" 
linguistic information from the speech 
signal, separating the individual phonemes 
has also proven to be nontrivial. 

Speech is a semicontinuous phenomenon. 
To be able to separate individual phonemes 
implies the difficult task of mapping this 
semicontinuous process onto a sequence of 
discrete entities. While some success has 
been attained with this method of phonemic 
analysis, current research is dealing directly 
with the semicontinuous phonetic stretches 
which correspond in some sense to fused 
phonemic elements such as syllables. 54 

Relying merely on the audio signal alone 



176 



BYTE December 1977 



Circle 29 on inquiry card. 



Circle 1 7 on inquiry card. 



is insufficient for automatic speech recog- 
nition. 55 ' 56 Current efforts correspond to 
the theories of human cognition of speech 
and employ elements of grammatical, 
contextual and semantic constraints as well 
as world knowledge. Techniques and models 
from artificial intelligence, mathematical 
linguistics, the theory of stochastic 
processes, and acoustical and phonological 
analysis are being extensively 

employed. 57 ' 58 The difference (or more 
accurately the gulf) between the current 
state of speech recognition and that of the 
world of Star Trek cannot be overem- 
phasized, however. Extensive theoretical 
analysis and perhaps some breakthroughs in 
computational techniques are required 
before this gulf can be bridged. 

Natural Language Processing 

Completely separate from the notion of 
speech recognition is the idea of semantic 
comprehension of a natural language by a 
computer, ie: computer "understanding" of 
the meaning of a normal English statement, 
as opposed to a statement made in a pro- 
gramming language, however "high" level. 
Suppose that some suitable input method is 
used (voice, if the speech recognition 
problem has been solved) to get English 
statements into the computer memory. What 
success has there been on the design of 
algorithms which could syntactically and 
semantically analyze these statements so 
that they can be "understood" by the com- 
puter? In the world of Star Trek, this 
problem has been completely solved. From 
the examples cited earlier, one can see that 
the Enterprise has an English "compiler" 
which can accept and correctly process 
unrestricted English. 

The current state of natural language 
understanding is not yet even near that of 
Star Trek. However, many universities and 
research centers are examining this problem 
and have made significant contributions in 
the past few years. At present it is possible 
to correctly process relatively unrestricted 
English statements made in the context of 
narrow fields, eg: marine chemistry. While 
the vocabulary of these fields is understand- 
ably restricted (one rarely uses the word 
"sonata" while making retrievals from a 
chemical data base), the syntax covers a 
wide range of possible English constructions. 
One example of such a prototype language 
"understander" is the LUNAR system 
developed by Bolt Beranek and Newman 
Inc. This system is used to process questions 
to a data base of geological data recovered 
from lunar samples. Examples of the kind of 



JsmSersepvicTng! 



k Ours offers a built-in logic probe (hi, lo, 

9 and pulse), special edge connector that 

J allows clip lead probing, jumper links in 

k all supply lines, a non-skid needlepoint 



Whether for troubleshooting or analysis, 
at some point you will need our EX- 
TENDER BOARD W/ LOGIC PROBE ($35). 



probe . 
price. 



. plus quality parts and a realistic 




SimplifiefControTl 

Th^nDTnicni ftTno/Dci AvnnAonf«H7iic 1^ 




The OPTO-ISOLATOR/RELAY BOARD ($117) is K 
a natural for controlling audio systems, model S 
trains, robot devices . . . more uses are dis- ft 
covered daily, as described in our applications fi 
notes. 8 reed relays respond to an 8 bit word i 



from your computer; 8 opto-isolators accept fc 
an 8 bit word from the outside world and send 1^ 
it back to your machine for handshaking or fur- 



Suimn iwmiimimfmimmfmlnlii ther control purposes. 



r? 



\ COMING— Heath H-8& 
« compatible versions ! $ 

MULLEN COMPUTER R QARDSj 



BOX 6214, HAYWARD, CA 94545 

"Products that make your computer useful" 



CAVE J 




All kits ore S-100 Altair/lMSAI compatible. Available by mail (ship- 
ped postpaid in the USA from stock: Colifornians add soles tax) or at 
many fine computer stores. Dealer inquires invited. 



:J 



IUe'me oot tin lest software. 

vn vwVSsiB ^i^ 'WW ^Ss" ^^^wl WW 



Fortran 



Basic 



ANSI standard, except for COMPLEX VARIABLES 4K, 8K, Extended and Disk versions available 
ISIS -II , CP/M. DTC Microfile, MITS DOS In use for over two years in over 5000 installations 

M DS , ISIS-II. CP/M, Altair* versions available 

ROM compatible 



Package includes FORTRAN Compiler. 
Assembler, relocating Linking Loader and run 
lime library 



One-byte integer, two-byte integer, 

four-byte, and eight-byte REAL variable types 

Comprehensive error messages 

Optimized code generation 

Disk file I/O supported by run-time system 

Only library routines needed for program 
execution are loaded. 

Main program and subroutines may be compiled 
separately 

Single Copies $500.00 

OEM Prices available upon request 
Available Early 1978: 8OB0/Z-80 APL, COBOL-74 OEM Prices available upon request 



Widely known as Altair* BASIC 

Disk version supports random and sequential 
floppy disk files 

M Ore features per byte than any other BASIC 

Fllll string manipulation, including concatenation 
and string arrays 

Integer and Double Precision Variables 

Direct access to machine I/O ports and memory 
locations with BASIC statements 

Single COpieS CP/M and ISIS-II Disk 

basic $350.00 





300 San Mateo N.E., Suite 819, Albuquerque, N.M. 87108 

•Altair is a trademark of MITS, Inc. 



Circle 74 on inquiry card. 



BYTE December 1977 177 



Circle 1 15 on inquiry card. 



Tarbell 
Floppy Disc Interface 

Designed for Hobbyists and 
Systems Developers 




Plugs directly into your IMSAI or ALTAIR" and handles up 
to 4 standard single drives in daisy-chain. 
Operates at standard 250K bits per second on normal disc 
format capacity of 243K bytes. 

Works with modified CP/M Operating System and BASIC-E 
Compiler. 

Hardware includes 4 extra 1C slots, built-in phantom boot- 
strap and on-board crystal clock. Uses WD 1771 LSI Chip. 
6-month warranty and extensive documentation. 
PRICE: Kit $190 Assembled $265 

• ALTAIR is a trademark/tradename of M1TS, INC. 



. . 20620 South Leapwood Avenue, Suite P 
/' Carson, California 90746 




(213) 538-4251 



canaria Boards DO Something 

svstnms. inc. ** 



n ■ v 



1 § 



»: rjkt I I I 

i t i' :, i I 1 i 



CL2400 

Real Time Clock 



$98— Kit 



$135— Assembled 



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 interrupts? The CL2400 can do that, too, at any 
of 6 rates. Reference manual with BASIC and assembly 
language software examples included. 



PC3200 

Power Control System 




PC3232 $299— Kit $360— Assm. 

PC3216 $189— Kit $240— Assm. 

PC3202 $39.50— Kit $52— Assm. 



If your system needs on/off control of lights, motors, 
appliances, etc., our PC3200 System components are for 
you. Control boards allow one I/O 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. 



Canada 

systems, inc. 

(formerly comptek) 



P.O. Box 516 

La Canada, CA 91011 

(213) 790-7957 



English that the system can correctly process 
are: 

What is the average modal concentra- 
tion of lllmenite in Type A rocks? 

I need all chemical analyses of lunar 
soil. 

Give me the K/Rb ratios for all lunar 
samples. 

One interesting failure of the system 
occurred on the following input by a non- 
geologist: 

What is the average weight of all your 
samples? 

It seems, among other things, that the 
system had no notion of "ownership" built 
into its vocabulary, and even more im- 
portant, it had no mass data on the samples 
anyway. 5 

Prototype work such as the LUNAR 
system is paralleled by (and in fact the 
LUNAR system employs) recent automata 
theory work on the nature of natural 
languages. While early natural language 
modeling employed deterministic finite state 
automata (with their associated regular 
grammars) the naivete of this model is well 
known. Even a pushdown automaton (equiv- 
alent to a context free grammar) is known to 
be an inadequate model for a natural 
language. 60 However, attempts to extend 
these models to linear bounded automata 
(equivalent to context sensitive grammars) 
or additions to the context free model have 
met with some objections. Recent work on 
transition network grammars, which are an 
extension of regular grammars (equivalent to 
finite state machines), has produced very 
encouraging results. In a very real sense, this 
model is superior to the extensions of the 
context free model and holds much promise 
for the future. 61 ' 62 The transition network 
grammar model is also considered to be 
equivalent to the artificial intelligence ap- 
proach to language comprehension used in 
the well-known system by Winograd. 63 

As in speech recognition, much work 
remains to be done before natural language 
comprehension by computer can reach the 
level of Star Trek. Most probably work in 
mathematical linguistics will supplement and 
be supplemented by practical prototype 
language "understanders." In the meantime, 
the prototype work will provide usable, 
albeit restricted, natural language "com- 
pilers." 

It can be seen that Star Trek represents a 
level of computer science and technology 
decades beyond the current state of the art. 
Immense or revolutionary resources are 
required for the on line memory alone. Even 



178 



BYTE December 1977 



Circle 18 on inquiry card. 



Circle 37 on inquiry card. 



fitting the mainframe along with all this 
secondary memory into the available floor 
space would be difficult. Complex 
phenomena such as speech and language 
appear to be completely understood by the 
scientists of the Federation, yet in our own 
time these problems have resisted intense 
research efforts. 

Ironically, some areas of Star Trek's 
computer science appear to be virtually 
identical to present day standards. Computer 
security procedures can still be undermined 
by ingenious programmers. 64 ' 65 In addition 
the art of computer programming seems to 
be not much advanced from today. At one 
point the Science Officer requires a matter 
of hours to initiate a class 1 priority 
command. 66 One would think that in two 
centuries of software development, such 
urgent requests could be more easily pro- 
cessed and resources reallocated without 
extensive action by systems programmers. 

We should not scoff at the view of 
computer science presented by Star Trek, 
however. Science fiction often predicts 
future science fact with remarkable 
accuracy. Lunar exploration and the laser 
are but two examples of current technology 
predicted by science fiction writers. While 
one can present various and often con- 
tradictory explanations of this phenome- 
non, one cannot dismiss it. Perhaps Star 
Trek does give us a glimpse of the future of 
the computer; perhaps not. In any case, one 
can agree with the Enterprise's Science 
Officer when he says, "There is one thing we 
can say: they will have many interesting 
adventures." 67 



Computer Space Aboard the Enterprise 

According to the Enterprise blueprints, 
the computers aboard the Enterprise are physi- 
cally located in four areas. The primary hull 
contains the main ship's computer and the main 
engineering computer. The main ship's com- 
puter is located on both decks 7 and 8 below 
the bridge, with a total of about 1400 square 
meters of floor space. The main engineering 
computer is located in the engineering spaces 
on the seventh deck below the starboard energy 
converters. This complex has about 64 square 
meters of area. 

The secondary hull houses the auxiliary 
ship's computer beneath the botany and hydro- 
ponics labs on deck 19. The total area of this 
complex is 340 square meters. The auxiliary 
engineering computer, also housed in the se- 
condary hull, is located on deck 16 near the 
shuttlecraft hanger. This complex occupies 
about 72 square meters. 

The total space aboard the Enterprise de- 
voted directly to the computer complexes is 
therefore about 1900 square meters. This figure 
does not take into account the numerous ter- 
minals located throughout the ship. 



21 START-AT-HOME 
COMPUTER BUSINESSES 

in the shoestring, start-at-home 

computer business handbook 

CONSULT I NG •PROGRAMMING • SOFTWARE PACKAGES «C0M 
FREELANCE WRITING »SEMINARS • TAPE/DISC CLEANING 
FIELD SERVICE • SYSTEMS H OU S E S • L EAS I NG»S U P P L I E S 
PUBLI SH ING • TIME B RO KE RS • HARDWARE DISTRIBUTORS 
SALES AGENC I ES • HEADHUNTING ^TEMPORARY SERVICES 
USED COMPUTERS • FINDER 1 S FEES»SCRAP COMPONENTS 
COMPUTER PRODUCTS AND SERVICES FOR THE HOME 



„ 


f vidli. S! *fNC 


5 


Tft«t Al HQttl 




computet 1 




bu |, 




ha idl i •■■ ■ 



Plus - - hundreds of ideas on 
moonlighting, going full-time, 
image building, revenue building, 
bidding, contracts, marketing, 
professionalism, and much more. 
No career planning tool like it 
over published. Order now and if 
you're not completely satisfied, 
send it back within 30 days for 
a full and Immediate refund. 



• 8* 



X 11 ringbound #113 pp. #$12. 
Call 3 1 2-945-2940 or mail coupon 



00 



DRTRSERRCH 



730 WAUKEGAN ROAD • SUITE108 
DEERFIELD, ILLINOIS 60015 

Rush copies of "The Shoestring S t a r t - A t - Home 

Computer Business Handbook to me right away - 

NAME /COMPANY 

ADDRESS 

C ITY/STATE/Z IP 

□ CHECK ENCLOSEDQBANKAMERI CARDQMASTERCHARGE 



THE BETTER BUG TRAP 



AND 



Al tair/IMSAI compatible board catches program bugs and 
provides timing for real-time applications. 

Four hardware breakpoint addresses. Software breakpoints 
only possible at instructions in RAM. Better Bug Trap 
breakpoints can be in ROM or RAM, and at data or 
instructions in memory, input/output channels, or stack 
locations. 

Board can stop CPU or interrupt CPU at a breakpoint. 

Real-time functions: watchdog timer, real-time clock (for 
time of day clock), interval timer. 

Sophisticated timesharing made possiblel 

Unique interrupt structure: generates a CALL instruction to 
your subroutine anywhere in memory, not a RST! 

Addressed as memory. All parameters set easily by software. 

All this and more for about the price of a real-time clock 
board, but nothing else does the job of the Better Bug Trap. 

$160, assembled and tested. 2 manuals plus software. 90 day 
warranty. Shipped UPS. Delivery from stock. 



4jftcr0ntcB 

r Dfiv OC1/1 ni iaicct "sdi-* c 



inc. 



BOX 3514, 123 WEST 3RD ST., SUITE 8 
GREENVILLE, NC 27834 e (919)758-7757 



Circle 73 on inquiry card. 



BYTE December 1977 



179 



Circle 126 on inquiry card. 



16K Static RAM 

«^ IMSAI/Altair/Poly 88/Sol 20 




'365 Assembled 

Very low power-650 ma +5V; 90 ma +12V; 16 ma -5V 
Uses 4K Static RAMS-No refresh 
Low-profile sockets for all chips 
Each 4K addressable to any 4K boundary 
Solder mask; silk-screen; plated-through holes 
Low-power Schottky TTL's— Tested IC's 
Fully buffered S-100 bus-Gold-plated contacts 
Designed for 500ns system-S.D. Sales and TDL Z-80 tested 

Delivery: Stock to 4 weeks. MC and BA accepted. Orders 
shipped prepaid. California residents add 6% sales tax. 



\fr 



ANDENBERG DATA PRODUCTS 



PO BOX 2507 

SANTA-MARIA, CALIFORNIA 93454 805-937-7951 



Ifo ay\ FINALLY, A 

( %£W VWITHBYTE! 



6800 AUTOMATIC TELEPHONE DIALER 
PROGRAM $9.95 postpaid 

Have your 6800 system dial your phone • Uses 
only 5 external components • Stores 650 variable 
length phone numbers • Operates in less than IK 
bytes of memory 

Includes: Paper tape in Mikbug® format and ob- 
ject code • Circuit diagram and instructions 
• Instructions for adapting to other 6800 systems 

6800 TELEPHONE ANSWERING DEVICE 
PROGRAM $4.95 postpaid 

Have your 6800 system answer your phone and 
record messages automatically. Compatible with 
any 6800 system. 

Includes: Assembly listing and object code • Cir- 
cuit diagram and instructions 

Write to: SOFTWARE EXCHANGE 
2681 PETERBORO 
W. BLOOMFIELD, MICH. 48033 

Mikbug" is a registered trademark of Motorola Inc. 



Memory Requirements for the Enterprise 

The Enterprise's computer contains "the 
whole of human and humanoid knowledge"' 
in the 23rd century and "in a matter of a few 
seconds . . . can obtain an answer to any factual 
question". More specific information on the 
volume of data to be stored is required in order 
to gauge the memory requirements, though. By 
making reasonable and plausable assumptions, 
this amount of information can be expressed in 
bits in order to estimate the memory size and 
access time requirements needed aboard the 
En ter prise . 

At present, the Library of Congress contains 
over 72 million volumes. J It would seem rea- 
sonable to assume that the store of knowledge 
in the Enterprise is about a million times that 
of the present Library of Congress (given the 
present rate of growth of technical knowledge 
and assuming that this rate will increase steadily 
over the next 250 years). This yields a bank of 
knowledge for the Enterprise which would fill 
about 10^4 volumes. Assuming a volume con- 
tains on the average 1000 pages of 1000 words, 
with each word averaging between six to eight 
letters, and a 6 to 8 bit character code for com- 
puter storage, the information expressed in 
those 10^4 volumes represents a staggering 
amount of bits: on the order of 1022i 

It is much more difficult to arrive at an esti- 
mate of the access time needed to meet the 
stated user interaction. The entire notion of 
record retrieval on secondary keys is not nearly 
as well formulated as primary key retrieval. 70 
(Recall that retrieval by a primary key is a re- 
trieval of one record based on the field which 
orders the data set. A secondary key retrieval is 
a retrieval of all records which have a given 
value, or a given range of values, in any other 
field. An example of a primary key retrieval is: 
"Retrieve the medical record for Pete Smith." 
An example of a retrieval on a secondary key 
is: "Retrieve all cases of cancer diagnosis in the 
past year." 

Knowing the current state of memory tech- 
nology, though, one can linearly extrapolate 
from response times on data bases of known 
size in use today to get an approximation of 
the memory access times needed to achieve the 
desired response for the data base on the Enter- 
prise. Knuth presents an example of a fully in- 
verted file (a file together with a dictionary/ 
directory for each field) with one million rec- 
ords of 40 characters each. With some reason- 
able assumptions, he computes an access time 
of 10.7 seconds for a request involving ten 
fields for which ten records are found. The 

average access time for the disk used was 
7 1 

71 ms. Extrapolating this example, an aver- 
age memory access time of 10 — 15 seconds 
would be required to process this retrieval in 
one second if the data base was as large as that 
on the Enterprise (assuming a similar data or- 
ganization). But current work in retrieving 
entries from large data bases may significantly 
shorten the required memory access times. 72 



FOOTNOTES 

lAsimov, Isaac, "The Last Question," Science 
Fiction Quarterly, November 1956, page 6. 

^Heinlein, Robert A, The Moon is a Harsh 
Mistress, Putnam, New York, 1966. 

3 Clarke, Arthur C, 2001 — A Space Odyssey, 
New American Library, New York, 1968. 

4 Jones, D F, Colossus (aka: "The Forbin 
Project"), Putnam, New York, 1967. 



180 



BYTE December 1977 



Circle 105 on inquiry card. 



Circle 133 on inquiry card. 



^Gerrold, David, When Harlie Was One, 
Doubleday, New York, 1972. 

6 "Wolf in the Fold," Star Trek episode, first 
telecast 12/22/67, adapted by James Blish, Star 
Trek 8, Bantam, New York, 1972, page 127. 

7 Ibid, page 127. 

°In the unauthorized transmission of certain 
portions of the Star Fleet Technical Manual which 
took place on stardate 3113, the index of the 
manual listed these sections. The sections them- 
selves, unfortunately, were not transmitted. Com- 
piled by Franz Joseph, Star Fleet Technical 
Manual, Ballantine Books, New York, 1975, page 
00.00:05 and pages 00:00:08 to 00:00:09. 

"in "Space Seed," a Star Trek episode about 
suspended animation space ships ("sleeper ships"), 
we are told that Kahn, the leader of those on the 
sleeper ship, left Earth after 1996. Spock informs 
us that sleeper ships were last used in 2018. Kahn 
"slept" for two centuries or more, which implies 
that this episode takes place in the late 22nd or 
23rd century. "Space Seed," Star Trek episode, 
first telecast 2/16/67, adapted by James Blish, Star 
Trek 2, Bantam, New York, 1968, page 106. 

10 Whitfield, Stephen E and Roddenberry, 
Gene, The Making of Star Trek, Ballantine, New 
York, 1968, pages 128, 40, 170 and 198. 

Ustar Fleet Headquarters, an artifically con- 
structed "world," is the largest, "Articles of the 
Federation," chapter 7, article 52, paragraph 3 and 
article 53, paragraph 1; compiled by Franz Joseph, 
Star Fleet Technical Manual, Ballantine Books, 
New York, 1975, page 00:01:09. 
12 Ibid, Preamble, page 00:01:00. 
13 Moore, J E (Ed), Jane's Fighting Ships 1975- 

1976, pages 428 to 429, and 1976-1977, page 565. 
14"Articles of the Federation," chapter 7, 

article 53, paragraph 1: op cit, page 00:01:09. 

15 "Star Fleet Technical Order 03:11:20," 
compiled by Franz Joseph, Star Fleet Technical 
Manual, Ballantine Books, New York, 1975, page 
03:11:20. 

it)<'Mirror, Mirror," Star Trek episode, first 
telecast 10/6/67, adapted by James Blish, Star 
Trek 3, Bantam, New York, 1969, page 75. 

17 "Star Fleet Technical Order 01:04:10," 
compiled by Franz Joseph, Star Fleet Technical 
Manual, Ballantine Books, New York, 1975, page 
01:04:10. 

18 "Outboard Bow and Stern Elevations Blue- 
prints," drawn by Franz Joseph. BOOKLET OF 
GENERAL PLANS: USS Constitution Class, 
Ballantine Books, New York, 1975, sheet 4. 

19 Cogswell, T R and Spano, C A, Spock, 
Messiah!, Bantam, New York, 1976, page 5. 

20 "Tomorrow is Yesterday," Star Trek 
episode, first telecast 1/26/67, adapted by James 
Blish, Star Trek 2, Bantam, New York, 1968, 
page 27. 

21"Journey to Babel," Star Trek episode, first 
telecast 11/17/67, adapted by James Blish, Star 
Trek 4, Bantam, New York, 1971, page 51. 

22 "Balance of Terror," Star Trek episode, first 
telecast 12/15/66, adapted by James Blish, Star 
Trek 1, Bantam, New York, 1967, page 74. 

23 "For the World is Hollow and I Have 
Touched the Sky," Star Trek episode, first telecast 
11/8/68. 

24 "The Lights of Zetar," Star Trek episode, 
first telecast 1/31/69, adapted by James Blish, 
Star Trek 6, Bantam, New York, 1972, page 26. 

2 5"Return to Tomorrow," Star Trek episode, 
first telecast 2/9/68, adapted by James Blish, Star 
Trek 9, Bantam, New York, 1973, page 3. 

26"xhe Enterprise Incident," Star Trek 
episode, first telecast 9/27/68, adapted by James 
Blish, Star Trek 4, Bantam, New York, 1971, page 
27. 

27«Mudd's Women," Star Trek episode, first 
telecast 10/13/66. 

28 "Wolf in the Fold," op cit, pages 132 and 
134. 

29 Ibid, page 139. 

30ibid, page 133. 

31 "Tomorrow is Yesterday," op cit, page 32. 

32 "The Conscience of the King," Star Trek 
episode, first telecast 12/8/66, adapted by James 
Blish, The Star Trek Reader II, Dutton, New York, 

1977, pages 121 to 122. 



fi?Ot3«aat3t3CXK«t3t3CX3«3t3t3t3tXK3t3t3t3t3t36X3tXXX383ag 




PRAMMER III 

by xybek 

The Ultimate EPROM Memory Board 
For Your SIOO-Bus Computer 

•k Accommodates from 1 k to 30k of the above EPROMS, in 
any combination, each addressable on any 1 k boundary 
within the board's 32k address space. 

~k 1k of scratch-pad RAM. 

■k On-board programming for all three EPROM types. 

■*• Tri-state buffers on all address and data lines. 

•k Empty EPROM sockets do not require address space. 






Xybek • P.O. Box 4925 • Stanford, CA94305 

Telephone: (408) 296-8188 



80-103A Serial I/O and FSK modem for 
professional and hobby communications. 



• 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 

• 1 10 or 300 BPS speed select 

• Complete self test capability 

• Character length, stop bit, and parity 
arranty and full documentation 



l day i 



PRICES 



Bare Board and Manual 
Assembled (48 hour burn in) 



49.95 
279.95 



DC Hayes Assoc. |3 

P.O. Box 9884, Atlanta, Ga. 30319, 404/231-0574 



Circle 57 on inquiry card. 



BYTE December 1977 



181 



Circle 44 on inquiry card. 



ED SMITH'S SOFTWARE WORKS 

M6800 SYSTEM DEBUGGING/UTILITY SOFTWARE 

for SWTPCoor Altai r 680b 



M6800 DISASSEMBLER/TRACE is a powerful debug tool thai allows the user 
to examine (or examine and execute) any area of memory under complete oper- 
ator control. The trace program displays the complete CPU status before and after 
execution of each instruction allowing the operator to "software-single-step" 
through the program under test. It also has a "partial program" run function plus 
many others. M68DT $20.00 

M6800 DISASSEMBLER SOURCE GENERATOR will produce compacted 
source code or an assembler styled program listing with symbolic labels and inst. 
mnemonics. Source code output (either tape or disc) is suitable for re-editing and 
assembly with the SwTPCo co-resident assembler or the TSC text editor and 
assembler. M68SG $25.00 

M6800 RELOCATE program will take any contiguous area of memory and 
relocate it anywhere within RAM. Operand addresses are checked and adjusted 
as necessary. You can relocate ROM/PROM into RAM if desired. 

M68RL $10.00 

M6800 BINARY LOADER allows the user to save and load programs at the 

maximum rate possible using Kansas City Standard recording. The save function 
generates a short loader Mikbug* formatted pgm. at the beginning of each tape. 
The tape is read using Mikbug" "L" command. 

M68BL $10.00 

All programs supplied on Kansas City Standard Mikbug" formatted cassettes. 

Special Offer: All 4 programs for $55.00 ••• 



Order direct by check. Specify system configuration if other than SwTPCo. 
California residents add sales tax. 

ED SMITH'S SOFTWARE WORKS 
330 Camino de las Colinas 
Redondo Beach, CA 90277 

-Mikbug is a trademark of Motorola, Inc. 



PERSunflL-CumPUTErVriEWS 

Covering the entire affordable computer Held 




Bytes ol RAM. CR T Jl»* 
KeyDOHfii lor abr^P 
Com moil ore ^* 
ITRSeO^ 



i progi 

I 



bl Ihe personal computer 
market" (Commodore's PET 
line) have yet 
lo be shipped. User's Groups have 
been established lor both makes ^ 
PET User Group <PO Gon^a? 
Montgomery vide, PA 18P^ " 
membership (firsi v^ *^ 

js i; ^ Subscription Dept.: P.O. BOX 425 

prooram ejch^^e* 

j,^ U.S. Rales: 1 year (12 Issues) $9.00 ■ 

rnrp BONUS TO NEW SUBSCRI 



■ DAYTON, OHIO 45419 
2 years (24 Issues) $16.00 



Special Report #8: Software Review, Firms, and Share Groups. 
A one-stop reference to currently available software and sources 



33 Martin, R R, "Electronic Disks in the 
1980s," Computer, volume 8, number 2, February 
1975, page 24. 

34 Kelly, J, "The Development of an Exper- 
imental Electron Beam Addressed Memory 
Module," Computer, volume 8, number 2, 
February 197 5, page 32. 

3o Kinnucan, P, "A New Use for Core 
Memory," Mini-Micro Systems, volume 10, number 
3, March 1977, pages 23 to 26. 

S^Miller, R T, "Superconducting Tunnel Junc- 
tions," IBM Research Reports, volume 9, number 
1, 1973. 

37 Hardeman, L J,"Picturephone to Change its 
Image," Electronics, volume 46, number 19, 13 
September 1973, pages 75 to 76. 

38 McCarthy, J P, "Automatic File Com- 
pression," Proceedings of the International Com- 
puting Symposium 1973, Davos, Switzerland, 
North Holland, Amsterdam, 1974, pages 511 to 
516. 

39 An image with a resolution approximately 
equal to that of a present day television frame con- 
tains about 10° bits. High quality, high resolution 
photographs can contain as many as 10*0 bits; 
Ware, W H, "The Ultimate Computer," IEEE 
Spectrum, volume 9, number 3, March 1972, pages 
84 to 91. 

40 National Science Foundation MOSAIC, 
volume 3, number 3, Summer 1972. 

41-Alpert, D and Bitzer, D L, "Advances In 
Computer Based Education," Science, volume 167, 
20 March 1970, pages 1582 to 1590. 

42 Bitzer, D L and Johnson, R L, "PLATO: A 
Computer Based System Used In the Engineering 
of Education," IEEE Proceedings, volume 59, 
number 6, June 1971, pages 960 to 968. 

43 Model 10000 Plasma Display Terminal 
Brochure, MAGNAVOX, Fort Wayne IN. 

^"Tomorrow is Yesterday," op cit, page 26. 

45«The Alternative Factor," Star Trek episode, 
first telecast 3/30/67, adapted by James Blish, 
Star Trek 10, Bantam, New York, 1974, page 1. 

4 °"The Immunity Syndrome," Star Trek 
episode, first telecast 1/19/68, adapted by James 
Blish, Star Trek 9, Bantam, New York, 1973, pages 
179 and 183. 

^'"Outboard Bow and Stern Elevations Blue- 
prints," op cit. 

48 Lenneberg, Eric H, "Capacity for Language 
Acquisition," Lester (Ed), Readings in Applied 
Transformational Linguistics, second edition, Holt 
Rinehart, New York, 1973. 

49Lenneberg, Eric H, "On Explaining 
Language," Lester (Ed), Readings in Applied 
Transformational Linguistics, second edition. Holt 
Rinehart, New York, 1973. 

°^For the sake of simplicity, it will be assumed 
that all speech recognition and natural language 
comprehension is for only one language: English. 
This is clearly not the case, but it is representative. 
If all the problems with these two types of pro- 
cessing were solved for English, then the extension 
to other languages would be easy. [A debatable 
point . . . CM] 

*■* Flanagan, J L, Speech Analysis, Synthesis, 
and Perception, Springer-Verlag, New York, 1972, 
page 196. 

° 2 Garvin, P L, "A Linguist's View of Language- 
data Processing," P L Garvin (Ed), On Machine 
Translation, McGraw-Hill, New York, 1963, page 
20. 

53 Ibid, page 18. 

54 Ibid, pages 19 to 20. 

55Newell, A, et al. Speech Understanding 
•Systems: Final Report of a Study Group, North- 
Holland, New York, 1973. 

56 "The C-MU Speech Recognition Project," 
Proc IEEE Systems Sciences and Cybernetics 
Conference, Pittsburgh PA, 1970. 

S^Woods, W A, "Motivation and Overview of 
BBN Speechlis: An Experimental Prototype for 
Speech Understanding Research," IEEE 

Symposium on Speech Recognition, Carnegie- 
Mellon University, 1974. 

58 Baker, J K, "The Dragon System — An Over- 
view," IEEE Symposium on Speech Recognition, 
Carnegie-Mellon University, 1974. 

5"Woods, W A, "Progress in Natural Language 
Understanding — An application to lunar geology," 
AFIPS Conference Proceedings, volume 42, 1973, 



182 



BYTE December 1977 



Circle 93 on inquiry card. 



Circle 45 on inquiry card. 



pages 441 to 450. 

60 Chomsky, N, "A Transformational Approach 
to Syntax," J A Fodor and J J Katz (Ed), The 
Structure of Language. Prentice-Hall, Englewood 
Cliffs NJ, 1964. 

61 Woods, W A, "Transition Network Grammars 
for Natural Language Analysis," Comm of the 
ACM, volume 13, number 10, October 1970, pages 
591 to 606. 

62 Winograd, T, Understanding Natural Lan- 
guage, Academic Press, New York, page 43. 

63 Wilks, Y, "Parsing English I," Charniak, E 
and Wilks, Y (Ed), Computational Semantics, 
North-Holland, Amsterdam, 1976, page 99. 

64 In "Court Martial," the Enterprise Records 
Officer is able to modify the ship's computer based 
log, a file which should never be alterable; "Court 
Martial," Star Trek episode, first telecast 2/2/67. 

65 In "The Menagerie," the Enterprise Science 
Officer is able to tie in the ship's life-support system 
with the helm. The ship's computer would not 
accept any course changes, since this would 
adversely affect the life support. In this way, the 
Science Officer was able to take over the ship; 
"The Menagerie," Star Trek episode, first telecast 
11/17/66 and 11/24/66 (a 2 part episode). 

66 "Wolf in the Fold," op cit, page 138. 

^"Assignment: Earth," Star Trek episode, first 
telecast 3/29/68. 

68BOOKLET OF GENERAL PLANS: USS 
Constitution Class, drawn by Franz Joseph, Bal- 
lantine Books, New York, 1975. 

69 Golenpaul, A (Ed), Information Please Alma- 
nac, 31st edition, Dan Golenpaul Associates, 1977, 
page 295. 

70 Knuth, D E, The Art of Computer Program- 
ming, volume 3 (Sorting and Searching), Addison- 
Wesley, Reading MA, 1973, pages 550 to 551. 

71 Ibid, pages 553 to 554. 

'^Hardgrave, W T, "The Prospects for Large 
Capacity Set Support Systems imbedded within 
Generalized Data Management Systems," Proceed- 
ing of the International Computing Symposium 
1973, Davos, Switzerland, North-Holland, Amster- 
dam, 1974, pages 549 to 556." 




LIGHT 
PEN 



$37. 



50 



-DRAW PICTURES 
-COMPOSE MUSIC 
-INPUT TO GAMES 



Attaches to any 8080 system with TTL input port and memory 
mapped video driver (PTC, Oomemco, Polymorphic, etc.). Allows 
computer to interrogate the pen at any time and determine its 
location. 



S-UK) Wire Wrap 1-0 Kits 



FLOATING POINT 
PROCESSOR 



$60. 



00 

Interfaces new National floating point processor chip. Floating 
point arithmetic to 8 digits accuracy, plus trig and log functions. 
Runs in parallel with 8080 processor. Mini-BASIO package 
included. 

TTL I-O I INPUT PORTS $19.95, 2 LATCHED OUTPUT 
PORTS $14.95, SERIAL I-O. teletype and RS 2.J2 $14.95, HIOH 
SPEED CASSETTE TAPE interface, up to 4K baud $29.95. 



S-100 Bus Buffering kit, plus 8 bits TTL I-O 



$24.95 



All kits include very thorough documentation, color-coded wrap 
lists, driver software, IC's, and multi-color wire (30 ga). Bus 
buffering kit is required by all other kits, including FPP. 

Wrap tool, sockets, and wire wrap board not included. 



col). Master Charge, VISA accepted 

Virginia residents add sales tax 
Cash nrders shipped postpaid 



Educational Data System 

of Virginia, Inc. 
P.O. Box 2115 

Newport News, Va. 23602 






rO? 



A* 






PROGRAMMED COURSES 









ON CASSETTES 



ONLY $29.95 

(per course) 



S1 ■ INTRODUCTION TO MICROPROCESSORS. This 
seminar is intended for all non-specialists who wish to 
acquire a broad understanding of the basic concepts 
and advantages of microprocessors. It explains how 
microprocessors work and it stresses methods, costs, 
advantages and disadvantages for the most important 
aplication areas of each type of microprocessor. What 
is needed to implement a system; how to use it; the 
impact of microprocessor-based systems; their evo- 
lution. Topics covered include: BASIC DEFINITIONS. 
SYSTEM COMPONENTS, MICROPROCESSOR AP- 
LICATIONS, WHAT TO LOOK FOR, and IMPACT AND 
EVALUATION. 



S2- PROGRAMMING MICROPROCESSORS. This 
seminar describes the internal operation of a micro- 
processor system including how instructions are 
fetched and executed, how programs are written and 
executed in typical cases (arithmetic and input-output). 
The goal of this cource is to provide an overall under- 
standing of the basic concepts of microprocessor 
programming. Requires an understanding of the main 
concepts in the INTRODUCTION TO MICRO- 
PROCESSORS SEMINAR. It is recommended that 
these two seminars be taken together. 



EACH 2Vz HOUR COURSE INCLUDES 2 CASSETTES AND COURSE BOOK. 
Shipping and Handling: $1.50 one course, $0.80 each additional course. 



SYBEX 



In the U.S.: 2161 Shattuck Avenue, Berkeley, Calif 94704 

In EUROPE: 313 Rue Lecourbe, 75015 - Paris, France. 

To Order By Phone: (415) 848-8233 (BankAmericard/ Master Charge) 



Circle 1 1 1 on inquiry card. 



BYTE December 1977 



183 



Continued from page 8 



types which can be declared, as well as 
file and record structures missing from 
BASIC. PASCAL is a block structured 
language allowing multiple character strings 
for procedure and data names, and is thus 
closer to the natural symbolic thought 
processes of designing a program than is 
BASIC. 

A classical contrast between the two 
languages in this area of features is to pose 
the problem: How would I use the language 
to include complex numbers for use in 
engineering analysis or physics? In BASIC, 



U.S. POSTAL. SERVICE 

STATEMENT OF OWNERSHIP, MANAGEMENT AND CIRCULATION 

(Required by S9 U.S.C 36X51 



I. TITLE OF PUBLICATION 



BYTE Thfi Small S ystems Journal 



A. PUBLICAT IO N NO 2. DATE OF Fl 



1 | [2 J 4 ]l 1 1 9/29 /77 



3. FREQUENCY OF ISSUE 

MONTHLY 



□ F ISSUES PUBLISHED 
ANNUALLY 

12 



ANNUAL SUaSCRlPTIC 

""" 512.00 



*. LOCATION OF KNOWN OFFICE OF PUBLICATION (Street, City. Count*. Sta 

70 Main St. Peterborou gh, Hills boro, 



jitrf ZIP Code) (Not printer*) 

NH 03458 



5. LOCATION OF THE HEADQUARTERS OR GENERAL BUSINESS OFFICES OF THE PUBLISHERS f.Vof printcrt) 

70 Main St. Peterborough, Hillsboro, NH Q3458 



NAMES AND COMPLETE ADDRESSES OF PUBLISHER, EDITOR. AND MANAGING EDITOR 



PUBLISHER (Name arid Addreu) 

Virginia P e schke 74-S G rove St . _ _ Pet erborough, NH 34 58 

DITOR (Name and'Addrett) 

Carl Helmer s Noone Ave . Pete rborough, NH 03458 



IANAGING EDITOR f^«nf and Addreu) 



None 



7. OWNER (l( owned by a corporation, iti name and oddrpti mutt be ttated and alto immediately thereunder the name* and addrettet of ttnek- 
hoUten owning or holding I percent or more of total amount of ttock If not owned by a corporation, the namet and addrettet of the individual 
ourncrt mm: be given. If owned by a partnership or other unincorporated firm, itt name and addreu, at well at that of each individual mutt 
be given.) 



BYTE Publications Inc. 



...yi.rgiiLL.a- .E.es,ciik.e. ,., 



far! Helmprs 



AOORESS 



70 Main St. Peterborough , NH 



74»i Gr ove St . Peterboroug h, 



Noone Ave , . 



Pete rborou gh,., NH 



»• KNOWN BONDHOLDERS, MORTGAGEES, ANp OTHER SECURITY HOLDERS OWNING OR HOLDING 1 PERCENT DR MORE OF 
TOTAL AMOUNT OF BONDS, MORTGAGES OR OTHER SECURITIES (If there art none, to etote) 



9. FOR COMPLETION BY NONPROFIT ORGANIZATIONS AUTHORIZED TO MAIL AT SPECIAL RATES (Section 132.I22.FSM) 
Tha purpote, Junction, and nonprofit ttatu* of (hit organization and the enompt itetu* for Federal income tax purpoaat (Check one) 



□ HAVE NOT CHAN 
PRECEDING 1Z Ml 



CCO DURING 



□ HAVE CHANGED DURING 
PRECEDING 12 MONTHS 



if tub mil explanation of change 



EXTENT ANO NATURE OF CIRCULATION 



A. TOTAL NO. COPIES PRINTED (Net PrttU Run) 



PAID CIRCULATION 

1. SALES THROUGH DEALERS ANO CARRIERS. STREET 
VENDORS AND COUNTER SALES 



2. MAIL SUBSCRIPTIONS 



C. TOTAL PAID CIRCULATION (Sum Of 10B1 and 10B2) 



E. TOTAL DISTRIBUTION (Sum of C and I)) 



F. COPIES NOT DISTRIBUTED 

I. OFFICE USE, LEFT OVER. UNACCOUNTED, SPOILED 
AFTER PRINTING __ 



2. RETURNS FROM NEWS AGENTS 



t. I certify (hat the statements made by me 
above are correct and complete. 



AVERAGE NO. COPIES EACH ACTUAL NO. COPIES OF SINGLE 
ISSUE DURING PRECEDING ISSUE PUBLISHED NEAREST TO 
13 MONTHS FILING DATE 



90,928 



19,128 



67,665 



86,793 



559 



2,275 



a , 3qi 



90,928 



107 , 4 00 



21,196 



77,651 



38,847 



1,760 



100,607 



none as of this d 



107,400 



ITLE OFEMTOD, PUBLISHER. BUSINESS 



12. FOR COMPLETION BY PUBLISHERS MAILING AT THE REG' 



ULAR RATES (f 



'a' f^£^J^_j uhiish " 



(Section 132.121, Potto! Service Manual) 



39 U. S C. 3626 provldet In pertlnont pan; "No pereon who would have ba*n entitled to mall matiar vm.Hr former taction 43G9 of thli tltla 
ihall mall luch matiar at lha fatal provided unbar thl* luBaectlori unlan ha fllai annually with iha Poetal Sorvlca a written requett for parmlMion 

I hereby requett parmlMion to mall the publication named In Item 1 at the printed pott an* 



SIGNATURE AND.JT1TLE OF EDITOR, PUBLISHER, BUSINESS h 



GBR, OR OWNER 



(See instructions on reverse) 



I might not even want to consider the 
possiblity of using the language for complex 
numbers because of the kluge that would 
result. Using PASCAL, I would simply use 
the type extensibility of data to declare a 
complex number type and code various 
procedures to implement complex number 
operations. An example of this concept, 
which involves no features not inherent in 
PASCAL'S definition, is given on pages 
42ff of the PASCAL User Manual and 
Report quoted earlier. Of course, perhaps 
not all possible or desirable features were 
included in PASCAL'S definition, so dialects 
may occur there as well as in BASIC. But the 
necessity of dialects generated through 
extensions is probably less in PASCAL, 
making the standard created by Professor 
Wirth a closer approximation to what 
actually gets implemented. 

Lots of Implementations of BASIC 
Are Available. 

Here is where BASIC no doubt has a 
considerable lead over PASCAL at the 
present time. But PASCAL is rapidly gaining 
in a catch up mode. As noted earlier, there 
are presently nearly 100 different implemen- 
tations of PASCAL, mostly for minicom- 
puters and larger computers ranging in size 
and scope up to a CRAY-1 implementation 
of PASCAL. At the low end, according to 
the PASCAL Users Group Newsletter, 
number 8, page 64, there are presently 
compilers implemented for the Motorola 
6800, Intel 8080 and Zilog Z-80 micro- 
processor architectures (although the listing 
did not mention whether the compilers 
were self-compilers or cross compilers). 
Implementations are coming, part of the 
history of the language and the active 
following it has among computer science 
people. 

Much Personal Use Applications Software 
Already Exists in BASIC. 

No argument here. The number of books 
and periodicals which publish programs 
in BASIC will probably exceed the number 
with PASCAL representations of equivalent 
programs for a long time to come. But this 
is equivalent to saying that BASIC has been 
around longer in the public eye, for given 
time much of the same sort of software can 
and will be written in PASCAL as more and 
more implementations become available. 

BASIC is Friendly. 

BASIC is fundamentally an interactive 
approach to programming in which pro- 



184 BYTE December 1977 



grams are entered in source form and tested 
within the confines of one session with 
effectively instant change from editing to 
execution. If PASCAL is to become an 
equivalent "friendly" language, it must be 
implemented in a way which allows a 
similar instant change from editing the 
design to trying out the design of an appli- 
cation. 

Whether this friendliness requirement 
can be best met by an interpreter or a 
compiler is an open question, but it is 
a definite requirement. In BASIC the 
rule to date has been interpretive, or semi- 
compiled code, where semicompiled means 
that symbols for language tokens are re- 
placed by compact codes. In PASCAL 
to date, compilation has been the rule 
rather than the exception. It is conceivable 
that a compiled PASCAL coupled with an 
editing and object code maintenance facility 
oriented to the block level might give 
sufficiently quick response at the terminal 
with much faster execution times associated 
with compiled code. 

Another open question concerning 
PASCAL is that of how much memory is 
required for a PASCAL self-compiler or 
resident interpreter in a typical personal 
computer's microprocessor based system. 
I suspect that a compiler or interpreter of 
PASCAL can be built which will fit within 
16 K to 32 K bytes of memory, but whether 
this is really possible or not is by no means 
clear to me. 

To sum up the thesis, PASCAL is well 
on its way to becoming the kind of widely 
known language which will be taught as 
a matter of course to new students of 
programming. This in turn will tend to boost 
the long term acceptance of PASCAL and 
get it established as one of the major lang- 
uages, a process which at an earlier date 
occurred for FORTRAN and BASIC. For 
our own part, we at BYTE are interested in 
giving PASCAL a boost. We have a survey 
article about PASCAL in preparation at the 
present time. We would also like to talk to 
implementors of the language who would 
be interested in marketing PASCAL com- 
pilers or interpreters through software 
book publications which include source code 
and machine readable object code. For those 
who desire more background information 
on PASCAL, we recommend the PASCAL 
User's Group, run by Andy Mickel at the 
University of Minnesota Computer Center, 
227 Exp Engr, University of Minnesota, 
Minneapolis MN 55455, (612) 376-7290. 
The PASCAL Newsletter is published four 
times per year, and at the time of this 
writing costs $4 per year." 



Circle 84 on inquiry card. 



ADD EXCITEMENT TO YOUR 
VIDEO DISPLAY WITH A . . . 

PROGRAMMABLE CHARACTER 
GENERATOR 

INNOVATIVE S-100 CARD PROVIDES THE CAPABILITY OF DYNAM- 
ICALLY CREATING CHARACTERS GENERATED BY YOUR VIDEO 
DISPLAY. PROGRAM SPECIAL MATH OR SCIENTIFIC SYMBOLS, 
APL CHARACTERS, SUB- AND SUPER-SCRIPTS, HIGH DENSITY 
BAR GRAPHS, SPACE SHIPS, ETC. YOUR ORIGINAL CHARACTER 
SET REMAINS INTACT AND AVAILABLE AT ANY TIME. 

KEYBOARD INTERFACE AND DUAL JOYSTICK INTERFACES PRO- 
VIDED ON BOARD. IDEAL ADDITION TO SOL ™ TERMINALS, 
POLYMORPHIC ™ VTI, PROCESSOR TECHNOLOGY ™ VDM-1 , 
SOLID STATE MUSIC™ VIDEO BOARD AND OTHERS USING THE 
MOTOROLA rM 9X7 MATRIX CHARACTER GENERATOR. 



memwi wro SDffiitR - »h a 



J TL ■: J ' D -: - .11 




•UNRETOUCHED PHOTOS 

FOR FURTHER INFORMATION 
AND PRICING, CONTACT: 

OBJECTIVE DESIGN, INC. 

P.O. BOX 20325 TALLAHASSEE, FL 32304 
(904) 224-5545 



"We've Got It!!" 

A NEW ADDITION TO OUR STOCK OF 
SURPLUS ELECTRONIC EQUIPMENT 

The IBM Selectric® Based 
I/O Terminal $695.00 

■ INTEGRAL MODEM 

■ BCD OR CORRESPONDENCE CODE 
a TABLETOP MOUNTING 

■ 22"W, 22"D X 8"H, 58 LBS 

• ASCII CONVERSION AVAILABLE 

• DOCUMENTATION INCLUDED 



OTHER SURPLUS STOCK 

• KEYBOARDS - ASCII 
ENCODED $40.00-$60.00 

• CRT TERMINALS 

• TAPE DRIVES $650.00 

• EQUIPMENT CABINETS 

• POWER SUPPLIES 




PRINTERS 

TRANSFORMERS 

WIRE-CABLE 



/_>-\ Send for a free catalog or call Bill Blaney 
XglfJ toll free 800-258-1036. In N.H. 603-885-3705 

WQPlaWiaE ELECTFOfllCSJIIL. 

10 Flagstone Drive, Hudson, New Hampshire 03051 



Visit Our 
Store 



Circle 130 on inquiry card. 



BYTE December 1977 



185 




Photo 1: The Intercept Jr unit shown in the titanium sphere with the cover removed. The rebuilt processor board is the one 
closest to the front of the assembly. The system is used to collect data from the continental shelf. 



Henry Lahore 
Oceanography WB-10 
U of Washington 
Seattle WA 98195 



A User's Report on the Intercept Jr 



About the Author 

Henry Lahore obtained 
a masters degree in electri- 
cal engineering at the 
University of Washington 
in J 970, and has worked 
with Raytheon, Computer 
Automation, and Prime 
Computers in the areas of 
hardware interfacing and 
programming. This pro- 
ject is his first experience 
with CMOS circuitry. 



In August 1976 Intersil Inc brought out 
Intercept Jr, a battery operated microcom- 
puter system using Intersil's IM-6100 12 bit 
CMOS microprocessor, which has been de- 
scribed in the May and June 1976 issues of 
BYTE and the June 1976 IEEE Proceedings. 

At the time, we in the oceanography 
department at the University of Washington 
needed a microcomputer for underwater 
data acquisition. This required a battery 
operated system which would have to 
operate for several months. We had to 
choose between the Intercept J r or the RCA 
COSMAC processor, the only battery 
powered systems available at the time. 
Because the Intersil processor recognizes 
the instruction set of the Digital Equipment 
Corporation PDP-8E minicomputer, and 
because we had cross assemblers and pro- 
grammers available on campus who were 
familiar with the PDP-8 language, we chose 
the Intersil product. 

The Intercept Jr microcomputer system 
consists of a 10 by 11 inch (25.4 by 27.9 



cm) board which features a keyboard, two 
4 digit LED displays, a monitor with micro- 
interpreter in read only memory, 256 words 
of programmable memory, three printed cir- 
cuit card sockets for option cards, and a 
battery power supply for $281 . Option cards 
available include 1 K bytes of programmable 
memory, 2 K bytes of bipolar programmable 
read only memory, a UART, and an audio- 
visual display card using LEDs and a speaker. 
Excellent hardware and software documen- 
tation is included. 

We have made three different battery 
powered data acquisition systems using 
Intercept Jr. The sediment motion system 
to be described has analog and digital 
sensors and uses the IM-6100 micro- 
processor with 2000 words of memory. 
Data is recorded on a Memodyne incre- 
mental low power tape cassette. 

In our sediment motion data acquisition 
system (see photo 1) we have removed 
the microprocessor from its socket on 
Intercept Jr and put it in our data acquisi- 



186 



BYTE Dccemhi 



SPECIAL OFFER 

TEXAS INSTRUMENTS PROGRAMMABLE 

CALCULATORS 
•• TEC 9900 SUPER STARTER SYSTEM 
••' TELETYPE TERMINAL MODEL 43 

BELOW DISCOUNT HOUSE PRICES! 

•TISR58 $97.95 

Tl SR 59 $224.95 

TIPC 100A $149.95 

COMPLETE with charger, case, instructions, war- 
ranty. 

"TEC • 9900-SS 16 BIT COMPUTER 
16 bit TI9900 microP, 32 bit I/O hardware, mult & 
divide, buffered bus, 20 ma loop, RS 232C, 8 inter- 
rupts and sockets. 

KIT-. $299.00 

ASSEMBLED: $399.00 

•"NEW! TELETYPE TERMINAL MODEL 43 

10 or 30 CPS. Interface: EIA (RS232) or TTL 

(Digital). Fantastic discounts. 

WITH TTL INTERFACE: $984.95 

WITH RS 232 INTERFACE: $1 184.95 



To order: check or money order plus $3 postage 
and handling. NYC residents only add 8% tax. 

OWENS ASSOCIATES, DEPT. B 

147 Norwood Avenue 

Staten Island, New York 10304 

Telephone: (2121 448-6283 




WHLN YOUR NEW PET COMPUTER 
ARRIVES, YOU AND YOUR PET WILL 
NEED TO COMMUNICATE. WE HAVE 
TEN (10) PROGRAMS IN THE PET'S 
BASIC LANGUAGE, ON A SINGLE 
QUALITY CASSETTE, READY TO 
RUN -GAMES, DISPLAYS, AND 
GRAPHING PROGRAMS. USE THEM AS 
IS, OR MODIFY THEM TO MAKE 
YOUR OWN CUSTOM PROGRAMS. 
ORDER NOW SO YOU CAN HOUSE 
BREAK YOUR NEW PET QUICKLY. 

Send SI 9.95 in check or money order to: 

DON ALAN ENTERPRISES 

P O BOX 401 

MARLTON, NEW JERSEY 08053 

New Jersey residents add 5% sales tax, 
Dealer inquiries invited. 



CHEAP TALK 
modems 

103 Type Full Duplex 0-300 Baud 

RS 232 Interface, Manual or Lease Line 

4 1/2x5 PCB Construction 

One Year Warranty 

$115.00 



p 



PHOflE 1 



Send Check or C.O.D. 
Shipping, Handling and Sales Tax Included 

Phone 1 

1330 East State St. 

Rockford, Illinois 61108 

Phone (815) 962-8927 



Circle 86 on inquiry card. 



Circle 41 on inquiry card. 



Circle 94 on inquiry card. 



INDUSTRIAL QUALITY 

MICROPROCESSOR CARD KITS 

All <5V only. -.1(1 4 5 x 6.5. 22M4 t-dge conn 

• H RAM S79.95 • ?K PROM S 79.95 

• MtHhi-rlmard $39.95 • 4 K PROM S129.95 

• Card Cane S20.00 • D.gnai I/O S 59.95 

• KcvliOi'itl'Displav S89.95 • Cassette Interlace S 37.95 

• Available tested and >n OEM aiyv 



MICROCOMPUTER SYSTEMS 

• 6800 Prototyping Board Stane( J 

• Kit =1 6800 Student Computer 

• Kil =2. Motorola EdufMtor II 

• Kir =3. 6800 Industrial Card Set 



■ =4 Hoi 



t'brew 



S 8-3 95 
SI 25.00 



S21000 
S320 00 



• BARE BOARDS, ENCLOSURES, FIRMWARE, ETC, 
SEND S3 70 FOR TECHNICAL MANUAL UNFORMA 
TION ON ALL ABOVE) 

St?m) Chuck or Money Order to: 



01 



• Sankamericmf (VISA) 

• Master char ge 

• Calil Residents Add 

6% Sales Tax 



ver opur 



Electronic Commumcalions Co 

P. O. Box 365, Chino. CA 91710 
or Visn Rei.nl Store 
13552 Central Avenue 



Circle 102 on inquiry card. 









r 


Disc/3 


1 


DISC 

CON 

BUSI 

(ass 

Lear Siec 

ADM-3 

IMSAI 80 

Centronic 

Printer 


/3 COMF 
IPLETE Ml 
YESS SYS 

Soroc IQ 120 
embled $899. 

ler 

A kit 

80 kit 

s Business 

(132 column 


»ANY 

CRO 
TEMS 

95) 
$ 799.95 

$ 599.95 
$1145.00 
s) 




Disc/3 




DIS 

184 

SANTA I 


3/3COMP 
D LINCOLN B 
/ONICA, CAL 
213)451-891 


ANY 

LVD. 
.IF. 90404 



Circle 40 on inquiry card. 



SIX PORT I/O CONTROLLER 

Program Control of Ports 
S100 Buss Compatible 
Parallel I/O 

Single Printed Circuit Board 
$149.00 

VIDEO SYSTEM 

30 x 64 Display - 1920 Char. 
128 Character Buffer 
1 Msec Read /Write Time 
Extensive Software Provided 
Programmable Display Attribute 
Characters 

$349.00 

Available in Kits or Assembled 

BankAmericard and Master Charge 

Accepted 

Dealer or Club Discounts Available 



Box 28823 



IOR 

Dallas, Texas 75228 



Circle 99 on inquiry card. 



ELCOM CRYSTAL- 
CONTROLLED COUPLERS 
OUT PERFORM ll 
DIRECT 
CONNECTED 
MODEMS 



The ELCOM 30 Originate-Only and 
ELCOM 32 Originate/Answer acoustic 
coupled modems provide reliable Bell 
System 103/113 compatible. Duplex or 
Half-Duplex, 300 bps data communi- 
cation over conventional dial telephones. 
Advanced crystal-controlled digital tech- 
niques and high-order linear phase active 
filters provide error-free operation over 
the most marginal telephone circuits. 
A single 25-pin female connector pro- 
vides both EIA RS-232 and 20 mA TTY 
compatible interfaces. 

ALL PRICES FOB CONCORD. TN 
BankAmencard/Visa and Maslercharge welcome 

El ElCom ENTERPRISES 
I 10728 DUTCHTOWN RD. 
I CONCORD. TN. 37720 
■ |615| 966-3352 
I (615) 689-5559 - Call 24 hours. 

DEALERS INQUIRES INVITED 



computer 
depot me. 

(Credit Cards Accepted) 

3515 W. 70th St., Mpls., MN 55435 
(612) 927-5601 

SOFTWARE GOT YOU STOPPED? 
If you have a single Northstar Disk, 
we can offer you fully-tested and 
documented packages for the fol- 
lowing: 
General Ledger with 

Payroll $75.00 

Mailing List with Coded 

Sort, Zip Code Sort, and 

Last Name Sort $75.00 

Inventory Control $75.00 

Other packages soon II Write or call 
for details. Dealer inquiries en- 
couraged. 

Name 

Address 

Part No. Qty. Amt. Enclosed 



Circle 27 on inquiry card. 



INTERFACE WITH YOUR COMPUTER 
■+ NATURALLY WITH THE NEW 
DHD-11 CONTROL PANEL 

Utilizing unique B/BCB 
ADDRESS AND and BCDIB hardware 

OPERANDS IN OECIMAL techniques it is the 
INSTRUCTIONS IN HEX most powerful, flexible 

control panel available. 

• 1 6 bit bi-directional address and 
data busses interface with any 8 or 1 6 
bit system (MOS or T 2 L| 

• Addresses and data from control 
panel to u P loaded from keyboard in 
selectable hex or decimal. 

• Addresses and data from u P to con- 
trol panel read by 5 digit hexadecimal 
display in selectable hex or decimal. 

• Serves as program loader, debugger, 
monitor (both single step and dynamic 
strobe), and overall u P educator. 

This control panel with only CPU and 
memory form an ideal educator and) or 
starter system or upgrades an existing 
micro I mini system. 

or free information, price and delivery contact 
u? ELECTRONICS 
P.O. BOX 2103 SYRACUSE. NY. 13220 



Circle 47 on inquiry card. 



Circle 123 on inquiry card. 



tion system, which consists of an Augat 
wire wrap board with 2000 words of 
programmable memory, two CMOS type 
parallel interface elements, and miscellane- 
ous circuitry. Two ribbon cables with DIP 
connectors form an umbilical cable of 28 
conductors between the processor and the 
data acquisition system. 

We use a cross assembler for PDP-8E 
assembly language on a DEC PDP-10 
computer on campus. The 2000 word 
program is loaded over the phone 
lines into our system in about 3 minutes 
at 300 bps. The Intercept Jr system 
monitor accepts the standard BIN loader 
format outputted by PDP-8 mini- 
computers or cross assemblers. At the 
end of program loading, a checksum 
is displayed on the numeric display to 
show if there were any errors in trans- 
mission. We get perfect transmission more 
than 90% of the time. 

While in the lab, the data acquisition 
system uses Intercept Jr to print memory 
dumps automatically at the end of an 
averaging time. This has been extremely 
useful for debugging the program. When we 
are satisfied with its operation, the Intercept 
Jr is removed from the data acquisition 
system. The latter is then sealed in a titani- 
um sphere, and the entire apparatus is 
brought out to the continental shelf to 
record data for up to eight weeks. Thus, in 
this project, the Intercept Jr serves as a 
removable peripheral device used for pro- 
gram debugging, loading and testing. 

When the data comes back on tape 
cassette, we use the Intercept Jr system 
to dump the data to the Teleprinter for a 
quick look, and then dump the data over 
the phone lines to the PDP-10 computer 
for data analysis. 

The data acquisition program is designed 
to operate in read only memory with 256 
words of programmable memory. After 
loading the program over the phone lines, 
we throw a switch which disables write 
commands to all but the lower 256 words 
of the memory. This switch, which we 
label RAM/ROM, has been very useful. We 
use the Intersil IM-6561 256 by 4 bit CMOS 
programmable memory. Harris Semicon- 
ductor is coming out with a field program- 
mable CMOS read only memory, HM-6612, 
which should be an exact replacement for 
the IM-6561 programmable memory. This 
will eliminate having to load the program 
every time, but will increase power con- 
sumption. Each' read only memory will 
consume 10 mA while being addressed. 



Power Consumption 

For any electronics which is to run on 
batteries for an extended period of time, 
power consumption must be in the low 
milliwatt range. Many microprocessors 
consume more than 500 mW by themselves. 
Our CMOS data acquisition system con- 
sumes 18 mW of power. The CMOS circuit 
family has very low power consumption and 
features almost as many different types of 
circuits as the TTL family. 

The Intercept Jr CMOS microprocessor 
system comes with four alkaline D cells 
that last for about 20 hours of operation 
with the LED numeric display on. The 
following current measurements are for 
operation with the 2.45 MHz crystal oscil- 
lator installed: 



5V 



6V 



HALTED 

RUN 

RUN with display 



4.4 mA 5.6 mA 

23 mA 30 mA 

223 mA 350 mA 



We see that the LED display takes ten times 
as much power as the rest of the Intercept 
Jr. 

Power consumption in the CMOS com- 
puter system is proportional to the number 
of instructions per second executed. Our 
data acquisition system samples data once 
per second, does a little computation, and 
then has nothing to do until the start df the 
next second. Following Intersil's application 
bulletin, M005, we turn off the system clock 
while waiting for the next second. This 
reduces power consumption during the 
pause by a factor of 5. 

The IM-6100 has a WAIT line that allows 
the use of slow memory. This WAIT state 
can be used to reduce power consumption 
for all of the system except for the micro- 
processor itself. Turning off the clock to 
the IM-6100 reduces current from 10 mA 
to .25 mA at the standard clock frequency. 

We have also slowed the system clock to 
1 MHz. This allows us to increase the size of 
the pullup resistors from 1 k to 20 k ohms 
in order to reduce power consumption. Our 
data acquisition system has to wait while 
various peripherals are ready; slowing the 
system clock reduces the number of times 
we have to execute a wait loop. The reduced 
clock rate also permits us to use long cables 
between the Intercept Jr and our data 
acquisition system. The instantaneous 
current consumed by our data acquisition 
system is 10 mA. The average consumption 
is only 3 mA due to its being on only about 
1/3 of every second. 



188 



BYTE December 1977 



a 



N 



re you in the process of de- 
signing a turn-key computer 
system? 



o you have problems 
facing the hardware? 



inter- 



Then you need the hardware specialist 
COMPUTER MACHINE SERVICE. 

CMS is in the business of assembling and repairing 
of microcomputers and equipment. 

CMS is not in the business to sell computer equip- 
ment. 

Our primary objective ts to provide assembly service 
of the highest quality as well as prime quality repair 
service on microcomputers and data communications 
equipment. 

For information call: 213-328-9740 
or 213-328-9760 

Or write: Computer Machine Service 
2909 Oregon Court 
Torrance, CA 90503 

FOR ALL YOUR HARDWARE PROBLEMS 
CMS IS THE ONE TO CALL. 



BVTESHDP 

the affordable computer store 
7825 BIRD ROAD Q F 
(305)264-2983 MIAMI 

DIAL264-BYTE M,AMI 



WE HELP YOU GET YOUR SYSTEM 
UP AND RUNNING. 



MEMORY EXPANSION 
COLOR TV GRAPHICS 
LEAR SIEGLER ADM 3 
PAPER TAPE READER 



IMSAI8080 

BYTE-8 

SWTP MP68 

CROMEMCO 

PROCESSOR TECH 

INTERFACES (KITS or ASSEMBLED UNITS) 

IN FORT LAUDERDALE 

1044 E Oakland Pk Blvd 
(305) 561-2983 



ELCOM 

ENTERPRISES 

Now Distributing.... 

HAZELTINE 1500- Basic Terminal 
[kit or assembled] 

CONTROL DATA - Conversational 
Display Terminals [assembled] 

ADDS - Regent 100 and 200 
Terminals [assembled] 

BEE HIVE'S - B100 and B500 
[assembled] 

TWX - New and Used 

TELEX - New and Used 

SHUGART - Mini-floppy Disc Drive 
Units $310.00 while they lastlll 

ALL PRICES FOB CONCORD. TN. 
BankAmencard/Visa and Mastercharge welcome 

EICOtTI ENTERPRISES 
10728 DUTCHTOWN RD. 
CONCORD. TN. 37720 
(615) 966-3352 
1615) 689-5559 - Call 24 hours. 

DEALERS INQUIRES INVITED 



El 



Circle 31 on inquiry card. 



Circle 14 on inquiry card. 



Circle 47 on inquiry card. 











































CHESS 




























T> a crri 














■ BAoIC 


















c 
tl 

h 
a 

g 

s 
C 


h 
la 
as 
nc 
ar 
36 

H 
1 


ess 

t r 

a 

lp 
tie. 

he 

ES 

ad 
Ca 

■ y 

Fr 


Ba 
ins 
lei 
ay 
Se 

W 1 

S E 

i 
lifo 

C E 

p 

en- 


si 
c 

ig 

nc 

\A 

$] 

rn 

;t 


o 


3 is a chess program 
n extended Basic. It 
th of 7K characters 
m intermediate level 
i for a sample run to 
11 it plays. 

SIC $10.00 

.00 for shipping 
ia residents add 6% 

.ECTRONICS 
BOX 1832 
nt Calif. 94538 



TYSON'S CORNER, VIRGINIA 
(WASHINGTON, D.C. AREA) 

THE 

COMPUTER SYSTEMS 
STORE 

"Specializing in Systems" 



FEATURING: 



Lear Siegier 

DEC 

SWTPC 

Seals 

Digilal Group 

TDL 

Books - Magazines 
COMPUTERS FOR HOME. SCHOOL. & SMALL BUSINESS 
Our slat) will help you selecl Irom ihe bes! of each manulac- 
lurer lo complete the system best suited to your needs. 

SPECIAL: LEAR-SIEGLER ADM 3A 



Processor Technology 

Poy Morphic 

Diablo 

E & L 

Vector Graphics 

Apple 

CROMEMCO 



CSS 



CDITIPUTER SYSTEmS STDBE 



1984 CHAIN BRIDGE ROAD. McLEAN. VA 22101 
TELEPHONE (703) 821-8333 

OPENING SOON 
ALEXANDRIA. VA "NORFOLK. VA -BALTIMORE MD -ORLANDO, FLA 



THE PROM SETTER 
READ/WRITE 

1702 A and 2708 

CAN ALSO WRITE and READ 
2716 

AND OTHER EPROMS 

ALTAIR/IMSAI COMPATIBLE 
NO EXTERNAL POWER SUPPLY 

LET YOUR COMPUTER 
DO IT ALL 

SOFTWARE INCLUDED 
Doubles as an 8 Bit Parallel I/O 

KIT COMPLETE— $210 
ASSEMBLED— $375 

DELIVERY LESS THAN 60 DAYS 
SZERLIP ENTERPRISES 

1414 W. 259th STREET 
HARBOR CITY, CA. 90710 
Calif. Res. Add 6% Sales Tax 



Circle 120 on inquiry card. 



Circle 33 on inquiry card. 



Circle 113 on inquiry card. 




■ FLOPPY DISKS, MINI OR 
STANDARD MEM0REX OR 3M 

• 3M DATA CARTRIDGES 
DC300A. DC100A 

• 3M DIGITAL CASSETTES 

• 3M OR MEMOREX AUDIO 
CASSETTES, C-60 

• 3M DISK CARTRIDGES 

WE OFFER: 
•COMPETITIVE PRICING 
•IMMEDIATE DELIVERIES 

(Any Quantity) 
• UNCONDITIONAL GUARANTEE 

BETA BUSINESS SYSTEMS 

83C9 VICKERSST.. #G 

SAN DIEGO. CA 92111 

1714) 565^1505 



■ 



REMEMBER 
16K 

ASSEMBLED AND TESTED 

$520 
Features; 

STATIC OPE RATION 
ACCESS TIME 2-5 On « 
SlOO BUS CO MPA 1 IEJL E 
LOW POWER TYPICALLY 

EOSmq 8* 

i 5ma 16v 

2 4 rn ;i I6»rifg 
BATTERY BACKUP 



AVATAR SYSTEMS 



LAS VEGAS NEV 89 109 
(702) 733 8304 




IT'S A GREAT BIG COMPUTER WORLD 

But You Only Need 

-w-THE COMPUTER CORNER : 

~**~ •SOL - A New Dawn Is Here! 

~**~ »IMSAI 8080 

"**~ »POLY-88 

■**" •TDLZ-80 

~**~ •Memories & I/O Boards 

-H- 

-W— •Computer Book Service 

M - •Magnetic Tapes & Disks _ 

+t— • Full Line of Magazines 

H- *Brain Games & Puzzles 

>f- •Workshops & Club Information _ 

*T Visit THE COMPUTER CORNER for 

w all your computer needs. Stop in and 

browse — you'll like our personal service. 

fci THE COMPUTER CORNER 

White Plains Mall - Upper Level 
W 200 Hamillon Avenue 

-X- White Plains, New York 10601 






Tel: (914) WHY - DATA 

Ample Parking 
10-6 DailY & Saturday 



^( , 10-9 Thursday \> 






Circle 1 1 on inquiry card. 



Circle 134 on inquiry card. 



Circle 23 on inquiry card. 



High Speed Operation 

We have not had any need for high speed 
operation, but the Intercept Jr system can 
be made to run at fairly high speeds by 
increasing the voltage supply. The typical 
instruction takes 10 minor cycles for execu- 
tion: 



Voltage (V) 

5 V 

6 V 
10 V 



OSC Frequency (MHz) 

2.54 MHz 
4.0 MHz 
8.0 MHz 



Execution Speed (cycles per second) 

200,000 
350,000 
700,000 



The 8 MHz operation requires the use of the 
"A" version of the microprocessor. This 
operates faster than the PDP-8E minicom- 
puter but takes less than .01 the power. 

Option Cards 

The UART card required the most modi- 
fication for our use. It has been designed for 
operation only at 110 bps. We added the 
Fairchild CMOS 4702 clock generator to 
allow selection of rates up to 2400 bps. 



STATE OF THE ART 
BOTH FORMS 

There are two forms of the "state of the art". One form is the 
personal growth attained by most professionals who realize they 
must stay in step, intellectually, with new concepts and new 
techniques. Too often, a tragedy occurs when the professional 
neglects the second form, his career development. The fatal 
mistake occurs when working in an environment that provides 
a continuous parallel to industry but neglects to provide the 
professional growth that is necessary to insure career develop- 
ment and avoid future frustrations. To insulate yourself against 
this happenstance, check with our professional staff. They will 
advise you on your career development as it relates to your 
technical development. 

Our areas of specialization are: 

SOFTWARE DEVELOPMENT 

COMPUTER GRAPHICS 

DATA BASE 

COMPUTER DESIGN 

SIMULATION AND MODELING 

TELECOMMUNICATIONS 

HARDWARE/SOFTWARE INTERFACE 

For further information either call or send resume to: 

PERRI-WHITE ASSOCIATES 
50 FRANKLIN STREET 
BOSTON, MASS. 02110 

(617)423-1900 PERRI-WHITE & ASSOCIATES, INC. 

ROBERT MARLOWE 5373 W. ALABAMA PLACE 

HOUSTON, TEXAS 77056 
PERRI-WHITE & ASSOCIATES, INC. (713) 961-5500 

44 MONTGOMERY STREET FRANK COLLINS 

SAN FRANCISCO, CAL. 94104 
(415) 981-7000 
RICH ENGLE 

Management Consultants 

Specializing in Data Processing/Systems Engineering 

All Replies Held In Strictest Confidence 



The early UART cards were produced with 
RS-232 connectors mounted on the wrong 
side of the board. We also had to add a nega- 
tive voltage source. Our Texas Instruments 
teleprinter requires that a jumper be put 
on the UART card between pins 4 and 8. 
We found it very useful to add an LED to 
indicate when data was being received over 
the phone lines. 

The 1 K bytes of CMOS programmable 
memory that is available from Intersil has 
two AA cells mounted on the card for 
battery backup. This card draws only 10 /jA 
from the AA cells when power is turned off. 
It is affected by static electricity if it is 
removed from its socket. Touching the 
printed circuit side of the removal board 
causes a latchup on the card, scrambling 
the data saved in memory. 

The AUDVIS (audiovisual) board (6957) 
has 12 slide switches for inputs, and four 
LED numeric displays with 12 LEDS in 
parallel for visual output, in addition to a 
speaker for audio output. 

We intend to introduce the micropro- 
cessors and the data acquisition system to 
scientists and technicians with the AUDVIS 
board, because it allows the new user to 
quickly get used to microcomputer input 
and output, and binary to octal conversion. 
It was developed for use in 1 day Intercept 
Jr classes given by Intersil around the 
country. 

CMOS Logic Probe 

The Intercept Jr system is meant to be 
only a tutorial system. If one gets around 
to doing much hardware development, a 
CMOS logic probe becomes almost a neces- 
sity. For operation with the 2.45 MHz 
crystal, the response time of the probe 
must be faster than 300 ns. Continental 
Specialties, among others, has a fast 
CMOS logic probe with a useful pulse 
latch feature that turns on an LED if there 
has been a logic state change. The hobbyist 
might be interested in the AVR electronics 
probe which we have also used. 

Selecting a Low Power Microcomputer 

As a brief postscript we note that, as of 
this writing, the available battery powered 
processors on the market include the 
Intersil IM-6100, RCA COSMAC, Texas 
Instruments 990 KL 16 bit microprocessor, 
and an upcoming l 2 L version of the NOVA 
minicomputer from Fairchild. We found it 
difficult to obtain a cross assembler for any 
low powered computer other than the 
Intersil CMOS PDP-8E, however." 



190 



BYTE December 1977 



Circle 92 on inquiry card. 



••INTRODUCING NEMESIS 7- • 
THE GAME WITH THE BRAIN 

Tiif llrst. of ;t s..-ri«-s vif darjdhcli! computerized 



« 






■*is7 elecironicrttly duplicates e*acLly the nnc ten 
llffl, PabbUl wore nrr.ir.Rctl into 3 columns of 7, 5. 

iv«- any nr all 'pcbbleu from a column but could manipul 
i <m;c column per move. The loser took the last pebble, 
respectable opponent in Kemcsls' is a fixed progr.-un 
computer coniiistlnK of a custom designed LSI computer cbi 
or. circuit. To win U extremely difficult but possible. 
Human opponents are also permittee). 

Kasy to -isscnblo kit Includes alt parts Cexcepl batti?ry) 
including custom MQS computer circuit, PC board C case. 
Some soldering required $ 9.95 

Kit th.it requires no soldering $14.95 

Complete l ic tury .vihitnbleil name... . $16.95 

Battery extra (9V transistor radio) 5 1-50 

Include SI. 50 shipping Nevada residents add 3fc PST 

Send check or money order to: 

Computer Creations Inc. 
1.18 West 2nd Street; Reno, Nevada; 89501 



Id 



WASH. DC AREA HOBBYISTS! 

Micro 
Diversions 

announces 

HOBBYIST 
MICROCOMPUTING 

An introduction to the design. 

construction, and programming of 

microprocessor-based computers. 

EIGHT WEDNESDAY EVENING SESSIONS 

JANUARY 4 -FEBRUARY 22 

ThBse are companion "how- to-do- it" 
courses on the hardware and software 
technologies of personal computing taught 
by Micro Diversions hardware and soft- 
ware designers. Coll/send/circle for 
brochure. 

HARDWARE - $75.00 SOFTWARE - $75.00 
BOTH $125.00 

Classes limited in size: early 
registration is recommended. 

P.O. BOX 527 

FALLS CHURCH, VA. 22046 

(703)533-1133 




South Florida 



Sunny Computer 
Stores. Inc. 

South Florida's First Computer Store 
WE CARRY: 

• ALPHA MICRO SYSTEMS, 
MICRO FILE, IMSAl 

• BOOKS, MAGAZINES, 
NEWSPAPERS 

• FULL SERVICE 

• SOFTWARE 

• WRITE OR PHONE US FOR 
PRICES 

MORE THAN JUST TOYS 

Monday 12 noon — 9 pm 

Tues.-Fri. 10-6 

UNIVERSITY SHOPPING CENTER! 
1238A SOUTH DIXIE HIGHWAY 
CORAL GABLES, FLA. 33146 
(305)661-6042 






Circle 24 on inquiry card. 



Circle 72 on inquiry card. 



Circle 1 10 on inquiry card. 





CONVERT ANY TV 

TO A HIGH QUALITY MONITOR 






- NE* - 


*■ 




HICH QUALITY 

TTTTTTT V V 
T V V 
T V V 
T V 

MOO -- KITS 


* 




• 

• 
• 
• 
• 


Hot Chassis or Transformer sets 

S4-S0 characters per line 

By-passes tuner & I.F. 

formal viewing unaffected 

Safe— Easy installation 

ACVM Hi-Resolution $24.95 ppd 






1FVM Ch2-6 Modulator $9.95 ppd 




V 


'AMP INC. Box 2931 
Los Angeles, Calif. 90029 

Calif. Residents add 6% Sales Tax 


5 



TELETYPE 

RECONDITIONING AND REPAIR 

Prices for reconditioning of complete 
machinery including parts: 



MODEL NO. 


PRICES 


M-32 


ASR.KSR 


$250.00 


M-33 


ASR.KSR 


$250.00 


M-35 


ASR.KSR 


$295.00 


M-30 


RO 


$195.00 


M-33 


RO 


$195.00 


M-35 


RO 


$195.00 



ALL PRICES FOB CONCORD, TN. 
BonkAmericarri • Visa and Mastercharge welcome 

The prices listed above are for mechanically 
complete teletype machines only. Quotes 
for repair of incomplete machines made 
on request. 



E 



IEICOm ENTERPRISES 
10728 DUTCHTOWN RD. 
CONCORD, TN. 37922 
(615) 966-3352 
(615) 689-5559 - Call 24 hours. 



^^fik 



WHAT IS 
a really good way to 
protect all your valu- 
able back issues of 
BYTE that will keep 
them handy, clean, and 

organized? 



Send to: B YTE, POB 5120, 

Philadelphia PA 19141 

for information on binders and files. 



Circle 125 on inquiry card. 



Circle 47 on inquiry card. 



r * % 

MAKE YOUR COMPUTER PRODUCTIVE 
WITH SOFTWARE WRITTEN 
u, IN NORTHSTAR BASIC 



REM General Ledger t 5 

and Statements $75 
REM Mailing Labels $50 
REM Federal Income Tax $200, 
Schedule A and B 

And More to Come . . . 
REM System Descriptions $2 each 

REM System supplied on Diskette 

with Program Documentation 
and Operating Manual 

RUN Benson & Costello * 
29-02 23 A venue 
Astoria, New York 11105 
212-932-3316 



% * 



# 



• computer . 
a depot ino. a 

(Credit Cards Accepted) 

• 3515 W. 70th St., Mpls., MN 55435 • 

(612) 927-5601 

" □ Motorola DII 6800 

• Evaluation Kit $235.00 • 

□ National SCMP Kit with 
Keyboard $190.00 

• D E&L Digi-Designer Kit- • 

Design Your Own 

Circuits $ 77.75 

• □ Speech Lab Kit-Talk To • 

Your Computer .... $249.00 

□ 2708 Eproms Full Spec 

• 450NS From Tl & • 
Fairchild $ 16.95 

□ IMSAl 8080 Complete 22 

• Slots All IC's with Sockets- • 
Assem . & Tested . . . $850.00 # 

□ TTL Catalog and Remember, 

• We Pay The Shipping. • 


Name 


• Address • 


• Part No. Qty. Amt. Enclosed • 



CANADIANS! 

Introducing our kit-by-the-month 
plan available for only $500.00 down 
and $150.00 per month. 

(Write for more information) 

IMSAl 8080 KIT: $897.50 

ASSM: $1245.20 

Canadian Duty and Federal Tax Included 

Hobby systems from $999.00 (Kit). 
Business/engineering systems from 
$11,900.00. 
(Assembled and Installed*). 
Educational discounts available. We 
will develop custom application pack- 
ages. Contact us for further informa- 
tion. Send $1.50 for catalogue. 

VISA ■ CHARGEX ACCEPTED f\ 

Rotundra j^Mi 

Box 1448, Calgary, Alta. T2P 2H9 
Phone (403) 283-8076 

{Installation outside Western Canada extra). 



Cybernetics 



Circle 10 on inquiry card. 



Circle 26 on inquiry card. 



Circle 97 on inquiry card. 



A Note 
to Novice 
Kit Builders 



Be certain that when you are putting to- 
gether a kit by soldering in your integrated 
circuits that the identity of pin 1 position 
is unambiguous. A particular example we 
recently learned about by personal ex- 
perience was the Texas Instruments TIMS- 
4044NL 4 K memory part used by a novice 
to assemble an 8 K memory board from 
a kit product. The instructions for this 
particular kit quite properly stated that: 

. . .the "dot" or "notch" on the end 
of the package is used for orientation 
purposes and must match with that 
shown on the component layout 
drawing for each of the integrated 
circuits. 

The only problem was that the part (for the 
novice) was ambiguous: 



shallow cjrooue with iniec 
mold mark circle 

1 — II II — II — 1 


lion 


incorrecl P 
if wrong no 

I 


n 1 


ndemifical 




^~~N 


TMS4041NL-45 
P7727 




C 








( } 


— zz 




V_^ 






u u u u 


1 11 II 1 


LJ 


L_J 







The first-time novice who assembled the 
board in question chose the deep notch 
as the identification of the proper end of 
the IC for pin 1, and was 180° from the 
proper orientation. The only other confir- 
mation of proper orientation would be that 
pin 1 is at the left when the markings on 
the IC are read in the normal fashion. Later 
inspection of the mechanical data section 
of a Tl manual confirmed that the proper 
orientation of the package in this case was 
given by the shallow rectangular groove." 



First Come 

First Served 

Back Issues of BYTE 

About 300 July, 200 Aug., 
and 500 Sept. 1977 issues of 
BYTE. Orders will be filled on a 
first come first served basis until 
the supply is exhausted; we will 
partial ship and return any monies 
in excess. 

Readers please send $2.00 for 
each issue; this includes postage 
and handling. 

The Computer Place 
186 Queen Street West 
Toronto M5V 1Z1 
416-598-0262 

Dealers please inquire. 




^Complete listing of all feature \ 
articles appearing in Volume I 
of BYTE — September 1975 thru 
December 1976. Indexed for easy 
reference. Includes all errata. 



REET 



V* 



To get yours, send a t.24 stamped self-addressed 
envelope to: 

BYTE Index 
70 Main Street 
Peterborough NH 03458 A 



192 



BYTE December 1977 



Deep Within Every 

Novice Lurks a 

Computer Hacker 

Waiting to Get Out 

Help free the novice in your life with 
two outstanding selections from BITS. . . 




Your Home Computer, by James 
White, is a clearly written nontechnical 
description of personal computers that 
requires no prior knowledge of computers 
or electronics. The emphasis is on under- 
standing; over 1 00 illustrations are included. 
Topics include: computing and you; com- 
munication inside a computer; computer 
thought processes; fixed memory; inputs 
and outputs; peripherals; systems com- 
ponents; how to choose a microcomputer; 
and so on. Your Personal Computer is the 
ideal book for readers who thought they 
could never understand how computers 
work. And the best part is that it's easy 
and fun to read. Yours for $6. 




The perfect book for the layman or 
woman, How You Can Learn to Live With 
Computers is a lively account of these 
ubiquitous machines and their role in 
present society. Author Harry Kleinberg 
begins with some elementary logic and 
shows how a simple hardware circuit can be 
used to illustrate logical concepts. $8.95. 

BITS Inc 
70 Main St 
Peterborough NH 03458 



For ease in ordering, use the coupons on 
pages 123, 125 or 167, writing in the 
name(s) of the book(s) you want. 

Please note that processing may exceed 30 
days in unusual cases. 



Circle 1 2 on inquiry card. 



What's New? 



Program Development System 




This new portable program develop- 
ment system is manufactured by Zilog, 
10460 Bubb Rd, Cupertino CA 95014. 
At $2850 in single unit quantities, the 
user gets a system which includes a 300 
K byte full size floppy disk, 16 K 
bytes of user programmable memory, 
3 K bytes of internal programmable 
read only memory, and an RS-232 
or current loop interface to a terminal. 
Add a terminal to this box, and indivi- 
dual users may find the price quite 
attractive as well as the commercial and 
industrial users for whom the system was 
intended." 

Circle 579 on inquiry card. 



8085 Processor Card 




Space Byte, 1720 Pontius Av, Suite 
201, Los Angeles CA 90025, makes 
this $499 8085 processor card for the 
S-100 bus. The board includes a monitor 
program, RS-232 serial ports and inter- 
face for the iCOM 3700 or Frugal 
Floppy disk systems.* 

Circle 580 on inquiry card. 



8 

O 
>«■ 

(0 

u 



u 

c 

(0 

u 
(S 





< 

< 

Q 



< 
< 

b 
p. 

5-1 

O uj 
</>> 

3 
Oj 

2d 
S< 

3 a 

£ CA 
«3 



-J 
< 

X 

% 

H 
3 

a. 

H 
3 
O 

-J 

UJ 

-J 



H 
Z 

UJ 

a 
z 

UJ 

a. 

UJ 

Q 

z 

> 

5 
< 

o 
a. 

a." 
o 
O 
-j 

H 

Z 
UJ 

a 
3 

3 

JU 

UJ Q 

> UJ 

-J < 

z o 

<2 

oflO cj 
J £- cs 
3 ft w 

£<" 

>-o2 
en cm uj 



a 

§<- 
- SB 

u t 

a. 5 

. o 

>■ z 

< - 

gJ 

a. uj - uj 

Oijgwp 
0S£ ZJ 

oSSh 

a. 5 -i «2 

B O U. & 

O-uj-J 

Z UJ t/5 H 
< <N UJ 5 



DC 

O 

H 
Z 

UJ 

S 

UJ 

U 

< 
-J 
0. 

UJ 

s 

CO 

CO 
*■** 

OS 

< 

UJ^ 

DC > 
UJ -J 
H Z 

5 <» 
x o 

^s 

< a. 
tx> a. 

< in 

uj 3 

RE H 
> >> O 
UJ UJ UJ 

X * -J 

H- t- W 

<«£ 

uj uj cc 
a. a. uj 

UJ uj uf) 

a ce 3 



*■* «T «J ■*■* 

> cfl s Q 

+ PS O Z 

. a g z uj 



Q 

3 
< 
CO 

z 
< 
o 

H 

as 

UJ 

'</) 

3 

> 
CO 

Q 

UJ 
H 
(/) 

3 

Q 
< 

-J 

55 
< 
u 

H 

3Q 
CQ 3 

Q< 
3 03 

<o 

CO © 

f rt s 
< — O 

O H H 

uj h 2 

eineos 

UJ H UJ 
0. O H 

5t2« 



z 
< 

H 
Cfi 
UJ 

U 

z 

3 
UJ 

t/J 
< 

O 
(/1 

UJ 
H 
< 
Z 



.a 
£ 

4) 

u 
Q 

IS 3 



-1 

UJ 



> 2. 
uj -. 

3 os § 

u. £ — 
— Oh 
luo. 
w wO 

H OS =(J 
CfiO I uj 

Ujii3o 

Szza 

UJ Q B. 5 

_j uj <* O 



o 

u 
H 
CD 
U 

H 

Q 
Z 

< 

Q 
u 

CQ 

u 

CD 
CD 



a 
U 

9) 

s> 


■c 

u 

O) 

c 

? 

c 
a 
-c 
O 
o 



2 



o 

IN 

OS 




in 

n 

>«■ 

t- 

(0 



■■■■1 

10 



< 

LUo 

u 

EQ 

D 

z 
< 
cc 

LL 

z 
< 

z" 
< 

z 
z 
< 
cc 

CD 



J 

< 

(0 

h 
z 

UJ 

z 



a 

1 



u 



Circle 21 on inquiry card. 



BYTE December 1977 



193 



Get Your FREE Subscription * 

Find out all the LA TEST details about the 

SECOND 



& 




COMIN' ON STRONG 



• A Major Conference Program 
(published Faire Proceedings to be available, on-site) 
• Banquets with Fascinating Speakers 
• A MASS of Exhibits 

5 Months Before the Second Faire 



*s> 



the following 50 
Administrative Systems, Inc. 
Anderson Jacobson, Inc. 
Apple Computer, Inc. 
Berg Publications 
BITS 

Byte Publications, Inc. 
Byte Shops of Arizona/Micro Age 
California Business Machines 
Camelot Publishing Co. 
Cherry Electrical Products Corp. 
CMC Marketing Corp. 
Compucolor Corp. 
Computer Kits, Inc. 
Computer Warehouse Store 
Creative Computing 
Cromemco, Inc. 
Digital Group 



companies had already formally requested exhibit space: 



Dymax 

Electronics Emporium International 

Godbout Electronics 

Heuristics, Inc. 

Ibex 

Integrand Research Corp. 

Interface Age 

International Data Systems, Inc. 

Ithaca Audio 

Jade Co. 

Micromation, Inc. 

Motorola, Inc. 

Mountain Hardware, Inc. 

Neutronics 

Newman Computer Exchange, Inc. 

North Star Computers, Inc. 



Osborne & Associates, Inc. 

Paratronics, Inc. 

People's Computer Co. 

Phonics, Inc. 

Promedics Data Corp. 

Quay Corp. 

RCA Corp. 

SD Sales Co. 

Smoke Signal Broadcasting 

Solid State Music 

Southwest Technical Products Corp. 

Standard Engineering Corp. 

Sybex, Inc. 

Tri-Tek, Inc. 

United Technical Publications 

Ximedia Corp. 

Xybek 



FIRST West Coast Computer Faire 

had • almost 13,000 people 

• around 180 exhibitors 

• almost 100 conference sessions 

• four banquet speakers 

all in just TWO days 

SECOND West Coast Computer Faire 

is THREE days long 

March 3-4-5, 1978 

9am-(ipm 9am-f>/mi Nottn~5pm 

San Jose Convention Center, San Jose, California 
in the middle of Silicon V alley 

Get the FREE Silicon Gulch Gazette 

for all the latest details: 

• Send us your name & mailing address 

• The Gazette -- a tantalizing tabloid touting the Faire 

& offering 

'hot news" and "raging rumor" regarding home & hobby computing. 

-AIRE BOX 1 579, PALO ALTO CA 94302 D (415) 851-7664 j 



* 



194 



BYTE December 1977 



Circle 129 on inquiry card. 







„jjv 



1^ 



Q(P 



SPEAK ! 

AT THE 

SECOND 



<% 



Vx- *>ev 






"<* 



'<? 




• Tutorially Talk about our Tantalizing Thinkertoys 
• Comprehensively Comment on your Complex Computer Calisthenics 
• Describe Daring Digital Deeds 

CHOOSE YOUR OWN TOPIC S ) 



^ 



Topics at the FIRST 
t Tutorials for the Computer Novice 
t People & Computers 
t Human Aspects of System Design 
t Personal Computers for the Physically Disabled 
t Legal Aspects of Personal Computing 
t Amateur Artificial Intelligence 
t Computer Art Systems 
t Music & Computers 
t Electronic Mail 

t Computer Networking for Everyone 
t Personal Computers for Education 
t Amateur Radio & Computers 



West Coast Computer Faire included: 

t Residential Energy & Computers 

t Computers & Systems for Very Small Businesses 

t Entrepreneurs 

t Speech Recognition & Speech Synthesis by Home Computer 

t Tutorials on Software Systems Design 

t Implementation of Software Systems & Modules 

t High-Level Languages for Home Computers 

t Multi-Tasking on Home Computers 

t Homebrew Hardware 

t Bus & Interface Standards 

t Microprogrammable Microprocessors for Hobbyists 

t Commercial Hardware 



NOTE: The Conference Proceedings of the First West Coast Computer Faire carries over 320 pages of these tutorials & technical 
presentations, many discussing the state-of-the-art in home & hobby computing. The Proceedings is immediately available from 
Computer Faire (within California, $13.40; outside California, $12.68; foreign, please write for rates-payment must accompany 
order), or from your local computer store (a dastardly dis-service to you if it's not!). 

FOR YOUR TALK TO RE PURLISHED 

in the Proceedings of the SECOND West Coast Computer Faire, 
which will be available at the Faire, 

abstracts & camera-ready papers 

will be needed. 

CALL or WRITE: 

f Tell us your topic 
^ mm ^^*~ f Request Speakers' Instructions ~^^P^™ 
^^ Deadline for submitting title & brief abstract of your talk(s): 1977 Dec 15 ^t 

^p- Deadline for submitting camera-ready, full-text paper in specified format: 1978 Jan 2 ^M 

DMPUTER FAIRE BOX 1 579, PALO ALTO CA 94302 D (4 1 5) 85 1 -7664 D 



Circle 129 on inquiry card. 



BYTE December 1977 



195 



What's 



New Aid for Machine Language Hackers 




Microcomputing enthusiasts who lack 
an assembler and must program in 
machine language (without the benefit 
of a power eraser) may appreciate this 
new product. The Basic Operational 
Programming Aid (BOPA) comes with 
32 removable, reversible plastic slats 
on which machine code can be written, 
one byte to a slat. Machine instructions 
can be inserted or rearranged simply by 
moving the slats around. A set of BOPAs 
can be carried in a 3 ring binder. The 
basic BOPA is $11.95, with a special 
ink pen for $1 and a solvent solution 
for $1.25. An expanded 256 entry 
system is also available for $74.95, from 
Vamp Inc, POB 29315, Los Angeles CA 
90029." 

Circle 521 on inquiry card. 



Two Ways to Convert Your TV 
to a Monitor 




There are two ways to convert your 
TV set to a video monitor: You can use 
the video signal to modulate a high fre- 
quency (RF) signal, creating a tiny 
transmitter which is attached to the 
antenna terminals of your TV set, or 
you can physically modify the set to 
enter the video signal just beyond the 
TV's video detector. The former method 
requires no modifications to the TV, but 
limits the bandwidth of the signal and 
hence the number of dots making up 
characters across the face of the screen. 

You can take your choice of these 
methods with two kits from Vamp Inc. 
The RFVM-1 kit ($8.95) includes a 
1.25 by 1.75 inch (3.2 by 4.4 cm) 
printed circuit board which is designed 
to be installed inside your video source 
and attached to the TV through the 
antenna terminals, yielding a frequency 
response of up to 4 MHz. The ACVM-1 
kit ($23.95) includes a 2 by 3 inch (5.1 
by 7.6 cm) baord designed to be in- 
stalled inside the TV set and provides a 
frequency response up to 10 MHz. A 
bypass switch is included with the 
ACVM-1 to permit normal TV program 
viewing. Both kits are complete with all 
parts and can be obtained with a $1 
shipping and handling charge from Vamp 
Inc, POB 29315, Hollywood CA 
90029." 

Circle 523 on inquiry card. 



New Power Supplies 




Circle 522 on inquiry card. 



The new SPS-D and SPS-T multiple 
output DC power supplies are designed 
for microprocessors and memories, 
floppy disks, and similar applications. 
Available with adjustable voltages from 
± 5 VDC to ± 28 VDC and currents 
from .1 to 1 2 A, the units feature com- 
plete isolation between outputs, current 
limiting, short circuit protection, and 
optional overvoltage protection. Prices 
range from $104 to $139 and weight 
from 7 to 16 pounds. Additional 
technical information and a new catalog 
are available from Standard Power Inc, 
1400 S Village Way, Santa Ana CA 
92705, (714) 558-8512." 



Attention Homebrewers: 

Roll Your Own Case with This Package 




The "Flex-i-pak," a flexible instru- 
ment housing system, is supplied in a 
basic unit frame configuration with a 
variety of chassis and brackets to choose 
from as needed. Extrusions, brackets and 
panels contain a pattern of holes on Vi 
inch centers, allowing easy "erector set" 
construction. Card guides may be in- 
stalled in a variety of ways. The basic 
case, measuring 17 inches (43.1 cm) 
by 13, 16 or 20 inches (33.0, 40.6 or 
50.8 cm) with heights from 3.5 to 
12.25 inches (8.9 to 31.1 cm), features 
vinyl covered top and bottom, side rails 
and perimeter frame of extruded 
aluminum. Price of the Flex-i-pak in 
single quantities varies from $72 to $145 
from the Buckeye Stamping Company, 
555 Marion Rd, Columbus OH 43207, 
(614) 445-8433." 

Circle 524 on inquiry card. 



Attention Readers, and 
Vendors. . . 

Where Do New Product Items 
Come From? 

The information printed in the 
new products pages of BYTE is 
obtained from "new product" or 
"press release" copy sent by the 
promoters of new products. If in 
our judgment the neat new whiz- 
bang gizmo or save the world 
software package is of interest 
to the personal computing experi- 
menters and homebrewers who 
read BYTE, we print the informa- 
tion 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 oc- 
casional priority modifications. 



196 



BYTE December 1977 



Bit Status Display 



DATA 



Greg Tomalesky 
164 Preston Rd 
Parsippany NJ 07054 



Here is an interesting modification to the 
7 segment display circuit shown in figure 3 
of "LEDs Light Up Your Logic" in February 
1976 BYTE, page 54. The original circuit 
displayed 1 or to indicate the corres- 
ponding logic state. With the addition of two 
more 7437 inverters and some rewiring (see 
figure 1), the circuit will display H and L in 
place of 1 and 0. I used a DL-704 common 
cathode display, but of course a common 
anode display may also be used. 

Carrying this idea a little further, you 
can display HI and LO in a similar manner 
by using two displays. 

7 segment displays can be used to dis- 
play many other letters such as A, C, E, F, 
H, I, J, L, O, P, S and U in upper case, and 
b, c, d, h, i and o in lower case. The upper 
case letters A, C, E, F and the lower case b 
and d may be used in conjunction with the 




/ff 12 (GND) 



numerals thru 9 to form hexadecimal 
displays for use with microcomputers such 
as the M6800 and MC6502, which have 
hexadecimal based structures." 



Figure 1 : This 7 segment 
display will monitor the 
state of a single bit and 
output an H or L depend- 
ing on the status of the 
data input. Power connec- 
tions to the 7437 inverter 
are +5 V to pin 14 and 
ground to pin 7. All re- 
sistances are measured in 
ohms and all resistors are 
0.25 W. 



4K RAM BOARD 

Assembled and tested. ^AA AB 

See kit below. 
4K RAM BOARD KIT 

450ns Access RAMs 

Fully Buffered 

Low Power $79.95 

Static 

5V only 

4V4 x 6 inch board 

Buy 4 RAM Board kits at 
$79.95 each and an 8 slot 
Mother Board is yours 

lncludes-8 connectors and card guides. FREE. 

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. 



4K PROM 

-Low Power DV^/%KU 

-5 V Only 

— Industry Standard Bipolar ROM 
—Compatible With Our Bus 

KIT WITH 2K OF PROM $79.95 

Additional 2 K of PROM $40.00 



2102 — $1.30 Multiples of 25 only. 
Low power, 450 n.s. Access and cycle. 

DANA 2000A Multimeter 
Regularly $199.50 Our Price $165.00 

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.00 total, add $1 .25 for shipping. California residents 
add 6% sales tax. Estimated shipping time 2 days ARO with 
money order. For checks allows 7 days for check to clear. 



Circle 7 on inquiry card. 



BYTE December 1977 



197 



What's New? 



A Quick Way to Panel Mount LEDs 



6800 System Analyzer 




Designed for use with the Motorola 
6800 microprocessor, this system ana- 
lyzer features single step instruction 
execution, a hardware implemented 
breakpoint which shifts from full speed 
to single step mode when a selected 
address is reached, loop counting, and 
cycle delays. Hexadecimal addresses, 
loop counts and delays are set up with 
thumbwheel switches and displayed 
on LEDs. Priced at $995, the unit is 
offered by Telcon Industries Inc, 5701 
NW 31st Av, Fort Lauderdale FL 33309, 
(305) 971-2250." 

Circle 525 on inquiry card. 



Hard Copy from Digital Panel Meters 




Furniture for the Micro Age 




A desk specifically designed to house 
a personal or business microcomputer 
system is now available from Computer 
Systems Design. The "Microdesk" (a 
trademark) can be easily assembled 
without tools in five minutes. The desk 
is constructed of high density vinyl clad 
board and measures 48 by 24 by 28 inch 
(122 by 61 by 71 cm). A sliding shelf at 
convenient typing height is provided for 
a keyboard. Also included for equipment 
and books are two fixed shelves, one of 
which is adjustable. Available as options 
are additional shelves or rails for rack 
mounted equipment. The Microdesk is 
available for $96.50, FOB Wichita, from 
Computer Systems Design, 1611 E 
Central, Wichita KS 67214, (316) 
265-1120." 

Circle 527 on inquiry card. 



This adapter converts digital panel 
meter outputs in binary coded decimal 
(BCD) to Teletype inputs, for hard copy 
and paper tape records of panel readings. 
The Model DPT-415 has a present 
format that enables printing of up to 
five digits, a sign and an additional 
character. It generates spaces, carriage 
returns and line feeds. The DPT-415 
is complete and runs on a 5 V power 
supply. The driving circuitry for the 
20 mA Teletype connection is included 
on the 6.5 by 4.5 inch (16.5 by 1 1.4 cm) 
printed circuit board. The unit sells for 
$275, or $95 in quantities of 100, from 
Digital Laboratories, 600 Pleasant St, 
Watertown MA 02172, (617) 
924-1680." 

Circle 526 on inquiry card. 




This one-piece lens and panel mount 
for T VA light emitting diodes, called 
Cliplite, snaps securely into a 14 inch 
hole and requires no tools to assemble. 
A point source LED used with the 
Cliplite produces a display five times 
brighter than a diffused LED without 
any loss in viewing angle. Five colors: 
red, green, amber, yellow and clear 
allow the Cliplite to enhance and pro- 
vide uniformity of color output from 
LED to LED. The units are priced at 
$.10 in 10,000 quantities. A free sample 
and data sheet can be requested on a 
company letterhead from Visual Com- 
munications Company, POB 986, El 
SegundoCA 90245, (213) 822-4727." 

Circle 528 on inquiry card. 



If It's a Long Way from Your Terminal 
to Your Computer. . . 




A new line of RS232C EIA data 
cables is available in lengths up to 250 
feet and longer. The cables feature low 
capacitance (12 to 14 pF per foot), 
twisted wires to reduce crosstalk and. 
shielding to protect against electrostatic 
noise. The cable sells for $18.50 for two 
RS232C end connectors plus $.75 per 
foot, from Data Set Cable Company, 
7 Danbury Rd, POB 622, Ridgefield 
CT 06877, (203) 438-9023." 

Circle 529 on inquiry card. 



198 



BYTE December 1977 



Circle 9 on inquiry card. 



All Prime Quality — New Parts Only 

Lowest Prices — Satisfaction Guaranteed 



EDGE CARD CONNECTORS: 25 PIN SUBMINIATURE CONNECTORS: 

Bifurcated Contacts. Not tin. Gold over nickel. 50/100 Pin (.100, Gold Plated Contacts. 
1 .25, + .1 56 Pin spacing). Double Read out. 

DB25P Plug $2.90 ea 5 pes $2.75 

50/100 Altair Type -Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB25S Socket $3.90 ea 5 pes $3.75 

507100 Imsai Type - Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB5121 2-1 Hood (grey) $1 .00 ea 5 pes $.95 

50/100 Imsai Type with Guides $4.50 ea 5 pes $4.25 ea DB51 226-1 A Hood (black) $1.00ea 5 pes $.95 

Imsai Guides only $ .30/pr 5 pr $ .25/pr 

SAVE: 

All other contacts available: Solder Eyelet, Wire Wrap, etc. All gold. Buy a complete set: 
Many other types available: 10/20, 15/30, 18/36, etc. 1 Plug, 1 Socket, 1 Hood (any) $7.00/set 
When ordering: specify type of contact. 5 sets $6.50/set 


ea 
ea 
ea 
ea 




2708 1KX8 PROM 450 NS 

$18.00 ea 

5 pes or more $1 7.00 ea 




8080A- PRIME 

$13.00 ea 
5 pes $12.00 ea 




Write for larger quantity discounts. 
Dealers welcome. 


















Minimum order $10.00: Add $1.00 for shipping and handling. 
Orders over $25.00: We pay the shipping: Calif, residents add 6% tax. 
No COD's: For immediate shipment send money order or cashier's check. 


When ordering: 

State method of shipment: 

Mail or UPS. 



ORDER FROM: 



Beckian Enterprises 

P.O. Box 3089 Simi, Calif. 93063 



ESAT-100 

Economical Stand Alone Terminal 

Assembled, Tested, Burned-ln S239.00 



For Teletype. SCMP. Jolt. Kim SBC 80 User; A reliable, inex- 
pensive, self contained Communicating Terminal, completely 
assembled, burned in, ami tested S239.00 

SPECS 32 character x 16 lines * 2 pages of 5 * 7 dot main* 64 
character ASCII communicating with a serial, asynchronous 11 
unit code. TTL compatible from 300 to 9600 baud. Keyboard 
Controls are back and Forward space, line leed, cleai page, or to 
end of line, select page 1 or 2. fullAialf duplex, local/remote, 
cursor on/off. odd /even /no parity. Output to TV rVonitor is 
Composite Video, 75 Ohms. Keyboard required is parallel out 
put 7 unit ASCII with negative true strobes Keyboard may tap 
up to 200 Mo. from the ESAT 100 onboard 5V power supply. 
Power required il 11QVAC (™ 7 watts 

COMMENTARY At this writing (10 1 77), the ESAT-100 is the 
only Stand Alone Terminal board requiring only black and 
white TV sei and ASCII Keyboard You do not have lo have 
a S100 Bus Machine. O' even a computer May be used in con 
[unction wth a Modem and your home TV set to provide a lime 
share type terminal at any Baud rate you desire. 

Note, commercial terminals use an 80 character x 24 line lor 
mat However, we have chosen 32 character * 16 hues for tele 
vision set applications because of the limned resolution available 
on mosl TV sets. 

Nonetheless, for those of you who are the owners of either 
high quality video monitors, or the best of Japan's TVteceiveis. 
we offer the 

Scrollboard Adapter Kit (designed to fit on ESAT 100) with 64 
characters x 16 lines and Automatic Scrolling for S29.95 
M & R Super mod Ft F Modulator for antenna connecHon with 
your TV set Runs o'f of ESAT 100 power supply color and 
black& wh.te for S24 95 



itllf! 

Sfiiii 

ill Hi 
6! Mi* 



CAP. SPECIAL: 

The Highest Quality. 

By pass anywhere; 

VK06 0.1/100V for S0.29 



LINEAR 

LM380N 1.39 

LM340T 5,12,15 
.99 



NE560 

NE561 

NE565 

NE566 

NE567 

LM1812 

LM18S9 



Full Color TV Game Kit: 

Includes MM57100 Game Chip, MM53104 Clock Gen.. LM1889N Color 
Modulator, 3.58 MHz color burst oscillator crystal, variable cap for crystal 
adj. and PC board. Very impressive on color sets. All data sheets and 
schematics included. ..$25. 95 

Direct Reading Capacitance Meter Kit: 

Here is a handy shop item incorporating a reliable and accurate mea 
surement method which works from 01 pico i d to 10 micro + d. Includes 
large 6" scale analog meter movement, all electronic parts and full docu 
mentation and theory of operation. Requires 5V and + -12V power. Makes 
accurate readings directly and instantly! No tuning, fiddling or interpola 
tion required. Full documentation and theory. ..$39. 95 

5V Regulated Power Supply Kit: 

Provides regulated 5V £*> approx. 250 ma for benchwork, breadboards and 
small projects. Includes LM340T-5 regulator, rectifiers, filter caps, and 
wall-plug transformer. Full notes.. .56. 95 

Nicad Batteries and Charger: 

2 ea 2AH 'C' size Nicads (great for memor 
titer flashlights, etc. and charger. ..SI 3.95 



2.95 
2.95 
1.95 
1.49 
1.49 
4.95 
4.95 



VERBATIM Removable Magnetic Storage Media 
PRICE REDUCTION! 
Minidiskettes 1-9 10-25 26-100 

4.79 4.65 4.45 



CPU SPECIALS 

8080A 10.95 

280 (2mHz) incl. 
18mHz Xtal 33.95 
Z80A (4mHz) incl. 
36mHz Xtal 39.95 

OPTOCOUPLERS 

4N26 1 00 

PROMS 

8223 Special 10/9.95 

82S1158 x 512 15.95 

EPROMS 



MD525-01 
MD525-10 
MD525-16 

Standard Size 

Diskettes 

FD34-1000 

FD32-1000 

FD65-1000 

Cassettes 

R-300 

Digital Direct 

RAMS 



(Soft Sector) for: Intelligent Systems, 

Magnovox, Microkit, and Vector Graphics 

(10 Sector, Hard) for: Digi-log, North Star, 

Polymorphic, Tei Inc., and Wang 

(16 Sector, Hard) for: Altair, Comtek, 

Micropolis, R2E, Realistic Controls, 

and Teleray- Research Inc. 

1-9 10-25 26-! 00 

5.99 5.33 4.79 

(Soft Sector, IBM Std.) 

(Hard Sector, Inner dia.) 

(Hard Sector, Outer dia.) 



1-9 



5.25 



10-25 



4.99 



26-100 



4.35 



2708 650nS 
2708 450nS 
C1702A 1000nS 
MM5203Q 
MM5204Q 



12.95 

16.95 

4.95 

4.95 

9.95 



21 L02 1 
21 L.02 
21 11 AL-4 
C3107B 
PD41 1D-4 



450nS 
250nS 
450nS 
60nS 
135nS 



1.25 

1.50 
2.30 
1.99 
3.99 



and OTHERS 

AY5-1013 4.95 



8K Static Memory Boards 

Tested, Burned-ln, Complete 
S1 79.00 for 450nS 
$239.00 for 250nS 
S 19.00 for Bare Board 



4£K£S ctf^bTW fr 



MM5369 
MM5320 
2513 Up. 
2513 Lo. 
IN4005 
IN4148 



Electrolabs 

POB6721, 
Stanford, CA94305 

415-321-5601 



1.69 

6.00 

5.95 

6.95 

11/1.00 

15/1.00 



SATISFACTION 
100% GUARANTEED! 



y power-fail CKTS, cold wea 



TO ORDER: 

Send check or money order and include $1.00 for shipping, 1.00 (op 
tional) for insurance, and please include GYi% sales tax if you are a 
California state resident. COD orders add .85 Thank you. 



Circle 48 on inquiry card. 



BYTE December 1977 



199 



What's New? 



Give a Jewel 



In Isolation, RS232 and 20 mA 
Get Along 




This adapter provides both RS232 
to 20 mA current loop and 20 mA to 
RS232 conversion, implemented with 
optoisolators. It can be used to inter- 
face a terminal of one type to a com- 
puter of the other type for both input 
and output, or it can be paralleled to 
provide secondary output on a Teletype 
or RS232 printer while still using the 
computer's primary terminal. The adap- 
ter comes assembled and tested with 
user instructions. It is built on a 3 by 3.5 
by 1 inch (7.6 by 8.9 by 2.5 cm) printed 
circuit board, with drilled, plated- 
through solder pads for all connections 
priced at $24.50, or with barrier strips 
and screw terminals (pictured) for 
$29.50. Contact Connecticut Micro- 
computer, Pocono Rd, Brookfield CT 
06804." 



This Wire Wrapping Kit is OK 




Hobbyists and prototype engineers 
can get started with wire wrapping using 
this new kit. The kit features a combina- 
tion tool for wrapping, stripping and 
unwrapping, a 50 (15.2 meters) foot roll 
of wire, two 14 pin and two 16 pin DIP 
wire wrap sockets, and a 4 by 4.5 inch 
(10.2 by 11.4 cm) prototyping board 
with a 44 pin edge connector using 
standard .156 (0.4 cm) inch spacing. The 
Model WK-3B kit is available for $15.95 
from your local electronics outlet or 
directly from O K Machine and Tool 
Corporation 3455 Conner St, Bronx NY 
10475, (212) 994-6600." 




At last, integrated circuit technology 
has found an imaginative use in jewelry. 
The Star Jewel pendant has a red light 
emitting diode in a mirrored multi- 
faceted lucite setting. An integrated 
circuit, powered by two inexpensive 
hearing aid batteries, blinks the LED 
about three times a second. One set 
of batteries will run the circuit for 
about 300 hours, which should be 
enough for two to three months of 
use, depending on how vigorous your 
night life is. Star Jewels are available 
with red, green, blue, silver and smoke 
colored gems and come complete with 
pendant chain, batteries and a velveteen 
pouch. The price of $31.25 includes 
postage and insurance, and the elec- 
tronics and wokmanship are guaranteed 
for one year. A catalog of hand crafted 
jewelry, ray guns, and science fiction 
and computer art is also available for 
$.25 (free with a Star Jewel order) from 
ATRA, POB 456, Minneapolis MN 
55440." 



Circle 530 on inquiry card. 



Circle 532 on inquiry card. 



Circle 533 on inquiry card. 



Improvements in Solderless 
Breadboarding 

New versions of A P Products' 
Unicards provide five tie points rather 
than four in each row of terminals, 
making them ideal for breadboarding 24 
and 40 pin LSI integrated circuits. The 
Unicards provide solderless, plug-in tie 
points in a .1 by .1 inch matrix. They 
have a standard .156 inch center spacing 
22 pin double sided edge connector and 
plug into standard 5.25 inch card racks. 
Extender cards are also available. 
Additional features include rubber feet 
for bench work and extractor handles 
for easy withdrawal from card racks. 
Unicard I, priced at $31.50, has 960 tie 
points, while Unicard II has 1620 tie 
points. The cards are available from 
A P Products, 72 Corwin Dr, Box 110, 
Painesville OH 44077, (216) 354-2101." 





Circle 531 on inquiry card. 



200 



BYTE December 1977 



Digital Research Corporation 



16K E-PROM CARD 

S-1001 1 MSA 1/ALTAIR) BUSS COMPATIBLE 




DEALER INQUIRES INVITED 
SPECIAL OFFER: Our 2708's (650 NS) are $12.95 when purchased with above kit. 



$69.95 (kit) 

IMAGINE HAVING 16K 

OF SOFTWARE ON LINE AT ALL TIME! 

KIT FEATURES: 

1. Double sided PC Board with solder mask and silk screen and 
Gold plated contact Fingers. 

2. Selectable wait states. f USES 

3. All address lines and data lines buffered! 

4. All sockets included. 

5. On card regulators. 
KIT INCLUDES ALL PARTS AND SOCKETS! (EXCEPT 2708's) 

ADD $25 FOR 
ASSEMBLED AND TESTED 




FULLY STATIC! $149.00 KIT 

KIT FEATURES: 

1. Double sided PC Board with solder mask and silk screen layout. 
Gold plated contact fingers. 

2. All sockets included! S-100 (1MSAI/ALTAIR) 

3. Fully buffered on all address and data lines. BUSS COMPATIBLE 

4. Phantom is jumper selectable to pin 67. 

5. FOUR 7805 regulators are provided on card. 

¥ * 



8K LOW POWER RAM KIT! 




PRICE WAR! 

For a limited time only: 
Buy two 8K Kits for $129 ea. 



Fully Assembled and Burned In — 
Blank PC Board With Documentation — 
TAKE THAT BILL GODBOUT! 



USES 
21L02-1 
RAM'S. 



$179.00 

29.95 



COMPUTER GRADE CAP. 

48,000 MFD 25 WVDC Mallory 
$3.95 NEW! 



TR1602B UART 
$4.50 



8 POSITION DIP SWITCH 

By Cts. Fits 16 Pin Socket. 
$1.95 



RCA HOUSE #2N3772 

NPN Power Transistor. 30 AMP. 

150 W. VCEO-60. TOO. Vastly out 

performs 2N3055. Reg. List $3.04 

2 FOR $1 



T. I. ASCII CHARACTER GENERATOR 

TMS 4103 JC. 28 PIN CER DIP. Has 

seven bit COLUMN Output for use with 

Matrix hard copy devices. With specs. 

$3.50 



Tt$W- 4K STATIC RAM'S ^W; 

2114. The industry standard. 18 PIN DIP. Arranged as IK X 4. Equivalent to 
FOUR 21L02's in ONE package! TWO chips give IK X 8. with data. 



2 FOR $24 



450N.S.! 



MOTOROLA 7805R 
VOLTAGE REGULATOR 

Same as standard 7805 except 750 MA 

OUTPUT. TO-220. 5VDC OUTPUT. 

$ .44 each 10 FOR $3.95 



NATIONAL SEMI. MA1003 CAR CLOCK 

Not a kit. Complete tested module. 
Works on 12 VDC, has on board time 
base. Sold by others at $24.95. Big .30" 
Bright Green Digits. Same as used by 
Detroit in new cards. 




$19.95 



EDGE CONNECTOR — $1.50 



Z - 80 PROGRAMMING MANUAL 

By MOSTEK. the major Z - 80 second source. The most detailed explanation 
ever on the workings 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! A D.R.C. exclusive! £| 2.95 



2708 EPROMS 27 °8 

Prime new units from a major U.S. mfg. 
650 N.S. access time. Equivalent to four 
1702A's in one package! 
$15.75 each 



TERMS: ORDERS UNDER $15 ADD $ .75. NO C.O.D. WE ACCEPT VISA, MASTER CHARGE AND AMERICAN 
EXPRESS CARDS. MONEY BACK GUARANTEE ON ALL ITEMS. TEXAS RESIDENTS ADD 5% SALES TAX. 



Digital Research Corporation 

P. O. BOX 401247 • GARLAND, TEXAS 75040 • (214) 271-2461 



(FORMERLY DRC) NOT AFFILIATED WITH 
ANY OTHER MAIL ORDER COMPANY. 

WE PAY POSTAGE! 



Circle 42 on inquiry card. 



BYTE December 1977 



201 



Hobby Computer Kits • • • 



1 



1 MODEM 



Part no. 109 



Type 103 

Full of half duplex 

Works up to 300 baud 

Originate of Answer 

No coils, only low cost components 

TTL input and output 

Connect 8 ohm speaker and crystal mic. directly to board 

Uses XR FSK demodulator 

Requires +5 volts 

Board only $7.60, with parts $27.50 



2 RS-232/TTL INTERFACE Part no. 232 

Converts TTL to RS-232, and converts RS-232 to TTL 

Two separate circuits 

Requires +5 and ~12 volts 

All connections go to a 10 pin gold plated edge connector 

Board only $4.50, with parts $6.00 












3 TAPE INTERFACE Part no. 1 1 1 

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 

Output of board connects to mic. input of recorder 

Earphone of recorder connects to input on board 

Requires +5 volts, low power drain 

No coils 

Board only $7.60, with parts $27.50 



4 TELEVISION TYPEWRITER 



Part no. 106 



Stand alone TVT 

32 char/line, 16 lines, modifications for 64 char/line included 

Parallel ASCII (TTL) input 

Video output 

1K on board memory 

Output for 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 30mA 

Board only $39.00, with parts $145.00 



5 UART and 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 



6 RF MODULATOR Part no. 107 
Converts video to AM modulated RF, Channels 2 or 3 
Power required is 12 volts AC C. T., or +5 volts DC 
Board only $4.50, with parts $13.50 



4K/8K STATIC RAM Part no. 300 

8K Altair bus memory 

Uses 2102 Static memory chips 

2-4K Blocks 

Blocks can be addressed to any of 16 4K sections 

Vector input option 

TRI state buffered 

Board only $22.50, with parts $160.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 
recoder at 625 baud rate, and direct connections for inputs 
and outputs to a digital recorder at any baud rate 

S- 100 buss compatible 

Comes assembled and tested for $160.00 



APPLE 1 MOTHER BOARD Part no. 1 02 

10 slots ~44 pin (. 156) connectors spaced % inch apart 

Connects to edge connector of computer 

Pin 20 and 22 connects to X & Z for power and ground 

Board has provisions for by -pass capacitors 

Board costs $15.00 



D. C. POWER SUPPLY Part no. 6085 

Board supplies a regulated +5 volts at 3 amps., +12,-12, and ~5 

volts at 1 amp 
Board has filters, rectifiers, and regulators 
Power required is 8 volts AC at 3 amps., and 24 volts AC C. T. 

at 1. Samps 
Board only $12.50 



TO ORDER 

Mention part number and description. For parts kits add "A" to 
part number. Shipping paid for orders accompanied by check, 
money order, or Master Charge, BankAmericard, or VISA 
number and signature. Shipping charges added to C.O.D. orders, 
Calif, res. add 6.5% for tax. Parts kits include sockets for all ICs, 
components, and circuit board. Documentation is included with 
all products. Dealer inquiries invited. 

ELECTRONIC SYSTEMS 

P.O. Box 212, Burlingame, CA 94010 
(408) 374-5984 



202 



BYTE December 1977 



Circle 50 on inquiry card. 



APPLE II I/O BOARD KIT 

Plugs Into Slot of Apple II Mother Board 



FEATURES: 

18 Bit Parallel Output Port 
(Expandable to 3 Ports) 

1 Input Port 

15mA Output Current Sink 
or Source 

TTL or CMOS Compatible 

Addressable anywhere in mem- 
ory output area 

Can be used for peripheral 
equipment such as printers, 
floppy discs, cassettes, paper 
tapes, etc. 



KIT INCLUDES: 

P.C. Board, I.C.'s Sockets and 

Assembly Manual. 

PRICE: 

1 Input and 1 Output Port 

for $49.00 

1 Input and 3 Output Ports 

for $64.00 

DEALER INQUIRIES INVITED 



UNGAR SOLDERING IRONS 



27W SOLDERING 
IRON KIT 

Includes iron, 2 tips, 

roll of solder and 

iron stand 

$6.72 



DESOLDERING KIT 

Includes iron and 3 

desolder tips for dual 

in lines, cams, etc. 

$24.70 



10W 

ASSEMBLED 

SOLDERING 

IRON 

$14.97 




LD-130 

3 DIGITS 

A/D CONVERTER 

$11.95 



PUSH BUTTON 

SWITCH 

Red 

or Green 

3 for $1.00 ii 




A FULLY PROGRAMMABLE 
SLIDE RULE 

the MATHEMATICIAN with 100 STEPS 



• RPN logic with built-in' hier- 
archy lor increased speed and 
accuracy in calculating se- 
quences involving arithmetic 
trigonometric, logarithmic, pow- 
er or exponential functions 

• A three-level stack plusseper- 
ate accumulating memory for 
quick, accurate solutions to com- 
plex calculations ■ Eight-digit 
LED display with full-floating 
decimal system • Common and 
natural logarithms and antilog- 
anthms ■ Sine, cosine, tangent 
and inverse trigonometric func- 
tions • Instant automatic cal- 
culation of powers and roots 

• Instant conversions of radians 
to degrees or vice versa • 
Square, square root, and reci- 
procal calculalions • Pi. change 
sign, and register exchange 
keys • Automatic reciprocals 

• Ability to automatically sum 
squares * Storage memory « 

Roll-down clear • MOS/LSI 
solid-state circuitry. • Engineer- 
ed and manufactured by Nation- 
al Semiconductor Corp., a world 
leader in solid-state technology 




• Simplified programming You 
simply engage a learn switch 
and perform a problem in normal 
manner The 4615 records the 
formula and lets you debug the 
program as it's written • The 
learn-mode capacity total 100 
separate steps « Several differ- 
ent programs can be contained 
at the same time ■ Constant 
factors can be entered as pro- 
gram steps. • Delete feature 
lets you correct programs while 
you are writing them • Skip key 
permitsskippingoverentire pro- 
grams to access additional pro- 
grams within 100-step capacity 

• Programs remain intact until 
new programs are written over 
or until your 461 5 is turned off 

• You have total freedom to 
select keyboard entries as vari- 
ables or constants • Automatic 
warning signal in display lets you 
know when you exceed pro- 
gramming capacity • The4615 
is rechargeable and comes com- 
plete with nickel cadmium bat- 
teries. 



10 DAY MONEY BACK GUARANTEE 



4615 @ 29.95_ 

AC charger @ 4.95 _ 

. Carrying case <8> 2.95_ 
Calc. stand <3 1.95. 



3RD GENERATION ONLY $63.00 

ASCII KEYBOARD KIT 




FURTHER IMPROVEMENTS, MORE FEATURES 

• TTL Logic Circuits OPTIONS: 

• Power: +5V, 275mA • Metal Enclosure (Paint- 
,, ' „ ed IBM Blue and White 

• Upper and Lower Case 525 00 

• Full ASCII Set (Alpha . rcD„i;j M r„n «-> nn 
Numeric, Symbols, ' « Pin Edge Con. S2.00 

Control) • I.C. Sockets . . . $4.00 

• 7 ot 8 Bits Parallel Data • Serial Output (Shift 

• Optional Serial Output Register) $2.00 

• Selectable Positive or • Upper Case Lock 
Negative Strobe, and Switch (for Capital 
Strobe Pulse Width Letters and Numbers) 

• 'N' Key Roll-Over $2 °" 

. Full Debounced P NUMBERS: Key- 

„ . „■. „ board, P.C. Board, all re- 

• Cama 8 e Return Ke y quired components and as- 

• Repeat Function Key sembly manual. 

. Shift Lock, 2 Shift Keys N0TE . , f you haye this 

• 4 User Defineable Keys 53 Key Teletype Key- 

• P.C. Board Size: board you can buy the 
17-3/16" x S" Kit without it for $44.95. 

"CHRISTMAS SPECIAL- 
lsi DMM KIT Reg. $77.77 ^tf* ,, 



concord cw eoo 




* 




. AUTO RANGING . AUTO POLARITY 

• AUTO ZERO . 3 LARGE DIGITS ( 1 / 2 ") 

. RECHARGABLE 

MEASUREMENT RANGES: Voltage (AC-DC) 1MV-100V; Cur- 
rent (AC-DC) 10juA-1A; RESISTANCE: UM0M12. Basic DC 
accuracy, better than 0.1% > 1 digit. POWER: 4 AA batteries 
(rechargable batteries optional). 

• NI-CAD BATTERIES: $6 • AC CHARGER: S4.95 
• ENCLOSURE: $12.95 • TEST LEADS: S2.95 
• SHUNT KIT FOR 3 CURRENT RANGES: $4.75 



KEYBOARD. DMM and CALCULATOR: S3. 50. 

ALL OTHERS - SI. 00. 

Ca lifornia residents add 6% sales tax 

ELECTRONICS WAREHOUSE Inc. 

1603 AVIATION BLVD. 

REDONDO BEACH, CA. 90278 

TEL. (213)376-8005 

WRITE FOR FREE CATALOG 

You are invited to visit our store at the above address 



Circle 51 on inquiry card. 



BYTE December 1977 



203 



What's New? 



CALCULATORS 



Everyone Should Learn Programming, 
Tl Calculates 




Photo I: Tl's DataMan offers arithmetic practice 
problems and math strategy games for the 
youngster. It includes a "beat the clock" timer 
feature and a "whiz-bang" display for correct 
answers. 

Circle 555 on inquiry card. 




Photo 2: The Tl 58, shown mounted on the 
PC-IOOA printing cradle with alphabetic printing 
capability. 

Circle 556 on inquiry card. 




In a move calculated to encourage 
interest in programming and compu- 
tational problem solving, Texas Instru- 
ments introduced a number of new 
general purpose and specialty calculators 
recently. In a press announcement, Tl 
noted that nearly 400,000 people 
purchased programmable calculators 
in 1976, and estimated that over 3 
million people a year would be buying 
programmables by 1979. Included 
among Tl's new products are calculators 
with "Solid State Software" program 
libraries, new tutorial books on pro- 
gramming, and a new teaching device 
for the kiddies. 

At the top of the new line are the Tl 
Programmables 57, 58 and 59. The 
Programmable 57 ($79.95), which 
evidently supersedes the SR-56, includes 
a 150 keystroke program memory, 
insert and delete keys for editing pro- 
grams, and ten labels for "relocatable" 
program branching. The 57 comes with 
a new learning guide, Making Tracks 
Into Programming, which replaces the 
usual owner's manual. 

The Programmable 58 ($124.95) and 
59 ($299.95) feature larger program and 
data memories, and plug-in Solid State 
Software read only memory modules 
containing up to 5000 program steps 
each. The ROM libraries range from 
applied statistics and surveying to real 
estate, investment, aviation and marine 
navigation programs. 

Internal memory on the 58 and 59 
can be allocated either to program steps 
or to data registers. The unit of allo- 
cation is ten data registers or 80 program 
steps. The Tl 58 has up to 480 program 




Photo 3: The ultra compact DataClip calculator 
will run for WOO hours on one set of batteries. 

Circle 557 on inquiry card. 



Photo 4: The Tl 59 features Solid State 
Software plug-in program library 
modules of up to 5000 program steps, 
as well as a magnetic card reader and 
internal memory for 960 program steps. 

Circle 558 on inquiry card. 




Photo 5: The new Tl 57 programmable 
calculator can store up to 150 key- 
strokes. 

Circle 559 on inquiry card. 

steps or up to 60 data registers, while 
the Tl 59 has up to 960 program steps 
or 100 data registers. (When all 100 
memory registers are in use on the Tl 
59, 160 program steps are still available.) 
The Tl 59 also has a magnetic card 
facility. Using two cards, up to 960 
program steps can be recorded and 
reloaded in this way. 

Additional features of the Tl 58 
and 59 are up to ten registers for 
looping, incrementing and decrementing, 
up to ten flags which can be set, reset 
or tested, and up to six levels of sub- 
routine calls. Program steps may be 
addressed in absolute, indirect and 
label modes, while data registers may be 
addressed directly or indirectly. 

A related new product is the 
PC-100A printing cradle, which can be 
used with any Tl programmable cal- 
culator except the Programmable 57. 
This printer has 64 alphabetic, numeric 
and special characters which can be 
printed at the rate of 60 characters 
per second. Up to 20 characters can be 
printed per line on 2.5 inch (6.4 cm) 
wide thermal paper. The PC-100A can 
also be used to print, list or trace pro- 
gram steps as an aid to debugging. It is 
priced at $199.95. 

Another element in Tl's consumer 
education program is a new book, 
Calculating Better Decisions. Priced 
at $4.95, the book is offered in a 
package with the SR-51-11 calculator 
for $69.95. The book concentrates 
on use of the SR-51-11 's advanced 
statistical functions in psychology 
and the social sciences and in business 
finance. 

One strategy in Tl's plan to place 
several calculators in every home is to 
design specialty calculators for specific 
types of consumers or consumer uses. 
A good example of this strategy is the 
new MBA calculator, aimed at the 



Continued on page 206 



204 BYTE December 1977 









■4 






A 
A 




ES NOT INCLUDED 



ELECTRONIC TOUCH ORGAN KIT 

Fantastic new design uses CMOS I.e. and a to- 
tal of 39 semi-conductors to give a touch con- 
trol keyboard, all the electronic parts in one PC 
Board. This organ is easy to build, yet has fea- 
tures like a full two-octave range touch key- 
board, variable tremolo; two voices; built-in I.C. 
amplifier with volume control, complete with 
speaker and a specially designed plexi-glass 
case. 
*ldeal kit for beginner or gift for children $24*50 GO* 




30MHZ FREQUENCY COUNTER KIT 



Model 250-30A 



Take advantage of this new state-of-lhe-art counter featuring the many benefits of custom 
LSI circuitry. This new technology approach to instrumentation yields enhanced perfor- 
mance, smaller physical size, drastically reduced power consumption (portable battery 
operation is now practical), dependability, easy assembly and revolutionary lower pricing! 

M* 0.5" red LED 6 digits display 
SO * Resolution: 1 Hz at 1 sec. 10 Hz at 1/10 sec. 

w • Sensitivity: 10 Mv RMS to 30 Hz 

* Internal power supply: 5.2V at 1 amp regulated 

* Input corinector: BNC type 

* Input power required: 117V AC 50/60 Hz 

* Diode protected for over voltage input 



Includes all parts, 
PC Board and Transformer 



CALCULATOR 

with STOPWATCH 

6 Functions with % and memory 

8 Digits big green display 

•Built-in X'tal controlled stop 

watch count to 1/10 of a second. 

Special Price Only 

$16.50 Ea. 

BATTERIES NOT INCLUDED 





lWoll AUDIO AMP 

All parts are pre assembled 

on a mini PC Board 

Supply Voltage 6 — 9V D.C. 

SPECIAL PR ICE $1 .95 ea. 



2W+ 2W STEREO AMP 




^ 1 1 parts completed on a PC Boar 

2 LM380 I.C, volume, 

bass, treble control included 

Supply voltage: 9 15V D.C. 

Sensitivity: 100Mv 



c distort 



1* 



J 1 KH: 



ONLY $5.75 ea. 




5W AUDIO AMP KIT 



2 LM 380 with Volume Con 
Power Supply 6 — 1 8V DC 

only * S.OO«o. 




-10 ELECTH 



TIMER KIT 

Time Controlled from 1-100sec. 

Ideal to be used as time delay 
unit for burglar alarm, photo 
service, and other purposes. 
Max. loading 110V, 2 AMP. 
Supply voltage 12-18V D.C. 

: timer $11.50 each 



ELECTRONIC ALARM SIREN 



AU — 399 



COMPLETE UNIT 

Ideal for use as an Alarm Unii 
or hookup to your car back -ui 

t to make a reverse indicator 

Light Output up to 130 dB. 

Voltage Supply 6~-12V 



$7.50 




19 KEY HEXADECIMAL 
KEY PAD 

• 1 —0 • Homekey 

• ABCDEF *<-->Key 

SPECIAL $10.50 ea. 



Low Cost Hexadecimal 16 Key Pad 

Designed for Calculator 

Can be used for Computer 

Data Entry Pad or Digital Lock 

All key tops Dlank with super 

good touch feeling $0.95 ea. 



* 



DIGITAL ELECTRONIC LOCK KIT 






able 



$6.50 ea. ««'.i>» 

CMOS i.c. 4D '9'» 

IN CIBCU1T A " vC "" 

400ft RELAY AND KEY PAD NOT INCLUDED 




POWER SUPPLY KIT 

0-30V D.C. REGULATED 
Uses UA723 and ZN3055 Power 
TR output can be adjusted from 
0-30V, 2 AMP. Complete with PC 
board and all electronic parts. 

>-ao power supply $9.50 each 



MA1003, 12V DC CLOCK MODULE 



[JBBIBB H 



$19.50 



Built in X'TAL controlled 
time base. Protected against 
automotive volt transients. 
Automatic brightness con- 
trol with 0.3" green color 
display. Display turnoff 
with ignition "OFF". 



MECHANICAL DIGITAL CLOCK 



WITH DAY AND 
DATE OF THE WEEK 



Supply Voltage 1 10V AC. limited quantity $15.50 ea. 




QUARTZ CRYSTALS 



1 MHZ 


$4.95 


2 MHZ 


$5.25 


4 MHZ 


$5.25 


10 MHZ 


$5.25 


3.579 MHZ 


$1.25 


Color TV Type 






ELECTRONIC 
SWITCH KIT 

CONDENSER TYPE 

Touch on Touch OH 
use 7473 I C. 
and 12V relay 
$5.50 oacii 




VHF MODULATOR 

For TV Gime or Crjmpu 

This unit convans ihe Video 

Signal 10 RF Signal 

'ideo Input IVDC RF Outpm 1 .£ 

61.25 MHZ Icnannel3l 

Fr<j. Adjuiwble *3 MHZ 

ONLY $4.50 

Tl 1955 

Alternative AY38500-1 

6 Game 128 Pin Dip) 

TV Game Chip with Data 

Tennis Squash hockey. 

practice & 2 shooting. 

Special Only $6.50 



*#. 



PC Board for TV Gai 



RCA STEREO AM-FM 
MUX TUNER AMP 




5 Watt Per Channel RMS With 
8 Track Tape Player Built In 

Manufactured bv RCA, maker of 
Quality Systems. All Solid State 
Circuitry with Beautifully detailed 
panel. Limited Quantity. 
ONLY $53.50 ea. 



ON- SCRIM TV 
CLOCK KIT 

Same one as in July Radio 
Electronics. Kit includes PC 
Board, MM5318 and MM5841 
chip. All other electronic parts 
with transformer. 

ONLY $21.00 



BIPOLAR LEO 

Jumbo Size red/green change color 
when reverse polarity of voltage. 



Ideal for go/nogo indicator. 
Two for $1 .00 



-tt- 



.C. TEST CLIPS 



Same as the E-Z clips 
With 20" Long Leads 
n Black and Red Colors 

$2.75 per pair 



DIGITAL CASSETTE TAPE C-60 




COMPUTER RECORDING 

All these tapes made in U.S.A. 

by a top cassette tape Co. 

Never Recorded— Reg. $6.80 ea. 

3 packs/$5.00 

Can be used in Audio 

Recording as well. 



► 
► 
► 



4i&Biil 



SOUND ACTIVATED SWITCH 



Sub-Mini Size 

Condenser Microphone 

$2.50 each 

FET Transistor Built-in 



SIGMA 78REI, 12DC RELAY 

400/1 COIL SPDT 
$1.30 ea. or 10 for $10.00 
ALL BRAND NEW UNITS 




COMPUTER GRADE CAPACITORS 

5,600 MFD 60V S2.20 ea. 



10,000 MFD 50V 

1 1,500 MFD 75V 

34,800 MFD 50V 

39,000 MFD 12V 

100,000 MFD 6V 



£3.25 ea. 
$3.95 ea. 
$4.25 ea. 
S2.00 ea. 

$3.50 ea. 



TV Comes 




NATUMSi 

• 4 Games-Tennis, Hockey 
Racquet Handball and Sir 
gle Handball. 

• Auto counter display on 
the screen. 



BBS) 



CLOCK KIT 
MOST POPULAR 
MM5314 KIT 



WITH .\ N[ w CAS 
tUCIH l? 24 Houl 
60 HZ lllflul 6 D.qpls F 



► 
► 
► 
► 



Special Only S14.95 ea. 



WIRE 

WRAPPING 

TOOL 

$29.50 

Wire Wrapping 

In Bulk 
100' $2.00 

500' $8.50 




Sub Mini Size 
PANEL METER 

500 UA 
ONLY $1.20 ea 



^£>, 



MATCHED PAIR 

POWER TRANSISTORS 

MOTOROLA MJE2955 PNP 
MJE3055 NPN 



*=v 



TRANSFORMERS 

ALL 117 VOLT INPUT 



30V at 15 amp S30.00 ea. 

36V CT at 3 amp $ 4.50 ea, 

50V CTat 2 5amp $ 4.50 ea. 

48V CTat 2-Samp $ 4.50 ea. 

12Vor24V at 2 amp $ 3.90 ea. 

24V CTat 800MA S 1.80 ea. 

0.8V -12V at 400MA $ 1.80 ea. 

^*~ K AC POWER SUPPLY 

a^^™"^ Adapter Type Tramtormar 
^K^S? 12V AC Output 200 MA 
™ $2.76 each 

6V DC Output 130MA $1.90 ea. 
8.7VDC Output 130MA $1.90 m. 
12V DC Output 100MA $1.90 aa. 



150UA METER 



only 
$1.50 ea. 




50 UA PANEL METER 




Slza2'i" x 2'-" 



Only S3.80 ea. 



MINI-SIZED I.C. 
AM RADIO 

Si2e smaller than a box of matches! I 

Receives all AM stations 

Batteries and ear phone included 




► 
► 



^B^ TAr.r.i e cuuiTi 



TOGGLE SWITCH 

of submirn loggle switch 
amp 125V AC comacr 

19 10 99 
'MS 24H2P SPST 90 80 
MS 244 SPDT 1.00 90 

MS 245 DPDT 1 20 1.10 



A A 

■I s fiiliii 



SPDT On OH SI 30 u 
DPDT On O'l SI 50 e 
3PDT On Of* $1 J'J, e 



JOY STICK 

4 100K Volume ut 



only $5.50 . 



PUSH-BUTTON SWITCH 

'Ql N/Open Qontact 

1®2£ Color: Red, White, Slue, 
t^S^ 1 Green, Black. 4/$ 1.00 

V^A N/Ciose also 

^JB Available 50a ea. 

\£0 LARGE QTY AVAILABLE 



SOLID STATE ELECTRONIC BUZZER 



MINIMUM ORDER $10 00. Calilarr 

! 10% ooilBBe 'or out of state Overseas 

SEND CHECK OR MON 



12/77 



' ORDER TO 



|H FORMULA INTERNATIONAL INC. 



2603 CRENSHAW BOULEVARD • HAWTHORNE. CALIFORNIA 902b0 

Far more mlormanon pleaie call 12 131 679 5 162 

STORE HOURS 10 7 Monday Saturday 



BmAMETORO 



► 
► 



SUBMINIATURES TOCGLE 
SWITCHES 









► 
► 



Circle 53 on inquiry card. 



BYTE December 1977 



205 



What's New? 



CALCULATORS etc 



An Exotic Way to Tell Time 

For the man or woman who has 
everything, Hewlett-Packard now offers 
the most exotic wristwatch ever de- 
signed, the HP-01. Priced at a cool $650 
in stainless steel or $750 with a gold 
filled case, the HP-01 is an integrated 
timepiece and calculator. It has 28 keys 
(six finger operated, 22 stylus operated) 
and a light emitting diode (LED) display 
with 12 different display modes or 
indicators. 



The HP-01 displays the time of day 
in either 12 or 24 hour format, with an 
indicator to show PM time. The user 
can add or subtract time, with automatic 
date adjustment if the time change is 
across midnight. Time can also be con- 
verted to and from decimal hours. The 
device has two alarms, one which can be 
set for a specific time and one based on 
elapsed time as tracked by an internal 



Continued on page 208 




Continued from page 204 

hundreds of thousands of masters in 
business administration students and 
degree holders. The MBA ($79.95), 
like the Tl Business Analyst, has 
special keys to accomplish common 
business functions such as net present 
value, internal rate of return, trend 
line analysis, mean, variance and 
standard deviation, accumulated interest 
and remaining loan balance, and annuity 
calculations. But it also has a simplified 
programming feature, allowing storage 
of up to 32 program steps but no tests 
and branches, as well as 12 data 
memories. 

Another new product, the Tl 1680 
"Replay Calculator," is designed specifi- 
cally for applications such as checkbook 
reconciliation or "balancing the books" 
in an accounting system. The Tl 1680 
($29.95) allows the user to recall up 
to 20 previously entered numbers and 
arithmetic operations, and to change 
the previous entries to see what effect 
the change has on the calculated result. 

If the typical Tl calculator is too 
heavy or bulky for your pocket, Tl still 
has something for you. The new Data- 
Clip ($34.95) is about the size of a 
6 inch (15.2 cm) ruler, and no thicker 
than a pencil. It has five functions and 
an 8 digit liquid crystal (LCD) display, 
and will operate up to 1000 hours on a 
set of batteries. 

And finally, for the kiddies, there's 
DataMan! Tl evidently believes that 
youngsters should get started with 
calculators at an early age (so that 
they'll be ready for programming by 
age 12?). DataMan ($24.95), patterned 
after the highly successful "Little 
Professor" introduced a year ago, 
offers children practice with arithmetic 
problems and fun with math strategy 
games. Learning activities possible with 
the unit include the Answer Checker, 
Problem Storage, Math Tables and 
Missing Numbers, and games include 
Wipe Out and Force Out. A special 
"beat the clock" timing feature adds 
to the fun and challenge of the exer- 
cises and games. Correct answers are 
rewarded with "whiz-bang," a highly 




Photo 6: The new MBA calculator is 
aimed at business administration 
students. 

Circle 560 on inquiry card. 





Photo 7: This new book is available 
alone or packaged with the SR-51-11 
calculator. 

Circle 562 on inquiry card. 



Photo 8: The Tl 1680 replay calculator, 
which remembers the last 20 numbers 
and operations entered, is useful for 
checkbook balancing. 

Circle 561 on inquiry card. 

visual action packed display "on the 
order of modern stadium scoreboards." 
DataMan can be adjusted to present 
problems appropriate to the youngster's 
achievement level. It comes with a math 
activity book and helpful hints for 
parents. 

Clearly, Tl's calculators are moving 
in the direction of increasing diversity 
and sophistication. In fact, the Tl 59 
with the PC-100A printing cradle pro- 
bably qualifies as a personal computer, 
with limited alphabetic data handling, 
hard copy, and mass storage. But when 
will Tl introduce a product similar to 
the Commodore PET or the Radio Shack 
TRS-80, and what impact will it have 
on the marketplace? This is anyone's 
guess. In the meantime, you can find 
out about today's calculators by con- 
tacting Texas Instruments Inc, Inquiry 
Answering Service, POB 53 (attn: the 
product of your choice), Lubbock TX 
79408." 



206 



BYTE December 1977 



,•••• The 4th Annual •••• 

HOLIDAY SPECIAL 

8K ECOnoram II - 4 lor $475.00 ! 




Under $0.0018 per bit! Not only are 
we celebrating the holiday season... but we're answering a challenge from 
Billy Gage and Jim Tanner at DRC. There's been a bit of friendly rivalry 
lately over who can deliver the most for the least; we have always prided 
ourselves on being able to do just that, and with 32K of quality memory 
for $475.00, we think even DRC is going to have to agree with us. 

But price is by no means the only reason to buy a Godbout memory board: 
those who know memory appreciate the many options packed into a basic mem- 
ory board. Extras like a vector interrupt provision if you try to write 
into protected memory. Configuration as two independent 4K block s (b oth 
individually protectable). A selectable write strobe for either PWR or 
MWRITE. An all static design. The ability to handle DMA devices. Guar- 
anteed speed under 450 ns (witli on board wait state logic for use with 4 
MHz Z-80) and guaranteed current under 1.5A (1250 inA typ) . All inputs and 
outputs fully buffered; outputs are tri-state for use with bi-directional 
busses. And of course, sockets for all ICs, legended board with solder 
mask, low power Schottky support ICs, assembly instructions, a 1 year war- 
ranty on all parts... this isn't just another board, this is a board you can 
depend on. Prices apply to boards in kit form only. 



MOTHERBOARD 

10 Slots $90 18 Slots $124 





Active Terminator $29.50 

Plugs into any S-100 Motherboard whose buss lacks active terminations. 
Cleans up noise, crosstalk, overshoot, and other buss problems that can 
scramble data unpredictably. Kit form only. 



Includes all edge connectors, plus active terminations 
to minimize crosstalk, noise, overshoot, and ringing 
that may be present with unterminated busses. Excel- 
lent for stand alone system, or add to existing 
systems. Kit form only. 






vid ffi 



CAVE 

9raf£< _ 

■m 



COMING 
SOON 

ECONORAM VI 

12 K for $235 

The Heath 118 computer looks like 

a winner. ..and we'll be happy to supply 
you with 12K of nemory for $235, which 
happens to be what Heath charges for 
their 8K memory. All the same features 
as our popular 8K ECONORAM II tm kit (see 
above) , with all static design, buffer- 
ing, switched protect and phantom, and 
our 2 block configuration gives the a- 
bility to place 4K on 4K boundaries. 

As usual, you get a legended, solder 
masked board, sockets for all ICs, top 
performance, and a warranty on parts. 

Check out our memory if you want 
your H8 to get the most for the least. 



Personal to Frank Tinius : watch 
this space, it's happening! 

TERMS: Please allow up to 5°6 for ship- 
ping, more for supply f, VP2; excess re- 
funded. Prices good through end of mag- 
azine cover month. Californians add tax. 
CODs accepted with street address. For 
BankAmcricard®/VISA®/Mastercharge®orders 
($15 min) call 415-562-0636, 24 hours. 



modulator 
$7.50 

2 WATT STEREO AMP 




Assembled stereo 2W amp 
uses LM380S. With vol- 
ume, tone, balance con- 
trols. Use with 12V for 
portable amp or auto 
use. Only $10.00 



1.8432 MHz xtal 

HC 6 size with 

wire leads $5.95 



Raa@i?©@®aD55X5]G(M? ©as© 

This adjustable packaging system for 
S-100 buss microcomputers is compatible 
with Altair 8800 and IMSAI 8080 size cards. 
Outside, it is beautiful .. .with a dark blue 
textured vinyl finish and lines unmarred by 
external screws or fasteners . Inside , 
there is space for 21 cards total (on 0.75" 
centers) with .a fully adjustable interior 
card mounting system (card guides and hard- 
ware provided for 12 cards). The interior 
is instantly accessible, the rear and front 
panels are removable and recessed. 

And the clincher: our 10/11 slot mother- 
board fits perfectly inside this case. So 
if you want a classy home for your micro, 
look this over. ..it is the best we've seen. 
VP2 ASSEMBLED MICROCOMPUTER CASE $134.30 




Small System Power Supply 



Finally, a quality, cost-effective supply for small sys- 
tems. Gives you a full 4 Amps at 5 Volts, with crowbar 
overvoltage protection, along with half an Amp of +12 and 
half an Amp of -12... and an additional 10 mA supply, ad- 
justable over 5 to 10V for biasing required by some CPUs. 
Although intended to be used with computer systems, it's 
also a dandy little bench supply for digital experiments. 



$50 





BILL GODBOUT ELECTRONICS 
BOX 2355, OAKLAND AIRPORT, CA 94614 



SEVERAL GOOD REASONS KHY YOU SHOULD 
HAVE OUR FLYER: 1) CMOS 2) LINEARS 
3) MICROPROCESSORS 4) POWER SUPPLIES 
5) RESISTORS 6) CAPACITORS 7) DIS- 
PLAYS 8) SOCKETS 9) VECTOR PRODUCTS 
10) ENCLOSURES II) ALL THE OTHER 

THINGS WE CAN'T FIT INTO THIS SPACE. 



Circle 56 on inquiry card. 



BYTE December 1977 



207 



Continued from page 206 

timer. The alarms generate a 2.5 second 
beeping tone. 

A timer and stopwatch feature dis- 
plays elapsed time in hours, minutes 
and seconds or in minutes, seconds and 
hundredths of a second. Elapsed time 
readings can be taken and one reading 
can be stored in memory. In combin- 
ation with the calculator functions, this 
feature allows the user to perform 
dynamic calculations. For example, 
while the user is on the telephone, the 
HP-01 can be set to calculate how much 
the call is costing, updating the display 
every second. 

A 200 year calendar feature can 
display the date in US or European 
format, and can be used to find past or 
future dates given the current date and 
the number of days. The number of days 
between two dates, the day of the week 
and the day of the year for any date can 
also be determined. 

The calculator functions include add, 
subtract, multiply, divide, percentage, 
net amount, chain and repeat calcul- 
ations. Four digits of precision are pro- 
vided, with automatic conversion to and 
from scientific notation as needed. A 
memory key provides access to a 
memory register, and two more memory 
registers are used for intermediate 
results of calculations. 

In classic fashion, Hewlett-Packard 



engineers found innovative solutions to 
a number of difficult design problems 
in producing this device. The HP-01 
employs a hybrid assembly of six CMOS 
chips, drawing a total of 15 )LIW, one 
ten thousandth of the power required 
by the HP-35. The watch case had to be 
water resistant, yet still have a keyboard 
that perforated the front plate and an 
alarm signal that could penetrate the 
back. This was done by placing a thin 
rubber diaphragm backed by a conduc- 
tive layer under the keys. When a key 
is pressed, the rubber diaphragm pro- 
vides the springback, and the conductive 
layer makes a direct connection with a 
gold contact on the surface of the CMOS 
hybrid. This method has worked without 
failure in tests where the keys have been 
pressed over one million times. The 
alarm works by exciting the upper 
piezoelectric ceramic layer of a 2 layer 
plate. The vibrations in the ceramic 
layer resonate through the stainless 
steel second layer, which acts as a 
diaphragm. With the watch itself as a 
sounding board, the results are audible 
beeps. 

How long before we scarcely notice 
when our watch beeps and says, "It's 
four thirty. Don't forget to make that 
phone call before five."? In the 
meantime, the HP-01 is available from 
Hewlett-Packard Corporation, 1501 Page 
Mill Rd, Palo Alto CA 94304, (415) 
493-1501." 

Circle 563 on inquiry card. 



RCA's New COSMAC Manual 

A 28 page Instruction Manual for the 
RCA COSMAC Microterminal CDP 
18S021, MPM-212, describing the instal- 
lation and application of a hand held 
data terminal for microcomputer 
systems using the CDP1802 micro- 
processor, is now available from RCA 
Solid State. 

The Microterminal, which is the size 
and shape of a pocket calculator, 
provides .a means of controlling a 
COSMAC-based system and supplies 
hexadecimal IO capability. It is designed 
to interface directly with the COSMAC 
Evaluation Kit CDP18S020 support 
hardware, but it can be designed into 
user built systems to provide the same 
control, communications and debugging 
functions. 

The manual includes a description of 
the hardware and the software programs 
available in the read only memory sup- 
plied with the Microterminal, and also 
includes installation instructions and 
utility program listings. The operating 
modes of the Microterminal are 
described along with several examples of 
operating sequences. 

Copies of this new 8V2 by 11 inch 
Instruction Manual for the RCA 
COSMAC Microterminal CDP18S021, 
MPM-212 may be obtained for $2 each 
(US price) from RCA Solid State 
Division, POB 3200, Somerville N) 
08876. ■ 

Circle 565 on inquiry card. 



^g CLjbercDm boards 



MB-1 MK-8 Computer RAM, (not S-100), 4KX8, uses 2102 

type RAMs, PCBD only $22 

MB-3 1702A EROM Board, 4KX8, S-100, switchable ad- 
dress and wait cycles, kit less PROMS $65 

MB-4 Basic 4KX8 ram, uses 2102 type rams, may be ex- 
panded to 8KX8 with piggybacking, S-100 buss. PC 

board $30 

MB-6 Basic 8KX8 ram uses 2102 type rams, memory pro- 
tect in 256 to 8K switchable S-100 buss, PCBD $35 

MB-7 16KX8, Static RAM uses//P410 Protection, fully buf- 
fered. 

PCBD .... $30.00 KIT . . . .$525.00 

MB-8 2708 EROM board, S-100, 8KX8or 16KX8 kit without 

PROMS $85 

MB-9 4KX8 RAM/PROM Board uses 2112 RAMS or 

82S1 29 PROM kit without RAMs or PROMs $80 

IO-2 S- 1 00, 8 bit parallel l/Oport, %of board is for kludging. 
Kit $55 PCBD $30 

IO-4 Two serial I/O ports with full handshaking 20/60 ma 
current loop. Two parallel I/O ports. 

Kit $150 

VB-1 64X 16 video board, upper lower case Greek, com- 
posite and parallel video with software, S-100. 
Kit.... $150 / PCBD.... $30 

SP-1 Music synthesizer board. S-1 00, computer controller 
wave forms, 9 octaves, 1V rms V?% distortion, includes 

software kit $200 

Altair Compatible Mother Board, 11 x 11V2 x Vs". 

Board only . . . $45 With 15 connectors $105. 

Extender Board full size. Board only $9 

With connector $1 3.50 

Solid state music Cybercom boards are high quality glass 
board with gold finger contacts. All boards are check for 
shorts. Kits only have solder mask. 90 day guarantee on 
Cybercom kits. 

Non-electrical cosmetic rejected PCBD from Cybercom. 
IO-2 $21 MB-6.... $21 VB-1 000. ... $25 



Y/mc 



inc. 



WAMECO INC. 



MEM-1 8KX8 fully buffered, S-100, uses 2102 type rams. 

PCBC $30 

Mother Board 12 slot, terminated, S-100, board only$35 

CPU-1 8080A Processor board S-100 with 8 level vector 

interrupt PCBD ' $30 

10% discount on 10 or more of WAMECO PCBD in any 
combination. 

NEWI All IC's Sockets & hardware lor WAMECO CPU-1 
include all prime Eowa, 8214, 8224. 8212. PCBD not in- 
cluded $65 

All ICs, sockets & hardware for WAMECO MEM-1 includes 
prime 2102AL-4's PCBD not included. Order PCBD sepa- 
rately $135 

Special 2102AL-4 1K x 1 ram Va less power than 21L02 
type rams, with power down, prime from NEC. Ea. 2.00; 32 
ea. 1 .80; 64 ea. 1 .70; 1 28 ea. 1 .60; 256 ea. 1 .50. 



9080A AMD 8080A (Prime) 

8212/74S412Prime 

8214 Prime 

8216 Prime 

8224 Prime 

8228 Prime 

8251 Prime 

8255 Prime 

1702A-6 AMD 402A Prime 

TMS-6011 UART Prime 

2513 Char Gen Upper Prime 

2513 Char Gen Lower Prime 

1702A Intel Not Prime 



20.00 
4.00 
8.30 
4.95 
5.00 
8.90 
14.50 
14.50 
5.00 
6.95 
11.00 
11.00 
4.00 



m 




419 Portofino Drive 
San Carlos, California 94070 

Please send for IC, Xistor 
and Computer parts list. 



74 LOO 

74L01 

74L02 

74L03 

74L04 

74L05 

74L06 

74L08 

74L09 

74L10 

74L20 

74L26 

74L30 

74L32 

74L42 

74L51 

74L54 

74L55 

74L71 

74L73 

74L74 

74L75 

74L78 

74L85 

74L86 

74L89 

74L90 

74L91 

74L93 

74L95 

74L98 

74L123 

74L164 

74L165 

74L192 

74L193 

MH0026 

MC1488 



.25 

.25 

.25 

.25 

.30 

.40 

.30 

.40 

.40 

.30 

.35 

40 

.40 

.45 

1.50 

35 

.45 

.35 

.30 

.55 

.55 

1.20 

.90 

1.40 

75 

3.50 

1.50 

1.50 

1.70 

1.70 

2 80 

1.50 

2.50 

2.50 

1.25 

1.20 

2.95 

1.50 



74LS00 

74LS01 

74LS02 

74LS03 

74LS04 

74LS05 

74LS08 

74LS10 

74LS12 

74LS20 

74LS22 

74LS27 

74LS30 

74LS37 

74LS38 

74LS42 

74LS51 

74LS54 

74LS55 

74LS73 

74LS74 

74LS76 

74LS151 

74LS174 

74LS175 

74LS192 

2501 B 

2502B 

2507V 

2510A 

2517V 

2519B 

2532B 

2533V 

DM8131 

N8263 

MC1489 

DM8837 



.40 

50 

.40 

.40 

.45 

.45 

.40 

.40 

.55 

.40 

.45 

45 

.40 

.60 

.60 

1.50 

.40 

.45 

.40 

.65 

65 

65 

1.55 

2.20 

1.95 

2.85 

1.25 

3.00 

1.25 

2.00 

1.25 

2.80 

2.80 

2.80 

2.50 

3.50 

1.50 

1.50 



1101 

1103 

2101 

2111-1 

2112 

2602 

4002-1 

4002-2 



1.25 
1 25 
4.50 
3.75 
4.50 
1.60 
750 
7.50 



MM5262 1.00 
7489 2.00 



74200 

74C89 

82S06 

82S07 

82S17 

8223 

82S23 

82S123 

82S126 

82S129 

82S130 

82S131 

IM5600 

IM5610 

IM5603 

IM5604 

IM5623 

IM5624 

MMI6330 2.50 

DM8573 4.50 

DM8574 5.50 

DM8575 4.50 

DM8576 4.50 

DM8577 3.50 

DM8578 4.00 

2.4576 MHZ 

XTAL 7.20 



4.95 
3.00 
2.00 
2.00 
2.00 
2.50 
3.00 
3.00 
3.50 
3.50 
3.95 
3.95 
2.50 
2.50 
3.00 
3.50 
3.00 
3.50 



Check or money order only. If you are not a regular customer and your 
order is large please send either a cashier's check or a postal money 
order, otherwise there will be a delay ol two weeks for the check to 
clear. All items post paid in the U.S. Calif, residents add 6% tax. 
Money back 30 day guarantee. We cannot accept returned IC's thai 
have been soldered to. Prices subject to change without notice. $10 
minimum order. $1.00 service charge on orders lemi than $10. 



208 



BYTE December 1977 



Circle 76 on inquiry card. 





DIODES/ZENERS 


SOCKETS/BRIDGES 


TRANSISTORS, LEDS, etc. 




. 1N914 


100v 


10mA .05 


8-pin pcb .25 ww .45 


2N2222 


NPN (Plastic .10) .15 


1N4005 


600v 




1A .08 


14-pin pcb .25 ww .40 


2N2907 


PNP 


.15 


1 N4007 


1000v 




1A .15 


16-pin pcb .25 ww .40 


2N3906 


PNP 


.10 


1N4148 


75v 


10mA .05 


18-pin pcb .25 ww .75 


2 N 3054 


NPN 


.35 


1N753A 


6.2v 




z .25 


22-pin pcb .45 ww 1.25 


2N3055 


NPN 15A 60v 


.50 


1N758A 


10v 




z .25 


24-pin pcb .35 ww 1.10 


T1P125 


PNP Darlington 


.35 


1N759A 


12v 




z .25 


28-pin pcb .35 ww 1.45 


LED Greer 


, Red, Clear 


.15 


1N4733 


5.1 v 




z .25 


40-pin pcb .50 ww 1.25 


D.L.747 


7 seg 5/8" high corn-anode 1 .95 


1N5243 


13v 




z .25 


Mo lex pins .01 To-3 Sockets .45 


XAN72 


7 seg corn-anode 


1.50 


1N5244B 


14v 




z .25 




FND359 


Red 7 seg corn-cathode 


1.25 


1N5245B 


15v 




z .25 


2 Amp Bridge 100-prv 1.20 
25 Amp Bridge 200-prv 1 .95 








CMOS 




- T T L - 






4000 


.15 


7400 


.15 


7473 .25 


74176 1.25 


74H72 


.55 


74S133 


.45 


4001 


.20 


7401 


.15 


7474 .35 


74180 .85 


74H101 


.75 


74S140 


.75 


4002 


.20 


7402 


.20 


7475 .35 


74181 2.25 


74H103 


.75 


74S151 


.35 


4004 


3.95 


7403 


.20 


7476 .30 


74182 .95 


74H106 


.95 


74S153 


.35 


4006 


1.20 


7404 


.15 


7480 .55 


74190 1.75 






74S157 


.80 


4007 


.35 


7405 


.25 


7481 .75 


74191 1.35 


74 LOO 


.35 


74S158 


.35 


4008 


.95 


7406 


.35 


7483 .95 


74192 1.65 


74L02 


.35 


74S194 


1.05 


4009 


.30 


7407 


.55 


7485 .95 


74193 .85 


74L03 


.30 


74S257I8123) 


.25 


4010 


.45 


7408 


.25 


7486 .30 


74194 1.25 


74L04 


.35 






4011 


.20 


7409 


.15 


7489 1 .35 


74195 .95 


74L10 


.35 


74LS00 


.35 


4012 


.20 


7410 


.10 


7490 .55 


74196 1.25 


74L20 


.35 


74LS01 


.35 


4013 


.40 


7411 


.25 


7491 .95 


74197 1.25 


74L30 


.45 


74LS02 


.35 


4014 


1.10 


7412 


.30 


7492 .95 


74198 2.35 


74L47 


1.95 


74LS04 


.35 


4015 


.95 


7413 


.45 


7493 .40 


74221 1.00 


74L51 


.45 


74LS05 


.45 


4016 


.35 


7414 


1.10 


7494 1 .25 


74367 .85 


74L55 


.65 


74LS08 


.35 


4017 


1.10 


7416 


.25 


7495 .60 




74L72 


.45 


74LS09 


.35 


4018 


1.10 


7417 


.40 


7496 .80 


751 08A .35 


74L73 


.40 


74LS10 


.35 


4019 


.60 


7420 


.15 


74100 1.85 


75110 .35 


74L74 


.45 


74LS11 


.35 


4020 


.85 


7426 


.30 


74107 .35 


75491 .50 


74L75 


.55 


74LS20 


.35 


4021 


1.35 


7427 


.45 


74121 .35 


75492 .50 


74L93 


.55 


74LS21 


.25 


4022 


.95 


7430 


.15 


74122 .55 




74L123 


.55 


74LS22 


.25 


4023 


.25 


7432 


.30 


74123 .55 


74H00 .25 






74LS32 


.40 


4024 


.75 


7437 


.35 


74125 .45 


74H01 .25 


74S00 


.55 


74LS37 


.35 


4025 


.35 


7438 


.35 


74126 .35 


74H04 .25 


74S02 


.55 


74LS40 


.45 


4026 


1.95 


7440 


.25 


74132 1.35 


74H05 .25 


74S03 


.30 


74LS42 


1.10 


4027 


.50 


7441 


1.15 


74141 1.00 


74H08 .35 


74S04 


.35 


74LS51 


.50 


4028 


.95 


7442 


.45 


74150 .85 


74H10 .35 


74S05 


.35 


74LS74 


.65 


4030 


.35 


7443 


.85 


74151 .75 


74H11 .25 


74S08 


.35 


74LS86 


.65 


4033 


1.50 


7444 


.45 


74153 .95 


74H15 .30 


74S10 


.35 


74LS90 


.95 


4034 


2.45 


7445 


.65 


74154 1.05 


74H20 .30 


74S11 


.35 


74LS93 


.95 


4035 


1.25 


7446 


.95 


74156 .95 


74H21 .25 


74S20 


.35 


74LS107 


.85 


4040 


1.35 


7447 


.95 


74157 .65 


74H22 .40 


74S40 


.25 


74LS123 


1.00 


4041 


.69 


7448 


.70 


74161 .85 


74H30 .25 


74S50 


.25 


74LS151 


.95 


4042 


.95 


7450 


.25 


74163 .95 


74H40 .25 


74S51 


.45 


74LS153 


1.20 


4043 


.95 


7451 


.25 


74164 .60 


74H50 .25 


74S64 


.25 


74LS157 


.85 


4044 


.95 


7453 


.20 


74165 1.50 


74H51 .25 


74S74 


.40 


74LS164 


1.90 


4046 


1.75 


7454 


.25 


74166 1.35 


74H52 .15 


74S112 


.90 


74LS367 


.85 


4049 


.70 


7460 


.40 


74175 .80 


74H53J .25 


74S114 


1.30 


74LS368 


.85 


4050 


.50 


7470 


.45 




74H55 .25 










4066 


.95 
.40 


7472 


.40 














4069 










4071 


.35 




LINEARS, REGULATORS, etc. 






4081 


.70 




8266 .35 


LM320K5 (7905) 1.65 


LM340T24 


.95 


LM723 


.50 


4082 


.45 




MCT2 .95 


LM320K12 1.65 


LM340K12 


2.15 


LM725 


1.75 








8038 3.95 
LM201 .75 


LM320T5 1 65 


LM340K15 


1.25 


LM739 


1 Rn 


9000SERIEJ 




1-IVIOjt.v 1 O 1 *\J\J 

LM320T12 1.65 


LM340K18 


1.25 


LM74K8-14I.25 


9301 




'.85 


LM301 .25 


LM320T15 1.65 


LM340K24 


.95 


LM747 


1.10 


9309 




.35 


LM308 (Mini) .75 


LM339 .95 


LM373 


2.95 


LM1307 


1.25 


9322 




.85 


LM309H .65 


7805 (340T5) .95 


LM380 


.95 


LM1458 


.95 


95H03 




.55 


LM309K (340K-5) .85 


LM340T12 1.00 


LM709 (8,14 PIN) .25 


LM3900 


.50 


9601 




.75 


LM310 1.15 


LM340T15 1.00 


LM711 


.45 


LM75451 


.65 


9602 




.50 


LM311D (Mini) .75 
LM318 (Mini) .65 


LM340T18 1.00 






NE555 
NE556 
NE565 


.50 
.95 
.95 




tY CLO( 


:ks 


MEMOF 






74S188I8223) 

1702A 

MM5314 

MM5316 

2102-1 


3.00 
6.95 
3.00 
3.50 
1.75 


INTEGRATED CIRCUITS UNLIMIT 

7889 Clairemont Mesa Boulevard, San Diego, California 9: 


ED 


NE566 
NE567 


1.75 
1.35 


2111 






2102L-1 
TR 1602B/ 
TMS6011 


1.95 


(714) 278-4394 (Calif. Res.) 


SPECIAL 
DISCOUNTS 


6.95 


All orders shipped prepaid No minimum 


Total Order 


Deduct 

car 


8080 AD 
8T13 
8T23 
8T24 


1 


5.00 
1.50 
1.50 


Open accounts invited COD orders accepted $ioo-$300 10% 
Discounts available at OEM Quantities California Residents add 6% Sales Tax $301 -$1000 15% 




2.00 


All IC's Prime/Guaranteed. All orders shipped same day received. 


$1000 -Up 


20% 


2107B-4 




4.95 


24 Hour Toll Free Phone 1-800-854-2211 MasterCharge / BankAmericard / AE circle 64 on inquiry card. 



What's New? 



SILICON 



Full ASCII Character Set in a 
Byte Sized Dot Matrix 



New Clock Chip for 6800 Systems 



■ ,-., . $■ jj . _!.... JL6......L*.... ca -_..i 1 ._..... I _L 


=?ByJ5Bffi|iBH|yiBglj ] {|^mWffiwMiPPB*™ 








i 




bjEw 


rlL 


^nfi|^gi| 


Ug K 


n^Sfl|j 


^ptosis 




ill 




apSyw 






i 





Microcomputer designs based on the 
Motorola 6800 microprocessor and 
others such as the MOS Technology 
MCS6S12 can be simplified with this 
monolithic clock generator chip. Re- 
quiring only a 5 V supply and a quartz 
crystal or RC (resistor and capacitor) 
network, the MC6875 provides buffered 
2 phase clock outputs, automatic clock 
stretching for slow memories, direct 
memory access or dynamic memory 
refreshing. It also has request and grant 
logic for 10 peripherals, and a Schmitt 
trigger power on and reset function. 
Available in a 16 pin dual in line pack- 
age, the MC6875 costs $3.45 in 1000 
piece quantities from Motorola Linear 
Products, 2200 W Broadway, Mesa AZ 
85202, (602) 962-2294." 

Circle 534 on inquiry card. 



How About a 1 Bit Microprocessor? 




Improved Version of 2708 from Intel 

While the popular 2708 1 K byte 
EROM chip continues to drop in price, 
Intel has introduced an improved version 
of the chip, the 2758, which makes read 
only memory designs still simpler. The 
new chip is completely TTL compatible 
and requires only a 5 V power supply. It 
is directly upgradable to a 2 K byte 2716 
EROM or a 2316E mask programmed 
ROM, both of which require only a 5 V 
supply. Power dissipation is less than 
50% of the 2708, and a power switching 
input can be used to reduce dissipation 
by more than 80% when the chip is not 
selected. 

Even more interesting are the device's 
programming features. The entire EROM 
can be programmed in less than a 
minute, twice as fast as the 2708, but 
in addition any number of bytes can be 
programmed at one time. And a byte 
is programmed simply by applying a 
TTL level signal to a program control 
input for 50 ms. The programming 
signal need not be pulsed but is simply 
direct current. These features make 
in-system programming much easier to 
design. (Who knows? Perhaps we'll see 
EROM boards with ultraviolet lights 
permanently mounted for periodic era- 
sure and reprogramming.) 

The 2758's introductory price of 
$26.60 is less than half the 2708's 
initial price of $65.50, and the 2758 
and 2716 are expected to drop in price 
per bit much more rapidly than the 
2708. The new devices have a head 
start on the production "learning curve" 
first traveled by the 2708. The 2758 is 
available from Intel Corporation, 3065 
Bowers Av, Santa Clara CA 95051, 
(408) 246-7501.* 

Circle 536 on inquiry card. 



If eight bits just isn't right for your 
application, perhaps a 1 bit micro- 
processor will do the job. The Motorola 



MC14500B is a 1 bit static CMOS pro- 
cessor which performs logical operations 
on data occurring on a 1 bit bidirectional 
bus and data in a 1 bit accumulator. Five 
of the processor's 16 instructions pro- 
vide Boolean functions of the data bus 
and accumulator bits, while the re- 
maining instructions control data trans- 
fers and generate control signals. 

Also called the Industrial Control 
Unit, the MC14500B is the monolithic 
embodiment of a programmable logic 
controller. With a looping program 
flow, the processor offers a simple way 
to sequentially control electronic and 
electromechanical devices in applications 
such as traffic controllers, office copiers, 
telephone dialing systems and micro- 
program control sequencers. The pro- 
cessor will operate at up to 1 MHz and 




A new 1024 by 8 bit character 
generator ROM can be used to simplify 
video display and dot matrix printer 
controllers. The TMS4710 outputs 
dots for upper and lower case letters, 
numbers and special characters with 
spacing due to use of 5 by 7 characters 
in an 8 by 8 matrix. Three state outputs 
and dual output enables are provided in 
the plastic or ceramic 24 pin DIP pack- 
age, which is priced at $10.66 or $12.66 
in 100 piece quantities. Contact Texas 
Instruments' Inquiry Answering Service, 
POB 1443, M/S 669 (attn: TMS4710), 
Houston TX 77001, (713) 494-5115 
ext2781." 

Circle 537 on inquiry card. 



An 8 by 8 Multiply in 100 ns 




i'lmmmumikw ilium* 



<M*m~m-ze iiimi 5; * r** xmi; a» s"3 



Microcomputer applications such as 
real time music synthesis and speech 
processing, fast Fourier transform 
computations and fast floating point 
processors call for enormous numbers 
of multiplications each second. In these 
applications, a new chip from Mono- 
lithic Memories can help. It performs 
an 8 by 8 bit signed or unsigned 2's 
complement multiplication in 100 ns, 
yielding a 16 bit signed or unsigned 
result. The 40 pin bipolar LSI device 
uses a single 5 V power supply, con- 
sumes only 1 W and features three state 
outputs for pipelined operations. The 
MMI67558 is second sourced by ITT 
Semiconductors and sells for $64 in 
100 up quantities from Monolithic 
Memories, 1 165 E Arques Av, Sunnyvale 
CA 94086, (408) 739-3535." 

Circle 538 on inquiry card. 



includes an oscillator on the chip. The 
circuit, in a 16 pin ceramic or plastic 
DIP, is available for $7.58 in 100 up 
quantities from Motorola's Integrated 
Circuit Division, 3501 Ed Bluestein 
Blvd, Austin TX 78721, (512) 928- 
2600." 

Circle 535 on inquiry card. 



210 



BYTE December 1977 



Circle 135 on inquiry card. 



CHRISTMAS 
SPECIAL 





IMMEDIATE DELIVERY 



Selectric Terminal — USED, AS IS, but 
removed from working installation. 
Nationwide service available. 

SPECIAL ITEMS FOR ABOVE TERMINAL 
ASCII controller — 200 character buffer, all 
128 characters, set at 110 to 1200 Baud 
(average throughput is 13 cps). ASR33 



$795.00 



compatible RS232C interface. 


$225.00 


BOTH UNITS ORDERED TOGETHER 


$890.00 


SURPLUS BARGAIN: 




New, in original containers. Double density 




floppy drives. Model GSM 10. 


$549.00 


2 for 


$1059.00 


IBM format disk kit to use GSM 10 drive with 




above terminal controller. 


$249.00 


Board and EPROM only 


$99.00 



Mastercharge, Visa or COD accepted. 

$40.00 deposit on COD 

* LIMITED QUANTITIES Call or write by Dec. 5, 1977 
to reserve for shipment on or before Dec. 12, 1977. 

J^ oliarp<& Associates Inc. 

Box 10666, Edgemont Branch Golden, Colorado 80401 



NEW 8080 and 8O8B RGFeRGNCG GUIDG 



A TOTALLY NEW CONCEPT! 



SAVES TIME AND MONEY! 



MAKES YOUR JOB EASIER! 




A powerful new tool for every serious 8080 user — professional and novice alike. 

Priceless timesaver for engineers, technicians, and programmers. Saves time and 

money in the lab, on the production line, or in the field. 

Convenient pocket size — 3% by 7% inches — gives quick and easy access to all vital 

reference data. No more searching here and there for codes, instructions, or definitions. 

It's all there — at your finger tips — everything you need to successfully use the 8080A 

and — Intel's new 8085 microprocessor. 

Features cross listing, for rapid assembly and disassembly, of MACHINE CODES and 

MNEMONICS • Concise description of 8080 and 8085 OPERATIONS, SIGNALS, 

PINOUTS, and INSTRUCTIONS • Convenient cross conversion of OCTAL, 

HEXIDECIMAL, DECIMAL, ASCII, and EBCDIC codes • Easy-to-read tables of powers 

of two, eight, and sixteen . . . and much more . . . 

Sturdy • Handsome • Easy-to-use • Data Packed 

Your timesaver will give many years of professional service. 

$12.95 each (plus postage & California sales tax) — 25% discount for 4 or more. 
MoneyBack Guarantee: You must be fully satisfied or simply return the guide within 15 days forfull and prompt refund. 



URBAN INSTRUMENTS 



4014 CODY ROAD • DEPARTMENT C1 ■ 
SHERMAN OAKS • CALIFORNIA 91403 



master charge 



BANKAMERICARD 



PLEASE SEND. 

NAME 

STREET 

CITY 

STATE 



. 8080 ti mesa vers to: 



CHECK/M.O. ENCLOSED D BANKAMERICARD [J MASTER CHARGED 

CARD NUMBER 

GOOD THRU 4 DIGITS ABOVE NAME 

.ZIP SIGNATURE 



(MASTER CHARGE) 



Circle 124 on inquiry card. 



BYTE December 1977 211 



COMPU TIME 
CT 100 



COMPU/TIME offers 

A 

Real Darn Clever 

Enhancement to users of 

IMSAI/ALTAIR Microprocessors 



S100 BUS COMPATIBLE 

TIME & CALENDAR 

COMPU/TIME CT100 $199 Kit $245 Assembled 

COMPU only C101 $149 Kit $189 Assembled 

TIME only T102 $165 Kit $205 Assembled 

COMPU/TIME PC Board wily $ 80 



TV-l 



You will want to know about the TU-1 Video to Televisior 
Interface Kit. 

No need to buy a separate Video Monitor if you already 
own a TV set. Just connect the TW-l between your system 
video output and the TV set antenna terminals— that's all 
there is to it — to convert your TV set to a Video Monitor, anc 
at a much lower cost! PRICE S>8 95 



•IBcfB 



FCS 8000A — Vh Digit — .8" Display 

NEWI 25 Pin Version with colon & am/pm indicator 

• Connects almost one 
lor one with 3B17, 3BT7A 
or D. (3617 available at 
$5.00 each). 

• Typical segment, current 
3mA except colon. 10 hrs 
b & c and 10 min. a & A 
whicn are 16 mA. 
■ Forward voltage drop 
1 5 veils 



FRONT VIEW - FSCaOOO 

SPECIAL 
$4.95 EA. 

• MAXIMUM FORWARD 
CURRENT - 25 mA. 



® /to 



SLIT-N-WRAP WIRE WRAP TOOL 

• Slits and opens Insulation exposing 
bare wire 

• No pre-cuttlng or pre-stripping. 

• Comes complete with two - 100 ft spools 

#28 AWG wire 



Plugboards 8800V 




Model P180 



$24.50 



Universal Microcomputer/ 
^ • Processor plugboard, use with 
J S-100 bus complete with heat sink & 
! hardware 5.3 x 10 x 1/16" 

$19.95 



CHANNEL F 

$159.95 




mmomo nofosrmmmmim systm 

• Freeze Action • Speed Option 

• Automatic time and scorekeeping 

• Battery-free AC operation 

• Dual controls with 8-way action 

• Built-in Pro Hockey and Tennis games 

• Easy hook-up on any B/W or Cotor TV 

• Factory warranty 



Channel F — additional cartridges - 



— Tlc-Tac-Toe/Shooting Gallery 
Quad ra -doodle /Doodle/ 
0812 — Desert Fox/Snooting Gallery 



0815 — Spacewar {2 players) 
0818 — Marjic Numbers 

(computer logic) 



- Blackjack (1 or 2 players) 
i4 — Spitfire (1 or 2 players) 
19 — Drag strip (1 or 2 players) 
0820 — Man (2 players) 
0822 —Baseball [2 payers) 



EDGE CONNECTORS 




20 


0UAL 


10 


PIN 


30 


DUAL 


lb 


PIN 


it 


DUAL 


71 


PIN 


44 


DUAL 


?? 


PtH 


80 


DUAL 


40 


PIN 


86 


DUAL 


43 


PIN 


100 


DUAL 


so 


PIN 


100 


DUAL 


SO 


PIN 


100 


DUAL 


SO 


PIN 


100 


DUAL 


50 


PIN 



GOLD 

GOLD 

GOLD 

GOLD 

GOLD 

GOLD(6800) 

GOLDJIHSAI/ALTAIR) 

GOLD! IMSAI/ALTAIR) 

GOLD(N0 EARS-IH5AI 

TIN 1.1" SPACING) 



» .50 
.75 
1.95 
2.50 
4.95 
5.00 
4.25 
4.95 
3.50 
3.25 



ALTAIR/IHSAI CARD GUIDES 




Computer Products 

5351 WEST 144th STREET 

LAWNDALE, CALIFORNIA 90260 

(213) 679-3313 



RETAIL STORE HOURS M-F 9-7 SAT. 9-5 
Discounts available at OEM quantities. Add $1.25 
for shipping. California residents add 6% sales tax. 

CATALOG FREE WITH $10.00 ORDER 



• 7400NTTL ^!lt 



5.00 



3.50 



SN7400N .16 SN7459A 

SN7401N .16 SN7460N 

SN7402N .21 SN7470N 

SN7403N .16 SH7472N 

SN7404N .18 SN7473N 

SN7405N .24 SN7474N 

SN7406N .20 SN7475N 1 

SN7407N 29 SN7476N' 

SN7408N .25 SN7479N 

SN7409N .25 SN7480N 

SN7410N 18 Sn)74B2N 

SN7411N .30 SN7483H 

SN7412N .33 SN7485N 

SN7413N .45 SN7486N 

SN7414N .70 SN7488N 

SN7416N .35 SN74B9N 

SN7417N 35 SN7490N 

SN7420N .21 SN7491 N 

SN7421N -33 SN7492N 

SN7422N .49 SN7493N 

SN7423N .37 SN7494N 

SN7425N .29 SN7495N 

SN7428M .29 SN7496N 

SN7427N .37 SN7497N 

SN7429N .42 SN74100N 

SH7430N .26 SN74107N 

SN7432N .31 SN74121N' 

SN7437M .27 SN74122N 

SN7438nf .27 SN74123N 

SN7439N 25 SN74125N 

SN744QN 15 SN74I26N 

SN7441N .89 SN74J32N 

SM7442N .59 SN74136N 

SN7443N .75 SN74141N 

SN7444N .75 SN74142N 

SN7445N .75 SN74143N 

SM7446H .81 SN74144N 

SN7447N .69 SN74145N 

SN7448N .79 SN74147N 

SNMHN .26 SN74148N 

SN7451N .27 SN74150N 

SN7453N .27 SN74151N 

SN7454N .20 SN74153N 

MANY OTHERS AVAILABLE ON REQUEST 
20% Discount tor 100 Combined 7400's 



4.50 



SN74154N 
SN74155N 
SN74I56N 
SN74157N 
SN74160N 
SN74161N 
SN74163N 
SN74164N 
SN74165N 
SN74166M 
SN74167N 
SN74170N 
SN74172N 
SN74173N 
SN74174N 
SN74175N 
SN74176N 
SN74177N 
5N74160N 
SN74181N 
SN74182N 
SN741B4N 
SN74185N 
SN741BOW 
SN74187N 
SN74188N 
5N74190N 
SN74191N 
SN74192N 
SN74193N 
SN74194N 
5N74195N 
SN74196N 
SN74197N 
SN74198N 
SN74199N 
SN742WN 
SN74279N 
SN74251N 
SN74284N 
SN74285N 
SN74367N 



C04000 
CW001 
C04002 
CD40O6 
CD40O7 
CD40Q9 
CD4010 
C04011 
CD4012 
CD4013 
CO40I6 
CD4017 
CD-4019 
CD4020 
CO4022 
C04023 
CD4024 
CD4025 
CO 4026 
CD4027 
C04Q28 
CD4029 



.25 



CMOS 



290 



C04030 

CO4035 

CO4O40 

CD4042 

CD4D44 

CD4046 

CD4047 

CD4049 

CD405O 

CO40S1 

C04053 

CD4060 

CD4066 

CO4069 

CD4071 

CD40B1 

C04511 

C0451B 

MC14566 

74COON 

74C02N 



295 
295 
3.25 



74C04N 

74C10N 

74C20N 

74C30N 

74C42N 

74C73N 

74C74 

74C90N 

74C95N 

74C107N 

74C151 

74C154 

74C157 

74C160 

74C161 

74C563 

74C164 

74C173 

74C193 

740195 

MC4044 

MC14016 



2.15 
3.25 
3.25 



.56. 



lM300(1 .80 

LM301H .35 

LM301CN .35 

IM302H ,7S 

LM304H 1.00 

LM305H 95 

LM307CN .35 

LM308H 1.00 

IM306CN 1.00 
LM309H 1.10 

LM309K .99 

LM310CN 1.15 
LM311H 90 

LM311N .90 

LM316CN 1.50 
LM319N 1.30 

LM320K-5 1.35 
LM320K-5.2 1.35 
LM320K-12 1.35 
LM320K-15 1.35 
LM320T-5 1.75 
LM320T-5.2 1.75 
LM320I-8 1.75 
LH320T-12 1.75 
LM320T-15 1.75 
LM320T-18 1.75 
LM320T-24 
LM323K-5 
LM324N 
LM339N 
LM340K-5 
LM340K-6 
LM340K-8 
LM340K-12 
LM340K-15 
LM340K-18 
LM340K-24 
LM340T-5 
LM340T-6 
LM340T-8 
LM340T-12 
LM340T-1S 
LM340T-18 
LM340T-24 
LM350N 
LM351CN 



LINEAR 



9.95 



LM370N 

LM373N 

LM377N 

LM380N 

LM380CH 

LM381H 

LM382N 

NE501K 

NES10A 

NE531H 

NE536T 

NE540L 

NE550N 

NE555V 

NE560B 

NE561B 

NE562B 

NE565H 

NE565N 

NE566CN 

NE567H 

NE567V 

LM703CN 

LM709H 

LM709N 

LM710N 

LM711N 

LM723H 

LM723H 

LW733N 

LM739N 

LM74ICH 

LM741CN 

LM741-14N 

LM747H 

LM747N 

LM748H 

LM74BN 

LM1303N 

LM1304N 

LM1305N 

LM1307N 

LM1310N 



2.95 



3.00 

600 
GOO 



LM1351N 
LM1414N 
LM1458C 
LM1496N 
LM 1556V 
LM211IN 
LM2901N 
LM3065N 
LM3900N 
LM3905N 60 

LM3909 1.25 

LM5556N 1.85 
MC5558V 1.00 
LM7525N .90 

LM7S35N 1.25 
80388 4.95 

LM75450 .49 

75451CN .39 

75452CN .39 

75453CN .39 

75454CN .39 

75491CN .79 

75492CN .89 

75494CN .89 

RCAUMEAR 
CA3013 MS 

CA3023 2.56 

CA303S 2.48 

CA3039 1.35 

CA3046 1.30 

CA3059 3.25 

CA3060 3.25 

CA3080 .85 

CA3081 2.00 

CA3082 2.00 

CA3083 
CA3086 
CA3089 
CA3091 
CA3102 
CAS 123 
CA3130 
CA3140 
C A3 BOO 
HC4194 
RC4195 



10.20 
2.95 
2.15 



74LS0O 
74LS02 
74LS03 
74LS04 
74LS05 
74LS08 
74LS10 
74LS13 
74LS14 
74LS20 
74LS26 
74LS2? 
74LS28 
74LS30 
74LS32 
74LS40 
74LS51 
74LS55 
74LS73 



29 



74LS00 TTL 



■19 



74LS74 

74LS75 

74LS76 

74LSB3 

74LSB5 

74LS86 

74LS90 

74LS92 

74LS93 

74LS95 

74LS96 

74LS107 

74LS109 

74LS112 

74LS132 

74LS136 . 

74LSI3B 



1 69 



MM5309 
MM5311 
MM5312 
MM5314 
WM531G 
MM5316 
CT7001 



CLOCK CHIPS 

6 Oioii. BCO Outputs, Rosci PIN. 

6 Drflh, BCO Outputs, 12 or 24 Hour 

4 Onjt, SCO Outputs. 1 PPS Output 

6 Die it. 12 or 24 Hour, 50 Of 60 Hi 

4 Digit. Alarm, 1 PPS Output 

Vidto Clor* Chip. For Use With IMM5841 

6 Dloit, Calendar. Alarm, 12 or 24 Hour 



74 LSI 39 

74LS15I 
74LS153 
74 LSI 57 
74 LSI 62 
74LSI63 
74LSI64 
74L5175 
74LS181 
74LS190 
74LS191 
74 LSI 92 
74LS193 
74LS194 
74LS195 
74LS257 
74LS260 
74LS279 
74LS670 



6.95 
9.95 
5 85 



THE PROM SETTER 

WRITE and READ 
EPROM 

I702A find 2708 
Plugs Direclly inlo your ALTAIR/IMSAI Computer 

Inrlurlns Main Module Board and Exlernal EPROM 
Sorkel Llnil 

The EPROM Socket Unil is ronnecled to Ihe Com- 
puter through a 25 Pin Connector 

Programming is accomplished hy the Compuler 

Jusl Read in the Program to be Wrilten on the 
EPROM inlo ynur Processor and lei the Computer 
do the rest. 
Use Rocket Unit lo Read EPROM's Contents into 

your Computer 

Software included 

Nn Exlernal Power Supplies, Your Computer does 

it all 

Programs and Reads Both 1702A and 270B EPROMS 
Doubles as an Eight Bit Parallel I/O 

Manual inr.luded Delivery Less ihnn 90 days 



INTRODUCTRY OFFER 

THE PROM SETTER 

Kit S210 ASSEMBLEDS375 
PROM SETTER I 

above unit with 2716 adapter 
Kit$260 Assembled $425 



WIRE WRAP CENTER 

HOBBY-WRAP TOOL-BW-630 

Battery Operated (Size C) 
Weighs ONLY 1 1 Ounces 
Wraps 30 AWG Wire onto 
Standard DIP Sockets (.025 inch) 
Complete with built-in bit and sleeve 




WIRE-WRAP KIT — WK-2-W 
WRAP . STRIP . UNWRAP u£] 

. Tool lor 30 AWG Wire ^K 

• Roll of 50 Ft. White or Blue 30 AWG Wire** 

• 50 pes. each 1", 2", 3" & 4" lengths — 
pre-stripped wire. 



$11.95 




WIRE WRAP TOOL WSU-30 

WRAP . STRIP • UNWRAP -$5.95 



WIRE WRAP WIRE — 30 AWG 

50tt. $1.95 1000lt.,$15.00 

SPECIFY COLOR — While - Yellow - Red - Green • Blue ■ Black 



WIRE DISPENSER — WD-30 

50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea. 

Cuts wire to desired length 

Strips 1" of insulation Specify — Blue-Yellow-White-Red 



LIQUID CRYSTAL DIGITAL 
CLOCK-CALENDAR 



vm 



For Auto, Home, Office 
Small in size (2x2%xV4) 
Push button for seconds release for date. 
Clocks mount anywhere with either 3M double- 
sided tape or VELCRO, included. 
2 MODELS AVAILABLE: 

LCD-101, portable model runs on self-contained 
jattorles for better than a year. 
LCD-102, runs on 12 Volt system and is back- 
lighted. 

LCD-101 or LCD-102 *tQO Qr 

your choice $OJ . VO ea. 

Clear deek stand lor $2.00 



MA1003, 12V DC CLOCK MODULE 



Built in X'TAL controlled 
time base. Protected against 
automotive volt Transients. 
Automatic brightness con- 
trol with 0.3" green color 
display- Display turnoff 
with ignition OFF" 




$17.95 



212 



BYTE December 1977 



Circle 66 on inquiry card. 



MICROCOMPUTER 



MICROPROCESSOR'S 



F-8 

Z-80 

Z-80A 

CDP1802CD 

AM2901 

6502 

6800 

8008-1 

8080A 

TMS-9900TL 

6800 SUPPORT 

6810P 
6820P 
6828P 
6834P 
6850P 



19.95 
25.00 
35.00 
24.95 
22.95 
12.95 
19.95 
8.75 
15.95 
89.95 



6852P 
6860P 
6862P 
6880P 



4.95 

8.00 
11.25 
16.95 

9.95 
11.95 
14.95 
17.95 

2.70 



Z80 SUPPORT DEVICES 



3881 
3882 



12.95 
12.95 



F-8 SUPPORT DEVICES 



3851 
3853 



14.95 
14.95 



DYNAMIC RAMS 



1103 

2104 

2 107 A 

2107B 

2107B-4 

TMS4050 

TMS4060 

4096 

4116 

MM5270 

MM5280 

MCM6605 



1.50 
4.50 
3.75 
4.50 
4.00 
4.50 
4.50 
4.50 
42.00 
5.00 
6.00 
6.00 



CHARACTER 

GENERATORS 



2513 UP 
2513 DOWN 
2513 UP (5v) 
2513 DOWN I5u) 
MCM6571 
MCM6571A 
MCM6572 
MCM6574 
MCM6575 



6.75 
6.75 
9.95 
10.95 
10.80 
10.80 
10.80 
14.75 
14.75 



PROM'S 

1702A 

2704 

2708 

2716 

360 T 

5203AQ 

5204AQ 

6834 

6834-1 

82S23B 

82S129B 

8223B 



5.00 

15.00 

20.00 

38.00 

4.50 

4.00 

6.00 

16.95 

14.95 

4.00 

4.25 

2.70 



8080A SUPPORT DEVICES 



8212 
8214 
8216 
8224 
8228 
8238 
8251 
8253 
8255 
8257 
8259 



3.95 

9.95 

4.50 

4.95 

8.75 

8.00 

12.00 

28.00 

12.00 

25.00 

25.00 



STATIC RAMS 



21L02 

21L02 

21L11 

1101A 

2101-1 

2102 

2102-1 

2111-1 

2112-1 

2114 

31L01 

3107 

4200A 

4804/2114 

5101C-E 

74C89 

74S201 

7489 

8599 

9102BPC 



(450I 
(250) 



1-24 

1.50 
1.95 
4.25 
1.49 
2.95 
1.25 
1.50 
4.00 
3.00 
17.95 
2.50 
3.95 
12.95 
17.95 
11.95 
3.25 
4.50 
2.25 
1.88 
1.65 



25-99 

1.40 

1.80 
4.10 
1.29 
2.75 
1.15 
1.30 
3.50 
2.80 
16.95 
2.35 
3.70 
12.50 
16.95 
11.25 
3.05 
4.30 
2.10 
1.75 
1.45 



100 

1.25 

1.50 

3.95 

1.10 

2.60 

1.00 

1.15 

3.25 

2.69 

16.50 

2.00 

3.25 

11.95 

16.50 

10.25 

2.85 

4.25 

1.90 

1.60 

1.30 



KEYBOARD CHIPS 

AY5-2376 13.95 

AY5-3600 13.95 



U ART'S 




AY5-1013A 


5.50 


AY5-1014A 


8.95 


TR-1602A 


5.50 


TMS-601 1 


6.95 


IM-6402 


10.80 


IM--6403 


10.80 



FLOPPY DISC CONTROLLER 

1771B 55.95 

1771B-01 59.95 

SHIFT REGISTERS STATIC 



2518B 

2533V 

TMS3002 

TMS3112 

MM5058 



3.95 
2.00 
1.00 
3.95 
2.00 



MISC. OTHER COMPONENTS 



NH0025CN 

NH0026CN 

N8T20 

N8T26 

74367 

DM8098 

1488 

1489 

D-3207A 

C-3404 



1.70 
2.50 
3.50 
2.45 
.90 
.90 
1.95 
1.95 
2.00 
3.95 



P-3408A 


5.00 


P-4201 


4.95 


MM-5320 


7.50 


MM-5369 


1.90 


DM-8I30 


2.90 


DM8131 


2.75 


DM-8831 


2.50 


DM-8833 


2.50 


DM-8835 


2.50 


SN74LS367 


.90 


SN74LS368 


.90 



KIM 



KIM-1 

6502 

6520 

6522 

6530-002 

6530-003 

6530-004 

6530-005 

USRT 

S-2350 
WD1671B 



245.00 
12.95 
9.00 
9.25 
15.95 
15.95 
15.95 
15.95 



10.95 
29.95 



WAVEFORM GENERATOR 

8038 4.00 

MC4024 2.50 

566 1.75 



TV 
Game Chip 

TMS195SNL 

Now Only 
$10.95 



PerSci DISK AND CONTROLLER 

Use the PerSci Disk and Controller now with the 
Info 2000 Adapter for the S-100 Bus. 

INFO 2000 "SPECIAL" 

(includes Model 277 Dual Drive, Model 1070 

Controller, Case with power supply and fan, 

and cable) $2,150 

Model 277 Dual Diskette Drive $1,130 

Model 1070 Controller $740 

Slimline case with power supply and fan $280 

Adapter for the S-100 Bus (Kit) $120 



JADE PARALLEL/SERIAL 
INTERFACE KIT 

$124.95 KIT 



JADE 

VIDEO INTERFACE KIT 

$89.95 KIT 



8K STATIC RAM BOARD 



ASSEMBLED & TESTED 



250ns. 
350ns. 
450ns. 



5 



19&95 
189.95 
$169.95 



* WILL WORK WITH NO FRONT PANEL 

* FULL DOCUMENTATION 

* FULLY BUFFERED 

* S100 DESIGN 

* ADEOUATELY BYPASSED 

* LOW POWER SCHOTTKY SUPPORT ICS 



KIT 



250ns. 
350ns. 
450ns. 



$169.95 
$139.95 
$129.95 



IMSAI/ALTAIR" 



COMPATIBLE 



S-100 
JADEZ80 

-with PROVISIONS for \ 

ONBOARD 2708 and POWER ON JUMP 

$135.00 EA.< 2MHZ > 
$149.95 EA. « mhz > 

BARE BOARD $35.00 



IMSAI/ALTAIR 



COMPATIBLE 



S-100 
JADE 8080 A KIT 

- WITH EIGHT LEVEL VECTOR INTERRUPT 

$110.00 KIT 

BARE BOARD $35.00 




Computer Products 

5351 WEST 144th STREET 

LAWNDALE, CALIFORNIA 90260 

1213) 679-3313 



RETAIL STORE HOURS M-F 9-7 SAT. 9-5 
Discounts available at OEM quantities. Add $1.25 
for shipping. California residents add 6% sales tax. 

CATALOG FREE WITH $10.00 ORDER 






Circle 66 on inquiry card. 



BYTE December 1977 



213 



/-'^CRYSTALS {Mr 

— .~t»»C1 THESE FREQUENCIES ONLY BaS*-!/' 



PlfTS"" 

CY1A 

CY2A 



ICY2.0I 



THESE FREQUENCIES ONLY 
Frequency Case/Style ~ 

LOGO MHz HC33/U 

2.000 MHz HC33/U 



-prTco 

S5.95 • 
15.95 



2 010 MHz 



HC33IU 



CY3A 
CY7A 
CY12A 
CY14A 
CYI9A 
CY22A 
CY30B 



$1.951 



4.000 MHz 
5.000 MHz 
10 000 MHz 
14.31818 MHz 
18 000 MHz 
20.000 MHz 
32.000 MHz 



HC18/U 
HC1B/U 
HC18/U 
HC18U 
HC1S7U 
HC18/U 
HC18/U 



S495 
S4.95 
S4 95 
54.95 
S4.95 
S4.95 
S4.95 



m 



RRFAD ROARD Each kit contains 350 wires 

fc,r,t " fc ' «■»***"»** cul l0 i^ different lengths 

JUMPER WIRE KIT 'nmo.nos.o-. 

- rvi i kch wire is stripped and 

■he leads are bent 90* lor 
\*** .^.^"^^kWWW easy insertion. 

Wire length is classified 
hy color coding. 

All wire is solid tinned 22 
gauge with PVC Insulation. 
The wires come packed In 
JK1 . . . .$10.00/ kit . a ww" 1 ""! P |as,ic box - 




CONNECTORS 

PRINTED CIRCUIT EDGE-CARD 

156 Spacing-Tin-Double Read-Out 
Bifurcated Contacts — Fits .054 to .070 P.C. Cards 

15/30 PINS (Solder Eyelet) $1.95 

18/36 PINS (Solder Eyelet) $2.49 

22/44 PINS (Solder Eyelet) $2.95 

50/100 PINS (Wire Wrap) $6.95 

50/100A(.ioo Spacing) PINS (Wire Wrap) $6.95 

25 PIN-D SUBMINATURE 

DB25P PLUG $3.25 

DB25S SOCKET $4.95 



205-CB 



HEAT SINKS 



# 



205-CB Beryllium Copper w-black finish for TO-5 
291-.36H Aluminum for T0-220 Transistors & 

Regulators 
680-.75A Black Anodized Aluminum for T0-3 
Dude 4 Black Anodized Aluminum — predrilled 

mounting holes for TO-3 — 4V< x 1V4 x 2" 



$ .25 
$1.60 



S1.75 



DIP SWITCHES spsrsiid. Action 

#206-4 ( 8 pin dip) 4 switch unit S1.75 ea. 
#206-7 (14 pin dip) 7 switch unit 51.95 ei. 
#206-8 (16 pin dip) 8 switch unit 12.25 •• 




© jm 



(cannot be shipped via air) 
P.C Etch Materials Kit 
enough lot 5 circuit boards 
Etched Ciicuil Kit 
Complete tut — only add water 
6.5X4.5 X 1/16 Epmy glass 
P-Pattern-44PC Tabs-spaced .156" 
Maling connector tor plugboard — 
22 pin double readout 
Universal Microcompuler/'PrQcessor 
plugboard — Epoxy Glass— complete 
with healsmk and mounting hardware 
5.313 X 10 X 1/16 copper clad 



$29.95 ea 
$ 9.95 ea 
$ 6.95 ea 
$ 2.95 ea 
$19.95 ea 



1/16 VECTOR BOARD 



P3M ND. 

64P44 0S2XXXP 
169P44 062XXXP 
64P44 062WE 
94P44 062WE 
169P44 062WE 
169P84 062WE 
169P44 062WEC1 



1 l~l^\ SUT-N-W RAP WIRE WRAP TOOL 

ySClOt . slits and opens insulation exposing 



bare wire 

• No pre -cutting or pre-stripping. 

• Comes complete with two - 100 ft spools #28 AWG wire 

Modal P1B0 $24.50 




HEXADECIMAL 
ENCODER 19-KEY PAD 

• 1-0 

• ABCDEF 

• Shift Key 

• 2 Optional Keys 

$10.95 each 



63 KEY KEYBOARD 




HDD165 
AY-5-Z37S 



Encoder Chip (encodes 16 Keys) 
Encoder Chip (encodes 68 Keys) 



$29.95 

This keyboard tealures 63 nut 
coded SPST keys, unattached 
any kind o( P C.B A very solid 
molded plastic 13" < 4" base 
suits most applications 



S7.95 sa. 

ELlg " 



TOOLS 

A97MS — Diagonal Cutter - 4" semi-flush cut $7.95 ea. 

A11DMS — Chain Nose Pliers ■ 4%" long 7.50 ea. 

T-6 — Wire Stripper - #16 to #26 gauge 3.75 ea. 

55B — Wire Stripper - #10 to #20 gauge 2.50 ea. 

CS-8 — Cutter-Crimper Tool - 81V' long 7.95 ea. 
Nibbing Tool — Cuts, Trims or Notches Metal 

up to #18 gauge 6.95 ea. 

Nibbling Tool Replacement Punch 3.75 ea. 



MICROPROCESSOR COMPONENTS 



8080A 
8212 
8214 
8216 
8224 
8228 



2504 

2518 
2519 
2522 
2524 
2525 
2527 
2529 
2532 
2533 
3341 
7JLS670 



2513(2140) 
2513(3021) 
2516 
MM5230 



CPU 

8 Bit Input/Output 
Priority Interrupt Control 
Bi-Oirectional Bus Driver 
Clock Generator/Driver 



System Controller Bus Driver .10.95 Z80 



$16.00 CDP1802 CPU 

4.95 MC6800 8 Bit MPU 

15.95 MC6820 Periph. Interlace Adapter 

6.95 MC6810AP1 128 x 8 Static RAM 

9.95 MC6830L8 1024 x 8 Bit ROM 



CPU'S 



SR'S 

1024 Dynamic 
Hex 32 BIT 
Hex 40 BIT 
Dual 132 iill SSR 
512 Dynamic 
1024 Dynamic 
Dual 256 BIT 
Dual 512 BIT 



Filo 

16 ■ 4 Reg 

UAflT'S 
30K Baud 

ROM'S 
Chat Gen. -upper case 
Char Gen. -lower case 
Char Gen 
2046 BIT (512 x 4 on 256 x a; 



16.00 
26 50 



7489 



CPU 



256x4 
256x4 



BUI 

8599 

21L02O1L02 102-1 * I 
74200 256 x 1 

93421 256 x 1 

IMM5262 



Sialic 

Static 

Dynamic 

Sialic 

Static 

Static 

Sialic 

Static 

Static 

Sialic 

Sun 



6 95 
3SI5 

S5.95 

$9 95 

9.95 
10-95 



UPD414(2104}4K 

I702A 2048 

5203 2048 

82S23 32 x B 

B2S123 32 « 8 

74S287 1024 

3601 256 <4 



Dynam i c 



$19.95 
24.95 
15.00 
6.00 
15.00 
29.95 

$ 1.49 



4 95 
6.95 

2 49 
5.95 
8.95 

3 49 
2.25 
6 95 



Dynamic 16 Pin 
PROMS 

famos 
Open C 



2716 16K 

6301-1 1024 

6330-1 256 



Eorom 

In-Stale Bipolar 
Open Collector Bipolar 



34.95 
345 
2.9S 



SPECIAL REQUESTED ITEMS 



AY -3 -8500-1 


8.95 


AY-5-9100 


17.50 


AY-5-9200 


14.95 


AY-5-9500 


4.95 


AY-5-2376 


14.95 


9374 


1.95 


82S115 


25.00 



11C90 

4M33 

8T20 

6T97 

HDD 165 

MCM6571 

MCM6574 

7205 



19.95 MCM6575 17.50 9368 



17.50 
17.50 
19.95 



1CM7045 
ICM7207 
ICM7208 
ICM7209 
MK50240 
DS0026CH 
TIL308 



3.95 



24.95 LD110/111 

7.50 95H90 11.95 

22.00 MC3061P 3.50 

7.50 MC4016 (74416) 7.50 

17.50 MC140BL7 6.95 

3.75 MC1408L8 9.95 



PARATRONICS 

Featured on February's Front Cover of Popular Electronics 

Logic Analyzer Kit mom iom mom n 

Model 100A 



CLOCK CHIPS 

MM5309 $9.95 
MM5311 4.95 
MM5312 
MM5314 
MM5316 
MM 53 18 
MM5369 
MM5841 

cnooi 



4.95 
4.95 
6.95 
9.95 
2.95 



$229.00/kit 



I I I I I 



• Analyzes any type of digital system 

• Checks data rates in excess of 8 

million words per second 

• Trouble shoot TTL, CMOS. DTL. RTL, 
Schottky and M0S families 

• Displays 16 logic states up to 8 digits wide 

• See ones and zeros displayed on yout 
CRT, octal or hexadecimal formal 

• Tests circuits under actual operating 
conditions 

• Easy to assemble — comeswithstep-by-stepconstruction " 
manual which includes 80 pages on logic analyzer operation. 



1 1 1 m 

llll m 

#«r 

Some applications are: 
Troubleshooting microprocessor 
address, instruction, and data flow 
Examine contents oi ROMS 
Tracing operation of control logic 
Checking counter and shift 
register operation 
Monitoring I/O sequences 
Verifying proper system operations 
during testing 



PARATRONICS TRIGGER EXPANDER - Model 10 

clock Model 10 — $229.00 

unit). Baiaplatn — $9.95 



Adds 16 additional bits. Provides digital delay and qualification of input 
and 24-blt trigger word, — Connects direct to Model IQOAfor integrated 



RRiSTi Wl 




Model 2800 
$99.95 

Comes wiin test 
leads, operating manual 
and spare fuse. 



3Vi.Dlfllt Portable DMM 

■ Overload Proieded 

• .3" high LED Display 

• Battery or AC operation 

• Aulo Zeroing 

• Imv, 1Va. 0.I ohm resolution 

• Ove/ange reading 

• 10 meg Input impendence 

■ DC Accuracy 1% typical 
Ranges: DC Voltage -0-1000V/ 
AC Voltage: 0-1000V 

Freq Response 50-400 HZ 
DC/AC Current: 0-100mA 
Resistance' 0-10 meg ohm 
Size 6 4" x 4.4- x2" 
Accessories: 

AC Adapter 8C-2B 8.00 

Rechargeable 
Batteries BP-26 20.00 

Carrying Case LC-2B 6.00 



CONTINENTAL SPECIALTIES 



100 MHz 8-Dlgit Counter 

• 20 H2-1QQ MHl Range . F our p 0wef souces. I.e. 

• ,6" LED Display batteries. 110 or 220V with 

• Crystal-conlialled timebase charger 12V with auto 

• Fully Automalic lighter adapter and external 

• Portable— completely 7. 2-1 0V power supply 

.SS-t!™ I*"™ $134.95 

X5.63- 

ACCESSORIES FOR MAX 100: 

Mobile Charger Eliminator 

use power trom car lialleiy Model 100 — cut S3. 95 

Charger/Eliminator 

uaellOVAC Model 100 — CAI S9 95 



PROTO BOARD 6 

$15.95 

(6" longX 4" wide) 




Other CS Proto Boards 

PB100 - 4.5" x 6" $ 19.95 

PB101 - 5.8" x 4.5" 29.95 

PB102 - 7" x 4.5" 39.95 

PB103-9"x6" 59.95 

PB104 - 9.5" x 8" 79.95 

PB203 - 9.75 x 614 x 2% 80.00 
PB203A -9.75x614x2* 129.95 



(includes pow 



supply) 



LOGIC MONITOR 

for DTL. HTL. TTL or CMOS Devices 



$84.95 



PROTO CLIPS 



14 PIN 
16 PIN 
24 PIN 
40 PIN 



S4.50 
4.75 
8.50 

13.75 



DESIGN MATES 

DM1 - Circuit Designer 

$69.95 
DM2 - Function Generator 

$74.95 
DM3 - FtC Bridge 

$74.95 



QT PROTO STRIPS 



•v.,",',-..',';::',,' -.'. 
•V. 



PERMACEL® P-29 PLUS Electrical Tape - All Weatl 

• *i" wide x 66 n • BlacK vinyl 

Sj-9 Rolls $.79 each 10-uo Rolls $6.95/10 roll package 




•lii! 

me 

•m 

'iiiHii 



ui type 
01-59S 
0T-59H 
OT-47S 
QT-47B 
01-35S 
QT-35B 
OT-16S 
QT-12S 
OT-8S 
OT-7S 



590 



0T-7S 



Expeiimenlor 300 
Experimentor 600 



$ 9.95 
110.95 



S5.00 Minimum Order — U.S. Fundi Only 
Calllomla Raildentt — Add 6% Salei Tei 




Spec Sheet! ■ 25c — Send 35« Stamp tor 1976 Catalog 
Dealer Information Available 

1978 
CATALOG 

NOW 
AVAILABLE 



1021 -A HOWARD AVE., SAN CARLOS. CA. 94070 

PHONE ORDERS WELCOME — (415) 592-8097 

All Advertlted Prtcei Good Thru December 



CDTimeband "*\ 
Digital Alarm Clocks 




C-50.li - Ivory Case 
C-50GB - Ebony Case 

S16.95 



• 24-iiour alarm 

• Doze Bulton 

• 100°, Solid Slate 

• Large Red Led Disblay 
, 8' high) 

. AMi'PM indicator 

• Seconds display at touch 
of tuition 

• Power failure indicator 

■ One year factory warranty 




Tlmeband lamp clock 




24 hour alarm 

• Doze button 

• Alarm-on indicator 

• .8" high Red LED Display 

• AM/PM Indicator 

• High intensity lamp 

• Lamp shuts off when collapsed 
Model C-590 (Ivory) $29.95 



AM/FM 8-Track Stereo Receiver 
With BSR Changer 

• PLL System 

• BSR Record Changer 

• Slide Controls 

• Automatic AFC Control 

• 4 Speaker Output 

• Walnut finish vinyl covered 
wood veneer with smoke 
dust cover 

, Size: 20"W_x 9%"H x 15%"D 

Model 8365 $149.95 




DIGITAL STOPWATCH 



• Bnghl 6 Digit LED Display 

• Times 10 59 minutes 59.59 seconds 

• Crystal Controlled Time Base 

■ Three Stopwatches in One 

Times Single Event — Split A Taylor 

■ Size 4.5" x 2 15" x .90" |4W ounces) 

• Uses 3 Penlite Cells 

Kit — $39.95 

Assembled — $49.95 
Heavy Duty Carry Case $5.95 



Slop Watch Chip Only (7205) $19.95 




3V 2 DIGIT DPM KIT 



• New Bipolar Unit 

• Auto Zeroing 
a .5" LED 

Model KB500 DPM Kit 




Auto Polarity 
Low Power 
Single IC Unit 

$49.00 
Model 311D-5C-5V Power Kit $17.50 




JE700 CLOCK 

The JE7O0 ts a low cost digital dock, but 
is a very high quality unit The unit lea- 
tures a simulated walnul case with di- 
mensions ot 6 x 2'j xl M utilizes a 
MAN72 high hughiness readout, and the 
MM531J clock chip 



115 VAC 



it- ui ei nuui -^ _ j. __ ^jj 

KIT ONLY $16.95 



These joysticks feature four 
100K potentiometers, that 
vary resistance proportional 
to trie angle of the stick. Study 
metal construction with 
plastic components only at 
the movable joint. Perfect 
for electronic games and 
instrumentation. 
100K $5.95 

5K S4.95 



JOYSTICK 




INSTRUMENT/CLOCK CASE 



Injection molded unit. Complete 
with red bezal. 4Wx 4" x 1-9/16" 




JE803 PROBE 



The Logic Prone is a unit whicn is lo 
mdespensiole in trouOle shooting logic lamilies 
TTL. DTL RTL CMOS It dertves the power il 
needs to operate directly oft ol Ihe circuit under 
lest, drawing a scant 10 mA max It uses a MAN3 
readout 10 indicate any ol me following slates Dy 
these symbols ]H| ■ t (LOW) - o |PULSEi ■ P The 
Probe can detecl high frequency pulses lo 45 MHz 
Il can I be used ai MDS levels or circuit damage 
will result 



$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 solid 1 AMP ol current at 5 
volts We try to make things easy lor you by providing 
everything you need in one package, including the hardware 

•«»* $9.95 Per Kit J 



214 



BYTE December I 977 



Circle 67 on inquiry card. 



7400N TTL 



SN7400N 
SN7401N 
SN7402N 
SN7403N 
SN7404N 
SN74Q5N 
SN7406N 
SN7407N 
SN7408N 
SN7409N 
SN7410N 
SN7411N 
SN74I2N 
SN7413N 
SN7414N 
SN7416N 
SN7417N 
SN7420N 
SN74Z1N 
SN7422N 
SN7423N 
SN7425N 
SN7426N 
SN7427N 
SN7429N 
SN7430N 
SN7432N 
SN7437N 
SN7438N 
SN7439N 
SN7440N 
Sf«441N 
SN7442N 
SN7443N 
SN7444N 
SN7445N 
SN7446N 
SN7447S 
SN7448N 
SN745QN 
SN7451N 
SN7453N 
SN7454N 
SN7459A 
SN7460N 
SN7470N 



SN7472N 

SN7473N 

SN7474N 

SN747SN' 

SN7476N' 

SN7479N 

SN7480N 

SN7482N 

SN74B3N 

SN74B5N 

SN74B6N 

SN7488N 

SN7469N 

SN7490N 

SN7491N 

SN7492N 

SN7493N 

SN7494N 

SN7495N 

SN7496N 

SN7497N 

SN74100N 

SN741D7N 

SM74109N 

SN74116N 

SN74121N 

SN74122N 

SN74123N 

SN74125N 

SN74126N 

SN74132N 

SN74136N 

SN74141N 

SN74142N 

SN74143N 

SN74144N 

SN74145N 

SH74147N 

SN7414BN 

SN74150N 

SN74151N 

SN74153N 

SN74154N 

SN74155N 

SN74156N 

SN74157N 



SN74160N 
SN74161N 
SN741B2N 

SN74163N 
SN74164N 
SN74165N 
SN74166N 
SN74167N 
SN74170N 
SN74172N 
SH74173N 
SN74174N 
SN74175N 
SN74176N 
SN74177N 
SN74179N 
SN741B0N 
SN74181N 
SN74182N 
SN74184N 
SN741B5N 
SN74186N 
SN74187N 
SN74188N 
SN74190N 
SN74191N 
SN74192N 
SN74193N 
SN74194N 
SN74195N 
SN74196N 
SN74197N 
SN7419BN 
SN74199N 
SN74200N 
SN74251N 
SN74279N 
SN742B3N 
SN74284N 
SN74285N 
SN74365N 
5N74366N 
SN74367N 
SN74368N 
SN74390N 
SN74393N 



20% Discount fof 100 Combined 7400's 



CD40O0 
CD4001 
CD4002 
C04006 
CD4007 
CD4009 
CD4010 
CD401 I 
CD4012 
CD40I3 
CD4014 
CD4015 
CD4016 
CD4017 
CD4018 
CO4019 
CD4020 
CD4021 
CD4022 
CD4023 
CD4024 
CD4025 
CD402G 
CD4Q27 
CO402B 
C04029 
CD4030 
CD4035 
CD4040 
CD4041 
CD4042 
CD4043 



CMOS 



CD4044 


.89 


CO4046 


1.79 


CD4047 


2.50 


CD404B 


1.35 


C04049 


.49 


CO405O 


49 


CD4051 


1.19 


CD4053 


1.19 


C04Q56 


1.49 


CD4059 


9.95 


CD4060 


1.49 


CD4066 


.79 


CO406B 


.39 


CD4069 


45 


CD4070 


.55 


CD4071 


.23 


CD4072 


.49 


CD4076 


1.39 


CD4081 


.23 


CD4082 


.23 


C04098 


2.49 


MC 14409 


14.95 


MC14410 


14.95 


MC14419 


4.95 


MC14506 


- 75 


MC14507 


.99 


CD4508 


3.95 


CD4510 


1.39 


CD451 1 


1.29 


C04515 


2.95 


CD4518 


1.29 


C04520 


1 29 



MC14562 
CD4566 
MC14583 



74C02 
74C04 
74C10 
74C14 
74C23 
74C30 
74C42 
74C73 
74C74 
74C89 
74C90 
74C93 
74C95 
74C107 
74C151 
74C154 
74C157 
74C160 
74C161 
74C163 
74C164 
74C173 
74C193 
74C195 
80C95 
80C97 



2.90 

3.0D 
2.15 



LM3U0H 

LM301H 

LM301CN - 

LM302H 

LM304H 

LM305H 

LM307CN 

LM308H 

LM30BCN 

LM309H 

LM309K 

LM310CN 

LM311H 

LM311N 

LM317K 

LM318CN 

LM319N 

LM320K-5 

LM320K-5.2 

LM320K-12 

LM320K-15 

LM320T-5 

LM320T-5.2 

LM320T-B 

LM320T-12 

LM320T-15 

LM32QT-18 

LM320T-24 

LM323K-5 

LM324N 

LM339N 

LM340K-S 

IM340K-6 

LM340K-8 

LM340K-12 

LM340K-15 

LM340K-18 

LM340K-24 

LM340T-5 

LM340T-6 



LINEAR 

LM340T-8 LSS" 

LM340T-I2 1-25 

LM340T-15 1.25 

LM340T-1B 1.25 

LM34QT-24 1-25 
LM350N 



LM351CN 

78MG 

LM370M 

LM373N 

LM377N 

LM380N 

LM380CN 

LM38IN 

LM382N 

\E501K 

NE510A 

NE529A 

NES31H 

NE536T 

NE540L 

WESSON 

NE555V 

NE560B 

NES61B 

NE562B 

NE565H 

NE565N 

HE566CN 

NE567H 

NE567V 

LM703CN 

LM709H 

LM709N 

LM710N 

LM711N 

LM723H 

LM723N 

LM733N 



LM739N 1.19 

LM741CH .35 

LM741CN .35 

LM741-14N .39 

LM747H .79 

LM747N .79 

LM74BH .39 

LM74BN .39 

LM1303N .90 

LM1304N 1.19 

LM1305N 1.40 

LM1307N .85 

LM1310N 2.95 

LM1351N 1-65 

LM1414N 1.75 

LM1458CN .59 

LM1496N 95 

LM155BV 1.75 

LM2111N 1.95 

LM2901N 2,95 

LM3053 1.50 

LM3055N .69 
LM3900N{3401).49 

LM3905N .89 

LM3909 1 .25 
LM5555N 
MC5558V 
LM7525N 
LM7534N 



LH75450 

75451CN 

75452CN 

75453CN 

75454CN 

75491 CN 

75492CN 

75494CN 

RC419J 

RC4195 



4.95 



V 74 



74LS0O 
74LS02 
74LS03 
74LS04 
74L505 
74LS08 
74LS10 
741S13 
74LS14 
74LS20 
74LS26 
74LS27 
74LS2B 
74LS30 
74LS32 
74LS40 
74LS42 
74LS47 
74LS51 
74LS55 
74LS73 
74LS74 



S74LS00 TTL 



74LS75 
74LS76 
74LS63 
74LS85 
74LSB6 
74LS90 
74LS92 
74LS93 
74LS95 
74LS96 
74LS107 
74LS109 
74LS112 
74LS123 
"74LS132 
74LS136 
74LS138 
74LS139 
74LS151 
74LS153 



74LS155 
74 LSI 57 
74LS160 
74 LSI 61 
74LS162 
74LS163 
74LS164 
74LS175 
74LS181 
74LS190 
74LS191 
74LS192 
74LS193 
74LS194 
74LS195 
74LSJ53 
74LS257 
741S260 
74LSJ79 
74LS367 
74LS3B8 
74LS670 



BUGB00K" 

Continuing Education Series 
' the 





BUQBODKt I and II (17.00 pn tal 

*f Pttor R. flony. Oiiid 0. Liiun. WMHYj 

Sold as a sot llust lm> books outline over SO eipBitmnnts designed to teach 

about TTL logic duos lo um itwm i 
lunction with mluoprocassoi systems You'll learn aboui ihe basic concepts o< 
diona! electronics Ifldudino gates, fllp-llopj. latches, busts, decodefs, nulli- 
ctoafs, doftirftlplBieis, LED BispUys. HAM's. ROM's, and much, much more 



15.00 

I.WI4HYJ 

you W the laDuioui UAfll chip — that all Important 
your microcomputer. II also i 
RS !32C Interlace standard. PwtfeuHlly recomrr 



THE 555 TIMER APPUCATtONS 
SOURCEBOOK WITH EXPERIMENTS 

by Hewud M, ■•■tin 

Thus Dooti shows you what the S55 lirner is jral ho* to use il Indud 
100 various design techniques, teutons and graphs lo ceate "re. 
timers, generalors. power supples, meisuremenl and control cm 
games, circuits lor the home ard aulonohile. pholography, . 
Amateur Radio. 



BUQBODK III liOB 

ty PfliT R. Rtof, DiKd Q. Linen, WB4HYJ, Jonilhm A. TIMa 

Hera Is tho book that puts II all together Besides having much valuable text 
' tnere are a sales ot eiperlmenu In which the reader completely eiploies the 

B080 chip pm by pin and Introduces you lo the Mart B0 microcomputer 
1 unique easily interlaced system. It Is lecommendsd that you havi the U 

ground on the BUGBOOKS I & II before proceeding wtlh BUGBOOK 111. 



INSTRUCTOR'S MANUAL S3. DO 

Necessary lor instruction ol Bugbcok I ana II Answers questions regarding 
eiperiments. suggestions lor lurthel reading, philosophy ol authors approach to 
digital electronics A must lor sell. leaching individuals. 



OP AMP MANUAL 



BUGBOOK V and VI S19.00 per tat 

ty David 0. ItrtM. Peter fl, Rcay. Jeuttll A. TIHii 

Eiparimeriis In iligilal electrpnics, oOBQA mlc'ocomputer progmmmiri_ 
8DB0A mlciocomputor intortadng An integrated approach lo wit -instructed 
basic digital electronics, bread boarding and S0B0A Interlacing/programming 
Bug book VI integrates the digital concepts Dl Bugbook V Into a treatment ol 
SOB0A microcomputer programming end Interfadng Detail & laboratory 
experiments included with each book. 



S5.00 



CMOS-M — DESIGNERS PRIMER 
AND HANDBOOK 

Sum al bale structure ol CMOS devices through In 



se.oo 



COMPLETE MANUAL FOR DIGITAL CLOCKS by John Weiss and John Brookl 

FamlliarizDS technician or hobbyist with basic theories behind Signal clocks Includes trouble shooting guides, basic 

chaiactensiics ol clocks, soldeiing techniques, dock component data sheets and construction tips. S3.95 



XC209 
XC209 
XC209 
XC209 



125" dla. 
Red 
Green 
Orange 
Yellow 

.ZOO" dia 



DISCRETE LEDS 



.ISO" dla. 

10(51 
441 



XC22 


Red 


XC22 


Green 


XC22 


Yellow 


XC22 


Orange 


SSL-22 


RT 



XC526 

XC526 
XC526 
XC526 



XC556 
XC556 
XC556 
XC556 
XC556 



Red 

Green 

Yellow 41% 

Orange 4U 

.085" dia. 
MV50 ■ Red - 6/5 



Green 
Yellow 
Otange 



llNffU-AED LEO" 



DISPLAY LEDS 



TYPE 

MAN 1 

MAN 2 
MAN 3 
MAN 4 
MAN 7 
MAN 7G 
MAN7Y 
MAN 52 
MAN 71 
MAN 72 
MAN 74 
MAN SI 
MAN 82 
MANS4 
MAN 3620 
MAN 3630 
MAN 3640 
MAN 4610 
MAN 4640 
MAN 4710 
MAN 4730 
MAN 4740 
MAN 4810 
MAN 6610 



POLARITY 

Common Anode- red 
5 x 7 Dot Matrix-red 
Common Cathode-red 
Common Caihode-ied 
Common Anode-red 
Common Anode-green 
Common An ode -ye I law 
Common Anode -green 
Common Anode -red 
Common Anode -red 
Common Cathode- red 
Common Anode-yellow 
Common Anode -ye I low 
Common Cathode -yellow 
Common Anode-orange 
Common Anode-orange ±1 
Common Cathode -orange 
Common Anode-orange 
Common Cathode-orange 
Common Anode-red =1 
Common Anode-red 
Common Cathode-red 
Common Anode -yellow 
Common Anode -orange -D.O. 



TYPE 

MAN 6630 
MAN 6640 
MAN 6650 
MAN 6660 
MAN 6680 
MAN 6710 
MAN 6730 
MAN 6740 
MAN 6750 
MAN 6760 
MAN 6780 
DL701 
DL702 
OL704 
DL707 
DL74.1 
DL746 
OL747 
DL749 
DL750 
DL33B 
FNDVO 
FND5D3 
FND507 



POLARITY 



Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Commoi 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Common 
Commor 



Anode -orange 
Cathode -orange- D.D 
Cathode -otange ±1 
Anode-orange 
Cathode -orange 
Anode-red-D.D. 
Anode-red -O.D. 
Cathode -red -D.D. 
Cathode -red ±1 
Anode -red 
Cathode -red 
Anode-red ^1 
Cathode -red 
Cathode -red 
Anode -red 
An ode -red 
Anode-red +1 
Anode -red 
Cathode-ted ±1 
Cathode-red 
Cathode -red 
Cathode (FND359) 
Cathode (FND500) 
Anode (FND510) 



CA3013 
CA3023 
CA3035 
CA3039 
CA3046 
CA3053 
CA3059 
CA3060 
CA3080 
CA3081 



RCA LINEAR 

2 15 CA3082 

2.56 CA3083 

2.48 CA3086 

1.35 CA30B9 

1.30 CA3091 

i so CA3102 

3 *j> 5 CA3123 

3 '25 CA3130 

; 85 CA3140 



XR-2206KB Kit $19.95 



WAVEFORM 
GENERATORS 

XR-205 S8.40 

XR-2206CP 5.50 

XR-2207CP 3 85 

STEREO DECODERS 
XR-1310CP S3. 20 

XR-1310EP 320 

XR-1800P 320 

XR-2567 2.99 



XR-2Z06KA Kit $14.95 



EXAR 



S .49 



XR-4136 
XR-1468 
XR-1488 
XR-14B9 
XR-2208 



TIMERS 

XR-555CP 

XR-320P 1.55 

XR-556CP 1.85 

XR-255GCP 3.20 

XR-22dOCP 4.B0 
PHASE LOCKED LOOPS 

XR-210 5.20 

XR-215 6.50 

XR-567CP 1.95 

XR-567CT 1,70 



IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS 



22 pin 
14 pin 



Bpln 
10 pin 



5 SOLDERTAIL STANDARD (TIN) 



7 : < 



28 pm 
36 pin 
40 pin 

28 pin 
36 pin 
40 oin 

SOLDERTAIL S TANDARD (GOLD) 

24 pin 
28 pin 
36 pm 
43 40 pin 

WIRE WRAP SOCKETS (GOLD) LEVEL #3 

22 pin 
24 pin 
28 pin 
36 pin 



50 PCS 

ASST. 1 
ASST. 2 
ASST. 3 
ASST. 1 
ASST. 5 
ASST. 6 
ASST. 7 

ASST. 8R 



RESISTOR ASSORTMENTS $1.75 PER ASST. 

10 OHM 12 OHM 15 OHM 16 OHM 22 OHM 



27 OHM 33 OHM 39 OHM 47 OHM 56 OHM 

66 OHM 82 OHM 100 OHM 120 OHM 150 OHM 

180 OHM 220 OHM 270 OHM 330 OHM 390 OHM 

470 OHM 560 OHM 680 OHM 820 OHM IK 

I.2K 1 5K 1.BK 2.2K 



3 3K 



3.9K 
10K 



470K 
1.2M 
3 3M 



220K 
560K 
1 5M 
3 9M 



5 6K 
15K 



100K 
270K 



2.7K 
G.8K 
18K 
47K 
120K 
330K 
B20K 
2 2M 
5.6M 



1/4 WATT 5% - 50 PCS. 

1/4 WATT 5% - 50 PCS. 

1/4 WATT 5% ■ 50 PCS. 

1/4 WATT 5% ■ 50 PCS. 

1/4 WATT 5% 50 PCS. 

1/4 WATT 5% 50 PCS. 

1/4 WATT 5% 50 PCS. 



Includes Resistor Assortments 1 -7(350 PCS.) $9-95 ea. 



$5.00 Minimum Order —U.S. Fundi Only 
California Resident! - Add 6% Sales Tai 




Spec Sheets - 25c — Send 35c Stamp lor 1978 Catalog 
Dealer Information Available 



1978 

CATALOG 

NOW 

AVAILABLE 



1021-A HOWARD AVE., SAN CARLOS. CA. 94070 
PHONE ORDERS WELCOME — (415) 592-8097 

All AdvertlMd PrlCM Good Thru Ducambtr 



HOBBY-WRAP TOOL-BW-630 



Battery Operated (Size C) 
Weighs ONLY 11 Ounces 
Wraps 30 AWG Wire onto 
Standard DIP Sockets (.025 inch) 
Complete with built-in bit and sleeve 




WIRE-WRAP KIT — WK-2-W 

WRAP . STRIP . UNWRAP 

• Tool lor 30 AWG Wire 

• Roll ol 50 Ft. White or Blue 30 AWG Wire 

• 50 pes. each 1", 2". 3" & A" lengths 
pre-stripped wire. 



$11.95 




WIRE WRAP TOOL WSU-30 
WRAP • STRIP . UNWRAP -S5.9! 



WIRE WRAP WIRE — 30 AWG 

25tt.min.{1.25 50H. $1.95 100ft. $2.95 1000 ft. $1 5.00 
SPECIFY COLOR — White ■ Yellow - Red - Green -Blue - Black 



WIRE DISPENSER — WD-30 

50 ft. roll 30 AWG KYNAR wire wrap wire $3.45 ea. 



• Cuts wire to desired length 

• Strips 1" of insulation Specify 



- Blue-Yellow-White-Red 



REPLACEMENT DISPENSER SPOOLS FOR WD 30 

Specify blue, yellow, white or red 



S1.9B/spool 



DIP/IC INSERTION TOOL WITH PIN STRAIGHTEN 

Inserts both 14 and 16 pin packages. Pin Straightener 

built into Handle. 

Model INS-1416 $3.49/ea. 



HP 5082-7400 SERIES — MULTI-DIGIT 



• 14" ht. • Common Cathode Red 2 Digit 

• 3-5 volts @ 5 mils/second 3 Digit 

• 7 segment Monolithic 4 Digit 

• Dip Package 5 Digit 



10 or more 

$ .79 .69 

.89 .79 

.99 .89 

1.19 .3S 



TV GAME CHIP SET — $9.95 

Includes AY-3-8500-1 Chip and 2.010 mhz crystal 
(2.010 crystal — $1.95 ea/AY -3 -8500-1 Chip — $8.95 ea.) 



TYPE 

1N746 
1N75IA 
1N752 
1N753 
1N754 
1N959 
1N965B 
1N5232 
1N5234 
1N5235 
1N5Z36 
1N456 
1N45S 
1N4B5A 
1N4O01 
1N4002 
1N4O03 
1N4D04 



ZENERS — 

VOLTS W 

3.3 400mm 

5.1 400m 
5.6 400m 

6.2 400m 
6.6 400m 
B.2 400m 
15 400m 
5.6 500m 
6.2 500m 
6.8 500m 
7.5 500m 



50 PIV 1 AMP 

100 PIV 1 AMP 

200 PIV 1 AMP 

400 PfV 1 AMP 



DIODES — 

PRICE TYPE 

4/1.00 1N4005 

4/1.00 1N4O06 

4/1.00 1N4O07 

4/1.00 1N36O0 

4/1.00 1N4148 

8/1.00 1N4154 

4/1.00 1N4305 

28 1N4734 

28 1N4735 

2B 1N4736 

28 1N4738 

6/1.00 1N4742 

6/1.00 1N4744 

6/1.00 1N11B3 

12/1.00 1N11B4 

12/1,00 1N1185 

12/1.00 1N1186 

12/1.00 1N118B 



RECTIFIERS 

VOLTS W 

600 PIV 1 AMP 
800 PIV 1 AMP 
1000 PIV 1 AMP 
20Om 



10m 
10m 



PRICE 

10/1.00 
10/1 .00 
10/1. oo 
6/1. 00 
15/1.00 
12/1.00 
20/1 .00 
28 
28 



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 
2N232B 
MOA 980-1 
MDA 980-3 



15A@400V 
35A @ 200V 
1 .6A @ 200V 



FW BRIDGE REC. 
FW BRIDGE REC 



MPS MS 511.00 

MPSA06 6/1100 

:mii 41I.M 

2NH19A J/1100 

2K2221 4(11.00 

2N27Z2A rVJl.DO 

2N2349 5/f 1 DO 

2N2369A 4/11.00 

2N24M 4/1100 

2K2SOflA 4/11.00 

2N2907A 5/11.00 

2H292S Wit. 00 



2WMS 
MJE2KS 

MJE3055 
2N3W2 
2H1399 
PH3S87 



TRANSISTORS 



2.1100 
I .89 



2H3SM 
2H3702 
2N37U4 
2N370S 
2N3706 
2N3707 
2N3711 
2W724 
2H172S 
2N3772 
2N3903 
2K3904 
2K390S 
2N39Q6 
2N4013 
2N4014 
2N4T23 



5/1100 
5/11.00 
S/11.00 



T2K3/D4 3/11. OU 

2N37Q5 5/J1.00 *T{ 

2N3706 Wll.DO Tf* 

2N3707 Sftl.IH I 

2nB711 5/*1.00 
2N3724 1 ,85 



5/11.00 
4/1100 
4/11.00 



PN4250 
2H4400 
2M401 
2N4402 
2N4403 
2H4409 
2HS0B6 
2H5097 
2N508B 
2N5089 
2NSI29 
2H51J* 



2N5210 
2N5432 
2NS449 
2H59S1 



4/11.00 
4/11.00 
4/11.00 
5/11 DO 
5/11.00 



511.00 
COO 
3/11.00 
511.00 



CI 0681 SCfl 211.01 

40409 11.75 

40410 11.75 



CAPACITOR 



10 pf 
22 pf 

47 pi 
100 pi 
220 pi 
470 pl 

.001ml 
.0022 
.0047ml 
,01ml 

1/35V 
.15/35V 
.22/35V 
.33/35V 
.47/35V 
.68/35V 
1 .0/35V 



50 VOLT CERAMIC 
DISC CAPACITORS 

10-49 50-100 
.04 ,03 .OOVF 



CORNER 



.05 



0047^F 
.04 .03 .DVF .05 

.04 .03 022J.F .06 

.04 .03 .047 M F .06 

.04 .035 .IftF .12 

100 VOLT MYLAR FILM CAPACITORS 

.022mf 

.047ml 



.10 



07 



.imf 



.27 



22ml 

+20% DIPPED TANTALUMS [SOLID) CAPACITORS 
.28 .23 .17 1.5/35V .30 .26 
.28 .23 -17 2.2/25V .31 .27 
,2B .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 



.47/50V 
1.0/50V 
3.3/50V 
4.7/25V 
10/25V 
10/50V 
22/25V 
22/50V 
47/25V 
47/50V 
10O/25V 
1O0/50V 
220/25V 
220/50V 
470/25V 
1000/16V 
220O/16V 



Axial Lead 



.10 



.47/25V 
.47/50V 
1.0/16V 
1 .0/25V 
1.0/50V 
4.7/16V 
4.7/25V 
4.7/50V 
10/16V 
10/25V 
10/50V 
47/50V 
100/16V 
100/25V 
100/50V 
220/1 6V 
470/25V 



Radial Ltid 



.15 



.13 



Circle 67 on inquiry card. 



BYTE December 1977 



215 



Whst's New? 



SYSTEMS 



MCM's Desk Top APL Computer 




MCM Computers Inc has announced 
the reduction in price of its System 700, 
Model 782 APL computer to $4,950, an 
offer explicitly aimed at the personal 
computing user. 

The stand alone unit is smaller than 
an office typewriter, Weighs only 20 
pounds (9 kg), and features a full APL 
language interpreter interchangeable 
with the latest implementations running 
on MCM's larger System 800 and com- 
parable to APL.SV implementations 
running on large scale systems such as 
the IBM 370. The unit also contains 
file handling and virtual memory (AVS) 
operating systems, and provides up to 
1 00 K bytes of virtual memory swapping 
on one of its two built-in cassettes. A 



total of 200 K bytes of randomly 
accessible magnetic tape storage is 
available between the two cassette 
drives. This "external" memory is in 
addition to the built-in 8 K bytes of 
programmable memory and 32 K bytes 
of read only memory. The MCM 782 
also incorporates a battery backup 
system that automatically saves the 
user's workspace in case of power loss. 
Other technical features incorporated 
into the machine include dynamic 
memory allocation of one to eight bytes 
for integer data to conserve memory, 
total system overhead of less than 500 
bytes, and extended prompting facility 
for interactive English language conver- 
sational programs. The unit has an 



integrated plasma alphanumeric display, 
full 46 key input and a bus structure 
to allow interface to the company's 
other peripheral products. Attachments 
supported by the MCM unit include 
floppy disk, printer, plotter, card reader 
and a serial communications interface 
that provides RS232C connection to a 
host of standard devices in the general 
computing market. 

The RS232C interface, called the 
SCI-1200, is also being announced for 
$650. The unit provides programmable 
protocol and line speed for serial con- 
nection to any 4 to 8 bit serial device. 
It is fully supported by software in read 
only memory and provides an ability 
to connect any ASCII, EBCDIC, corres- 
pondence or other devices. Printers 
such as Teletypes and DECwriters can 
be connected via this SCI-1200, as can 
an acoustic coupler for communications 
with other systems, at speeds of up to 
1200 bps. 

MCM provides a number of software 
packages for use on its system, including 
math, statistics, finance, plotting, general 
ledger, order entry, billing, production 
planning, dynamic purchasing, manage- 
ment problem solving, and so on. A text 
editor package called Text/700 is also 
available. A computer games package 
is available for $100, which includes 
blackjack, hangman, ecology, and math 
drills for younger users. 

The MCM 782 is being marketed 
direct from MCM to end users at a 
price of $4,950, FOB Fort Lee NJ 
for shipments in the US, and FOB 
Kingston Ontario for shipments in 
Canada. All units are factory warranted 
for a period of 90 days. Deliveries are 
presently available from stock. All 
prepaid orders or inquiries should be 
directed to MCM's headquarters in either 
the US or Canada. Contact MCM Com- 
puters Inc, 2125 Center Av, Fort Lee N] 
07024, (201) 944-2737, or, in Canada, 
MCM Computers Ltd, 6700 Finch Av 
W, Suite 600, Rexdale, Ontario 
CANADA M9W5P5, (416) 675-1353." 

Circle 545 on inquiry card. 



A Chess "Mate" from Chafitz 




Chafitz has introduced a very inter- 
esting device: a $200 Chess Challenger 
designed to play chess against human 
competition at a fairly sophisticated 
level. 

The unit is microprocessor based. 
The. physical package consists of a 
rectangular enclosure containing the 



electronics, on top of which is a chess 
board, a calculator-like keyboard and an 
LED display. The user enters moves 
using a simple coordinate code system, 
and the computer displays its moves 
on the LED display. Any regulation 
move can be made, including castling 
(king or queen side) and capturing en 
passant. 

If the user improves to the point 
where he or she can consistently beat 
the Chess Challenger, the unit can be 
returned to have a more sophisticated 
set of algorithms entered by the 
manufacturer. 

The device is intended primarily 
for the chess novice, of course, but 
unless you're Bobby Fisher (who claims 
to have beaten the unit every time in 
the #1 issue of Computer Chess News- 
letter) you should find it to be of 



interest. Hackers who are also chess 
freaks will be inspired to try their skills 
at designing and programming chess 
playing algorithms of their own. 

For more information, contact 
Chafitz, 1055 First St, Rockville MD 
20850, (301) 340-0200." 



CHECK - 
Lights when the \ 
computer has you \ 
in check 
FRDMWMn 
Displays the past 
tier ot the piece 
you want to move 
(your Starting 
position) 
REitt. 

Starts the game" 
—will cancel 
mBmoiy 
Double Mr 
To be used lor 
Cashing and lor 
En Passant 
Ktyi~ 
Designates Rank 
and File board 



_ CH6CK 01 I CISC 

EH EH 

FROM TO 

QQ9Q 
(D O Q □ 

o ooo 



, I LOSE 

L -guts when com- 
pillar admits de 
teal and is in 
checkmate 
JOWMnr 
Displays the new 
position to which 
you have chosen 



I io m 






piece 
emir 

To enler yow 
move Inlo the 
computer 

CLur 

To clear an un 
wanted move 
be lore pressing 
ante i 



— CONTROL CENTER — 



216 



BYTE December 1977 



TOUCH TONE ENCODER KIT 



Simplicity itself to complete. No other parts required, no crystal required. The back 
of the touch pad has etched & drilled PC board and you solder the encoder chip to it. 
Add your own small speaker & 9 volt battery and you are done. A touch of the pad 
produces the proper tone signal from the speaker. We furnish schematic and instruc- 
tions. 

SP-149-B $12.95 





VIATRON CASSETTE DECKS 



The computer cassette deck alone $35. Set of 2 boards read/write amp & serve 
control boards of this deck. $40.00 



IR NIGHT VIEWER $199.00 



Custom made, complete with light source & viewer in one piece. Comes 
with carrying strap. Ready to operate with 6 volt lantern battery. Guar- 
anteed by the manufacturer. See in total darkness. Great for scientists, 
viewing nocturnal animals & birds, criminal investigation. . .observe 
without being observed, and a ball for just plain snooping!!!! Sorry 
to say but no shipments to Calif, (lens may vary slightly from pic) 

SPL-21 $199.00 




FACTORY REJECT CALCULATORS 



All more or less as shown. Some have "K" some don't. Not 
a cheapy. Probably sold for around $25.00. We check a 
dozen or so and we found they seem to work for the most 
part. Runs on snap-on 9V battery. Some 4, some 5 func- 
tion. We include a reprint of How to fix calculators from 
one of the magazines. Sold AS IS. 



Ship wgt. 1 lb 



SP-253A $3.00 



0X1 E W 

BOOK 

ana a 
boo a 

OB S 



WIRE WRAP WIRE 

TEFZEL blue #30 Reg. price 
$13.28/100 ft. Our price 100 ft $2.00; 
500 ft $7.50. 



MULTI COLORED SPECTRA WIRE 



Footage 
8Cond. #24 
12 " 22 
14 " 22 
24 " #24 
29 " 22 
Great savings as 



10' 
$2.50 
3.00 
3.50 
5.00 
7.50 
these 



50' 

9.00 

11.00 

13.00 



100' 
15.00 
18.00 
21.00 



20.00 30.00 
28.00 45.00 

are about 1/4 



book prices. All fresh & new. 



TOUCHTONE ENCODER CHIP 

Compatible with Bell system, no crystal required. Ideal 
for repeaters & w/specs. S6.00 



CHARACTER GENERATOR CHIP 

Memory is 512x5 produces 64 five by seven ASCII 
characters. New material w/data S6.00 



sWe&nMQr 



Please add shipping cost on above. Minimum order $10 

FREE CATALOG SP-IO NOW READY 
P.O. Box 62, E. Lynn, Massachusetts 01904 



Circle 71 on inquiry card. 



BYTE December 1977 



217 



What's New? 



COSMAC Based Microcomputer Kit 



SYSTEMS 



A Real Word Processor 




Computer Power and Light Inc, 
12321 Ventura Blvd, Studio City CA 
91604, (213) 760-0405, has announced 
this "commercial quality" microcom- 
puter based word processing system for 
under $6000, complete. Based on the 
firm's COMPAL-80 computer and Xerox 
Corporation's Diablo 1620 daisy wheel 
printer, it is said to contain features 
previously found on systems costing 
$20,000 or more. 



Features of the machine include text 
editing using a large CRT display; inser- 
tion or deletion of text, and the ability 
to move blocks of text anywhere; 
variable speed scrolling of entire text on 
the CRT, forward or backward; ability 
to search for all occurrences of a specific 
word or group of words, and replace- 
ment with alternative word or words; 
storage and retrieval of finished text on 
low cost Philips audio cassettes at the 
rate of 240 characters per second; a 
variety of printing options including 
variable line length; 1 to 5 spaces between 
lines; variable character spacing; preset- 
table page headings; page numbering; 
and right and left margin justification 
using the Diablo's unique character 
spacing routines: no extra blanks are 
inserted in your text, nor is there any 
need for hyphenation. 

This interesting application system is 
available from Computer Power and 
Light, 12321 Ventura Blvd, Studio 
City CA 91604 or 7878 Clairemont 
Mesa Blvd, San Diego CA 921 1 1 . 4 year 
lease plans and bank financing are 
available." 

Circle 539 on inquiry card. 



ICS Microcomputer Trainer 



Pre-assembled Motorola MEK6800D2 





A complete self-study microcom- 
puter training course including an 8080 
based single board computer has been 
introduced by Integrated Computer 
Systems Inc, 4445 Overland Av, Culver 
City CA 90230, (213) 559-9265. The 
computer includes 512 bytes of CMOS 
memory, a 1 K byte monitor in electri- 
cally erasable PROM, a keyboard and 
LED display, and a prototyping area for 
audio cassette, RS-232, current loop or 
other interface circuits. The board is 
accompanied by a 650 page Microcom- 
puter Training Workbook which teaches 
the 8080 instruction set, basic program- 
ming and hardware design techniques. 
The entire package, minus a power 
supply, is offered for $545." 



A fully assembled version of the 
Motorola MEK6800D2 kit, requiring 
only a 5 V, 1 A power supply, is avail- 
able from Audio Engineering, 121 
Wisconsin NE, Albuquerque NM 87108, 
(505) 255-6451. The SY1-068 features 
a stand for the processor board and an 
attractive case for the keyboard and 
LED display. The processor board in- 
cludes 256 bytes of memory, a 1 K byte 
ROM monitor, cassette interface, and 
parallel IO. The SY1-068 is priced at 
$269. Accessories include the keyboard 
and display case at $1 2.50, an extra 1 28 
bytes of memory at $7.50, and a power 
supply kit with a 60 Hz clock at 
$29.95." 




This kit, based on the RCA COSMAC 
1802 processor, is designed to be as- 
sembled by the user by wire wrapping 
on two pieces of Micro Vectorboard. 
The kit includes a 5 V, 1 A power 
supply, eight toggle switches and LEDs, 
processor integrated circuit and clock, 
and 256 bytes of memory. Accessories 
such as a cabinet and memory are 
planned. The kit is priced at $90. Wire 
wrap sockets, wire and tool are an 
additional $10, available from Child 
Odyssey Enterprises Inc, POB 137, 
Alamogordo NM 88310, (505) 434- 
1065." 

Circle 541 on inquiry card. 

Z-80 Based System Features 
Support Boards 




The new Z-80 based Mike 8 system 
features compatibility with most of the 
boards already available for the 8080 
based Mike 3. The full blown Model 
882 version of the Mike 8 includes a 
CPU board, 4 K bytes of memory, a 
1 K byte monitor program in ROM, and 
a "console board" with a keyboard and 
LED display. The package also includes 
an EROM programmer, a blank 2708 
EROM, and an ultraviolet lamp for 
EROM erasure. The Model 882 is 
mounted on a base with a switching 
regulated power supply. An extensive 
manual and a book entitled Microcom- 
puter Design complete the package, 
which sells for $895. Smaller Z-80 based 
systems are also offered, starting at 
$495. The book Microcomputer Design 
is available separately for $14.95. The 
Mike 8 is available through Semicon- 
ductor Specialists, the industrial distribu- 
tor based in Elmhurst IL, as well as the 
"MPU Shops" which Semi Specs is 
opening at many of its branch offices, 
or from the manufacturer, Martin 
Research, 3336 Commerica! Av, North- 
brook IL 60062, (312) 498-5060." 



Circle 540 on inquiry card. 



Circle 543 on inquiry card. 



Circle 542 on inquiry card. 



218 



BYTE December 1977 



Now low-cost memory 
stacks up g % Jn in reliability! 






Introducing a new generation of ECONORAM dynamics 
with SynchroFresh reliability 



Meet ECONORAM* III with SynchroFresh™, the 
8Kx8 dynamic memory for S-lOO bus computers that 
really works. And uses less than half the power 
of static designs. And costs just $149 for an 
assembled 8K. 

Unlike previous attempts at building a low-cost dy- 
namic memory, ECONORAM* III is entirely reliable . . . 
because of SynchroFresh™, a new approach to memory 
refresh that is simple, elegant and totally effective. 

SynchroFresh™was invented by George Morrow, de- 
signer of the original ECONORAM*. Instead of ar- 
bitrarily interrupting your CPU to perform memory 
refresh cycles, Morrow designed SynchroFresh™ to 
weave refresh invisibly into the natural timing of the 
S-lOO bus. SynchroFresh™ circuitry simply monitors 
your computer's machine states, utilizing all of the 
normal opportunities for memory refresh. It's 
that simple. 

And simplicity means reliability and dramatically 
lower cost. That's why a SynchroFresh™ design was 
chosen for the first ECONORAM* dynamic, to follow in 
the footsteps of the largest-selling static memories 
for personal computers. 



ECONORAM* III with SynchroFresh™ is an 8Kx8 dy- 
namic board, configured as two individually address- 
able 4K blocks for flexibility. It is available assembled, 
tested and warranteed for one full year for just $149. 
This unprecedented warrantee offers a full refund of 
purchase price if ECONORAM* III does not run 
reliably with your S-lOO CPU— evidence of our con- 
fidence in its performance. 

It is also available as a kit with complete assembly 
instructions and documentation for $159. 

ECONORAM* III with SynchroFresh™, in assembled 
or kit form, may be ordered directly from Thinker- 
Toys™. Write 1201 10th Street, Berkeley CA 94710 
or call (415) 527-7548. Call BAC/MC orders toll-free 
to 800-648-5311. Or ask your computer store to order 
it for you. 

NEW LOW PRICE 



$149 



8K assembled, .tested, warranteed 
1 year 



A product of Morrow's Micro-Stuff for 



Thinker Toys 

•ECONORAM is a trademark ot Gndbnur Flmrrnnirs •■ 



Circle 73 or 



What's New? 



PERIPHERALS 



First of a Series of Music Boards 



Video Board for 6800 Systems 



New Enclosures and Card Extender 



IKiilllS 
llllllll 

main 
iiiiini 

111/3111 




A printed circuit board based on 
Alfred Anderson's article "Build This 
Video Display Terminal," November 
1976 BYTE, page 106, is available from 
F & D Associates, Box 183, New 
Plymouth OH 45654, (614) 385-2023. 
The circuit generates a 16 by 32 char- 
acter display and can switch between 
two 512 byte pages of memory. The 
board is designed to plug into the 
SwTPC (SS-50) bus, but could be 
interfaced to other 6800 systems. Space 
is provided on the board for mounting 
an ATV Research Pixie-Verter (RF 
modulator). The board and construc- 
tion hints are offered for $29 plus 
$2.50 shipping." 

Circle 546 on inquiry card. 



16 K of EROM on One Board 





\J! 



. Enclosures for Altair (S-100) bus 
compatible systems are now available 
from Vector Electronic Co Inc, 12460 
Gladstone Av, Sylmar CA 91342, (213) 
365-9661. The enclosure dimensions, 
17.9 by 9.0 by 17.1 inches (45.5 by 22.9 
by 43.4 cm), allow room for up to 21 
cards, and plastic card guides are pro- 
vided for 12 cards. Adjustable slots 
are provided for a mother board. Slide- 
in top, bottom and side panels free of 
screws and fasteners make for an attrac- 
tive finish. Optional accessories include 
a prepunched rear panel with ten holes 
for DB25 connectors. The VP1 
($128.30) uses the Altair configuration 
of side to side card orientation with 
power supply in the rear, while the 
VP2 ($134.30) has the IMSAI configura- 
tion of front to back card orientation 
with power supply on the right side. 
Also available from Vector is the 3690- 
12 7.5 inch (19.0 cm) card extender, 
assembled with edge connector for $25." 

Circle 548 on inquiry card. 









{1 


IBS 1 ' EH« 
Si l-VH 

Riil 

■RflPr 1 ' ' t» HW l! is*; 

I 






jjjjBJi K' |K 




^™ 


sllli 




'8T 


1 1 p- 




ifgJL 


in 
mmmWSfn 






5 m> 



The 10-5-9 and 10-5-10 quad chro- 
matic pitch generator boards are de- 
signed to be a low cost start in computer 
controlled music generation. The single 
board pitch generator produces one to 
four tones simultaneously; two boards 
can be used to produce eight simultane- 
ous tones in stereo. Each of the four 
tones are separately controlled and can 
produce any of 96 tones which form 
an 8 octave range. This covers the 
entire standard piano range, plus eight 
higher pitches. Special connections allow 
later expansion with accessory boards 
to control various sound parameters. 
Using the optional on board crystal 
oscillator or a 2 MHz source (external 
or pin 49 on the S-100 bus) all pitches 
are within 0.1% of the A-440 Hz 
standard. The 10-5-9 is S-100 com- 
patible, and the 10-5-10 is compatible 
with parallel output ports. Kit prices 
for both versions range from $111 
to $159 (depending on the number of 
simultaneous tones), and the assembled 
price is $185. The oscillator is an 
additional $16. Available for product 
evaluation: data sheet (free), demonstra- 
tion record ($1), and owner's manual 
($3 plus $1 postage). Contact ALF 
Products Inc, 128 S Taft, Denver CO 
80228,(303) 234-0871." 

Circle 547 on inquiry card. 



This memory board is designed 
to hold up to 16 of the popular 2708 
1 K byte EROMs, which have lately 
dropped to a very affordable price. 
Unused 4 K sections of the board can 
be disabled to avoid consuming excess 
memory address space. A wait state 
feature is provided for fast Z-80 based 
systems. The complete kit for an 
Altair (S-100) bus computer is available 
for $85, minus the 2708 EROMs, from 
IBEX, 1010 Morse Av, Suite 5, Sunny- 
vale CA 94086, (408) 739-3770." 

Circle 550 on Inquiry card. 



4 K 1702A EROM Board 




Circle 549 on inquiry card. 



A 4 K byte 1702A-based EROM 
memory board for the SwTPC 6800 and 
similar systems is available from Aptec 
Inc, POB 15296, Tulsa OK 74115. An 
accessory clock stretcher board, based 
on Jerry Henshaw's article "Stretch 
Thai 6800 Clock," December 1976 
BYTE, page 42, is offered to accommo- 
date the relatively slow 1702As. A 
complete kit minus the 1702As is 
priced at $87.50, while the printed 
circuit board and connector alone are 
$27.50. The clock stretcher kit is 
$6.25, or $2.50 for the board." 



220 



BYTE December 1977 



S.D. SALES COMPANY 



NOW THE ULTIMATE RAM BOARD 



MEMORY CAPACITY 
MEMORY ADDRESSING 
MEMORY WRITE 
PROTECTION 
8K, 16K, 24K, 32K using Mos- 
tek MK4115 with 8K bound- 
aries and protection. Utilizes 
DIP switches. PC board comes 
with sockets for 32K operation. 
Orders now being accepted 
allow 6 to 8 weeks for delivery. 

Available the 1st quarter of 
1978: 16K, 32K, 48K, 64K 
using Mostek 4116 with 16K 
boundaries and protection. 



32K FOR $475.00 

Buy an S100 compatible 8K Ram Board and 
upgrade the same board to a maximum of 
3 2 K in steps of 8K at your option by merely 
purchasing more ram chips from S.D. Sales! At 
a guaranteed price - Look at the features we 
have built into the board. 

PRICES START AT $151. FOR 8K RAM KIT 
Add $108.00 for each additional 8K Ram 

Board fully assembed and tested for $50. extra. 

8K FOR $151.00 



INTERFACE CAPABILITY 
Control, data and address inputs 
utilizes low power Schottky 
devices. 

POWER REQUIREMENTS 

+8VDC 4O0MA DC 

4 18VDC 400MA DC 

-18VDC 30MADC 

on board regulation is provided. 

On board (invisible)refresh is 

provided with no wait states or 

cycle stealing required. 

MEMORY ACCESS TIME 

IS 375ns. 

Memory Cycle Time is 500ns. 




Z-80 CPU BOARD KIT - Complete Kit $139. 

CHECK THE ADVANCED FEATURES OF OUR Z-80 CPU BOARD: 
Expanded set of 158 instructions, 8080A software capability, operation 
from a single 5VDC power supply; always stops on an M1 state, true sync 
generated on card (a real plus feature!), dynamic refresh and NMI available, 
either 2MHZ or 4MHZ operation, quality double sided plated through PC 
board; parts plus sockets priced for all IC's. "Add $10. extra for Z— 80A chip 
which allows 4MHZ operation. Z-80 chip with Manual - $39.95 



DIGITAL LED READOUT 
THERMOMETER - $29.95 

Features; Litronix dual 1/2" \ ., 
displays. Uses Silicoaix LD131 \ **Qflk, 
single chip CMOS A/D con- 
verter. Kit includes all nec- 
essary parts (except case); 
AC line cord and power 
supply included. 0-149° F 




6 DIGIT ALARM CLOCK KIT 

Features: Litronix dual 1/2" displays, Mostek 
50250 super clock chip, single I.C. segment 
driver, SCR digit drivers. Greatly simplified 
construction. More reliable and easier to build. 
Kit includes all necessary parts (except case). 
Xfmr optional. Eliminate the hassle — avoid 
the 5314! Do not confuse the Non — Alarm 
kits sold by our competition! *io QC /b-H 
AC XFMR - $1.50 Case $3.50 *l6.bO/Kll 



5 Digit Countdown Utility- 
Darkroom Timer Kit - $44.95 




Features: Large LED Ift" displays, crystal 
controlled Mostek 50397 counter display 
driver, set timer at 0.1 second precision 
from 0.1 second to 59 minute 59.9 sec- 
ond, 5A-115V relay Included to control 
photographic enlarge r, sun lamp, appli- 
ances, TV, or other equipment, operates 
on 115V AC, displays can be turned off 
for total darkness applications, simple 
push button operation, use In kitchen, 
school, office or laboratory. All nec- 
essary parts included. Special desiqn case 
$3.75 



6 Digit General Purpose or 
Computer Timer Kit - $29.95 

Features: Large LED Vi" displays, Mostek 50397 counter 
display/driver, counts up to 59 minutes, 59.99 seconds with 
crystal controlled 1/100 second accuracy, operates on 1 15V AC or 
12V DC supply. Use it to time telephone calls, athletic events, 
practice time, school and laboratory demonstrations, 
expeiiemerUs, chess games, etc. Time computer functions in real 
time such as run times on programs, sub routines and other 
computer controlled events. Requires two output channels for 
start/stop and clear controls. All necessary parts included. Special 
design case $3.75 



RAM'S-CPU'S-PROM'S 



21L02-500NS 8/11.50 

21L02-250NS 8/15.95 

2114-4K 14.95 

1101A-256 8/S4.00 

1103- IK 99 

MK4115-8K 19.45 

74S 200 • 256 3.95 

Z-80 includes manual 29.95 

Z— 80A includes manual 34.95 

8080ACPU8BIT 11.95 

8008 CPU 8 BIT 6.95 

1702A- 1K- 1.5us 3.95 or 10/35. 

2708 - 8K Intel - 450ns 14.95 

5204 - 4K 7.95 

82S129- IK 2.50 

2708S • 8K signetics 650ns 9.95 



8K LOW POWER RAM $159.95 

Fully assembled and tested. Not a kit. 

Imsai -Altair - S-100 Buss compatible, 
uses low power static 21L02-500ns fully 
buffered on board regulated, quality 
plated through PC board, including solder 
mask. 8 pos. dip switches for address select. 



4K LOW POWER RAM KIT 

Fully Buffered — on board regulated — re- 
duced power consumtpion utilizing low 
power 21 L02 - 1 500ns RAMS - Sockets 
provided for all IC's. Quality plated through 
PC board. "Add $10. for 250ns 

RAM operation 

The Whole Works-$79.95 



MUSICAL HORN 



One tune supplied with each kit. Additional tunes — $6.95 
each. Special tunes available. Standard tunes now available: 
—Dixie — Eyes of Texas — On Wisconsin — Yankee Doodle 
Dandy - Notre Dame - Pink Panther - Aggie War Song — 
Anchors Away - Never on Sunday — Yellow Rose of 
Texas — Deep in the Heart of Texas — Boomer Sooner — 
Bridge over River Kwai 

. , . CAR & BOAT KIT HOME KIT 

Special Design _ . __ — ^^ 

Case S3 50 $34.95 $26.90 



Jumbo LED Car Clock Kit 



FEATURES: 

A. Bowmar Jumbo .5 inch LED array. 

B. MOSTEK - 50250 - Super clock chip. 

C. On board precision crystal lime base. 

D. 12 or 24 hour Real Time format. 

E. Perfect for cars, boats, vans, etc. 

F. PC board and all parts (less case) inc. 
Alarm option — SI .50 

AC XFMR -Si. 50 



$16.95 



Bowmar 4 Digit 
LED Readout Array 

4 JUMBO .50" DIGITS ON ONE STICK! 
WITH COLONS & AM/PM INDICATOR 
$3.95 



Full y 2 " Litronix Jumbo Dual 
Digit LED Displays 



DL 722 -C.C. 

DL721 -C.A. 

99c 



DL 728 -C.C. 

DL 727 - C.A. 

$1.29 



Low Cost Cassette Interface Kit 
$14.95 

Features: K.C. standrad 2400/1200 Hz, 300 
Baud, TTL, I/O compatible, phase lock loop, 
22 pin connector. Feeds serial data via micro- 
processors I/O ports and from cassette tape 
recorder. $14.95 




^> DISC CAP * 
ASSORTMENT 
PC leads. At least 
10 different values. 
Includes .001., .01, 
.05 + other standard 
values 60/$1.00 



JOYSTICKS! 

4-100K 

POTS 

$3.95 each 



W& 



39 MFD 
16V Mallory 
Electrolytic 

15/S1.00 



RESISTOR * 
ASSORTMENT 

PC leads 
A good mix of 

values. SPECIAL! 
200/S2.00 



*■ iooo mfd a 

FILTER CAPS" 
Rated 35 WVDC. 
Upright style with 
PC leads. Many pop- 
ular values. 4/$1. 



FLAT PACK 
5400 SERIES 
20 asst. devices 
for $1.00 s*,^ 
W 




Microprocessor Chips 

8212- I/O port 3.50 

8214- P.I. C 12.95 

8216- Non Invert Bus 4.95 

8224 - Clock Gen .■ 4.95 

8226 - Invert Bus 3.95 

PIO for Z-80 14.95 

CTC for Z-80 14.95 

8228 Sys. Controller. 8.20 

8251 Prog. comm. interface 10.95 

8255 Prog. perp. interface 13.50 

8820 Dual Line Recr ' . . 1 .75 

8830 Dual Line Dr 1.75 

2513 Char. Gen 7.50 

8838 Quad Bus. Recvr 2.00 

74LS138N - 1/8 decoder 99 

8T97-Hex Tri-State Buffer 1.25 

1488/1489 RS232 1.50 

TR1602B Uart 3.95 



Counter Chips 



ITT DUAL 

SENSE 

AMPLIFIER 

75234 and 75235 

49c each 



SPRAGUE DUAL 

DIFFERENTIAL 

AMP. TD101 

49c each 




POWER RESISTOR 

15 OHM 

25Wby 

CLAROSTAT 

75c Each 



ITT PART NO. 

SAJ 110 

Ideal for electronic 

music circuits 

7 stage freq. dividers. 

49c each 



MK50397 6 Digit elapsed timer. . . . 8.95 

MK50250 Alarm clock 4.99 

MK50380 Alarm chip 2.95 

MK50396 6 digit up/down counter 12.95 

MK5002 4 digit counter 8.95 

MK5021 - Cal. chip sq. root 2.50 



P.O. BOX 28810 - B 
DALLAS, TEXAS 75228 



S. D. SALES CD. 



i Emplro Ind. Co. 



Call in your Visa or Mastercharge 
in on our Toll Free Watts Line: 

1-800-527-3460 



Texas Residents call Collect: 

214/271-0022 

Dealer Inquiries Invited! 



60 DAY MONEY 
BACK GUARANTEE! 

NO COD's. TEXAS RESIDENTS ADD 5% SALES 
TAX. ADD 5% OF ORDER FOR POSTAGE & 
HANDLING. ORDERS UNDER S10. ADD 75c 
HANDLING. FOREIGN ORDERS - US FUNDS 
ONLY! 



Choose $1. Free Merchandise From Asterisk Items on each $15. Order! 



Circle 100 on inquiry card. 



BYTE December 1977 



221 



(jlassified Ads 



FOR SALE: Used 83 pin cards made by Computer 
Entry Systems, with many good 7000, 7100 and 
7400 series chips with slight cosmetic imperfec- 
tions. All boards S6.50 to $13, depending on 
complexity, or trade for early BYTEs. Ivan Reeder, 
414 Yeonas Or, Vienna VA 22180. 

FOR SALE: IMSAI 8080 with 22 slot and fan, 
V8-1 video board, Morrow cassette with extras, 
two IO Cybercom board, two 4 K programmable 
memory boards. All less than one year old and 
total assembled, value $1,632. Lack of time for 
hobby. Will sell for best offer over $1,200. Can 
ship UPS. James R Poole K4VBH, POB 268, 
Americus GA 31709. 

FOR SALE: BYTE Vol 1 =1 to date, excellent 
condition, best offer. Will ship securely packed 
and insured. Henry Stevens, POB 417, Alton NH 
03809. (603) 875-5550. 

FOR SALE: Assembled, one RM 8080 CPU board 
with all chips S145; one SwTPC TVT1 debugged 
and running S100; one TVT1 not running S50: 
two Digital Group 8 K memory without memory 
chips S65 each; four 1702s EPROM $12 each; 
one 5204 EPROM 750NS S8; two 82S129 PROMs 
S2.50 each. Send SASE for information. David 
Parrish, Rt 1, Box 151, Lincolnton GA 30817. 



FOR SALE: Maze generation program written in 
FORTRAN. This program generates unlimited page 
mazes with only one solution each. The computer 
gives the solution, too. A source listing is avail- 
able with implementation documentation for $25. 
It is 735 lines long, mostly comments on usage. If 
you want to see a sample run, please send $1 to 
cover printing and computer time charges to below 
address. Every maze is different! Philip Hunt, 
83 Cedar Hills, Cambridge OH 43725. 

FOR SALE: Tape reader device. Originally used 
to read three frames of paper tape at a time and 
convert the data to 15 level parallel output. 
Housed in a 5 foot rack cabinet with a 3/4 door 
and casters are: 1 each Digitronics 2500 300 cps 
8 level reader and 4566ALCR spooler; 20 slot 
36 pin card cage; 12 Nave or logic boards. 
1 extender; 1 Navcor t 12 V @ 2 A, -100 V @ 14 A 
power supply, metered; 1 chassis with relays, etc, 
original cost $9,500; now $600 (you pick up or 
freight; 200 lbs) Mike Gerow, 244 W 1st Av, 
Roselle NJ 07203. (201 ) 241 -3200; (201 ) 334-7246 
nights. 

NEED: Information on General Automation SPC 
12/12 with 16 K core. Any software would be 
appreciated. Manual C Martinez, 7706 W Gregory 
St, Chicago IL 60656. (312) 631-6623. 



MICRODATA REALITY: Are there any other 
computer hobbyists using this system? If so, I'd 
like to say hello, swap notes and programs, etc. 
Would also like to know where to buy a 4 or 8 
way video terminal interface card and other peri- 
pherals for Microdata Reality (Model 1600 proc- 
essor). Jack Hardman, 140 Forest Av, Glen Ridge 
NJ 07028. (201) 429-8880. 

FOR SALE: Digideck tm cassette tape drive (uses 
standard audio type cassette) complete with motor 
control, read write, and parallel to serial conver- 
sion electronics. Also, 100 plus page service manual 
and parts catalog included. All diagrams are very 
readable. These six drives appear perfect but may 
have a problem or two. Price $145 each plus 
postage. Jim Beistle, 3728 Wilkie Way, Fort 
Worth TX 76133. 

FOR SALE: Source listing of program to calcu- 
late 1977 Federal Income Tax. Program will run 
in about 3 K. The program has 1040 line numbers 
to identify the calculated results when displayed 
on a CRT terminal. It is also formatted to fill 
out the form 1040 when the results are outputted 
to a printer. Send $14.50 for copy of source list- 
ing and user operating instructions. C R Lufkin, 
31 5 Dominion Dr, Newport News VA 23602. 

FOR SALE: MITS Altair 8800a computer' with 
1 K of memory. Works fine. $575, or best offer. 
Kurt Barbee, 2580 SW 3rd St, Corvallis OR 97330. 

FOR SALE: SwTPC 6800 computer, 8 K pro- 
grammable memory, AC-300 cassette interface, 
CT-1024 TV terminal with cover, connecting 
cables and software. All equipment assembled and 
tested, $850. Dave Toruta, 4941 Mable, Corpus 
Christi TX 78411. (513) 854-2747. 



FOR SALE: Friden Flexowriter, complete electric 
typewriter with attached 8 level tape punch and 
8 level tape reader. Provision for input from 
external source, and output to external punch or 
other data equipment, excellent condition, only 
S195. Nicely styled operating desk for above, 
includes motorized tape winder and also tape feed 
reel, plus cables for remote input and output, 
S39. Jim Cooper, POB 73, Paramus NJ 07652. 

FOR SALE: Zilog Z-80 MCB board. Contains Z-80 
microprocessor, 4 K bytes programmable memory, 
sockets for 4 K bytes ROM, RS-232/TTY inter- 
face, two 8 bit IO ports, 4 channel counter/timer 
and more. Assembled, tested and working. Includes 
power supply, 1/2 K byte monitor PROM, and all 
manuals, S475. Brian Rosen, 1127 Kentwood, 
San Jose CA 95129. 

WANTED: A true proportional spacing typing 
machine (eg: IBM composer) to use as a micro- 
computer input output device. Write J Williams, 
2415 Ansdel Ct, Reston VA 22091. 

FOR SALE: One each IMSAI cassette interface. 
Make offer. Write J Williams, 2415 Ansdel Ct, 
Reston VA 22091. 

FOR SALE: IBM 1401 CPU, 1402 card reader/ 

punch, two 7330 tape drives, and all maintenance 
manuals. Qualifies for IBM maintenance agree- 
ment. Best offer over $1000. You pay shipping, 
Will consider trade for a Z-80 based micro- 
computer. William P Ruf, 9514 W 104th Ter, 
Overland Park KS 66212. (913) 888-9213. 



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 should be clearly 
noncommercial, typed double spaced on plain 
white paper, and include complete name and 
address information. These notices are free of 
charge and will be printed one time only on a space 
available basis. Insertions should be limited to WO 
words or less. 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: IBM 604 Electronic Calculator with 
IBM 521 Reader Punch. 604 has over 1,000 
vacuum tube circuits with power supplies pro- 
ducing +150 VDC at 8 A, 100 VDC at 2.5 A, 
250 VDC at .05 A, +75 VDC at 1.0 A, and 175 
VDC at .25 A. 521 reads and punches 80 column 
cards. It has two sets of read brushes and punch 
unit. Lots of potential for 604 components. 521 
would make a good card IO with proper interface. 
Will take $500 for both. You pay transportation. 
George Kennedy, 2101 Church St, Selma AL 
36701. (205) 872-8263. 

WANTED: Poly 88 mainframes (2) kit or as- 
sembled, will buy or trade. Contact Wallace Tufen, 
1504 Blackthorn Dr, Glenview IL 60025. (312) 
724-7828. 

FOR SALE: HP-65 fully programmable pocket 
calculator complete with all 14 accessory appli- 
cation Pacs (Finance, Math(2), Stat (2), EE(2), 
Chem Engr, Stress Analysis, Surveying Machine 
Design, Medical, Aviation, and Navigation) and 
other accessories. Total price $350. Joe Kwasnieski, 
Apt 44, 13700 37th Av S, Seattle WA 98168. 
(206) 243-6967 evenings. 

FOR SALE: Digital Group 8 K memory boards. 
Uses 450 ns low power memory chips, $225. 
Contact Roger Schoenmeyer, 7425 Treon PI, 
Dayton OH 45424. (513) 233-2355. 

FOR SALE: HP-9810 desktop programmable 
calculator with HP-9862 plotter. Calculator is com- 
plete with fully expanded optional memories for 
both data and program, 16 column alphanumeric 
thermal printer, Mathematics ROM, magnetic card 
storage, and four IO parts. Plotter is a high perfor- 
mance X-Y graphics plotter capable of plots up 
to 11 by 17 inches. Includes optional plotter 
control that permits automatic scaling, axis 
drawing, and alphanumeric plotting and labeling, 
Privately owned, in perfect condition; asking 
$3500. Joe Kwasnieski, Apt 44, 13700 37th Av 
S, Seattle WA 98168. (206) 243-6967 evenings. 

SWAP: Scott Model 433 Digital FM Stereo Tuner, 
frequency synthesized using PLL, digital readout, 
card programmed ^easily modified for computer 
control), several scanning modes, etc, originally 
cost $650. I want to trade for a microcomputer or 
related equipment. Prefer 6502 or 6800 based 
system, but will consider anything. Make me an 
offer I can't refuse. Schematics available for the 
tuner. Call days (617} 373-9171. Ray Jorgenson, 
RFD 3, Box 186, Plaistow NH 03865. 



FOR SALE: Three "IBM 2311 disk drives. Still 
eligible for IBM maintenance contract. $450 each 
plus shipping. Wanted: Information for interfacing 
same with 8080 system. Bob Stek, 19 Mayfield Rd, 
Regina, Saskatchewan CANADA. (306) 523-7184. 

FOR SALE: Okidata CP-1 10 printer; loaded with 
such options as: RS-232 interface (110 to 9600 
baud), upper and lower case character set, tractor 
feed option, electronic top-of-form option, and 
complete on board self-test electronics included. 
Cost over S1900 new, and has only been used 
twice; still in original factory carton. Must sacrifice 
for $1600 and you pay shipping. Contact Don 
Cheeseman, POB 5534, San Antonio TX 78201. 
(512) 699-6880. 

FOR SALE: Complete first year of BYTE, issues 

1 thru 16. All packed and ready to ship. I pay 
postage. First $35 gets them. R Peters, Lafayette 
Ln, Norfolk MA 02056. 

FOR SALE: A complete set of circuit boards for 
the TVT-1, as presented in the September 1973 
issue of Radio-Electronics; S20 plus postage. 
Also available: a 45 key keyboard (less encoder), 
$15 plus postage. Write Warren Spivack, 6625 Av 
M, Brooklyn NY 11234. (212) 763-7237. 

WANTED: Programs for HP-25 not including 
those listed in original manual. Will exchange new 
ones for the ones I have obtained. S Hamilton, 
Rt 2, Box 1022, Bainbridge GA 31717. 

SWAP: Two Scott aircraft oxygen units; each unit 
supplies two persons with O2. With two new 
masks, hoses and connectors. Also, a skydiver 

02 unit with mask, hose and connector. Want: 
ADM-3 or comparable. CRT and keyboard, 
RS232C and compatible with standard micro- 
computer, or, want: Transistorized oscilloscope, 
minimum 10 MHz bandwidth. F Lawrence, 533 
Riverview Rd, Swarthmore PA 19081 . 

CONGRATULATIONS! This could be your 
lucky day, if you are looking for a line printer. 
I have one complete 100 cps PRINTEC 100 
serial, impact, line printer (ASCII parallel) and one 
nearly complete backup unit, with extras for all 
boards. Unit includes vertical formatting unit, 
VFU punch, extra VFU tape and maintenance 
manuals. Adjustable pin feed accommodates paper 
widths from 3 inches to 14 7/8 inches. One unit 
is in working order; the other good for parts. 
Send your best offer to David E Fulton, POB 1 16, 
Port Ewen NY 12466, or call (914) 331-1442. 



222 



BYTE December 1977 



NEW COMPUTER INTERFACE BOARD KIT 



Our new computer kit allows you to interface 
serial TTL to RS 232 and RS 232 to TTL There 
are four of these supplied with the kit, so you 
can run up to four devices on one TTL or four 
separate TTL to RS 232 devices. 

Typical use: You can use your computer 
ports to run an RS 232 printer, video terminal 
and two other RS 232 devices at once, without 



constantly connecting and disconnecting your 
terminals. 

Example: Out store to printer — Voltage 
requirement + 5V and ± 5V or ± 12 V depend- 
ing on your RS 232 device. 

We supply — board, connectors, documen- 
tation and components. Sorry, we do not supply 
case or power supply. 



WHERE IT MAKES SENSE, MAY BE USED WITH ANY 8080, 6800, Z80 or F8 COMPUTER 



GENERAL PURPOSE COMPUTER POWER SUPPLY KIT 



This power supply kit features a high frequency torroid transformer with switching 
transistors in order to save space and weight. 115V 60 cycle primary. The outputs 
with local regulators are 5V to 10A, in one amp increments, - 5V at 1A, ± 12V at 1A 
regulators supplied 6 340T-5 supplied. 



$79 



00 



UNIVERSAL 4K 
MEMORY BOARD KIT 



$74 



50 



This memory board may be used with the 

F8 and with minor modifications may be used 

with KIM-1jup. 

32-2102-1 static RAM's, 16 address lines, 
8 data lines in, 8 data lines out, all buffered. On- 
board decoding for any 4 of 64 pages, standard 
44 pin, .156" buss. 



F8 EVALUATION 
WITH EXPANSION 

A fantastic bargain for only 
with the following features: 

• 20 ma or RS 232 interface 

• 64K addressing range 

• Program control timers 

• 1 K of on-board static 
memory 

• Built in clock generator 



BOARD KIT 
CAPABILITIES 



$99 



00 



64 Byte register 

Built-in priority interrupts 

Documentation 

Uses Fairbug PSU 



FOR FAIRBUG 4K F8 BASIC ON PAPER TAPE $25 C 



?G22 STATIC SHIFT REG 
2513CMARACTER GEN 
2518 HEX 32 BITSR 
2102 1 1071 BT RAM 
5280 4K OVNAMIC RAM 
5202A UV PROM 



1 95 
S 6.75 
S 3 50 
S 1.19 
S 4.75 

6 95 



M01A-256B1TRAM S -75 

2107B S 3.75 

MK4008P- S 1.95 

T>02A UV PROM S 4.95 

5204 4K PROM £10 95 

82S23 ... S 1.95 

AY-5 10 13 UART S 6.95 

MINIATURE MULT I TURN TRIM POTS 
100 500. 1K.2K,5K.10K,25K.50K,100K. 

200K,500K 1 Meg. $.75 each 3/S2.00 

MULT I TU^N TRiM PQlSS-miUi; to Eou'ns 

3010 Slv'e 3'16"x5/8"y1 1 «". 50. 100. 

1 K . 1 K . 50 K ohms ' SI 50 en 3 -54 .00 

LIGHT ACTIVATED"SCR'j 

TO '8, 2007 ! A S 1.10 

TRANSISTOR SPECIALS 



7N3585 NPN Si TO 66 . 
2N3772 NPN S. TO 3 . 
2N456A PNP GE 
2N4308 PNP Si TO 3 
2N6056 NPN S> TO 3 D.n 
2N508GPNPS. TO 92 
7N4898PNP TO-66. 
2N404 PNP GE TO-5 
2N3919 NPN Si TO 3 HP 
MPSA 13 NPN Si TO 92 
2N3767 NPM Si TO-66 
2N2222 NPN Si TO-18 . 
2N3055 NPN Si TO 3 
2N3904 NPN Si TO 92 . 
2N3906 PNP Si TO 92 
2N5296 NPM Si TO 220 
2N6109PNPS< TO 220 
2N3638 PNP S. TO 5 . . 
2N65I I NPM TO 92 Si 



95 
. S 1.00 



PRINTED CIRCUIT BOARD 



4-1/2"x6-1/2" SINGLE SIDED EPOXY 
BOARD 1/16" thick, unetched 



7 WATT LD-65 LASER DIODE IR Sa95 



2N 3820 P FET . ... S 45 

2N 5457 N FET $ .45 

2N2646 S -45 

ER 900 TRIGGER DIODES . 4 SI 00 
2N 6028 PROG. UJT . . S .65 

CCD202-100 x 100 charge coupled device 

imago sensor S145.00 

MCM6571A 7x9 upper & lower case char- 
acter generator S10.75 

VERIPAX PC BOARD 
This board is a 1/16" single sided papar epoxy 
board, 4'/'x6V DRILLED and ETCHED 
which will hold up to 21 single 14 pin IC's 
or 8. 16, or LSI DIP ICs with busses to> 
power supply conrmLinr. .... . . £4.00 

MV5691 YELLOW-GREEN 

BIPOLAR LED S .90 

FP 100 PHOTO TRANS S .50 

RED, YELLOW, GREEN or AMBER 

LARGE LED's 6/S1-00 

1L-5 (MCT-2) S .75 

MOLEX PINS • 100/S1.00 

1000/S8.00 
10 WATT ZENERS 3.9. 4.7, 5.6, 8.2, 

12,18,22,100,150 or 200V. . ea. S .60 
1 WATT ZENERS4.7, 5.6,10, 12. 15 

18 or 22V ea. S .25 

MC6860 MODEM CHIP $9.95 

PRV 1A 3A 12A 50A 125A 

100 .06 AA 30 .80 3.70 

200 .07 .20 .35 . 1.15 4.25 

400 .09" " J25 .50 " ' 1.40 6.50 
600 

2.30 10.50 

1000 .20 .45 1.10 2.75 12.50 



TANTULUM CAPACITORS 



Full Wave Bridges 



22UF 35V 5/$ 1.00 
47UF 35V 5/S1.00 
68UF 35V 5S1 00 
IUF 35V 5 SI 00 

2 2UF J0V5 SI 00 

3 3UF J5V 4 SI 00 
4.7UF 15V 5/S1.00 
68UF 35V 4/Sl 00 



10UF 10V S .25 
22UF 25V S 40 
15UF 35V 3/S1.00 
30UF 6V 5/S1.00 
33UF 35V 
47UF 20V 
68 UF 15V 



40 
S .35 



W7001 ALARM ICLOCKCJ- 



NATIONAL MOS DEVICES 



MMI402- 1./5 
MM1403- 1.75 
MMI404- 1.75 
MM5013- 2.50 
MM5016-2.50 
MM50I7- 2 70 
MM5055 - 2.25 
MM50B6 - 2.25 



MM5057 
MM505S 
MM 5060- 
MM5061 - 
MM5555- 
MM5556 
MM5210 
MM5260 



2 25 
2.75 
2.75 
2 50 
4.75 
4.75 



100 




1.30 


200 .75 1.25 




2.00 


400 95 1.50 




3.00 


600 120 1-75 




4.00 


SANKEN AUDIO POWER At 

Si 1010 G 10 WATTS S 

Si 1020 G 20 WATTS S 


/IPS 

795 
15.95 

27 9b 








WSU-30-Hand wire wrap tool us 
wrap, unwrap a Sirip #30 Wlf« 


..1 lO 


$5.30 


#24, EIGHT 
CONDUCTOR 

SPECTRA 
FLAT CABLE 


| DIP SOCKETS 

8 PIN - .22 24 PIN 
14 PIN - .25 28 PIN 
16 PIN - .28 40 PIN 

18 PIN - ,30 


-.40 
-.50 
-.60 




107S1.50 
I007S 13.50 




309K S .95 340K-5.12.15 

723 $ .50 or 24V. . . . .$ .85 

LM 376 .... S .60 340T-5, 6. 8, 12 

320K-5or15V 51.40 15,18 or 24VS1.10 

320T-5, 15 78 MG SI. 35 

or 24V . . $1.15 79 MG S1.35 

RS232 DB 25P male $2.95 

CONNECTORS DB 25S female $3.50 



Circle 107 on inquiry card. 



BYTE December 1977 



223 



Feadep Service 



To gel lurtfier 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 9 
cent stomp to the card, then drop it in the mail. Not only do you gain information, but our advertisers are 
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 

2 

3 

4 

5 

134 

7 

8 

9 

10 

11 

12 



14 
15 
16 

* 

18 
19 
138 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 



ALF 150 

Alpha Digital 153 

Anderson Jacobson 51 

Apple Computer 16, 17, 18 

Artec 63 

AVATAR 189 

Atwood Enterprises 197 

Base 2 59 

Beckian Enterprises 199 

Benson & Costello 191 

Beta Business Sys 189 

BITS 123, 125, 160, 167, 192 

BYTE Back Issues 192 

BYTE Binders 191 

BYTE Index 192 ' 

Byte Shop of Miami 189 

Byte Shop, Tustin 138 

Byte Shop, Westminster 149 

BYTE Subs 1 27 

Canada Systems 1 78 

Capital Equipment Brokers 176 

Celetron 133 

CMC Marketing 57 

Component Saies 193 

Computalker 129 

Computer Corner 189 

Computer Creations 191 

Computer Data Sys 105 

Computer Depot 191 

Computer Depot Dist 187 

Computer Enterprises 45 

Computer Hobbyist 176 

Computerland 20, 21 

Computer Machine Service 189 

Computer Room, San Jose 174 

Computer Systems Store 1 89 

Cromemco 1, 2 

DaJen 129 

Data General 143 

Data Search 1 79 

Digital Group 93 

Digital Research 55 

Disc 3 187 

Don Alan Enterprises 187 

DRC Engineering 201 

Dynabyte 111 

Ed Smith's Software Works 182 

Educational Data Sys 183 

E & L Instruments 109 



BDME 

[ Y 1 1 V ( ■»{ ( i.i{ Mr. .lirtr- ( i \ 



Article No. 



ARTICLE 



47 Elcom Industries 189, 191, 187 

48 Electrolabs 199 

49 Elec Control Technology 1 59 

50 Electronic Systems 202 

51 Electronics Warehouse Inc 203 

62 CW Engel 175 

52 Extensys 7 

53 Formula International 205 

54 Gallagher Research Inc 172 

55 General Computer 175 

56 Godbout 207 

57 DC Hayes 181 

58 Heath 34, CIV 

59 Heuristics 174 ' 
61 IMSAI 70, 71,73 

63 Integral Data Sys 147 

64 Integrated Circuits Unlim 209 

65 International Data Sys 152 
137 Ithaca Audio 173 

99 IOR187 

66 Jade 212,213 

67 James 10, 11,214, 215 

68 Kent-Moore 41, 77 

69 Logical Services 148 

70 Meca 103 

71 Meshna217 

72 Micro Diversions 191 
136 Micro Ware 158 

73 Micronics 179 

74 Microsoft 177 

75 Midwestern Scientific Instruments 1 

76 Mikos208 

77 Mini Micro Mart 172 

78 Morrow's Micro Stuff 219 

79 Mountain Hardware 146 

80 mpi 160 

81 MSD97 
17 Mullen 177 

82 National Multiplex 81 

83 North Star Computers 5, 15 

84 Objective Design 185 

85 OK Machine & Tool 75 

* Ohio Scientific Research 30, 31 , 32, 

86 Owens Associates 187 

87 PAIA159 

88 Parasitic Engineering 22, 23 

89 Peninsula Marketing 151 

90 PerCom Data 19, 155 



91 Peripheral Vision 67 

92 Perri-White 190 

93 Personal Computer News 182 

94 Phone I 1 87 

* PolyMorphic Systems 37 
95 l Processor Technology 86, 87, 88, 89, 90 

96 Quantronics 39, 47 

97 Rotundra Cybernetics 191 

139 S-100 150 

98 Scelbi 95, 119, CI 1 1 

* Scientific Research 79, 1 1 5 

100 SD Sales 221 

101 Seals 65 
135 Sharp & Associates 21 1 

102 Silver Spur 187 

1 03 Small Computer Sys 1 73 

104 Smoke Signal 52, 53 

105 Software Exchange 180 
13 Software Records 161 

140 Software Unlimited Ltd 158 

106 Solid State Music 9 

107 Solid State Sales 223 

108 Soroc29 

109 SwTPCCII 

110 Sunny Computer Stores 191 

1 1 1 Sybex 1 83 

112 Synchro Sound 82, 83 

113 Szerlip189 

114 Tandy 85 

115 Tarbell 178 

116 Tech Mart 107 

117 Technical Design Labs 27 

118 Technical Systems Cnsltnts 61 

119 Technico 134, 135 
20 TEI 57 

120 TK Electronics 189 

121 TLF 49 

122 Typetronics 25 

123 MP Electronics 187 

124 Urban Instruments 211 

125 Vamp 191 

126 Vandenberg Data 180 

127 Vector Graphic 39 

* Vista Computers 144, 145 

129 West Coast Computer Faire 194, 195 

130 Worldwide 185 

131 WWW Enterprises 161 

132 Ximedia 117, 132 

133 Xybek181 

* Reader Service inquiries not solicited. Correspond directly with company. 



21 



33 



1 Schmucker-Tarr: The Computers of Star Trek 

2 Rampil: A Floppy Disk Tutorial 

3 Struve: A $19 Music Interface 

4 Ciarcia: Try an 8 Channel DVM Cocktail 

5 Grappel-Hemenway: Jack and the Machine Debug 

6 Higgins: Structured Programming with Warnier-Orr Diagrams 

7 Smith: Simulation of Motion: Part 2 

8 Wier: A Little Bit on Interrupts 

9 Wenzlaff: Using the PolyMorphics Video Interface 

10 Lahasky: Multiprogramming Simplified 

11 Libes: Where to Get Bargains in Used Computer Equipment 

12 McGath: A Look at LISP 

13 Gaskell: Relative Addressing for the 8080 

14 McGahee: Save Software: Use a UART for Serial IO 

15 Lahore: A User's Report on the Intercept Jr 



PAGE 

12 

24 

48 

76 

91 

104 

112 

118 

130 

140 

154 

156 

162 

164 

186 



BOMB Analysis for the 
September 1977 Issue: 



Rank 
(Multiples of a) 



1st: Ciarcia, "Control the World," page 30 2.17 
2nd: J acoby, "Walsh Functions," page 190 1.14 

The standard deviation of this sample was 
1 9% of the mean rating. 

The first place winner in our BOMB tally 
receives a $100 bonus check, and a $50 
bonus is forwarded to the second place 
winner. Be sure to indicate your reactions to 
this month's issue by rating each article on 
the BOMB evaluation card and forwarding 
it to our office. The BOMB card is your 
direct line to the editors' desks." 



224 



BYTE December 1977 



SeeU* Scttuxuf 



obd™how. b .av««fo« 

■ ** ■ • 



FOR THE BEGINNER 



2totifc£ 



FOR THE INTERMEDIATE . 




Understanding Microcomputers and 
Small Computer Systems. A profusely 
illustrated, easy-reading "must" book 
explaining fundamental concepts behind 
operation of microcomputers. Simple 
English. Gives extra knowledge to read 
and understand computer magazines and 



manufacturers' literature. Makes you feel 
"at home" around computers. Accepted 
as the standard for the neophyte, you 
must own this 300-page no-nonsense, 
easy-reading text. Includes easy-to-use 
glossary of key microcomputer oriented 
words. Order now. Save! $9.95 each ppd 



Scelbi's Software Gourmet 
Guides and Cookbooks for 

'8080' or '6800' lets you cook 
up mouthwatering programs. 
Delectable "how to" facts, in- 
cluding '8080' or '6800' in- 
struction sets. How to man- 
ipulate stacks. Flowcharts. 
Source listings. General pur- 



pose routines for multiple 
precision operation. Pro- 
gramming time delays for 
real time. And lots more. Even 
floating point arithmetic rou- 
tines! Order your copies today 
Bon appetite! Specify: '8080' 
or '6800. $9.95 each ppd. 



FOR THE ADVANCED... 

GALAXY Microcomputer 
Outer Space War Games 
for '6800'. Captain your 
own starship on intergallac- 
tic journeys filled with bat- 
tles, refueling problems, 
weaponry, warp factors, 
and more — all against your 
'6800'. A complete book, 
written in machine language 
for 4K memory. Ever-chang- 
ing interstellar adventure, includes source listings, flow 
charts, routines, more. Order today. Blastoff tomor- 
row! $9.95 ppd. 





SCELBAL. 
Higher Level 
Language for 
'800878080' 
Systems. 
Complete, illus- 
trated program 
book. Routines. 
Techniques. 
Source listings. 
Flow charts. More. Includes 5 com- 
mands, 14 statements, 7 functions, and it 
runs in 8K and more. All you need to cus- 
tomize a high level language for your sys- 
tem at a fraction of the cost. Order today! 
$49 ppd. 




The '8080' Programmer's Pocket Guide; '8080' Octal Code Card and/or '8080' Hex- 
adecimal Code Card. Compact pocket guide for instant reference to either code card. 
Cards are instant slide rule aids for programming/debugging '8080' software. Standard 
mnemonics with corresponding codes. Color coded instructions indicate which flags 
are affected during instruction execution. Quick, logical reference formats. ASCII code 
chart for 128 characters. '8080' status words. Register pair codes. More. Order all 
three now . . . only $2.95 per item. 

Prices shown for North American customers. Master 
Charge. Postal and bank Money Orders preferred 



Personal checks delay shipping up to 4 weeks. 
Pricing, specifications, availability subject to change 
without notice. 



i. 



Mil IB COMPUIER 
CONIUL1ING INC. 

Post Office Box 133 PP STN 
Milford, CT 06460 Dept. B 




Circle 98 on inquiry card. 








Ell 






Get up . 
and running 
right!... 



with the Heathkit H8 8080 Personal Computing System! 




H8 8080A 8-Bit 

Computer $375 

H8-1 4K Memory 140 

H8-3 4K Chip Set 95 

H8-5 Serial I/O and 

Cassette Interface .... 110 

H9 Video Terminal 530 

ECP-3801 Cassette 

Recorder/Player ..... 60 

If purchased separately, *1310 00 
Heath System Price $J244 50 



NEW! Microprocessor Course 
AND TRAINER 

Learn the operation and programming 

of microprocessors with our effective 

self-study course and trainer! 



When you invest in a personal computing 
system, you want it to perform. So you 
need software. But putting a complete 
hardware-software system together can 
be difficult. Especially if all of the 
components are not designed to work 
together. The H8 computer, software and 
peripherals were developed as a total 
system. And we include the software 
(at NO extra cost) so you can start 
programming right away, Benton Harbor 
BASIC with unique statements and 
commands and efficient compression 
techniques lets you put more program 
in less space. The HASL-8 2-pass 
assembler generates efficient machine 
language code. The TED-8 line-oriented 
text editor and BUG-8 terminal console 
debugging program permit fast entry, 
editing and debugging of programs. 
The H8's intelligent front panel provides 
efficient one-button program loading, 



and lets you "see" what's going on in 
the machine — in memory, in registers 
and at I/O ports. 

While the H8 and its software gets you 
up and running, our peripherals complete 
the "system". The H9 1 2" CRT video 
terminal is complete with ASCII 67-key 
keyboard, long and short-form displays, 
auto-scrolling, plot mode, cursor and 
more. And our ECP-3801 cassette 
recorder/ player provides convenient 
mass storage for all your programs on 
easy-to-handle cassettes. 

All this, plus complete documentation, 
service support through the Heathkit 
factory or Heathkit Electronic Centers 
nationwide*, and self-instructional 
programming courses make Heath your 
BEST choice for a truly practical and 
versatile computer system that's ready 
and waiting for your commands. 



Schlumberger 



Send for your Heathkit Catalog or visit your Heathkit Electronic Center. 



*See listing page 34 



Circle 58 on inquiry card.