Skip to main content

Full text of "Byte Magazine Volume 02 Number 11 - Memory Mapped IO (RESCAN)"

See other formats


t 



the small systerr 



NOVEMBER W7 



VOLUMC 2fNgmi 



ill} 


ipfl! 


• " ■.-:.:. : r : . v j 

■ : ■ •' ■ \ ~j"Cc , 


SMS 


; 


, 4 

4ft 






jtepjypmj 


& f !!■ Trl ii3B[ 


• 

■ ■ 

$ ;■ I Zj» * 



SWTPC announces first dual 
minifloppy kit under $1 , 



iii 




Now SWTPC offers complete best-buy computer system with $995 
dual minifloppy $500 video terminal/ monitor, $395 4K computer. 




$995 MF-68 Dual Minifloppy 

You need dual drives to get full benefits 
from a minifloppy. So we waited to offer a 
floppy until we could give you a dependa- 
ble dual system at the right price. 

The MF-68 is a complete top-quality 
minifloppy for your SWTPC Computer. The 
kit has controller, chassis, cover, power 
supply, cables, assembly instructions, two 
highly reliable Shugart drives, and a 
diskette with the Floppy Disk Operating 
System (FDOS) and disk BASIC. (A floppy 
is no better than its operating system, and 
the MF-68 has one of the best available.) 
An optional $850 MF-6X kit expands the 
system to four drives. 



$500 Terminal/ Monitor 

The CT-64 terminal kit offers these 
premium features: 64-character lines, 
upper/lowercase letters, switchable con- 
trol character printing, word highlighting, 
full cursor control, 110-1200 Baud serial 
interface, and many others. Separately 
the CT-64 is $325, the 12 MHz CT-VM 
monitor $175. 



Enclosed is: 

$1 ,990 for the full system shown above 

(MF-68 Minifloppy, CT-64 Terminal with 
CT-VM Monitor). 

$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 for the PR-40 Line Printer 
$79.50 for AC-30 Cassette Interface 
Additional 4K memory boards at $100 
Additional 8K memory boards at $250 

Or BAC # Exp. Date 

_ OrMC# Exp. Date _ 



_Address_ 
.State 




-Zip_ 



$395 4K 6800 Computer 

The SWTPC 6800 comes complete with 
4K memory, serial interface, power supply 
chassis, famous Motorola MIKBUG® 
mini-operating system in read-only 
memory (ROM), and the most complete 
documentation with any computer kit. Our 
growing software library includes 4K and 
8K BASIC (cassettes $4.95 and $9.95; 
paper tape $10.00 and $20.00). Extra 
memory $100/4K or $250/8K. 
Other SWTPC peripherals include 
$250 PR-40 Alphanumeric Line Printer 
(40 characters/line, 5x7 dot matrix, 
75 line/minute speed, compatible with 
our 6800 computer and MITS/IMSAI); 
$79.50 AC-30 Cassette Interface System 
(writes/ reads Kansas City standard tapes, 
controls two recorders, usable with other 
computers); and other peripherals now 
and to come. 



T 



53 



Southwest Technical 
Products Corp. 



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



You can now have the industry's 
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. 



Q 



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 (Modei 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 



incorporated 
Specialists in computers and peripherals 
2400 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 • (415) 964-7400 Circle 40 on inquiry card. 



TV DAZZLER 




I 



To make 
your computer 

more useful- 

a wide choice of 
memory, I/O, CPU 




Your computer's usefulness de- 
pends on the capability of Its CPU, 
memories, and I/O interfaces, right? 

So here's a broad line of truly 
useful computer products that lets 
you do interesting things with your 
Cromemco Z-1 and Z-2 computers. 
And with your S-100-compatibIe AI- 
tairs and IMSAIs, too. 

CPU 

• Z-80 MICROPROCESSOR CARD. 
The most advanced /xP card avail- 
able. Forms the heart of our Z-1 
and Z-2 systems. Also a direct re- 
placement for Altair/IMSAI CPUs. 
Has 4-MHz clock rate and the power 
of the Z-80 fi? chip. Kit (Model ZPU- 
K): $295. Assembled (Model ZPU- 
W): $395. 

MEMORIES 

• 16K RAM. The fastest available. 
Also has bank-select feature. Kit 
(Model 16KZ-K): $495. Assembled 
(Model 16KZ-W): $795. 

• 4K RAM. Bank-select allows ex- 
pansion to 8 banks of 64K bytes 
each. Kit (Model 4KZ-K): $195. As- 
sembled (Model 4KZ-W): $295. 

• THE BYTESAVER — an 8K capa- 
city PROM card with integral pro- 



grammer. Uses high-speed 2708 eras- 
able PROMs. A must for all com- 
puters. Will load 8K BASIC into RAM 
in less than a second. Kit (Model 
BSK-0): $145. Assembled (Model 
BSW-0): $245. 

• 1 6K CAPACITY PROM CARD. Ca- 
pacity for up to 16K of high-speed 
2708 erasable PROM. Kit (Model 
16KPR-K): $145. Assembled (Model 
16KPR-W): $245. 

I/O INTERFACES 

• FAST 7-CHANNEL DIGITAL- 
ANALOG I/O. Extremely useful 
board with 7 A/D channels and 7 
D/A channels. Also one 8-bit par- 
allel I/O channel. Kit (Model D + 
7A-K): $145. Assembled (Model D 
+ 7A-W): $245. 

• TV DAZZLER. Color graphics in- 
terface. Lets you use color TV as full- 
color graphics terminal. Kit (Model 
CGI-K): $215. Assembled (Model 
CGI-W): $350. 

• DIGITAL INTERFACE (OUR NEW 
TU-ART). Interfaces with teletype, 
CRT terminals, line printers, etc. Has 
not one but two serial I/O ports and 
two 8-bit parallel I/O ports as well 
as 10 on-board interval timers. Kit 



(Model TRT-K): $195. Assembled 
(Model TRT-W): $295. 
• JOYSTICK. A console that lets 
you input physical position data with 
above Model D + 7 A/D card. For 
games, process control, etc. Con- 
tains speaker for sound effects. Kit 
(Model JS-1-K): $65. Assembled 
(Model JS-1-W): $95. 

PROFESSIONAL QUALITY 

You get first-class quality with 
Cromemco. 

Here are actual quotes from ar- 
ticles by independent experts: "The 
Cromemco boards are absolutely 
beautiful" . . . "The BYTESAVER is 
tremendous" . . . "Construction of 
Cromemco I/O and joystick are out- 
standing" . . . "Cromemco periph- 
erals ran with no trouble whatso- 
ever." 

Everyone agrees. Cromemco is 
tops. 

STORES/MAIL 

So count on Cromemco. Look 
into these Cromemco products at 
your store. Or order by mail from 
the factory. 

We wish you pleasure and suc- 
cess with your computer. 



Q Cromemco 
incorporated 
Specialists in computers and peripherals 
2432 CHARLESTON RD., MOUNTAIN VIEW, CA 94043 



(415) 964-7400 



Circle 40 on inquiry card. 



In the Queue 



BtTI NOVEMBER 1977 
Volume 2 Number 11 



Foreground 



10 

50 

68 

72 

76 

80 

94 

146 

150 

166 

18 

26 

54 

172 



4 
6 

30 

37 

38 

46 

60, 197, 

66 
145 
160 
162 

170, 198 
190,220 
206 
211 
226 
228 
256 
256 



MEMORY MAPPED IO 

Hard ware—Ciarcia 
USING INTERRUPTS FOR REALTIME CLOCKS 

Real Time Techniques— M F Smith 
DOES ANYBODY KNOW WHAT TIME IT IS? 

Peripherals— Grappel 
ADDING AN INTERRUPT DRIVEN REAL TIME CLOCK 

Real Time Systems— Sneed 
FLOATING POINT ARITHMETIC 

Soft ware—Hashizume 
BUILDING A COMPUTER FROM SCRATCH 

Hard ware— Jones 
A 6502 PERSONAL SYSTEM DESIGN: KOMPUUTAR 

Hard ware—Brader 
IMPLEMENTING AN LSI FREQUENCY COUNTER 

Hardware— Lynne 
SWEET16: THE 6502 DREAM MACHINE 

Software— Wozniak 
DO YOU NEED THE REAL TIME? 

Real Time Systems— Trollope 



Background 



SIMULATION OF MOTION: An Improved Lunar Lander Algorithm 

Modelli ng-S P Smith 
A MINICOMPUTER FAIR: TINY AND PERSONAL 

Computer Fairs— Pi e/e 
SPIKES: Pesky Voltage Transients and How to Minimize Their Effects 

Hard ware —McCain 
NIMBLE: THE ULTIMATE NIM? 

Software— Do/iner 

Nucleus 

In This BYTE 

The Compleat Robotics Experimenter 
Letters 
BYTE's Bugs 
BOMB Lands on APL 
The TRS-80: Radio Shack's New Entry 
218 Programming Quickies 

My Experiences with the 2650 

Ask BYTE 

Switching ROMs in the Fairchild F8 Evaluation Kit 

BYTE's Bits 

Technical Forum 

Languages Forum 

Book Reviews 

Clubs and Newsletters 

Classified Ads 

What's New? 

BOMB 

Reader Service 

Cover by Bruce Holloway 



BYTE is published monthly by BYTE Publications Inc. 70 Main St, Peterborough NH 03458. Address all mail except sub- 
scriptions to above address; phone (603) 924-7217. Address all editorial correspondence to the editor at the above address. 
Unacceptable manuscripts will be returned if accompanied by sufficient first class postage. Not responsible for lost manu- 
scripts or photos. Opinions expressed by the authors are not necessarily those of BYTE. Address all subscriptions, change of 
address. Form 3579, and fulfillment complaints to BYTE Subscriptions, PO Box 361 , Arlington MA 02174; phone (617) 
646-4329. Second class postage paid at Peterborough NH 03458 and at additional mailing offices— USPS Publication No. 
102410. Subscriptions are S12 for one year, S22 for two years, and S32 for three years in the USA and its possessions. Add 
$5.50 per year for subscriptions to Canada and Mexico. S25 for a one year subscription by surface mail worldwide. Air deli- 
very to selected areas at additional rates available upon request. S25 for a one year subscription by air delivery to Europe. 
Single copy price is S2.00 in the USA and its possessions, S2.40 in Canada and Mexico, and S3. 50 in Europe, and $4.00 
elsewhere. Foreign subscriptions and sales should be remitted in United States funds. Printed in United States of America. 
Entire contents copyright © 1 977 by BYTE Publications I nc. All rights reserved. 



PUBLISHERS 

Virginia Peschkc 

Manfred Peschkc 

EDITOR IN CHIEF 

Carl T Helmers |r 

PRODUCTION MANAGER 

Judith Havey 

CIRCULATION MANAGER 

Gregory Spitzfadcn 

ASSISTANT PUBLISHER 

Debra Boudrieau 

EDITOR 

Christopher P Morgan 

CO-OP EDITOR 

Scott Morrow 

PRODUCTION EDITORS 

Karen Gregory 

Nancy Salmon 

ADVERTISING 

Debra Boudrieau, Director 

Noreen Bardslcy 

Virginia Peschkc 

EDITORIAL ASSISTANT 

Ingrid Nyland 

PRODUCTION ASSISTANT 

Cheryl Hurd 

CIRCULATION ASSISTANT 

Pamela R Hcaslip 

CONVENTION SUPERVISOR 

Elizabeth Alpaugh 

DEALER SALES 

Ginnie F Boudrieau 

CLUBS AND NEWSLETTERS 

David Wozmak 

TRAFFIC MANAGER 

Edmond D Kelly |r 

ART 

Wai Chiu Li 

Ellen Shamonsky 

Dorothy Shamonsky 

SPECIAL PRODUCTS 

Floyd W Rehling 

Medellin Stephens 

EXECUTIVE SECRETARIES 

Jill Callihan 

Patricia Clark 

BOOKS 

Christopher E Smith 

RECEPTIONIST 

Jacqueline Earnshaw 

DRAFTING 

Douglas Glen 

Stephen Krusc 

Lynn Malo 

Bill Morello 

Dorothy Shamonsky 

TYPOGRAPHY 

Custom Marketing Resources Inc 

Goodway Graphics 

PHOTOGRAPHY 

Ed Crabtree 

PRINTING 

Rumford Press 

NEWPR0DUCTS EDITOR 

Daniel Fylstra 

ASSOCIATES 

Walter Banks 

Steve Ciarcia 

David Fylstra 

Portia Isaacson 



ADVERTISING SALES 
Southern California: 
Buckley/Boris Associates Inc 
91 2 South Barrington 
Suite 202 

Los Angeles CA 90049 
(213) 826-4621 
Northern California: 
Jules E Thompson Inc 
Hearst Building 
Suite 1111 

San Francisco CA 94103 
(415) 362-8547 



BYTE November 1977 



In This 



page 94 



BITE 



In this issue, author Steve Ciarcia 
begins what we expect to become a 
regular feature in BYTE: Ciarcia's 
Circuit Cellar. Steve, a senior engin- 
eering consultant to the aerospace 
industry by profession, is a rare com- 
bination of writer and tinkerer. The 
conceptual model he brings to his 
interactive column format is that of 
the late C L Stong's stewardship of 
"The Amateur Scientist" in Scientific 
American, but with an emphasis 
on hardware and software combina- 
tions to accomplish interesting appli- 
cations of personal computing 
systems. Steve welcomes feedback 
from readers. . .CH 

Games and models which employ 
moving objects require some attention 
to details of motion as simulated by a 
computer program. Beginning a series 
of articles on the subject of moving 
objects, Stephen P Smith's Simulation 
of Motion: An Improved Lunar 
Lander Algorithm shows how a real 
time game can incorporate models of 
motion in more than one dimension. 

Donald T Piele shows that a com- 
puter fair doesn't have to be big to be 
good. A Minicomputer Fair: Tiny and 
Personal describes the University of 
Wisconsin's efforts to produce their 
own micro extravaganza, which drew 
over 700 attendees. Readers may get 
some ideas about putting on shows of 
their own based on Professor Piele's 
experiences. 

What might not be appreciated by 
the neophyte is the fact that an 
interrupt driven clock suggests other 
uses besides keeping time. In M F 
Smith's article on Using Interrupts 
for Real Time Clocks you'll find a 
simple timekeeping algorithm, and a 
sketch of how it can be extended to 
share processor time between two 
different processes. 




««t mm t*wm MWt 



4ft *jf -4$. ^ 



# # # t * ft # +> t> $ t> * f m § 



Do you occasionally find incorrect 
data in your computer when you 
know you entered the correct informa- 
tion and processed it with a reliable 
program? Does your computer do 
strange things every time the washing 
machine or furnace turns on? Perhaps 
your problem is voltage transients. 
John McCain writes about Spikes: 
Pesky Voltage Transients and How to 
Minimize Their Effects. 

If you want to post a calendar of 
events in your computer's memory 
with a resolution of 1 second, a mere 
three integrated circuits added to an 
existing LSI digital clock can turn it 
into a source of time information for 
your computer. Use Robert Grappel's 
article in this issue to find an answer 
to the metaphorical question: "Does 
Anybody Know What Time It Is?" 

Any regular source of interrupts 
can be used as the key element in a 
simple real time clock for the typical 
personal computer. James R Sneed 
shows how to create such an interrupt 
source, then program a 6502 to gen- 
erate internal variables for hours, min- 
utes, seconds and 1/1 5th seconds of 
the day in his article on Adding an 
Interrupt Driven Real Time Clock. 

If you do a lot of mathematical 
calculations on your microcomputer, 
you'll enjoy reading Floating Point 
Arithmetic by Burt Hashizume. Find 
out how to add an economical floating 
point package to your system and 
improve your number crunching 
facilities. 

An excellent way to learn about 
computers is to build one yourself. 
Hilary D Jones shows that this is not 
such a terrifying task. Read Building 
a Computer From Scratch and find 
out how to construct a working (albeit 
limited) computer for under $70 
(plus the price of a power supply). 



Occasionally readers ask for detail 
plans of computer systems. David 
Brader, a BYTE reader from Electric 
City WA, has implemented an excellent 
piece of homebrew craftsmanship in 
his Kompuutar system based on the 
MOS Technology 6502 processor. In 
this issue, we provide David's complete 
design for the central processor, 
control panel interface, and serial 
terminal interface of a general purpose 
computer. 

Frequency counters are useful tools 
for a variety of applications. Perry 
Lynne shows you how to add one to 
your microcomputer in Implementing 
an LSI Frequency Counter. His design 
takes advantage of the Intel 8253 
programmable interval timer (as well 
as the power of the microprocessor) 
to produce a design that is both 
accurate and economical. 

How do you make an 8 bit machine 
emulate a more comprehensive design? 
In his article, SWEET16: The 6502 
Dream Machine, Stephen Wozniak de- 
tails the design and functions of a low 
level interpreter for 16 bit operations 
which extend the functions of the 
more limited 8 bit 6502 processor. 

Continuing the theme of real time 
and how to keep track of it, G A R 
Trollope provides an example of the 
interrupt driven approach, imple- 
mented through the IRQ interrupt 
line of a 6800 processor with a PIA 
port. Do You Need Real Time? If so, 
turn to this article. 

The game of NIM is well-known 
in the annals of computer lore, but 
many people have had no contact 
with it. Irwin Doliner presents us 
with a version of the game and 
supplies us with the design theory 
behind it in his article, NIMBLE: 
The Ultimate NIM? 



BYTE November 1977 





You want to record your message verbatim --word for 
word— whether its bits, bytes or "Dear Folks" trans- 
lated into word processor language. 

Our objective in manufacturing recording ; media for ■ ; 

the electronics industry— digital tape cassettes, floppy 

disks, mag cards, computer cartridges— is; to. give; you the finest, 

the best, the most dependable, the most cost-effective. ' 

That means rugged, long-lived, abrasion-resistant recording media 

with superior magnetic qualities. If we made tires, they'd be steel-: 

belted radials. 

We delivered our first i back in 

the beginning, 1969. We made the first commercial 3740-com- 
patible floppy disks that didn't bear IBM's name. And the first 
Flippy 71 rew ■-.'•■'■ I . Ls with an yones name on them. The 
first mini data cassette is ours. And we Ve got the newest minia- 
ture flexible disk 525. 



while 




Now, Verbatim media. It's a new formulation of ferric 

'tYUf^Qft H €#(^ oxides, an advanced macromolecu lar binder system 

^.. a.I.M^c^^u^V' to ac [here j t 10 tne tough polyester film, and a proc- 

1S OUXJBLlltV ess contro ' s Y stem mat demands over 200 separate 
jL 7 quality eiiocb before the material is cut, packaged, 

and certified to be 100% error-free. 

The fin. ke it pretty!" Our production people 

tell us that magnetic recording media is one of the rare instances in 
manufa i ■ tee : : . i: lares directly into 

final product quality. It has to 1 i - il to work beautifully. 

\\>j ha-, e iht lormu.Ls the iracunvs, the kaui* »iu i ; T ro m dx hiuh 
■ iu;-!it\ K-corJin.g nkdia Bin i= ra!a< th*: Iw \\\-^\r in the iinius 
try to deliver Verbatim disks, cards, cartridges and cassettes, 
nnii! tmJ chcin at \our favorite retail c-inputvr stnre. 




Circle 68 uiry card 



G=fF 

Information Terminals Corp. LI ? 

S u nny va le, Qi li f or nia 



Editorial 



The 



Com pleat 
Robotics Experimenter 



By Carl Helmers On August 16 1977 I received one of 

those refreshing and intoxicating articles 
(or rather group of articles) which makes 
the combined intellectual and emotional 
joys of creating a magazine once a month 
rise to new heights. This group of articles 
is a basic background tutorial on biological 
inputs to the field of robotics and artificial 
intelligence, written for the personal com- 
puting experimenter by Ernest W Kent, a 
professor in the department of psychology 
of the University of Illinois at Chicago 
Circle. It is one of those articles, like Ralph 
Hollis' article on NEWT in the June 1977 
BYTE, which gets instant high priority due 
to the subject matter and style of presenta- 
tion. (Readers should see the beginning of 
the series in early 1978.) 

I call the twin subjects of robotics and 
artificial intelligence "hot" ideas for BYTE 
based on reader interest as expressed in the 
BOMB poll's responses to Ralph Hollis' 
article on NEWT and Mike Wimble's articles 
(among others) on various artificial intelli- 
gence concepts. Inspired by receipt of Dr 
Kent's articles, the theme of this editorial is 
the concept of smart machines and related 
robotic mechanisms as a fertile field for 
.experimentation with design and imple- 
mentation. What are the categories and 
classes of experimentation which are rele- 
vant to artificial intelligence and robot 
design? Why are we (experimenters all) so 
fascinated by the simulation of life? What 
are the topics of study needed to become 
"the complete robotics experimenter?" 
What will we see over the course of the next 
decade or so, as personal computers become 
the refined personal software development 
systems needed to support private robotics 
research? 

It often helps to draw inspiration from 
fiction, an element of our culture which has 
been present from its , beginnings in the 
allegorical tales of primitive religions to the 
sophisticated and future oriented techno- 
logical fiction tales of contemporary film, 
television and printed media. Fictional 



representations of plots, scenarios and tales 
are a sort of logical game practiced by 
creators, logical games with very real emo- 
tional and value orientations which stimulate 
thought about real problems while providing 
an interesting and enjoyable diversion for 
users of the art. Technological fiction, of 
which science fiction is a proper subset, is 
the appropriate contemporary place to turn 
for inspiration regarding the very comtem- 
porary possibility of ingenious and useful 
automatons guided by artificial intelligence. 

A particular science fiction tale which has 
been one of my greatest emotional inputs 
regarding the positive values of technology 
in human culture is a tale entitled Door 
Into Summer, by Robert Heinlein. First 
published in the 1950s, this now outdated 
tale of the near future (1970 is the year 
when the action commences with flashbacks 
to the fictional 1960s) is perhaps the one 
science fiction story which maps most 
closely to the current technological milieu 
of the smart machines made possible by 
microprocessor technology. Anyone who is 
seriously interested in practical use of robo- 
tic technology and smart machines should 
read this book as a source of background 
information and ideas about what is or 
might be possible. (The actual plot is a well 
constructed romantic tale in spite of its use 
of that logical trap which is the time travel 
deus ex machina.) 

The inspiration to be drawn from the 
story of Door Into Summer is that of an 
exciting time when technology has advanced 
to the threshold of intelligent robotic mech- 
anisms mass-produced for use in mundane 
tasks. It is the era of Drafting Dan (auto- 
mated intelligent drafting machine), Hired 
Girl (automated housekeeping robot), and 
numerous similar specialized devices. Some 
of these fictional concepts have already 
been implemented in practice, especially in 
the area of automated aids to the production 
of capital goods. The idea of Drafting Dan, 
the intelligent drafting device, is actually in 
use on a small scale today but with a far 
higher degree of refinement and intelligence: 
I refer to the various computer aided design 
techniques utilizing graphic displays and 
computational support in fields as diverse 
as airplane design, computer design, and 
architecture. Others among the concepts in 
Robert Heinlein's story have yet to be 
implemented with any degree of perfection 
or widespread use. 

The parallels between Door Into Summer 
and the current era are many. In the fic- 
tional account, technology has developed 

Continued on page 138 



BYTE November 1977 



The complete 
$655 line printer. 

It's ready to plug in, has an 80-column 

format, a remarkable MTBF and is 

14 times faster than a teletype! 




Breaking the hard copy barrier 

It's finally happened! The Axiom 
EX-800 provides full performance 
hardcopy at a price compatible with 
today's low cost micros. This little 
80-column machine zips along at 160 
characters per second (14 times faster 
than a teletype) —at a breakthrough 
single quantity price of $655 for a 
complete printer. 

When we say complete 
we mean it 

The EX-800 is a stand-alone unit 
with case, power supply, 96 character 
ASCII generator and interface, paper 
roll holder, infra-red low paper detec- 
tor, bell, and multi-line asynchronous 
input buffer. You won't find these 
standard features on any other 
printer, regardless of price! 

Our only option 

Our printer is so complete, that we 
offer only one option. A serial inter- 
face (RS 232C or current loop) good 
for 16 baud rates from 50 to 19,200 
and thoughtfully provided with a 
switch for either Centronics or Tally 
compatibility Might we call it a Tally- 
whacker? At $85.00 it certainly 
should be! 

Built-in LSI microprocessor 

The heart 
of the EX-800 1 
is a printed 
circuit card, 
containing a 

custom LSI chip made by Intel to 
Axiom specifications, which controls 
all printer functions. Microprocessor 
power means flexibility. Such as the 
built-in self test routine and variable 




character size. It also means reliability. 
Several industry surveys have shown 
LSI to be many times more reliable 
than equivalent conventional circuitry. 




The advantages of 
electrosensitive printing 

The EX-800 can print 80, 40, or 
20 characters across the five inch 
wide electrosensitive paper. Under 
software control, single characters or 
words may be printed larger for 
emphasis. The permanence of the 
hardcopy is archival, because once 
the aluminum coating has been re- 
moved, there is no way to put it back. 
It's unaffected by sunlight, moisture 
or heat. Although the printer doesn't 
provide multiple copies, excellent 
quality photocopies can be made 
from the high contrast printout. Also, 



AXIOM CORPORATION 

5932 San Fernando Rd., Glendale, CA 91202 • (213)245-9244. • TWX 910-497-2283 

Circle 8 on inquiry card. 




the paper is inexpensive and readily 
available, costing about 1^ for an 
8.% x 11" equivalent. 

Light, small, quiet, reliable, 
and versatile 

Our EX-800 weighs in at 12 
pounds, is just 9 x h inches wide, 4 
inches high, and 11 inches deep, and 
is delightfully quiet which makes it 
ideal for office and other low noise 
environments. The simple print 
mechanism is virtually maintenance 
free. In fact, tests show an incredible 
MTBF, many times greater than 
impact printers. This versatile printer 
is the ideal mate for micros, minis, 
CRTs, instruments and systems. 



Just unbox and plug it in 

That's all you have to do to the 
Axiom EX-800 — apart from pay 
for it, and at $655 that's almost 
a pleasure. 

r 
■ 

■ 
■ 

■ 
■ 
■ 
■ 

L 

BYTE November 1977 




Send to: 

5932 San Fernando Rd, 

Glendale, CA 91202 

□ Urgent. Please phone me at ext 

□ Have rep contact me 

□ I'd like to have a demonstration 

□ Send lit including sample of printout 

Nam e : : ' : - : 



Company . 

Dept 



Address 

City ___„„__„ 

Zip _, Telephone _ 



_State . 



Check out TTs 
new 4K static R AMs, 

They've got 
everything 

you ever liked 

about the 2102. 

And more. 



SIMPLE TO USE 




21021K 
Static RAM 



ITs New 4K 
tic RAMs 



Like the popular 2102, Tl's new 4K static 
RAMs are easy to use. Minimize system 
overhead; no refresh; simple address- 
ing. It's easy! 



NOCLOCKS.NO 
TIMING STROBES. 



t 



i 



t\* 



JOOD 

A bsa nan 



J h ai 





No clocking needed for Tl's fully static 
4K RAMs. No edges. Just present an ad- 
dress to the selected device and data 
can be read at access time. That's it. 



8 BYTE November 1977 



Circle 152 on inquiry card. 



21021K 
Static RAM 




FULLY STATIC. ACCESS 
TIME = CYCLE TIME. 



Fully static RAMs are totally asynchro- 
nous. Require no precharge or recovery 
time. Access and cycle times are always 
the same. 



DATA VALID - 
NO TIME LIMIT. 




zsnna 



Z&f=: 



zzsnnn 



mm 




ODD 

NO TIME 
LIMIT 



Fully static RAMs offer output data that 
are valid as long as the address is valid. 
Makes designing straightforward. No 
limit on output valid time. No extra 
circuitry. 



SINGLE +5 V SUPPLY. 
FULLY TTL COMPATIBLE. 



Just one +5 V supply needed. Full TTL 
compatibility on all inputs and outputs 
with full 400 mV guaranteed dc noise 
immunity. 



±10% TOLERANCE 
SUPPLY. 



Improved power supply tolerance means 
less stringent regulation. Less cost. 



HIGHSPEED. 



Tl 4K STATICS 



1000 900 800 700 600 500 400 300 200 100 
ACCESS/CYCLE TIME (ns) 



Max. 
Access 


4Kx1 


1Kx4 


150 ns 
200 ns 
250 ns 
300 ns 
450 ns 


TMS 4044-15 
TMS 4044-20 
TMS 4044-25 
TMS 4044-30 
TMS 4044-45 


TMS 4045-15 
TMS 4045-20 
TMS 4045-25 
TMS 4045-30 
TMS 4045-45 




Tl's new 4K static RAMs take up where 
the 2102 left off. Offering a wide choice 
of speeds from 150 ns to 450 ns maxi- 
mum access/minimum cycle. Plenty of 
performance to match today's and to- 
morrow's CPUs. 



LOW POWER. 



Parameter 


Four Low Power 1K 


One TI4K Static 


Static RAMs (2102AL-2) 


RAM (TMS 4044-25) 


Max. Access 


250 ns 


250 ns 


Min. Cycle 






Operating 


1368 mW 


500 mW 


Power (Max.) 






Package(s) 


4x16 pin 


1 x 18 pin 


Board Area 


3.7 


1.0 


Ratio 







Compare the power savings of the new 
4K statics to the low power 21L02. For 
equivalent speed, the new TMS 4044 
uses 63% less power. 

For super low standby-power/battery- 
backup operation, use the pin-compati- 
ble 20-pin TMS 4046/47 Series. Data is 
retained downto 10 mW. 



HIGH DENSITY 18-PIN PACKAGE. 




The new 4K statics come in industry- 
standard, 18-pin packages, plastic or 
ceramic. A density improvement of al- 
most four-to-one over 2102s. 



ii j 1977 Texas Instruments Incorporated 

Circle 152 on inquiry card 



FOR DATASHEETS, application reports, price and delivery, callyour nearest authorized Tl distributor or Tl field sales office. 

Texas Instruments 

INCORPORATED 



BYTE November 1977 



Gispcis's 
Circuit Cellar 



Memory Mapped IO 



Steve Ciarcia 

Box 582 

Glastonbury CT 06033 



I don't want to get into a fight over 
which microprocessor chip is better. They all 
have their favorable and unfavorable fea- 
tures. But, if you look a little closer, you 
may find that some of these extra features 
can be added with very little expense. 

I was speaking with a fellow computer 
nut recently, and he was arguing about the 
merits of the 6800 versus the 8080. I really 
didn't care to continue the conversation nor 
to justify why I had an 8080 and Z-80. But, 
when he said that one reason was that the 
6800 had memory mapped lOand the 8080 
didn't, I knew he didn't know what it was. 



This of course made me curious, and I 
approached a number of 8080 users to ask 
if they knew what memory mapped IO was. 
They assured me that they did, and that it 
was in fact one of the main features of the 
6800. But such a feature is hardly exclusive 
to the 6800! 

First of all, memory mapped IO means 
simply that a portion of memory address 
space has been reserved for interfacing with 
external devices. A byte of data is stored 
into a memory location, as always, but this 
storage unit, rather than being made up of 
1024 bit programmable memory chips, is an 



OUTPUT 
STROBE 



I 

A7 r^r>- 



Power Wiring Table 



OUTPUT DATA BUS (FROM CPU) 



Number 


Type 


+5 VDC 


Gnd 






Pin 


Pin 


IC1 


7420 


14 


7 


IC2 


74154 


24 


12 


IC3 


7407 


14 


7 


IC4 


7407 


14 


7 


IC5 


74100 


24 


7 



~LT 




£-r 



A3[£> 

I 

A2E> 

I 
Al (T>- 

I 

AO|f\P>^ 



G2 



IC2 
74I54 



m sb_ m 



+ 5VDC 



IC3 
7407 



220f2 
-AAA* 



v. v 7 . v., V 



(TYPICAL 
FOR 8) 



ir N0 - 7 vy 

- — NO. 8 <?« 



u 

STROBE NO. I 



-NX) 2 
-NO. 3 
-NO. 4 
-N0.5 
-NO. 6 



ICI 

7420 
lb 



-NO. 9 
-NO.IO 



-NO. II 



-NO.I3 
-NO. 14 
-NO. 15 

-N0.16 



V 



V 

inY 



22 



V 



D2 D3 D4 D5 D6 D7 



I C5 

74100 



Q2 03 Q4 Q5 Q6 Q7 Q8 



IO ADDRESS BUS 

(IO CARD CONNECTOR-22 PIN) 



20 






IC4 
7407 



V 



-C>D6' 



-C>D4' 



■D° 3 ' 



BUFFERED 
) OUTPUT 
BUS 



O 02 

C>DI" 



LSB 



-OwO-OwO" 

\ / 

8 BIT LATCHED 
PARALLEL OUTPUT 

Figure 1: A schematic diagram for a direct addressed output port decoding circuit. The port assignments as diagrammed are from 
octal codes 360 to 377. The bus pin assignments are for the Digital Group bus system, but the Altai r (S-100) bus is logically 
equivalent. 



10 BYTE November 1977 






Intel delivers SDK-85. Its the quickest 
way to sink your teeth into 8085 design. 




fc**Ec 

tfsltketbe 




Intel wants you 
to prove to yourself 
why the 8085 has 
become the new 
industry stan- 
dard microcom- \ 
puter. To make it 
easy for you to do 
that, our System De- 
sign Kit for the 8085 
available now for 
only $250. 

SDK-85 is 
the best way we 
know for you to 
evaluate MCS-85™ 1 
and develop proto- 
types of 8085 -based 
designs, because it 
gives you a hands-on 
look at this important 
new microcomputer s 
capabilities. 

And to simplify your evalu- 
ation, we Ve designed SDK-85 
as a stand-alone kit. It comes 
complete with an integral key- 
board for system control and 
data/program entry, and LED display out- 
put. To simplify programming, debugging 
and operation we Ve incorporated an on- 
board, ROM-resident software monitor. 

The 8085 family of components 
provides you with unprecedented design 
flexibility. The basic three-chip, high level 
integration MCS-85 system is included in 
SDK-85. It includes the 8085 CPU, 8155 
256-byte RAM with I/O and timer and 
8355 2K-byte ROM with I/O. And there's 
an on-board single-chip keyboard/display 
interface, the 8279. Sockets are provided 
for easy RAM and ROM/EPROM expansion. 
And there's ample free space layed out 
for easy wire wrap expansion using Intel's 



complete family of programmable 
peripheral controllers and 
your own prototype 
logic and special 
circuitry. 

SDK-85 makes 
an excellent 
teaching aid for 
both microprocessor 
design and program- 
ming courses, for 
microcomputer design 
seminars and as a project 
for the progressive 
hobbyist. Because the 8085 
is the most advanced micro- 
computer, SDK-85 is the key 
to state-of-the-art knowledge. 
SDK-85 can be assembled 
in just a few hours with a solder- 
ing iron and a few basic tools. 
Hook it up to your 5V power 
supply and its operational the 
same day you receive it. You can 
get your SDK-85 from any of Intels 
distributors for $250 in single unit 
quantities. 
To order SDK-85 or any of 
the MCS-85 components, contact: 
Almac/Stroum, Components Special- 
ties, Cramer, Hamilton/Avenet, Harvey 
Electronics, Industrial Components, 
Pioneer, Sheridan, L.A. Varah, 
Wyle Liberty /Elmar or Zentronics. 
Or, for more information, use 
the reader service card or write: Intel 
Corporation, 3065 Bowers Avenue, 
Santa Clara, CA 95051. 
Telephone: (408) 246-7501. 

intel delivers. 




Circle 71 on inquiry card. 



BYTE November 1977 



11 




Photo 7 : A realization of the hardware circuit shown in figure 7 with the 
addition of eight lights connected to the outputs of IC5. The connector 
attaches to bus lines for the author's other front end projects. 



Photo 2: A prototype for the circuit shown in figure 2. 



8 bit storage register such as a 74100. This 
type of procedure provides access to the 
data byte through the "back door," or 
output lines of the 74100. If you have 
followed me to this point, you can see that 
the concept of memory mapped 10 is 
applicable to any microprocessor that 
directly addresses memory! I don't know of 
too many processors which operate without 
this ability, so we'll just have to conclude 
that any microprocessor can be wired to 
provide memory mapped 10, including the 
8080. 

Look no further! It's a bird. . .it's a 
plane. . .no, it's Superchip! It looks like an 
8080, acts like an 8080 and, while not trying 
to steal Motorola's thunder, has memory 
mapped 10! The name of this new chip? 
Well, it's the plain old 8080 with an intelli- 
gent user. 

Why should I consider memory mapped 
10? 

The 8080 directly addresses 64 K bytes 
of memory and 512 10 ports (256 in and 
256 out). The only way data can arrive at an 
output port is by being passed through the 
accumulator and routed to a particular port 
by a 2 byte output instruction. Similarly, a 
2 byte instruction directs input data to the 
accumulator. Additional programming is 
necessary to store this input byte in 
memory. 




12 BYTE November 1977 



Now! Give yourself a working 
knowledge of microprocessing 
for job or 



III 



All-new self-study program from 
Bell & Howell Schools provides 
engineers, technicians and 
advanced hobbyists with 
applicable knowledge of basic 
programming concepts and 
trouble-shooting techniques for 
use in microprocessing systems. 




Now, without getting boxed-in to classroom 
schedules, you can learn the basics of mi- 
croprocessing and programming and apply 
them to actual problem-solving applications 
in your job or your hobby. In addition, if you 
happen to have a strong electronics back- 
ground., you'll be able to apply your 
specialized knowledge to trouble-shooting 
techniques and hardware configurations of 
microprocessors and systems. 
It's all made possible with Bell & Howell 
Schools' all-new, self-study program de- 
signed specifically for professionals (en- 
gineers, technicians, programmers) and 
advanced hobbyists. 

Once you complete this program, you will 
be able to: 

1. Write simple programs in both assembly 
and machine language, given the pro- 
gramming manual and instruction set for 
a particular microprocessor unit. 

2. Describe the basic operation of the mi- 
croprocessor, including the means of in- 
ternal data transfer, instruction decoding, 
memory access and I/O. 

3. Convert numbers between the decimal, 
binary, octal and hexadecimal systems. 

4. Followthe execution of a simple program, 
including arithmetic and logic statements. 

5. Identify and describe the circuits neces- 
sary to interface a microprocessor sys- 
tem with the outside world. 

6. Describe the data transfer between the 
microprocessor, memory and peripheral 
equipment. 

7. Understand the techniques of trou- 
bleshooting micro-computer-based sys- 
tems. 

8. Observe the proper servicing procedures 
for MOS circuits. 

9. Understand the basic operation of a mi- 
croprocessor in both a computing and 
control application. 

1 0. Understand the techniques of connecting 
the proper test equipment to a micro- 
processor system, observing wave forms 
and other data to diagnose a system fault. 



1 1 . Explain the operation of bidirectional data 
bus systems. 

12. Describe the operation and use of 
semiconductory memory systems, i.e. 
EROM, ROM, RAM. 

The emphasis is on the practical. 
This introductory program concentrates on 
the practical operations of microprocessing, 
providing you with ready knowledge you can 
apply to products you are now marketing and, 
particularly, to those you have on stream. 
Every word, every segment, every graph is 
presented in a way to communicate practical, 
usable facts. . .andinthemosteffectiveway 
possible. 

That's why each segment is followed by self- 
grading questions. This way, you're able to 
reinforce the major points you've learned and 
apply them more effectively to the subject 
matter in the next segment. 

You work at your own pace. 

There are no classes or seminars to attend. 
No pressures or deadlines. You progress as 
fast or as slow as you like. 
Once you complete the program, you will 
have a valuable reference too I you may return 
to for reviewing and refreshing your memory. 



And because the program is designed by Bell 
& Howell Schools, you know you'll have the 
most up-to-date information offered any- 
where. 

Try it for 10 days at no risk. 
We are so confident that this extraordinary 
program will meet your standards and expec- 
tations in every way that we invite you to 
accept this program at no risk whatever. 
Simply do this. Order your Microprocessing 
Program today for $89.50. Examine the 
materials closely and complete as many 
segments as you like. If, within ten days, you 
do not agree that this program can help you 
learn the basics of microprocessing in the 
fastest, most practical way, just return the 
materials and your money will be refunded 
promptly. 

So, right now, return the coupon below. Re- 
member: there's no risk. No obligation what- 
ever. You must be completely convinced that 
this Microprocessing Program can do the job 
for you — or your money back. 

S Belle, Hdujell Schools 

2201 West Howard Street 
Evanston, Illinois 60202 



Send to: Bell & Howell Schools, 2201 W. Howard, Evanston, Illinois 60202 

□ Enclosed is my check or money order for 
$89.50. Please send postpaid the Bell & Howell 

Schools Microprocessing Program. If not com- 

pletely satisfied, all materials will be returned Name 
within 10 days for prompt refund. 

□ Charge to credit card below: 

BankAmericard # Address 

Master Charge # 

For Master Charge card, include 4-digit number 
above name 



City 



Expiration date. 
Signature. 



Zip 



Circle 10 on inquiry card. 



BYTE November 1977 



13 






Obviously, if the data path went to a 
memory location instead of an output port, 
a broader range of instructions would be 
available. The 8080 (like most computers) 
has some very powerful instructions when it 
comes to memory operations. For the 8080 
these include MOV, MVI, STAX and STA 
instructions which, by definition, are added 
to the output data manipulation repertoire 
with memory mapped 10. 

Often the best way to approach a new 
subject is to analyze the present method. 
Figure 1 illustrates the basic design of an 



Power Wiring Table 



MEMORY ADDRESS BUS 
(MEMORY BOARD CONNECTOR) 



Number 


Type 


+5 VDC 


Gnd 






Pin 


Pin 


IC1 


7420 


14 


7 


IC2 


74154 


24 


12 


IC3 


7407 


14 


7 


IC4 


7407 


14 


7 


IC5 


74100 


24 


7 


IC6 


7402 


14 


7 


IC7 


7420 


14 


7 



8080 output "port." To emphasize simpli- 
city I've used 74100 latches for this example 
rather than the more complex ports such as 
the Motorola 6820 peripheral interface 
adapter. This configuration provides 16 
output strobes, starting with the octal 
output port address 360 and ending with 
octal 377. Integrated circuits 1 and 2 decode 
the address bus and, when provided with 
an output strobe during an output instruc- 
tion, load the present contents of the data 
bus into an 8 bit storage register (IC5). 
ICs 3 and 4 provide buffering and allow 
more 74100s to be attached to the buffered 
ouput bus lines for multiple ports. The pin 
designations are for the Digital Group bus 
system, but the Altair (S-100) bus is 
logically equivalent. 

Converting an output system to memory 
mapped 10 (illustrated in figure 2) requires 
the addition of two more integrated circuits, 
ICs 6 and 7, to decode the additional eight 
lines associated with memory addressing. 
With the decoding arrangement illustrated 
in figure 2, the 16 output (memory) loca- 



MEMORY DATA BUS (FROM CPU) 
MSB , 
C 



^sw^w 



IC4 
7407 






■O"' 




0>°< 



0°3 



O 02 



O 1 ' 



BUFFERED 
^MEMORY 
DATA BUS 



swfi-uwg- 



8 BIT LATCHED 
PARALLEL OUTPUT 



Figure 2: A schematic diagram for a memory addressed output port decoding circuit The port assignments in this case are from 
split field octal memory addresses 311 j 360 to 311/311. Here again, the bus pin assignments are for the Digital Group bus. 



14 



BYTE November 1977 



When you put it together, it's really together. 



Some people build personal computers for the love of building. The Equinox System™ 
is for people who build for the love of computing. 

You put it together. And it's really together. 

The Equinox 100 ™ mainframe combines the 8080 A CPU with a front panel program- 
ming station featuring ultra-convenient octal keyboard and digital LED readout. 

There are low-cost 4K and 8K memories. All your interfacing comes in one kit. Even 
EQU/ATE™and BASIC-EQ™ languages on easy-loading cassettes. 

It's all together now. It's all S-100 compatible. And its upward-compatible with new 
Equinox™ equipment software and systems coming in the months ahead. 

See the Equinox System™ at your local computer shop. Call toll-free to 800-648-5311 
(BAC/MC accepted). Or write Equinox Division, Parasitic Engineering, P.O. Box 6314, 
Albany, California 94706. THE EQUINOX SYSTEM™ All together now. 





Example 1 : Output the contents of the B register to port r. 

• 8080 Direct IO 

MOV B, A ; Move the contents of the B register to the accumulator 
OUT r ; Output the accumulator to port #r 

; Total bytes 3 

; Total states 1 5 

• Memory Mapped 10 

LXI HL ; Set memory pointer HL 

MOV M, B ; Move B register to memory location HL 

; Total bytes 4 

; Total states 1 7 

For simple data manipulations like this, the direct IO technique, which is familiar to all 
8080 users, occupies less memory space. 



Example 2: 



CONTINUE 



With two 8 bit digital to analog convertors attached to output registers, 
generate two sawtooth waveforms 180° out of phase. 



8080 Direct 

LXI BC 
INC B 
MOV B, A 
OUT1 
INCC 
MOV C, A 
OUT 2 



Load initial values into B and C (000, 200 octal) 

Increment the B value 

Move the contents of the B register to the accumulator 

Output the accumulator to port 1 (1st sawtooth) 

Increment the C value 

Move the contents of the C register to the accumulator 

Output the accumulator to port 2 (2nd sawtooth) 



14 

60 (one pass) 



CONTINUE 



JMP CONTINUE 

Total bytes 
Total states 

Memory Mapped IO 

LXI HL ; Load initial values into H and L (000, 200 octal) 

INC H ; Increment the H value 

INC L ; Increment the Lvalue 

SHLD ADDR; Store H and L in two consecutive memory locations wired 

as output registers. 
JMP CONTINUE 

Total bytes 1 1 

Total states 46 (one pass) 



tions will be from split octal addresses 377/ 
360 to 377/377. 

Now let's compare a couple of simple 
programs written using each method (see 
examples 1 and 2). It can be easily seen that 
the extra instuctions which operate on 
memory can greatly improve the output 
speed of the 8080. This extra speed, though 
not necessary when driving a 110 bps Tele- 
type, can be a saving grace in a computer 
music or graphics application. In fact, many 
video display drivers utilize this technique. 

Summary 



There are certain advantages to con- 
rting 8080 peripheric tr ^ ™*™*r\ wor-cnc 

_.rect IO. Among the 

sider are the following: 



i nere are certain advantages t* 
verting 8080 peripherals to mapped versus 
direct IO. Among the major points to 

cIHpr Tire* thp fnllnu/ina* 



con- 



• More IO ports are available. The 
full 64 K bytes of addressable mem- 
ory space can be set up for IO. It is 
not inconceivable that a video 
graphics display will use 8 K bytes 
of memory. This, of course, means 



that the 8 K bytes are decoded to 
provide 8192 IO port assignments. 

• Once the H and L registers have 
been loaded and provide a memory 
pointer, memory output is by 1 
byte instructions (such as MOV and 
STAX). 

• By not always having to pass 
through the accumulator, outputs 
are faster. 

• 16 bit IO capability through the use 
of the LHLD and SHLD instruc- 
tions. 

Now, should you consider changing your 
8080 system to memory IO? Frankly, if you 
are the type of person who will never write 
an assembly language program and is con- 
tent to stick with high level languages such 
as extended BASIC, don't even consider it. 
If the software packages supplied by the 
computer manufacturers have worked con- 
sistently for you to this point, don't tempt 
fate. The majority of the systems sold, in- 
cluding Altair, 1MSAI, DGS and so on, 
use 8080 IO instructions to all their peri- 
pherals. But many video systems bought as 
plug-in boards for the Altair (S-100) bus 
have memory mapped IO designs. 

Delving into memory mapped IO should 
be reserved for people willing to use assem- 
bly language and prepared to modify stan- 
dard software if required. In future editions 
I intend to investigate computer music 
applications where fast memory mapped 
8080 (Z-80) IO will become a necessity. 
But, for the meantime, you should at least 
know what it is." 



Author's Note 

/ hope you've enjoyed 
the first installment of 
Ciarcia's Circuit Cellar. I'd 
like to have your com- 
ments and criticisms as 
well as any ideas you may 
have for future editions of 
this feature. I'm always 
interested in hearing from 
readers who have such 
brainstorms. Send all 
correspondence to Steve 
Garcia, POB 582 , Glaston- 
bury CT 06033, and please 
enclose a stamped, self- 
addressed envelope. 



16 



BYTE November 1977 



Problem Sower Systems, Jmc. 

Manufacturers of QuanTronics Computer Products 



Space Age Memory . . . 




...at Down to Earth Prices 



MM8 Static RAM 

Available in 250nS and 450nS versions 
S-100 Bus Computer Systems 
Memory capacity of 8K-bytes x 8 bits maximum 
Addressing selectable by DIP Switch 
Wait cycles selectable by DIP Switch 
Memory protect from VaK to 8K by DIP Switch 
Data output, address input lines fully buffered 
Provision for SOL "Phantom" line 



MM16 EPROM 

Utilizing up to 16 2708 EPROMS 

S-100 Bus Computer Systems 

Memory capacity of 8K or 16K bytes by DIP Switch 

8K boundary addressing by DIP Switch 

to 4 wait cycles by DIP Switch 

Data output, address input lines fully buffered 

Hi-grade glass-epoxy with plated-thru holes 

Epoxy solder masked 



Find Out For Yourself — See Your Local Dealer Today! 




Manufacturers of QuanTronics Computer Products 
BQ4D CEERING HUE. SUITE ID CflNDGfl PARK, Cfl„ ■3)304 



Circle 1 1 9 on inquiry card. 



BYTE November 1977 17 



Simulation of Motion 



Stephen P Smith 

POB 841 

Parksley VA 23421 



Part 1: An Improved Lunar Lander Algorithm 



About the Author 



Stephen P Smith 's pet project as an amateur is a PASCAL compiler for a 
persona/ computer. Professional/}/, he /eads the Computer Sciences Corpora- 
tion support team attached to the range safety office at NASA Wallops 
Flight Center, where he and his team of analysts develop analytical methods 
and construct digital simulations of flight paths, flow fields and structural 
responses of rockets and aircraft The BASIC programs which are part of this 
article and the remaining parts to come in several installments were developed 
and run on a Tektronix 4057, which uses a 6800 microprocessor and includes 
a BASIC interpreter. 



One of the most delightful applications 
for personal computers is games, not just 
playing them, but creating them. If you are 
like most enthusiasts, you will have begun 
with random number games like blackjack, 
but sooner or later you will want to work 
with games involving moving objects. To 
describe that motion using a microcomputer 
you will need to use a form of simulation. 
The simulation could involve detailed mathe- 
matical models solved with elegant numeri- 
cal techniques. 

More likely, the novice will begin by fol- 
lowing the pattern of the simple lunar 
lander games which have appeared often 
in BYTE (see "Kim Goes to the Moon," by 
Butterfield in April 1977 BYTE, or "Con- 
trolling Small DC Motors with Analog 
Signals" by Dwyer, Critchfield and Sweer in 
September 1977 BYTE). The truly ad- 
vanced simulations are best left to pro- 
fessionals with mainframe computer power, 
but the home user can progress well beyond 
the simple lunar lander game. By picking up 
the basic physics and simple numerical 



methods presented in this article and the 
following ones, you will learn to simulate 
a wide variety of motion. Whether you use 
these simulations to create games, like the 
real time LEM simulator presented here, or 
to develop new applications for your per- 
sonal computer system, you will acquire 
some valuable additions to your applications 
software toolbox. 

For any application involving motion, 
your simulation will be required to predict 
the speed and position of an object at some 
time in the future. The predictions can be 
made using a microcomputer if you first 
limit the type of motions considered at 
any point in the program. In the lunar 
lander game, for example, the excursion 
module (LEM) is only allowed to move up 
and down. The simulation is said to have one 
degree of freedom. Other degrees are 
possible, but the separation into different 
degrees of freedom is an important first 
step. 

Let's see how a one degree of freedom 
simulation is performed. Thanks to Sir Isaac 
Newton and his apple (that was a fruit, not 
a computer), we know that an object will 
continue to move in any degree of freedom 
without changing speed until a force acts 
on it. To predict how the LEM will move, 
we need only to examine the forces which 
might be present and determine how they 
effect the up and down motion. 

Because the moon has no atmosphere to 
involve us in aerodynamics, only two forces 
need be considered, gravity and thrust. 
Gravity makes the LEM fall faster. Thrust 



18 



BYTE November 1977 



M83 2K/4K EPHOM Board 

Kit less EPROM $ 64.95 

Kit with 8-1702A (1 ms) 104.95 
Kit with 1 6-1 702A (1 (is) 1 44.95 



$109.95 
29.95 



MB6 SK Memory Board 

Kit with 8K 450 ns 100 mw RAM $199.95 
Bars RC. Board 29.95 




I02 Input/Output, PROM and 
Universal Board 

Kit S 54.95 
Bare RC. Board 29.95 



SB! Music Synthesizer Board 

Kit with paper tape of MUS-X1 



MB7 16K Memory Board 

Kitwith4KRAM $187.95 

Kit with 8K RAM 295.00 

Kitwith16KRAM 525.00 

ard 29.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 wil 
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-ParaMeland 2-Serial 
Input/Output Board 

Kit $149.95 



•nhled boards also available 
ihtly 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 133 on inquiry card. 



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



We're the blue boards 






Generic Unit Metric 

Length 1 meter 

Velocity 1 meter per second 

Acceleration 1 meter per second per second 

Mass 1 kilogram 

Force 1 newton 



3.2808 feet 

3.2808 feet per second 

2.2369 miles per hour 

3.2808 feet per scond per second 

2.2046 pounds (mass) 

0.0685 slugs (mass) 

0.2248 pounds (force) 



Table 1: This article was written using the metric system of units. As the 
front runners in an exciting new technical hobby, we should be more ready 
than most to accept the coming metric conversion in this country, but if you 
haven't been converted yet, the above table will be useful. 



makes it fall more slowly. The exact effect 
of each can be calculated with only a few 
operations. 

Gravity is the simpler of the two. It has 
exactly the same effect on every object. 
During each second of a lunar landing near 
the moon's surface, the moon's gravity will 
make a LEM fall 1.62 meters per second 
faster. (Those of you who wish to land on 
more exotic heavenly bodies are referred 
to table 2.) In most simulations, speed and 
position are considered positive if they are 
directed upward, in this case away from the 
lunar surface. To simulate 1 second of fall 
through lunar gravity we must subtract 1.62 
meters per second from the present speed. 
If the LEM is moving at -100 meters per 
second now (100 m/sec downward), 1 
second later it will be moving at -101.62 
meters per second. 

In many games, the effect of thrust is 
also simulated by a constant change in 
speed. Often it is given in multiples of 
gravity called "g"s. One "g" of thrust adds 
1.62 meters per second to the speed, just 
as gravity subtracts that amount. Two 
"g"s add twice that, and so on. This 
assumption reduces the complexity of the 





Surface 




Surface 


Heavenly 


Gravity 


Heavenly 


Gravity 


Body 


(m/sec 2 ) 


Body 


(m/sec 2 ) 


Moon 


1.62 


Asteroids 




Earth 


9.80 


Ceres 


0.85 


Mercury 


3.95 


Pallas 


0.54 


Venus 


8.72 


Juno 


0.21 


Mars 


3.84 


Vesta 


0.43 


Jupiter 


23.16 


Jupiter's moons 




Saturn 


8.77 


Ganymede 


3.43 


Uranus 


9.46 


lo 


2.26 


Neptune 


13.66 


Europa 


1.98 


Pluto 


4.89 


Callisto 


3.20 



Note that the gravitational accelerations shown in this table are surface accelerations, 
valid during the final stages of a landing when a spacecraft is relatively near the heavenly 
body. A more complicated simulation is required if movement far away from the hea- 
venly body is contemplated. 

Table 2: Players who grow adept at lunar landings may wish to try landing 
on some other heavenly bodies. The above table of accelerations due to 
gravity is provided for them. 



simulation, but it fails to demonstrate the 
way in which forces actually cause changes 
in speed. 

Unlike gravity, forces such as thrust do 
not have the same effect on every object. 
They have a larger effect on light objects 
than they have on heavier ones. It is 
important to consider this fact in accurate 
simulations, because weights can change. 
The LEM becomes lighter as it burns fuel 
to create thrust. A given value of thrust 
will have a larger effect toward the end 
of the flight than it will at the beginning. 

Weight is not really the correct term to 
use when calculating that effect. We should 
talk instead of mass. The difference is 
subtle, but important. Mass is a basic pro- 
perty of matter. Weight is the result of 
gravity pulling on the mass. A man on the 
moon weighs only 1/5 as much as he does 
on earth, but his mass is the same. This is 
true because the moon's gravity pulls only 
1/5 as strongly on his mass. The effect of 
a force is determined by the mass of an 
object, not by its weight. A given thrust 
will have the same effect on a LEM whether 
the LEM is landing on the moon, on earth, 
or is floating "weightless" in space. 

In the metric system, the unit of mass 
is the kilogram. The unit of force is the 
newton. These units are very convenient 
for calculating the effect of a force on the 
motion of an object. The force (in newtons) 
divided by the mass (in kilograms) is exactly 
equal to the rate of change in speed 
("acceleration" in meters per second per 
second). No additional constants are needed 
as they are when units of feet and pounds 
are used. For example, let our LEM have a 
mass of 1000 kg and let its engine produce a 
thrust of 10,000 newtons. To simulate 1 
second of thrust, a program would add 10 
meters per second to the speed (10000/ 
1000) to account for 1 second's worth of 
acceleration. 

Remember though that during the same 
second 1.62 meters per second must be sub- 
tracted to simulate the effect of gravitational 
acceleration. The actual change in speed will 
be 10.-1.62=8.38 meters per second. In two 
seconds, the change will be twice that or 
16.76 meters per second. In half a second, 
the change will be one half as much and so 
on. While this may seem obvious, it illus- 
trates an important point. The change that 
each force makes in the speed in 1 second 
may be determined separately. The separate 
effects are added up and then multiplied 
by the length of time we are simulating 
to find the actual value the simulation pro- 
gram will add to the speed. 

Now that we can predict speed, let's 
apply the same technique to predict the 



20 



BYTE November 1977 



We Have GOOD NEWS and BAD NEWS 



The good news is that you can now add any S-100 
bus compatible component to The VERSATILE CRT. 

The bad news is you'll have to decide for yourself what 
components will combine to make the best system for you. 



Just by looking you can see it's 
a rugged, professional unit with 
a 9" video monitor covered with 
smoked plexiglass, and a 53-key 
ASCII keyboard. 

But there's more than meets 
the eye. What you can't see is the 
mainframe which is a 10-slot 
plexiglass card rack. Or its fully 
shielded motherboard with 10 
spaces provided for sockets (2 



sockets are already included for 
you). Or the heavy duty filtered 
power supply and 75 CFM 
cooling fan. Or the power switch 
and cord on the rear panel. Or 
the space available for a floppy 
disk system. Or the expansion 
capabilities on the back panel for 
the addition of sockets. 

You'll receive The 

VERSATILE CRT fully 



assembled with a 90-day 
warranty, about 20 days after we 
get your order. Or you can buy 
one at your nearest dealer. 
Dealers can have super fast de- 
livery from stock to 20 days. 
You'll also receive complete doc- 
umentation and operating 
manual. Total price for The 
VERSATILE CRT is $699.95. 
Dealer inquiries are welcomed. 



Compact and Expandable, The VERSATILE CRT lets you do it your own way. 




COMPUTER DATA SYSTEMS 

5460 Fairmont Drive •Wilmington DE 19808 
(302) 738 - 0933 



Circle 27 on inquiry < 



Photo 1: A scene from the "lunar lander" program which is the Digital 
Equipment Corporation's graphics equipment demonstration program. 
This simulation is a real time model of a lunar landing in which a light pen 
is used to input control information and displays track the landing. The 
object of the game is to land near (but not on) the only MacDonalds ' ham- 
burger stand on the moon. This simulation, like the one discussed in the 
article, has two degrees of freedom; superficially it differs from the program 
of this article largely in its incorporation of real time graphic display light pen 
control inputs and a model of the lunar terrain. 



position. We have shown that if the LEM is 
moving downward at 1 00 meters per second 
now, (speed=-100) then in 2 seconds the 
speed will be -100 +2.x(TH RUST/MASS 
-1.62). Similarly, if the LEM is 10000 
meters above the moon now, in 2 seconds it 
will be 1 0000+2. x(speed) meters up. Just as 
we multiply the forces by time and add the 
product to the speed, we multiply the speed 
by time, and add the product to the posi- 
tion. 

What we have just done is to predict the 
speed and position at a "step" of 2 seconds 
into the future. In the jargon of simulation, 
2 seconds is the step size. The step size can 
take any value you choose. Returning to the 
1000 kg LEM, let the step size be 0.1 
seconds. For a present speed of -100 meters 
per second, the speed predicted for 0.1 
seconds in the future is -1 00+0.1 x(1 0000./ 
1 000.-1. 62)=-99.1 6 meters per second. If 
the position now is 10000 meters, then the 
position predicted for 0.1 seconds in the 
future is 10000.+0.1x(-99.16)=9990.08 
meters above the moon. 

Using these values of speed and position 
we can find new values for the forces and 
mass. We can then step the simulation into 
the future once again. The process can con- 
tinue indefinitely, but usually one or more 
variables is tested for an end condition at 
each step. The test might be on position 
(Are you still above the moon?), on mass 
(Is there fuel remaining?), or on some other 
variable. Should any of the tests fail, the 
program will branch and end the simulation. 

Adding a New Degree of Freedom 

You now know the basic procedure for 
simulating motion in one degree of freedom. 
The LEM simulation has been in one degree 
because we have only predicted the up and 
down movements. These are called vertical 
motions. Suppose that we also predict the 
way the LEM moves horizontally, in other 
words, from side to side. The pilot must not 




only reach the surface of the moon success- 
fully, but also land close to his target. While 
the pilot's task has become more compli- 
cated, our simulation fortunately has not. 
Just as we are able to calculate the effects 
of each force separately, we are able to 
make calculations for speed and position 
separately in each degree of freedom. 

To make those calculations for the 
second degree of freedom, first determine 
what forces are acting. Gravity, by defini- 
tion, acts only up and down. It does not 
enter into the horizontal calculations. So far, 
thrust has also been limited to vertical 
action, but we can easily add a second 
thrust acting to the side. Positive horizontal 
thrust should cause the LEM to move left, 
while negative thrust moves it right. 

Since there are no other forces to con- 
sider, the change in horizontal velocity (in 
meters per second) will be exactly equal 
to the horizontal thrust (in newtons) divided 
by the mass (in kilograms). This is, of 
course, the same equation used in the first 
or vertical degree of freedom. Similarly, the 
same equations used to calculate vertical 
speed and position will be used to calculate 
horizontal speed and position. 

Return to the example used earlier, but 
also consider the horizontal motion. Let the 
LEM start 100 meters to the left of its 
target moving at 10 meters per second to 
the right. Generally motion to the left will 
be considered positive and to the right 
negative, so the horizontal speed is -10 
meters per second. We found that during a 
step of 0.1 seconds the vertical speed 
changed from -100 to -99.16, and the 
position changed from 10000 to 9990.08. 
Quite apart from those calculations, we may 
set a horizontal thrust, say 5000 newtons, 
and find that during the same step the 
horizontal speed will become -10+0.1x 
(5000/1000) or -9.5 meters per second. 
The horizontal position will become 
1 00 +0.1x(-9.5)=99.05 meters. After 
making these calculations, the simulation 

Continued on page 216 



22 



BYTE November 1977 




THE AJ 841 l/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, 


D.C. 




ANDERSON 

JACOBSON 

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



1— 


HOW TO ORDER AN 


CLIP AND MAIL WITH ORDER 




AJ 841 I/O TERMINAL 


SELECT EITHER: j 
□ RS 232 Serial Interface 3 


1 1. 


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


□ Parallel Interface (requires 3P + S) ■ 
Number of units @ $995. each $ 




Personal Computer Terminal 


T.oral Sales Tax $ J 




ANDERSON JACOBSON, INC. 


Shipping and handling $35.00 each 




521 Charcot Avenue 


(p-vrlnHing ."san Jnsp) $ 




San Jose, CA 95131 


TOTAT. $ 


2. 


Upon written notification, pick up your ter- 






minal at the AJ service office located in one 


NAMR 1 




of the above cities. Allow six to eight weeks 






for delivery. 


ADDRKSS 1 


1 3 


Af inal check of your unit will be made at the 






local AJ service office at time of pick up. 


PTTY STATF. ^TP 1 


1 4 


For warranty or repair service, return unit 






to designated service location. 


PHONF. ( ) 










Circle 3 on inquiry card. 



BYTE November 1977 23 



tfietj're 

tore! 



the new HEATHKIT low-cost 
personal computing systems 



The new VALUE-STANDARD in personal 
computing systems! Heathkit computers 
give you the power and performance to 
go wherever your imagination and pro- 
gramming prowess take you. They're de- 
signed to get you up and running fast, 
interface with I/O devices easily and 
quickly, accept additional memory and 
I/O devices, store and retrieve data with 
speed and accuracy, respond to your re- 
quests with lightning speed. They offer 
complete mass storage capabilities, power 
and reliability for any programming appli- 
cation, and they're priced low enough to 
give you real VALUE for your computer 
dollar! We've told you they're the ones 
you've been waiting for — here's why! 

These Heathkit computer products are 

"total system" designs with powerful sys- 
tem software already included in the pur- 
chase price. They're the ones you need 
to get up and running fast. And they're 
backed by superior documentation in- 
cluding easy-to-follow step-by-step as- 
sembly and operations manuals, and 
service support from the Heath Com- 
pany, the world's largest and most experi- 
enced manufacturer of electronic kits. 

NEW H8 8-Bit Digital Computer. This 8- 
bit computer based on the famous 8080A 
microprocessor features a Heathkit ex- 
clusive "intelligent" front panel with octal 
data entry and control, 9-digit readout, a 
built-in bootstrap for one-button program 
loading, and a heavy-duty power supply 
with power enough for plenty of memory 
and interface expansion capability. It's 
easier and faster to use than other per- 
sonal computers and it's priced low 
enough for any budget. 

NEW H11 16-bit Digital Computer. The 

most sophisticated and versatile personal 



computer available today — brought to 
you by Heath Company and Digital Equip- 
ment Corporation, the world leader in 
minicomputer systems. Powerful features 
include- DEC'S 16-bit LSI-11 CPU, 4096 x 
16 read/write MOS memory expandable 
to 20K (32K potential), priority interrupt, 
DMA operation and more. PDP-11 systems 
software for fast and efficient operation 
is included! 

NEW H9 Video Terminal. A full ASCII ter- 
minal featuring a bright 12" CRT, long and 
short-form display, full 80-character lines, 
all standard serial interfacing, plus a fully 
wired and tested control board. Has au- 
toscrolling, full-page or line-erase modes, 
a transmit page function and a plot mode 
for simple curves and graphs. 

NEW H10 Paper Tape Reader/Punch. 

Complete mass storage peripheral uses 
low-cost paper tape. Features solid-state 
reader with stepper motor drive, totally 
independent punch and reader and a copy 
mode for fast, easy tape duplication. 
Reads up to 50 characters per second, 
punches up to 10 characters per second. 

Other Heathkit computer products in- 
clude a cassette recorder/playerand tape 
for mass storage, LA36 DEC Writer II key- 
board printer terminal, serial and parallel 
interfaces, software, memory expansion 
and I/O cards, and a complete library of 
the latest computer books. The Heath 
User's Group (HUG) provides a newslet- 
ter, software library and lots more to help 
you get the greatest potential from your 
Heathkit computer products. We've got 
everything you need to make Heath your 
personal computing headquarters, send 
for your FREE catalog today! 



24 BYTE November 1977 



8-Bit 
Computer 

$375 Kit 




Video 
Terminal 

$530 Kit 



ffiEE! 



Heath Company, Dept. 334-350 
Benton Harbor, Michigan 49022 

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






Name. 



HEATHKIT CATALOG 

Read all about our exciting com 
puter systems and nearly 400 other 
fun-to-build, money-saving elec- 
tronic products in kit form. 

Prices are mail-order FOB, Benton Harbor, Michigan. 
Prices and specifications subject to change without notice. 
Heath Company, Dept. 334-350 Benton Harbor, Mi 49022 

Circle 63 on inquiry card. 



Address- 



City_ 



CP-126 



Zip- 



BYTE November 1977 25 




A Minicomputer Fair: 
Tiny and Personal 



Donald T Piele 

Assoc Professor of Mathematics 
University of Wisconsin— Parkside 
Kenosha Wl 53140 



If you start planning in April for a com- 
puter fair in June, you are probably either a 
novice, mini-minded, crazy, or all of the 
above. But sometimes a bit of insanity is just 
what is needed to make one jump in and do 
something new. Uncertain of what would 
happen, we plowed ahead with our fair, and 
we're glad we did. 

The "us" I am referring to is the Center 
for the Application of Computers, a small 
group of faculty members at the University 
of Wisconsin-Parkside who share a common 
interest in computers and their many uses. 
We decided, rather late in the year, that an 



Photo J: Students from 
the Kenosha area enjoy a 
computer display at the 
1977 University of 
Wisconsin-Parkside Com- 
puter Fair. 



excellent way to proselytize our colleagues 
and generate interest among students and 
the general public would be to sponsor a 
computer fair. Our broad objective was to 
provide a forum for the rapidly developing 
field of personal computing with all its 
associated implications and applications. 

Exhibits 

A viable computer fair needs hardware 
exhibits. Unfortunately, Kenosha Wl is not 
located in Silicon Gulch, and manufacturers 
cannot afford the time and money to attend 
every computer fair that springs up around 
the country. However, local computer 
stores, or those within a day's drive, are very 
interested in the exposure that such a fair 
brings. Despite the fact that Saturday is the 
busiest day of the week for them, we were 
able to line up six different computer stores 
for the fair, one as far away as Madison 



26 



BYTE November 1977 




The Computer for the Professional 



Whether you are a manager, scientist, educator, lawyer, 

accountant or medical professional, the System 8813 will 

make you more productive in your profession. It can keep 

track of your receivables, project future sales, evaluate 

investment opportunities, or collect data in the laboratory. 

Use the System 8813 to develop reports, analyze and store 

lists and schedules, or to teach others about computers. 

It is easily used by novices and experts alike. 



Reliable hardware and sophisticated software make 
this system a useful tool. Several software packages are 
included with the machine: an advanced disk operating 
system supporting a powerful BASIC language inter- 
preter, easy to use text editor, assembler and other system 
utilities. Prices for complete systems start at $3250. 

See it at your local computer store or contact us at 
460 Ward Dr., Santa Barbara, C A 93 11 1, (805) 967-0468. 



PolyMorphic 
Systems 



BYTE November 1977 27 




Photo 2: Third graders Esther Marianyi (left) and Lisa Hanson from South- 
port and Roosevelt schools in Kenosha Wl deep in thought as they program 
one of the computers at the Wisconsin Computer Fair. 



(120 miles). Many manufacturers who were 
contacted but could not come helped out 
by encouraging the stores in our area to 
attend and display their products. 

Other sources of hardware were hobbyists 
and computer clubs within driving range. 
Two Chicago area clubs and the Wisconsin 
Computer Society (an amateur computer 
club) were invited, and they responded with 
a number of excellent displays. Two $25 
cash prizes were donated by BYTE magazine 
for the best "homecooking." 

The support we received from the com- 
puter stores, clubs and a few local manu- 
facturers made the hardware component of 
our fair very successful. 

Manufacturers who could not come 
usually sent the all-important free brochures 
that everyone enjoys collecting at a fair 
whether they ever read them or not. A few 
generous manufacturers such as Vector, 
OK Tool and Hexadaisy included samples 
of their products which we could use as 
valuable door prizes. 

Speakers 

Another important component of every 
fair is the speakers. Throughout the day, a 
number of "small talks" (one half hour in 
length) were given by members of the Center 



for the Application of Computers, faculty 
members from other schools, hobbyists and 
students. Topics ranged from an introduc- 
tion to personal computing, cryptography, 
microcomputers in the laboratory, and 
computer graphics, to optical character 
recognition and speech conversion. The 
featured speaker for the day was Ted 
Nelson, the writer, showman and computer 
guru who came armed with his talk, "The 
End of the Dinosaurs." 

Programming Contest 

The final component of our fair (and the 
one that made it very special) was the First 
Annual Interactive Computer Problem 
Solving Contest. The glitter of computer 
hardware with all its razzlers and dazzlers 
soon fades without an understanding of how 
one controls them through programming. 
Despite the fact that kids will sit for hours 
at a terminal playing a canned computer 
game, nothing can compare with the excite- 
ment that radiates from their faces when 
they successfully write their own programs 
to solve a problem. 

The programming contest was divided 
into four categories: 1 st thru 6th grade, 7th 
thru 10th grade, 11th thru 12th grade, and 
college. The contestants entered as teams 
of up to three members each and were 
assigned one terminal per team. Five pro- 
blems of varying difficulty were handed 
out with a 2 hour time limit for solution. 
The 11th thru 12th category proved to be 
the most popular, and one 2 hour session 
with 19 teams was devoted exclusively to 
this category. After two hours each team 
turned in their solutions which consisted 
of a listing of the program and a sample 
run. The programs were quickly graded 
using the criterion of accuracy first and 
cleverness second. 

The winners in the 11th thru 12th class 
were three seniors from Eau Claire Wl (Tim 
Sirianni, Ellery Chan and Jeff Teeters) who 
traveled 300 miles that day to enter the 
contest. They did an outstanding job writing 
successful programs for all five problems 
within the 2 hour time limit— an exceptional 
performance surpassing even the college 
division that took the same exam. Prizes 
for first, second and third were awarded 
in all divisions, including trophies, books 
and complimentary subscriptions to pub- 
lications. 

Finally, the kids in the 1st thru 6th grade 
category deserve special attention. Earlier 
in the year, the special education class of 
K thru 4th graders from Kenosha Unified 



28 



BYTE November 1977 



Circle 73 on inquiry card. 



Turn your small systems interest 

into a big 
career 



INTERDATA, a world leader in the computer 
industry, is looking for ambitious 
state of the art personnel to join us in 
shaping tomorrow's computer technology. 



How do you qualify? 

Your strong interest in small 
computer systems proves that 
you are ambitious, and your 
work is in state of the art 
technology. 

What do we have to 
offer? 

We're offering you the oppor- 
tunity to join our growing 
company, working with top pro- 
fessionals in the industry, in an 
environment where you'll be 
recognized and handsomely 
rewarded" for your technical 
contribution in creating hard- 
ware and software tools. 



Why are we offering 
you this opportunity? 

Because we feel that your inno- 
vative ideas would be an 
advantage to our company. 
Since you would be working at 
something you are truly inter- 
ested in, we think you'll be 
eager to learn and dedicated to 
the advancement of our 
technology. 

Wouldn't it be great? 

We offer you virtually unlimited 
advancement potential, an ex- 
cellent salary, and outstanding 
benefits for just doing what 
you like best! 



t 



opportunity! 



Look into the 
exciting world of 
INTERDATA.:. 

call Bill Beattie at 

(201) 747-7300; or 

write for more information. 



® 



A UNIT OF 

PERKIN ELMER DATA SYSTEMS 

1 06 Apple St. , Tinton Falls, New Jersey 07724 

Equal Opportunity Employer M/F 



schools, taught by Iris Helman and Sally 
Greenwood, had visited the computer center 
and played games on the terminals. This of 
course only whetted their appetites for 
more computer time, and arrangements were 
later made to return for four 1 hour lessons 
on programming in the BASIC language. 
Besides the mechanics of coding a computer, 
the elementary ideas of programming logic 
were emphasized through flowcharting. 
These ideas were discussed every day 
without a computer. The class enjoyed trans- 
forming its own scenario into a flowchart 
format using simple statements and bran- 
ching conditions. We were pleasantly sur- 
prised at how entertaining and creative a 
flowchart can be when written by young 
children. The results were posted on a bulle- 
tin board at the fair and they proved to be a 
very popular attraction. 

Future Plans 

By starting earlier next year we hope to 
make the 2nd Annual UW-Parkside Com- 
puter Fair even more exciting. But quality, 
not quantity, will remain our long suit. 
About 700 attended the first fair and 1 000 
is our upper limit for a comfortable fair. 
Hardware exhibits will again be sought from 
local stores and vendors, but they will not 
play the dominant role that they do at larger 



fairs; talks and workshops exploring the 
expanding list of minicomputer applications 
will be just as important. 

The 2nd Annual Interactive Computer 
Problem Solving Contest will be expanded 
and announced much earlier so that junior 
high and high schools throughout Wisconsin 
and Northern Illinois will have time to get 
ready. This year's exams will be freely 
handed out to schools along with instruc- 
tions on how to run a computer problem 
solving contest locally. Through these 
contests we hope to lend encouragement 
to the growing number of teachers and 
young students who are eager to learn 
more about problem solving with the com- 
puter. In the process, we will be learning 
a great deal about this subject ourselves. 

Finally, colleges and universities should 
take the lead in introducing the community 
they serve to the coming revolution of cheap 
computer power. They already have the 
physical resources to do the job with a 
minimum of cost. The return in public 
relations alone is worth much more than the 
investment. The local newspapers and 
Racine and Milwaukee television stations 
carried stories about the fair. Our fair repre- 
sents one way of bringing computer aware- 
ness to the general public, and we highly 
recommend it." 



BYTE November 1977 



29 




SPACE WAR DEFINITIONS 

I have seen repeated mention, both in 
BYTE and in other sources, of the origi- 
nal computer game of Space War de- 
veloped at MIT. What I have failed to see 
is any type of description or explanation 
pertaining to this classic king of com- 
puter games. What exactly does the origi- 
nal Space War entail in the way of dis- 
play and participation? I am deeply 
interested in computer games, and I 
wonder just what was offered by this 
"oldie-goldie" to have rated such con- 
tinued interest. 

Again, in reference to MIT's Space 
War, are there currently any manu- 
facturers' software or hardware products 
which are comparable? With thrillers 
like MiniTerm's Deluxe Space War and 
ECD's Animated Spacewar, I wonder if 
the current state of the art in computer 
games doesn't exceed that of the original 
MITgame. 

Rick Craig 
2609 E Woodlyn Way 
Greensboro NC 27407 

See the article by Dave Kruglinski on 
page 86 of the October 1977 BYTE for 
the answer to your question about what 
a classic Space War game does, illus- 
trated by a practical example, which will 
probably not be the last such example 
seen in B YTE. 

SAMPLING BIAS? 

After reading your editorial in May 
1977 BYTE I still find it hard to believe 
that only 1% of your readers are female. 
Did you by any chance look at marital 
status in the questionnaire? I would 
guess that in many cases both husband 
and wife are computer hobbyists. In 
most cases I would guess that married 
women interested in computers would 
share that interest with their husbands. 
The reverse however would not be as 
common. If my husband and I received 
your questionnaire he would most likely 
fill it out, thus skewing the results 
toward the 99% male figure. I'll bet what 
your survey really shows is the very 
small number of single women interested 
in computers and married women who. 
are more interested than their husbands. 

Next survey how about asking how 
many other people — other than the 
subscriber — read the magazine, and 



their age, relationship, level of interest, 
education, etc. 

Looking at that 1% figure makes me 
feel very lonely. I'm sure there must be 
more women like myself who are inter- 
ested in computers. I would enjoy 
hearing from other women hobbyists. 
Write and let me know who you are and 
what your interests are. I'll pass the 
information back to BYTE. It won't be 
an official survey, but I'll bet I'll get 
swamped with letters and postcards. 
Come on girls, let's show them that we 
exist! 

Leah R O'Connor 
6315 W Raven St 
Chicago IL 60646 

AN INVITATION TO ALL 1 802 
USERS: THE 1802 EXCHANGE 

Very little software for the RCA 
CDP1802 is currently in the public 
domain. To remedy this situation I am 
going to publish a 10 page booklet listing 
available software. If you desire to sell or 
even give away your software please send 
me a listing for my review. My booklet 
will provide a complete description and 
cost information with a reference num- 
ber corresponding to a number on an 
ordering coupon. 

I plan to charge $1 for the booklet. 
This amount will also cover the costs 
associated with processing the coupons. 
The use of the coupon will reduce the 
costs to the person ordering from more 
than one source. 

The publication date is set for early 
December 1977. Advance orders may be 
made at $1 per copy. Send all orders, 
software listings, and other correspon- 
dence to: 

Ross Wirth 

1636 S 108 EastAv 

Tulsa OK 74128 

SELF-PROPAGATION MONSTERS 

I discovered a real "bug" in the Z-80. 
If the registers are set up correctly, and 
the user has 64 K of programmable 
memory, a "living" creature can be 
created, similar to the interrupt driven 
monsters that pop up unexpectedly. Its 
only purpose in "life" is to procreate 
and eat food, namely time. If you object 
to my use of the term "life," go back 
and reread the definition. The "crea- 



30 



BYTE November 1977 



Rated G 

Great Locations 
ComputerLand 

Now Open: 

3020 University Drive N.W. 
Huntsville, AL 
(205) 539-1200 
11074 San Pablo Ave, 
El Cerrito. CA 94530 
(415) 233-5010 

22634 Foothill Blvd. 
Hay ward. CA 94542 
(415)538-8080 

6840 La Cienega Blvd. 
Inglewood, CA 90302 
(213) 776-8080 

24001 Via Fabricante 
Mission Viejo, CA 92675 
(714) 770-0131 

4233 Convoy Street 

San Diego, CA 92111 

(714) 560-9912 

121 Fremont Street 

San Francisco, CA 94105 

(415)546-1592 

42 42nd Ave. 

San Mateo, CA 94403 

(415)572-8080 

171 E. Thousand Oaks Blvd. 
Thousand Oaks, CA 91360 
•(805)495-3554 
104 W. First Street 
Tustin, CA 92680 
(714)544-0542 

Astra Shopping Center 
Kirkwood Highway 
Newark, DE 19711 
(302)738-9656 

50 East Rand Road 
Arlington Heights, IL 60004 
(312)255-6488 

9511 No. Milwaukee Ave. 
Niles, IL 60648 
(312) 967-1714 

10935 S. Cicero Ave. 
Oak Lawn, IL 60453 
(312)422-8080 
813-B Lyndon Lane 
Louisville, KY 40222 
(502)425-8308 
16065 Frederick Road 
Rockville, MD 20855 
(301)948-7676 
419 Amherst 
Nashua, NH 03060 
(603) 889-5238 
2 DeHarf Street 
Morristown, NJ 07960 
(201) 539-4077 

1612 Niagara Falls Blvd. 
Buffalo. NY 14150 
(716) 836-6511 

225 Elmira Road 

Ithaca, NY 14850 

(607)277-4888 

1304 SOM Center Road 

Mayfield Heights, OH 44124 

Phone: Inquire Locally 

3300 Anderson Lane 
Austin, TX 78757 
Phone: Inquire Locally 
6439 Westheimer Road 
Houston, TX 77057 
(713)977-0909 

Franchises Available: 
Computerland Corp. 

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

Circle 30 on inquiry card. 



Rated G 



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. 




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 rightforyou. It's as easy as that at ComputerLand. 

The great computer store. RATED G. 

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



Franchise opportunities available. 



ComputerLand 

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



Circle 30 on inquiry card. 



ture" is an ED BO instruction, the block 
transfer LDI R. 

To put it simply, it turns into a 
memory eater, copying itself everywhere 
into memory, prepetuating its existence. 
Externally, it looks like an ED BO run- 
ning loose. Here it is: 



ORG OOOOH 










01 00 00 


LD 


ac 


.OOOOH 


J DO 65K TrtANSFEK 


Jl OB 00 


LD 


DE 


OOOBH 


>UP 2 LOCATIONS 


21 09 00 


LD 


HL 


0009H 


;to pehpetjate 


ED BO 


LDlii 






JHEKE' S THE ANIMAL 
JTH<U GOES HJNMIMG OFF 



Try it, it's fun. 

Also in this category, there's the 
14747 instruction in DEC PDP-11s. It 
copies itself lower in memory (even 
though DEC manuals say the instruction 
shouldn't work), and then executes the 
moved instruction! This one doesn't 
perpetuate, but it's neat to kill memory 
when you don't want someone to screw 
with some secret software. 

Fred Beckhusen 

MS 23 

Mostek Corp 

1 21 5 W Crosby Rd 

Carrollton TX 75006 

Then of course there is the famous 
MVC instruction of the IBM 360 and 
3 70 series, key to the famous OS 360 
4, time bomb" technique wherein a pro- 
pagating MVC in supervisor mode 
mysteriously clears a 360's memory, 
crashing the machine hours after the 
joker who scheduled it has signed off 
TSO. Since the MVC moves 256 byte 
chunks and, once started, it a/ways com- 
pletes, the last MVC of the program goes 
one step further by clearing the program 
itself! (Reputedly, later than the mid 
1970s, releases of IBM's TSO closed the 
holes by which clever programmers 
could get into supervisor mode from a 
TSO terminal.). . .CH 



MOTOROLA EVALUATION KIT 
ARTICLES NEEDED 

As an owner and user of an MEK- 
6800D2 kit from Motorola, I would like 
to see some software especially for this 
system with its J-BUG monitor. A some- 
what similar but older system, the 
KIM-1, has a devoted following and 
many articles concerning this system 
have appeared in past BYTEs. I believe 
the D2 system, with a little encourage- 
ment, could also become popular. I 
know you are a 6800 fan, CH, so how 
about encouraging someone to write 
about this Motorola kit? 

David Beach 

POB 360 

Frankford Ontario 

CANADA KOK 2C0 

PS: The MEK6800D2 appears fairly 
well thought out. Mine went together 
without any problems (I used sockets 
for all the chips, however.) and ran 
perfectly on the first power up. 

MORE ON COMMERCIAL RADIO 
AUTOMATION 

Joe Alwin's request in the February 
1977 BYTE for information on micro- 
processor based radio automation sys- 
tems is easily answered. McCurdy Radio 
of 108 Carnforth Rd, Toronto 
CANAIM, has an 8080 based system 
that will do just what he wants. Data 
input is via keyboard or standard audio 
cartridges or cassettes for compatibility 
with other radio station equipment. 
Logging may be on Teletype, or the 
data may be recirculated in memory 
and used again for another day's pro- 
grams. Data is displayed on a CRT. 

And now perhaps one of your 
readers can help me. I am looking for 



a "Universal Alarm Annunciator." If 
any one of, say, 100 terminals is 
grounded, I want to display a one line 
alarm message on a CRT, eg: "#54: 
XMTR OFF AIR." The messages must 
be previously entered from a key- 
board and must of course be protected 
against power failure. An additional 
"HELP" routine could be used to call 
up (off disk) a whole page of previously 
entered text describing what to do to 
solve the #54 alarm problem. As you 
will appreciate, the difficulty lies in 
solving the sorting problem economi- 
cally. Including the CRT, keyboard 
and microprocessor, the whole thing 
should come in at less than $15,000. 
Has anyone such an item up their sleeve? 

M Barlow 

5052 Chestnut Av 

Pierrefonds 

Montreal CANADA 

LORAN-C CLARIFIED 

In the July 1977 BYTE, there was a 
letter from Ian McNicol in which there 
occurred a sort of throw-away line: 
"... why use OMEGA when there are 
satellite systems like LORAN-C?" Well, 
perhaps this is a pertinent question, but 
it displays a little misinformation. 
LORAN-C is not a satellite system. 
LORAN-C is a system consisting of a 
master station and two to four slave 
stations which broadcast a series of 
pulses which modulate a 100 kHz car- 
rier. The master sends a signal which is 
received by the slave stations and the 
navigation receiver. The slave stations 
delay the master signal and rebroadcast 
it to the navigator. The LORAN-C re- 
ceiver measures the time difference be- 
tween arrival of the master and slave 

Continued on page 145 




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'Vbiphase 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. 



Per C o m 'peripherals for personal computing ' 



32 BYTE November 1977 




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. 



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. 



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. 




TECHNICAL 

DESIGN 

LABS 



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

Circle 145 on inquiry card. 



Introducing Apple II. 





You've just run out of excuses 
for not owning a personal computer. 



Clear the kitchen table. Bring 
in the colorTV. 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 



+00* 




complete, ready to use computer, not a 
kit. At $1298, it includes video gra- 
phics in 15 colors. It includes 8K bytes 
ROM and 4K bytes RAM-easily 
expandable to 48K bytes using 16K 
RAMs (see box). But you don't even 
need to know a RAM from a ROM to 
use and enjoy Apple II. For example, 
it's the first personal computer with 
a fast version of BASIC permanently 
stored in ROM. That means you can 
begin writing your own programs the 
first evening, even if you've had no 
previous computer experience. 

The familiar typewriter-style 
keyboard makes it easy to enter your 
instructions. And your programs can 
be stored on— and retrieved from— 
audio cassettes, using the built-in 




cassette interface, so you can swap 
with other Apple II users. 

You can create dazzling color 
displays using the unique color gra- 
phics commands in Apple BASIC. 
Write simple programs to display 
beautiful kaleidoscopic designs. Or 
invent your own games. Games like 
PONG— using the game paddles, 
supplied. You can even add the dimen- 
sion of sound through Apple IFs 
built-in speaker. 

But Apple II is more 
than an advanced, infinitely 
flexible game machine. Use 
it to teach your children 
arithmetic, or spelling 
for instance. Apple II 
makes learning fun. 
Apple II can also 
manage household finances, 
chart the stock market or 
index recipes, record collections, even 
control your home environment. 

Right now, we're finalizing a 
peripheral board that will slide into 
one of the eight available mother- 
board slots and enable you to compose 

music elec- 
tronically. 
And there 
will be other 
peripherals 
announced 
soon to 
allow your 
Apple II to 
talk with another Apple II, or to inter- 
face to a printer or teletype. 

Apple II is designed to grow 
with you as your skill and experience 
with computers grows. It is the state 
of the art in personal computing today, 
and compatible upgrades and peri- 
pherals will keep Apple II in the fore- 
front for years to come. 

Write us today for our detailed 
brochure and order form. Or call us 
for the name and address of the 
Apple II dealer nearest you. (408) 
996-1010. Apple Computer Inc., 
20863 Stevens Creek Boulevard, 
Bldg. B3-C, Cupertino, 
California 95014. 




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— 280h x 
192v; black, white, violet, green 
(12K 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 port, 

■ Speaker 

■ Composite 
video 
output 







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. $598. 

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







appkz computer inc. 



BYTE November 1977 



35 



Order your Apple II now. 



from any one of the following authorized dealers: 



ALABAMA 

Computerland 
3020 University Or. N.W. 
Huntsville 539-1200 
The Computer Center 
303 B. Poplar Place 
Birmingham 942-8567 

ALASKA 

Team Electronics 

Country Village Shopping Center 

700 E. Benson Blvd. 

Anchorage 276-2923 

Team^lectronics 

404 E. Fireweed Lane 

Anchorage 272-4823 

Team Electronics 

1698 Airport Way 

Fairbanks 456-4157 

ARIZONA 

Byte Shop 

813 N. Scottsdale Road 

Tempe 894-1193 

CALIFORNIA 

Computer Components 

5848 Sepulveda Blvd. 

VanNuys 786-7411 

Computerland 

11 074 San Pablo Ave. 

El Cerrito 233-5010 

Computerland 

22634 Foothill Blvd. 

Hayward 538-8080 

Computerland 

6840 La Cienega Blvd. 

Inglewood 776-8080 

Computerland 

24001 Via Fabricante 

Mission Viejo 770-0131 

Computerland 

4233 Convoy Street 

San Diego 560-9912 

Computerland 

117 Fremont St. 

San Francisco 546-1592 

Computerland 

104 W. First Street 

Tustin 544-0542 

Byte Shop 

6041 Greenback Lane 

Citrus Heights 961-2983 

Byte Shop 

2233 El Camino Real 

Palo Alto 327-8080 

Byte Shop 

496 S. Lake Ave. 

Pasadena 

Byte Shop 

2626 Union Avenue 

San Jose 377-46B5 

Byte Shop 

1200 W. Hillsdale Blvd. 

San Mateo 341-4200 

Byte Shop 

3400 El Camino Real 

Santa Clara 249-4221 

Byte Shop 

2989 N. Main Street 

Walnut Creek 933-6252 

A-V100 Electronics 

2210 Bellflower Road 

Long Beach 598-0444 

Computer Country 

2232 Salt Air Drive 

Santa Ana 832-9681 

Computer Playground 

6789 Westminster Avenue 

Westminster 898-8330 

Computer Store 

1093 Mission St. 

San Francisco 431-0640 

Electric Brain 

3038 N. Cedar Ave. 

Fresno 227-8479 

Rainbow Computing, 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 North Avenue 

Grand Junction 245-4455 

Team Electronics 

2045 Greeley Mall 

Greeley 356-3800 



COLORADO (continued) 
Team Electronics 
1450 Main Street 
Longmont 772-7800 

Team Electronics 
1022 Constitution Road 
Belmont Plaza 
Pueblo 545-0703 

FLORIDA 

Byte Shop 

1044 E. Oakland Park Blvd. 

Ft. Lauderdale 561-2983 

Byte Shop 

7825 Bird Road 

Miami 264-2983 

GEORGIA 

Data Mart, Inc. 
3001 N. Fulton Drive 
Atlanta 233-0532 

HAWAII 

Real Share 

190 S. King Street #890 

Honolulu 536-1041 

ILLINOIS 

Team Electronics 

Meadowdale Drive, Space I A 

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 788-9595 

Team Electronics 

321 N. Alpine Road 

Rockford 399-2577 

Team Electronics 

Woodfield Mall F-119 

Schaumburg 882-5864 

Team Electronics 

2716 S. MacArthur Blvd. 

Springfield 525-8637 

Computerland 

50 E. Rand Road 

Arlington Heights 255-6488 

Computerland 

9511 rM. Milwaukee Ave. 

Niles 967-1714 

Itty Bitty Machine Company 

1316 Chicago Avenue 

Evanston 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 355-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 18 
The Mall 

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

KANSAS 

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



KANSAS (continued) 
Team Electronics 
2319 Louisiana Street 
Lawrence 841-3775 
Team Electronics 
1 132 Westloop 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 

Computerland 
813 B Lyndon Lane 
Louisville 425-8308 
The Data Domain 
506H Euclid Avenue 
Lexington 233-3346 
The Data Domain 
3028 Hunsinger Lane 
Louisville 456-5242 

MARYLAND 

Computerland 

16065 Frederick Road 

Rockville 948-7676 

MASSACHUSETTS 

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

MICHIGAN 

Team Electronics 

Delta Plaza Shopping Center 

Escanaba 786-3911 

Team Electronics 

M&M Plaza 

Menominee 864-2213 

MINNESOTA 

Team Electronics 

Ridnedale Mall 

12503 Wavzata 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 

Bemidji 751-7880 

Team Electronics 

Kandi Mall South Hwy 71 

Willmar 235-2120 

Team Electronics 

Crossroads Shopping Center 

St Cloud 253-8326 

Team Electronics 

Cedar Mall 

Owatonna 451-7248 

Team Electronics 

Mesahi 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 (continued) 

Team Electronics 

455 Rice Street 

St. Paul 227-7223 

Team Electronics 

110 Sixth AvenueS. 

St. Cloud 251-1335 

Team Electronics 

6413 Lyndale Avenue S. 

Minneapolis 869-3288 

Team Electronics 

1311 Fourth St. S.E. 

Minneapolis 378-1185 

Team Electronics 

Maplewood Plaza 

3000 White Bear Avenue 

Maplewood 777-3737 

Team Electronics 

Madison East 

Mankato 387-7937 

Team Electronics 

310 Grant Avenue 

Eveleth 749-8140 

Team Electronics 

Har Mar Mall 

2100 N. Snelling Avenue 

St, Paul 636-5147 

Computer Depot 

3515 W. 70th Street 

Minneapolis 927-5601 

MISSOURI 

Team Electronics 
Biscayne Mall 
301 Stadium Blvd. 
Columbia 445-4496 
Electronic Components Intl. 
1306-B South Hwv 63 
Columbia 443-5225 

MONTANA 

Team Electronics 
613 Central Avenue 
Great Falls 852-3281 
Team Electronics 
1208 W. Kent 
Missoula 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 883-2386 

NEW JERSEY 

Computerland 
2 De Hart Street 
Morristown 539-4077 
Computermart 
501 Route 27 
Iselin 283-0600 

NEW YORK 

Computerland 
1612 Niagara Falls Blvd. 
Bullalo 836-6511 
Computerland 
225 Elmira Road 
Ithaca 277-4888 
Co-op Electronics 
9148 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 11th Avenue S.W. 
Minot 852-3281 
Team Electronics 
109 Main Street 
Williston 572-7631 

OHIO 

The Data Domain 
1932 Brown Street 
Dayton 223-2348 

OKLAHOMA 

Team Electronics 

1105 Elm Street 

Stubbeman 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-5573 

Team Electronics 

1134 Hall of Fame Avenue 

Stillwater 377-2050 

Team Electronics 

5305 E. 41st 

Southroads Mall 

Tulsa 633-4575 

Team Electronics 

Woodland 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 Technology 

1020 W. Wilshire Blvd. 

Oklahoma City 842-2021 

OREGON 

Team Electronics 

1913 N.E, Third Street 

Bend 389-8525 

Team Electronics 

1023 S.W. 1st 

Canbv 266-2539 

Team Electronics 

2230 Fairqround Road N.E. 

Salem 364-3278 

SOUTH DAKOTA 

Team Electronics 

402 W. Sioux Avenue 

Pierre 224-1881 

Team Electronics 

1101 Omaha Street 

Rapid City 343-8363 

Team Electronics 

613 W. 41st Street 

Sioux Falls 336-3730 

Team Electronics 

41st Street & Western Avenue 

Western Mall 

Sioux Falls 339-1421 

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



TEXAS 

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

VIRGINIA 

Home Computer Center 
2927 Virginia Beach Blvd. 
Virginia Beach 486-1700 
Timbervilie Electronics 
P. 0. 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 Electronics 

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 Shopping Center 

Racine 554-8505 

Team Electronics 

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 Blvd. S. 

Village Shopping Center 

LaCrosse 788-2250 

Team Electronics 

2207 Grand Avenue 

Wausau 842-3364 

Team Electronics 

3301-3500 S. 27th Street 

Southgate Shopping Center 

Milwaukee 672-7600 

Team Electronics 

2619 Milton Avenue 

Janesville 756-3150 

Team Electronics 

1801 Marshall Street 

Manitowoc 684-3393 

Team Electronics 

7700 W. Browndeer Road 

Northridge Center 

Milwaukee 354-48B0 

Team Electronics 

396 Park Avenue 

Oshkosh 233-7050 

WYOMING 

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

CANADA 

Future Byte 

2274 Rockland 

Montreal, Que. 731-4638 



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. 




Figure 7. 



Some Comments on "An APL Interpreter for Microcomputers, Part V 



The following letter from Fred J Dickey contains corrections to "An APL Interpreter 
for Microcomputers, Part 1" by Mike Wimble, which appeared on page 50 of the August 
1977 BYTE. We thank Fred for his efforts. 



I received my August 1977 BYTE 
yesterday, and was quite impressed by 
Mr Wimble's APL implementation article 
and the fact that he is giving a hardware 
independent description of a significant 
software system. This article is of value 
regardless of what type of micropro- 
cessor one uses. Furthermore, one would 
expect the article to be of value as long 
as there is interest in APL, which will 
probably be long after the current 
crop of microprocessors become histori- 
cal curiosities. 

Despite my enthusiam, I regret to 
inform you that I found the following 
errors by doing a hand simulation of the 
program on page 55. 

1. Some arrays are dimensioned 
starting at 0, others at 1 . In particu- 
lar TVAL starts at 0, and all others 
seem to start at 1. This is not 
explained anywhere. 

2. FUNC, NOMBRE, OTHERS, 
NILAD, MONAD, DYAD, EOL, 
CARRET are called subroutines, 
but they are in fact extensions of 
the main routine given on page 56. 

3. The labels IP, IPGET, IP-GET, and 
IP I N IT are nowhere defined. 
Apparently IP = IPGET = IP_GET 
and the flowchart on page 56 
should appear as shown in figure 1. 

4. Why is DA initialized to 3? Also, 
the scanner initialization box on 
page 56 should appear as in figure 
1. 

5. "No" and "yes" on page 56 should 
also appear as in figure 1. 

6. The call to I DEN on page 5 6 should 
say CALL I DEN (Q, B). Otherwise 
Q and B are undefined. 

7. The flowchart on page 62 should 
appear as in figure 2. 

8. On page 64, it should be made clear 
that F and Q are local parameters 
of subroutine FN_VAR_ADD. F and 
Q have different meanings external 
to this routine. 

9. On page 64, "routine" carret refer- 
ences STMT. STMT must be in 
ROM. What is its value? 

10. The flowcharts do a good job of 
trapping errors. How do you re- 
cover? 

11. Let " " mean blank. On the 

example of page 55, you state that 



12. 



13. 



GD 



spin.c— 9 

SPU1.P--0 

i*-i+i 
"ftab(f).f7— val 

L£NG*-VAL 
VFUNC(LENG)*0 
-VAL — VAL + l 




you are going to scan 37" 25, but 
apparently 3_7~ 2_5 is scanned 
instead. 

On page 55, SP(19). C = 6. I don't 
see how this can be. Also, SP(9). 
C = 4not6,andSP(2). P = 0. 
Make the following change on page 
64: 



Fred J Dickey 

3420 Granville Rd 

Westerville OH 43081 

Mike Wimble replies: 

Mr Dickey is correct on most points; 
however, I would like to clarify the 
folio wing: 

Point 3: IP I NIT is of course the 
beginning of the statement inter- 
preter as defined in part 2 of the 
article published in September. 
Point 4: / inadvertently included 
DA in this portion of the article. 
It is used in a later version of the 
interpreter to handle threaded 
lists. 

Point 9: STMT, again, is part of 
the later version of my inter- 
preter, and should be ignored. 
Point 10: This version of the 
interpreter has no provisions for 
error recovery. 

Point 12: SP(19).C was incor- 
rectly set equal to 6; it should 
equal 8. SP(2).P is correct as it 
stands. Although I did not state it 
explicitly, the case for SP(I).C=1 
is used in the later version of my 
interpreter. It indicates that P is 
not to be used at that time (This 

Continued on page 164 



(PROGRAM 1 
START J 



FLAG—FALSE 
1--2 

SPdLC— 9 
SPIO.P—O 
VAR, VAL, 
F—O 
DA*- I 



GET AN 
INPUT 
STATE- 
MENT 




GET IDENTIFIER 




FLAG X FALSE f FUNC ) 




VAR—VAR+I 
VTA0(VAR).VI*-Q 
VTAB(VAR).V2*-0 
VTAB (VAR).V3*0 



Figure 2. 






NO 








SPUJ.C — 5 
SPU1.P— N 
1 — 1 + 1 
J—J + I 




spid.c^-4 
sptn.p—z 

j—j + i 




' 








ta 











CD 



BYTE November 1977 



37 



BOMB Lands on APL 

Readers of the August 1977 BYTE voted 
for APL all the way. The BOMB first prize 
of $100 goes to Mike Wimble for his article, 
An APL Interpreter for Microcomputers, 
Part 1, on page 50. The $50 second prize 
goes to Dr Kenneth Iverson for Under- 
standing APL, page 36. The distribution of 
points for August's articles was relatively 
even in the voting (The standard deviation 



was only 10% of the mean of all article 
votes.), indicating a diversity of interests on 
the part of BYTE readers. Mike Wimble's 
article was 1.7 standard deviations above 
the mean, and Dr Iverson's article was 1.3 
standard deviations above the mean. Readers 
are encouraged to express their opinions 
about this month's articles by filling out 
and sending in the BOMB card between 
page 256 and the inside back cover." 



Kilobyte™ 



Readings for Your Next Squantum 




"How do you multiply MDCXII and LVI on this thing?" 



3. 



By Duane Bibby 





"Maybe I'm biased, but he seems a little saturated to me. " 



38 BYTE November 1977 



Ohio Scientific advances 
the state-of-the-art 

of small computers. 

• Challenger II with our ultra-fast 8K BASIC in ROM. 

Now you can own a computer with full BASIC and plenty of 
user workspace for as little as $298.00. And the BASIC 
is there the instant you turn the machine on! 

• Challenger III is the remarkable computer which has 6502A, 
6800, and Z-80 processors. This computer system allows 

you to run all software published in the small computer journals, 
yet, it costs only about 10% more than comparable single 
processor computers. 

• Challenger Single and Dual Drive Floppy Disks. These full size 
floppy disks are available in kit form or assembled at about 
the same prices as our competitors' mini floppies. Yet, they 
store three times as much data as the minies. 

• Ohio Scientific's new 9 digit precision business BASIC is only 
slightly slower than our ultra-fast 8K BASIC. Still faster 

and more powerful than anyone else's 6 digit precision BASIC. 

• Our incredible new 74 million byte disk drive. That's right, 
74 million bytes is available for as little as $6,000.00 
complete with interface for any Ohio Scientific computer. 
This new disk is quite possibly the world's highest performance 
data storage device. It features an unbelievable 34 milli- 
second average access time and an ultra-fast data transfer rate. 

• Now is the time for you to dump your 1974 design vintage S-100 
computer and move up to the state-of-the-art! 

For more specifics, send $1.00 for our new Fall Catalog. 



11679 Hayden 
Hiram, Ohio 44234 



BASIC in ROM Computers 
by Ohio Scientific 

If you're just getting into personal computing and are buy- 
ing your first machine, you're probably confused by the myriad 
of companies and products available. 

However, there is one simple guideline you should follow 
when choosing your first computer. Be sure that it is capable 
of giving you full floating-point BASIC the instant you turn 
it on. Machines with full 8K BASIC in ROM cost as little as 
$298.00. Why should you settle for anything less? 




The Challenger IIP from Ohio Scientific is the ideal 
personal computer complete with BASIC in ROM and 
plenty of RAM (4K) for programs in BASIC. 

Complete with an audio cassette interface, the Chal- 
lenger IIP uses a full computer keyboard, not a calcu- 
lator keyboard. 

In addition, the Challenger IIP comes complete with a 
full 64 character-wide video display, not a 40 character 
display. The user simply connects a video monitor or 
home TV set via an RF converter (not supplied) and 
optionally, a cassette recorder for program storage. 

The Challenger IIP comes complete with a 4 slot 
backplane and case for only $598.00. Fully Assembled. 





Model 500 

The Model 500 is a fully populated 8 x 10 P.C. 
Board with 8K BASIC in ROM, 4K RAM, serial port 
and Ohio Scientific Bus compatibility for instant ex- 
pansion. All you need is a small power supply (+5 
at 2 amps and -9 at 500 MA) and an ASCII terminal 
to be up and running in BASIC. And all for only 
$298.00. 



Super Kit 



11679 Hayden • Hiram, Ohio 44234 



The Super Kit is a 3 board set with a 500 board 
(like the Model 500) without the serial interface. 

The ROMs are configured for use with the in- 
cluded, fully assembled 440 video board to provide 
a full BASIC computer and terminal. 

The Super Kit also includes a fully assembled 8 
slot backplane board which gives you 6 open slots 
for expansion. 

To be up and running in BASIC simply plug the 
boards together, supply power (+5 at 3 amps and 
-9 at 600 MA), add an ASCII parallel keyboard 
plus a video monitor or TV set via an RF converter 
(not supplied). 

Total price for the "kit" $398.00. 



40 



BYTE November 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 November 1977 41 



Disk Based Co 

by Ohio 

Any serious application of a computer demands a Floppy disk or hard 
disk because a disk allows the computer to access programs and data 
almost instantly instead of the seconds or minutes required with cassette 
systems. In real-world application of computers, such as small business 
accounting, a cassette based computer simply takes too long to do the job. 

Ohio Scientific offers a full line of disk based computers utilizing full 
size floppy disks with 250,000 bytes of formatted user work space per disk. 
That's 3 to 4 times the work space of mini-floppies. 



Challenger n 

Challenger II is available with 
a single or dual floppy disk and 
a minimum of 16K of RAM in- 
stead of ROM BASIC. The disk 
BASIC is automatically loaded 
into the computer so there is no 
need for ROMs. 
Ohio Scientific's powerful disk 
operating systems allow the computer to function like a big system with 
features like random access, sequential, and index sequential files in BASIC 
and I/O distributors which support multiple terminals and industry-stan- 
dard line printers. 
Challenger ll's with disks can have the following optional features: 

• 16 to 192K of RAM memory • Single or dual drive floppys • Serial 
and/or video I/O ports • Up to 4 independent users simultaneously 

• Two standard line printer options • Optional 74 Megabyte Hard disk 

• Much more 

Challenger II disk systems are very economical. For example a 16K 
Challenger II computer with serial interface, single drive floppy disk, BASIC 
and DOS costs only $1964.00 fully assembled. 




input er Systems 
Scientific 



Challenger m 



Ohio Scientific proudly announces the 
ultimate in small computer systems, the Chal- 
lenger III. This computer has a 3 processor 
cpu board equipped with a 6502A, 6800, and 
Z-80. 

This system allows you to run virtually all 
software published in the small computer 
magazines! 

The Challenger III is fully software and 
hardware compatible with Ohio Scientific 
products and can run virtually all software for 
the 6800, 8080 and Z-80 including Mikbug® 
dependent 6800 programs! 

Incredible as this is, Challenger III costs 
only about 10% more than conventional 
single processor microcomputers. For 
example a 32K Challenger III with a serial 
interface and a dual drive floppy disk (500,000 
bytes of storage) costs only $3481.00. Fully 
Assembled, complete with software. Terminal 
not included. 




T" 



□ Send me the Fall 77 Catalog. I enclose $1. 

□ I would like to order directly from this advertisement. 
(Please allow up to 60 days for delive y) 

NAME . . 



ADDRESS- 
CITY 



_STATE_ 



_ZIP_ 



To order: 



Payment by: 
BAC (Visa)_ 



MC_ 



Money Order_ 



Credit Card Account # 

Interbank # (Master Charge) 

Model 500 Boards @ $298.00 

Challenger IIP @ $598.00 

Super Kit @ $398.00 

16K Challenger II complete with serial interface, 



single drive floppy disk, 
@ $1964.00 



BASIC and DOS 



32K Challenger III with serial interface, a dua! 
drive floppy disk (500,000 bytes of storage) 

@ $3481.00 

Ohio Residents add 4% sales tax 

TOTAL CHARGED OR ENCLOSED . . 



Order directly from: Ohio Scientific, 1 1679 Hayden St., 

Hiram, Ohio 44234 or your local OSl dealer 

All orders shipped insured UPS unless otherwise requested. 

I I 





1 1 679 Hayden • Hiram, Ohio 44234 



BYTE November 1977 



43 



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 allowsyouto 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. 





11679 Hayden • Hiram, Ohio 44234 



44 



BYTE November 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. 

The C-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-D74 can 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 
-D74 applications in business 
computing and research in computing 
itself. The disk makessmall 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 & 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 Home 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 Store 
4540 S. 84th St. 
Omaha, NE 68127 
(402) 592-3590 



REPRESENTATIVES 

Abecuz Data 

P.O. Box 276 

Oil City, PA 16301 

Associates Consultants 

33 Ogden Ave. 

East Williston, NY 11596 

(516) 746-1079 

BRAG Microcomputers 

19 Cambridqe 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 



The state of the art in small computers. 

lb order direct call 1-216-569-3241 



BYTE November 1977 



45 



ThG TRS-oU! Radio Shack's New Entry into the Personal Computer Market 




Photo 7: The New Radio Shock TRS-80 home computer system. Shown are 
the keyboard \ video display monitor, instruction manual and prototypes of 
the upcoming memory expansion module and disk drive. 




it lit it it 
i II in 

MftfWlIN 



Photo 2: The single board 
Z-80 processor which 
forms the heart of the 
TRS-80. Note the 40 pin 
10 connector at upper 
right. 



Text and Photos by 
Chris Morgan, Editor 




Announced in August, the new Radio 
Shack TRS-80 is a major entry into the 
personal computer market. The $599 single 
board Z-80 based unit comes complete with 
a full ASCII character set keyboard, cassette 
recorder and video display monitor. Also 
included for the price is 4 K bytes of pro- 
grammable memory and 4 K bytes of read 
only memory; the latter features a built-in 
BASIC package. An additional 12 K bytes 
of programmable memory can be added for 
$289. 

The computer is being marketed in se- 
lected Radio Shack stores across the coun- 
try; peripherals planned for release in 
December include a disk drive, printer and 
memory expansion hardware. An interesting 
feature of the TRS-80 is the convenient 
hinged door on back for easy access to the 
40 pin printed circuit card IO connector. 

Software will be available in a variety of 
packages, including a blackjack program 
(which comes free with the computer); a 
payroll program for up to 15 people, priced 
at $19.95; a kitchen menu program for 
$4.95; and so on. 

The unit is priced competitively with 
some other computers on the market, and it 
will be interesting to see what develops in 
this low priced appliance computer market." 




Photo 3: Rear view of the Radio Shack com- 
puter showing the 40 pin 10 connector. 



Photo 4: A closeup of the forthcoming 
microcomputer expansion module and 
disk drive. 



46 



BYTE November 1977 



You don't have to be a million dollar corporation to profit 
by distributing this Data General micro-computer system 
with our BASIC business application packages for: 

• Invoicing with Inventory Control 

• Accounts Receivable • Sales Analysis 

• Accounts Payable • Payroll • General Ledger 




• microNOVA® CPU 

• 48KB memory 

• dual floppies 

• 24x80 CRT 

• 30-60 CPS printer 

• integrated cabinet 

• Diskette Operating 
System 

• Extended BASIC 



List price with three 
application packages 



'17,460 



We are seeking data processing oriented individuals and 
companies to sell and install these systems in their areas. 
Liberal distributor discounts start at quantity one. Hardware 
installation and maintenance is available directly from your 
local Data General office. 

For more information, use the coupon. 

i 1 

Please send me information about distributing 
MCBA/Data General systems. 

Name 




Mini-Computer Business Applications 

4929 Wilshire Blvd., #940 

Los Angeles, CA 90010 

Phone:(213)936-7131 

NOVA® is a registered trademark of Data General Corp. 



Company 
Address _ 

City 

Zip 



St_ 



Phone. 



BY1 



Circle 82 on inquiry card. 



BYTE November 1977 47 

















"MTM BSfl 



A. VDP-80 Computer with. 300 Ipm printer . 

I i PCS-BO with CRT, dual floppy disk & intelligent 



D. Processor, Memory & Interface boards— shown MPU-A, 65K 
RAM, and floppy disk, line printer and serial I/O's. 



sample component configurations. 



Mfcroccmputers: 
Just Ask IMSAL 



If you wonder who leads the way in 
technology, look into IMSAI's list of 
industry firsts— IMSAI 8048, first complete 
control computer on a board; IMSAI 65K 
RAM Board, first to offer four times the 
memory capacity previously available on 
one board: IMSAI printers, first with high- 
speed direct memory access. 

If you wonder why IMSAI products 
have gained the reputation for the standard 
of excellence in microcomputer systems, 
check with any one of the more than 10,000 
IMSAI owners. 

If you wonder who offers the broadest 
line of hardware, software, and peripherals, 
visit any one of the more than 275 IMSAI 
dealers around the world. 

If you wonder how microcomputing 
can fit your specific needs, ask IMSAI. 
Because when it comes to microcomputers, 
we have the answers. 

An IMSAI Product to Answer Every 
Microcomputing Need: 

Let's start with our product line. In 
all. IMSAI offers more than 120 high 
quality, completely integrated systems, 
components, peripherals and software. 
Here's just a sampling: 

Single Board Central Processors: 

• MPU-A (8080 based)-Industry standard. 

• MPU-B (8085 based)-50% faster 8080. 

• 8048— Programmable control computer. 

Interfaces: 

• Video 1/0-24x80 CRT. Edit & data entry. 

• Serial 1/0—2 port I/O, allstd. protocols. 

• Parallel 1/0-4 & 6 port TTL level I/O. 

• Multiple I/O— 2 cassette, 2 parallel, 

1 serial & 1 control I/O. 

• DMA— For floppies & line printers. 
Peripherals: 

• Printers-40/80/ 1 32 col. 30 cps-300 1pm. 

• Video displays— Large assortment. 

• Tape Drive— 9 track. 800 bpi. 25 ips. 

• Floppy Disks— Single/double density. 
Memory Expansion Boards: 

• 4K RAM— Programmable memory 
protect. 

• 16/32/65K RAM- 16K paging option for 
virtual memory addressing. 

• Intelligent Memory Mngr.— Handles up 
to I megabyte. 

Self -Contained Systems: 

• VDP-80— Computer/terminal/mass 
storage unit. Assembled & tested. 

• PCS-80— Integrated component system. 

Software: 

•DOS-Enhanced CP/M. 

• BASIC— Interactive or compiler with 
scientific and/or commercial features. 



Circle 67 on inquiry card. 



• FORTRAN IV-Level 2 ANSI compiler. 

• Self-contained Systems: 

SCS I & 2/TCOS-Assembler/line 

editor/debugger. 

4 & 8K BASIC-Optional cassette 

support. 

Compare IMSAI. You'll realize that 
ours is the most complete product line 
available. Whatever your needs, you can 
get them from one source. IMSAI. 

A wide selection of components is only 
the beginning. IMSAI offers much more. 
Just ask. 

Answers For Businessmen: 

Announcing IMSAI's VDP-80. This 
totally self-contained unit includes a mega- 
byte of disk memory via floppy disk, 32K 
computer memory (expandable to 256K), 
1 2" CRT and 62 pad main keyboard with 
10 pad numeric keyboard. Several 
printer options available. 

If you want speed and accuracy in 
high volume work such as word processing, 
or business data collection and analysis, the 
VDP-80 is your cost effective answer. 

Answers For The Personal User & 
Educators: 

Introducing IMSAI's new PCS-80 
System, the fully integrated microcomputer 
component system, configurable to your 
exact needs. The basic system consists of 
our Intelligent Keyboard and the PCS-80 
which houses an 8085 based CPU. 16K of 
RAM. intelligent ROM monitor, serial I/O 
port, 24x80 CRT, with an extra 7 slots in the 
chassis for expansion. 

System component options include 
single or dual mini and standard floppy 
disks. The choice is yours, configure the 
system as you like. 

IMSAI has answers for the educator, 
too. Take the basic PCS-80, add 8K of 
PROM, 4K of RAM and our self-contained 
8K BASIC software, and you have a 
complete operating system your entire 
department can use to teach anything from 
elementary programming to advanced 
computer science. 

Require a bit less sophistication? Use 
our Intelligent Breadboard system for 
learning, designing and building micro- 
computer assemblies. 

Rather do it from scratch? Start with 
our single board MPU-B central processor, 
the heart of the PCS-80 Svstem. It has a IK 
ROM monitor, 256 bytes of RAM and 
serial and parallel I/O. 

Since the MPU-B is 8085 based, you 
can run all programs previously developed 
for the 8080. 50% faster. Without requiring 
faster memory. 



Answers For Industry: 

IMSAI products provide the 
expandability and flexibility manu- 
facturers demand for microcomputing 
applications. 

We offer rack mountable components 
for the standard 19" RETMA racks, 
powerful MPU boards. I/O and memory 
boards for easy system expansion and 
configuration, and a broad line of 
peripherals and subsystems fully integrated 
and ready to go to work. 

IMSAI has what you need to make 
tomorrow's design today's reality. 

Answers For Current IMSAI Users: 

There are over 10,000 of you. And, 
we haven't forgotten. You might say that 
we thought of you before you even thought 
of us. 

That's why every new product is 
designed to accommodate expansion, 
rather than outdate equipment. 

For example, our new PCS-80 retro- 
fit kit comes complete with MPU-B, 
replacement front panel photomask and 
additional hardware bracketing. So you 
can enjoy a single cabinet PCS-80 
computer, with your choice of integrated 
component configurations. 

The Answer For Everyone: 

Dial (415)483-2093. Ext. ACT. 
That's IMSAI's action hotline. Designed to 
answer the thousands of questions we 
didn't have a chance to answer in the space 
of this ad. 

Call us. We'll assist you in putting 
together a system, direct you to your nearest 
IMSAI dealer, and send you our new 
catalog with all the details. 

In short, if you have any questions at 
all regarding microcomputers, put us to 
the test. 

Just ask IMSAI. 



© 



The Standard of Excellence in 
Microcomputer Systems. 

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



Features and specifications subject to change without 
notice. 



BYTE November 1977 49 




M F Smith 
Research Assistant 
Department of Oceanography 
University College 
Galway IRELAND 



Using Interrupts for Real Time Clocks 



iilTLTL; 



- % 



We have developed several software time- 
keeping routines for oceanographic data sys- 
tems which may be of more general interest. 
These routines are based upon the Motorola 
M6800 and have been tested on SwTPC 
6800, MITS 680b and Motorola MEK- 
6800D1 evaluation kit systems. The routines 
require little memory or hardware and do 
not slow program execution appreciably. 
Features of the routines are: 

• packed BCD storage of time values: 
days, hours, minutes and seconds. 

• little interference with user routines 
through use of interrupts. 

• usable with a wide range of clock 
frequencies. 

• minimal hardware complexity. 

• possibility of event scheduling. 



TAt| I 

At»2/xS 



CLOCK 
SOURCE 
1-99 Hz 



SI 



I 



ONESHOT 
(MONOSTABLE) 

% 2^ SEC 
PULSE WIDTH 






+ 5V 

t PULL UP RESISTOR 
! (MAY ALREADY EXIST 
IN YOUR SYSTEM) 



J s. TO 

"I x>M6800 



i 



NM! 

OPEN COLLECTOR 

TYPICAL INTEGRATED CIRCUITS: BUFFER 

74121, 74123, 9601 TYP ' C A4 C i^ U J TS 

7401, 7406 



Figure 1: The hardware configuration required for a real time clock imple- 
mented with an interrupt line. For the 6800 processor, the negative going 
pulse of the monostable (ones hot) should be at least two processor cycles 
in length. The switch SI, or its logic circuitry equivalent, is essential in order 
to disable the interrupts if user programmable volatile memory contains the 
interrupt routines. If this switch or its equivalent is not present, receiving 
interrupts from NMI in absence of an interrupt routine (following power on) 
leads to quite unpredictable results in the behavior of the system. 



Hardware 

The routines are driven by direct non- 
maskable interrupts of the processor by a 
clock pulse source as shown by figure 1. Use 
of the NMI in this fashion precludes use for 
other functions but minimizes hardware. 
Also, such use of interrupts can cause prob- 
lems when timing loop software is inter- 
rupted: constants which are valid without 
interrupts can be incorrect when interrupts 
are in operation. With these caveats in mind, 
however, use of interrupts proves quite con- 
venient. 

The clock source may be in the range 1 to 
99 Hz (10 Hz is used here) and drives a 
monostable (74121, 9601, etc). The Moto- 
rola literature describing the 6800's non- 
maskable interrupt function is just a trifle 
confusing. Using the information in the 
M6800 Microprocessor Applications Manual, 
one could conclude that the NMI line re- 
quires a low level input to initiate an inter- 
rupt. This conclusion results from the terse 
description of NMI and reference to the fact 
that NMI is supposed to work similar to 
IRQ. However, the hardware specification 
sheets for the processor explicitly state that 
NMI is sensitive to the negative going edge of 
the digital signal on its input. This detail is 
easily confirmed by experiment. [It is also 
the only sensible way to handle this inter- 
rupt, in view of the fact that it cannot be 
masked in the processor to inhibit further 
interrupt while the interrupt routine is in 
operation . . .CH/ The oneshot in figure 1 
should be interpreted as a way of trans- 
forming an arbitrary signal Into a well- 
defined TTL pulse of a minimum 2 micro- 
seconds in length, or slightly greater, which 
provides the required negative edge. 

Unless the time routine is stored in ROM 
with "hard" NMI vectors, means of disab- 
ling NMI pulses must also be provided until 
the interrupt routine and vector are estab- 



50 



BYTE November 1977 



SANTA 



land SCELBI 



SceW Scftuxuf 



0RDER N0Wt 8 SAV^ BEFORE 



FOR THE BEGINNER 



Becks 




Understanding Microcomputers and 
Small Computer Systems. A profusely 
ustrated, 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 
realtime. And lots more 
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 

'8oo87'8080' 

Systems. 

Complete, illus- 
trated program 
book. Routines. 
Techniques. 
Source listings. 
Flowcharts. 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. 

fCElEI COMPUTER 
CONIUIXING INC. 

Post Office Box 133 PP STN 
Milford,CT 06460 Dept. B 



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. 



Tl. 




Circle 124 on inquiry card. 



BYTE November 1977 51 



i SHOULD j 

I TASK BE 

I DEACTIVATEDP I 



r* 




YES 



T =T + AT F 



NO 



f NMI N 

^RESPONSEy' 



YES 




Entered following NMI interrupt pulse. 

Update clock variables (ie: count interrupts 
modulo E4:60:60:N where N = number of inter- 
rupts per second). 

Location of "return from interrupt" in simple 
clock routines of listings 1 , 2 and 3. 



Note: T Q = time of next background 
task event. 



RESTORE OLD 

PROCESS STATE 

TO STACK 



"Old process state" is content of top 
seven levels of stack. 



Manipulations of process state can be 
accomplished by maintaining two stacks 
and switching stack pointers. 



© 



SHOULD I 

TASK BE ' 

j ACTIVATED? 

_1 T ^L T 0. ? 2_ _! 
/ 




1 =T +AT B 



SAVE OLD 

PROCESS STATE 

FROM STACK 



SET UP 

"BACKGROUND 

PROCESS STATE" 

ON STACK 



'~l 



PROCESS TIMING DIAGRAM: AT F = 4, At b =2 



BACKGROUND 



ACTIVE — 
INACTIVE 



^bc^b^mm^ ACTIVE ! 

FOREGROUND INACTIVE ' 



INTERRUPTS 



CLOCK ROUTINE ft^ACTpVE H 
(OVERHEAD) ^ 



I I I 



CONSERVATION OF TIME: BACKGROUND + FOREGROUND + CLOCKROUTI NE = 100% OF AVAILABLE TIME 



Figure 2: A suggested algorithm for implementing two simultaneous tasks using the interrupt input to keep track of times &Tg 
and A 7"yr allocated to each process. It is assumed here that the "foreground" task is the principle task, and that the presence 
or absence of a hidden "background" task is governed by a flag. 



52 BYTL November 1077 



lished in programmable memory. We use a 
mechanical switch (S1), but more elegant 
methods are possible with increased hard- 
ware complexity. 

Software 

A minimal timekeeping routine called 
RAMTIME is shown as listing 1 . This routine 
performs the function of a real time clock 
when it responds to the interrupts from 
NMI. It has two counters. A counter 1 byte 
long called WATCH continually cycles with 
a binary integer count. A second 5 byte 
count field provides the usual day, hour, 
minutes and seconds counts using the 
"overflow" constants 99, 99, 24, 60, 60 and 
the number of interrupts per second to 
determine when a carry has occurred. All the 
counting in this field is done in BCD. If at 
any time it is desired to output the BCD 
numbers in the various count fields, the 
MIKBUG subroutines OUT2HS and 
OUT4HS can be used to convert to external 
ASCII decimal values on a terminal. 

The program includes a binary "stop- 
watch" function. The location WATCH is 
incremented with every NMI pulse, thus 
providing a convenient means of timing 
short events. This function can be elimin- 
ated with a small saving of memory, if 
desired. 

Clock rates different from the 10 Hz rate 
are accommodated by changing the RATE 
variable (RAMTIME) to the packed BCD 
value of the clock rate, eg: the present rate 
of hexadecimal 10 (BCD for 10 Hz) is 
changed to hexadecimal 60 for a 60 Hz 
clock source. 

Scheduling 

The nature of the NMI-driven clocks 
make them ideal for the inclusion of task 
scheduling routines. Scheduling, using these 
routines as vehicles, is transparent to the 
user program, ie: scheduling is performed 
without "knowledge" of the program that 
scheduling is going on. Timetables are 
accurate because the schedule is checked 
every NMI. A very simple scheduler is 
suggested in the flowchart of figure 2. 
This algorithm implements a timing diagram 
(like that in the figure) which switches 
between two tasks arbitrarily called "fore- 
ground" and "background." This is the 



PAGE 


001 


RAMTIME 










00001 










NAM 




RAMTIME 




00002 


A04A 








ORC 




SA04A 




00003 


A04A 


00 






FCB 







DUMMY LOCATION 


00004 


A04B 


00 




DAY 


FCB 







TIME IN PACKED BCD FORMAT 


00005 


A04C 


00 




HOUR 


FCB 









00006 


A04D 


00 




MIN 


FCB 









00007 


A04E 


00 




SEC 


FCB 









00008 


A04F 


00 




SEC1 


FCB 









00009 


A050 


00 






FCB 







DUMMY LOCATION 


00010 


A051 


00 




WATCH 


FCB 







BINARY 'STOPWATCH' LOCATION 


00011 








* 










00012 


A052 
A053 
A054 
A055 
A056 


99 
99 
24 
60 
60 






FCB 




$99,599, 


$24, $60, $60 


00013 








* 










00014 


A057 


10 




RATE 


FCB 




$10 


*CL0CK RATE 


00015 








* 










00016 








*F0R 1 


DIFFERENT CLOCK RATES, CHANCE RATE 


00017 








*E.C. 


, FOR 


60 


HZ CLOCK 


CHANCE TO $60 


00018 








M-99 


HZ ALLOWABLE CLOCK RATES 


00019 








* 










00020 


A058 


CE 


A05L 


TIME 


LT)X 




0WATCH 


TIME PROCRAM BECINS HERE 


00021 


A05B 


6C 


00 




INC 




0,X 


INCREMENT THE STOPWATCH 


00022 


A05D 


09 






DEX 






DECREMENT TIME ADDRESSES 


00023 


A05E 


6F 


00 


DINC 


CLR 




0,X 


CLEAR ON CARRY 


00024 


A060 


09 






DEX 






NEXT ADDRESS 


00025 


A061 


86 


01 




LDA 


A 


#i 


DECIMAL INCREMENTATION/CARRY 


00026 


A063 


AB 


00 




ADD 


A 


0,X 




00027 


A065 


19 






DAA 






HALF CARRY 


00028 


A066 


A7 


00 




STA 


A 


o,x 


COMPLETE DECIMAL INC 


00029 


A068 


Al 


0? 




CUP 


A 


7 ,X 


CARRY? 


00030 


A06A 


27 


F2 




BEQ 




DINC 


YES, CARRY 


00031 








* 










00032 








***SCHEDULER(S) INSERTED HERE*** 


00033 








* 










00034 


A06C 


3B 






RTI 






RF.TURN TO PROGRAM 


00035 








* 










00036 










END 









TOTAL ERRORS 00000 



Listing 1: RAMTIME. This routine is a minimum "clock" and "stopwatch" 
function to be used at interrupt service of an NMI (nominally 10 Hz rate). 
The "stopwatch" maintained at hexadecimal location A 051 is incremented 
as a binary number every interrupt for short term timing by counts. After 
incrementing stopwatch, the routine treats the bytes at locations A 04 A to 
A04F as a 12 digit BCD field with sub fields for days (2 bytes), hours (1 
byte), minutes (1 byte) and seconds (1 byte) and parts of a second (1 byte). 
The overflow values for each field are coded as BCD numbers stored at loca- 
tions A0 52 to A0 51. 



simplest form of "timesharing" or "multi- 
programming." 

Operation 

Startup of the routines is not auto- 
matic if routines and vectors are held in 
programmable memory. The source of NMI 
pulses must be disabled until the routine and 
vector are loaded. Once they have been 
installed, enable the NMI source and the 
routine begins working. Time can be set 
using memory alter functions or with 
special setting routines. Once the time- 
keeper is running, normal operation may 
proceed as usual, subject again to the caveat 
of checking the effects of interrupts on any 
timing loops in other programs." 



BYTE November 1977 



53 



Spikes: Pesky Voltage Transients and 



How to Minimize Their Effects 



John McCain 
3523 Hardy St 
Shreveport LA 71109 



Figure 1 : Typical shape of 
a voltage transient wave- 
form. The voltage tran- 
sient is superimposed on 
the normal voltage in a 
circuit, and is charac- 
terized by an exponen- 
tially damped envelope 
around an oscillatory 
waveform. 



You're sitting at your computer playing a 
game of Super Universe War, about to defeat 
King Computer, when suddenly, instead of 
his spaceship disappearing from the display, 
you see smoke rings drifting from the top of 
your mainframe. While you curse the expert 
technician that built the system (you), you 
dissect the power supply and find a shorted 
rectifier diode or a bad regulator integrated 
circuit. Although the uninformed would 
blame the component manufacturer, you 
know that it was Spike that did you in; 
possibly the voltage spike your brother made 
when he started the washing machine. The 
roughest environment you can put that 
fragile MOS circuit in is probably the one 
you find most comfortable, your house. The 
way voltage transients run around the power 
wiring in your home, you'd think they made 
the mortgage payment. Let's look at just 
what these beasts are, where they come 
from, what they do, and how to protect 
your microcomputer from them. 

The beast I'm talking about is the voltage 
impulse that enters your computer through 
the wall plug and tries to eat power supply 



W-EXPONENTIAL ENVELOPE 




TIME 



components and fragile chips. These spikes 
originate everywhere. You can't turn on the 
television or turn off the coffee pot without 
making one. Many are small enough to pass 
by unnoticed, but often they dump their 
energy where you least want it. Voltage 
spikes of 1700 V have been recorded on the 
120V wiring in common houses. Multiple, 
spikes of over 1200 V can be expected in 2 
to 4% of all houses. These are usually due to 
changes in an electrical circuit, ie: opening 
or closing a switch. Remember, the wiring in 
your house obeys the same laws of nature 
that govern other circuits with resistance, 
inductance and capacitance. If you try to 
rapidly change the current through an in- 
ductor, for example, opening or closing a 
switch, the voltage across- it rises rapidly. 
Guess what? Most power wiring just happens 
to be predominately inductive. Researchers 
have shown that residential areas often 
exhibit more transients, and more severe 
transients, than commercial and even some 
industrial areas. What does the spike look 
like on an oscilloscope? It is usually a 
damped sine wave such as the one in figure 
1. It has extremely sharp rise characteristics 
(steep leading edge) and it normally dies out 
after 5 or 10 cycles. It may be only 5 jzs 
long, but may last for 50 ^is or longer. A 
typical wave shape is shown in figure 1. 
Another source of surges that I will quickly 
mention is lightning. Although we can't 
prevent it, we can divert it. I have a lightning 
arrester at the power entrance to my house. 
If you don't, I strongly suggest that you 
look into getting one. It's a good insurance 
policy for about $10. I've never seen an 
electric utility that didn't install lightning 
arresters like they were going out of style, 
and those people know what they are doing. 
Now, let's look at what a well-placed 
spike can do. It might find a low impedance 



54 



BYTE November 1977 



The Dumb Terminal 
lets you put it all together. 



With the new,- lower-priced Dumb Terminal™ Kit, that is. 
Pick one up and escape, once and for all, the headaches 
of scavenged teletypes and jury- rigged TV sets. With just 
a little time and aptitude, you can have a live and working 
Dumb Terminal right in your own home, garage, or 
business. One that lets you get it all out of your system 
— or into it. 

Forget the cheap imitations, with their overblown 
price tags and interminable lists of options. With 
the Kit, you can build yourself the same, old 
basic Dumb Terminal that's been selling over 
1500 units a month. With basic, sensible 
features like a bright 12" diagonal screen. 
Fifty-nine data entry keys. 1920 characters 
displayed in 24 rows of 80 letters. Plus 33 
positive action switches that let you activate 
functions like 1 of 1 1 different baud rates, an 
RS232C interface, or a 20mA current-loop. 
And more. Not bad for Dumb 

All you need, besides the Kit, is 
some initiative, and a few basic 
tools — a good soldering iron, 
wire cutters, needle-nose pliers, 
and one or two trusty screw- 
drivers. The Dumb Terminal 
Kit provides you with every- 
thing else. Including an 
attractive cabinet, CRT 
screen,,keyboard, PC 
board, and all essential 



electronic components. Naturally, you also get illustrated, 
step -by- step assembly instructions, not to mention an 
easy -to -understand operator's manual. 

So, if you'd like more input on the Dumb Terminal 
Kit, just fill out the coupon and we'll send you complete, 
free information. 

Oh, and by the way just by sending in the coupon, 
you will be made a charter member of the Dumb 
Terminal Fan Club. A select organization that will 
send you your own nifty Dumb Terminal Fan 
Club Kit, containing: an official certificate 
of membership; an autographed photo of the 
Dumb Terminal himself; and a bona fide 
membership card to prove irrefutably you're 
"One of Us'.' (Sorry, limit one kit per person.) 
. And, if you include a trifling $6.00, you 
can have your very own Dumb Terminal 
T-shirt. (No limit at all on these.) 

Simply mail the coupon and get the whole 
assortment. And find out why members of the 
Dumb Terminal Fan Club are some of 
the smartest people around. 




"Dumb Terminal" is a trademark of Lear Siegler, Inc., 
E. ID. /Data Products, 714 'N. Brookhurst St., Anaheim, 
92803, (800) 854-3805. In California (714) 774-1010. 

Circle 80 on inquiry card. 



CA 



for an official Dumb Terminal T-shirt(s). 
Please make all checks and money orders payable to Le Ance & Reiser, OK? 

Quantity and size(s) of shirt(s) required; .S M L XL 

Rush this application to: Dumb Terminal Fan Club Headquarters 
c/oLeArice & Reiser, PO. Box 17123, Irvine, CA 92714. 




=cH 



POWER 
SWITCH 



AC MAINS 



REGULATOR 

















BRIDGE 
RECTIFIER 








FILTER 
CAPACITOR 






DESPIKING 
CAPACITOR 














I 







Figure 2: The combined isolation and shunting method is the best way to protect your system 
from voltage transients. The van's tor shunts large transients in the AC source of power. Small 
high frequency "despiking" capacitors provide a low impedance path for any components of 
the external spike which make it through the transformer and rectifier. (The inductance of the 
regular filter capacitor tends to limit its usefulness at high frequencies.) 



path to ground and pass by unnoticed. But 
more than likely it will enter some dandy 
appliance, or your computer, and do all the 
damage it can. Remember that 1 that mys- 
teriously appeared in memory shortly after 
you wrote a 0? Have you ever wondered 
how that bad data got into your system? It 
could have been put there by your next door 
neighbor turning on a vacuum cleaner. You 
have seen rectifier diodes fail when they 
were carrying only a tenth of their rated 
current, voltage regulator integrated circuits 
die when they weren't even running warm, 
and transistors stop working when the her- 
metic seal broke, letting out the smoke. 
(I've always wondered how they work with 
all that smoke in there.) If you have mysteri- 
ous errors in your system, transient and ran- 
dom, chances are a spike might have been 
involved. 

Now let's get to the good part: how to 
get rid of the little monsters. There are two 
basic techniques available. First, you can 
attempt to isolate the equipment from the 
source of the spikes by running it on 
batteries or an uninterruptible power supply. 
Isolation transformers show up at the sur- 
plus dealers occasionally, but are usually 
expensive. The second method is usually 
cheaper, but is somewhat less effective. Use 
the voltage divider principle and shunt the 
spike to ground through a low impedance at 
the power supply. A common example of 
this principle is the 0.01 /iF capacitor placed 
between the power buses and ground of a 
digital circuit, to suppress the low level 
switching transients of digital integrated 
circuits. Since we are talking about tran- 
sients that come in over AC lines, we need to 
put the low impedance on either the AC line 
or the power supply bus. On the DC side, 
hefty filter capacitors do this for the spikes 
with low frequency characteristics, but they 
often exhibit stray inductance which looks 
like a high impedance to a fast pulse. Putting 



a 0.01 /iF capacitor in parallel with the filter 
capacitor willl take care of many of these. 
Nonlinear devices such as spark gaps and 
varistors may be placed on the AC line. The 
last part of the shunt method is the most 
important. Put a good ground on the ma- 
chine! If your house doesn't have three wire 
outlets, tie the case ground to a water pipe; 
if you have to, drive aground rod. Be aware 
of the grounding system in all your elec- 
tronic equipment. Poor grounding practice 
can cause shocks, ground loops, and erratic 
operation. [When I took my system away 
from its usual solid grounding arrangements 
for a demonstration at the ACGNJ meeting 
May 20 of this year, the lack of a good 
ground became painfully obvious: programs 
which have never before committed suicide 
became quite distressed and recal- 
citrant . . . CH/ 

We can expect to adequately protect the 
hardware without much trouble (or cash). 
The best procedure is to use a combination 
of the above methods as shown in figure 2. 

I've tried to explain a little about voltage 
transients without getting into the physics of 
semiconductor failure or transient genera- 
tion analysis. If you want to become better 
versed in this field, read several of the 
references. They all offer good background 
material and references 2 and 3 give detailed 
information. Hopefully, you are among the 
many who haven't had any problem with 
spikes. The best time to prepare for them is 
before they give you trouble." 

REFERENCES 

1. Westinghouse Electric Corporation, Electrical 
Transmission and Distribution Book, East Pitts- 
burgh PA. 

2. G J Hahn and F D Martzloff, July 1970, "Surge 
Voltages in Residental Power Circuits," IEEE 
Transactions on Power Apparatus and Systems, 
89 (6) 1049-1056. 

3. General Electric Company, Transient Voltage 
Suppression Manual, Syracuse NY. 



56 



BYTE November 1977 



the 
Processor 

Terminal . 

A logical forward step in Microcomputer design 

the Processor Terminal. A new desisn by TEI and look at 
what you set ... a complete, self contained microcompu- 
ter system with display and mass storase, a full keyboard 
and plenty of slot space for additional boards. And that 
famous TEI CVT power supply that makes brownouts a 
thins of the past. 

Display — A15"hish-resolution black and white video 
display with an optical filter face plate to reduce slare and 
improve type visability . . . Keyboard — Full upper and 
lower case ASCII detached keyboard with 8 prosrammable 
special function keys. Keyboard status indicators show 
computer BUSY or READY And a 16-key numeric cluster 
pad set up calculator style . . . Disk Drive & Controller — 
A Shusart SA-400 mini -floppy disk drive. Soft sectored 




with a capacity of about 90 KB. IBM compatible format. 
Controller will handle 3 drives . . . CPU — 8080 based with 
a flexible desisn that allows you to implement a start up 
"jump to" operation to any dip switch selected byte 
address you choose. Merely turn on power or press RESET 
and you are off and runnins. Excellent for power failure 
automatic restart . . . Memory — 16K of static RAM memory 
Low power chips. Selectable address assisnment and 
memory protect features . . . I/O — 3P+3S input/output 
board. 3 parallel ports and 3 serial ports with selectable 
baud rates of 75 to 19,200. RS-232C and TTL outputs . . . 
Video — A video board provides the support for the 
video display functions . . . Mainframe — A 12 slot 
mainframe with a 17-amp CVT power supply motherboard 
assembly heavy duty aluminum cabinet, fan and washable 
filter. All edse connectors and card suides provided . . . 
Software — CP/M disk operates system and BASIC 
provided on disk. 

the Processor Terminal (Model MCS-PT) fully assem- 
bled and tested is priced at $3495.00. 

the Processor Terminal partially assembled (We build 
the cabinet, keyboard, monitor, power supply disk drive 
and motherboard and you build the CPU, RAM, I/O, Video 
and Controller boards which we supply as kits). This 
partially assembled unit is priced at $2995.00. 



MCS 



SPECIAL SYSTEMS GROUP 



MICROCOMPUTER SYSTEM 



Contact your local TEI Dealer or if you are not near one of our dealers, write or call CMC Marketins Corp direct for more information. 

CMC MARKETING CORP 
7231 Fondren Rd, Houston, TX 77036 Telephone (713) 774-9526 

See you at Pers. Comp. 10/27-29 Chicago Booth #53 



Circle 23 on inquiry card. 



BYTE November 1977 



57 



SYNCHRO SOUND 



ENTERPRISES, ING.I 

One-stop shop 
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 



ADM1A 
TERMINAL 




• Display Format 
—80 characters 
per line by 24 lines 
ull 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 $l39o.UO 




ADM 2A TERMINAL 



1920 character display (24 x 80) 
16 function keys for 32 commands 



• Separate keyboard— 119 keys 

• 10 key numeric pad 

• Single key edit operations 

• Page, field or line edit 

• Security, protected fields 
and much more 



ADM2A 
Assembled . . . 

$1895.00 



OKIDATA MODEL 110 
LINE PRINTER 

• 110 CPS dot matrix 

fS " $1149.00 

Feed" 1279.00 

RS 232C 

Interface 260.00 



OKIDATA MODEL 22 
LINE PRINTER 





• 125 lines per minute 
132-column print line 

• Upper/lowercase 

• 8 different 
character sizes 

• 12 IPS paper slew 

$2249.00 
379.00 



Tractor Feed 
RS 232C Serial Interface 



DECWRITER II 

• 132 column printing 

• 10-30 CPS 

• Full keyboard 

• Tractor feed 

$1695.00 




BYTE November 1977 



SYNCHRO SOUND 



ENTERPRISES, INC.I 



CENTRONICS 
703 SERIAL 
PRINTER 




• Low 
cost 
of ownership 

• Bidirectional logic seeking printing 

• Microprocessor electronics £s*OAf? f\f\ 

• Excellent print quality $Zw90iQQ 



IMSAI 8080 MICROCOMPUTER 
• Powerful • Low cost • Easy to use 



i 

■ i 



iMSAisoat 



„ - - " ~— - -; " t^W* 



With 22 Slot 
Mother Board 

$619.95 

With Z-80 CPU 

849.95 



HAZELTINE1500 
VIDEO TERMINAL 

• Reverse video 

• 24x80 display 

• Programmable 
brightness levels 

• RS232 and 
current loop 
and much more 




Assembled 



$1149.00 



Kit also available 



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, LearSiegler, 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. 




CENTRONICS 761 PRINTER 

• 300 Baud serial transmission 

• Bidirectional and incremental printing 

• RS232, CCITT-V24, or 
current loop interface 

• Baud selection (110/150/300) 

$1695.001 



KSR with Keyboard. 



Receive only version 

1595.00] 




Fully IBM 3740 media FL0P qvqtpm 

and format compatible &T&itm 

Full formatter 

ICOM Model FD 3712 
Dual Drive System 

$2795.001 



and controller 
built-in 




SPECIAL BUYS 

Sorac IQ 120 Video Terminal Kit $959.00 

DEC LA 180 Printer 2769.00 

Compucolor 8001 ColorComputer. : 2595.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 

and Saturday Working units on display 

Dept. bb BankAmericard • MasterCharge 



Circle 141 on inquiry card. 



BYTE November 1977 



Programming Quickies 



Simple Math Lessons 



Robert G Lloyd 
7554 Southgate Rd 
Fayetteville NC 28304 



Here is a program I wrote using Tom 
PittmarTs Tiny BASIC. It originally appeared 
in K/M-J User's Notes. This program allows 
my two children to play with the computer 
and also learn math. The output of the 
program looks like this: 

THIS IS A MATH TEST 

12 
X _6 

If the correct answer is input, the com- 
puter replies with YOU'RE RIGHT and a 
new problem is set up. For a wrong answer 
the reply is ??WRONG??, TRY AGAIN and 
the same problem is repeated. If you answer 
incorrectly three times THE RIGHT AN- 
SWER IS 72 appears and a new example is 
set up. 

The actual problems are randomly chosen. 
The number limits for multiplication are set 
at line 200 for the multiplicand and 205 
for the multiplier. Lines 305 and 355 define 
the two addends for addition." 

10 PR "THIS IS A MATH TEST" 

15 PR 

20 LETV=0 

30 LET 1=0 

35 LETZ=0 

40 PR "TYPE 1 FOR MULTIPLICATION" 

50 PR 

60 PR "TYPE 2 FOR ADDITION" 

70 PR 

80 INPUT I 

90 PR 

100 IF 1=1 GOTO 200 
110 IF 1=2 GOTO 350 
120 IF D=Q GOTO 500 
130 GOTO 600 
190 END 

200 LETX=(RND(12)+1) 
205 LETY=(RND(12)+1) 
210 IFX<=10GOTO230 
220 GOTO 240 



230 PR " ";X 

235 GOTO 260 

240 PR " ";X 

260 IF Y<= 10 GOTO 280 

270 GOTO 290 

280 PR " X ";Y 

285 GOTO 300 

290 PR"X ";Y 

300 PR" ", 

310 LETQ=X*Y 

320 INPUT D 

330 GOTO 120 

350 LETX=(RND(50)+1) 

355 LET Y=(RND(50)+1) 

360 IFX<=10GOTO380 

370 GOTO 390 

380 PR" ";X 

385 GOTO 410 

390 PR" ";X 

410 IF Y<=10GOTO430 

420 GOTO 440 

430 PR " + "; Y 

435 GOTO 450 

440 PR " + "; Y 

450 PR " ", 

460 LET Q=X+Y 

470 INPUT D 

480 GOTO 120 

500 PR "YOU'RE RIGHT" 

505 PR 

508 LET Z=Z+1 

509 IF Z<3 GOTO 512 

510 GOTO 10 

512 IF 1 = 1 GOTO 200 

514 IF 1=2 GOTO 350 

600 PR "WRONG , TRY AGAIN" 

610 PR 

620 LETV=V+1 

630 IF V=3 GOTO 650 

640 IF 1=1 GOTO 210 

645 IF 1=2 GOTO 360 

650 PR "THE RIGHT ANSWER IS ' 

655 PRQ 

660 PR 

670 GOTO 10 



60 



BYTE November 1977 



HORIZON 

THE COMPLETE COMPUTER 



■ _•- 





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 Computers 

2465 Fourth Street • Berkeley, California 94710 • [415] 549-0858 



Circle 105 on inquiry card. 



BYTE November 1977 



61 



J» » ■— "- 1 



Mmjjjj 



i # 



Mm 




V&LAY 

I - 7Q72: 



s Rmm 




The end of bad solder joints, heat damaged 
components and sick IC's. Introducing the 
Semikit. Iteml, a 16KRA Memory Board, $ 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 ICs) are virtually 
eliminated. You get a board of 
highest professional quality. 
And we get the business! 

The 16KRA Memory 
Boards 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 
S369 as a Semikit or for S399 
fully assembled, tested and 
bumed-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. 



ProcessorTech 



Circle 1 1 7 on inquiry card. 



BYTE November 1977 



63 



^oinpu^L 



@a% 




The Small Computer 



Twenty-five years ago a computer as powerful as the 
new Processor Technology SOL-20/8 priced out at a cool million. 

Now for only $1350 in kit form or $1850 fully 
assembled and tested you can have your own small computer 
with perhaps even more power. It comes in a package about the 
size of a typewriter. And there's nothing like it on the market 
today. Not from IBM, Burroughs, DEC, HP or anybody else! 

It fills a new role 

If you're an engineer, scientist or businessman, the 
Sol-20 can help you solve many or all of your design problems, 
help you quantify research, and handle the books too. For not 
much more than the price of a good calculator, you can have high 
level computer power. 

Use it in the office, lab, plant or home 

Sol-20 is a smart terminal for distributed processing. 
Sol-20 is a stand alone computer for data collection, handling 
and analysis. Sol-20 is a text editor. In fact, Sol-20 is the key 
element of a full fledged computer system including hardware, 
software and peripheral gear. It's a computer system with a 
keyboard, extra memory, I/O interfaces, factory backup, service 
notes, users group. 

It's a computer you can take home after hours to play 
or create sophisticated games, do your personal books and taxes, 
and a whole host of other tasks. 

Those of you who are familiar with small computers 
will recognize what an advance the Sol-20 is . 



Sol-20 offers all these features as standard: 

8080 microprocessor — 1024 character video display 
circuitry — control PROM memory — 9216 words of static low- 
power RAM — 2048 words of preprogrammed PROM — built-in 
cassette interface capable of controlling two recorders at 1200 
bits per second — both parallel and serial standardized interface 
connectors — a complete power supply including ultra quiet 
fan — a beautiful case with solid walnut sides — software which 
includes a preprogrammed PROM personality module and a data 
cassette with BASIC-5 language plus two sophisticated computer 
video games — the ability to work with all S-100 bus products. 

Full expansion capability 

Tailor the Sol-20 system to your applications with our 
complete line of peripheral products. These include the video 
monitor, audio cassette and digital tape systems, dual floppy 
disc system, expansion memories, and interfaces. 

Write for our new 22 page catalog. 
Get all the details. 

Processor Technology, Box B, 7100 Johnson Industrial 
Drive, Pleasanton, California 94566. Phone (415) 829-2600. 



ProcessorTechnology 



See Sol here 



ALABAMA 

ICP, Computerland 
1550 Montgomery Hwy. 
Birmingham, AL 35226 
(205) 979-0707 

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 

Bits 'N Bytes 

679 S. State College Blvd. 

Fullerton, CA 92631 

(714)879-8386 

The Byte Shop 

16508 Hawthorne Blvd. 

Lawndale, CA 90260 

(213)371-2421 

Opamp/Computer 
1033 N. Sycamore Ave. 
Los Angeles, CA 90038 
(213)934-3566 

The Computer Mart 
624 West Katelia#10 
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, CA95816 
(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, C A 951 24 
(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 

Computer Components 
5848Sepulveda Blvd. 
Van Nuys, C A 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 
2040 30th St. 
Boulder, CO 80301 
(303) 449-6233 

Byte Shop 
3464 S. Acoma St. 
Englewood, CO 80110 
(303) 761-6232 

FLORIDA 

Byte Shop of Miami 
7825 Bird Road 
Miami, FL33155 
(305) 264-2983 

Microcomputer 

Systems Inc. 

144 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. 
1316 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 

Computers Unlimited 
7724 East 89th Street 
Indianapolis, IN 46256 
(317)849-6505 

The Data Domain 
7027 N. Michigan Rd. 
Indianapolis, IN 46268 
(317) 251-3139 

IOWA 

The Computer Store 
of Davenport 
616 West 35th Street 
Davenport, IA 52806 
(319) 386-3334 

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 Mart 

of Long Island 

2072 Front Street 

East Meadow, L.I. NY 11554 

(516)794-0510 

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 

OHIO 

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 

PENNSYLVANIA 

Byte Shop of 
Delaware Valley 
1045 Lancaster Pike 
Bryn Mawr, PA 19010 
(215)525-7712 

rhode'island 

Computer Power, Inc. 
M24 Airport Mall 
1800 Post Rd. 
Warwick, Rl 02886 
(401) 738-4477 

TEXAS 

Computer World 
926 N. Collins 
Arlington, TX 76011 
(817)469-1502 

Byte Shop 
3211 Fondren 
Houston, TX 77063 
(713)977-0664 

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) 743-2787 

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. 
11303 South Shore Dr. 
Reston, VA 22090 
(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. 
Beilevue, WA 98007 
(206) 746-0651 

The Retail Computer Store 
410 N.E. 72nd 
Seattle, WA 981 15 
(206)524-4101 

WISCONSIN 

Madison Computer Store 
1910 Monroe St. 
Madison, Wl 53711 
(608) 255-5552 

The Milwaukee 
Computer Store 
6916 W. North Ave. 
Milwaukee, Wl 53213 
(414) 259-9140 

CANADA 

Trintronics 
160 Elgin St. 
Place Bell Canada 
Ottawa, Ontario K2P 2C4 
(613) 236-7767 

First Canadian 
Computer Store Ltd. 
44 Eglinton Ave. West 
Toronto, Ontario M4R 1 A1 
(416) 482-8080 

The Computer Place 
186 Queen St. West 
Toronto, Ontario M5V 1Z1 
(416) 598-0262 

Pacific Computer Store 
4509-11 Rupert St. 
Vancouver, B.C. V5R 2J4 
(604) 438-3282 



Processor 'hnology 



Circle 1 1 7 on inquiry card. 



BYTE November I 977 



65 



My Experiences with the 2650 



A Report from Our 14 Year Old Correspondent 





* 



out the Author 



Brian K Moran has the honor of being the youngest B YTE author 
to date. Brian is a 14 year old student at Rich woods High School in 
Peoria IL His achievements include winning first place in science 
fairs on the school, regional and state levels with a project con- 
cerning computers. Brian presently has a working AM T-2650, and is 
designing his own computer based on the 2650 processor. 




red paper tape reader^ 
•will read punchecP'ape as fast as^( 

(0-5,000 Of 
Each unit includes' a -"custom optical 
sensor array, high speed data buffers, 
and all required handshake logic to 
i rrt.er f a c e w it ft an y m i c r d p r o c e s s o r 
parallel I/O port. Check our specs. AT 
OAE WE MAKE QUALITY AFFORD- 
ABLE! 

Available at quality computer stores 
everywhere. (Or, add $2.50 for domes- 
tic shipping and handling — CA res. 
add/6%.) .. 



$cmoo 

^^ A&T 



OAE 

Oliver Audio 
Engineering, inc. 

7330 Laurel Canyon Blvd. 
North Hollywood, CA.91605 
(213)765-8080 



Brian K Moran 
7335 N Manning Dr 
Peoria IL 61614 



When I saw an ad in Electronics magazine 
for the Signetics 2650, I had a "sixth sense" 
that this was the processor I wanted. After 
contacting Signetics Corporation I received 
the 2650 manual. I had only started to learn 
about computers two months before, so I 
did not understand everything in the man- 
ual. I had no one to ask; my mom and dad 
are not familiar with computer technology. 
I began to write to Signetics, asking about 
various things, and they wrote back ex- 
pressing much enthusiasm about my being 
interested in computers at such a young 
age. (I was 13 years old). 

Signetics made available to me a 3 day 
seminar about the 2650 and about micro- 
computers in general. Needless to say, I 
was ecstatic. Even my parents were excited! 
When I arrived at the sales office where the 
seminar was to be held, I found I was the 
only person under 20 years of age. There 
was one person from a well-known mega- 
computer company, three men from a well- 
known amusement device company, two 
instructors, and myself. These adults were 
surprised that a "kid" would be learning 
about computers, and they asked me many 
questions. 

The first day of the seminar went well, 
considering that my specialty is hardware, 
and I actually began to understand software. 
I had many chances to discuss certain 
aspects of personal computers with the man 
from the megacomputer company, and over 
lunch we discussed many problems of 
systems going berserk, dropping bits, break- 
ing down, etc. 

The second day we studied the problem 
of programming IO ports, and tested our 
programs on a timeshare computer service 
provided by the seminar. My program (the 
first I had written) had one bug in it. The 
problem was to read in data from a certain 
port into a specified register and output it to 



66 



BYTE November 1977 



Circle 108 on inquiry card. 



a certain port containing an LED for each 
data line. The program was to do this con- 
tinually, but when I loaded the data in from 
the port I forgot to clear it first. 

I wanted to keep the program to an abso- 
lute minimum because the Teletype I was 
using kept losing contact with the timeshare 
computer. After fighting a battle of trying 
to write and save programs before the 
modem "crashed," the final score was: 
modem 4, me 1. I finally finished it. At 
this point the instructor said I could use 
another Teletype. No way! 

Now came my turn to load my program 
into the demonstration computer. The 2650 
must have liked me because it worked right 
after I loaded the program and pressed 
reset. 

The third and last day at the seminar we 
learned about hardware usage and interfaces. 
I was sad to be leaving when it came time to 
bid everyone goodbye. I had become good 
friends with all the people and they had all 
helped me in one way or another. 

The seminar was in March, and until late 
May I programmed on paper since I had no 
computer, nor access to one. I decided to 
purchase an AMT-2650 from Applied 
Microtechnology so I could learn more 
about it before I designed and built my 
own processor board. It was two months 
and five days from the date of my order 
that my computer was delivered. It arrived 
the day before school reopened. This was 
a great disappointment because I was plan- 
ning to work on it during summer vacation. 

After programming the diagnostics to 
check out the computer, I discovered that 
bit in output port C remained lit when the 
computer was in the run state, and when a 
true bit was in position in output port C, 
the bit in the data load byte would come on, 
making things more confusing. 

Despite all the bugs, I developed many 
short programs on this computer including 
one that rotates left one bit in output portC 
until it gets to bit 7, while another bit in 
output port D rotates right at the same 
speed; then both would repeat. One row of 
LEDs is on top of anther, so that, when 
this program is run, the lights seem to chase 
each other in circles. There is one catch: the 
lights go very fast at first and get slower 
and slower until they come to a full stop 
and the machine halts. Upon reset, the 
whole process is started again. 

I'm still listing features I want for my 
processor board and front panel. If anyone is 
interested in the 2650 please contact me, 
since no one I know uses this processor, 
and I would like to possibly start a users' 
group." 



m 








COMPLETE 

FLOPPY DISK SYSTEM 

FOR YOUR ALTAIR/IMSAI 

$699 

That's right, complete. 

The North Star MICRO-D ISK SYSTEM™ uses the Shugart 
minifloppy™ disk drive. The controller is an S-100 com- 
patible PC board with on-board PROM for bootstrap load. It 
can control up to three drives, either with or without 
interrupts. No DMA is required. 

No system is complete without software: we provide the 
PROM bootstrap, a file-oriented disk operating system (2k 
bytes), and our powerful extended BASIC with sequential 
and random disk file accessing (10k bytes). 

Each 5" diameter diskette has 90k data byte capacity. 
BASIC loads in less than 2 seconds. The drive itself can be 
mounted inside your computer, and use your existing power 
supply (.9 amp at 5V and 1.6 amp at 12V max). Or, if you 
prefer, we offer a power supply ($39) and enclosure ($39). 

Sound unbelievable? See the North Star MICRO-DISK 
SYSTEM atyour local computer store. For a high-performance 
BASIC computing system, all you need is an 8080 or Z80 
computer, 16k of memory, a terminal, and the North Star 
MICRO-DISK SYSTEM. For additional performance, obtain 
up to a factor of ten increase in BASIC execution speed by 
also ordering the North Star hardware Floating Point Board 
(FPB-A). Use of the FPB-A also saves about 1 k of memory by 
eliminating software arithmetic routines. 

Included: North Star controller kit (highest quality PC 
boardand components, sockets for all IC's, and power regula- 
tion for one drive), SA-400 drive (assembled and tested), 
cabling and connectors, 2 diskettes (one containing file DOS 
and BASIC), complete hardware and software documentation, 
and U.S. shipping. 

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

(ASSEMBLED) $799 check, money order or 

ADDITIONAL DRIVES. . . $425 ea. BA or MC card /^ with exp. 

^ date and signature. Uncer- 

DISKETTES $4.50 ea. tif j ed checks require 6 

FPB-A $359 weeks processing. Calif. 

(ASSEMBLED) $499 residents add sales tax. 



NORTH STAR COMPUTERS, INC. 

2465 Fourth Street 
Berkeley, CA 94710 



Circle 105 on inquiry card. 



BYTE November 1977 



67 



Does Anybody Know What Time It Is? 



Robert Grappel 
148 Wood St 
Lexington MA 02173 



One of the earliest products of LSI tech- 
nology that filtered down to the hobbyist 
was the "clock chip." This little "beauty" 
divided the 60 Hz line signal down to 
seconds, minutes and hours. . .and displayed 
the results on 7 segment LED or other dis- 
plays. Today these "clocks" come in a 
great variety of types, sizes and functions. 
They come tiny for watches. Some have 
extra timers and alarm capabilities. They are 
inexpensive, and require little in the way 
of external circuitry. For long term timing 
applications, they form an ideal solution for 
computer experimenters. 

For many personal computer applica- 
tions, it would be useful for the computer 
to have a knowledge of the time. The com- 
puter can certainly count interrupts from 
a crystal time standard, but why not use 
external hardware optimized for the time- 
keeping function, ie: a "clock chip?" This 
article describes an approach to such a 
linking of computer and clock. The clock 
I used had a National Semiconductor 
MM5314, but other clock chips using multi- 
plexed 7 segment displays will also work. 
The circuit attaches to the display lines, 
does not disable the clock functions or the 
display, and is easily added inside the clock's 
case. It simply lets the computer read the 
clock digits (with the appropriate software) 
at the same time that the ordinary electronic 
display is produced. 

The hardware interface is shown in 
figure 1. It consists of three integrated 
circuits at a total cost of less than $5. Two 
CD4010 buffers are used to convert the 
MOS voltage levels of the clock to TTL 
levels. These buffers are CMOS, so they 
form almost no load on the clock circuits. 
The pins labelled Vqq are tied to the 
clock supply. The pins labelled Vqq are 
tied to the computer TTL power supply 
of 5 V. The common ground line for clock 
and interface and computer is V55, The only 
criteria assumed here are that V$5=GND< 
V CC =+5V<V DD . 

The clock uses a multiplexed 7 segment 



display format. This means that each digit is 
formed from seven data bits, and the digits 
are sequenced one at a time. The lower 
buffer works on the segment signals. Al- 
though seven bits are used for the display, 
only five are needed to uniquely decode 
digits. This circuit sends the a, b, e, f and g 
signals to the computer. These five bits are 
used in a software table lookup to convert to 
the digit code. The buffer IC2 handles the 
digit signals. The six digits are scanned right 
to left, from seconds digit to tens of hours 
digit. These six signals are converted to a 
3 bit binary number by a 74147 priority 
encoder. Since both the clock and the 
74147 utilize inverted logic, the con- 
nections have been manipulated to pro- 
vide a normal logic output. (Seconds 
digit is 1, tens of seconds is 2, etc). Thus 
each digit is converted to eight data bits: 
three which describe its place in the display 
and five when uniquely map to its value. 

The subroutine of listing 1 illustrates how 
to read the clock interface. It is written for 
a Motorola 6800, but should be readily 
convertible to other processors. The location 
CLKIO is the interface input (which is 
assumed to be previously initialized if it is a 
PIA data location). The subroutine reads 
the digits from right to left and stores the 
ASCII code for each digit in a 6 byte stor- 
age area. This area is pointed to by the X 
register contents when the subroutine is 
called. 

The code between WAITD and CLK2 
continuously samples the interface waiting 
for the low order 3 bit digit code pointed 
to by the B register. When data for that 
digit is presented, its segment data is 
separated from the input value and those 
five bits (shifted right three positions) are 
used in a table lookup in SEGTAB. This 
returns the ASCII digit. If no digit corres- 
ponds to the bit pattern (hardware error), 
the letter E is returned. This ASCII char- 
acter is stored in the storage area. The 
routine loops through all 6 digit locations 
and then returns. 



Figure 1 : Schematic of the clock interface, and a partial schematic of the clock chip and display circuitry. The interface circuitry 
is intended to convert the signals from an existing electronic clock using MOS integrated circuits and LED displays (left) into 
TTL compatible levels usable by the microprocessor port at right. Some analysis of the particular clock used is required to attach 
the interface wires to the appropriate digit and segment output lines. Since the CMOS DC4010 level shifting buffers employed 
have high impedance inputs, the loading of the clock chip's output lines will not affect operation of the clock itself when the 
computer is attached. 



68 



BYTE November 1977 



5°- 




o 




CD 






h- ~~ 


_ 


13 


m 






Q _ 


c\j 




CD 




ro 




OJ 






UJ 


sf 


Q 


m 


O 




O — 








H 


to 


Z 


U) 


UJ 




5 


to 


o 


CD 


LU 




l/l _ 


s- 




CD 





to <? \n 

CO CD CO 



o—o—o h o — o — o — 0—0 



oh 
a o_ 



B 

ki 

$8 



cc o , 

UJO J 



O CO |_ 

ZfO=> 
UJ Q_ 
. C^Z 

too) 

CC UJ cc 
Q. Q U. 



cc o 




o z 




Q H 




Ul </> 




Ex"- 




^ UJZ 




s£ D 




o°* 




hhu 




t/i cc o 




3 < _l 




UQ.U 






^ 




^ 




•vJ 




u. 




lo 




*>* 




^ 




Q 




Uj 



5< 
UJO" 
f-CC L 
<U. t 

in e C 



i ~r- 
.1? 



<\j sr to 



i- 
cc 

2 



ro in N 



z* 

?° 

* O o 

h- cc^ 

3 <Z 

Q- Q-O 

h- —cc 

>3 Q-l- 
O -o 

5 gg 



..to 

^X 



















UJ 


CO 


5 h- 


O (/) 


CC* D 


U-O^Z 


z O < 

uj- 10 ^ 

^OZ H 


<<D Q- 


.. i-z >Tuj> 


UJ ~ £ a. < « 

H O — Q. UJO 


O QX D CC U 


Z > UJ t/1 O > 




— > 












O CM 












7 




to 


ti) 


# 




> + 




~~ 


— 






























I/) Q 










Ul 

1 




CO 


CO 


CO 


* 


CD 


*-' 










g 






















to 


^ 










z 


u^ 












m 


to 






# 




> + 










rr 






















Ul 




N 













0_ 


M- 











0. 


> 




«■ 


tf 


u 




1- 


^ 


Q 


Q 


_l 






N 


O 


O 





cc 












UJ 












CO 




rvj 


ro 


«* 




2 
















ZJ 












z 











BYTE November 1977 



69 



PROGRAM TO READ CLOCK PERIPHERAL HARDWARE 

CALL SUBROUTINE WITH ADDRESS OF 6-BYTE STORAGE 

AREA POINTED TO IN X-REGISTER 

ASCII DIGITS WILL BE STORED THERE 

ORDER ISt 

SECONDS* 10 'S OF SECONDS 

MINUTES* 10 'S OF MINUTES 

HOURS* 10»S OF HOURS 

HARDWARE ERRORS WILL STORE CHAR. *£ » 



* WRITTEN 


BY R. D. GRAPPEL 


* JANUARY 


1977 


* FOR 

* 

CLOCK 


MOTOROLA 6800 PROCESSOR 




LDA 


B #1 START WITH SECONDS DIGIT 


WAITD 




LDA 


A CLKIO READ CLOCK PORT 






PSH 


A SAVE DATA 






AND 


A #7 GET SEGMENT VALUES 






CBA 








BEQ 


CLK8 CORRECT DIGIT 






PUL 


A 






BRA 


WAITD WAIT FOR DIGIT 


CLK2 




PUL 


A GET SEGMENT VALUES 






LSR 


A 






LSR 


A 






LSR 


A 






STX 


SAVE SAVE X-REGISTER 






LDX 


#SEGTAB POINT TO CONVERSION TABLE 






STA 


A INDEX+1 MODIFY NEXT INSTR. 


INDEX 




LDA 


A 0*X GET ASCII CODE 






LDX 


SAVE RESTORE X-REGISTER 






STA 


A 0*X STORE CHARACTER 






INX 








INC 


B MOVE POINTERS 






CMP 


B #7 DONE WITH 6 DIGITS? 






BNE 


WAITD LOOP UNTIL DONE 



FCC 


•EEEE 


FCC 


'EE16 


FCC 


MEE4 


FCC 


'EEEE 


FCC 


'EEE5 


FCC 


•EEEE 


FCC 


'73E9 


FCC 


•E206 



TEMPORARY SAVE AREA 

7-SEGMENT TO ASCII CONVERSION TABLE 
'E' MEANS NO DIGIT HAS THIS PATTERN 
5-BIT INDEX INTO TABLE FORMED FROM 
SEGMENTS A*B>E*F»G 
<A SEG. IS HIGH ORDER) 



HANDLES ALL FORMS OF DIGITS 



Listing 1 : A program written for the 6800 
which will translate the outputs of the 
clock chip at the input port CLKIO into a 
6 byte string of ASCII digits. Due to the 
typical scanning times of clock displays, 
the execution of this routine will complete 
in 6 to 11 milliseconds, so use in time-depen- 
dent portions of a program may require 
careful thinking. 



The table lookup is done with the trick 
of instruction modification at INDEX. If 
this offends your sense of "proper program- 
ming practice/' then try the code used in 
the MORSER article (BYTE, October 1976, 
page 34). 

The clock steps through digits at a 
roughly 1 kHz rate. Since the clock and the 
computer are not synchronized, it might 
take up to 1 1 digit times for the program to 
run to completion. The subroutine thus 
executes in between 6 and 1 1 ms. It requires 
about 80 bytes of memory. 

Now there is no excuse for your com- 
puter not to know the time unless its clock 
stops." 



ACT 
IV 




Standard features: Full screen display of 24 lines by (SO characters. Professional, highly reliable keyboard with 2 
key rollover. Auto repeating cursor keys, space' and period. 

Full ASCII display of upper and true lower case characters plus a unique set for the display of control characters. 

Console selectable Page' mode with true editing: Insertion and deletion of characters or lines with automatic 
display rearrangement. Data rates to 19200 baud. 

Absolute cursor positioning, report of cursor position, fixed tabs, home up, bell, erase to end of line and erase 
to end of file are all standard. A 'smart' page transmit ignores trailing spaces and blank lines. 

The ACT- IV comes in two configurations. In a compact cabinet without monitor for $550 (ACT-I VA) or complete 
with 12" data monitor and numeric keypad for $800 (AC T-IVB). All units arc fully assembled and tested. More 
detailed information concerning the ACT-I V can be obtained from any discriminating computer store. 



Micro-Term Inc. 

:P.O. Box 9387 St. Louis, MO 63117 (314) 645-3656 j 



70 



BYTE November 1977 



Circle 89 on inquiry card. 



What you should know 

about our "workhorse micro" 

The Peripheral Universal Processor 




We have done it again - yes, Seal's has designed and 
engineered the only truly continuous-duty 
micro computer. 

We are proud to announce the arrival of the newest 
member to the Seals' family of performance products... 
the PUP-1 Peripheral Universal Processor. The PUP-1 
was designed with the same reliability and attention 
to detail that has enabled Seals' products to set the 
quality standards for the industry. The PUP-1 was 
designed from the ground up to meet all the needs and 
demands placed on a continuous-duty micro computer 
by OEM applications. 

The standard software package for the PUP-1 
includes DOS, EXTENDED BASIC, SAMPLE 
BUSINESS, and DISC OPERATING ROUTINES. 
To make repairs more simple, should a malfunction 
occur, the PUP-1 comes with a diagnostic program 
that will locate the exact area of dysfunction. 

The PUP-1 is fully operational in temperatures from 
0-55° C and can run on AC line voltages available 
anywhere in the world. 

Designed to deliver reliability, performance and 
maintenance-free operation, the PUP-1 makes 
optimum cost effectiveness available for you. 

PUP-1 SPECIFICATIONS 
PROCESSOR 

8-bit Z-80 CPU 2.5 MHz standard 4MHz option/other CPUs available. 

STANDARD SOFTWARE 

EXTENDED BASIC, DOS, diagnostics, sample business and disc 

operating routine. 

BUS 

Completely S-100 Compatible. All accepted signals including 'P-sync' 

and 'Refresh'. Plug-in terminators on 16 address lines, 8 data in, and 

8 data out lines. 

MEMORY 

32K standard. Expandable to 0.5 Megabyte without additional power 

or extended mother-board. 



DUAL MINI FLOPPIES 



DISK DRIVE 

Built-in dual 'Shugart' mini-floppy standard. 86K per disk. Also available 

without disk or with one drive only (Double Density Coming). 

I/O 

Standard ports; 2 serial, 2 parallel. Each completely independent (any 

port may be run at any address). Addresses switch-selectable with 

software override. 50 to 19,200 baud. 

POWER SUPPLY 

Full-load rating + 8V @ 23A, + 1 8V @ 6A, -18V @ 6A 

Input 95 - 125V ac and 195 - 250V ac, 50-60Hz, 

Oversize rectifiers 50A + 8V, 25A ± 16V 

FRONT PANEL 

Push Buttons: 'INITIALIZE', 'RESET', 'STOP' 

Indicators: 'RUN', 'WAIT', 'SINP', 'SOUT'. 

Security Lock: 'OFF', 'INITIALIZE', 'RUN', 'PROTECT'. 

REAR PANEL 

9 cutouts for standard 25 pin EIA connector. 2 cutouts for standard 37 

pin EIA connector. 2 cutoutsforstandard 1 5 pin ElAconnector. 2 D holes 

for BNC connectors. Off-On Switch (main power). Fused main power. 

MECHANICAL 

Free-standing (rack mounting optional) 

11 -connector mother-board. Rigid main chassis. 

Removable front panel. 

Card-cage containing all components, except power supply and listed 

front and rear panel controls and connectors, removable for servicing. 

OPERATING TEMPERATURE 

Full specification at ambient 0-55°C 

ATTENTION SYSTEMS DESIGNERS: 

Seals Electronics Inc., has developed a hybrid BASIC which 

combines the best features of both compiler and interpreter 

languages. Call factory direct or write Seals today for information 

explaining how our fundamental software program will assist you 

in your systems construction. 



■SEflLS]^. 



ELECTRONICS. INC. 



10728 DUTCHTOWN RD., CONCORD, TN. 37922 
(61 5) 966-8771 TELEX NO. 55-7444 



* 8V AMD ± 16V BUS LINES 
INDEPENDENTLY FUSED 



OVERSIZE RECTIFIERS 




OVERSIZE CAPACITORS 
280.000 u« FILTER 
CAPACITANCE -BV 
43.000 uf FILTER 
CAPACITANCE ON 
EACH i 16V dc. 



TRANSFORMER WILL 
RUN ON AC LINE 
VOLTAGE AVAILABLE 
AROUND THE WORLD 
90 to 1 35V ac 
190 to 260V ac 
50/60 Hz INPUT 



DISC OPERATING SYSTEM 
EXTENDED BASIC 

DIAGNOSTICS 
SAMPLE BUSINESS 
PROGRAM 



JUMP TO ANY OF TWO 
16 BIT ADDRESS 
(SWITCH SELECTABLE) 



STANDARD COLORS: GOLD WITH BLACK TRIM 
OTHER COLORS AVAILABLE 



Circle 127 on inquiry card. 



Figure 1 : A simple circuit which processes a 6.3 VAC reference signal derived from the power companies' 60 Hz grid to produce 
a digital logic level square wave at 15 Hz which can drive an interrupt line of a typical processor. The disable switch is optional 
and can be left out if the interrupt handlers are permanently loaded in ROM; otherwise, interrupts must be manually disabled 
while the systems software is bootstrapped into volatile memory. 



5V 
A 



LINE 
ISOLATION 



UOVAC 
60 Hz 



o= 



60Hz TIMING 
REFERENCE 



Rl 
IOOK 



6.3VAC 



^7 



USE THE SMALLEST 
LIGHTEST 6.3VAC FILAMENT 
TRANSFORMER AVAILABLE 



ICI 



m 



■O 



R2 
IM 



60Hz -r 4 = 15Hz 



D 

-2 



C Q 

R S 



XI 



2 |_9 

IC2 
I II 



D Q 

-2 

C Q 

R S 



TI S 



POWER WIRING 


NUMBER 


TYPE 


+ 5V 


GND 


ICI 


CD4050 


1 


8 


IC2 


CD4013 


14 


7 


note: unused pins 7,9 ,11 
& 14 of ici are grounded 



ILI 



DISABLE 

SWITCH 

—^ 



15Hz TO 
NMI INPUT 

o 



CD4050 



Adding an Interrupt Driven Real Time Clock 



James R Sneed 
13831 NE 8th, Apt 86 
Bellevue WA 98005 



Whenever a computer is interacting with 
the real world, either through sensors or 
actuators, a real time clock can be valuable. 
Using a real time clock, the computer can 
run programs at specified times or intervals, 
or the computer may record the times at 
which events are sensed. 

There are two basic types of real time 
clocks used in computing systems: the 
external (hardware) clock and the inter- 
nal (software) clock. An external clock uses 
hardware to keep track of time, and periodi- 
cally or on command transmits the time to 
the computer. [Robert Grap pel's article on 
page 68 of this issue shows one approach 
to such a clock . . .CH/ An internal software 
clock has hardware which interrupts the 
computer at regular intervals, and software 
which keeps track of time by incrementing 
a register whenever the computer receives a 
timing interrupt. 

The hardware clock imposes a small soft- 
ware burden on the computer, and being 
separate from the computer, it need not be 
reset whenever the computer is shut off. The 
software clock imposes a larger software 
burden on the computer, and the clock must 



be initialized if the computer has been com- 
pletely halted or had its power shut off. In 
applications where the computer operates 
continuously, the advantages of the software 
clock due to hardware simplicity outweigh 
its disadvantages due to increased software 
burden, and the software clock is the logical 
choice for a real time clock. 

There are two key considerations invol- 
ved in selecting the interrupt rate for the 
software clock. First, where the interrupt 
clock is derived by dividing a higher fre- 
quency clock, such as a 1 MHz computer 
clock, hardware simplicity favors as high an 
interrupt rate as possible, but the computa- 
tional overhead of interrupt response in- 
creases with increasing interrupt rate. 
Second, a low interrupt rate produces a low 
computational burden but decreases time- 
keeping resolution and programming flexi- 
bility. Since my system requires no routines 
to be performed more often than 15 times 
per second, I decided that a 15 Hz interrupt 
derived by dividing the 60 Hz power line 
frequency by 4 would be an adequate inter- 
rupt rate. This gives a minimum event to 
event resolution of 67 ms. 



72 



BYTE November 1977 



Listing 1: interrupt handier. This routine contains the overhead needed to fie id an NMI inter- 
rupt on a 6502 processor, save the state of the processor, call an interrupt processing sub- 
routine, restore the state of the processor, and return from the interrupt event. If the jump at 
location 206 is replaced by NOP operations, this program will spin its wheels 15 times a second, 
doing nothing in response to the 1 5 Hz signal produced by the circuit of figure 1. With the 
exception of the JSR at location 206, this routine is independent of the location in memory of 
the software discussed in this article. 



Hexadecimal 


Hexadecimal 






Address 


Code 




Op 


Commentary 


0200 


48 




PHA 


Push accumulator onto stack 


0201 


8A 




TXA 


Transfer X register to accumulator 


0202 


48 




PHA 


Push X register onto stack 


0203 


98 




TYA 


Transfer Y register to accumulator 


0204 


48 




PHA 


Push Y register onto stack 


0206 


20 00 


00 


JSR 


Call CLOCK 


0209 


68 




PLA 


Pull Y register from stack 


020A 


A8 




TAY 


Transfer accumulator to Y register 


020B 


68 




PLA 


Pull X register from stack 


020C 


AA 




TAX 


Transfer accumulator to X register 


020D 


68 




PLA 


Pull accumulator from stack 


020 E 


40 




RTI 


Return from interrupt 



FFFA 



00 02 



Interrupt address vector 



The circuit in figure 1 produces the 
15 Hz interrupts. The 60 Hz signal is taken 
from the secondary of a 6.3 V filament type 
transformer. (The term is a hangover from 
vacuum tube days when many tubes had 
6.3 V filaments somewhat like incandescent 
light bulbs). The input to IC1A, a CMOS 
buffer, is clamped between 5 V and ground 
by diodes D1 and D2, which can be any 
silicon small signal diodes at hand. Resistor 
R2 provides positive feedback to produce 
about a half a volt of hysteresis in the 
switching of the buffer. This hysteresis 
reduces false interrupts due to line voltage 
fluctuations and transients. The two D type 
flip flops in IC2 are used as cascaded divide- 
by-two circuits. The 15 Hz output from IC2 
is buffered to drive TTL loads by IC1 B. To 
prevent runaway power consumption and 
the resulting chip destruction, the unused 
inputs of the CMOS integrated circuits are 
grounded. 

The nonmaskable interrupt of the 6502 
is edge triggered; that is, the processor re- 
ceives an interrupt whenever the voltage on 
the nonmaskable interrupt line goes from 
high (>2.4 V) to low (<2.4 V). The non- 
maskable interrupt line can then stay low 
without generating another interrupt. 
When the processor receives a nonmaskable 
interrupt it jumps to the memory address 
stored at FFFA and FFFB, and pushes the 
address from which it was interrupted and 



the processor status onto the stack so that 
it can return to the preinterrupt computa- 
tion as soon as it has processed the interrupt. 
A switch is shown between the 15 Hz inter- 
rupt and the NMI line so that interrupts 
can be disabled after power is applied until 
the interrerupt handler for NMI has been 
loaded in volatile memory. If the interrupt 
handler is in read only memory, this switch 
can be omitted. 

The contents of the accumulator and the 
X and Y registers should be saved by soft- 
ware when the interrupt is received and con- 
trol switches to the interrupt handler pro- 
gram. This is done by pushing them onto 
the stack using appropriate instructions. 
Once the preinterrupt state has been safely 
preserved, the processing done as a result of 
the interrupt is performed. After the inter- 
rupt program has been completed, the 
preinterrupt contents of the Y and X re- 
gisters and the accumulator are restored by 
pulling them off the stack. The processor 
then pulls the preinterrupt processor status 
and program address from the stack and 
returns to the previous computation. Listing 
1 is a sample interrupt handler. 

Listing 2 is a 24 hour clock generated in 
software by accumulating 15 Hz interrupts. 
This program contains only relative jumps 
and so is easily relocatable, either in volatile 
memory, EROM or PROM. 

The operation of the program real time 



BYTE November 1977 73 



Listing 2: Time of day clock. If the jump at line 206 in the interrupt handler of listing 1 refer- 
ences the CLOCK routine, locations C4 to CI in memory address space are continously updated 
with hours, minutes, seconds and 7/15 seconds respectively as the 75 Hz interrupts invoke its 
action. The 6502 code of this routine has been constructed to use relative branches only, so 
that it can be relocated anywhere in memory address space at the convenience of its user 
without modification of the object code. 

CLOCK (Real Time Clock) 



Hexadecimal 


Hexadecimal 










Address 


Code 


Label 


Op 


Operand 


Commentary 


0000 


F8 




CLOCK 


SED 




Set decimal mode 


0001 


18 






CLC 




Clear carry 


0002 


A5 


C7 




LDA 


FSEC 


Load seconds fraction 


0004 


69 


01 




ADC 


1 


Incr seconds fraction 


0006 


85 


C7 


, 


STA 


FSEC 


Store seconds fraction 


0008 


38 






SEC 




Set carry 


0009 


E9 


15 




SBC 


15 


Subtract 15 


000B 


DO 


2C 




BNE 


END 


If not 15, go to end 


000D 


85 


C7 




STA 


FSEC 


Reset seconds fraction 


000F 


A5 


C6 




LDA 


SEC 


Load seconds 


0011 


18 






CLC 




Clear carry 


0012 


69 


01 




ADC 


1 


Incr seconds 


0014 


85 


C6 




STA 


SEC 


Store seconds 


0016 


38 






SEC 




Set carry 


0017 


E9 


60 




SBC 


60 


Subtract 60 


0019 


DO 


1E 




BNE 


END 


If not 60, go to end 


001 B 


85 


C6 




STA 


SEC 


Reset seconds 


001 D 


A5 


C5 




LDA 


MIN 


Load minutes 


001 F 


18 






CLC 




Clear carry 


0020 


69 


01 




ADC 


1 


Incr minutes 


0022 


85 


C5 




STA 


MIN 


Store minutes 


0024 


38 






SEC 




Set carry 


0025 


E9 


60 




SBC 


60 


Subtract 60 


0027 


DO 


10 




BNE 


END 


If not 60, go to end 


0029 


85 


C5 




STA 


MIN 


Reset minutes 


002B 


A5 


C4 




LDA 


HOURS 


Load hours 


002D 


18 






CLC 




Clear carry 


002E 


69 


01 




ADC 


1 


Increment hours 


0030 


85 


C4 




STA 


HOURS 


Store hours 


0032 


38 






SEC 




Set carry 


0033 


E9 


24 




SBC 


24 


Subtract 24 


0035 


DO 


02 




BNE 


END 


If not 24, go to end 


0037 


85 


C4 




STA 


HOURS 


Reset hours 


0039 


D8 




END 


CLD 




Clear decimal mode 


003A 


60 






RTS 




Return 


00C4 






HOURS 






Storage for hours 


00C5 






MIN 






Storage for minutes 


00C6 






SEC 






Storage for seconds 


00C7 






FSEC 






Storage for seconds/1 5 



CLOCK is straightforward. Time is stored in 
BCD in the first page of memory: hours in 
00C4, minutes in 00C5, seconds in 00C6, 
and 1/15 seconds in 00C7. When an inter- 
rupt is received and the preinterrupt state 
saved, the interrupt handler will call the real 
time CLOCK at 0000 (location 0206 in 
listing 1). The second's fraction is incre- 
mented and compared to 15. If it is less than 
15 the processor will jump to the end of the 
clock program for return, but if it equals 15 
the second's fraction is reset to zero and the 
seconds are incremented. Seconds, minutes 
and hours are handled similarly, counting 
modulo 60, 60 and 24 respectively. At the 
end of the program the processor returns to 
the interrupt handler. The clock can be set 
simply by loading the desired time into the 
time memory locations. 



By comparing desired program times with 
the time of the real time CLOCK program, 
the processor may perform programs at any 
desired interval, up to one day, which is 
expressable as a multiple of 1/15 second. 
As an example, a program to be performed 
once per second would be executed only 
at those times when CLOCK has counted 
the second's fraction equal to zero. 

It is important that the real time CLOCK 
should not impose an unreasonable compu- 
tational burden on the computer. Using a 
15 Hz interrupt and the program shown 
here, this criterion is satisfied. When run in 
a computer using a 6502 processor with a 
1 MHz clock, the interrupt service requires 
about 1 1 00 £is per second. This 0.1 % cannot 
be called an excessive burden on the 
computer." 



74 BYTE November 1977 






OSBORNE & ASSOCIATES, INC. 

^Tjm The World Leaders In Microprocessor Books ^rT* 

Many books on microprocessors and their use are now on the market, and most of them have names that sound alike. But 
Osborne & Associates' books have dominated this market since 1975, when our first book appeared. With rave reviews from 
all over the world — with more than five hundred university text adoptions, our books are all best sellers. In fact, "An In- 
troduction To Microcomputers: Volume I — Basic Concepts" now holds the world's record in sales volume for any textbook 
sold for a profit. 

If you want information on microprocessors, begin with the Osborne books. 



An Introduction 
To Microcomputers 




Volume 
The Beginner's Book 

By Adam Osborne. 



"An Introduction To Microcom- 
puters: Volume — The Beginner's 
Book" By A r, am Osborne. 

This is the book for the absolute beginner. 
Assuming that you know nothing about 
computers, math or science of any kind, this 
book explains what computers are all about 
— and it takes you to the point where you 
can read Volume I. 300 pages. 
Book No: 6001 $7.50 




For the microcomputer user, a series of books provide 

complete programs, written in BASIC. All these books are 

by Lon Poole and Mary Borchers. 

"Some Common Basic Programs" 200 pages. 

Book No: 21002 $7.50 

"Payroll With Cost Accounting — In Basic". 400 

pages Book No.: 22002 $12.50 

"Accounts Payable and Accounts Receivable" 

Book No.: 23002 $12.50 Available November 30, 

1977 

"General Ledger System" 

Book No.: 24002 $12.50 Available December 31, 

1977 



f- 


oin^— sag 








"An Introduction To Microcom- 
puters: Volume 1 — Basic Con- 
cepts" By Adam Osborne. 




■ '■■ ! '•■ i 


The world's best selling textbook. This book 

explains, clearly, concepts common to all 

microcomputers, yet specific to none. 350 

pages. 

Book No.: 2001 $7.50 






-j 



f— 




> 




8080A 
AND 8085 

ASSEMBLY 

LANGUAGE 

PROGRAMMING 

BY LANCE LEVENTHAL 


"8080A and 8085 Assembly Language 
Programming" By Lance Leventhal. I 

This book is for the assembly language pro- 
grammer or student; it explains assembly 
language programming for the 8080A and 
8085 microcomputers. The book contains 
numerous examples. 400 pages. 
Book No.: 31003 $7.50 Available 
October 31, 1977 










"An Introduction To Microcom- 
puters: Volume II — Some Real Pro- 
ducts" (Revised June 1977) By Adam 
Osborne, Susanna Jacobson and Jerry 
Kane. 

This book describes every common 
microprocessor and all of their support 
devices. Information is new and clearly writ- 
ten. Only data sheets are copied from 
manufacturers. 1200 pages. 
Book No.: 3001 $15.00 




The "Programming For Logic Design" series of books show 
how to use microprocessors in a digital logic environment. 

"8080 Programming For Logic Design" By Adam 
Osborne. 300 pages. 
Book No.: 4001 $7.50 

"6800 Programming For Logic Design" By Adam 
Osborne. 300 pages. 
Book No.: 5001 $7.50 

"Z80 Programming For Logic Design" By Adam 

Osborne and Susanna Jacobson. 

Book No: 7001 $7.50 (Available November 30, 

1977) 



OSBORNE & ASSOCIATES, INC. 


P.O. BOX 


Q TITLE 


UNIT PRICE 


QUANTITY } 


^Volume — The Beginner's Book (#6001) 


$7.50 ea. 




Volume I — Basic Concepts (#2001) 


$7.50 ea. 




Volume II — Some Real Products (#3001) 
revised 1977 


$15.00 ea. 




8080 Programming For Logic Design (#4001) 


$7.50 ea. 




6800 Programming For Logic Design (#5001) 


$7.50 ea. 




8080A/8085 Assembly Language Programming 
(#31003) 


$7.50 ea. 




Some Common BASIC Programs (#21002) 


$7.50 ea. 




l Payroll With Cost Accounting (#22002) 


$12.50 ea. 


J 



2036 BERKELEY, CA 94702 DEPT. I 



NAME/COMPANY 



ADDRESS 



CITY, STATE AND ZIP 



TELEPHONE 



We will only invoice for purchase orders of over 10 books. 
Shipping charges for bulk orders to be arranged. 

^J Check or Money Order enclosed (Calif, residents include sales tax) 
I will be using these books for 



Please check one space below: 

4th Class Mail Delivery (3-4 weeks within the U.S.A.) 

I have included $.50 per book for U.P.S. (allow 10 days) 

I have included $1.50 per book for special rush shipment by air. 

I have included $.50 per book foreign surface mail. 

I have included $3.00 per book for foreign airmail. 

I require information on consignments, discounts and distributors 
outside the U.S.A. 



Circle 109 on inquiry card. 



BYTE November 1977 75 



Floating Point Arithmetic 



Burt Hashizume 

POB447 

Maynard MA 01754 



E 



























































31 





























































ANSI 

STANDARD 

FORTRAN 

SINGLE PRECISION 



SIGN 7 BIT 

BIT EXPONENT 



24 BIT MANTISSA 



Figure 1: The American National Standards Institute (ANSI) floating point 
format for FORTRAN. It consists of a 24 bit mantissa, a 7 bit exponent and 
a sign bit. 

Many computer hobbyists are finding 
8 bit integer arithmetic inadequate for a 
variety of mathematical applications. 16 and 
even 32 bit fixed point calculations are being 
used with increasing frequency because of 
their greater accuracy. However, these 
techniques are still inherently inadequate 
for calculations performed over a wide 
range of numbers. 

Using a 16 bit integer format, only num- 
bers from to 65,535 can be represented. 
Larger or smaller numbers can be represented 
by moving the implicit radix point, but the 
range of discrete values still remains constant. 
The fractional part of the quotient in a 
division of one large number by another 
could be lost. 

If one could dynamically slide the radix 
point, the number range would be drama- 
tically increased. Using the same format, 
very small fractions and very large integers 
can be represented as floatingpoint numbers. 
This is made possible by keeping track of the 
radix point's position separately with an 
exponent. 

Floating Point Formats 

There are many ways to represent float- 
ing point numbers, but there are only 
three basic formats; the others are variations. 
Two of these (the dominant ones in the 
traditional computer industry) use different 



binary representations. The third format, the 
one with the most variations, uses a binary 
coded decimal (BCD) representation, and is 
widely used in the electronic calculator and 
home computer industry. 

The first format, shown in figure 1, is 
used in American National Standards Insti- 
tute (ANSI) FORTRAN. It consists of a 
24 bit mantissa, a 7 bit exponent and a sign 
bit. 

The mantissa represents a fraction with 
the radix point assumed to be to the left of 
the most significant digit. The exponent is in 
excess-64 notation, which is a 7 bit two's 
complement notation with the sign bit 
inverted, eg: a zero exponent (16^) is 
100 0000, the minimum exponent (16-64) 
is 000 0000, and the maximum exponent 
(16-63) is 111 1111. The algebraic sign bit 
of the value is associated with the mantissa, 
and the exponent's sign is inherent in its 
format: a one sign bit indicates the number 
is negative, and a zero sign bit indicates a 
positive number. 

This is the data storage format of floating 
point numbers. All such data is assumed to 
be normalized (ie: the most significant digit 
in the mantissa is nonzero unless the number 
itself is zero, in which case all 32 bits are 
zero). Before a calculation, the numbers are 
assumed normalized; after a calculation they 
are normalized in the floating point accumu- 
lator before being stored. 

The actual calculations take place in the 
floating point accumulator and other floating 
point registers. These registers can be in the 
hardware or in memory (software). Hard- 
ware floating point registers (expensive, but 
much faster than software) are used by 
large computers and many minicomputers, 
whereas most small computers implement 
floating point in software to keep costs 
down. 



76 



BYTE November 1977 



With the ANSI format a "guard byte" is 
used in the floating point registers to main- 
tain accuracy in performing the calculations. 
The guard byte (see figure 2) is an 8 bit ex- 
tension to the least significant end of the 
24 bit mantissa, temporarily creating a 32 
bit mantissa during calculations. By keeping 
track of 32 bits of accuracy throughout the 
operation, significance will not be lost when 
storing numbers because the 32 bits can be 
rounded off to 24 bits. If a guard byte is 
not used, no rounding off is possible, and 
the effect would be the same as truncation 
(which can result in loss of accuracy very 
quickly, as will be shown later). 

Numbers from 1.00 X 16~ 65 to 
F.FFFFF X 16 +62 can be represented by 
this format, resulting in an approximate 

range of from 10— " to 10+'" with an 
accuracy of six or seven decimal digits. 
Table 1 lists several decimal numbers along 
with their hexadecimal ANSI FORTRAN 
format equivalents. 

The next format, shown in figure 3, is 
also a binary format and is implemented by 
Digital Equipment Corporation (DEC) and 
Hewlett-Packard in their BASIC interpreters. 
It consists of a 23 bit mantissa plus a "hidden 
bit," an 8 bit exponent and a sign bit. 

This format assumes that the number is 
always normalized. Therefore, the most 
significant bit (MSB) of the mantissa is 
always one unless the entire number is zero. 
If the number is zero, (indicated by the 
special case of a exponent) then the 
hidden bit is also zero. The sign bit is zero 
for a positive number and one for negative. 
Because all nonzero numbers have an MSB 
of one, it need not be explicitly represented 
in the format; hence only 23 bits in the 
mantissa. 

The exponent represents a power of two 
in excess-128 notation, which is similar to 
excess-64 notation. The largest exponent, 
2+127 j s represented by the largest number, 
1111 1111, and the smallest exponent, 
7~ 127 ? by the smallest nonzero number, 
0000 0001. An exponent of zero (2°) is 
represented by 1000 000, while the number 
zero is reserved to indicate a zero mantissa. 

As in the case of the first binary format, 
a guard byte must be used during calcula- 
tions so that round off is possible before 
returning from the floating point accumula- 
tor for storage in memory. In this format it 
is also necessary to explicitly represent the 
hidden bit during calculations. This is ac- 
complished by expanding the 4 byte format 




SIGN 
BIT 



7 BIT 
EXPONENT 



24 BIT MANTISSA 



GUARD BYTE 



Figure 2: The ANSI FORTRAN floating point format showing the location 
of the "guard byte. " The guard byte is an extra field which holds portions 
of intermediate calculations so that the final calculated value can be rounded 
off rather than truncated prior to further use. 



JL 



SIGN 
BIT 



8 BIT 
EXPONENT 



23 BIT MANTISSA 



Figure 3: A binary floating point format used by Digital Equipment Corpora- 
tion and Hewlett-Packard in their BASIC interpreters. It consists of a 23 bit 
mantissa with a "hidden" bit, an 8 bit exponent and a sign bit. The format 
assumes that the number to be represented is always normalized: the most 
significant bit of the number is always understood to be 1 unless the entire 
number is equal to 0. This assumed "1" bit is the so-called "hidden" bit. 



Decimal Number 

1.00 

6.00 
-1.00 

0.50 
-0.50 
100 

216 (=65,536) 

2-16 
-2-32 



16-65 
16+62 



Hexadecimal Floating Point 
Number (Hexadecimal Digits) 

41 100000 

41 600000 
C1 100000 
40 800000 
CO 800000 

42 640000 
45 100000 
3D 100000 
B9 100000 
00 000000 
00 100000 
7F 100000 



Table 1: Several decimal 
numbers along with their 
ANSI FORTRAN floating 
point hexadecimal format 
equivalents (see figures 1 
and 2). 



Binary Floating Point Number 



Decimal Number 


(Hexad 


scimal Die 


1.00 


40 


800000 


6.00 


41 


cooooo 


-1.00 


CO 


800000 


0.50 


40 


000000 


-0.50 


CO 


000000 


100 


43 


C80000 


2 1 6=65,536 


48 


800000 


2-16 


38 


800000 


-2-32 


B0 


800000 





00 


000000 


2-128 


00 


800000 


2+126 


7F 


800000 



Table 2: Examples of 
decimal numbers and their 
equivalents as encoded in 
the binary floating point 
format used in several 
BASIC interpreters (see 
figure 3). 



BYTE November 1977 77 



47 



8 BIT SIGN 




32 BIT MANTISSA 
(8 DIGITS) 



Figure 4: A BCD floating point format consisting of an 8 bit sign, an 8 bit exponent and a 
32 bit (8 digit) mantissa. 



Table 3: Several decimal 
numbers along with their 
equivalent floating point 
representations as encoded 
in BCD hexadecimal digits. 



into six bytes: one byte for the sign, one 
byte for the exponent, and four bytes for 
the mantissa (including the guard byte). As 
a result there is a fair amount of processing 
necessary to load and store the floating 
point registers. 

This format has a range of from 2 + l26 to 
2—128 or from approximately 10 + 38 to 
10— 38 w j tn a 7 decimal digit accuracy 
(several examples are represented in tabic 2). 

There are numerous BCD floating point 
formats currently in use. Mantissas range 
from as few as four digits to as many as 
16 digits of accuracy, and exponents can 
typically range from 10 + 99 to 10 — 99 ^ r 
even 10 + 127 to 1 ^ ^7 jfo e m0 st popular 
format (see figure 4) has an 8 digit mantissa 
(four bytes of two digits per byte) with the 
decimal point assumed to be to the left of 
the most significant digit. 

The mantissa sign is typically represented 
by a whole byte: 00 for positive and OFF for 
negative. A variety of formats use one byte 
to represent the exponent. 

One of the more frequently used formats 
is binary in the form of excess-128 notation. 
The exponent format itself is identical to the 



Decimal Number 

1.00 

6.00 
-1.00 

0.50 
-0.50 
100 

216=65,536 

2-16 
-2-32 


10+126 
10-128 



BCD Representation 
{Hexadecimal Digits) 



00 


81 


10000000 


00 


81 


60000000 


FF 


81 


10000000 


00 


80 


50000000 


FF 


80 


50000000 


00 


83 


10000000 


00 


85 


65536000 


00 


7C 


15258789 


FF 


77 


23283064 


00 


00 


00000000 


00 


FF 


10000000 


00 


01 


10000000 



Digital Equipment Corporation format dis- 
cussed earlier, but represents a power of ten 
instead of a power of two. Thus, an expon- 
ent of 84 base 16, using DEC's format, 
signifies two to the fourth power, and 
using the BCD format, ten to the fourth. 
The exponent represents the same power 
in both cases, but of different bases. 

Eight digits are packed into four bytes 
in what is known as packed BCD (four bits 
represent one BCD digit). 

The same format is usually used for both 
storage of data and actual calculations. This 
means neither a guard byte nor round off is 
used. The need for a guard byte is circum- 
vented by using more significant digits than 
are actually necessary, eg: calculating to 
eight digits for 6 digit results, or calculating 
to nine digits for 8 digit results. This of 
course makes it necessary to use more 
memory per number for storage. 

Some examples of numbers in this format 
are found in table 3. 

Format Pros and Cons 

Each of these basic floating point formats 
has its own particular advantages and dis- 
advantages. Which format is best is dependent 
upon the requirements of the particular 
application: speed, small memory size, 
variable mantissa length, ease of coding in a 
given computer architecture, ease of inter- 
facing to other software routines, etc. 

The BCD format with its variations is by 
far the most popular in the personal com- 
puting field, probably because it is the 
easiest to program. The relative ease in 
converting from an ASCII representation 
of a number to the BCD format and back 
is a key factor, as is the ease with which the 

Continued on page 180 



78 



BYTE November 1977 







,d^ atO© 6 \\d^ e 




nP° A 



^s*ss^ 







■*$? 






.»<?<>* 



.-S;^'"* 






6 ^ 



<$V 



PP V 



^ " 



<*> 









Circle 137 on inquiry card. 



BYTE November 1977 79 




Photo 1: The author's computer, seen from the component side, was 
assembled using two sections of perforated board (0. 1 inch grid) and sockets 
for all integrated circuits. The arithmetic unit is in the lower right hand 
section in this photograph, the eight memory circuits are in the lower left 
hand region, and the control section is implemented by the parts on the 
board at the top of this photograph. 



Building a Computer from Scratch 



Hilary D Jones 
364 Princeton La 
Danville CA 94526 



With so many excellent microprocessors 
available today, the experimenter needs 
a good reason to design and build a personal 
computer from scratch. That reason will 
certainly not be one of economy. The best 
available microprocessors offer so much 
capability at such a low price that one 
cannot hope to save money by building 
a computer from scratch. For many, the 
reason will simply be the challenge of doing 
it. For others, the reason will be more prac- 
tical (perhaps to gain some capability not 
readily available from an off-the-shelf micro- 
processor). And for still others, the reason 
will be to learn more about the techniques 
of computer design. 

While any of these reasons is certainly 
valid, the design of a computer from the 
ground plane up is still generally regarded as 
an art that only the foolhardy would under- 
take. In reality, though, the job is not nearly 
as mysterious as it seems. For proof I offer 
the fact that when I began this project I had 
no design experience with TTL (or 
experience with any form of electronics 
design for that matter). Indeed, I chose this 



project to learn how to use TTL parts, on 
the assumption that the microprocessor I 
planned to buy would eventually become 
bored talking to my TV set. 

Because of my inexperience with TTL 
circuitry, I chose to simplify the design as 
much as possible at every step. As a result, 
the major strengths of this computer are its 
low cost and its simplicity. With judicious 
shopping, it should be possible to construct 
the computer for around $65, including 
everything but the power supply. With only 
four instructions, the computer offers an 
instruction set that is guaranteed not to 
overwhelm the novice. At the same time, 
the signals that drive the various modules of 
the computer are readily accessible so that 
the electronics can be seen to work "as 
advertised." 

Despite the simplicity of the computer, 
its microprogrammed bus oriented architec- 
ture conforms to the design principles in the 
most modern of minicomputers. 

This article gives the groundwork from 
which a serious student or hacker can design 
and build his/her own personal computer. 



80 



BYTE November 1977 



IN THE L.A. AREA 



TECH -M Aft r 

■ 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 



250 nS 
ACCESS 



LOW 
POWER 



NOT A 
KIT 



$225 



ASSEMBLED 
AND TESTED 



• S100BUS: 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'SNOT INCLUDED 



• ALLOWS CONVENIENT STORAGE AND ALTERATION OF YOUR OWN CUSTOMIZED COMPUTER PROGRAMS 

• S100 BUS: 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 INTOTHE 
ELECTRICALLY ALTERABLE 2708 MEMORY 



2708'S 
NOT INCLUDED 



• S100 BUS 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 144 on inquiry card. 



BYTE November 1977 



81 



Mnemonic 


Object Code 


WIO N 


OOnnnnnn 


ADD N 


Olnnnnnn 


STN N 


10nnnnnn 


JGE N 


1 Innnnnn 



Operation Performed 

Wait for input to location N. 

Display current contents of Location N while 

waiting. 

Add data in location N to accumulator. 

Store negative of accumulator in location N. 

Jump to location N if accumulator is greater 
than or equal to zero. 



Table 1: The instruction set for the computer. N is any 6 bit integer. The bits 
of N are denoted by nnnnnn. 



At the same time it also describes a very 
simple computer, one that can be built by a 
student as a science project, by a teacher for 
a laboratory demonstration, or by a novice 
hacker who just wants to learn about com- 
puters without a large investment. 

The Instruction Set 

The most important task facing the 
computer designer is choosing the 
instruction set. In the case of this com- 
puter, every effort was made to choose the 
simplest possible instruction set. There- 
fore, multiple word instructions, stacks, 
register files, interrupts and elaborate 10 
facilities were not permitted. An 8 bit word 
length was chosen because it is the smallest 
size that can be reasonably expected to use 
one word per instruction. This constrained 
me to an instruction set of four op codes 
and a directly addressed memory space of 64 
bytes. The instruction set is summarized in 
table 1. 

The ADD instruction is included for 
obvious reasons. The STN instruction was 
chosen to store the negative value of the 
accumulator's contents so that both sub- 
traction and addition could be done. (In 
particular, by executing STN N and ADD N 
in sequence, the accumulator can be 
cleared.) 

The JGE instruction is an all purpose test 
or branch instruction. By clearing the 
accumulator before executing a JGE, an 
unconditional branch results. Alternatively, 
by placing a number in the accumulator, 
the JGE tests whether the number is positive 
or negative. 

The WIO instruction provides the only 
means for loading and examining memory. 
There are no front panel switches for this 
function, so everything must be done under 
the control of a suitable program (including 
the loading of that program itself). There- 
fore, the WIO instruction requires special 
attention. When executed, WIO N brings 
the computer to a halt with the contents 
of location N displayed in the LED display. 
At this point, the user will enter data into a 



switch register. When the continue button 
is pressed, the data will be written into 
memory location N, thus destroying the 
data just displayed. In effect, the instruc- 
tion combines the wait, input and output 
instructions of the conventional computer. 
A particularly useful application of this 
instruction occurs when the instruction at 
location N is a WIO N+1 instruction. At 
that point the data entered by the user 
becomes the next instruction to be 
executed! 

The most important program for this 
computer is the bootstrap program. Other 
programs are left to the reader to devise. 
The bootstrap program, which provides the 
simplest practical way to load data into the 
computer, is loaded as follows. When the 
reset button is pressed, the computer will 
wait to accept data into location 0. The 
data will be stored, then executed when the 
continue button is pressed. Needless to say, 
the data loaded must be chosen carefully if 
the user is to be able to keep control of the 
computer. The data that permits this is" the 
WIO 1 instruction. When this instruction is 
loaded into location and executed, the 
computer will halt, ready to accept data into 
location 1. When the continue button is 
again pressed, the new data is stored. The 
computer resumes execution with the next 
instruction in memory, namely, the in- 
struction just entered into location 1. Again, 
that instruction must be carefully chosen: 
a WIO 2 is a good choice. The computer 
will again halt, at which time a JGE should 
be entered. After JGE is loaded into 
location 2 and executed, we will have com- 
pleted entering the bootstrap program. The 
JGE will unconditionally jump to the start 
of the bootstrap program (location 0) 
because the accumulator is cleared at restart 
time. 

To use the bootstrap program, enter pairs 
of bytes as follows: a 6 bit address followed 
by eight bits of data to be placed at that 
address. For example, if, in response to the 
first two halts in the bootstrap program, we 
enter an octal 003 followed by an octal 010, 
then the value 10 will be placed in location 
3. In this case, the bootstrap program 
returns to location zero, where it is ready to 
accept another pair of bytes. Once a 
program is loaded, we can execute it by 
entering the appropriate JGE instruction in 
response to the next halt instead of the 
address data pairs. 

Hardware for the Computational Unit 

The computer is shown in block diagram 
form in figure 1. The control unit, to be 
discussed later, interprets the instruction 



82 



BYTE November 1977 



Figure 1 : Block diagram of 
the author's computer, 
which is organized around 
an 8 bit bidirectional bus. 



i 



o 



CONTROL 

STORE 

ADDRESS 



16 BIT BY 32 WORD 
CONTROL STORE 



U 



CONTROL 

UNIT 



i r 



CONTROL 
FEEDBACK 



CONTROL 
COMMANDS 



L , 



IX 



AWT H MET I C 
LOGIC UNIT (ALU) 



TS 



SWITCHES J L *P 

— "I— I <~> 



C 



LA 



ACCUMULATOR 



<~> 



^> 



ALU-BUFFER 



PROGRAM, 
COUNTER 



<^> 



7~S 

LA 



BUS 




set and generates the control signals which 
tell the computational unit how to execute 
instructions. This is a true microprogrammed 
computer with a 32 word by 16 bit control 
store. (For control store contents see table 
2.) The system is organized around an 8 
bjt bidirectional bus. Because of this, each 
module that uses the bus may be built as an 
independent unit without regard to how the 
other modules work, an obvious advantage. 

When two modules need to exchange 
data, one will put the data on the bus while 
the other will read it from the bus. The 
arrows in figure 1 show the directions in 
which such data transfers can be made. The 
only restriction is that no two modules are 
permitted to put data on the bus at the same 
time. The use of the bus system allowed me 
to build the entire computational unit 
before giving detailed thought to how the 
control unjt would be implemented (the 
algorithm for successful computer design 
being "divide and conquer"). 

The arithmetic logic unit buffer register 
deserves comment. During an ADD opera- 



tion, data from memory is placed on the bus. 
The arithmetic logic unit reads the data from 
the bus arid adds it to the accumulator. The 
output of the arithmetic logic unit must 
eventually find its way back to the 
accumulator. This is done by putting the 
data on the bus, an action permitted only 
after the memory is no longer using the bus. 
The arithmetic logic unit buffer is provided 
to give a temporary holding place for the 
sum until the memory can release the bus. 

Note that there is no instruction register 
or memory data register. This represents a 
departure from conventional computer 
design made possible by the simplicity of the 
instruction set. The conventional memory 
address register and program counter are 
present, however, and serve their usual 
purpose. 

For even this simple computer, there are 
some 30-odd signals between the control 
and computational units. Therefore, I found 
it essential to establish a system for naming 
the signals. Names are best chosen to suggest 
what the signal does as well as the voltage 



BYTE November 1977 



83 



MEM-ENABL-L 



n> 



i 



i 



BUS 5 | ^>- 
BUS 4 | ^>- 

BUS 



3 ^> 

bus 2 r~^ 

BUS I | ^>- 

bus o r^>- 

MAR-CLR-L r^>- 
MAR-CLK |^>- 



VRITE-MEM-L | ^>- 



^ 



4D 



ICI 
74174 



5D 

6D 

3D 

2D 

ID 

CLR 

CLK 



4Q 
50 
60 
30 
20 
I Q 



2C 



1C2 
74155 



2G 



2Y2 
2YI 
2Y0 



fdC'S 5 THRU 10) 



J ^>V7489'S SIMILARLY WIRED 



■o 



IC3 



SEL 

A 

B 

C 

D 

WRITE 



INI 
OUTI 

IN2 
0UT2 

IN3 
OUT 3 

IN 4 
OUT 4 



IC4 
7489 



A 

SEL 

WRITE 



IN I 
OUT I 
IN2 

OUT 2 
IN3 

0UT3 
IN4 

OUT 4 



5VDC 

£ PULLUP RESISTOR 

(TYPICAL FOR 8) 
S2.2K 

i 



T* 



-T~^>BUS 7 
-P^>BUS 6 
-[~^>BUS 5 
-|~~^>BUS 4 



-f^>BUS 3 
~P^>BUS 2 
-|~^>BUS I 
-f^>BUS 



Figure 2: The memory 
address register and the 
memory. Data is addressed 
by six bits of the 74174 
memory address register 
and stored in the 7489 
memories, each of which 
has 16 4 bit registers. A 
total of eight 7489s are 
required to make up the 
64 byte memory. 



required to achieve the effect. For example, 
AC-CLR-L is a signal that, when brought 
low, clears the accumulator. Conversely, 
when PC-INCR-H is brought high, the 
program counter is incremented. The eight 
bus lines are named BUSO thru BUS7 (in 
order of arithmetic significance). The master 
clock is named MCLK; its complement is 
called CCLK. 

The memory and memory address register 
are shown in figure 2. I chose to base my 
system around the 7489 64 bit memory 
integrated circuit largely because I happened 
to have them. In a redesign, a 21 01 -based 
memory might be a slightly better choice, 
but the present design does have the advan- 
tage of showing how multiple chip memories 
are controlled. Each 7489 contains sixteen 
4 bit registers; eight 7489s are required for a 
64 byte memory. Data is addressed by a 6 
bit memory address register (a 74174). 

The memory address register is loaded 
with data on the bus by MAR-CLK. Alter- 
natively, it can be cleared by MAR-CLR-L 
(eg: when the reset button is pressed). The 
two high bits of the memory address register 
are decoded together with MEM-ENABL-L 
by a 74155 decoder. If MEM-ENABL-L is 
low, the high two bits select one of four 
pairs of 7489s, and the low four bits select 
one of the 16 registers in the selected pair. 
(If MEM-ENABL-L is high, the memory is 
disabled.) In this way, a byte of memory is 
addressed. Now, if WRITE-MEM-L is low, 



that byte will be written using data from the 
bus. But when WRITE-MEM-L is high, the 
complement of the data at the addressed 
byte will be placed on the bus. The fact that 
the 7489 complements data stored in it is 
used to advantage by the STN instruction, as 
we will see later. 

The accumulator (AC), arithmetic logic 
unit, and arithmetic logic unit buffer are 
shown in figure 3. The accumulator is con- 
structed from a pair of 74175 integrated 
circuits. It is cleared by AC-CLR-L (eg: at 
restart time), and it is loaded by AC-CLK. 
The sign bit of the accumulator is sent (as 
AC-GE-L) to the control hardware, where it 
is used for the JGE instruction. The arith- 
metic logic unit, in the form of a pair of 
74181s, is used in two ways. When 
executing an ADD instruction, ALU-ADD-L 
will be brought low, so that the arithmetic 
logic unit computes AC plus memory. This 
sum is then latched into the arithmetic logic 
unit buffer (a pair of 74173s). Once memory 
is no longer using the bus, BUS-BUF-L can 
be brought low to place the sum on the bus. 
The sum can then be latched back into the 
accumulator to complete the add cycle. 
Alternatively, to execute the STN instruc- 
tion, ALU-ADD-L will be brought high. Now 
the 74181s will compute "accumulator 
minus one," which is latched into the buffer 
and eventually written into memory. The 
convenience of a complementing memory 
can now be appreciated, since in two's 



84 



BYTE NovL-mher 1977 



AC-GEL-L 



BUS 7 



O 



BUS 6 | ^>- 
BUS 5 | ^- 
BUS 4 | ^- 



AC-CLR-L | ^> 
AC-CLK | ^> 



ICI I 

74175 

2D 2Q 



3D 
4D 



3Q 
40 

10 



CLR 
CLK 



O 



ALU-ADD-L 



BUS 3 | ^>- 



BUS 2 | ^>- 
BUS I | ^>- 
BUS 0| ]>- 



I C 12 

74175 



2D 


20 


3D 


30 


4D 


40 


ID 


10 



complement arithmetic the complement of 
AC-1 is -AC. (With a 21 01 -based memory, 
the inversion would have to be done with 
extra hardware.) 

The last part of the computational unit, 
shown in figure 4, consists of a program 
counter, LED display, and switch register. 
The program counter consists of two 
74LS161 counters and two three state 
buffers. (The 74161 is not an acceptable 
substitute for the 74LS161 because of 
differences in the way their clocks behave, 
a fact I learned the hard way. The program 
counter is cleared by PC-CLR-L It can be 
loaded (incremented) on the next clock 
transition after PC-LOAD-L (PC-INCR-H) 
becomes low (high). The output of the 
program counter is enabled onto the bus by 
PC-BUS-L 

The LEDs are driven by ordinary 
inverters. The inverters insure that the LEDs 
are lighted for the high bus lines rather than 
the low ones. The switch register (a DIP 
switch) is wired so that a closed switch 
drives the associated bus line low. This is 
because the memory complements data. The 
switch outputs are enabled onto the bus by a 
pair of 74125 three state buffers under the 
control of BUS-SWl-L. 



BUS BUS BUS BUS 



WW 



18 20 22 I 



B3 B2 Bl BO 

ICI3 
m. 74I8I 



SI 
S2 



F3 

F2 
Fl 
FO 



+ 5VDC 



H 



^7 



n> 



BUF-LOAD-L 



23 



+-5VDC 

t_l|c N 



ICI4 

74I8I 



A3 
A2 
Al 
AO 



CN+4 

SO 
S3 
M 
F3 
F2 
Fl 
FO 



B3 B2 Bl BO 



18 20 22 I 






BUS-BUF-L 



•5V 



I./77 



— 6MA- 

BUS BUS BUS BUS 
3 2 I 



ICI5 
74I73 



4D 
3D 
2D 
ID 

CLK 
N 

G2 
Gl 



40 
30 
20 
IQ 

CLR 

M 



~\ ^>BUS 7 
-\ ^>BUS 6 
-P^>BUS 5 
-Q^>BUS4 



ft? 



ICI6 
74I73 



G2 
Gl 
N 
CLK 

4D 
3D 
2D 
I D 



CLR 

M 



40 
3Q 
20 
I Q 



m 



-\ ^>BUS 3 

-\ ^>BUS 2 
-f^>BUS I 
-T^>BUS O 



Hardware for the Control Unit 

The control unit, shown in figure 5, is 
responsible for providing the various signals 
in the proper sequence to drive the com- 
putational unit. To simplify the design, a 
microprogrammed architecture was chosen. 
In this design, the control logic is held in a 
pair of 74288 programmable read only 
memories in the form of a 1 2 word (1 6 bits 
per word) microprogram. When one or 
another word is selected from the program- 
mable read only memory, the individual bits 
of the selected word are delivered more or 
less directly to the computational unit as 
individual signals. For example, the 
PC-INCR-H bit of the microprogram directly 
drives the PC-INCR-H line to the program 
counter. Similarly, the BUF-LOAD-L bit 
directly drives the BUF-LOAD-L line to the 
arithmetic logic unit buffer. 

Several other lines can be readily 
identified that are directly driven by the pro- 
grammable read only memory. From this it 
is clear that the problem of designing a 
control unit reduces to deciding which 



Figure 3: The accumu- 
lator, arithmetic logic unit 
and arithmetic logic unit 
buffer. The accumulator 
is made up of two 
74175 quad D flip flops, 
while the arithmetic logic 
unit consists of two 74181 
arithmetic units. Two 
74173 integrated circuits 
form the arithmetic logic 
unit buffer. 



BYTE November 1977 



85 



+ 5VDC 



Figure 4: Program counter circuitry. 



BUS 5 | ^>- 
BUS 4 | ^>- 



mclk| ^>- 
pc-clr-l| ^>- 

PC-LOAD-L | ^>- 



BUS 3 | ^>- 

BUS 2 | ^- 
BUS I | ^>- 

BUS | ^>- 

PC-INCR-H r^^- 



IC 17 
74LSI6I 



CLK 

CLR 

LOAD 
T 



QB 
QA 



»-5VDC 



LOAD 

CLR 

CLK 



CARRY 



iJ 



I CI 8 

74LSI6I 



QD 
QC 
QB 
QA 




BUS-PC-L | ^> <> 



IC20 

4C 74125 

3C 
2C 

1 C 

3A 
2A 
4A 
IA 



3Y 

2Y 
4Y 
IY 



>~470J2 



TYPICAL LED 
(ONE OF 8) 



IC2I OR IC22 
(1/6 7404) 



-| ^>BUS3 

-| ^>BUS 2 

-| ^>BUS I 

n ^>BUS 



signals are to be high or low at what time, 
programming a programmable read only 
memory to contain this information, and 
devising a way to select the proper word 
from the programmable read only memory 
at the proper time so that the appropriate 
signals can be generated. 

Occasionally, microprogram bits do not 
drive signal lines directly but must first 
undergo some transformation. For example, 
in figure 5 we see that the AC-LOAD-L bit 
of the microprogram is gated with CCLK to 
create the clock that loads the accumulator. 
(It would not be permissible to drive the 
accumulator directly from AC-LOAD-L, 
because the signal has to be delayed by a 
half clock cycle.) Similarly, IV|AR-CLK is 
derived by gating MAR-LOAD-L together 
with CCLK, and PC-LOAD-L is created by 
gating together AC-TEST-L and AC-GE-L, 
so that the program counter is loaded only 
when the microprogram allows it and the 
accumulator is not negative. 

The BUSDATO and BUSDAT1 lines are 
another case in which a transformation is 
required. In this case the two lines are 



decoded by a 74155 decoder to select one of 
four possible sources of data for the bus, 
namely, the switch register, program 
counter, ALU-BUFFER and memory. These 
are selected by BUSDAT1, BUSDATO values 
of (L, L), (L, H), (H, L) and (H, H), respec- 
tively. This arrangement saves bits in the 
microprogram as well as insuring that only 
one device can put data on the bus at any 
one time. Note that the open collector 
memory used is logically connected to the 
bus by enabling an appropriate memory 
chip. (The memory chips must also be 
enabled before writing memory.) 

In order for the microprogram to deliver 
its control signals to the computational unit 
in the appropriate order, some means must 
be provided for sequencing thru the words in 
the programmable read only memory. In this 
computer, we have allocated six bits (BASEO 
thru BASE4, and OPJMP-H) to accomplish 
this. First, assume that OPJMP-H is low. 
"BASE" then determines a microprogram 
address (the base address) which is fed for- 
ward directly to the 74174 microprogram 
address register. When CCLK goes high, the 



86 



BYTE November 1977 






■¥"'* 



#' * 



♦ I* 



* i 



Y, 



V* 



-X 




Talk to your computer for $ 299 
with SpeechLaB. 



Use SpeechLab to directly 
control any S-100 Bus Com- 
puter such as Sol, IMSAI, Altair 
and so on. SpeechLab can 
teach you almost as much as the 
Bell Laboratories know about 
voice recognition, voice control 
and computer input. 

SpeechLab digitizes and 
extracts data from speech wave 
form and applies pattern 
matching techniques to recog- 
nize the vocal input. Response 
is real time. The system 
features 64 bytes of storage per 
spoken word and can handle 
up to a 64 word vocabulary. And 
recognition after very little 
practice is 95 percent or better. 

$299* assembled and tested 

When we talk price every- 
body's skeptical. And why 
not? We give you a complete 
hardware/software system, 
a 275 page laboratory manual, 
95 page hardware manual 
and high fidelity microphone. 

The lab manual includes 
35 graded experiments with 
over 100 tables and graphs. In 
fact, it's the only introductory 
volume on speech recognition 
currently available. 

Software includes 
SpeechBasic Basic program- 
ming language in source and 

*Available in kit form for slightly less. 



paper tape, assembly language 
speech recognition program 
in source and paper tape, hard- 
ware self -test program in 
source and paper tape. 
SpeechBasic plot, correlation, 
recognition and advanced 
recognition programs are 
offered in source. 

Hard to believe, you bet. 
True? A Los Angeles customer 
says, "I love your kit!!! I 
have 40 boards and 2 IMS AI's 
and your kit was the best 
documented of them all. I love 
the way you integrated the 
software and hardware to- 
gether. I love your lab manual'.' 

We loved those comments. 
They tell the story better than 
we ever could. The LA cus- 
tomer did ask who the founders 
of the firm were so he could 
relate better. They're a couple of 



gifted young engineers who 
got tired of the big firm, big tech- 
nology trip and decided to take 
a chance with a better idea. 

You can't get better quality 
You can't get more performance 

Sure, more complex, 
higher price equipment is avail- 
able for about 50 times more 
money. It won't do much more 
than you can do with Speech- 
Lab. And the quality and 
state-of-the-art engineering 
can't be any better. We use 
CMOS design for low power 
and ultimate reliability. 

See SpeechLab at your nearby 
computer store 

Selected computer stores 
have SpeechLab on display. 
Visit your nearest. If he doesn't 
have it, ask him to contact us 
or simply write us directly. 



Heuristics, Inc. □ Master Charge 

Box B, 900 N. San Antonio Rd. □ BankAmericard (Visa) 

Los Altos, CA 94022, Phone (415) 948-2542 Acct. No 

□ Send me SpeechLab. I enclose $299. Date Card Expires 

California residents add sales tax. Interbank No 

□ Send me more information. ( Master Charge only ) 



Name . 
Street . 
City 



State. 



Zip. 



In Canada: Trintronics Ltd. 
186 Queen St. W. 
Toronto, Canada M5V 1Z1 
Telex 06-22634 



Heuristics 

INC. 



Circle 65 on inquiry card. 



BYTE November 1977 



87 



Figure 5: The microprogrammed control unit of this computer. 




C>MCLK 



Oac-clr-l 

C>PC-CLR-L 



C> BUS-SWI-L 
C> BUS-PC-L 
(Z> BUS-BUF-L 

{3>MEM-ENABL-L 



AC-CLK 



MAR-CLK 



PC-LOAD-L 



7 4 32 



88 BYTE November 1977 






SOFTWARE = TSC 



TEXT EDITING SYSTEM: This 6800 editor is 
unlike any other micro editor. As well as the usual 
features, it also includes; content oriented commands, 
local and global commands, block move and copy, 
append and overlay features, as well as very com* 
prehensive string manipulators. 5K 

SL68-24 MANUAL & SOGRCE LISTING $23.50 
CT68-7 OPTIONAL CASSETTE $6.95 

PT68-6 OPTIONAL PAPER TAPE $8.00 



PT68-7 



TEXT PROCESSING SYSTEM: A great 
companion to the TSC editor. The processor will 
allow convenient paragraphing, right hand justifica- 
tion, paging, titling, and general text formating. 4K 

SL68-29 MANUAL & SOURCE LISTING $32.00 
CT68-9 OPTIONAL CASSETTE $6.95 

TSC 6800 ARITHMETIC ROUTINES 

SOAP: A very fast, 4 byte binary, floating point package. Includes 

integer and conversion routines as well. 

SL68-25 $10.00 

FLOATING POINT PACKAGE: A BCD math package with 9 
digits of precision. 

SL68-4 $6.50 

SCIENTIFIC FGNCTIONS: Requires SL68-4 and provides all 
scientific functions including SIN, TAN, LOG, LN, HYPSIN, and others. 
SL68-20 $10.00 



DIAGNOSTICS FOR 6800: 

No system is complete without a set of 

diagnostic programs. Includes 5 memory 

tests, serial I/O tests, parallel I/O tests, plus 

others. 

SL68-23 SOURCE LISTING $ 1 0.00 

MICRO BASIC PLCS: The best 
small BASIC available for 6800. In just 3V* 
K, a complete interpreter including GOSCIB, 
IF THEN, FOR NEXT, DIM, ON GOTO and 
GOSUB, READ DATA, plus the functions 
RND, SPC, TAB, EXP, and ABS. Five full 
digit integer math is supported. 

SL68-19 MANUAL & SOURCE 

LISTING $15.95 

CT68-5 OPTIONAL 

CASSETTE $6.95 

PT68-5 OPTIONAL PAPER 

TAPE $6.00 



TSC MNEMONIC ASSEMBLER: Another 6800 resident assem- 
bler? Yes! But this one is many times faster than others due to a very 
efficient symbol handler. All the standard motorola options included as well 
as psuedo ops. It is very modular making it quite easy to adapt to most 
systems. 5K 

SL68-26 MANUAL & SOURCE LISTING $23.50 

CT68-8 OPTIONAL CASSETTE $6.95 

PT68-9 OPTIONAL PAPER TAPE $8.00 

DISASSEMBLER FOR 6800: Now one that is reasonably priced 
and includes the source listing! 

SL68-27 MANUAL & SOURCE LISTING $9.00 

OPTIONAL PAPER TAPE $4.00 



SPACE VOYAGE: A full blown 
Star Trek program written in 8080 and 
6800 assembler language. Runs 
much faster than similar BASIC ver- 
sions and requires about 1/5 of the 
memory! Each game is different as 
you try to save the federation using 
your phasers, photon torpedoes, and 
shields. Searching out the menacing 
Klingons is accomplished using the 
short and long range scanners as well 
as moving about by firing the warp 
engines. Beware of sudden attacks, 
space storms, supernovas, and other 
unexpected events. This game is very 
addicting! 4K 

SL68-5 6800 SOURCE 

LISTING $12.00 

CT68-1 OPTIONAL 

CASSETTE $6.95 

SL80-9 8080 SOURCE 

LISTING $12.00 

PT80-1 OPTIONAL PAPER 

TAPE $7.00 



6800 MGLTI-GSER SYSTEM! 

Now you can have 4 simultaneous users, all running BASIC, and in- 
dependently! Give your micro the power of a large mainframe. Applica 
tions include: a great educational tool, small business applications such as 
multi station inventory system, industrial computer power expanding the 
personal computer system, . . . etc. The system is presently available only 
for the SWTPC 6800 computer system and will support cassettes, floppy 
discs, and a printer. For complete details of the multi-user system, write for 
our 4 page brochure. 
MUB-68 $129.95 



ALL SOFTWARE CONTAINS: Complete commented source listing, users manual with 

complete instructions, printed hex dump, sorted symbol table, and sample output 

PROGRAM-OF-THE-MONTH CLCJB.™ $2.00 for a one year membership. No obligations! 

HOW TO ORDER: All orders should include check or money order. Add3% for postage and $ 1 . 00 for 
handling for orders under $10.00. Send 25C for complete TSC software catalog. 

TECHNICAL SYSTEMS CONSULTANTS, INC. 

Box 2574 W. Lafayette, IN. 47906 



Circle 146 on inquiry card. 









BYTE November 1977 89 



Figure 6: A finite state 
graph representation of 
the microcode shown in 
table 2. The five digit 
binary numbers shown in 
each state are the control 
memory addresses when 
the computer is in that 
state. Note that a 4 way 
branch occurs at state 
00010 (left side of the 
graph), indicating the four 
different op codes imple- 
mented for this computer. 
The resulting initial states 
for the four op codes are 
shown in contrasting 
color. 




OP CODE =2 
(STN N) 



base address becomes the new microprogram 
address, thus defining the next micro- 
program word to supply control signals. 
Continued clocking of the 741 74 thus causes 
the microprogram to sequence thru what- 
ever steps it has chosen for itself, and at the 
same time, to deliver control signals to the 
computational unit. 

To this next address scheme we must add 
some means of varying the microprogram 
flow based on the op codes encountered. 
This is the reason for having the OPJMP-H 
bit. When it is high, the base address is no 
longer the next address. The latter is formed 
by performing a logical OR of the base 
address with the op code (assuming that 
the bus holds the instruction to be 
executed). Ordinarily OPJMP-H will be set 



high in a microinstruction that has the two 
lowest bits in BASE set to zero. In that case, 
each op code will produce a different next 
address. 

To see the next address scheme in action, 
consider table 2 and figure 6 in which the 
microcode for the computer is shown. If we 
start at microcode address 00000, which is 
the case when the restart button is pressed, 
then we find that OPJMP-H is low, so the 
next address will be at BASE=01000. Sub- 
sequent addresses are 01001, 00001, and 
finally 00010. At this point, OPJMP-H goes 
high. Let us assume for sake of example that 
an ADD instruction has been placed on the 
bus (op code = 01). Then the next address 
will be 00100 v 01 = 00101. The subsequent 
addresses are then 01010, 01011, 00001, 



90 



BYTE November 1977 





m 

CO 

< 


00 

LU 

to 

< 

CQ 


to 
< 


(Xi 

to 

< 


o 

LU 
CO 

< 


I 

a. 

s- 

-5 
QL 

o 


-I 

6 

Q 

< 

6 

< 


_l 

< 

5 


I 
oe 

u 
z 

6 

Q. 


Q 

< 
o 
■J 

LL 

D 
CQ 


_] 

H 
CO 
LU 
H 

u 

< 


< 
Q 

CO 

D 


o 

< 
Q 

CO 

D 

CQ 


_I 
Q 
< 
O 

-j 

X 

< 

2 


_J 
Q 

< 

o 
_J 

6 
< 


LU 
LU 

H 


Control Source 
Address (Binary) 


Programmable Read 
Only Memory A 


Programmable Read 
Only Memory B 



1 
10 
10 
10 1 
110 
111 
10 
10 1 
10 10 
10 11 
110 
110 1 

















o 



o. 


1 




1 
1 
1 



1 



1 



1 






1 




1 







1 





1 


1 





1 












1 
1 
1 
1 
1 
1 
1 





1 




o 











* 

* 
* 



* 

1 


1 
1 
1 
1 
1 
1 
1 



1 
1 

1 
1 
1 




1 












1 
1 
1 
1 
1 
1 
1 
1 
1 


1 



1 


1 
1 
1 
1 
1 
1 



1 
1 
1 
1 
1 
1 


* 



1 

1 
1 
1 
1 

1 



1 
1 

* 

1 



1 


* 




1 



1 





1 
1 
1 
1 
1 
1 
1 


1 
1 
1 
1 
1 
1 
1 
1 
1 
1 



1 
1 







~jJEnables or disables control store 
(address modification. 

^Low order address of next program step 

((modified by instruction code of user 
program through IC33 and IC34). 

_ j H i g h order address of next program step. 



Note: "*" Indicates a "don't care" bit. 



Table 2: Standard micro- 
code to implement the 
instruction set listed in 
table 7. Six bits of each 
word (BASE thru BASE 
4 and OPJMP-H) have 
been reserved to tell the 
computer where the next 
word in the program se- 
quence is located. For 
instance, upon startup, the 
computer is at control 
source address 00000. 
BASE thru BASE 4 
(BASE 4 is the most 
significant bit) have the 
values 01 000, indicating 
that the computer is to go 
next to control source 
address 01000, and so on. 
When control source 
address 00010 is reached, 
OPJMP-H is set equal to 1. 
At this point one of the 
four possible instructions 
will be executed de- 
pending on the values of 
the op code on bus lines 6 
and 7 (see figures 5 
and 6). 



and so on. Note that address 00001 marks 
the beginning of an infinite microprogram 
loop that fetches, interprets and executes 
the instruction set. 

One more microprogram bit (WAIT-L) 
remains to be described. It provides a way 
to halt our computer at the WIO instruction. 
As long as this bit remains high, the rather 
involved network of NAND gates conspires 
to pass clock pulses so that the micro- 
program executes freely. But when the 
WAIT-L bit goes low, a flip flop changes 
state and permits the clock synchronization 
network to turn off the clock at the end of 
the current clock cycle. This stops the 
computer, but it can still be single stepped 
by hand so that we can study the micro- 
program. Clock pulses will remain disabled 
until the continue button is pressed; then 
the flip flop reverts to its original state, 
enabling the clock synchronization network 
to pass pulses at the start of the next clock 
cycle. This restarts the microprogram, and 
hence the computer. The edge trigger on the 



continue button prevents the computer 
from continuing right thru several WIO in- 
structions. (A properly debounced continue 
button is essential here for the same reason.) 

The restart button shown in figure 5 
allows us to prime the computer or to 
abort a malfunctioning program. Pressing it 
causes the accumulator, program counter, 
memory address register and microprogram 
address register to be cleared and paves the 
way for the bootstrap program to be re- 
loaded. 

In table 2 I have listed the version of 
microcode that implements the instruction 
set laid out earlier. The various fields are 
identified at the top of the table, with 
additional explanatory notes at the bottom. 
Figure 6 uses the information in table 2 to 
show a complete state diagram of the in- 
struction set. Each state (a colored circle) is 
one address in the control memory 
represented by one line in table 2. 

One point worth keeping in mind con- 
cerns timing. At the beginning of each cycle, 






BYTE November 1977 



91 



Table 3: Power wiring table for the circuits in figures 2 thru 5. 



Number 


Type 


+5 VDC 


Gnd 


IC1 


74174 


16 


8 


IC2 


74155 


16 


8 


IC3 


7489 


16 


8 


IC4 


7489 


16 


8 


IC5 


7489 


16 


8 


IC6 


7489 


16 


8 


IC7 


7489 


16 


8 


IC8 


7489 


16 


8 


IC9 


7489 


16 


8 


IC10 


7489 


16 


8 


IC11 


74175 


16 


8 


IC12 


74175 


16 


8 


IC13 


74181 


24 


12 


IC14 


74181 


24 


12 


IC15 


74173 


16 


8 


IC16 


74173 


16 


8 


IC17 


74LS161 


16 


8 


IC18 


74LS161 


16 


8 


IC19 


74125 


14 


7 


IC20 


74125 


14 


7 


IC21 


7404 


14 


7 


IC22 


7404 


14 


7 


IC23 


74125 


14 


7 


IC24 


74125 


14 


7 


IC25 


74288 


16 


8 


IC26 


74288 


16 


8 


IC27 


74174 


16 


8 


IC28 


74155 


16 


8 


IC29 


555 


8 


1 


IC30 


7400 


14 


7 


IC31 


7400 


14 


7 


IC32 


7402 


14 


7 


IC33 


7432 


14 


7 


IC34 


7408 


14 


7 


IC35 


7410 


14 


7 



Digital Micro Systems 

PRESENTS: 

a 16K STATIC RAM "5* 

FORTHES-100BUS 




Uses the new Intel 2114 4K Static RAM (which will also be built by Motorola, Signetics, 
Fairchild, National, T.I., Synertek, NEC, Intersil, and Fujitsu, etc.). Features complete 
static operation (No refresh or clocked chip select). softwareprotect, paging, individually 
addressable 4K blocks, completely buffered address and data lines, fully socketed. 
Available with8K or 16K of memory. 
Prices: 8K kit- $295; 16K kit • S525; 8K expansion kit • $250 16K assembled and tested- $595 



S-100 BUS TERMINATING CARD s 25k,t 

Absorbs noise, overshoot, ringing, reflection. Plated thru holes, gold plated fingers. 



EXTENDER CARD 



FOR EASY TROUBLESHOOTING 



s 16k 



With jumpers in power supply lines for current measurement. Low profile so card can 
remain in the machine with the coveron. With edge connector, gold fingers. 



PLASTIC KEYBOARD ENCLOSURE 



Blank molded ABS plastic enclosure for use with keyboard, controls, modem, etc. Size - 
13% x11V2x2V2. PRICES: Blank enclosure- S20. With cutout for keyboard available from 
Radio Shack, etc.- $27. 



Prices shown include U.S. shipping. Cashiers check or M.O. prefered. Personal check may 
delay shipping 3 weeks. Add S3 for C.O.D; Purchase Orders add 4% - net 30. Utah 
residents add 4.75%. 

DiGfTa Micro Systems box 1212, orem,utah84057 

Toll free 24 hour Order Deik (BOO) 453-1444; in Uloh coll (801) 224-2102 



as CCLK goes high, a new microinstruction 
will appear at the output of the program- 
mable read only memories. This might cause 
data to be placed on the bus, or a sum to be 
formed by the arithmetic logic unit, etc. In 
any case, by the middle of the clock cycle, 
when CCLK goes low, it is assumed that all 
such data has settled. Therefore it will be 
safe to latch the data set up during the first 
half of the cycle into some appropriate 
device. By the end of the cycle, the latched 
data will also be stable, so that a new micro- 
instruction can be safely executed. In this 
way we have avoided timing problems with- 
out going to a two phase clock. I estimate 
that the cycle time of the computer could 
approach 300 ns, although I have not pushed 
the computer to its limit. 

Summing Up 

The design of this simple computer will 
certainly not appeal to everybody. Expand- 
ing the design to a 12 bit word length would 
permit much more flexibility in the instruc- 
tion set, perhaps enough to even make the 
computer practical. For example, indirect 
addressing might be thrown in, or a sub- 
routine calling mechanism. The WIO in- 
struction could be broken down into 
separate wait, input and output instructions, 
allowing the computer to do things like flash 
its lights. (The present design comes to a 
grinding halt with each flash.) A more 
elaborate bus structure, and some sort of 
flexible IO facility are other obvious 
improvements that one could try. Alter- 
natively, a 12 bit word length could be used 
to increase the address space. Each of these 
changes would add to the cost and com- 
plexity of the design, but could lead to a 
more useful computer. 

Although the requirements of the boot- 
strap loader do impose some severe 
constraints on the instruction sets that can 
be implemented with this architecture, you 
will probably want to try a few variations. It 
might be possible to implement two instruc- 
tion sets: one defined by the lower 16 
words of the programmable read only 
memory for loading programs, and the other 
in the upper 16 words for experimentation. 
A switch would be used to select between 
the instruction sets. 

Once you have mastered the ideas behind 
the design of this computer, you'll be well 
on your way to building a serious computer. 
All you need to do is sit down and write out 
an instruction set that best fits your personal 
needs and then implement it in hardware. 
Bit slice microprocessors such as the 
AM2900 series offer a very attractive way of 
doing this." 



92 



BYTE November 1977 



Circle 46 on inquiry card. 



SEE DEALER LIST ON PAGE 165. 



a 




corporation 



i 



i 



I 



J 



• 



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 three configurations: 32K, 48K or 64K 
bytes of memory all on ONE board. The board is completely 
assembled, checked out and burned in for at least 50 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 pro- 
tection in 
16K blocks; and 

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

Delivery of the RM64 is 1 5 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. These include a total floppy disk system 
based around File I/O board and a multiprocessor operating system. 
The other product, which interfaces with the RM64 memory board 
to create a megabyte or more of memory and adds full DMA 
capability to the File I/O board, is a Board Select/DMA 
board. Both of these products are S-100 compatible. 

Circle 58 on inquiry card. 
Contact your local computer store — - - 

or order directly from EXTENSYS 



Please Place my order for the following: 
OTY DESCRIPTION 

RM64-32K byte board @ $ 895 ea. 

RM64-48K byte board @ $1 1 95 ea. 

. RM64-64K byte board @ $1495ea. 



^ extensys 

10UNT ^^B^^corc 



B-5 | 

I 



Subtotal . 

California residents add &A% tax 

TOTAL 

Shipping and handling prepaid in continental United States 

NAME 



fcorporation 

592 Weddell Drive 
Sunnyvale, California 94086 
(408)734-1525 

Please check method of payment: 

Check Enclosed 

__ BankAmericard No 

expiration date 

Master Charge No. 

expiration date , 



.SIGNATURE: 



PHONE<INCLUDEAREACODE}_ 









A 6502 Personal System Design: 



David Brader 

POB 483 

Electric City WA 99123 



Documenting Kompuutar — A Guide to the Details 

The design information included with this article, together with the excellent documentation 
provided by MOS Technology on the 6502 design, should be complete enough to enable the 
advanced experimenter to build a similar Kompuutar. The details provided here cover a basic 
processor, but do not include a detail design of a programmable memory board which is a 
necessary part of a usable system. David Brader is currently working on an 8 K dynamic mem- 
ory board, with invisible refresh, to be used in Kompuutar. The details of the wiring and con- 
struction of Kompuutar are shown in the several figures, tables and photographs, as well as 
listing 1. As a short guide to these materials here is a detailed table of contents to the article. 



Front Panel Assembly: This is the circuit with various displays and switches, which is mounted 
on the front panel, and talks to the front panel interface module via a multiconductor cable 
from P2 to J 2. 



Photo 1 : User's view of the front panel. 
Figure 1 : Front panel block diagram. 
Figures 1.1 to 1 .8: Show circuit details. 
Photo 2: Rear of the front panel. 
Figure 1 .9: Physical layout drawing of front panel 
(same view as photo 2). 



page 95 
page 104 
pages 106 to 114 
page 100 

page 116 



Front Panel Interface Module: This is the logical interface between the processor's backplane 
bus and the front panel. It is the home of address decoding and the read only memory with 
the front panel service programs. 



Photo 2: Shows the cables from the front panel interface module 

to the front panel assembly fat the left). 
Figures 2.1 to 2.4: Show circuit details. 
Figure 2.5: Shows the physical layout on a Vector #3677-2 

prototyping board. 
Table 4 : Shows the wiring definitions of the J2-P2 cable from 

this board to the front panel assembly . 



page 100 
pages 118 to 124 

page 126 

page 102 



Central Processing Module: This is the heart of the Kompuutar system, a board which contains 
the 6502 processor, and associated buffering and clocking circuitry which defines the back- 
plane bus structure of the system. 

Photo 3: Shows the component side of the central processing 

module, the second card from the left. page 102 

Figure 3.1 : Shows the logic diagram of the processor card. page 127 

Figure 3.2: Shows the physical layout of the processor module 

on a Vector #3662 prototyping card. page 128 

Table 2: Details the backplane pin definitions (PI of each card) 

for the bus of Kompuutar. page 98 

TIM Interface Module: This card is provided so that the MOS Technology "Terminal Interface 
Monitor, " or TIM program, can be used with Kompuutar. 



Figure 4.1 : Shows the logic diagram of the TIM Interface Module. 
Figure 4.2: Shows the physical layout of the TIM module on a 
Vector #3662 card. 

Miscellaneous Items: 

Table 5: Shows a master list of all integrated circuits, where they 

appear by figure, wiring, map locations for the physical layouts 

shown, and power wiring connections. 
Table 1 : Shows the allocations of memory for Kompuutar, as 

implemented here. 
Listing 1 : Shows the front panel control program which can be 

used to manipulate Kompuutar without any other monitor 

program. 



page 130 
page 132 



page 134 
page 96 



pages 136-137 



94 



BYTE November 1977 



Kompuutar 




#$<|0#&0# 



# 

i 



- ■■ 




Kaveat Kompuutar 

It is with some trepidation that we 
present the details of the Kompuutar 
design. The design is complete and com- 
prehensive, but Murphy is addicted to 
complete and comprehensive designs. 
Thus we'd like readers to be aware that 
there is a nonzero probability that errors 
exist in this magazine representation of 
author David Brader's design. We suggest 
that serious homebrewers of Kompuutar 
treat these pages as a detailed design 
guide, to be used with the standard design 
documentation of the chips involved. But 
as with any road map, do not be afraid to 
question and verify what you see with 
your own knowledge and experience. 

David Brader reports that a local 
friend of his has built a second Kom- 
puutar from the same set of blueprints 
which were the source of the circuit in 
this article. The experiences of the second 
builder were reflected in his corrections 
and changes to the drawings which are 
part of the normal "author proof" cycle 
applied to articles. Based on our own 
experiences with microprocessors, this 
report from David, and a tremendous 
amount of "desk debugging" of the 
article, we believe the information pre- 
sented here is complete and buildable. 
However we highly recommend that 
readers who attempt to duplicate the 
design have sufficient experience with 
digital hardware and logic so that detailed 
understanding of its operation is possible. 
This is not a novice 's project. 



mmmmm 



It all started at WESCON 1975, in San 
Francisco. It was there that I discovered 
what a "hospitality suite" is. In a hotel 
not far from the convention site, MOS 
Technology Inc had set up their WESCON 
hospitality suite. A hospitality suite is a bit 
like Las Vegas: some refreshments, a couple 
of elegantly decorative ladies, flashing 
lights and shiny gizmos, and the age old 
desire to persuade you and your money 
to part company. 

I decided to stop and at least get a 
free drink. A man by the bar said, "Help 
yourself," so, being afraid of a one drink 
limit, I poured a double. As I left the bar 
area, I spotted a friend. We struck up a con- 
versation about common friends and assign- 
ments, which lasted through half my drink 
and all of my clearheadedness. As our 
conversation ended, I noted some blinking 
LEDs and shiny new printed circuit boards. 
These boards were surrounded by several 
professional looking guests, giving the hard- 
ware an illusion of significance. So I went 
over to investigate. 

I listened, wide eyed, to the saga of the 
MCS6502 as I slowly finished my drink. 
After the story ended, everyone seemed 
to be forming a line in a different part 
of the suite. Feeling part of the group 
now, I moved to the line. A little bit later, 
I remember being at the head of the line 
and the last thing I recall was handing two 
20 dollar bills to a very pretty lady. 

That evening, after sobering up, I dis- 
covered what I had done. There on my 
bed, stark naked, was a bright new MOS 
Technology Inc MCS6502 microprocessor 
chip and its manuals. Well, now the only 



Photo 1: The completed 
Kompuutar, viewed to- 
wards its front panel. The 
controls of the front panel 
are chosen with the Data 
Gen era! NO VA 's front 
panel as a mental model. 
In addition to the binary 
data display, there is a 4 
digit hexadecimal address 
display (black rectangle) 
and an 8 bit binary flag 
display. The control panel 
is serviced by a read only 
memory routine. 



BYTE November 1977 



95 



Backplane (P1) 






Pin 


Logic Diagram 




Designation 


Mnemonics 


Description 


A 


+ 5 V 


voltage supply 


B 


IRQ1 


interrupt 1 


C 


AO 


\ 


D 


A2 


) 


E 


A4 


( 


F 


A6 


\ address bus lines 


H 


A8 


/ (even) 


J 


A 10 


| 


K 


A 12 


J 


L 


A 14 


/ 


M 


IRQ2 


interrupt 2 


N 


IRQ3 


interrupt 3 


P 


DO 


) 


R 


D2 


f data bus lines 


S 


D4 


/ (even) 


T 


D6 


J 


U 


SO 


set overflow flag 


V 


PHICLK 


<t>1 clock 


w 


MASRST 


master reset 


X 


R/W 


read and write 


Y 


IRQ4 


interrupt 4 


z 


GND 


ground 



Backplane 

Pin 
Designation 

1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 

15 

16 

17 

18 

19 

20 

21 

22 



Logic Diagram 




Mnemonics 


Description 


GND 


ground 


IRQ5 


interrupt 5 


A 1 


\ 


A3 


| 


A5 


{ 


A 7 


\ address bus lines 


A9 


/ (odd) 


A 11 




A 13 


) 


A 15 


/ 


IRQ6 


interrupt 6 


IRQX 


any interrupt pending 


D 1 


) 


D3 


f data bus lines 


D5 


? (odd) 


D 7 


) 


SYNC 


synchronize 


PH2CLK 


<t>2 clock 


RDY 


ready 


PANRST 


panel reset 


NMI 


nonmaskable interrupt 


+ 5 V 


•voltage supply 



Table 1 •' Kompuutar bus list. This table gives the backplane socket pin identifications, mnemonics used in the logic diagrams, 
and a short description of the line's use. The pin designations are the standard ones printed on the Vector prototyping cards and 
embossed in the typical 44 pin sockets. 



thing to do was to build a computer with 
the chip. After several days reading, I 
realized that building a computer was 
not going to be all that easy. I also realized 
that the initial $36.75 investment was but 
a drop in the proverbial bucket of costs. 

Designing the Kompuutar System 

Since my $36.75 investment was going 
to need considerable financial and design 
support, it was clear that making a project 
out of the computer would require planning. 
The first thing I had to accomplish was a 
specification of the features I wanted in 
my machine. I had had a good deal of 
experience with the Data General NOVA 
1200 minicomputer, which led me to favor 
its functional front panel switch setup. 
With this input, I decided that the new 
machine would have the front panel func- 
tions of master reset, halt, program run, 
single instruction step, memory examine, 
examine the next memory location, deposit, 
desposit to the next memory location, 
load processor register, and enter data or 
address information from switches. I also 
knew that I wanted to be able to display 
the information on the data lines and 
address lines. I decided to use hexadecimal 
LED displays for the address bus infor- 
mation, but not for the data bus. My reason- 
ing was that the address bus is always con- 
sidered to be a numerical value, whereas 
the data bus is sometimes considered to be 
numeric data, but is sometimes viewed 
as a combination of individual bits. (If the 
data bus was showing hexadecimal E6 and 
you wanted to know if bit 5 was on or off, 



you would probably have to think for a 
while to make sure.) Another argument 
in favor of discrete LED indicators for 
each bit is the fact that hexadecimal displays 
are a bit more expensive. 

After reading more about the MCS6502, 
a trait common to the other single chip 
processors revealed itself. The status register, 
accumulator, index register X, index register 
Y and stack pointer register do not come 
out of the chip on their own sets of pins. 
All that information was going to be hidden 
from the operator (me) sitting in front of 
the machine. I knew I would have to design 
digital logic to get that information out of 
the chip and displayed upon some sort of 
front panel. I even decided to go one step 
further and build in the capability to set 
or reset the status flags from the front 
panel. Being able to throw a switch and set 
the carry flag, for example, is a very handy 
capability when debugging a conditional 
branch in some program. 

I decided to use toggle switches for the 
16 data inputs because the state of indi- 
vidual switches could then be tested in 
software and used to control options in a 
program. This complicates the entry of an 
address (which is displayed in hexadecimal) 
but gains an ability to write applications 
programs which can be modified by the state 
of these input switches. 

With these considerations in mind, the 
front panel design was firmed up as a start- 
ing point for the processor. I then started 
to work on the detailed logic design of what 
came to be called Kompuutar in my lexicon. 
After a month's work, I realized that the 



96 



BYTE November 1977 



Up your 
organization, 






D 




* # § 



* * 



I 



■ 1 I w 



:c« 



Bf//// 



The Basic Box (left) and the Peripheral Plate. 



With no-nonsense 
organizers from the Digital Group. 



Not so long ago, the microcomputer domain 
belonged to a special group of creative, inventive 
folks — the inveterate hardware hackers who de- 
lighted in making a thing work and didn't really care 
all that much about how it looked. 

The Digital Group was a part of it. Our original 
microprocessor systems were designed not to 
require any cabinets at all — they simply worked 
well. 

Of course, along the line we couldn't resist making a 
good thing look good too . . . and we added our 
complete line of custom, deluxe cabinets to cover up. 

Well, we haven't forgotten those no-nonsense com- 
puter builders who just want a way to organize their 
systems. So the Digital Group has taken a step back 
to come up with a basic answer: The Organizers — 
the Basic Box and the Peripheral Plate. 

Beautifully simple. No paint. No anodizing. No frills. 
Just exactly what you need. 

The Basic Box houses your CPU, power supplies, fan, 
switches and I/O connectors in one tight little 16" by 
17" package. It's available completely naked — a 
metal box with a card rack so you can add to it from 
your own parts supply; or we'll spiff it up for you 
with optional equipment. 

The Peripheral Plate is a piece of bent metal with 
room for your keyboard, video monitor, two Phi- 



decks or an audio cassette recorder. All at your 
fingertips. For organization. 




Card rackswings out for service. 



Naturally, our basics have down-to-earth prices, too. 
The Peripheral Plate is a mere $19.50 . . . the basic 
Basic Box goes for $45 (a little more depending on 
options). 

Want to up your organization? It's simple. Just call or 
write the Digital Group for details. 



Circle 45 on inquiry card. 



~ colls" 



J 



P.O. Box 6528 • Denver, Colorado 80206 



(303) 777-7133 



BYTE November 1977 97 



front panel logic was going to contain nearly 
220 TTL integrated circuits if I implemented 
it with a conventional logic design. After 
that false start, I thought about a simpli- 
fication made possible by a read only mem- 
ory program, or "firmware" as it is some- 
times called. I could replace most of the 
front panel logic with a program burned 
into a single read only memory integrated 
circuit. With a PROM program and 16 bytes 
of volatile programmable memory, the 
6502 processor itself would operate the 
front panel of the system. The integrated 
circuit count for the front panel including 
the programmable read only memory and 
16 bytes of volatile solid state memory 
was now reduced to just over 50 packages. 

System Design Philosophy 

During the process of designing the 
front panel, I worked out a total system 



Address Range Type of Hardware 

0000to3FFF Volatile programmable 
memory 



4000to6FFF 


Unimplemented 


7000 to 


73FF 


TIM readonly memory 


7400 to 


7FFF 


Unimplemented 


8000 




Scratch pad memory with 
external visibility 


8001 




Scratch pad memory with 
external visibility 


8002 




Scratch pad memory with 
external visibility 


8003 




Scratch pad memory with 
external visibility 


8004 




Scratch pad memory 


8005 




Scratch pad memory with 
external visibility 


8006 




Scratch pad program 
begins here 


8007 to 


8008 


Scratch pad 


8009 to 


800C 


Scratch pad program area 


800D 




Scratch pad memory with 
external visibility 


800E-800F 


Scratch pad 


8010 




Read only data input 


8011 




Read only data input 


8012 




Read only data input 


8013 




Write only display 


8014 




Write only display 


8015 




Write only display 


801 F 




Idle command address 


8020 to 


80FF 


Peripherals 


8100 to EFFF 


Unimplemented 


FOOOtoFDFF 


Programmable read only 






memory allocations for 






systems programs 


FEOOto FFFF 


Read only memory 



Usage of Region 

This is the general programmable memory 
region for user applications programs. 
Locations 0000 to 01 FF are dedicated to 
scratch pad and stack use by the architec- 
ture of the 6502 processor. 

This region is reserved for 12 K of general 
user memory expansion. 

When the TIM monitor interface card is in 
the system, this area is reserved. 

Current accumulator value maintained by 

front panel service program 
Current X register value 

Current Y register value 

Current processor flag values 

Current stack pointer value 



Current address register value, displayed 
through locations 8014 and 801 5 

Current data at memory location in 
address register locations 8007 to 8008 

Front panel request register (see table 3) 
Low order address and data switch register 
High order address switch register 
Flag data latch and binary display 
Low order address display latch 
High order address display latch 
References cause processor to idle 
Unimplemented hardware device addresses 

This area is expected to be used by inter- 
rupt service routines, utility subroutines 
and the like, programmed into read only 
memory parts. 

This region is allocated to the firmware 
which controls the front panel. The 
6502's interrupt vectors are programmed 
into the last portion (see listing 1). 



Table 2: A memory allocation map for Kompuutar. When interfacing both 
peripherals and programming to a single memory address space, it helps to 
make a memory map to keep track of allocations. 



design philosophy which goes like this: 

• There wouid be a central process- 
ing unit and peripherals. The periph- 
erals would be interfaced to the 
processor with a minimum of hard- 
ware by using memory address inter- 
faces wherever possible. 

• The system would be modular. A 
common backplane would be defined. 
Each module would be connected 
to the other modules through this 
backplane. Each socket on the back- 
plane would be wired pin by pin to 
every other socket on the backplane. 

• An address allocation map for the 
system would be defined. This would 
define addresses for hardware (periph- 
erals), firmware (read only memory 
programs) and main programmable 
memory use. 

The front panel design I had already 
created follows the first point of this phi- 
losophy quite well. It has several separate 
peripherals. Some are input devices, some 
are output devices, and some are a com- 
bination of both functions. Each is inter- 
faced as a memory address and operated 
by firmware with a minimum of supporting 
hardware. Details of front panel operation 
will be discussed a little later in this article. 

The physical arrangement of the design 
implements the details of the second point 
in the philosophy. The front panel assembly 
is connected to the top of a Vector proto- 
typing card which contains the program- 
mable read only memory with the front 
panel servicing routines. This card in turn 
plugs into the backplane bus which is 
implemented with a Vector card cage and 
edge connectors. By pulling the front panel 
card out of the backplane, the Kompuutar 
system can be isolated from the front panel 
completely. Similarly, the rest of the Kom- 
puutar system is fabricated on Vector 3662 
cards. Each card module contains one com- 
plete section of the system. These modules 
include the central processing unit card 
with the 6502 and bus interfacing chips, 
and a terminal interface card. Eventually 
8 K byte programmable (volatile) memory 
cards will be part of the system. The cage I 
used has room for eight memory cards for a 
total of 64 K bytes. Since the backplane 
is wired from pin to corresponding pin of 
each socket, the cards can be placed in 
any available socket in the card cage. Table 
1 shows the definitions of all the bus pins. 
In developing the system, I used an extender 
card plugged into the backplane so that I 
could have access to the various modules 
with an oscilloscope probe. 

The third part of the design philosophy 



98 



BYTE November 1977 





Dynabyte builds the Great Memory 



We cut up a Dynabyte 1 6k 
dynamlcRAM board arid con- 
structed this pyramid to illustrate 
an important point: Dynabyte ; v *'-.,,. 
designsatid builds memory boards^ 
with the same unmatched engi- 
neering ability and technical sKHf { 
thatwent^ -;-V:* : 

Pyraritid. -V'" :!;.*, ■-/£' '*"-' ; -* : K ' / 
; ; ", OneoF theseyeh^vonders of „ v 
the anjcientworldj the Great ^ * 
Pyramid has been standing on the 
de^ertf orarrinci^dibte 4,400 ^\ 
years. Although its enormous base 
coders 13;acres,jt is perfectly * 
square. Rising 450 feet, it is as tall 
as a 37 s^r^building^Over 23 
million blocks of stone were used, 
each averaging 2% tons. Some 
weigh 16 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 board s 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 butnot surprised; we 
know how good it is.) 

More than 14Q0nlicrocompu^ i 
ter owners also know how good it 
is.* Dynabyte's ,1 6k dynamic is 
running in more systerins than any % 
othjef dyriatfiic memory on the 
market. v-V S -]/*"J:' /■'■ '.\;'; 
;We select the best components 
we canbuy to build the! 6k dynam- 
ic, because Solid parts rhake a solid^ 
memory. Our memoryJchips, for 
example areiactory prime from 
National Semiconductor. . - ' 
? 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. 



; TO \ 

Efynabyte is a solid buy. And ah \ -. 
economical onel Effective October 
? 1, the new Manufacturers - ~ * 
Suggested Pridq is reduced frofh 
$485to$399, * - ; -^ \ ,;, 

Ask for the Great Memory by 
Dynabyte at your local computer - 
store. I it isn't in stock, telf the ^ 
owner that he missed another • 
Dynabyte sale, an border direct. 
Telephone (41 5)494-701 7. Cable 
DYNABYTE. Or mail 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 51 on inquiry card. 



BYTE November 1977 



99 



Photo 2: The reverse side 
of the front panel assem- 
bly for Kompuutar. The 
various switches, indi- 
cators and the front panel 
electronics board are seen 
in this picture. The P2-J2 
cables run to the front 
panel interface module at 
right. 




was implemented by picking address alloca- 
tions. (See table 2 for a detailed list of the 
allocations.) I decided early in the project 
that 1 6 K bytes of memory would be a good 
start for general programming uses. I had to 
allocate this volatile user oriented program- 
mable memory, as well as all the addresses 
for peripheral hardware and "firmware" read 
only memory programs. The address range 
of the 6502 is from to 65,535 (0000 to 
FFFF in hexadecimal). Since the archi- 
tecture of the chip itself uses addresses 

0000 to 01 FF for dedicated functions which 
must be in programmable memory, I as- 
signed the 16 K byte block of main memory 
to the lowest part of the addressing range, 
from hexadecimal 0000 to 3FFF. I was 
interested in the possibility of occasionally 
using the MOS Technology TIM monitor, 
so I reserved locations 7000 to 73FF for use 
by that program's read only memory. I 
allocated the control panel scratch memory 
and peripheral ports starting at address 8000 
hexadecimal, with the addresses starting at 
8020 reserved for general peripheral use as 

1 expand the system. At the end of the ad- 
dress range, I reserved the 4096 bytes from 
addresses F000 to FFFF for read only 
memory containing various systems routines. 
The high end of this range is reserved for 
the control panel support program and the 
interrupt vectors of the MOS Technology 
6502 design. 



Backplane 

The backplane of the card cage (see table 
1) carries the address bus, the bidirectional 
data bus, six vectored interrupt lines, and 
other functional signals as detailed in table 
1. All signals that pass through the back- 
plane are interpreted to be logical 1 or 
"true" in a low voltage (TTL 0) state. A 
high voltage (TTL 1) state is interpreted 
as a logical or "false" state. Each module 
which connects to the backplane uses TTL 
inverting buffer circuits for signals sent or 
received. The +5 V (VCC) and ground 
(GND) connections are arranged on the card 
edge connectors such that by plugging a 
module into the backplane upside down, 
polarity to the card will not be reversed. 
This simple arrangement eliminates the need 
for keying the cards; while it prevents 
physical destruction of the card due to 
inadvertent reversal of orientation, 'the 
system should not, of course, be expected 
to work with one or more cards reversed 
relative to the balance of the cards in the 
system. 

The vectored interrupt lines of the 
backplane are defined by some logic imple- 
mented on the central processing unit 
card (see figures 3). This card contains 
logic necessary to cause hardware vectoring 
of interrupt levels to one of the six possi- 
ble interrupt service routines. The vectoring 



Table 3: Control request 
word layout. The control 
request word, located at 
address 8010 in memory 
address space, is an input 
to the processor with this 
format. It is used by the 
front panel service pro- 
gram of listing 7 to govern 
the operation of the panel 
based on settings of va- 
rious switches. 



Bit 7 


Bit 6 


Bit 5 


Bit 4 


Bit 3 


Bit 2 


Bit 1 


Bit 


1 

| 


II P 
| | Flag | I 




I 
I 


I 


Flag Select Bits . 
= CARRY flag 


. Control j 


L 




Control Request Functions 




" = set flag 


= Null command (pass NMI) 




1 - ZERO flag "0" = reset flag 




1 = FLAG MODIFICATION 




2 = IRQDIS flag 




2 = DEPOSIT NEXT 




3 = DECIMAL flag 




3 = DEPOSIT 




4 = BRKCMD flag 




4 = EXAMINE NEXT 




5 = Not used 




5 = EXAMINE 




6 = OVRFLWflag 




6 = STEP 




7 - NEG flag 




7 = HALT 
















8 


= REG LO/ 


\D 





9 to 15 = Unused 



100 



BYTE November 1977 



54 



T i* 



tflto \1JMMN to 7§©o S^esfls 




MODEL CC-8 $175.00 



4800 BAUD CASSETTE RECORDER 

An ASYNCHRONOUS NRZ type Recorder with remote motor start/stop. Error 
rate 10& 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 US. Government for program reloading and field servicing. 

AVAILABILITY - Off the shelf. 



PROVIDES MONITOR AND TAPE SOFTWARE in EPROM. 
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. 



expands 6800 CONTROLLER for SWTP 





AVAILABILITY-Off the Shelf. 



$190.00, Tested & Assmb. ($160.00, Kit) 




2SIO (R) CONTROLLER 
$190.00 ($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. 



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. ($1 60 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 I field Road, London SW 10-9ag: Trin- 
tronics, Ltd., 186 Queen Street W., Toronto, Ontario, Canada; EB AS A, Enrique Barges 17, Barcelona 14, Spain; ARIES, 7, rue Saint Phi Hi pe du 
Roule, 75008 Paris; Microlem 20131, Milano, Italy; Eagle Electric, Capetown, S. Africa. 



For U.P.S. delivery, add $3.00 Overseas and air shipments charges collect, 
information. Phone Orders on Master Charge and BankAmericard accepted. 



N.J. Residents add 5% Sales Tax. WRITE or CALL for further 



L~~- 



National Multiplex Corporation 

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



Circle 102 on inquiry card. 



HYTE November I'm 



101 



I 



Photo 3: The front side of 
the backplane framework 
with card guides. This pic- 
ture shows the front panel 
interface module at the 
left, the central processor 
module, a gap of several 
card slots, then the TIM 
interface module's edge 
with cables dangling. 




is accomplished by using the selected service 
routine address for the interrupt vector 
requested by the 6502 processor during 
its interrupt sequence. The service routines 
are assumed to reside in programmable 
read only memory chips located in a separ- 
ate module elsewhere on the backplane 
bus. The processor hardware also incorpor- 
ates a priority arrangement of these six 
interrupts. Thus when two interrupts occur 
simultaneously the system has no problem: 
the higher priority one is serviced first. 
This becomes important when several 
interrupt driven peripherals are used with 
the system. An automatic reset function 
initializes the system when power is turned 
on, a separate interrupt for the 6502 which 
is supported on the processor board. 

As an alternative to the front panel logic, 
the memory map of table 2 shows alloca- 
tions for the MOS Technology TIM monitor 
integrated circuit, MCS6530-004. This 'Ter- 
minal Interface Monitor" allows the user 



to use an ASCII serial device such as a 
Teletype or other terminal. In making a 
board to support TIM, I also included an 
8 bit parallel interface to allow the possi- 
bility of using a high speed paper tape reader 
with Kompuutar. Details of the TIM module 
are shown in figures 4. 

Front Panel Logic 

Getting into more of the details of the 
system, I'll concentrate mainly on the 
place where I started my design, the front 
panel. The front panel logic is composed 
of input devices, output devices, 16 bytes 
of scratch pad memory, logic of the ready 
and nonmaskable interrupt timing, address 
decoders, switch debouncers, a data bus 
multiplexer, command encoder, line buffers 
and the control program in a programmable 
read only memory. The overall design of 
the front panel is found in figure 1, with 
details spread out in figures 1.1 thru 1.9. 
Photos 1 and 2 give further details. 

There are four input sources of data 
in the front panel design. Each source is 
selected by the address decoding logic, 
which in turn allows the proper source 
to be input through the data bus multi- 
plexer. The first source of input is the 
control request register. This source carries 
data from the command encoder, the flag 
selection switch, the flag modification 
switch and the register load switch. Table 3 
shows the bit assignments of this source, 
which is located at hexadecimal address 
8010 in memory address space. 

The second source of input is the low 

Text continued on page 112 





Logic Diagram 






Logic Diagram 




Wire 


Mnemonic 


Description 


Wire 


Mnemonic 


Description 


1 to 4 


+5 V 


voltage source 


21 


X800X 


) 


5 


DO 


\ 


22 


X800F 


I address selection 


6 

7 


D1 
D2 


\ data bus lines 


23 
24 


X8013 
X8014 


L lines 


8 


D3 


) 


25 


SEL1 


J. multiplexer select 
) lines 


9 


cM CLK 


phase 1 clock 


26 


SEL2 


10 


cf>2 CLK 


phase 2 clock 


27 


BSOUT 


multiplexer disable 


11 


IRQX 


any interrupt pending 


28 


— 


— 


12 


A3 


address bus line 


29 


X8015 


\ 


13 


D4 


| 


30 


XFEEA 


K address selection 


14 
15 


D5 
D6 


\ data bus lines 


31 
32 


X801F 


J lines 


16 


D7 


I 


33 


— 


— 


17 


A2 


\ 


34 


REST 


front panel reset 


18 


A1 


> address bus lines 


35 


RDY 


ready 


19 


A0 


/ 


36 


NMI 


nonmaskable interrupt 


20 


R/W 


read/write 


37 to 40 


GND 


ground 



Table 4: Wiring list for the J2-P2 cable. This cable runs from the front panel interface board in 
the card cage to the front panel assembly, as seen in photos 2 and 3. /In the author's version of 
Kompuutar, the wiring was direct without use of a plug and jack; in order to simplify nomen- 
clature in presenting the article, we've used a numerical indentification of signal paths as if a 40 
wire cable and connectors had been used . . .CH/ 



102 



BYTE November 1977 






Our prices aref antastic 
Our service. ..is better! 

Specialization is the only way of doing a job well. S-100, Inc. is committed strictly to the needs of S-100 
based minicomputer systems. We don't sell books, Teletypes, video terminals, or products that do not 
directly plug into an S-100 bus. 

ABSOLUTELY NO BACK ORDERS! If we can't ship from stock, we will return your check. We 
deliver "off the shelf" — and we intend to inventory not only the best of the S-100 products, but also 
the items that are the best values as well. We don't plan to inventory everything made for the S-100 bus, 
but we intend to inventory anything you should have. 

We stock mainframes but will concentrate on a variety of memory and interface boards, offering the 
most popular and the obscure. 

If it's made for the S-100 bus, call or write us first... second... or last — but be sure to get our prices 
before you buy! Write for our complete catalog. 



— TYPICAL PRICES ON SOME OF OUR ITEMS — 

OUR PRICE 

IMSAI 22-SLOT MOTHERBOARD, KIT (List $751.00) $ 589.95 

Z-80CPU BOARDS— 

Our Kit 144.95 

Digital Innovations (Similar to TDL) < List $169.95) 149.95 

TDL ZPU (List $ 269.95) 239.95 

S-100 SYSTEM, complete, all self-contained and partially assembled, 
includes keyboard, power supply, 10-slot motherboard, Z-80 
CPU, 16K of RAM, I/O board with audio cassette, monitor in PROM, 

and 8K BASIC— all for ONLY 1,495.00 

4K S-100 MEMORY BOARD, low-power, 450ns 89.95 

8K S-100 MEMORY BOARD, low-power 450ns 144.95 

16K S-100 STATIC MEMORY BOARD 439.95 

16K S-100 DYNAMIC MEMORY BOARD (assembled and tested) 299.95 

CYBERCOM VIDEO BOARD VB1A (List $ 189.00) 149.95 

NORTH STAR MICRO DISK, Kit (List $699.00) 594.95 

All Processor Technology and Cromenco items and TDL Software — LESS 10% 



We distribute S-100 items from all major manufacturers and from many smaller ones. 
Unless otherwise specified, all boards or kits are fully socketed (sockets are extra for 



IMSAI boards or kits). 



An organization dedicated to the users of the S-100 bus_ 

Circle 1 1 8 on inquiry card. 



S-100. Inc 



* 7 WHITE PLACE 

CLARK, NEW JERSEY 07066 

(201)382-1318 



U-Q.l/1 






< 

Q 


h- 
< 








Q 


(0 




5 




LU 




LU 

1- 

cn 

>- 


_l 
< 
U 

o 


cr 

Q 
Q 


*c 


en 


_l 


< 



h- 


1- 


T 

FICAN 

DATA 

:hes 


z < 


o<w 


. ^ Q 5 


LEAS 
SIGN 
BYTE 
SWIT 


MOSl 
SIGN 
BYTE 
SWIT 



Figure J: Block diagram of Kompuutar's front panel logic. The Kompuutar design uses a read only memory program to 
manipulate the contents of memory interactively using function switch inputs and solid state display outputs. This diagram 
serves as a functional road map to the various components of the display and its interface board. 



104 BYTE November 1977 



16384 BYTES for $485.00 



"> 



assembled (with sockets) : tested - burned in - guaranteed 



A new high in SI 00 bus memory cost effectiveness. Fully assembled 
(with sockets), tested, burned-in and guaranteed. 4Kxl dynamic 
memory chips (the same ones used by the ton in IBM compat- 
ible memory systems) combined with self contained control 
logic, yield a memory system with these features: 



• Low power consumption, total board 5 watts. 

• Transparent refresh, which means the 
memory looks static to the outside world. 

• No waiting. In fact, XRDY is not even con- 
nected to the memory. 

• Full DMA capability. 

• Reliable, low level clock and control 
signals. 

• Three full days testing at 70° C (185° F). 

SPECIFICATIONS 



Capacity: 
Addressing: 
Bus structure: 




16384 bytes 

16K boundaries 

SI 00 - Plug compatible with IMSAI 8080, POLY 88, ALTA1R 8800, BYTE-8, SOL 



Address and Data Buffering: <c200 uA, special high impedance buffers - less than one low power Schottky load 
Access time: 350 nSec 



Memory chips: 



MM 5271 (National Semiconductor and others) 4K dynamic 

Dynaby te Inc. 

4020 Fabian Way, Palo Alio Ca. 94303 



for more information call or write to: 



R.H.S. MARKETING dealer inquires invited 

2233 El Camino Real B of A & Mastercharge accepted 

Palo Alto, California 94306 
(415) 321-6639 



Dynabyte 



® brings to the SI 00 Bus a state of the art, industrial quality memory system. 
16K on a single board for $485.00, Guaranteed for 1 year. 



Circle 122 on inquiry card. 



UYTE November 1077 105 






TO FP INTERFACE BOARD 
I 
FP-REST 

i 





HZ> 



EXAMINE NEXT 



-o 




o 

TO FIG 1,5 



IC42a 




-o 



FP-FLGMD 

IC47a JAOA T0 FIG '.5 

7400 '* U * 



NOTE: ALL PULLUP RESISTORS ARE PHYSICALLY 

MOUNTED ON THEIR ASSOCIATED SWITCHES. 



Figure 1.1 : Switch debouncing logic. This is a detail logic diagram suitable for construction of Kompuutar. As in all the logic of 
this design, all resistors are 1 /4 W unless otherwise noted, and standard TTL integrated circuits are used for miscellaneous 
functions. Debouncing is done with set-reset flip flops contained in the 74279 part, which we have noted in the discrete logic 
form internal to dotted lines. The flip flops can be wired out of gates (7400, 7410) if desired, should the 74279 be unavailable in 
the builder's parts bin. Integrated circuit power wiring for the entire design is summarized by IC number in table 5. 



106 BYTE November 1977 



MSD 

We Beat the Systems! 

Now, Everyone Can Afford a Computer System. 



Introducing: 

MSDD-100 

Floppy Disc System software: 

The user is provided with two diskettes. One is 
available for user programs and files, the other 
contains an array of programs for the system. 

An 8080 monitor is provided that permits the 
user to format diskettes and perform diagnostic 
checks on the system. In addition, the user is 
provided with a short Bootstrap loader and a 
short memory-to-disc routines for dumping 
existing data onto a diskette. A complete set of 
disc input-output routines are provided to speed 
program development around the MSDD-100 
system. 

A link is provided which permits a user to run 
MITS basic software with the MSDD-100 system. 
This link, provided for MITS basic versions 8K 
3.2, 8K 4.0, and Extended basic (4.0/4.1) , 
permits the user to save and load programs on the 
disc. The Basic link system is quite flexible, 
supporting three disc drives and cassette I/O. In 
addition, number matrices may be saved and 
loaded as named files (versions 4.0 and later 
only) . The link also supports sector level I/O, 
permitting fast random file operation. 630 128 
byte records may be stored on one diskette. 

The MSDD-100 Floppy Disc System is a 
significant advance in low cost, high density mass 
storage systems. Utilizing 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 the larger disc * 
systems are standard on the MSDD-100 Disc 
system. The controller will support up to three 
drives. The controller provides all disc timing 
functions, therefore no software timing loops are 
required. The controller also supports three 
modes of programmed I/O (no DMA) . First, there 
is simple command I/O. Second, there is a 
standard interrupt with all command completion 
and data request conditions interrupting to 
Restart 7. Third, the controller has the switch 
selectable facility to vector the processor to any of 
the Restart locations upon generation of an 
interrupt. This allows data requests and command 
completion interrupts to be vectored separately. 
This type of interrupt structure is ideal for 
multi-user / multi-tasking applications. 

The 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. 

The controller is a single board design, with 
very low power consumption. 

For ease of construction, the kit version 
provides: 

1) Preassembled cables 

2) Quality IC sockets 

3) Silk Screen legend 

4) Solder mask 

Circle 100 on inquiry card. 



MSDD-100 Floppy Disc System 
specifications: 

Drive: 89,600 byte maximum data capacity 

(formatted) 

35 tracks 

Variable format: 128 - 1024 bytes / record 

User Definable format: 16 - 2560 bytes / record 

Track to track step time: 40 milliseconds 

Average access time: 600 milliseconds (Random 

read/write) 
Latency: 200 milliseconds 
Power requirement: *+ 12 V regulated .9A typ, 

1.1 A max, 1.8 A surge. +5 V regulated .5A typ, 

.7Amax. 
Controller commands: 
Read/Write record, Seek, Step in/Step out, Read 

track, Write track (format) , Read ID field, 

Force interrupt (conditional or immediate) 
Interfacing: 
Controller to drive: 34 conductor ribbon cable 

(provided) 
Interrupts: standard, internal vectors (switch 

selectable) or external vectors 
I/O: Programmed byte Input and Output 
Addressing: User selectable port definitions, 

occupies six contiguous ports addresses. 
Controller power requirements: 
+8 Volts unregulated, 200 milliamperes 

maximum 
+ 1 5 Volts unregulated, 20 milliamperes 

maximum 
— 15 Volts unregulated, 10 milliamperes 

maximum 




Introducing: 

MSDV-100 

Video Display Systems: 

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 normally not 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 
work 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 be made to appear brighter than 
normal or to appear in a reverse field (black on 
white), useful in order entry or other applications 
to highlight text. 

Also included in the MSDV-100 is the ability to 
generate high quality forms overlays. Margins can 
be either single or double wide with continuous 



intersections. Charts, graphs, or order entry 
forms are easy to produce on the video screen. 

A third significant feature of the MSDV-100 
Video Display System is the ability to display 
continuous 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, as well as in forms 
applications. 

Though these capabilities are standard and 
provided with every unit, MSD has the capability 
to generate and deliver MSDV-1 00 Video Systems 
with custom character sets as defined by the user. 
This could include mathematical symbols, APL 
characters, or Boolean logic symbols to name a 
few. 

Internally, the MSDV-100 is a two board S-100 
based system which occupies 2K of RAM address 
space and two Input/Output ports. Being a bus 
device, the microcomputer can write to the screen 
as fast as it can to any memory. For diagnostic 
purposes a memory test can be performed on the 
screen. 

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. 

The assembly language drivers allow the 
sophisticated user to easily customize the system 
for specialized 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 Irom that software. The link 
fully implements the forms capability of the 
MSDV-100, provides direct cursor addressing, and 
is fully upwards compatible with the LSI ADM-3A 
video terminal. 

sYsrems , M mlM J 

\ DEVHDpmetNfT ■ ■ fcBrHP^/ 

/^ 2765 So. Colorado Blvd. Suite 110 DenvecCO 80222 (303)758-7411^ 

"Beat the System" 
Introductory Price. 

Micro-Floppy Disc System $499 

(Assembled) $599 

Video Display System $285 

(Assembled) $385 

Additional Drivers $350 ea. 

Diskettes $4.25 ea. 

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 

D Send me more information 



BYTL November 1977 



107 









Figure 1.2: Flag selection switch. The control panel service program of 
Kompuutar uses the binary encoded 3 bit value on the output of this switch 
to determine which processor flag is to be set or reset using an appropriate 
function selection. This switch is a rotary switch which has three poles and 
eight positions. 



+ 5V 
A 



m 



S8 



S9 



SIO 



Sll 



SI2 



S13 



SI4 



SI7 



SI8 



SI9 



S22 



FP-HB7 



TO 
FIG 1.6 

I 

I 



FP-HB6 



FP-HB5 



9> 

I 
I 

o 

I 
I 
I 

o 

I 

I 

I 

-o 

I 

I 



FP-HB3 r-U^ 

I 
I 
FP-HB2 j-U 



\ Q 

/ K 

O 



FP-HBI 



I 



FPJHBO_ r L 

I * 
FP-LB7 pU^ 



i 



FP-LB6 



FP 



i^> 



I 
I 
FP-LB4 JLL 

T ) 

I 
FP-LB3 |-U 



FP-LB2 .-L 



_FPJ_BJ_ j _L 



_FP_J_BO_ ! pL 

I J 



Figure 1.3: Front panel data entry switches. The entry of static data is ac- 
complished by 76 toggle switches. These switches are connected to either 
logical 7 (+5 V through a 7 K resistor) or logical (ground). , 



S7 

s 



? 



v TO 

I FIG 1.6 

JIOK 

FP-REQ5, 



^ 



™ ©©©©©©©© 



J, 



JIOK 

FP-REQ6 



<> 



S7B ©©©©©©©© 



J? 



? 



REQ7 r 1 -^ 



S7C ©©©©©©©© 

m 



Figure 1.4: Display data selection switch. 
The control panel service program uses the 
binary encoded 4 bit value on the output of 
five possible words for default display from 
the control panel scratch pad located at 
addresses 8000 to 800F. The five addresses 
selected are for the accumulator (0), X index 
(7) } Y index (2), stack register (5) or data 
register (D). 



: iok 



?■ 



S24A © © © © © *. 



FIG 1.7 
I 
FP-DSBO rU^ 

I 
I 
I 



©©© 

,£ — ! — £ I0K 

m /-\ } FP-DSBI A ~^ 



S24B ®©©©® + ^ 

JL i >'^ K 

m s~\ % FP-DSB2 |-L^ 

S24C ©Q©©© + i V 

* 4 Y «... .i 



'■€> 

i 



;d©(7) 



/£" 



m$ 



* 4 4 A 



STACK 
Y REG 

■ X REG 

■ ACCUMULATOR 

■ DATA 



108 BYTE November 1977 









DO IT BETTER 

With the language that is best suited for your application: Business programming in 
COBOL, Scientific and Engineering in FORTRAN IV, Educational in BASIC, and 
Systems Implementation in our MACRO ASSEMBLER. 

o 

With hardware that will grow with your application, and protect your software in- 
vestment. 



DO IT FASTER 

i 

•*'■'•'.... V ,'. i 

With extensive support and utility programs to speed development of your applica- 
tions software. These include a Diskette Operating System, Relocatable Linking 
Loader, Load Module Library Editor, Symbolic Debugger, and Text Editors. 

With a 16 bit processor that includes hardware multiply and divide, real-time clock, 
and peripherals like single or dual diskette subsystems with integral DMA con- 
troller. 



DO IT WITH A MicroNOVA 



If you are serious about computing, call or write 
today. BPI Inc., 2205 East Broadway. Suite 6, 
Tucson, Arizona 85719 (602) 326-6975 



© NOVA is a registered trademark of Data General Corporation, Southboro, Massachusetts Circle 15 on inquiry Card. 



S_A A A tgs A 






ID <J— 



*}■ 



£1 J° — 



o 



^ 



in <J- 



2 

o 



O 



en Q 



<- 



o u_o 
h- rrco 









i- j--0- 




Q 



5?A 



-;= 



o 



CVI 




to 


CVJ 




UJ 

X 

UJ 


(- 

z 

X 

UJ 


in 

CL 
Q 


X 

z 

Q 


Q 

_l 
u. 


Q. 

U. 


0_ 

u. 


CL 
Ll 


0. 
U- 


0. 
U. 



5: 




Ail 



■ k — LU ' 



i 



'._i 



HA 



b 



Q 



??A 

in 

■Q 



Q 5^! 



A^j (WkW^- 






i 



io;o ( o\ 



-4-6- 



:L_A_ 

. el LJ 



110 



BYTE November 1977 






Figure 1.5: Control logic for front panel functions. This logic generates the function request code (read from address 8010 bits 
to 2), and controls the NMI line of the 6502 to implement single step execution of the processor. 



P2 

TO FP 
INTERFACE BOARD 



FROM FIGURE: 



FROM FIGURE: 



FROM FIGURE 



FROM FIGURE: 




P2 

TO FP INTERFACE 
BOARD 

j^ L FP-BSOUT 



IC74 

DM8835 TRISTATE 

BUFFER 

INTERFACE 



On 



7 



TOFP INTERFACE 
BOARD 



FP-DO 



FP-D2 




1C74 

DM8835 TRISTATE 

BUFFER 

INTERFACE 



■O-j 



P2 

TO FP INTERFACE 
BOARD 



FP-D4 



FP-D5 



7 
/77 




FP-R/W 



00000000 



TO FIGURES 
" 1.7, 1.8a- 1.8c 



1C48 7404 



Figure 1.6: Data source multiplexer and bus interface. The sources of data read from the front panel logic are four: the two 8 
bit data entry switch registers of figure 1.3, the 8 bit control request word from figure 1.5, and the output of the scratch pad 
programmable memory (lines labeled "RAM") from figure 1. 7. These are selected by a 2 bit addressing code generated on the 
front panel interface board of figures 2. 



BYTE November 1977 



111 



Text continued from page 102 

order byte of the data entry switches. The 
eight toggle switches of this switch register 
are used to enter a byte into the data bus 
or into the least significant byte of the 
address register which is maintained by 
the control panel program in its scratch 
pad. These toggle switches are located 
at address 8011 in memory address space. 

The third source of data for the control 
panel program is the set of toggle switches 
which define the most significant byte of 
an address. These eight switches are located 
at address 8012, and are only used for 
address inputs. 

The last source of data is the output of 
the 16 byte scratch pad memory in the 
control panel. The scratch pad responds 
to addresses 8000 thru 800F. 

The address decoding logic is found in 
figure 2.1 . The outputs of this decoding 
logic include miscellaneous individual ad- 



dress selections, plus the selection signals 
which are used to control the data input 
multiplexer found in figure 1.6. The selec- 
tion signals are generated by the priority 
encoder IC35, and are used to pick one 
of the four sources for routing to the bus 
interface gates IC73 and IC74. These gates 
connect to the backplane data bus from 
the front panel via P2's connecting cable 
between the front panel and the front 
panel interface board. 

The front panel also includes several 
possible outputs for data. In addition to 
the input possible from the scratch pad, 
the processor can address and write data 
to the scratch pad in any one of the loca- 
tions 8000 to 800F. The actual contents 
of the data in the scratch pad can be dis- 
played for addresses 8000, 8001, 8002, 
8003, and 800D by moving the rotary 
switch S24. This switch (see figure 1.4) 

Text continued on page 116 



TO FP ASSEMBLY BOARD 
i 

. FP-R/W 



HS^ 



HE> 



X8QOX 



Go> 



<t>2CLK 



FROM FIGURE 
1. 6 ' 



FP-DTIN7 



FP-DTIN6 



FP-DTIN4 



c> 

FROM FIGURE 
I.I 

o 

™ E F R P FACE [S> fpiRD]L 

BOARD 



74I0 



^£y 



FP-SREG 



7400 

IC58c \ & f ' 2 | N ,, 
\ J l | 3 IC58d)o^ 



FROM FIGURE 
1. 4 



o 
o 

o 
o 



FP-DSBO 



FP-DSBI 



FP-DSB2 



FP-DSB3 



DT>: 

Q2> 



FP-AI 



FP-A3 





I 


IA 
2A 


SL lY 
IC62 
74I57 

2Y 


3A 




4A 


3Y 


IB 




2B 


4Y 


3B 




4B 







STROBE 



TO FP ASSEMBLY BOARD 



1 



FROM FIGURE 
1.6 I 

o 

o 



FP-DTIN3 



FP-DTIN2 



r- > FP Z 

HCfp- 



FP-DTINI 



I 
I 



DTINO 



+5V +5V +5V +5V 
A £ £ £ 




Figure 1.7: Front panel scratch pad programmable memory. The front panel implements a 16 byte scratch pad programmable 
memory at addresses 8000 to 800F. This memory is used for data storage and for storage of a scratch pad program segment 
which is modified during execution of the front panel service routines. 



112 



BYTE November 1977 



MICRQTECH SOFTWARE 

Microtech, Incorporated continues to provide a number of sophisticated software packages for microcom- 
puter users. Our software is created expressly for microprocessors, making it fast and memory-efficient. Our 
higher level language, MICROTECH BASIC, provides features never before offered for microcomputers, and our 
applications and documentation allow even first-time users to be up-and-running quickly and effortlessly. 

MICROTECH BASIC is designed with great flexibility. The structure easily accommodates driving a wide 
range of peripheral devices through BASIC commands. The language is constructed expressly for Z-80 based 
microcomputers, affording a truly sophisticated higher level language with a small (under 7 K without I/O 
drivers) memory requirement. Briefly, MICROTECH BASIC has all of these features: 

• FULL FLOATING POINT ARITHMETIC PACKAGE (Integer version also available, see below) 

• COMPLETE STRING, VARIABLE PACKAGE. 

• TABLE DRIVEN VARIABLE STORAGE - reduced memory overhead for variable storage. 

• MASS STORAGE DATA FILE HANDLING - allows data to be read or written to mass storage devices 
either sequentially or randomly. 

• MASS STORAGE PROGRAM FILE HANDLING - a full directory based program file capability has been 
implemented. Commands available include PGRM (used to create a directory entry), SAVE, ERASE, 
LOAD, and RUN (load and go). 

• COMPLETE PROGRAM OVERLAY CAPABILITY - a powerful programming technique that allows an 
executing program to load and execute any other program currently in the directory with all variable 
values passed to the new program. 

MICROTECH BASIC is currently available in audio cassette form for Digital Group Z-80 systems. We have 
hooked MICROTECH BASIC to our own Phi-Deck driver software to create TOS (Tape Operating System) 
BASIC. Up to four Phi-Decks may be used for mass data and program storage. All tape control is provided 
through BASIC commands. This package, with all audio, video, and mass storage drivers, requires roughly 9.5 
K. A minimum 18 K system is recommended 

MICROTECH BASIC will soon be available for many Z-80 based microcomputers and will include a variety 
of drivers for tape and disc mass storage systems. Write for complete details. 

APPLICATIONS APPLICATIONS APPLICATIONS 

MICROTECH has an extensive library of applications written in MICROTECH BASIC. As examples, we 
have: 

• BASIC GAMES — a collection of 10 programs on tape (to be used with our Phi-Deck BASIC). This is 
a comprehensive package including Casino Games, Educational Games, Space Battle, and Tic-Tac-Toe. 

• PERSONAL CHECKBOOK MANAGEMENT SYSTEM - a group of programs that allows checkbook 
management, bank reconciliation, and tracking of deductibles for tax purposes. It uses a single tape 
drive for programs and data storage. 

You may purchase our products through computer retailers or directly by mail. 

PRICING 

TOS BASIC (for Digital Group Systems) - includes BASIC (with Floating Point), 
data tape formatting routine, and deck-to-deck copying 

routine — 28 page user's manual and free updating service $64.95 

TOS BASIC (for Digital Group Systems) — Integer Version 
(arithmetic range +2, 147,483,647) - includes 

all of the features listed above $59.95 

(specify 32 or 64 character video when ordering) 

BASIC GAM ES - Program tape and documentation $20.00 

PERSONAL CHECKBOOK MANAGEMENT SYSTEM - 

Program tape and documentation $30.00 

Dealer and Manufacturer Inquiries Invited 



MICROTECH 



INCORPORATED 



POST OFFICE BOX 599 
£ BRUNSWICK N. J. 08816 



Circle 88 on inquiry card. 



BYTE November 1977 



113 



(a) 



FROM FIGURE 
1.6, 



O 



FP-DTINI 



FP-DTIN2 



i — s, r r — u 1 1 

I 

I 
P2 

TOFP ASSEMBLY 
BOARD 



i 



X80I3 



$2CLK 



m> 

i 
I 



FROM FIGURE 
1.6, 

FP-DTIN4 



I 



FP-DTIN5 



+5V 



LiC7 



JR 



QA 



IC56 
A 74197 
B QB 

C 

D Q c 

CLKI 

CLK2 QD 

LOAD 



CLR 

IC59 
A 74197 

B 

C 

D 

CLKI 

CLK2 



QA 
QB 
QC 
QD 



IC57 
7416 
lfcs~2 



P^ ({4^} 






IC57 

7416 



^ 






IC60 7416 



SDO 



+ 5V 
A 




KH 



SD2 



B>^^^ 



SD4 



/ 



SD6 



SDI 




SD3 



+ 5V 
A 



SD5 



/ 



(b) 



FROM FIGURE , 
1.6 ! 



S 



P2 

TO F.P. INTERFACE 
BOARD 



i 



i 
i 



FROM FIGURE 
1.6 



O 

I 
I 



FROM FIGURE 
1.6 



o 



TO FP INTERFACE 
BOARD 



FP-DTIN2 



FP-DTIN3 



X80I4 



E§>^ 



FP-$2CLK 



7400 
6 



& 



FP-DTINO 



FP-DTIN2 



FP-DTIN3 



FP-DTIN5 



FP-DTIN6 



I 

i 



m^ 



IC65 
5082- 

1 7340 

2 H.P 
4 

8 

ENABLE 
BLANK 



IC66 

5082- 

7340 

H.P. 



ENABLE 
BLANK 



IC67 

5082- 

7340 

H.P. 



ENABLE 
BLANK 



IC68 

5082- 

7340 

H.P 



ENABLE 
BLANK 



Figure 1.8: Displays. The front panel dis- 
plays are detailed here: (a) is the output 
latch used to drive LED indicators for the 
eight flag bits, located at hexadecimal 
address 8013. At (b) are the four digits of 
hexadecimal address lamp display, addressed 
at locations 8014 and 8015. These displays 
incorporate latching logic as well as the 
needed decoding of 4 bit hexadecimal 
patterns into an array of LED dots. And at 
(c) are two miscellaneous indicators for the 
front panel. 



(c) 



P2 

TOFP ASSEMBLY 
BOARD 



I 



IC60 
7416 



+ 5V 

A 



LlL> 



m> 



FP1RQX 5 



£»§ 



ID 



(INTERRUPT) 



FP-RDY 9 



&** 



RD 



(RUN) 



114 



BYTE November 1977 



Application Software ! 






"ASK 

S °'nVAR E 




m— ** * w. 






W*'i 



' 



Li****? 




I BASIC 

SOFTWARE 
LIBRARY 



VOLUME II 



1 







Y^ 



U*? 



v-" 



u 






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 

1712-B Farmington Court, Crofton, MD 21114 

Phone orders call (800)638-9194 

Information and Maryland residents call (301)721-1148 

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 Americard accepted. 



Our Software is copyrighted and may not be reproduced or sold. 



BYTE November 1977 



115 












sO 

sO 
sO 
sO 
sO 

§o 




£ 






!© 



a *© 



sO 
lO 
gO 
lO 
lO 
IO 
lO 
lO 






o 



OCO 




-0 


Oi^ 




™ 


Oui 


rO 


OlD 




tf 


OCD 




-o 


Of- 


k> 


wo 


OUJ 


X 


too 


Qtf) 




^fO 



Tin 

5*® 



0<n 
ON N 

003 X 

0<n 

Ooo 
ON - 
OU> x 
Om 



m o 
TO 



O 



KlO y — v 

m- fff\ 



II© 



k|© 




+ 0.(0 



?0 5 Q 



Text continued from page 112 

defines an address value which is presented 
to the 7489 scratch pad memories IC61 
and IC63 by 74157 multipelexer IC62 when 
the scratch pads are not being referenced 
by the processor. Since the control panel 
program references the scratch pad only 
occasionally, the normal state is an address 
selected by S24 determining which of the 
five scratch pad locations is seen in the dis- 
play lamps for scratch pad data. Thus the 
scratch pad memory has several potentially 
visible bytes of memory address space 
and acts as an output device. 

A second output device is an 8 bit data 
latch whose outputs activate eight discrete 
LED devices. This device, located at address 

8013 in memory address space, is used to 
display the processor's status register bits. 
The front panel control program is re- 
sponsible for maintaining current informa- 
tion in this display (as is the case with all 
the display outputs). 

Address display information is latched 
into four digits of hexadecimal display 
provided by Hewlett-Packard HP5082-7340 
parts, IC65, IC66, IC67 and IC68 in figure 
1 .8b. Each of these displays has a built-in 
4 bit data latch which retains information 
defined by writing to the memory locations 

8014 (low order) and 8015 (high order). 
Two miscellaneous indicators are also 

included in the design. These single bit 
LED displays are connected to the proc- 
essor's ready (RDY) and main interrupt 
(IRQ) lines. The RUN indicator lights 

Textcontinued on page 119 



Figure 1.9: Front panel mechanical layout. 
This is a detail drawing to scale of the phy- 
sical layout of the front panel as seen in the 
photographs, along with the front panel 
electronics board which is mounted on 
standoffs behind the panel. 

NOTES: 

1. All ICs except locations E1 and E2 are Texas 
Instruments SN74XXX series TTL logic. E1 and 
E2 are three-state bidirectional bus drivers 
made by National. 

2. Switches S1 thru S6 are Alco model 
MTF-206SA. 

3. Switches S8 thru S23 are Alco model 
MTF-106D. 

4. Switch S7 is a Centralab model PA-2009 rotary. 

5. Switch S24 is a Centralab model PA-2011 
rotary. 

6. Rp; ID, DDO to DD7 and SDO to SD7 are 
discrete LED displays. HP model 5082-4860. 

7. X1-X4 are dot matrix hexadecimal LED dis- 
plays. HP model 5082-7340. 

8. All pull up resistors shown on schematics in 
conjunction with front panel switches are 
mounted on those switches. 



116 BYTE November 1977 



: i : i 



SCELDVs wmw 'k 
STANDARD ASSEMBLER 



FUNCTION: 

HARDWARE REQUIRED: 
OPTIONAL HARDWARE: 

SOFTWARE REQUIRED: 
MEMORY UTILIZED: 



wmmm m " mk ^^~ r 8080 CPU on an 8080 based 

„ written in symbolic language for an 8080 CPU 
Assembles programs written y 

system. ,hirh it least IK should be RAM); 

f AK mrmorv of which at ICdii 



into memory. utilizcd . Eac h I/O 

to individual systems. through 0A (hexa- 

« M0N ,cs -lw^^ 



PSEUDO-OPERATORS: 
PROGRAM OPERATION: 



SOURCE FORMAT: 
DOCUMENTATION: 

SPECIAL FEATURES: 
OPTIONS: 




Kcnaract-riaed "" 808 ° P '° 8 ™™ ' 5ET (define , name), DB (data 

byie), DS (data string) ml "" I ambled obje ct 

variable length fields permitted Labels may ^.^ 

^asssa- » *. — writtm with a „ „,, 

„ea is available foe scratchpad ,,,„ |« described in the docm 

A pcartcamed paper, - ^r^b^ 
menaticn) is »™^ T , h \cSl««, commented source I strns _ »> ^ ptfcr 

in widespread use. tNUi 
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! 

Circle 124 on inquiry card. 



ICELBI COINPUIER 
CONIULIING INC. 

Post Office Box 133 PP STN 
Milford, CT 06406 Dept. B 



BYTE November 1977 



117 






fr 






_l 

<<0 
O UJ 

uj tr 

Ui ^ , 

X 


8010 
80 1 1 
8012 
800X 


o 

_l 

UJ 

(/} 

Q. 

u. 


O - o - 


UJ 

(f) 

a. 


O O 


Z) 
Q. 

2 


ro cm — O 



— to — 

T> raj 

ra c c 

>'!_ — 

-Q 0) c 
T.f.9 
§ 3 O 

O C -^ 

— _ 0) 

x 'a £ 

.. -§"° 

o £ c 



Q) oJ OJ X 

■n O co to 

00 ^ CO - 

QJ t^ ° r- *"( 

ro ra <fr » 

-a -°> ( 

.E | "D o j 

^ CD 3 1 



CO to 
to 

to £ 



O Q) 

■a 




1-A---0 



118 



BYTE November 1977 



Text continued from page 116 



up when the machine is in the run mode, 
and the interrupt indicator remains lit while 
an interrupt is pending. Interrupt control 
logic is contained in the devices requesting 
an interrupt, with the processor's priority 
encoder defining the backplane signal IRQX 
(backplane pin 12) which indicates that 
some interrupt is pending (and also signals 
the processor through its IRQ input, pin 4.) 
Thus when interrupt driven IO is used, 
the interrupt indicator lamp will flicker if 
appreciable interrupt processing wait states 
occur as various devices request attention. 

Other Front Panel Functions 

The front panel logic includes logic of 
the ready (RDY) and nonmaskable interrupt 
(NMI) timing, shown in detail in figure 1.5. 
These lines are used to generate signals 
which affect the processor in a manner 
very similar to interrupts. The HALT and 
single STEP switch are used to generate 
signals for these lines. This timing logic 
causes the 6502 processor and its control 
program to implement fairly conventional 
single stepping and program halt or restart 
functions. HALT or STEP switches are used 
to cause the processor to complete the 
present instruction, then execute one more 
instruction. Any other switch activated 
on the front panel causes this logic to allow 
the processor to complete only its present 
instruction. The hardware protocol of 
this logic locks out all front panel functions 
when the processor is running, except 
for the HALT switch. 

The front panel's interfaces to human 
fingers are through various function 
switches. These switches are debounced 
using set-reset flip flops which come four 
to a package in the 74279 part. The de- 
bouncing logic guarantees that only one 
pulse is received for each activation of a 
switch. 

Getting Kompuutar Into Operation 

The operation of the front panel's control 
logic with respect to the actual processor 



Figure 2.2: Buffering of processor control signals at the front panel interface 
module. 



J2 
TO FRONT PANEL 

I 

I 



l 

i 

! 

i 
i 
i 

m> 

i 
i 



FP-RESET 



7438 

I 



FP-NMI 



IC 22 

74I4 



FP-RDY lN^ 



TO BACKPLANE 

I 

,3 PANRST I 
1C2IQ )0 [20> 

I 

I 
I 



FP-RDY 



{H> 



BACK PLANE PROCESSOR CARD 



I 
I 

i 
i 



© + - 



5V 



- R20 



[TJ> 



BP-SYNC C§) 



BP-IRQX 



IC 22 

74I4 



V + 5V 



p4 



J2 
TO FRONT PANEL 
I 

I 
I 

FP-IRQX pi 
E> 



LRI4 

£560 I 

<I©1 nfSJ? 3fS^ 5 [ ^ FP ^ CLKI [T> 



j^ > BP-<t»CLK2® 1 laf XA 2 



5V 



>RI5 
> 560 



ps. 



FP-<t>CLK2 



>RI 

» 560 



g^bp-r/w ®l "E^iMN^ 



IC20 7414 



I 
I 
I 
I 

{E> 
I 
i 
I 
I 

i 



Figure 2.1: Front panel interface module address decode logic. This logic decodes the several addresses in the 8000 to 801 F 
range which are used by the front panel design of Kompuutar. Since 3 bit decoders are used, octal intermediate terms are used to 
symbolize the outputs of the 74138s prior to logical sums performed by the 74260 OR gates. Outputs of the circuit are discrete 
select lines for several addresses, plus two source selection lines for the data bus input multiplexer of figure 1.6. 



BYTE November 1977 



119 



Our Dealers 



ARIZONA 

Personal Computer Place, Mesa (602) 833-8949; Bits 
& Bytes Computer Shop, Phoenix (602) 242-2507; 
Byte Shop West, Phoenix (602) 942-7300; Byte Shop, 
Tempe(602) 894-1129 

ARKANSAS 

Computer Products Unlimited, Little Rock (501) 371- 

0449 

CALIFORNIA 

Microcomputer Center, Anaheim (714) 527-5261; 
Byte Shop, Berkeley (415) 845-6366; Byte Shop, Bur- 
bank (213) 843-3633; Sunshine Computer, Carson 
(213) 327-2118; Computer Center, Costa Mesa (714) 
646-0221; Micro Computers, Fountain Valley (714) 
963-5551; Byte Shop, Fresno (209) 485-2417; Bits n 
Bytes, Fullerton (714) 879-8386; Computerland, Hay- 
ward (415)842-2983;Computerland, Inglewood (213) 
776-8080; Byte Shop, Lawndale (213) 371-2421; 
A-VIDD Electronics, Long Beach (213) 598-0444; 
Byte Shop, Long Beach (213) 597-7771; Computer- 
land, Mission Viejo (714) 770-0131; Computer Em- 
porium, Newport Beach (714) 540-8445; Computer 
Mart, Orange (714) 633-1222; Byte Shop, Palo Alto 
(415) 327-8080; Byte Shop, Pasadena (213) 684- 
3311; Executive Office Equipment, Pasadena (213) 
449-1776; Byte Shop, Placentia (714) 524-5380; 
Dunston Enterprises, Redding (916) 246-1170; Byte 
Shop, San Diego (714) 565-8008; Computer Center, 
San Diego (714) 292-5302; Computerland, San Diego 
(714) 560-9912; Byte Shop, San Francisco (415) 431- 
0640; Ximedia, San Francisco (415) 566-7472; Sunny 
Sounds, San Gabriel (213) 287-1811; ByteShop.San 
Jose (408) 377-4685; Computer Room, San Jose (408! 
226-8383; Computerland, San Leandro (415) 895 
9363; Byte Shop, San Rafael (415) 457-9311; Com 
puter Electronics, Santa Barbara (805) 965-7984 
Pete's Electronics, Santa Barbara (805) 965-8551 
Affordable Computer Store, Santa Clara (408) 249 
5834; Byte Shop, Santa Clara (408) 249-4221; Com 
puter Power and Light, Studio City (213) 760-0405; 
Byte Shop, Tarzana (213) 343-3919; Byte Shop, 
Thousand Oaks (805) 497-9595; Computerland, Tus- 
tin (714) 544-0542; Upland Computer Labs, Upland 
(714) 981-1503; Byte Shop of Diablo Valley, Walnut 
Creek (415) 933-6252; Byte Shop, Westminster (714) 
894-9131; Computer Playground, Westminster (714) 
898-8330; Computer Components, Van Nuys (213) 
786-7411 

COLORADO 

Byte Shop, Boulder (303) 449-6233; Mighty Mini 
Company, Denver (303) 674-5753; Byte Shop, Engle- 
wood (303) 761-6232 

CONNECTICUT 

J R V Computer Store, Hamden (203) 281-1453; 
Office Services of Hamden, Hamden (203) 624-9917; 
Computer Store, Windsor Locks (203) 627-0188 

FLORIDA 

Byte Shop, Fort Lauderdale (305) 561-2983; Micro- 
tech Services, Gainesville (904) 376-2371; Computer 
Hut, Hialeah (305) 558-8080; Computer Store, Jack- 
sonville (904) 725-8158; Delta Electronics, Leesburg 
(904) 728-2478; Electronic Shop, Melbourne (305) 
259-4025; Byte Shop, Miami (305) 264-2983; Econo- 
my Computing Systems, Orlando (305) 678-4225; 
Marsh Data Systems, Tampa (813) 886-9890; Micro- 
computer Systems, Inc., Tampa (813) 879-4301 

GEORGIA 

Computer Systems Center, Atlanta (404) 231-1691 



HAWAII 

Microcomputer Systems, Honolulu (808) 536-5288; 

Small Computer Systems, Honolulu (808) 946-3859 

ILLINOIS 

Computerland, Arlington Heights (312) 255-6488; 
Champaign Computer Co., Champaign (217) 359- 
5883; Numbers Racket, Champaign (217) 352-5435; 
itty bitty machine company, Evanston (312) 328- 
6800; Nabih's, Evanston (312) 869-6140; Bits and 
Bytes, Posen (312) 389-7112; American Microproces- 
sors, Prairie View (312) 634-0076; Lillipute Computer 
Mart. Skokie (312) 674-1383 

INDIANA 

Data Domain, Bloomington (812) 334-3607; Data 
Domain, Fort Wayne (219) 484-7611; Byte Shop, 
Indianapolis (317) 842-2983; Computers Unlimited, 
Indianapolis (317)849-6505;Data Domain, Indianapo- 
lis (317) 251-3139; Home Computer Center, Indiana- 
polis (317) 251-6800; Audio Specialists, South Bend 
(219) 234-5001 

IOWA 

Micro Bus Inc., Cedar Rapids (319) 364-5075 

KENTUCKY 

Data Domain, Lexington (606) 233-3346; Computer- 
land, Louisville (502) 425-8308; Data Domain, Louis- 
ville (502) 456-5242 

LOUISIANA 

Computer Electronics, Baton Rouge (504) 926-61 69; 

Computer Shoppe Inc., Metairie (504) 454-6600 

MARYLAND 

Computerland, Rockville (301) 948-7676; Computer 

Workshop, Rockville (301 ) 468-0455 

MASSACHUSETTS 

Computer Warehouse Store, Boston (617) 261-1100; 

Computer Mart, Waltham (617) 899-4540 

MICHIGAN 

Computer Mart, Royal Oak (607) 273-3271 ; Computer 
Systems, St. Clair Shores (313) 779-8700; General 
Computer, Troy (313) 362-0022 

MINNESOTA 

Microprogramming Inc., Burnsville (612) 894-3510; 
Computer Room Inc., Egan (612) 452-2567; Com- 
puter Depot, Minneapolis (612) 927-5601 

MISSOURI 

Compu Systems, Rockport (816) 744-2502 

NEW JERSEY 

Hoboken Computer Works, Hoboken (201 } 420-1644; 
Computer Mart, Iselin (201 } 283-0600; Computerland, 
Morristown (201 ) 539-4077; Mini Computer Suppliers, 
Inc., Summit (201) 277-6100 

NEW YORK 

Computerland, Buffalo (716) 836-6511; Computer 
Enterprises, Fayetteville (315) 637-6208; Computer- 
land, Ithaca (607) 277-4888; Ithaca Audio, Ithaca 
(607) 273-3271; Byte Shop East, Levittown (516) 
731-8116; Computer Microsystems, Manhasset (516) 
627-3640; Computer Shoppe, Middle Island (516) 
732-4446; Audio Design Electronics, New York City 
(212) 226-2038; Computer Mart of New York, New 
York City (212) 686-7923; Computer House, Inc., 
Rochester (716) 654-9238; Computer Corner, White 
Plains (914) 949-3282; Microcomputer Workshop, 
Williamsville (716) 634-6844 



OHIO 

Cincinnati Computer Shop, Cincinnati (513) 733- 
5706; Cybershop, Columbus (614) 239-8081; Data 
Domain, Dayton (513) 223-2348; Dayton Computer 
Mart, Dayton (513) 296-1248; Byte Shop, Rocky 
River (216) 333-3261 

OKLAHOMA 

Bits, Bytes and Micros, Oklahoma City (405) 947- 

5646; High Technology, Oklahoma City (405) 842- 

2021 

OREGON 

Computek, Beaverton (503) 285-0658; Real Oregon 
Computer Co., Eugene (503) 484-1040; Byte Shop, 
Portland (503) 223-3496 

PENNSYLVANIA 

ByteShop,BrynMawr(215) 525-7712; Personal Com- 
puter Corp., Frazer (215) 647-8460; Electronics Place, 

Pittsburgh (412) 821-2223 

SOUTH CAROLINA 

Byte Shop,Columbia(803) 771-7824 

TEXAS 

Young Electronics, College Station (713) 845-7015; 
K A Electronic Sales, Dallas (214) 634-7870; Personal 
Computing Place, Dallas (214) 620-2776; Computer 
Terminal, El Paso (915) 532-1777; Electronic Speci- 
alty, Houston (713) 665-0477; Houston Computer 
Mart, Houston (713) 649-9224; The M O S. Houston 
(713) 527-8008; Microtex Inc., Houston (713) 780- 
7477; Computer Mart of West Texas, Lubbock (806) 
765-7134; Neighborhood Computer Store, Lubbock 
(806) 797-1468; Micro Store, Richardson (214) 231- 
1 096; Computer Shop, San Antonio (512) 828-0553 

UTAH 

Byte Shop of Salt Lake, Salt Lake City (801) 355- 

1041 



VIRGINIA 

Computer Systems Store, McLean (301) 460-0666; 
Media Reactions, Inc., Reston (703) 471-9330; The 
Computer Shop, Virginia Beach (804) 428-6420; 
Home Computer Center, Virginia Beach (804) 340- 
197 7 

WEST VIRGINIA 

Computer Corner, Morgantown (304) 292-9700 

WISCONSIN 

Madison Computer Store, Madison (608) 255-5552; 

Milwaukee Computer Store, Milwaukee (414) 259- 

9140; Electronic Industries, Oshkosh (414) 235- 

8930 

CANADA 

Orthon Computers, Edmonton, Alberta; Microtech 

Computers, Winnipeg, Manitoba 

ENGLAND 

Haywood Electronic Associates, Northwood, 

Middlesex 

SWITZERLAND 
Instrumatic, Geneva 

WEST GERMANY 
Digitronic, Wedel (Holstein) 




l03 G3APHC inc. 



©W-fc^^X^^l Vrf^iAAl" IV I IV Not affiliated with Vector General, Inc. 
790 Hampshire Rd., A + B, Westlake Village, CA 91361 Telephone: (805) 497-0733 



Circle 157 on inquiry card. 



You Asked For It! 



You asked for the Intel 8080A CPU 

You asked for a real-time clock ............. 

You asked for eight level 

vectored priority interrupts 

You asked for a jump-ori-reset 

and resident monitor 

You asked for the S- 100 bus . . 

You asked for an 1 8 slot 

fully shielded motherboard 

You asked for a 

rugged, reliable chassis . . 

Then . . . You asked for the compactness and 

convenience of installing your mini-f 'loppy 

disk directly in the front panel .NOW 



We gave you the vECKR 1 
We gave you the VECECH 1 

We gave you the V ECU03 1 

We gave you the VECKH 1 
We gave you the VECCO^ 1 



We gave you the 



We gave you the 



Vegxhi 
Vecco^i 



We give you the 





^0 Hampshire Rd„ A + B, 



can be illustrated by walking verbally 
through a typical sequence of operations. 
First, let's assume that the machine is in 
RUN mode, which is indicated by a low 
level on the output of the execution state 
flip flop, lC49b pin 9. This is the normal 
situation for a fully executing 6502 program 
contained in the system's main program- 



mable memory region. Next, press the front 
panel's HALT switch, SI. Upon release 
of the HALT switch the debounce logic 
completes one HALT pulse which is proc- 
essed by the command encoding logic 
of figure 1.5. When the HALT line makes 

Text continued on page 128 



BUFFERS & ADDRESS PULL UPS 

44PINEDGE CONNECTOR 
I 
BACKPLANE I PROCESSOR CARD 
I +5V 

I @ 
i © 




J2 

TO FRONT PANEL 



-CD> 



■q> 

-I±> 



-{E> 
"[3§> 

-Gl2> 

I 
I 



Figure 2.3: Pull up resistors for backplane address lines, and inverting receivers for local use in the front panel interface. 



122 BYTE November 1977 







ANY NUMBER OF FILES MAY BE OPEN (IN USE) AT ONE TIME 

THE NUMBER OF FILES AND SIZE OF FILES IS LIMITED ONLY BY THE SIZE OF THE DISC 
MERGING FILES REQUIRES NO EXTRA DISC SPACE 
i NO WAITING FOR THE DISC TO RE-PACK 
LONGER DISC LIFE -MORE EVEN DISC WEAR 



Our Basic Floppy Disc System (BFD-68) must, in all mod- 
esty be called superb. It comes completely assembled with a 
disc controller that is plug compatible with the SWTPC 6800. 
In fact all our products use the 6800 standard SS-50 (Smoke 
Signal 50) bus used by SWTPC. 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 (pic- 
tured). 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. 
Our software provides for a soft-sectored disc format consist- 
ing of 128 bytes per sector, 18 sectors per track and 35 tracks 
per disc 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, RE- 
NAME, COPY, LIST, FIND, 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 ini- 
tiate 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. 

SUPER EDITOR: Smoke Signal Broadcasting now has its 
own editor. It is a content oriented editor with string search 
and block move capability. Changes may be made by referring 
either to line number or string content or a combination of 
references. Naturally, it is designed for file transfer to and from 
the BFD-68. Price: SE-1 $29 on diskette or cassette. 

ALLOUR PRODUCTS EXCEPT THE PS-1 ARE COMPLETELY ASSEMBLED. 



SUPER ASSEMBLER: Inputs source code from file on the 
BFD-68 disc system and outputs object code to disc file. As- 
sembly listings include alphabetized and tabulated symbol table. 
Price: SA-1 $29 on diskette or cassette. 

Complete source listing included for both editor and assem- 
bler. 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 instead of PIA and includes many 
additional features including a software single-step trace com- 
mand. A SMARTBUG listing is included and object code is 
provided on a 2708 free with each P-38 series board pur- 
chased. Source listing available separately for $19.50. 

NEED A FULL SIZE FLOPPY? Our P-38-FF is a plug-in inter- 
face card to the ICOM Frugal Floppy™, it includes all the fea- 
tures of the P-38-1 plus one 2708 EPROM containing the ICOM 
bootstrap software. Just plug the P-38-FF into your SWTPC 
6800 and your ICOM into the P-38-FF and you're ready to 
use the Frugal Floppy and ICOM's 6800 software package. 
Price $299. 

Our P-38 is an 8K EPROM board containing room for 8 
2708's. Or, you may use it to hold up to 7 2708's plus your 
Motorola Mikbug or Minibug II ROM. The P-38 addressing is 
switch selectable to any 8K location. Price $179. 

The P-38-1 contains all the features of the P-38 plus an inter- 
face to the Oliver Paper Tape Reader and our EPROM Pro- 
grammer. Price $229. 

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

Our M-16-A is a 16K single powersupply STATIC RAM mem- 
ory system. The M-16-A is fully buffered and requires only half 
the power of a similar size system using low-power 2102 r s. 
With the M-16-A, you can expand your system to 48K and still 
have room left for one of our EPROM boards. The M-16-A is 
switch selectable to any 4K starting address and hardware write 
protect is included. Quick delivery. Price. $529. 

BANKAMERICARD, VISA AND MASTER CHARGE WELCOME. 





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

Circle 128 on inquiry card. 



BYTE November 1977 



123 












HHonRnnn 




Figure 2.4: A continuation of the front 
panel interface module address decode logic. 
This is a 512 by 8 bit fusible link program- 
mable read only memory module with de- 
code logic. This Intel 3624-4 PROM contains 
the front panel monitor program of listing 1 
and responds to addresses FEOO thru FFFF 
in memory address space using decoding 
in the figure. Output is directly to the data 
bus, which is also connected to the back- 
plane and to the front panel assembly. 



L. u_ CD CD CD £D CD CD CD Li_ CD CD CD CD CD Y \ => _ 



124 



BYTE November 1977 




24 Channel LOGIC ANALYZER, complete with 2 cards and 
3 sets of probes (only one set shown). 

Features 

— 24 channels with 256 samples each. 

— Display of disassembled program flow. 

— Dual mode operation — external mode analyses 
any external logic system. Internal mode monitors 
users data and address bus. 

— Selectable trigger point anywhere in the 256 
samples. 

— 0-16 bit trigger word format or external qualifier. 

— 10MHz sample rate (50ns min. pulse width) 

— Synchronous clock sample with coincident or 
delayed clock mode. 

— User defined reference memory. 

— Displays and system control through keyboard 
entry. 

— TTL Logic level compatible (15 pf and 15 pa 
typical input loading). 

— Includes annotated source listing. 



r »3W HI 911 or 
m .■: i 

m K SF 

m _■: T,m 
m mi 
m mi 

BBC *&3 

m RS"Si 
BE CRlKA 
■:<■ \. :,= 

m k t 

s:: V-: ~ 

s:j Pf : * 



Display of disassembled 
program flow. 



Databyte, Inc 



P.O. Box 14 
7433 Hubbard Avenue 
Middleton, Wisconsin 53562 
Tel: (608) 831-7666 



24 channel 
Logic Analyzer 
plugs into 
your S-100 Bus 



The DATALYZER 

The Databyte Logic Analyzer (DATALYZER) is a con- 
venient, flexible, high quality device. Efficient 
engineering has allowed a combination of features 
previously available in only the most expensive units. 

Designed to plug easily into your S-100 Bus, the 
DATALYZER is a complete system — for only 
$495. Display of disassembled program flow is a 
standard feature, not an extra. And the low price 
includes 30 logic probes, so you can hook up 
immediately, without additional expense. 

The DATALYZER is available in kit form ($495), 
and as a fully assembled device on two PCB's ($595). 
Four-week delivery, a substantial warranty, and the 
Databyte, Inc. commitment to service make the 
DATALYZER a worthwhile investment. Begin 
debugging by sending the coupon now. 



m x 


■ 1 Mi 


*£C » 


SEoecl ?kVcI 


I 


uag» AMR?2 


S3 




i 


mgmmg 


?. 




* 


MA&i WME 


87 


wmtmm 


39 


mm mm 



imp ivmv.: :.\\\ ::;•:: .a ::;■:•:: ::?.:■:* 



::::■::;•: 
:c: ::■:;■: 



UUBBBIfMiniUI : 

ueneiiiwnmn 



Displays in Hex 



Displays in Binary 



[Tlease send me the 24 Channel LOGIC ANALYZER 

□ Kit - (manual included) $495.00 (Wis. res. add 4%) 
I CH Assembled and Tested (manual included) $595.00 

d Operators' manual only $7.50 
| Delivery of all items in four weeks to: 

Name 

| Address 

City 

| Telephone 

I 



State 



Zip- 



Payment Enclosed: □ Check □ Money Order 

□ BankAmericard □ Master Charge Exp. Date 

Number 

Signature . 



Circle 43 on inquiry card. 



BYTE November 1977 



125 



Figure 2.5: Mechanical layout of the front panel interface module. This board is built on a standard Vector Electronic Co 
prototyping card, and plugs into the 44 pin backplane connector (two sides with 22 pins each). 

VECTOR BOARD 3677-2 



HARDWARE 
MAP 
COORDINATES - 



J2 CONNECTIONS TO FRONT PANEL 
2 3 4 



14 

1 


IC36 
74260 


8 

7 



5 6 7 8 9 10 II 12 



13 14 15 16 17 18 19 20 
• ••••••• 



21 22 23 24 25 26 27 28 



29 30 31 32 33 34 35 36 
• ••••••• 



A2 



37 38 



I C 18 

INTEL 

3624-4 

TRI-STATE 

PROM 

512X8 BITS 



A3 



A5 



IC35 
74148 



IC23 
7404 



IC38 
74279 

3 
SPARES 



B2 



B3 



B5 



IC37 
74260 



IC39 
7400 




IC29 
74260 




IC30 
74260 




IC3I 
74260 




IC32 
74260 




IC33 
74260 



CI 




C2 




C3 




C4 




1C25 
74 138 




IC26 
74138 




IC27 
74138 




IC28 
74138 




C5 




C6 




IC24 
7420 




IC22 
7414 



Dl 




D3 




D5 




PULL 
UP 
RES. 




D2 




PULL 
UP 
RES. 




D4 




PULL 
UP 
RES. 




D6 




1019 

7414 






IC20 
7414 






IC2I 
7438 



A7 



IC34 
74260 



SPARE 




Figure 3.1 : Processor module diagram. The 6502 processor module contains the 6502, its data bus and address bus buffering 
logic, and logic of the priority interrupt structure which substitutes one of six interrupt vector addresses on the low order 
address lines based on the priority of an interrupt. This overrides the processor generated address of FFFE or FFFF for an 
interrupt via the IRQ input. IRQ interrupt vectors are located at addresses FFE4 to FFEE in memory address space, with six 
priority levels. Note that the BRK instruction maps to vector FFEO (see listing 1). 



126 



BYTE November 1977 



10 o 5 

^ icn io3 ir- iio 10 im o: K 
\<t Id < l<t l< < < ~ cr 



o — 
z<-> 


liJ(T 


Q.UJ 


5° 


<*o 


CLUJ 


<t UJ 




oo 




<cc 




CDQ. 



< IC IfO |0J |_ 

AAA aaaaa AAAAAAAAA kill' 



-- A 

y? A 



r^ 



© 



© 



?ll° 



A 



A 



© 



© 



5? 1 



I 




i ■ A 



i" 



CVjlD — 



1 



A 




A ^0 




n 10 id O 10 m r C 



(J> 03 r- id o i" 
< <. < < < < 







©^ 



:© 



© 





crO_| 



liJLU W 
-ICE S 



A 



Q. W 



ujq: 

zo 



00 

CDCL 



I 



1 *Jjn jg[= g|g g] 



A 



I 




: q- gl^Tlcvi Tl 



4- 




)©©©©© 

)©©© 



©©©©©© 

<cX$) ©©©©©© 



Q.Q: 

0< 
00 



©©©©©-©© 






^ 



a— l— 



feXs) 



■WVi 

5© 



^F 



h- If) if) t to 



U 



00 ^ fr 



^ 



»__AAAG—$_$-§-Q $-$-^-0 66666S— 



BYTE November 1977 



127 



Text continued from page 122 

its rising transition at the end of the pulse, 
the state of the execution state flip flop 
changes, causing the halt mode to be 
entered. 

The logic which drives the RDY and NMI 
lines is responsible for assuring that the 
processor runs one extra instruction before 
dropping off into a halt. The process of 
going into a halt is accomplished through 
the nonmaskable interrupt. A halting of the 



user program really means return to the 
front panel control program through the 
NMI signal generated here, so that the front 
panel control program can use the register 
information stacked up during the interrupt 
to update the external displays. 

After such a halt, the front panel address 
display shows the location of the next in- 
struction which can be executed in the pro- 
gram just halted. By setting the data display 

Text continued on page 134 



HARDWARE 

MAP 

COORDINATES- 



PULL UP RESISTORS FOR PROCESSOR 
BOARD ASSEMBLY 



COMPONENT 
CARRIER MAP 
LOCATION 



+ 5V 
A 



E3 < 



E7< 



© 560 © 



~E> IRQI 



© 560 © 

wv |T> |RQ5 

© 560 © __ 
^-^w (M> IRQ2 

© 560 © j _^ 
VW E> IRQ3 



© 560 @ 



-[j7> IRQ6 



© 560 © 



-E> |R Q 4 

© 560 © __ 

WV Q|> |RQX 



© 3K © 



-dT> NMI 



© 560 @ ,_^ 
-^— W, ^ TJ9> RDY 



© 3K © 



-d3> PANRST 



© 560 © __ 
-^--w^ — Cu> SO 



Note: To reduce possible noise 
problems, small 0.01 fif by- 
pass capacitors should be add- 
ed to board assembly. They 
can be wire wrap installed 
from +5 V pin to ground pin 
of every other IC socket. 



VECTOR 



3662 



Bl 



Dl 



A4 



ICI 


21 


MOS TECHNOLOGY 




MCS 6502 




/^PROCESSOR 
(40 PIN SOCKET) 
I 8 





B3 



B4 



14 
ICI2 
74 16 

7 




14 
ICIO 
74I6 

7 



D2 




D4 


16 

ICI5 
74I57 

8 




D3 




16 

IC9 
74I48 

8 




14 
ICI4 
74 I 

7 





IC8 
74I6 



El 




E3 


C 16 


E2 


C 16 


c 




14 




c 


M A 








M A 


P R 




ICI 6 




P R 


R 




74I7 




R 


N I 








N I 


E E 








E E 


N R 








N R 


T 








T 


8 




7 




8 



E6 



B5 




B6 




B7 


14 




C 14 




14 


ICI7 




c 
M A 
P R 




IC 2 


7404 






74121 






R 










N 1 










E E 










N R 






7 




7"T 




7 





C4 




C5 




CI 




C2 




C3 




16 

IC6 
DM8835 

8 




16 

IC5 
DM8835 

8 




C6 




C7 


14 
IC7 
7404 

7 




14 
IC 13 

74260 

7 




14 
ICII 
74260 

7 






14 
IC4 
7414 

7 




14 
IC3 
7402 

7 





























D7 



E7 



C 


16 


C 




M A 




P R 




R 




N 1 




E E 




N R 




T 




8 






Figure 3.2: Processor module mechanical layout. This map shows placement of the processor integrated circuits on a Vector 
prototyping card. 



128 BYTE November 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 look 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. 




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



Name 

Address 



City /State /Zip. 



Circle 114 on inquiry card. 



BYTE November 1977 



129 



cm ro ro 







iiAAAdd 



Figure 4. 1: TIM interface module details. The MOS Technology TIM monitor program resides in a single MCS6530 ROM and 
peripheral interface circuit. The TIM interface module allows Kompuutar to be used with any serial terminal. 



130 



BYTE November 1977 



NOW! Every Business 
Can Own One 




A secretary, accountant, 
and financial advisor 
all rolled into one for 
less than $1.50 per 
hour. Sound too good 
to be true? Let the 
ADMINISTRATOR do 
it for you. 



Our "General Ledger Program" is a complete comprehensive business 
system designed to keep all of your company's records without the need for 
updating from other programs and there is no need to keep monthly tear 
sheets to be added together for the end of the year reports as our system will 
provide you with year end account totals for cash, accural, hybrid and chart of 
accounts systems. This program generates over 30 major reports. Including: 
941's, P/L's, Balance Sheets, and year end account totals for filing Federal 
Income Tax Schedule C's and/or 1120's plus a lease purchase plan and 
24-hour field service in most areas. Hard to believe! For less than $250/month 
you can lease your very own, nothing else to purchase. 
ADMINISTRATOR I includes a miniature micro computer; S-100 Buss, with 
over 65K of user RAM. No switches to set, Power-on operation, multiple I/O 
interfaces, line printer, Video Terminal, Double-Density Disk, Disk Extended 
Basic and applications Software diskettes complete with full documentation 
(includes General Ledger, Payroll, Word Processing, Medical A/R, A/P, 
Engineering, Statistics, more) includes "Help" and Tutorial Software. 

ADMINISTRATOR I $8999.00* 

Additional 600K disks optional. 



Compare at $30,000 for other micros or $70,000 for mini's 

"Add $100 for Express shipping and handling • No Purchase Orders — include 50% deposit with all COD orders. 



Business 
Software Too! 

Includes over 
$75,000.00 of busi- 
ness programs free 
and that's only part 
of what we're giving 
away. We built our 
reputation providing 
quality software at 
affordable prices. 
Now we are going to 
do the same with our 
Administrator I 



© 



SCIENTIFIC RESEARCH 

1712-B Farmington Court • Crofton, MD 21114 
(301)721-1148 

Dealer Inquiries Invited 



BYTE November 1977 131 



MAP 

COORDINATES *. | 



J4: Parallel Interface 



Pin 



Mnemonic Description 



1 


DO 




2 


D1 


( 


3 
4 


D2 
D3 


/ data bus lines 


5 


D4 




6 


D5 


J 


7 


— 


/_ 


8 


GND 


ground 


9 
10 


D6 
D7 


I data bus lines 


11 


DRDY 


data ready 


12 


DAKN 


data acknowledge 


13 


— 


— 


14 


— 


— 


15 


— 


— 


16 


GND 


ground 



40 



IC77 
MOS 
TECHNOLOGY 
MCS6530 
-004 
TIM 



20 



E2 



I 14 


IC83 


74I7 


7 8 



IC84 
DM8835 



3662 



B3 



1 c 


16 


c 




M A 




P R 




R 




N 1 




E E 




N R 




T 




8 


9 



D3 



1 c 


16 


c 




M A 




P R 




R 




N 1 




E E 




N R 




T 




8 


9 



E3 



IC85 
DM8835 



1 14 


IC 75 


LM 1489 


7 8 



IC80 
74260 



E4 


1 14 


IC82 


7414 


7 8 



1 C 


16 


C 




M A 




P R 




R 




N 1 




E E 




N R 




T 




8 


9 



C5 



IC76 
LMI488 



IC 81 
7400 



1 


14 


IC79 




7414 




7 


8 



J2 



J3 



1 


4 


IC78 




7414 




7 


8 




*Jacks 2, 3 and 4 are standard 
IC wire wrap sockets. They 
are used as cable connectors 
by mating with special 
"Augat" plugs. 



J2: RS-232 Interface 



Pin Mnemonic Description 



1 

2 

3 

4 

5 

6 

7 

8 

9 

10 

11 

12 

13 

14 



RS-232 OUT seal data standard (out) 

+10 V voltage source to peripherals 

—10 V voltage source to peripherals 

RS-232 IN seal data standard (in) 



GND 

RS-232 OUT 
+ 10 V 
-10 V 
RS-232 IN 

GND 



ground 

seal data standard (out) 
voltage source to peripherals 
voltage source to peripherals 
seal data standard (in) 

ground 



J3: Teletype Interface 

Pin Mnemonic Description 



1 


-10 V 


2 


TTYOT 


3 


+ 10 V 


4 


+ 10 V 


5 


TTYIN 


6 


BIASIN 


7 


GND 


8 


-10 V 


9 


TTYOT 


10 


+10 V 


11 


-10 V 


12 


TTYIN 


13 


BIASIN 


14 


GND 



voltage source to peripherals 

Teletype (out) 

voltage source to peripherals 

voltage source to peripherals 

Teletype (in) 

pull up voltage source 

ground 

voltage source to peripherals 

Teletype (out) 

voltage source to peripherals 

voltage source to peripherals 

Teletype (in) 

pull up voltage source 

ground 



Figure 4.2: TIM interface module mechanical layout. This shows the physical arrangement of the wire sockets used to 
implement the TIM terminal interface for Kompuutar. 



132 



BYTE November 1977 






Building a better computer 
wasn't easy. But we did it. 



Introducing the MSI 6800 Computer System 

When we set out to build the new MSI 6800 Com- 
puter System, we knew we had our work cut out for 
us. It had to be at least as good as the now famous 
MSI FD-8 Floppy Disk Memory System which is also 
pictured below. So, the first thing we did was analyze 
all the problems and drawbacks we had encountered 
with other 6800 systems, and then put our engineers 
to work on solutions. The objective: Build a better 
computer. 



We started with power 
supply. We had big ideas, so 
we used a hefty 18 amp pow- 
er supply. You can run full 
memory and several peripher- 
als without the worry of run- 
ning out of juice. We also put 
it in the front of the cabinet 
so it's out of the way. 

The next step was the 
CPU Board. A separate baud 
rate generator with strap- 
pable clock outputs allows 
any combination of baud 
rates up to 9600. A separate 
strappable system clock is 
available and allows CPU 
speeds of up to 2 MHz. The 
new MSI monitor is MIK- 
BUG software compatible, so 
you will never have a prob- 
lem with programs. Addi- 
tional PROM sockets are 
available for your own spe- 
cial routines and to expand 
the monitor. The CPU also 
contains a single step capa- 
bility for debugging software. 




To complete the system, we used an MSI 8K 
Memory Board which employs low power 2102 RAM 
memory chips and is configured to allow battery 
back-up power capability. A DIP switch unit allows 
quick selection of a starting address of the board at 
any 8K increment of memory. 

If you're one of those people who understands 
the technical stuff, by now you'll agree the MSI 6800 
is a better computer. If you're one who does not un- 
derstand it yet, you'll be more 
interested in what the system 
can do . . . play games, con- 
duct research and educa- 
tional projects, control lab 
instruments, business appli- 
cations, or just about any- 
thing else you might dream 
up that a microcomputer can 
do. The point is . . . the MSI 
6800 will do it better. 

The MSI 6800 Computer 
System is available in either 
kit form or wired and tested. 
Either way, you get a cabinet, 
power supply, CPU board, 
Mother board, Interface 
board, Memory board, docu- 
mentation, instructions, sche- 
matics, and a programming 
manual. Everything you need. 

There is more to say 
about the MSI 6800 than 
space permits. We suggest 
you send for more informa- 
tion which includes our free 
catalog of microcomputer 
products. 



When we got to the Mother Board, we really 
made progress. It has 14 slots to give you plenty of 
room to expand your system to full memory capabil- 
ity, and is compatible with SS-50 bus architecture. 
Heavy duty bus lines are low impedance, low noise, 
and provide trouble-free operation. 

With all this power and potential, the interface 
had to be something special. So instead of an inter- 
face address in the middle of memory, we put it at the 
top . . . which gives you a full 56K of continuous 
memory. Interfaces are strappable so they may be 
placed at any address. An interface adapter board is 
compatible with all existing SS-50 circuit boards and 
interface cards. All MSI interface cards communicate 
with the rear panel via a short ribbon cable which ter- 
minates with a DB-25 connector. All baud rate selec- 
tion and other strappable options are brought to the 
connector so they may be automatically selected by 
whatever plug is inserted into the appropriate inter- 
face connector. Straps may also be installed on the 
circuit board. 

Circle 92 on inquiry card. 



Building a better computer was not easy. Becom- 
ing the number one seller will be. 

220 West Cedar • Olathe, Kansas 66061 • 913/764-3273 
TWX 910 749 6403 (MSI OLAT) • Telex 42525 (MSI A OLAT) 

□ □□□□□□□□□□□□□□□□□□□□□□□ 

Midwest Scientific Instruments 
220 W. Cedar, Olathe, Kansas 66061 

NAME 



ADDRESS 

CITY 

STATE 



.ZIP. 



011177 
BYTE November 1977 133 



Text continued from page 128 

selection switch to point to the DATA posi- 
tion, the contents of memory at this loca- 
tion are displayed, having been transferred 
to the front panel scratch pad location 800D 
by the service program during the halt opera- 
tion. At other positions of the switch, it is 
possible to view copies of the X register, Y 
register, accumulator A or the stack pointer 
register. The current contents of the pro- 
cessor status register are shown in the eight 



discrete LED outputs at location 8013 in 
memory address space. 

If it is desired to modify a status flag, the 
flag select switch can be rotated to the de- 
sired bit, and the flag set or flag reset func- 
tion be used to alter the flag state. If desired, 
memory can be examined or altered using 
the deposit, deposit next, examine or 
examine next routines activated by appro- 
priate panel switches. Pressing RUN con- 
Text continued on page 137 



Front Panel Assembly Circuits 



Central Processor Module Integrated Circuits 



IC 



Type 



1 


MSC6502 


2 


74121 


3 


7402 


4 


7414 


5 


DM8835 


6 


DM8835 


7 


7404 


8 


7416 


9 


74148 


10 


7416 


11 


74260 


12 


7416 


13 


74260 


14 


7410 


15 


74157 


16 


7417 


17 


7404 









Map Location in 


+5 V 


GND 


Figure 3.2 


8 


1, 


21 


A3, 4, 5 


14 


7 




B7 


14 


7 




C7 


14 


7 




C6 


16 


8 




C5 


16 


8 




C4 


14 


7 




C1 


14 


7 




D6 


16 


8 




D4 


14 


7 




B2 


14 


7 




C3 


14 


7 




B1 


14 


7 




C2 


14 


7 




D3 


16 


8 




D2 


14 


7 




E2 


14 


7 




B5 



Front Panel Interface Module Circuits 











Map Location in 


IC 


Type 


+5 V 


GND 


Figure 2.3 


18 


lntel3624-4 


22,24 


12 


A2 


19 


7414 


14 


7 


D2 


20 


7414 


14 


7 


D4 


21 


7438 


14 


7 


D6 


22 


7414 


14 


7 


C6 


23 


7404 


14 


7 


A4 


24 


7420 


14 


7 


C5 


25 


74138 


16 


8 


C1 


26 


74138 


16 


8 


C2 


27 


74138 


16 


8 


C3 


28 


74138 


16 


8 


C4 


29 


74260 


14 


7 


B2 


30 


74260 


14 


7 


B3 


31 


74260 


14 


7 


B4 


32 


74260 


14 


7 


B5 


33 


74260 


14 


7 


B6 


34 


74260 


14 


7 


A7 


35 


74148 


16 


8 


A3 


36 


74260 


14 


7 


A1 


37 


74260 


14 


7 


A6 


38 


74279 


16 


8 


A5 


39 


7400 


14 


7 


B1 











Map Location in 


IC 


Type 


+5 V 


GND 


Figure 1.9 


40 


74279 


16 


8 


D5 


41 


74279 


16 


8 


E5 


42 


74279 


16 


8 


E6 


43 


74279 


16 


8 


F8 


44 


7400 


14 


7 


E3 


45 


74197 


14 


7 


D1 


46 


7400 


14 


7 


F9 


n 47 


7400 


14 


7 


F1 


48 


7404 


14 


7 


C1 


49 


7474 


14 


7 


F4 


50 


74148 


16 


8 


F7 


51 


7474 


14 


7 


F5 


52 


7400 


14 


7 


F6 


53 


7410 


14 


7 


F3 


54 


7400 


14 


7 


C5 


55 


7474 


14 


7 


F2 


56 


74197 


14 


7 


A4 


57 


7416 


14 


7 


B5 


58 


7400 


14 


7 


C4 


59 


74197 


14 


7 


B4 


60 


7416 


14 


7 


B1 


61 


7489 


16 


8 


A3 


62 


74157 


J6 


8 


C3 


63 


7489 


16 


8 


B3 


64 


7416 


14 


7 


A1 


65 


HP-5082-7340 


7 


6 


X1 


66 


HP-5082-7340 


7 


6 


X2 


67 


HP-5082-7340 


7 


6 


X3 


68 


HP-5082-7340 


7 


6 


X4 


69 


74153 


16 


8 


A2 


70 


74153 


16 


8 


B2 


71 


74153 


16 


8 


C2 


72 


74153 


16 


8 


E4 


73 


DM8835 


16 


8 


E2 


74 


DM8835 


16 


8 


E1 


TIM Interface Module Circuits 

# 









IC 

75 
76 
77 

78 
79 
80 
81 
82 
83 
84 
85 



Type 

LM1489 

LM1488 

MCS6530 

7414 

7404 

74S260 

7400 

7404 

7417 

DM8835 

DM8835 



+5V +10 V -10 V GND 



14 

20 
14 
14 
14 
14 
14 
14 
16 
16 



14 



Map Location in 
Figure 4.2 

C4 
C5 
C1 
E6 
E5 
D4 
D5 
E4 
E1 
E2 
E3 



Table 5: Integrated circuit summary for Kompuutar. This table summarizes the 85 Integrated circuits used In Kompuutar, 
arranged In groupings by the circuit modules of the system. The column labelled "Map Location" identifies the physical position 
of the circuits on the various boards of the system, as shown in the physical layout diagrams in the figures. Note that the phy- 
sical layouts represent a good workable arrangement of sockets. There is no logical requirement that the particular map positions 
used in these diagrams be followed to the letter in another implementation of the system. 



134 



BYTE November 1977 



cess 



NOW PREPARING 

FOR ITS 

SECOND SHOWING 



International 
/Microcomputer* 
/Minicomputer* 
/Microprocessor* 




20, 21,22 JUNE, 1978 

Palais des 

Expositions 

Geneva, 

Switzerland 



ANOTHER PRIME OPPORTUNITY TO SELL 
TO THE EUROPEAN MARKET 

Microcomputers, Minicomputers, Microprocessors, Peripherals, Components and Services 



■ 



A 50% LARGER EXHIBITION 
IS PLANNED 



ssiiiisMii' 



The sales results IMMM obtained 

for its 1977 exhibitors is clearly 

indicative that in 1978 more and 

more producers will be displaying 

products for use in every type of 

industrial, commercial, consumer 

and military application. Their 

enthusiasm has prompted many 

additional manufacturers of small computers (firms 

which attended and observed in 1977) to make serious 

commitments regarding participation in the next show. 

With these new exhibitors and the increased space 

already requested by 1977 participants, IMMM '78 will 

be a much larger show! 

In 1978, the kind of people you want to meet — 
executives, engineers, designers, manufacturing and 
support supervisors, and others — will be out in force 
... to see, to learn, to BUY. And you will want to be 
there with YOUR products and services. 




PROGRAMME DESIGNED 

TO ATTRACT MANY 

MORE VISITORS 



The remarkably large audience 
of highly qualified and seriously 
interested visitors who attended 
the first IMMM exposition was 
obviously pleased with the 
technical programme. Comments 
indicate that the programme, as well as the exhibition, 
will be a key factor in attracting an even larger group 
of attendees to the next show. 

The 1978 programme, chaired and presented by 
internationally recognised experts, again will be de- 
signed to offer the kind of practical solutions to day- 
to-day problems that attendees seek. A special session 
on "Tips for Hobby Microcomputers" is being planned. 

SPONSORED BY DISTINGUISHED PUBLICATIONS 

Mini-Micro Systems (U.S.A.) Polyscope (Switzerland) 

Micomp (Switzerland) Markt Und Technik (West Germany) 



c** 


IN EUROPE: 


Mr. Ernest Jungmann ' 


IN THE UNITED STATES: 


IN JAPAN: 


■ U 1 


Mr. Bert Saunders 


Promotion Marches 


Mr. Joseph Maurer 


Mr. K. Yamada 


Additional 


Kiver Communications S.A. 


Exterieurs 


Industrial & Scientific 


ISCM Japan 


(U.K. Branch Offitie) 


Residence Mexico 


Conference Management, 


Kokado Building 


Information: 


171/185 Ewell Road 


65, rue tiu Javelot . 


Incorporated 


1-3-18 Akasaka 


Surbiton, 


75645 Paris CEDEX 13, 


222 West Adams Street 


Minato-ku, Tokyo 107, 




Surrey KT6 6AX England 


France 


Chicago, Illinois 60606 


Japan 




Telephone: 01-390-0281 


Telephone: (1) 583-96-62 


Telephone: (312)263-4866 


Telephone: 03-585-8321 i 


L 


Telex: 929837 


Telex: 210500F 


Telex: 256148 


Telex: 28887 A 



Circle 66 on inquiry card. 



BYTE November 1977 



135 






Listing 1 : The front panel service program. This program is resident in a programmable read only memory part wired for ad- 
dresses FEOO to FFFF, as shown in figure 2.4. The listing is a symbolic assembly language version of the program combined with 
the hand assembled object code provided by author Brader. The information at the end of the PROM area includes the interrupt 
vectors which are implemented in the Kompuutar system. 



Hexadecimal Hexadecimal 

Address Code Label 



FEOO 
FE03 
FE06 
FE09 

FE09 
FEOA 
FE08 
FEOC 
FEOD 
FEOE 

FEOE 
FE11 
FE14 
FE17 
FE18 
FE18 

FE18 
FE1E 
FE1F 
FE20 
FE21 



FE22 
FE25 
FE27 
FE2A 
FE2C 

FE2F 



Op Operand Commentary 



FE35 
FE38 
FE3A 



FE40 
FE42 
FE45 
FE47 



FE4D 
FE4D 



FE4F 
FE51 
FE54 
FE56 

FE59 



FE5C 
FE5E 
FE61 



FE63 
FE63 
FE65 
FE68 
FE6A 
FE6D 
FE6F 
FE72 
FE74 
FE77 
FE77 
FE79 









* PANEL DRIVER NONMASKABLE INTERRUPT 








ENTRY 


8D 


00 


80 


PNMI STA SVACC [Save state 


8E 


01 


80 


STX SVX of processor registers 


8C 


02 


80 


STY SVY at interrupt] ; 
* RECOVER PROCESSOR STATUS & RETURN 
ADDRESS AT INTERRUPT 


68 






UNSTK PLA 


AA 






TAX 


68 






PLA 


A8 






TAY 


68 






PLA 
* SAVE STATUS, RETURN ADDRESS & STACK IN 
SCRATCHPAD 


8E 


03 


80 


SAVERET STX SVPFLG 


8C 


07 


80 


STY SVADDR 


8D 


08 


80 


STA SVADDR + 1 


8A 






TSX 


8E 


05 


80 


STX SVSTK 
• INTERROGATE CONTROL FUNCTION REQUEST 
REGISTER 


AD 


10 


80 


LDA REQST 


OA 






ASL 


OA 






ASL 


OA 






ASL 


OA 






ASL 
' ENTER PROGRAM TREE TO DECODE & EXECUTE 
REQUEST 


8D 


04 


80 


STA SVAAA 


A9 


20 




LDA #$20 


2C 


04 


80 


8IT SVAAA 


10 


03 




8PL *+5 If request greater than 7 


4C 


7F 


FF 


JMP REG LD then go do register load 



routine; 
8VS XHSEE Else if 4 < request < 7 

then halt, step, examine 

or exam next; 
8NE XDDN Else if 2 < request < 3 

then deposit or deposit 

next; 
h CONCLUDE REQUEST IS OR 1 



LDA #$10 



2C 
DO 
4C 


04 
03 
99 


80 
FE 


4C 


36 


FF 


A9 
2C 
DO 
4C 


10 
04 
03 
29 


80 
FF 


4C 


1E 


FF 



8IT 

8NE 
JMP 



SVAAA 

*+5 

EXITCP 



[Set up mask for bit 

test] ; 



Is request 0? 
If request = then leave 
control program via 
normal NMI; 
JMP FLAG If request = 1 then go do 

FLAG function service; 
* CONCLUDE REQUEST IS 2 OR 3 
XDDN LDA #$10 



8IT 

8NE 
JMP 



SVAAA 

*+5 

DPSNXT 



A9 10 

2C 04 80 

DO 03 

4C FD FE 

4C EE FE 



A9 10 

2C 04 80 

FO 14 



Is request 2? 

If request = 2 then go do 

DEPOSIT NEXT 

service; 
JMP DEPOSIT If request = 3 then go do 

DEPOSIT service; 

* CONCLUDE REQUEST IS 4 TO 7 

XHSEE 8NE XHLSS If request = 6 or request = 

7 then go do HALT or 
STEP; 

* CONCLUDE REQUEST IS 4 OR 5 

LDA #$10 



8IT 


SVAAA 




8NE 


*+5 


Is request 4? 


JMP 


EXMNXT 


If request = 4 then go do 
EXAMINE NEXT; 


JMP 


EXAMINE 


If request = then go do 
EXAMINE; 


CONCLUDE REQUES' 


HLSS LDA 


#$10 


[Set up mask for bit 
test] ; 


8IT 


SVAAA 


[Test for odd or even 
number] ; 


8NE 


SETTRAP 


If request = 7 then skip 
setup logic; 



A9 8D 

8D 09 80 

A9 0D 

8D 0A 80 

A9 80 

8D 08 80 

A9 60 

8D 0C 80 

A9 AD 

8D 06 80 



STA 
LDA 
STA 
LDA 
STA 
LDA 
STA 



FE7C 


20 


06 


80 


SETUP JSR 


FE7F 


AD 


03 


80 


LDA 


FE82 


8D 


13 


80 


STA 


FE85 


A9 


0D 




LDA 


FE87 


8D 


0A 


80 


STA 


FE8A 








* DISPLAY THE 


FE8A 


AD 


07 


80 


LDA 


FE8D 


8D 


14 


80 


STA 


FE90 


AD 


08 


80 


LDA 



CONCLUDE REQUEST IS 6 
SET UP SCRATCH PAD INSTRUCTION SEQUENCE 
LDA #$8D 

DUMMY2 

#S0D 

DUMMY3 

#$80 

DUMMY4 

#$60 

DUMMY5 

* SET UP SCRATCH PAD INSTRUCTION SEQUENCE 
SETTRAP LDA #$AD [Dummy in an LDA 

STA DATATRAP instruction using cur- 
rent address field as its 
address] ; 

* ROUTINE TO EXECUTE SCRATCH PAD PROGRAM 
TO SET UP LATEST SVDATA VALUE 

DATATRAP [Call scratch pad resident 

subroutine] ; 
SVPLFG 
STATUS 

#$0D [Patch the scratch pad 

DUMMY3 program]; 

URRENT ADDRESS 
SVADDR 
LADDR 
SVADDR+1 



FE93 
FE96 
FE99 
FE99 

FE9A 
FE9D 

FE9E 

FE9E 
FEA1 
FEA2 
FEA5 
FEA6 
FEA9 

FEAA 
FEAD 
FEAE 
FEAF 
FE80 

FE81 
FE84 
FE87 
FE8A 
FE8D 

FE8F 

FE8F 
FECI 

FEC4 
FEC7 
FEC9 
FECC 
FECF 
FED1 
FED4 
FED7 
FED9 

FEDC 
FEDF 
FEE1 

FEE4 
FEE7 



FEEB 
FEEE 

FEEE 
FEEE 
FEEE 
FEF1 
FEF4 
FEF7 
FEFA 

FEFD 
FEFD 

FEFF 
FF02 
FF03 
FF06 
FF06 
FF08 

FFOA 
FFOA 
FFOC 
FFOE 



FF14 

FF14 
FF17 
FF18 
FF18 
FF1E 
FF1E 
FF1E 
FF20 



FF23 
FF26 
FF29 
FF29 
FF29 
FF28 



FF2E 
FF31 



8D 


15 


80 




STA 


HADDR 




4C 


9D 


FE 




JMP 


CONTINUE 










* CONTROL PANEL MONITOR EXIT POINT 


38 






EXITCP 


SEC 




iSet carry to indicate end 
of monitor! ; 


4C 


9E 


FE 




JMP 


SETSTAK 




18 






CONTINUECLC 




[Clear carry to continue 














monitor] ; 








* 8EGIN ROUTINE TO SET UP STACK AND 








TEMPORARILY LEAVE MONITOR 


AD 


08 


80 


SETSTAK 


LDA 


SVADDR + 1 




48 








PHA 






AD 


07 


80 




LDA 


SVADDR 




48 








PHA 






AD 


03 


80 




LDA 


SVPFLG 




48 








PHA 




[Push processor status 
onto stack] ; 


AE 


05 


80 




LDX 


SVSTK 


[Subtract 3 


CA 








DEX 




from 


CA 








DEX 




old 


CA 








DEX 




stack pointer 


9A 








TXS 




to compensate pushes] ; 








* RESTORE F 




AE 


01 


80 




LDX 


SVX 




AC 


02 


80 




LDX 


SVY 




AD 


00 


80 




LDA 


SVACC 




8D 


OE 


80 




STA 


LSTACC 




80 


3C 






8CS 


LEAVE 


If carry set, then leave 
monitor now; 








* MANIPULATIONS FOR SINGLE STEP CASE 








FOLLOW 






A9 


FF 






LDA 


#SFF 




4D 


00 


80 




EOR 


SVACC 


[ Invert old accumulator 
value] ; 


8D 


00 


80 




STA 


SVACC 




A9 


FF 






LDA 


#$FF 




4D 


01 


80 




EOR 


SVX 


[Invert old X value] ; 


8D 


01 


80 




STA 


SVX 




A9 


FF 






LDA 


#$FF 




4D 


02 


80 




EOR 


SVY 


[Invert old Y value] ; 


8D 


02 


80 




STA 


SVY 




A9 


FF 






LDA 


=SFF 




4D 


05 


80 




EOR 


SVSTK 


[Invert old stack register 


8D 


05 


80 




STA 


SVSTK 


va uej , 


A9 


FF 






LDA 


#SFF 




4D 


OD 


80 




EOR 


SVDATA 


[Invert old data register 
value] ; 


8D 


OD 


80 




STA 


SVDATA 




AD 


OE 


80 




LDA 


LSTACC 


[Restore old accumulator 



AD 11 

8D 07 

AD 12 

8D 08 

4C 77 



value] ; 

RTI [Return from interrupt, 

exiting panel service 
program] ; 

* LEAVE PANELSERVICE FOR USER NMI SERVICE 
CASE 

F6 LEAVE JMP USRNMI 

•NOTE: USRNMI IS A READONLY MEMORY 
ROUTINE AT F600, NOT DEFINED HERE 

EXAMINE SERVICE ROUTINE 
80 EXAMINE LDA DSWLOW 
80 STA SVADDR 

80 LDA DSWHIGH 

80 STA SVADDR+1 

FE JMP SETTRAP [Go back to display 

routine and exit] ; 

• EXAMINE NEXTSERVICE ROUTINE 
EXMNXT LDY #0 

' INCREMENTTO NEXT ADDRESS 



AE 


07 


80 


ADVANCE LDX SVADDR 




E8 






INX 




8E 


07 


80 


STX SVADDR 
* CHECK FOR OVERFLOW 




EO 


00 




CPX #0 




FO 


OA 




8EQ RAISHI 


If low order - then 
increment high order; 








* CHECK TO SEE IF INITIALIZAT 


CO 


00 




QNEEDINI CPY #0 




FO 


03 




8EQ *+5 




4C 


7C 


FE 


JMP SETUP 


If Y = then simply 
execute scratch pad 
program; 


4C 


77 


FE 


JMP SETTRAP 


If Y = then set up prior 
to executing again; 








' INCREMENT HIGH ORDER 8Y7 








ADDRESS 




AE 


08 


80 


RAISHI LDX SVADDR+1 




E8 






INX 




8E 


08 


80 


STX SVADDR + 1 




4C 


OA 


FF 


JMP QNEEDINI 





A9 8D DEPOSIT 

8D 06 80 



* DEPOSIT SERVICE ROUTINE 



AD 11 
4C 7C 



A9 8D 
8D 06 



AD 11 
AO AA 



LDA #$8D [Change scratch pad pro- 

STA DATATRAP gram to store accumu- 
lator (STA) as its first 
operation] ; 

LDA DSWLOW 

JMP SETUP 



• DEPOSIT NEXT SERVICE ROUTINE 
DPSNXT LDA #$8D [Change scratch pad pro- 

STA DATATRAP gram to store accumu- 
lator (STA) as its first 



LDA DSWLOW 
LDY #SAA 



operation] ; 



[ Load Y with any nonzero 
value, AA in particular] ; 



136 



8YTE November 1977 



Text continued from page 134 

tinues execution of the program at the 
currently displayed address. 

After building the design, I found a 
couple of subtle points in the operation of 
the control panel. The first point to note is 
that when using the RESET switch, the pro- 
cessor must be in the RUN mode of the 
RUN versus STEP switch. Second, bit 5 of 
the status display is useless and unimple- 
mented in the 6502 hardware. The register 
load switch (REG LOAD) is best used for 
modifying the contents of the accumulator, 
index registers, but not the stack pointer. 
Using the register load switch to modify the 
stack pointer can result in problems when 
resuming execution of a program. Once 
whatever memory loading or register altera- 
tion chores required by a program have been 
accomplished, execution can be resumed 
using the RUN switch to cause the control 
panel program to return from interrupt using 
the register contents stored in the control 
panel scratch area. 

A Versatile Configuration 

The design of Kompuutar is quite readily 
adaptable to the 6800 processor as a sub- 
stitute for the 6502 if personal programming 
preferences or availability of chips dictates 
such a switch. The similarities between the 
two processors are quite extensive, and in 
fact were the bone of contention of a law- 
suit (since settled) shortly after the 6502 
came out. At the system level, here are the 
major differences to be aware of: 

• The pinouts of the 40 pin package 
used for each processor are different, 
but the signal definitions of NMI, data 
bus lines, IRQ, reset, address bus, etc, 
are equivalent. 

• The 6800 uses four read only memory 
interrupt vectors at addresses FFF8 to 
FFFF in memory address space, 
whereas the 6502 uses only three 
interrupt vectors; the definitions of 
the interrupt vectors for reset, non- 
maskable interrupt and maskable inter- 
rupts are similar. 

• The instruction sets differ, so the front 
panel service programs shown with this 
article would need to be recoded if a 
6800 is used. 

• The definition of the clock used by 
the processor differs in the details of 
its drive circuit. 

The major features of either a 6502 or 6800 
system at the level of the backplane bus de- 
fined here would be nearly identical, m 



Listing 1, continued: 



Hexadecimal Hexadecimal 
Address Code 



Op Operand Commentary 



FF33 


4C 


FF 


FE JMP ADVANCE 


FF36 






* 


FF36 






* FLAG REGISTER CHANGE SERVICE ROUTINE 


FF36 


AD 


10 


80 FLAG LDA REQST 


FF39 






* ALIGN THE FLAG SELECTION BITS WITH FOUR 
RIGHT SHIFTS 


FF39 


4A 




LSR 


FF3A 


4A 




LSR 


FF3B 


4A 




LSR 


FF3C 


4A 




LSR 


FF3D 


8D 


04 


80 STA SVAAA 


FF40 


A9 


01 


LDA #$1 


FF42 


2C 


04 


80 BIT SVAAA Is flag data bit on? 


FF45 


F0 


05 


BEQ SETYZER If flag data = then 

Y:=0; 
LDY #$FF ElseY:=$FF; 


FF47 


A0 


FF 


FF49 


4C 


4E 


FF JMP PROCFLAG 


FF4C 


A0 


00 


SETYZER LDY #$00 


FF4E 


4E 


04 


80 PROCFLAG LSR SVAAA [Final right shift aligns 
the 3 bit flag code] ; 


FF51 


A2 


07 


LDX #$07 [Load loop count] ; 
* LOOP SETS X 


FF53 


EC 


04 


80 FLGLOOP CPX SVAAA If SVAAA = X then 


FF56 


F0 


04 


BEQ FCHANGE go change this flag; 


FF58 


CA 




CYCLE DEX 


FF59 


4C 


53 


FF JMP FLGLOOP 


FF5C 


A9 


01 


FCHANGE LDA #$01 

* LOOP ALIGNS MASK ON PROPER F LAG BIT 


FF5E 


E0 


00 


FLOOK CPX #$00 


FF60 


F0 


05 


BEQ *+7 


FF62 


0A 




ASL 


FF63 


CA 




DEX 


FF64 


4C 


5E 


FF JMP FLOOK 


FF67 






* AT END OF LOOP WITH MASK IN PLACE, CHANGE 
FLAG BIT 


FF67 


CO 


00 


CPY #$0 Is data 0? 


FF69 


DO 


0B 


BNE SETFLG If not then go set flag; 


FF6B 


49 


FF 


EOR #$FF 


FF6D 


2D 


03 


80 AND SVPFLG [Turn off the flag bit 
with inverted mask] ; 


FF70 


8D 


03 


80 STA SVPFLG 


FF73 


4C 


77 


FE JMP SETTRAP 


FF76 


0D 


03 


80 SETFLG ORA SVPFLG [Turn on the selected bit 
from mask] ; 


FF79 


8D 


03 


80 STA SVPFLG 


FF7C 


4C 


77 


FE JMP SETTRAP 


FF7F 






* REGISTER LOAD SERVICE ROUTINE 


FF7F 






* REGISTER LOADSERVICE ROUTINE 


FF7F 


A9 


OF 


REGLD LDA #S0F 


FF81 


8D 


0A 


80 STA DUMMY3 


FF84 


A9 


AE 


LDA #$AE [Define LDX as first 

operation of scratch pad 
program] ; 


FF86 


8D 


06 


80 STA DATATRAP 


FF89 


A9 


FF 


LDA #$FF 


FF8B 


4D 


0D 


80 EOR SVDATA [Invert data] ; 


FF8E 


8D 


OD 


80 STA SVDATA 


FF91 


AD 


11 


80 LDA DSWLOW 


FF94 


4C 


7C 


FE JMP SETUP 


FFAO 


A2 


FF 


RESET LDX #$FF [Initialize stack 


FFA2 


9A 




TXS pointer] ; 


FFA3 


4C 


06 


70 JMP TIM [Jump to TIM monitor 
onsystem RESET] ; 








■ ~ ~ ~ ~ — unused space ~ ~ — — — ~ ~ ~ ~ — — ~ ~ ^^~ 


FFEO 


00 


FO 


BRK Instruction vector 


FFE2 


XX 


XX 


Not used 


FFE4 


00 


FC 


IRQ6 Lowest priority 


FFE6 


00 


FB 


IRQ5 


FFE8 


00 


FA 


IRQ4 


FFEA 


00 


F9 


IRQ3 Interrupt vectors 


FFEC 


00 


F8 


IRQ2 


FFEE 


00 


F7 


IRQ1 Highest priority 
unused space — 


FFFA 


00 


FE 


NMI interrupt vector location 


FFFC 


A0 


FF 


RESET interrupt vector location 


FFFE 


XX 


XX 






Kompuutar Peripheral and Scratch Pad Data Symbols: 


Address 


Symbol 


Description 


8000 


SVACC 


Saved accumulator value, scratch pad 


8001 


SVX 




Saved X index register value, scratch pad 


8002 


SVY 




Saved Y index register value, scratch pad 


8003 


SVPFLG 


Saved processor flag register value, scratch pad 


8004 


SVAAA 


Scratch value 


8005 


SVSTK 




Saved stack register value 


8006 


DATATRAP First operation of scratch pad program (absolute addressing 








through SVADDR) 


8007 


SVADDR 


Low order saved address value, scratch pad program absolute 








address for DATATRAP 


8008 


SVADDR+1 


High order savedaddress value 


8009 


DUMMY2 




800A 
800B 


DUMMY3 
DUMMY4 


Balance of scratch pad program 


800C 


DUMMY5 




800D 


SVDATA 


Data value at current SVADDR 


800E 


LSTACC 


Accumulator storage temporary 


800F 


SVAAA 


Scratch value 


8010 


REQST 


Front panel request input word 


8011 


DSWLOW 


Low order data switch register input (data or address 








information) 


8012 


DSWHIGr 


High order data switch register input (address information 








only) 


8013 


STATUS 


Status lamps output 


8014 


LADDR 


Low order address display output 


8015 


HADDR 


High order address display output 






BYTE November 1977 



137 



VECTOR 
PACKAGING MATERIALS 
SAVE TIME & MONEY 




SIOO CARDS-100 PLUG CONTACTS-Convenient universal 
tinned pads and bus lines. For interface, memory expansion, 
breadboarding. Mount almost anything anywhere on card. 



S100 CONNECTORS for WIRE WRAPPING or SOLDERING 




Model VP2 



BEAUTIFUL 
NEWVECTOR-PAK 

CASES for micro-computer 

circuitry, assembled. Constructed 

of aluminum, finished in vinyl. Slide out covers for easy 

access. Includes card guides, heavy chassis plate, perforated 

bottom cover for cooler operation. 

Card guides perpendicular tofront panel, Model VP1 , $1 28.30. 

Card guides parallel to front panel, Model VP2, $134.30. 




Model 
8803 



S100 MOTHER BOARD, $29.50. 11 positions ready for 
connectors. Glass epoxy, plated thru holes, circuitry for 
active termination, 12 tantalum capacitors and instructions. 

PLUS revolutionary Slit-N~Wrap wiring tools, Micro-Vector- 
bord,® printed circuit kits, I.C. sockets, extenders. 

Send for new catalog. 

TNVECTOR ELECTRONIC COMPANY, Inc. 

yJ i 1 2460 Gladstone Avenue, Sylmar, CA 91342 
phone (213) 365-9661, twx 910-496-1539 




Continued from page 6 

the "Thorsen Memory Tube," a magical 
device which can be programmed with the 
data necessary for controlling an interactive 
mechanism. In the real world, technology 
has developed the semiconductor memory 
and microprocessors, charge coupled devices 
and magnetic bubble memories. 

In the fictional account, various societal 
conditions have led to a predilection for 
garage shop and cottage industry experimen- 
tation represented by the efforts of the hero 
of the story, Dan Davis. In the real world, 
the technological and economic conditions 
of today have made the same sort of indi- 
vidualized experimentation with the high 
technology of computers an everyday occur- 
rence practiced by large numbers of people. 

In the story, the protagonists face a 
world in which mass-produced robotic 
mechanisms for domestic use have yet to be 
produced. In the real world, we face a simi- 
lar situation in which the first mass-pro- 
duced intelligent robotic mechanisms for 
domestic use are on the threshold of inven- 
tion and possibility. 

With this possibility of innovation and 
invention in robotics growing out of the 
computer experimenter's natural inclination 
towards artificial intelligence and robotics 
work, I can begin to build the concept of an 
ideal type, "The Compleat Robotics Experi- 
menter" and what it takes to become one. 
Perhaps we'll see a few examples in real life 
as the next few years roll by. 

Categories of Experimentation 

In order to put a finger on the categories 
of experimentation in the general field of 
robotics, we need a definition of just what 
is meant by the concept of a robot. I pro- 
pose the following definition as a working 
concept for purposes of discussion. This is 
not necessarily the ultimate definition of 
what a robot is, but it serves as a standard 
of measurement useful in this context. 

A robotic system is an intelligent 
mechanism which is mechanically 
mobile and which operates with feed- 
back from sensors in a specific envir- 
onment with general but well defined 
behavioral goals. 

With this definition and given our current 
levels of technology, I am explicitly at- 
tempting to eliminate the classical general 
purpose robot of science fiction from the 
discussion. The characters C3PO and R2D2 
of George Lucas' film Star Wars may be use- 



138 



BYTE November 1977 



Circle 156 on inquiry card. 



Circle 110 on inquiry card. 



ful as long term developmental goals, but 
current technology just does not support 
practical implementation of such delightful 
pseudo-persons. The kind of robotic mech- 
anism which is likely to be realizable in the 
near future by real world personal com- 
puting experimenters will be more special- 
ized. 

The "intelligent" of intelligent mech- 
anism in the definition might be better ex- 
pressed as "intelligently designed," for it is 
the crystallization of the designer's intelli- 
gence and creativity in the control algor- 
ithms of the machine which enables the 
robotic mechanism to act "intelligently." 
"Mechanically mobile" in the definition 
could be as simple as the mobility of the end 
of a simple arm mechanism, as complicated 
as the three-dimensional mobility of a 
remote flying and hovering mechanism, or as 
conventional as the rolling mobility of Ralph 
Hollis' robot NEWT. Sensory feedback is 
essential to the definition, for I wish to 
exclude from discussion such conventional 
mechanisms as plotters, printers, and mass 
storage devices which use limited forms of 
mechanical mobility. 

A "specific environment" is essential 
to the practicality of the concept if it is to 
be accomplished at current levels of under- 
standing of artificial intelligence research 
and engineering. 

A quite practical system for the personal 
computing experimenter with a mechanical 
flair is the construction of an "arm" mecha- 
nism to act as an output device for a chess 
program. But the practicality of the possibi- 
lity comes from the limitation of the envir- 
onment to a three-dimensional region of 
space above a well defined chess board, with 
chess pieces designed to fit the design of the 
arm's grasping mechanisms and object sen- 
sors. 

Similarly, the person designing the ro- 
botic vacuum cleaner appliance can initially 
implement a practical design only by lim- 
iting its environment, requiring that it: 

• Avoid precipices (as at the top of 
stairs). 

• Roll on a plane surface of normal 
gravity. 

• Bounce off walls and furniture. 

• Only swallow items smaller than a 
critical size, while sorting and 
classifying loose objects above that 
size but below a maximum size. 

• Sense presence of animals, children 
and adults as a cue to enter 
standby mode of operation. 

The environment of the first such practical 






V* .< o 







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 instruction manual for the TVT-6 Kit 
with full operational details. $1 enclosed. 
( ) SEND FREE CATALOG 



Address: 



State: 



Zip : 



ELECTRONICS, INC. city; 

DEPT. 10-B, 1020 W.WILSHIRE BLVD., OKLAHOMA CITY. OK 73116 



BUILD YOUR OWN 
VIDEO TERMINAL FOR 
$85 "PLUS" 

IliJiJIHtt! CHARACTfiftSiS£ftftm« MOSTSK J$?0 MICROCOMPUTER 

1 i (Hi Wi l j i 

il !i"i : ' : « ; till 



1 



nil ix 



I II 



Si 00 EtoGZ CONNECTOR 



• Serial ASCII or BAUDOT 

• Full X-Y Cursor control 

• 128 Characters, including 
upper and lower case 



• 16 lines X 64 characters 

• S100 Compatability 

• Operates on 7VDC unreg- 
ulated, 6.3 VAC @ 0.75 A 



The SCT-100 Single Card Terminal interfaces directly to any 
computer or modem having serial ASCII or BAUDOT capability 
It requires only the addition of a standard ASCII keyboard, and a 
TV monitor. It is available as a partial kit for $83.00 including 
the PC board, character generator ROM, and' the 3870 micro- 
computer. The complete SCT-100 kit is $153.00 ($185.00 
prewired & tested). 
To order, call or write today. MC, BAC Accepted. 

VECTRON P.O.Box #20887, Dallas, Texas, 75220 
Phone (214) 350-5291 



Circle 158 on inquiry card. 



BYTE November 1977 139 



KIM MEETS S-1 00 

Escape the single source blues. The Kimsi is the easy was to expand your KIM-1 system 
with readily available S-1 00 boards. Forethought Products has interfaced the 6502 to the 
S-1 00 bus by decoding the top 4K for IN and OUT instructions. Full capacity interlacing 
allows complete control of the 6502 and DMA from the S-100 bus. 



mm 



isssi 



■5 i^i. 



Item 

Kimsi Backplane/S-100 Adapter 8 slots lor S-100 available 

Kimsi Power Supply Unreg +8@10A. «-l6@IA;- 16@1A 

KIM-1 incl. documentation Send for more information 

KIM to Kimsi Connector Set Includes recorder cables 

S-100 Edge Connector Kimsi accepts 8. 1 is supplied 

Cassette Recorder lor KIM-1 Hundreds sold for KIM use 

4K Seals ROM Board Accepts up to 16 1702A or 5203s 

4K Imsai RAM Board Bare minimum to run Tiny BASIC 

BK Cromemco ROM Board Accepts up to 8 2708 EPROMs 

8K Seals RAM Board Enough space for programs below 

Poly Video Terminal Interface 16 x 64 Connects to a Monitor and Keyboard 210 

Matrox ALT-2480 Alpha-Numeric VRAM 24 lines of 80 char (needs P39) 

Matrox ALT-256' "2 Video Graphics Board Displays 256 x 256 array 

Illy Bitty Tiny BASIC 2 5K. kit is a paper tape 

Focal {a OEC trademark) Includes floating points 

6502 Assembler with Source This is NOT the MOS version 



Kit / 


\ssembl 


Price 


Price 


S125 


$165 


60 


75 


N/A 


245 


8 


11 


5 


7 


N/A 


55 


119 


179 


139 


239 


145 


245 


269 


369 


rd 210 


280 


N/A 


295 


N/A 


395 


5 


10 


N/A 


40 


N/A 


30 



SPECIAL! 10% off S-100 Boards 
when ordered with Kimsi. 



<& 



MATROX VIDEO RAMS 

NCE/Compumait of fers you the leader in CRT display controllers. MatroxVideo Rams are 
complete with memory and require no processor time for screen refresh. Whether your 
application is alphanumeric, graphic or both, Matrox can provide a system to meet your 
needs. 

MTX 816 Module (Upper Case only) Composite video output in 8 lines of 16 cnars 179 

MTX 1632 Module (Upper and Lower Case) 16 x 32 display includes blink option 225 

MTX 1632SL Module (Great with 256"2) Slave sync allows text superposition 225 

MTX 2480 Circuit Board 24 x 80 requires high-persistence phosphor (P39) 395 

MTX 256"2 Circuit Board 256 x 256 array graphics (multiples provide color) 630 

ORDER FORM 



Name . 

Address 

City State Zip 

Charge my BAC/VISA 

Card # 

Signature 



M/C 



Interbank # 
Exp. Date 



□ Please send me info on the new Commodore PET 2001 
computer 

Limited 90-day Warranty 

Return non-working merchandise within 90 days for replacement or refund. Kits are war- 
ranted to be complete with working components All items subject to prior sale 



Qty Item 


Price Amount 










Total for goods 


+ 4% Michigan Residents 


+4% Shipping and Handling 




+ S1 if order's under $20 




Total Amount 





NCE CompuMart 

1250 N. Main St. Ann Arbor, Mi. 48104 

Dept.BYl (313)994-4445 



household robot would specifically exclude 
any attention to global details such as what 
to do when it gets wet, what to do in case of 
fire, how to wash dishes, how to teach child- 
ren symbolic logic, etc. (Incidentally, the 
vacuum cleaner just described is one of the 
robotic mechanisms designed by the hero of 
Robert Heinlein's Door Into Summer.) 

The behavioral design of the robot is a 
part of this process of limiting the environ- 
ment. By deciding what the robot is to do, 
as in the vacuum cleaner case or the chess 
playing arm case, we impart constraints on 
its behavior. 

The strongest theme of research and 
experimentation with robotic mechanisms 
for the near future, then, is that of picking 
and choosing a particular flavor of environ- 
ment in which the system is to operate, 
using this environment definition as the 
evaluation standard for the design. The 
environment chosen is what drives the design 
of mechanisms to interact with that environ- 
ment; image and sensor processing needs of 
the system in that environment; software 
requirements of the computers which 
implement the processing; and possible 
avenues of exploration for application 
concepts. 

Defining the Compleat Robotics 
Experimenter 

The personal computer experimenter is 
well on the way to becoming a robotics ex- 
perimenter. The intellectual challenge of the 
robot is a step up in abstraction and diffi- 
culty, as well as a step up in fascination and 
unknowns. What are the requirements of a 
person who expects to achieve measurable 
results from experimentation with robotics? 

First and foremost, the compleat robotics 
experimenter is well rounded and virtually 
the classical Renaissance man. A narrow 
specialization in one particular aspect of 
computer science, machine design, etc, 
may be a useful attribute to possess, but 
to implement comprehensive systems, 
comprehensive knowledge is required. For 
the person just beginning formal education 
at a college level, a combination of liberal 
arts and philosophy with computer science, 
physics, biology and engineering is what I 
would consider a necessary groundwork for 
later work in robotics. Getting to more 
specific details, here are some areas of study 
with reasons for their usefulness to the 
aspiring robotics experimenter: 

Philosophy, particularly epistemology, is 
crucial. Epistemology is the philosophical 
discipline concerned with the question 
"how do we know what we know?" A 



140 



BYTE November 1977 



Circle 104 on inquiry card. 



practical understanding of epistemology is 
a necessary starting point for anyone who 
would design a knowledge oriented or "arti- 
ficially intelligent" system. 

Related to epistemology is the necessity 
for a thorough and practical understanding 
of the mathematical basis for programming 
and computer science: concepts of logic, 
proof of theorems, organization of know- 
ledge, etc, form a background for much 
work with computers. 

Progressing to more specific technical 
areas, the aspiring roboticist must obtain a 
mastery of computer science, natural and 
artificial languages, information theory, 
electrical engineering (at the level of utilizing 
"black boxes" of function), mechanical 
engineering and biology or physiology. The 
knowledge of computer science is a must, 
for no robot is possible without a computer 
to implement its intelligence. Natural and 
artificial language understanding is a require- 
ment for any form of high level command 
and control structures to be built into the 
software of the robotic system. Information 
theory and its attendant discussions of the 
possibility of error and strategies for coping 
with error is essential. Electrical engineering 
and mechanical engineering are obvious 
for design of interactive real world mecha- 
nisms. Biology, particularly the physiology 
of natural mechanisms, is essential back- 
ground information to this process of ro- 
botic mechanism design: not necessarily for 
its value as a direct model, but certainly for 
its inspirational value and value as a source 
of detail ideas about possible approaches 
which might work out in robotic mecha- 
nisms. Thorough familiarity with current 
technologies is a must as well. 

A final requisite is a thorough familiarity 
with science fiction literature, for its imagi- 
nation inputs. The science fiction writer is 
at once a frustrated engineer and a daring 
source of imagination. The frustrated 
engineer aspect comes from the lack of 
a technological context to fullfill the 
imaginations; the imagination side is the 
reason why science fiction is a necessary 
input for the compleat robotics experi- 
menter. Many design ideas can be found in 
the writings of science fiction thinkers. 

Summing it all up, the personal experi- 
mentation with technological concepts 
which so characterizes the amateur com- 
puter person finds a natural extension in 
the application area of robotics. The chal- 
lenges and problems of building "smart" 
machines at once provides a form of an 
answer to the traditional "what do you do 
with your computer?" question and a 
fascinating area for exploration." 



READY FOR IMMEDIATE DELIVERY 

SOROCIQ120 

VIDEO TERMINAL 

Fully Assembled yvvv 

Price includes 24x80 charac- 
ters, upper & lower case and 
RS-232 auxiliary port. 








nssSOROCm 
n 



Terminals asabove with block 
mode & screen printer interface 

^SOROC 



© 



TKCMNaJJIT,IMC 




Terminal is sbippad. 
FREE to U.S. 
destination 



sm 




j 






BVTE SHOP 
mfllL ORDER 

803N.ScottsdaleRd, 
Tempe, Arizona 85281 
602-894-1193 






\ 



SEND ME 



Name _ 
Phone (_ 
Address 
City 



SOROC IQ 120 TERMINAL(S) 

QTY 

P Standard Model D w/Option Package 

□ ENCLOSE $ CHECK OR 

MONEY ORDER. 

CHARGES 

H Visa Card 

Card No. 

Interbank No. 



□ 



TO 

Mastercharge 



Exp. Date. 



_State_ 



-Zip, 



VISIT OUR BYTE SHOP RETAIL STORES: 
813 N. Scottsdale Rd. 12654 N. 28th Drive 
Tempe, Az. 85281 Phoenix, Az. 85029 

(602) 894-1 129 (602) 942-7300 



Call us collect for credit card orders. 
15 day delay on personal checks. 
Arizona residence add 4% sales tax. 

2612 E. Broadway 
Tucson, Az. 85716 
(602) 327-4579 



SEND $2.50 FOR THE 40 PAGE BYTE SHOPPER CATALOG 




Circle 18 on inquiry card. 



BYTE November 1977 



141 



What's Cooking? 



- - - The Lancaster Series! 



\ Hi jUi~~ 



nut — ~... 



• TV 

TYPEWRITER 
COOKBOOK 



ACTIVE- 
FILTER 
cookbook 





TV Typewriter Cookbook by Don 

Lancaster. A complete guide to low cost 
television display of alphanumeric data, 
several chapters of which were published 
ahead of the book in early issues of BYTE 
magazine. $9.95. 

Active Filter Cookbook by Don Lan- 
caster. The chief chef of electronics Cook- 
books concocts another gourmet appetizer. 
Run to this book when you need to find a 
starting point for the design of a filter for 
use in an electronic application. $14.95. 

The TTL Cookbook by Don Lancas- 



ter. Start here with Don's tutorial explana- 
tions of what makes TTL logic design tick. 
335 pages, $8.95. 

„ CMOS Cookbook. Don Lancaster has 



taken his highly successful TTL Cookbook 
formula and done it again. This bigger than 
ever (414 pages!) book tells you how to use 
CMOS, the exciting new power logic family. 
$9.95. 



r 



Modern Operational Circuit Design by 

John L Smith. An absolutely essential intro- 
duction to the use and application of 
operational amplifier systems. The book 
contains both theoretical background infor- 
mation and practical circuit suggestions 
which can be used to advantage by the 
experimenter. $23.25 (hardbound). 



Linear IC Principles, Experiments, and 

Projects by Edward M Noll. From basic 
principles to complicated systems, from 
simple amplifier experiments to applications 
in radio, TV and control systems, this book 
can improve your knowledge of the way 
circuitry of the analog world really works. 
$8.95. 




Practical Solid-State Circuit Design by 

Jerome E Oleksy. A self study course in the 
design of semiconductor circuits from the 
simple transistor to the complex operational 
amplifier. $5.95. 



.Fundamentals and Applications of 



Digital Logic Circuits by Sol Libes. An 
invaluable tutorial background volume on 
digital logic, arithmetic, IO concepts and 
interfacing to analog devices; written by one 
of the founders of the Amateur Computer 
Group of NJ. This book acquaints the 
reader with much of the terminology and 
background concepts of digital hardware. 
$6.95 . 



Send to: 



BITS, Inc. 

70 Main Street 

Peterborough l\IH 03458 



Check Payment method: 

My check is enclosed 

Bill my MC No. 

Bill my BAC No. 



Exp. date 
_Exp. date . 



Name 








Address 


City 


State 


Zip Code 




Signature 









Total for all books checked $_ 

Postage 50 cents per book for books $ 

Grand Total $ 



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. 



142 BYTE November 1977 



Circle 12 on inquiry card. 



A BIT More 



When you build a project, you need information. All 
you find in the advertisements for parts are mysterious 
numbers identifying the little beasties . . . hardly the sort 
of information which can be used to design a custom 
logic circuit. You can find out about many of the 
numbers by using the information found in these books. 
No laboratory bench is complete without an accompany- 
ing libraiy shelf filled with references. 










Order these absolutely essential references from Texas Instruments today: 

The TTL Data Book for Design Engineers, $4.95, new second edition. 

The Linear and Interface Circuits Data Book for Design Engineers, $3.95. 

The Semiconductor Memory Data Book for Design Engineers, $2.95. 

The Transistor and Diode Data Book for Design Engineers, $8.50. 

The Power Semiconductor Handbook for Design Engineers, $7.50. 

Understanding Solid State Electronics, $2.95. 

The Optoelectronics Data Book for Design Engineers, $2.95. 

Designing with TTL Integrated Circuits, edited by Robert L Morris 

and John R Miller, published by McGraw-Hill, $26. 



— The TTL Cookbook by Don Lancaster, published by Howard W 
Sams. Start your quest for data here with Don's tutorial explan- 
ations of what makes a TTL logic design tick. 335 pages, $8.95. 

— Microcomputer Design by Donald P Martin, Edited and pub- 
lished by Kerry S Berland, Martin Research. Purchase your copy of 
the definitive source for circuitry and hardware design information 
on the 8008 and 8080 computers. $14.95. 

— Texas Instruments has just come out with the updated version of 
the TTL Data Book for Design Engineers, a new 832 page book 
which includes information formerly in the previous edition.and its 
supplement, as well as new circuits which have arrived on the scene 
since publication of the earlier versions of this book. The second 
edition of the TTL Data Book for Design Engineers is your most 
up to. date and current source of information on the design specifi- 
cations and characteristics of the Texas Instruments 7400 series of 
devices. In it you'll find a complete section of 7400 series pinout 
diagrams at the front, plus the usual detailed descriptive information 
on the more complicated circuits. Only $4.95. 



Send to: 

BITS, Inc 
70 Main St 
Peterborough NH 03458 



Check payment method: 

My check is enclosed 

Bill my MC No. 



Bill my VISA l\lo._ 



Exp. date 
JExp.date 



Name 



Total for all books checked 
Postage, 50 cents per book 

for books 

Grand Total 



Address 



City 



State 



_zje_ 



$ 
$ 



Signature 



You may photocopy this page if you wish to leave your BYTE intact. Please allow six weeks for delivery. 






Circle 12 on inquiry card. 



BYTE November 1977 143 



Problems for Computer Solution by 

Steve Rogowski, Teacher Edition. A collec- 
tion of mathematical problems designed 
to stimulate thought and encourage research 
by students towards the goal of a final 
solution. The subjects range from arithmetic 
through calculus and on to problems that 
have yet to be resolved. An analysis of each 
problem provides ideas on logical approa- 
ches to a solution, and a sample program 
demonstrates one possible final solution. 
$9.95. 



Take a Byte 
of APL 



The Underground Buying Guide, by 

Dennis A King. Here at last is a source book 
for all those hard to find suppliers! It's 
designed especially for computer hobbyists, 
experimenters, hams and CB'ers, and can 
tell you where to buy items like con- 
nectors, discrete components, electronic 
music supplies, instrumentation, analog to 
digital and digital to analog converters, and 
synthesizers. The list goes on to include 
Teletypes, speakers, microcomputer soft- 
ware, cassette units, floppy disks and many 
other items. It will be an invaluable addition 
to your reference library. $5.95. 



PROBLEMS 

F0BC0mPUT6B 

SBMJTiOll 




Chemistry with a Computer by Paul A 

Cauchon. People are always looking for 
details of applications for the computer. It 
is one thing to say "gee whiz wouldn't it be 
nice if. . ." but such thoughts are but the 
stimulus to action. One result of a "gee 
whiz" idea is a series of educational and 
tutorial BASIC programs for use by teachers 
of chemistry, invented by Paul A Cauchon 
and published by Educomp Corporation. 
This book contains a collection of tutorial, 
simulation and problem generation pro- 
grams which can be employed to advantage 
by teachers in high schools or colleges 
wherever a BASIC facility is available. If 
you're a chemistry professor or teacher by 
trade, or just a hobbyist interested in 
chemistry, this book will prove to be an 
invaluable tutorial aid. $9.95. 



APL— An Interactive Approach Second 

Edition, Revised, by Gilman and Rose. 
Here's an excellent way to introduce your- 
self to the APL language. APL is rapidly 
becoming one of the most popular high level 
languages in the computer field because of 
its clarity and conciseness. Gilman and Rose 
have extensively updated their popular book 
to include the latest information about 
the language and the various forms of it 
which are now in use. Since the examples 
are all carefully spelled out, APL— An Inter- 
active Approach is particularly recommen- 
ded for those who do not have access to an 
APL terminal. Answers to all problems 
are included. $11.95. 



">,r:v'''f '. 




Umlef^round 
Buying Guide 

for Iter*:; 
Ixpefinpfteis 
dft4 Computer 
(lobbyists. 




PCC'S Reference Book of Personal and 

Home Computing. Ever try to find the 
addresses of some manufacturers of, say, 
tape cassette or floppy disk interfaces 
for micros? Frustrating, isn't it? Well PCC 
has done something about it. This book lists 
hundreds of companies and stores selling 
hardware, software, and services. Survey 
articles on software, hardware, kits, appli- 
cations and the future for the experienced 
and the not-so-experienced user of micros. 
Also included in this edition are biblio- 
graphies for further reference, book reviews, 
and an index of the articles from the major 
hobbyist magazines. $5.95 



Send to: 

Bits, Inc. 

70 Main Street 

Peterborough NH 03458 

Name 



Address 



Check Payment method: 

My check is enclosed 

Bill my MC No 



.Bill my BAC No.- 



. Exp. date . 
Exp. date . 



. books 



City 



State Zip Code 



Signature 



You may photocopy this page if you wish to leave your BYTE intact. 



Total for all books checked 
Postage, 50 cents per book for_ 
Grand Total 



Prices shown are subject to change without notice. 

All orders must be prepaid. 

In unusual cases, processing may exceed 30 days. 



144 BYTE November 1977 



Circle 12 on Inquiry card. 



Continued from page 32 

stations. Most receivers track a master 
and two slave stations. This produces 
two lines of position on a hybcrbolic 
grid; the intersection is the position of 
the receiver. LORAN-C is a fairly accu- 
rate system giving fixes good to from 
300 feet to ] A mile, but it is limited in 
range. The range is up to 1200 to 1500 
miles. Accuracy is degraded at night due 
to skywave interference. At present 
LORAN-C coverage is far from world- 
wide. Since it is principally a system for 
ship navigation, it is useful mainly in 
coastal areas. There are lots of receivers 
on the market, none of which is really 
inexpensive. 

I am familiar with one satellite navi- 
gation system in current usage (others 
are in the developmental stage). This is 
the Navy Navigational Satellite System. 
It is a high accuracy system (100 feet for 
stationary receivers) which measures 
Doppler frequency of a 150 MHz and a 
400 MHz carrier. The use of two fre- 
quencies allows for correction for iono- 
spheric refraction. The satellite also 
transmits digital data which includes 
time of day and a description of the 
satellite's orbit. This is usually fed from 
a receiver into a minicomputer which 
processes the data and produces a fix in 
terms of latitude and longitude. This 
system does not produce continuous 
navigation since fixes can only be ob- 
tained when a satellite passes over the 
receiver. Since the satellites are in polar 
orbits the time between fixes normally 
ranges from 15 minutes to 4 hours with 
more frequent fixes as the receiver nears 
either pole. Again a number of com- 
panies manufacture receivers, but again 
they are expensive. A cheap SATNAV 
receiver and a set of microcomputer pro- 
grams to produce a fix would certainly 
be an interesting, though formidable, 
project. 

J Dean Clamons 

Systems Analyst 

Shipboard Computing Group 

Naval Research Laboratory 

Washington DC 20375 



Asfc BYTE 



SHIMMY? 

What causes the shimmy on my video 
monitor? Sometimes it looks like it's 
doing a hula. 

John C Ford 

9724 Tweedy Ln 

Downy CA 90240 

The problem superficially sounds like 
a beat between two frequencies. If the 
shimmy of which you speak is an ampli- 
tude modulation on an otherwise solid 
picture, you may have some form of 
cross talk with 60 Hz and some submul- 
tip/e of your video interface's internal 
timing references. ■ 



Circle 69 on inquiry card. 



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 x7dot matrix 

• Multiple copies without v 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 



h*0> 



\NlPA cT 



Now- 
Big Printer 
Performance 

Mini-Printer 
Price 

Only $ 745 
complete 




ifylntegral Data Systems 

5 Bridge Street -Watertown, MA 021 72 . (617)926-1011 



BYTE November 1977 145 



Implementing an LSI Frequency Counter 



Perry Lynne 
990 Arques Av 
Sunnyvale CA 94086 



D7 

THROUG 

DO 



»CD 



DATA 

BUS 

BUFFER 



RD • 
WR ■ 



AO 



READ/ 
WRITE 
LOGIC 



CS 



The new generation of programmable 
large scale integration (LSI) 10 devices 
is proving to be as exciting as the micro- 
processors to which they are connected. 
With the aid of these LSI devices, complete 
functions can be added to a microprocessor 
system with only a few integrated circuits. 
One example of an LSI device with this kind 
of capability is the 8253 programmable in- 
terval timer which can be easily interfaced 
to almost any microprocessor. Using this 
device, a complete frequency counter can be 
constructed with just a couple of integrated 
circuits. 




What's on This Chip? 

The 8253 contains three independent 16 
bit down counters (see figure 1). Each 
counter has a separate count input, gate 
input for gating the count and count output. 
Each can count in binary or binary coded 
decimal (BCD). Also, each counter can 
operate in one of four separate modes 
determined by storing a "mode" word in the 
device for each of the counters, usually on 
power up initialization. These mode words 
stay stored in the 8253 until they are 
changed by the microprocessor under soft- 
ware control. 

In table 2 the format for loading the 
mode word and reading or loading the count 
in each counter is shown. The configuration 
of the mode word is shown in table 3. 

The mode word for each counter on the 
8253 determines whether the upper or lower 
half of the counter will be read or written, 
or whether the counter expects two sequen- 
tial reads or writes to move 16 bits of data 
in or out of the device. The type of output 
the counters will produce is also determined 
by the mode word. See the shaded box on 
mode definitions for a discussion of each 
mode. 

Programming the 8253 

Each counter is individually programmed 
by writing a control word to location A1, 
AO = 11. The control word format is as 
follows: 



D7 

SC1 

D3 





D6 

SCO 

D2 

Ml 



D5 

RL1 

D1 

MO 



D4 

RLO 

DO 
BCD 



Figure 1 : A block diagram of the 8253 programmable interval timer, which is 
made up of three independent down counters serviced by an internal bus. 
Software commands from the external processor are used to put the circuit in 
any one of the four different "modes" of operation. The modes, which are 
discussed in the mode definition box, include a mode which causes an inter- 
rupt on terminal count, a programmable oneshot, a rate generator and a 
square wave rate generator. 



Where DO - D7 is the contents of the 
data bus when the mode word is written 
to the 8253. 

In this application the 8253 will be used 
as a single chip frequency counter. Figure 3 
shows the functions of each counter. To 
determine the frequency of an unknown 



146 



BYTE November 1977 







The Two Modes of Operation of the 8253 Used in the Programmable Frequency Counter 






Mode 1 : Programmable Oneshot 

The output will go low on the count following 
the rising edge of the gate/trigger input. 

The output will go high on the terminal count. 
If a new count value is loaded while the output is 
low it will not affect the duration of the oneshot 
pulse until the succeeding trigger. The current 
count can be read at any time without affecting 
the oneshot pulse. 



MODE 1 



c^ck JTJTJTJTJTJlJlJlJlJn^^ 

WRnH | -" 

TRIGGER | 



OUTPUT 



(n = 4( 



"L 



JT 



Mode 2: Rate Generator 

Divide by N counter. The output will be low 
for one period of the input clock. The period from 
one output pulse to the next equals the number of 
input counts in the count register. If the count 
register is reloaded between output pulses the pre- 
sent period will not be affected, but the subse- 
quent period will reflect the new value. 

The gate/reset input, when low, will force the 
output high. When the gate/reset input goes high, 
the counter will start from the initial count. Thus, 
the gate/reset input can be used to synchronize the 
counter. 

When this mode is set, the output will remain 
high until after the count register is loaded. The 
output then can also be synchronized by software. 



MODE 2 



clock .jTjTjijrruTjnjnj^^ 

wRn — LL^J l"* 3 l 

4 3 2 1 Q{4) 3 2 1 0(3)21 



OUTPUT 

0(3} 
OUTPUT in ~ 3) 1_J 



3 2 1 0(3) 2 1 0(3) 2 1 



Figures 2a and 2b: Two possible modes of 
operation for the 8253 programmable inter- 
val timer. (There are six in all.) 





Signal 


Low 








^status 


Or Going 






Modes 




Low 


Rising 


High 








1) initiates 
counting 

2) Resets output 
after next clock 






I 


1) Disables 










counting 


Initiates 


Enables 






2) Sets output 


counting 


counting 






immediately 










high 

















Table 1: Gate pin operations summary. 



Table 2: The configuration of the mode word, which 
determines whether the upper or lower half of the 
counter will be read or written, or whether the coun- 
ter expects two sequential reads or writes to move 16 
bits o fdata in or out o fthe device. 



cs 



RD WR 



Al A 






1 











Load counter 





1 








1 


Load counter 1 





1 





1 





Load counter 2 





1 





1 


1 


Write mode word 








1 








Read counter 








1 





1 


Read counter 1 








1 


1 





Read counter 2 








1 


1 


1 


No-operation 3-state 


1 


X 


X 


X 


X 


Disable 3-state 





1 


1 


X 


X 


No-operation 3-state 



Where 

CS = Chip select 

RD = Control signal to read data from the 8253 

WR = Control signal to write data to the 8253 



Table 3: The format for loading the mode word and 
reading or loading the count in each counter: 



AiA, 



1 M : 



Address lines to select various sections of 8253 



SC1 




1 

RL1 

1 

1 



M1 




1 
1 

BCD 



1 



SCO 



1 


RLO 



1 
1 



MO 



1 



1 



Select counter 
Select counter 1 
Select counter 2 



Read/Load most significant byte only 
Read/Load least significant byte only 
Read/Load least significant byte first, 
then most significant byte. 



(M=Mode) 



Set Mode 
Set Mode 1 
Set Mode 2 
Set Mode 3 



(BCD=Binary Coded Decimal) 

Binary counter (16 bits) 
BCD counter (4 decades) 



BYTE November 1977 



147 



2.048 MHz 
SIGNAL FROM 
8080 <$2 TTL *~ 
CLOCK 



(-5V 

1_ 







START CONVERSION 
FROM PROCESSOR ' — *~ 



INTERRUPT 

TO PROCESSOR 



H> 



UNKNOWN FREQUENCY — *- 



( ) D0 " D7 



ICI 
8253 



GATE I 



-WRITE 



20 



Integrated Circuit 
Power Pin Table 


Integrated 
Circuit 


Type 


+5 V 

Power 


Ground 


IC1 
IC2 


8253 
7476 


24 
5 


12 
13 



+ 5V 



/£" 



IC2 
7476 



CLEAR 

UNDERFLOW— ►- 
INTERRUPT 



TO PROCESSOR 

INTERRUPT 

FOR UNDERFLOW 

DETECTION 



Figure 3: A two chip 
frequency counter. An 
unknown frequency is 
counted by counter num- 
ber 1 during a precise time 
interval. This precise time 
interval is generated by 
counters and 2. Counter 
is programmed by the 
software to count the 
8080 TTL clock input and 
divide it by 20,480. This 
creates a series of output 
pulses at a rate of one 
every 1 ms. These pulses 
are counted by counter 2 
to produce a one shot of 
programmable length. The 
ones hot is used to enable 
counter 1, which then 
counts the unknown fre- 
quency. Finally, the pro- 
cessor reads out the value 
of counter 1 and calculates 
the unknown frequency. 
IC2 is used to signal an 
underflow. This allows the 
circuit to count up to 
values beyond the normal 
maximum of 65, 535 (for a 
16 bit counter). 



THE HIGH-LEVEL APPROACH: 
A/BASIC© COMPILER 



MICROWARE'S new A/BASIC® compiler can break the software bottleneck 
in your M6800 system. A/BASIC® compiles BASIC source programs to fast, 
memory-efficient machine language programs. A/BASIC® is a cost-effective 
alternative to slow interpreters or complex assemblers at a price you can afford. 

• 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 

We'd like to tell you more about A/BASIC® and other advanced M6800 
hardware and software products. Write or call today for complete information. 

MICROMARE SYSTEMS CORPORATION 

P.O. BOX 954 • DES MOINES, IOWA 50304 • (515) 279-9856 



A. 



Jl 



148 BYTE November 1977 



Circle 91 on inquiry card. 



incoming signal we must count the number 
of cycles of the signal during a precise pre- 
determined interval called the timebase. 

In figure 3 we generate this timebase 
using counters 2 and 0. The 8080 # 2 TTL 
clock, which is crystal controlled at 2.048 
MHz, is input to counter operating mode 
2. The output of this counter, which divides 
the count by 20,480, is a precise 10 ms 
signal. The output of counter is then input 
to counter 2 which is operating in mode 1. 
In this mode counter 2 counts the 10 ms 
pulses and produces a oneshotoutput which 
serves as a precise interval for counting the 
unknown frequency. 

This timebase interval is programmable 
by the microprocessor and can be varied 
from 100 ms to 100 seconds by storing the 
appropriate divider ratio in counter 2. This 
oneshot action is initiated under software 
control by strobing the gate input of counter 
2. Note that after the strobe the oneshot 
action does not start until the next falling 
clock edge, so the interval is precise. 

Next the output of counter 2 goes to 
the gate input of counter 1 which is oper- 
ating in mode 2. This counter is allowed to 
count the unknown frequency of the in- 
coming signal during the period that the 
gate input is high. The rising edge of the 
oneshot output of counter 2 is used to 
interrupt the microprocessor and signal 
that the frequency to digital conversion 
is complete. The processor then reads the 
resultant count in counter 1 . 

The software for servicing this progam- 
mable frequency counter is shown in listing 
1. Note that, since these are down counters, 
the software initializes counter 1 with all 
1s and the value stored in this counter at 
any particular time is the complement of the 
number of counts received from the un- 
known frequency. For example, if one count 
has been received, counter 1 will contain 
1111 1111 1111 1110; the complement is 
0000 0000 0000 0001 . 

The maximum count with a 16 bit 
counter is 65,535. (Note: with time base 
constants in listing set up for a 1 second 
count period, this 16 bit range measures 
frequencies from 1 Hz to 65,535 Hz). If 
the rising edge of. the output of counter 1 
(which signals an underflow) is used to inter- 
rupt the microprocessor, then the processor 
can count the number of interrupts in 
software. The processor can therefore keep 
a running total of the number of times the 
counter has passed through 65,535 counts 
and can therefore adjust the final count 
appropriately. This will enable counts 
much larger than 65,535 to be accumulated 
without having to use additional integrated 
circuits." 



INITIALIZING THE 8253 COUNTERS FOR 
THEIR VARIOUS MODES THE 8253 IS 
CONNECTED IN A MEMORY MAPPED IO 
CONFIGURATION IN THIS APPLICATION AND 
THEREFORE IS ADDRESSED THROUGH MEMORY 
REFERENCE INSTRUCTIONS 



Listing 1: Software for 
servicing the program- 
mable frequency counter. 



LXI H r P8253 

MVI M.COUNT 

MVI M.COUNT 1 

MVI M.COUNT 2 



INITIALIZE MEMORY POINTER 
TO 8253 MODE WORD 
INITIALIZE COUNTER TO 
MODE 2 

INITIALIZE COUNTER 1 TO MODE 2 
INITIALIZE COUNTER 2 TO MODE 1 



INITIALIZE COUNTER 2 WITH DIVIDER RATIO 
TO PRODUCE APPROPRIATE TIMEBASE 



DCX H 

LXI B r TIMEBASE 

MOV M r C 

MOV M r B 



POINT TO COUNTER 2 
TIMEBASE = 3E8H FOR 10SEC 
- 64H FOR 1SEC 
= 0AH FOR 100MS 



INITIALIZE COUNTER 1 WITH ALL Is SINCE 
THIS COUNTER WILL BE COUNTING DOWN 

DCX H ; POINT TO COUNTER 1 

MVI M.OFFH 

MVI M.OFFH 



INITIALIZE COUNTER WITH A DIVIDE BY 20480. 

DCX H ; POINT TO COUNTER 

MVI M,00H 
MVI M,50H 



THIS SUBROUTINE SERVICES THE FREQUENCY 
COUNTER INTERRUPT BY READING THE FREQUENCY IN 
COUNTER AND STARTING A NEW CYCLE 



COUNTDONE: PUSH 


A 


PUSH 


H 


LXI 


H.P8253-2 


MOV 


A r M 


CMA 




STA 


COUNTRSLT 


MOV 


A r M 


CMA 




STA 


COUNTRSLT+1 


MVI 


M r OFFH 


MVI 


M r OFFH 


OUT 


START 


POP 


H 


POP 


A 


EI 




RET 





SAVE REGISTERS WHICH ARE 
MODIFIED BY THIS ROUTINE 
POINT TO COUNTER 1 
GET LSB OF RESULT 
COMPLEMENT THE DATA 
STORE IN COUNT RESULT 
GET MSB OF RESULT 
COMPLEMENT DATA 
STORE AWAY 
STORE ALL Is IN 
COUNTER 1 

CLEAR INTERRUPT AND 
START NEW CYCLE 
RESTORE STATUS 
AND RETURN 



THIS ROUTINE SERVICES AN OVERFLOW 
INTERRUPT FROM COUNTER 1 AND 
KEEPS A RUNNING TOTAL OF 
THE NUMBER OF OVERFLOWS 
FOR THIS CYCLE. OTHER SOFTWARE 
IN THE SYSTEM SHOULD CLEAR 
THIS QUANTITY WHEN A NEW CYCLE 
IS STARTED. 



OVERFLOW: 






PUSH 


A 


; SAVE SYSTEM STATUS 


PUSH 


H 




LXI 


H.OVFLO 


; INCREMENT OVFLO 


INC 


M 




OUT 


CLINT 


; CLEAR THE INTERRUPT 


POP 


H 




POP 


A 




EI 






RET 







BYTE November 1977 



149 



Stephen Wozniak 

Apple Computer 

20863 Stevens Creek Blvd, B3C 

Cupertino CA 95014 



SWEET16: The 6502 Dream Machine 



While writing Apple BASIC for a 6502 
microprocessor I repeatedly encountered a 
variant of Murphy's Law. Briefly stated, any 
routine operating on 16 bit data will require 
at least twice the code that it should. Pro- 
grams making extensive use of 16 bit 
pointers (such as compilers, editors and 
assemblers) are included in this category. In 
my case, even the addition of a few double 
byte instructions to the 6502 would have 
only slightly alleviated the problem. What I 
really needed was a hybrid of the MOS Tech- 
nology 6502 and RCA 1800 architectures, a 
powerful 8 bit data handler complemented 
by an easy to use processor with an abun- 
dance of 16 bit registers and excellent 
pointer capability. My solution was to imple- 
ment a nonexistent 16 bit "metaprocessor" 
in software, interpreter style, which I call 
SWEET16. This metaprocessor was sketched 
at the end of my article in May 1977 BYTE, 
and the purpose of this article is to fill in 
the details of SWEET16. 

SWEET16 is based around sixteen 16 bit 





300 B9 00 


02 




LDA 


IN, Y 


Get a char. 




303 C9 CD 






CMP 


"M" 


"M" for move? 




305 DO 09 






BNE 


NOMOVE 


No, skip move. 




307 20 00 


08 




JSR 


SW16 


Yes, call SWEET16. 


CO 


/30 A 41 




MLOOP 


LD 


@R1 


R1 holds source address. 


\Z 


30B 52 






ST 


@R2 


R2 holds dest. address. 


ui 


(30C F3 






DCR 


R3 


Decrement length. 


UJ 


I.30D 07 FB 






BNZ 


MLOOP 


Loop until done. 


CO 


130F 00 






RTM 




Return to 6502 mode. 




310 C9 C5 




NOMOVE 


CMP 


"E" 


"E" char? 




312 DO 13 






BEQ 


EXIT 


Yes, exit. 




314 C8 






INY 




No, continue. 



Note: Registers A, X, Y, P and S are not disturbed by SWEET1 6. 

Listing 1: Use of SWEET16 within an assembly language program is accom- 
plished by executing a subroutine call to the SWEET 16 entry point (address 
307 here). This call preserves the processor registers at the time of entry and 
begins interpretive execution. End of interpretive execution is signaled by a 
RTN operation code of SWEET 1 '6, at which point all the processor registers 
will be restored. 



registers called R0 to R15, actually imple- 
mented as 32 memory locations. R0 doubles 
as the SWEET1 6 accumulator (ACC), R1 5 as 
the program counter (PC), and R14 as the 
status register. R13 holds compare instruc-' 
tion results and R12 is the subroutine return 
stack pointer if SWEET16 subroutines are 
used. All other SWEET16 registers are at the 
user's unrestricted disposal. 

SWEET16 instructions fall into register 
and nonregister categories. The register oper- 
ations specify one of the 16 registers to be 
used as either a data element or a pointer to 
data in memory depending on the specific 
instruction. For example, the instruction 
INR R5 uses R5 as data and ST @R7 uses 
R7 as a pointer to data in memory. Except 
for the SET instruction, register operations 
only require one byte. The nonregister oper- 
ations are primarily 6502 style branches 
with the second byte specifying a ±127 byte 
displacement relative to the address of the 
following instruction. If a prior register 
operation result meets a specified branch 
condition, the displacement is added to 
SWEET16's program counter, effecting a 
branch. 

SWEET16 is intended as a 6502 enhance- 
ment package, not a stand alone processor. 
A 6502 program switches to SWEET16 
mode with a subroutine call, and subsequent 
code is interpreted as SWEET16 instruc- 
tions. The nonregister operation RTN re- 
turns the user program to the 6502's direct 
execution mode after restoring the internal 
register contents (A, X, Y, P and S). The 
example of listing 1 illustrates how to use 
SWEET16 in some program segment. 

Instruction Descriptions 

The SWEET16 op code list is short and 
uncomplicated. Excepting relative branch 
displacements, hand assembly is trivial. All 
register op codes are formed by combining 
two hexadecimal digits, one for the op code 
and one to* specify a register. For example, 



150 



BYTE November 1977 



op codes 15 and 45 both specify register R5 
while codes 23, 27 and 29 are all ST (store) 
operations. Most register operations of 
SWEET16 are assigned to numerically adja- 
cent pairs to facilitate remembering them. 
Thus LD and ST are op codes 2n and 3n 
respectively, while LD @ and ST @ are codes 
4n and 5n. 

Operation codes 00 to 0C (hexadecimal) 
are assigned to the 13 nonregister opera- 
tions. Except for RTN (op code 0), BK 
(0A), and RS (B), the nonregister operations 
are 6502 style relative branches. The second 
byte of a branch instruction contains a 
±127 byte displacement value (in two's 
complement form) relative to the address of 
the instruction immediately following the 
branch. If a specified branch condition is 
met by the prior register operation result, 
the displacement is added to the program 
counter effecting a branch. Except for BR 
(Branch always) and BS (Branch to Sub- 
routine), the branch operation codes are 
assigned in complementary pairs, rendering 
them easily remembered for hand coding. 
For example, Branch if Plus and Branch 
if Minus are op codes 04 and 05, while 
Branch if Zero and Branch if NonZero are 
op codes 06 and 07. 

Theory of Operation 

SWEET16 execution mode begins with a 
subroutine call to SW16 (see listing 2, an 
assembly of SWEET16). The user must in- 
sure that the 6502 is in hexadecimal mode 
upon entry. [For those unfamiliar with the 
6502, arithmetic is either decimal or hexa- 
decimal (binary) depending on a program- 
mable flag. . .CH] All 6502 registers are 
saved at this time, to be restored when a 
SWEET16 RTN instruction returns control 
to the 6502. If you can tolerate indefinite 
6502 register contents upon exit, approxi- 
mately 30 jus may be saved by entering 
SWEET16 at location SW16 + 3. Because 
this might cause an inadvertent switch from 
hexadecimal to decimal mode, it is advisable 
to enter at SW1 6 the first time through. 

After saving the 6502 registers, SWEET1 6 
initializes its program counter (R15) with 
the subroutine return address off the 6502 
stack. SWEET16's program counter points 
to the location preceding the next instruc- 
tion to be executed. Following the subrou- 
tine call are 1 byte, 2 byte, or 3 byte long 
SWEET16 instructions, stored in ascending 



Listing 2: SWEET! 6 assembly. The SWEET! 6 program, assembled to reside 
at location 800 hexadecimal, is presented by this listing. The primary entry 
point is at the beginning, location SW16. An alternate entry point if there 
is no need to save processor registers is at location 803 in this assembly, 
SW16+3. 



THUj MAY 12j 
01 



SVEET16 INTERPRETED 
1977 



00002 * * 

00003 * APPLE-II PSEUDO * 

00004 * MACHINE INTERPRETER * 

00005 * * 

00006 * S« WOZNIAK + 

00007 * APPLE COHPUTER INC * 









00010 


TITLE 


"SWEET I 6 INTERPRETER" 








000 1 1 


R0L 


EPZ 


40 










00012 


R0H 


EPZ 


SI 










00013 


R14H 


EPZ 


SID 










00014 


R15L 


EPZ 


ME 










eeois 


R15H 


EPZ 


S1F 










00016 


S16PAG 


EQU 


SF7 










00017 




ORG 


S800 




0800: 


20 


74 09 


00018 


SW16 


JSR 


SAVE 


PRESERVE 6502 REG CONTENTS 


0803: 


68 




00019 




PLA 






0804: 


85 


IE 


00020 




STA 


P. 15L 


INIT SWEET16 PC 


0806: 


68 




00021 




PLA 




FROM RETURN 


0807: 


85 


IF 


00022 




STA 


R15H 


ADDRESS 


0809: 


20 


0F 08 


00023 


SW16B 


JSR 


SW16C 


INTERPRET AND EXECUTE 


080C: 


4C 


09 08 


00024 




JMP 


SW16B 


ONE SWEET16 INSTR. 


080F: 


E6 


IE 


00025 


SV16C 


INC 


R15L 




081 1: 


D0 


02 


00026 




BNE 


SW16D 


INCR SWEET16 PC FOR FETCH 


0813: 


E6 


IF 


00027 




INC 


R15H 




06 15: 


A9 


F7 


00028 


SWI6D 


LDA 


#S16PAG 




08 17: 


48 




00029 




PHA 




PUSH ON STACK FOR RTS 


0616: 


A0 


00 


00030 




LDY 


#20 




08 1 A: 


Bl 


IE 


00031 




LDA 


<R15L)*Y 


FETCH INSTR 


08 1C: 


29 


0F 


00032 




AND 


#$F 


MASK REG SPECIFICATION 


06 IE: 


0A 




00033 




ASL 


A 


DOUBLE FOR 2-BYTE REG'S 


081F: 


AA 




00034 




TAX 




TO X-REG FOR INDEXING 


0820: 


4A 




00035 




LSR 


A 




082 1: 


51 


IE 


00036 




E0R 


( R 1 5L ) * Y 


NOW HAVE OPCODE 


0823: 


F0 


0B 


00037 




BEG 


TOBR 


IF ZERO THEN NON-REG OP 


0825: 


86 


ID 


00038 




STX 


R14H 


INDICATE'PRIOR RESULT REG* 


0827: 


4A 




00039 




LSR 


A 




0828: 


4A 




00040 




LSR 


A 


0PC0DE*2 TO L5B'S 


0829: 


4A 




00041 




LSR 


A 




082A: 


A8 




00042 




TAY 




TO Y-REG FOR INDEXING 


082B: 


B9 


58 08 


00043 




LDA 


OPTBL- 2* 


Y" LOW- ORDER ADR BYTE 


082E: 


48 




00044 




PHA 




ONTO STACK 


082F: 


60 




00045 




RTS 




GOTO REG-OP POUTINE 


0830: 


E6 


IE 


00046 


TOBR 


INC 


R15L 




0832: 


D0 


02 


00047 




BNE 


T0BR2 


INCR PC 


0834: 


E6 


IF 


00048 




INC 


RI5H 




0836: 


BD 


5B 08 


00049 


T0BR2 


LDA 


BRTBL; X 


LOW-ORDER ADR BYTE 


0839: 


48 




00050 




PHA 




ONTO STACK FOR NON-REG OP 


083A: 


A5 


ID 


00051 




LDA 


R14H 


'PRIOR RESULT REG* INDEX 


083C: 


4A 




00052 




LSR 


A 


PREPARE CARRY FOR BC* BNC. 


083D: 


60 




00053 




RTS 




GOTO NON-REG OP ROUTINE 


063E: 


68 




00054 


RTNZ 


PLA 




POP RETURN ADDRESS 


083F: 


68 




00055 




PLA 






0640: 


20 


7F 09 


00056 




JSR 


RESTORE 


RESTORE 6502 REG CONTENTS 


0843: 


6C 


IE 00 


00057 




JMP 


(R15L) 


RETURN TO 6502 CODE VIA PC 


0646i 


Bl 


IE 


00056 


SETZ 


LDA 


<R15L),Y 


HIGH-ORDER BYTE OF CONST . 


0848: 


95 


01 


00059 




STA 


R0H/X 




084Ax 


88 




00060 




DEY 






084B: 


Bl 


IE 


00061 




LDA 


< R 1 5L ) , Y 


LOW-ORDER BYTE OF CONSTANT 


084D: 


95 


00 


00062 




STA 


R0L*X 




084F: 


98 




00063 




TYA 




Y-REG CONTAINS 1 


0650: 


38 




00064 




SEC 






0651: 


65 


IE 


00065 




ADC 


RISL 


ADD 2 TO PC 


0853: 


85 


IE 


00066 




STA 


R1SL 




0855: 


90 


02 


00067 




BCC 


SET2 




0857: 


E6 


IF 


00068 




INC 


R15H 




0859i 


60 




00069 


SET2 


RTS 






085A: 


79 




00070 


OPTBL 


DFB 


SET- 1 


( IX) 


0650: 


70 




00071 


BRTBL 


DFB 


RTN- 1 


(0) 


085C: 


7B 




00072 




DFB 


LD-1 


<2X) 


085D: 


14 




00073 




DFB 


BR- 1 


CD 


085E: 


84 




00074 




DFB 


ST- 1 


<3X) 


085F: 


15 




00075 




DFB 


BNC- 1 


<2> 


0860: 


9C 




00076 




DFB 


LDAT- I 


C4X) 


086 1: 


26 




00077 




DFB 


BC- 1 


.(3) 


0862: 


8D 




00078 




DFB 


STAT- 1 


<5X) 


0863: 


29 




00079 




DFB 


BP-1 


<4> 


0864: 


BE 




00080 




DFB 


LDDAT- 1 


<6X> 


0865: 


30 




0008 1 




DFB 


BM-1 


(5) 


0866: 


C8 




00082 




DFB 


STDAT- 1 


C7X) 


0867: 


37 




00083 




DFB 


BZ-1 


<6> 


0868: 


A6 




00084 




DFB 


POP- 1 


<8X> 


0869: 


40 




00085 




DFB 


BNZ- 1 


(7) 


086At 


D2 




00086 




DFB 


STPAT- 1 


C9X) 


086B: 


49 




00087 




DFB 


BM 1- 1 


(8) 


086C: 


FC 




00088 




DFB 


ADD- I 


<AX) 


066D: 


54 




00069 




DFB 


BNM1- 1 


<9> 


086E: 


E5 




00090 




DFB 


SUB- 1 


CBX) 


086F: 


7C 




0009 1 




DFB 


BK-1 


CA) 


0870: 


AA 




00092 




DFB 


POPD- 1 


CCX) 


087 I: 


5F 




00093 




DFB 


RS-r 


<B> 


087 2: 


E7 




00094 




DFB 


CPR- 1 


(DX) 


087 3: 


0A 




00095 




DFB 


BS-i 


<C> 


087 4: 


95 




00096 




DFB 


INR- 1 


(EX) 


087 5: 


5E 




00097 




DFB 


NUL- 1 


(D) 



BYTE November 1977 151 



Listing 2, continued: 



0876: 


DC 




00098 




DFB 


DCR- 1 


<FX) 


087 7: 


5E 




00099 




DFB 


NUL- 1 


CE) 


067 8: 


5E 




00100 




DFB 


NUL- 1 


(UNUSED) 


0879: 


5E 




00101 




DFB 


NUL- 1 


CF) 


087A: 


10 


CA 


00102 


SET 


BPL 


SET? 


ALWAYS TAKEN 


087C: 


B5 


00 


00103 


LD 


LDA 


R0L,X 










00104 


BK 


ECU 


*- 1 




087 E: 


85 


00 


00105 




STA 


R0L 




0880: 


B5 


01 


00106 




LDA 


R0H,X 


MOVE RX TO R0 


0882: 


85 


01 


00107 




STA 


R0H 




0884: 


60 




00108 




RTS 






0885: 


A5 


00 


00109 


ST 


LDA 


R0L 




0887: 


95 


00 


001 10 




STA 


R0L,X 


MOVE R0 TO RX 


0889: 


A5 


01 


001 1 1 




LDA 


P0H 




0S8B: 


95 


01 


001 12 




STA 


R0H/X 




088D: 


60 




001 13 




RTS 






088E: 


A5 


00 


001 14 


STAT 


LDA 


P0L 




0890: 


81 


00 


001 15 


STAT2 


STA 


(R0L/X) 


STORE BYTE INDIRECT 


0892: 


A0 


00 


001 16 




LDY 


#50 




0894: 


84 


ID 


001 17 


STAT3 


STY 


R14H 


INDICATE R0 IS RESULT REG 


0896: 


F6 


00 


001 18 


INR 


INC 


R0L,X 




0898: 


D0 


02 


01.19 




BNE 


INR2 


INCH RX 


089A: 


F6 


01 


00120 




INC 


R0H,X 




089C: 


60 




00121 


INR2 


RTS 






089D: 


Al 


00 


00 122 


LDAT 


LDA 


<R0L,X) 


LOAD INDIRECT < RX) 


089F: 


85 


00 


00123 




STA 


R0L 


TO P0 


08A1: 


A0 


00 


00124 




LDY 


#$0 




08A3: 


84 


01 


00125 




STY 


R0H 


ZERO HIGH- ORDER R0 BYTE 


08A5: 


F0 


ED 


00126 




BEO 


STAT3 


ALWAYS TAKEN 


08A7: 


A0 


00 


00127 


POP 


LDY 


#£0 


HIGH ORDER BYTE = 


08A9: 


F0 


06 


0128 




BEQ 


P0P2 


ALWAYS TAKEN 


06AB: 


20 


DD 08 


0129 


POPD 


JSR 


DCR 


DECR RX 


08AE: 


Al 


00 


00130 




LDA 


CP0L,X) 


POP HI GH- ORDER BYTE »RX 


08B0: 


A8 




00131 




TAY 




SAVE IN Y-REG 


0SB1: 


20 


DD 08 


00132 


P0P2 


JSR 


DCR 


DECR RX 


08B4: 


Al 


00 


00133 




LDA 


<R0L,X) 


LOU-ORDER BYTE 


08B6: 


85 


00 


00134 




STA 


R0L 


TO R0 


08BS: 


84 


01 


00135 




STY 


P0H 




08BA: 


A0 


00 


0136 


P0P3 


LDY 


#S0 


INDICATE R0 AS LAST 


08BC: 


84 


ID 


00137 




STY 


R14H 


RESULT REG 


06BE: 


60 




0138 




RTS 






08BF: 


20 


9D 08 


00139 


LDDAT 


JSR 


LDAT 


LOW BYTE TO R0> INCR RX 


08C2: 


Al 


00 


00140 




LDA 


<R0L*X) 


HIGH-ORDER BYTE TO R0 


08C4: 


85 


01 


00141 




STA 


R0H 




08 C6: 


4C 


96 08 


00142 




JMP 


INR 


INCR RX 


08C9: 


20 


8E 08 


00143 


ST DAT 


JSR 


STAT 


STORE INDIRECT LOW-ORDER 


08CC: 


A5 


01 


00144 




LDA 


R0H 


BYTE AND INCR RX. THEN 


08CE: 


81 


00 


00145 




STA 


<R0L,X) 


STORE HIGH-ORDER BYTE- 


08D0: 


4C 


96 08 


00146 




JMP 


INR 


INCR RX AND RETURN 


08D3: 


20 


DD 08 


00147 


STPAT 


JSR 


DCR 


DECR RX 


08D6: 


A5 


00 


00148 




LDA 


R0L 




08D8: 


81 


00 


00149 




STA 


<R0L;X) 


STORE R0 LOW BYTE 3RX 


08 DA: 


4C 


BA 08 


00150 




JMP 


P0P3 


INDICATE R0 AS LAST 


08DD: 


B5 


00 


00151 


DCR 


LDA 


R0L,X 


RESULT REG 


08DF: 


D0 


02 


00152 




BNE 


DCR2 


DECR RX 


08E1: 


D6 


01 


00153 




DEC 


R0H..X 




08E3: 


D6 


00 


00154 


DCR2 


DEC 


R0L..X 




08E5: 


60 




00155 




RTS 






08E6: 


A0 


00 


00 156 


SUB 


LDY 


#S0 


RESULT TO R0 


08E8: 


38 




00 157 


CPR 


SEC • 




NOTE Y-REG = 13*2 FOR CPR 


08E9: 


A5 


00 


00156 




LDA 


R0L 




08EB: 


F5 


00 


00159 




SBC 


R0L,X 




08ED: 


99 


00 00 


00 160 




STA 


R0L/Y 


R0-RX TO RY 


08F0: 


A5 


01 


00161 




LDA 


R0H 




08F2: 


F5 


01 


00162 




SBC 


R0H,X 




08F4i 


99 


01 00 


00163 


SUB2 


STA 


P0H,Y 




08F7: 


98 




00164 




TYA 




LAST RESULT PEG + 2 


08F8: 


69 


00 


00165 




ADC 


#10 


CARRY TO LSB 


08FA: 


85 


ID 


00166 




STA 


RUH 




08FC: 


60 




00167 




RTS 






08FD: 


A5 


00 


00168 


ADD 


LDA 


R0L 




08FF: 


75 


00 


00169 




ADC 


R0L.X 




0901: 


85 


00 


00170 




STA 


R0L 


R0 + PX TO R0 


0903: 


A5 


01 


00171 




LDA 


P0H 




0905: 


75 


01 


00172 




ADC 


R0H,X 




0907: 


A0 


00 


00173 




LDY 


#S0 


R0 FOR RESULT 


0909: 


F0 


E9 


00174 




BEQ 


SUB2 


FINISH ADD 


090B: 


A5 


IE 


00175 


BS 


LDA 


P.15L 


NOTE X-REG IS 12*2! 


090D: 


20 


90 08 


00176 




JSP 


STAT2 


PUSH LOW PC BYTE VIA R12 


09 10: 


A5 


IF 


00177 




LDA 


P15H 




09 12: 


20 


90 08 


00178 




JSR 


STAT2 


PUSH HIGH-ORDER PC BYTE 


09 15: 


18 




00179 


BP 


CLC 






09 16: 


B0 


0E 


00180 


BNC 


BCS 


BNC2 


NO CARRY TEST 


09 18: 


Bl 


IE 


00181 


BRI 


LDA 


C R 1 5L ) » Y 


DISPLACEMENT BYTE 


091 A: 


10 


01 


00182 




BPL 


BR2 




09 1C: 


88 




00183 




DEY 






09 ID: 


65 


IE 


00184 


BR2 


ADC 


P15L 


ADD TO PC 


09 IF: 


85 


IE 


00185 




STA 


R15L 




0921: 


98 




00166 




TYA 






0922: 


65 


IF 


00187 




ADC 


R15H 




0924: 


85 


IF 


00188 




STA 


R15H 




0926: 


60 




00189 


BNC2 


RTS 






0927: 


B0 


EC 


00190 


BC 


BCS 


BR 




0929: 


60 




00191 




RTS 






092A: 


0A 




00192 


BP 


ASL 


A 


DOUBLE. RESULT-REG INDEX 


092B: 


AA 




00193 




TAX 




TO X-REG FOR INDEXING 


092C: 


B5 


01 


00194 




L»A 


P0H,X 


TEST FOP PLUS 


092E: 


10 


E8 


00195 




BPL 


BRI 


BRANCH IF SO 


0930: 


60 




00196 




RTS 






093 1: 


0A 




00197 


BM 


ASL 


A 


DOUBLE RESULT-REG INDEX 


09 32: 


AA 




00 198 




TAX 






0933: 


B5 


01 


00199 




LDA 


R0H,X 


TEST FOR MINUS 


0935: 


30 


El 


00200 




BMI 


BR I 




0937: 


60 




00201 




RTS 






0938: 


0A 




00202 


B£ 


ASL 


A 


DOUBLE RESULT-REG INDEX 


0939: 


AA 




00203 




TAX 






093A: 


B5 


00 


00204 




LDA 


R0L,X 


TEST FOR 7.EPO 


093C: 


15 


01 


00205 




ORA 


P0H..X 


(BOTH BYTES) 


093E: 


F0 


D8 


00206 




BEQ 


BRI 


BRANCH IF SO 


0940: 


60 




00207 




RTS 






0941: 


0A 




00208 


BNt 


ASL 


A 


DOUBLE RESULT-REG INDE.X 


0942: 


AA 




00209 




TAX 






0943: 


B5 


00 


00210 




LDA 


P0L,X 


TEST FOR NONZERO 


0945: 


15 


01 


002 11 




ORA 


R0H>X 


(BOTH BYTES) 


0947: 


D0 


CF 


00212 




BNE 


BRI 


BRANCH IF SO 


0949: 


60 




00213 




PTS 






094A: 


0A 




00214 


BM1 


ASL 


A 


DOUBLE HEStn.T-PEG INDEX 


094B: 


AA 




00215 




TAX 






094C: 


B5 


00 


00216 




LDA 


R0L,X 


CHECK BOTH BYTES 


094E: 


35 


01 


00217 




AND 


R0H, X 


FOR iFF (MINUS 1) 



memory locations like 6502 instructions. 
The main loop at SW16B repeatedly calls 
the "execute instruction" routine atSW16C 
which examines one op code for type and 
branches to the appropriate subroutine to 
execute it. 

Subroutine SW16C increments the pro- 
gram counter (R15) and fetches the next op 
code which is either a register operation of 
the form OP REG (2 hexadecimal digits) 
with OP between hexadecimal 1 and F, or 
a nonregister operation of the form OP 
with OP between hexadecimal and D. 
Assuming a register operation, the register 
specification is doubled to account for the 
2 byte SWEET16 registers and placed in the 
X register for indexing. Then the instruc- 
tion type is determined. Register operations 
place the doubled register specification in 
the high order byte of R14 indicating the 
"prior result register" to subsequent branch 
instructions. Nonregister operations treat the 
register specification (right-hand half-byte) 
as their op code, increment the SWEET16 
PC to point at the displacement byte of 
branch instructions, load the A-Reg with the 
"prior result register" index for branch 
condition testing, and clear the Y-Reg. 

When Is an RTS Really a JSR? 

Each instruction type has a corresponding 
subroutine. The subroutine entry points are 
stored in a table which is directly indexed by 
the op code. By assigning all the entries to a 
common page, only a single byte of address 
need be stored per routine. The 6502 in- 
direct jump might have been used as follows 
to transfer control to the appropriate 
subroutine: 



LDA #ADRH 
STA IND+1 
LDA OPTBL,X 
STA IND 
JMP (IND) 



High order address byte 
Low order byte 



To save code the subroutine entry address 
(minus 1) is pushed onto the stack, high 
order byte first. A 6502 RTS (ReTurn from 
Subroutine) is used to pop the address off 
the stack and into the 6502 program counter 
(after incrementing by 1 ). The net result is 
that the desired subroutine is reached by 
executing a subroutine return instruction! 
[ This ironic situation is an example of what 
is commonly referred to as ''cleverness. "] 

Op Code Subroutines 

The register operation routines make use 
of the 6502 "zero page indexed by X" and 
"indexed by X indirect" addressing modes 
to access the specified registers and indirect 
data. The "result" of most register ops is left 



152 BYTE November 1977 



The Art of Computer Programming 



Praised by many critics as the best books in their field, The Art of Computer Pro- 
gramming, Volumes I, II and III, are part of a projected seven volume omnibus survey of 
computer science now being completed by Donald E Knuth. 

Volume I, Fundamental Algorithms, begins with a thorough discussion of the 

mathematics used in computer programming, followed by a treatment of informa- 
tion structures, stacks, arrays, linked lists, dynamic storage allocation, and trees. 634 
pp; $20.95. 

Volume II, Seminumerical Algorithms, is concerned with random numbers, statisti- 
cal tests, random sequences, as well as arithmetic (floating point and multiple precision), 
polynomials, and rational arithmetic. 624 pp; $20.95. 

Volume 1 1 1 deals with Searching and Sorting, and as the name implies, the emphasis 

is on algorithms for sorting, including combinatorial properties of permutations, internal 
sorting, optimum sorting, and external sorting. Also included is a section on sequential 
searching, hashing, digital searching, and more. 722 pp; $20.95. 

A hypothetical assembly language called MIX has been developed by the author to 
illustrate programming examples throughout the series. MIX is easily convertible to other 
assembly languages. 

Prof Knuth writes with style and wit (among many memorable quotes is one from 
McCall's Cookbook!). This classic work belongs on the reference shelf of everyone 
seriously interested in computer science. 

.... and Some of the Best for Beginners 





"iMMiiv., is* 



Computer Science — A First Course. 

The title of this book belies its thoroughness 
and rigor. Computer Science: A First Course 
is one of the most complete and well laid 
out computer science books we've seen in 
quite a while. This 760+ page book is for 
the serious experimenter who wants a de- 
finitive treatment of every aspect of soft- 
ware design and development. Chapters deal 
with algorithms, flowcharts, looping struc- 
tures, stepwise decomposition, trees, storage 
concepts, interpreting and compiling, data 
processing, numerical processing, character 
strings, and a discussion of SAMOS, a 
special hypothetical computer system used 
throughout the book to illustrate computer 
science principles. Computer Science: A 
First Course makes an excellent source 
book. $16.95, Hardcover. 



.&&$$ t$ft>* H Acoustical 

v^**!^ ^ '^^H lounchilions 







Understanding Microcomputers and 

Small Computer Systems by Nat 

Wadsworth. What does "hexadecimal" 
mean? What is Boolean Logic? What's the 
difference between a PROM and an EROM? 
These questions and more are answered in 
Nat Wadsworth's Understanding Microcom- 
puters and Small Computer Systems. You'll 
learn about the basic operation of a micro- 
computer, the types of instructions that 
microcomputers are able to carry out, 
machine language and higher level language 
programming, input and output devices, etc. 
The book concludes with a discussion of 
system considerations. The combined index 
and glossary is a useful bonus. If you're a 
beginner in the personal computing field, 
get a copy today! This 300 page book is 
only $9.95. 




The Acoustical Foundations of Music, 

subtitled Musical Sound: a lucid account of 
its properties, production, behavior, and 
reproduction, by John Backus. One of the 
problems involved in trying to produce 
music by computer is the scarcity of useful 
reference material on the basic theory of 
sound generation and musical acoustics. 
John Backus has filled this gap with The 
Acoustical Foundations of Music, a readable 
and informative guide that covers the 
physiological properties of sound, the ear 
and its perception of sounds, the effect 
of acoustic environment, the acoustical 
behavior of musical instruments, and the 
various applications of electronics and 
computers to the production, reproduction 
and composition of music. 

The book assumes some slight know- 
ledge of music on the part of the reader, 
but covers enough elementary physics 
and acoustics to orient the reader who has 
no knowledge of physics. 

This clear and lively exposition of 
music's physical basis will be invaluable to 
all those experimenters interested in 
creating music by computer. 312 pages, 
and only $9.95 in hardcover. 

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 100 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. 



j Check Payment method: 


— 1 


1 . „. JMk My check is enclosed 

! Send to: iB^, 

1 BITS Inc ^^^' Bill my MC No. . Fxp daTP 
| 70 Main Street ^£L mSSm Rill my RAC No Fxp. date 






J Peterborough NH 03458 




* Name Total for all books checked $ 




1 Address PnstagP, pifi rpnts p^r hnnk fnr h^nkq $ 




1 Citv State Zip Code n r anH Total $ 




1 signature Prices shown are subject to change without notice. 




1 All orders must be prepaid. 




1 You may photocopy this page if you wish to leave your BYTE intact. In unusual cases, processing may exceed 30 days. 


.J 



Circle 12 on inquiry card. 



BYTE November 1977 



153 



Listing 2, continued: 



0950: 


49 


FF 


00218 




EOF. 


#$FF 




0952: 


F0 


C4 


00219 




BEO 


BR1 


BRANCH IF SO 


0954: 


60 




00220 




MTS 






0955: 


0A 




00221 


BNM1 


ASL 


A 


DOUBLE RESULT-PEG INDEX 


09 56: 


AA 




00222 




TAX 






09 57: 


B5 


00 


00223 




LDA 


R0L,X 




0959: 


35 


01 


00224 




AND 


R0H,X 


CHK BOTH BYTES FOR NO $FF 


09 5B: 


49 


FF 


00225 




LOR 


*iF7 




095D: 


D0 


B9 


00226 




BNE 


BR1 


BRANCH IF NOT MINUS 1 


095F: 


60 




00227 


NUL 


RTS 






0960: 


A2 


18 


00228 


RS 


LDX 


#$18 


12*2 FOR R12 AS STK PNTR 


0962: 


20 


DD 08 


00229 




JSR 


DCR 


DECR STACK POINTER 


0965: 


Al 


00 


00230 




LDA 


<R0L/X) 


POP HIGH RETURN ADR TO PC 


0967: 


85 


IF 


00231 




STA 


R15H 




0969: 


20 


DD 06 


00232 




JSR 


DCR 


SAME FOR LOW-ORDER BYTE 


096C: 


Al 


00 


00233 




LDA 


CR0L,X> 




096E: 


85 


IE 


00234 




STA 


R15L 




097 0: 


60 




00235 




RTS 






097 U 


4C 


3E 08 


00236 
00237 


RTN 

* 


JMP 


RTN£ 










00238 


* REG 


SAVE/RESTORE ROUTINES 








00239 


* FOR 


NON-APPLE-II SYSTEMS 








00240 


* 














00241 


ASAV 


EPZ 


S45 










00242 


XSAV 


EPZ 


$46 










00243 


YSAV 


EPZ 


$47 










00244 


PSAV 


EPZ 


$48 




097 4: 


85 


45 


00245 


SAVE 


STA 


ASAV 




0976: 


86 


46 


00246 




STX 


XSAV 


SAVE 6502 REG C0NTLNT5. 


0978: 


84 


47 


00247 




STY 


YSAV 




097A: 


08 




00248 




PHP 






097B: 


68 




00249 




PLA 






097Ct 


85 


48 


00250 




STA 


PSAV 




097 E: 


60 




00251 




RTS 






097 F: 


A5 


48 


00252 


RESTORE LDA 


PSAV 




0981: 


48 




00253 




PHA 






0982: 


A5 


45 


00254 




LDA 


ASAV 




0984: 


A6 


46 


00255 




LDX 


XSAV 


RESTORE 6502 REG CONTENTS 


0986: 


A4 


47 


00256 




LDY 


YSAV 




0988: 


28 




00257 




PLP 






0989: 


60 




00258 




RTS 







Table 1: 



SWEET16 OP CODE SUMMARY 







Register Ops 




Nonregister Ops 










00 


RTN 


(Return to 6502 mode) 


1n 


SET 


Rn 


Constant (Set) 


01 


BR ea 


(Branch always) 


2n 


LD 


Rn 


(Load) 


02 


BNCea 


(Branch if No Carry) 


3n 


ST 


Rn 


(Store) 


03 


BC ea 


(Branch if Carry) 


4n 


LD 


@Rn 


(Load indirect) 


04 


BP ea 


(Branch if Plus) 


5n 


ST 


@Rn 


(Store indirect) 


05 


BM ea 


(Branch if Minus) 


6n 


LDD 


@Rn 


(Load double indirect) 


06 


BZ ea 


(Branch if Zero) 


7n 


STD 


@Rn 


(Store double indirect) 


07 


BNZea 


(Branch if NonZero) 


8n 


POP 


@Rn 


(Pop indirect) 


08 


BM1 ea 


(Branch if Minus 1) 


9n 


STP 


@Rn 


(Store pop indirect) 


09 


BNM1 ea 


(Branch if Not Minus 1) 


An 


ADD 


Rn 


(Add) 


OA 


BK ea 


(Break) 


Bn 


SUB 


Rn 


(Sub) 


OB 


RS 


(Return from Subroutine) 


Cn 


POPD 


@Rn 


(Pop double indirect) 


OC 


BS ea 


(Branch to Subroutine) 


Dn 


CPR 


Rn 


(Compare) 


OD 




(Unassigned) 


En 


INR 


Rn 


(Increment) 


OE 




(Unassigned) 


Fn 


DCR 


Rn 


(Decrement) 


OF 




(Unassigned) 



SWEET16 Operation Code Summary: Table 1 summarizes the list of SWEET16 opera- 
tion codes, which are explained in further detail one by one in the descriptions which 
follow the table. The program of listing 2 implements the execution of these interpretive 
codes after a call to the entry point SW16. Return to the calling program and normal 
noninterpretive operation is accomplished with the RTN mnemonic of SWEET16. 



SWEET16 - REGISTER OPERATIONS 



SET Rn, Constant 



1 n 

1 



low 



high 



(Set) 



constant 
The 2 byte constant is loaded into Rn (n = to F, hexadecimal) and branch condi- 
tions set accordingly. The carry is cleared. 



Example: 
15 34 AO 



SET R5, A034 



R5 now contains A034 



LD Rn 



(Load) 



The ACC (RO) is loaded from Rn and branch conditions set according to the data 
transferred. The carry is cleared and the contents of Rn are not disturbed. 

Example: 

15 34 AO 



SET R5, A034 



25 



LD 



R5 



ACC now contains A034 



in the specified register and can be sensed by 
subsequent branch instructions since the 
register specification is saved in the high 
order byte of R14. This specification is 
changed to indicate RO (ACC) for ADD and 
SUB instructions and R13 for the CPR 
(compare) instruction. 

Normally the high order R14 byte holds 
the "prior result register" index times 2 to 
account for the 2 byte SWEET! 6 registers, 
and thus the least significant bit is zero. If 
ADD, SUB or CPR instructions generate 
carries, then this index is incremented, set- 
ting the least significant bit, which becomes 
a carry flag. 

The SET instruction increments the pro- 
gram counter twice, picking up data bytes 
for the specified register. In accordance with 
6502 convention, the low order data byte 
precedes the high order byte. 

Most SWEET! 6 nonregister operations 
are relative branches. The corresponding 
subroutines determine whether or not the 
"prior result" meets the specified branch 
condition and if so update the SWEET! 6 
program counter by adding the displacement 
value (-128 to +127 bytes). 

The RTN operation restores the 6502 
register contents, pops the subroutine return 
stack and jumps indirect through the 
SWEET16 program counter register. This 
transfers control to the 6502 at the instruc- 
tion immediately following the RTN in- 
struction. 

The BK operation actually executes a 
6502 break instruction (BRK), transferring 
control to the interrupt handler. 

Any number of subroutine levels may be 
implemented within SWEET! 6 code via the 
BS (Branch to Subroutine) and RS (Return 
from Subroutine) instructions. The user 
must initialize and otherwise not disturb 
R12 if the SWEET! 6 subroutine capability 
is used since it is utilized as the automatic 
subroutine return stack pointer. 

Memory Allocation and User Modifications 

The only storage that must be allocated 
for SWEET! 6 variables are 32 consecutive 
locations in page zero for the SWEET! 6 
registers, four locations to save the 6502 
register contents, and a few levels of the 
6502 subroutine return address stack. If you 
don't need to preserve the 6502 register 
contents, delete the SAVE and RESTORE 
subroutines and the corresponding sub- 
routine calls. This will free the four page 
zero locations ASAV, XSAV, YSAV and 
PSAV. 

You may wish to add some of your own 



Text continued on page 159 



154 



BYTE November 1977 






Circle 81 on inquiry card. 









(Store) 
to the data 


STRn 


3 n 

i 




The ACC (RO) is stored into Rn and branch conditions set according 
transferred. The carry is cleared and the ACC contents are not disturbed. 


Example: 




25 LD R5 Copy the contents 
36 ST R6 of R5 to R6. 











LD@Rn 


4 n 

i 


(Load indirect) 


The low order ACC byte is loaded fr 


om the memory location whose address resides 


in Rn, and the high order ACC byte is cleared. Branch conditions reflect the final 


ACC contents which will always be positive and never minus 1. The carry is cleared. 


After the transfer, Rn is incremented by 1 . 


Example: 


15 34 AO SET R5, A034 


45 LD @R5 ACC is loaded from 


memory location A034 


and R5 is incremented 


to A035. 









ST@Rn 


5 n 


(Store indirect) 


The low order ACC byte is stored in 
Rn. Branch conditions reflect the 2 
the transfer, Rn is incremented by 1 . 

Example: 

15 34 AO SET R 

16 22 90 SET R 
45 LD @R 
56 ST @R 


to the mei 
byte ACC 

5, A034 

6, 9022 
5 

6 


nory location whose address resides in 
) contents. The carry is cleared. After 

Load pointers R5 and R6 
with A034 and 9022. 
Move a byte from location 
A034 to location 9022. Both 
pointers are incremented. 









LDD @Rn 


6 n 

i 


(Load double byte indirect) 


The low order ACC byte is loaded fr 


om the m 


emory location whose address resides 


in Rn, and Rn is then incremented by 1 . The high order ACC byte is loaded from the 


memory location whose address resides in the (incremented) Rn and Rn is again 


incremented by 1 . Branch conditions reflect the final ACC contents. The carry is 


cleared. 


Example: 


15 34 AO SET R5, A034 


65 LDD @R5 The low order ACC byte is 


loaded from location A034, 


the high order byte from 


location A035. R5 is incre- 


mented to A036. 









STD@Rn 


7 n 

i 


(Store double byte indirect) 


The low order ACC byte is stored im 
Rn, and Rn is then incremented by 
memory location whose address res 
incremented by 1. Branch condition 
turbed. The carry is cleared. 


to the mer 
1. The hi 
ides in (t 
s reflect 1 


nory location whose address resides in 
gh order ACC byte is stored into the 
le incremented) Rn and Rn is again 
the ACC contents which are not dis- 


Example: 


15 34 AO SET R5, A034 Load pointers R5 and R6 

16 22 90 SET R6, 9022 with A034 and 9022. Move 
65 LDD @R5 double byte from locations 
76 STD @R6 A034 and A035 to locations 

9022 and 9023. Both pointers 
are incremented by 2. 



FINALLY. 

A State of -the-Art 
T« n > I For Learning 
Siof tware 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. Inyourowntime. 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 notebookforeasy 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. AN 
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 



SERVICES INCORPORATED 



BYTE November 1977 



155 



uiiuiti yo un inquiry caru. 



IT ALL ADDS UP TO 
EDUCATIONAL 

The creators of the onginm Pocket 
Calculator Game Book now present two 
fun-filled new game books for use with 
tn.it incredible machine tint has found ,i 
place in almost every home 




THE KIDS' POCKET CALCULATOR 
CAME BOOK 

by Edwin schiossberg and 
John Brockman 

A quick trip through elementary mathe- 
matics- fun and games with real purpose 
The first book of its kind for kids from 
kindergarten through college illustrated 
with line drawings and cartoons 
S6 95 hardcover 53 95 paperbound 




THE POCKET CALCULATOR 
CAME BOOK #2 

by Edwin schiossberg and 

John Brockman 

Even more popular in approach than its 

famous predecessor, this book is 

simpler, more accessible, and its games 

are more mathematically basic 

illustrated with line drawings and 

cartoons. 

56 95 hardcover $3.95 paperbound 



E3WILLIAM MORROW 



POP @Rn 



8 



(Pop indirect) 



The low order ACC byte is loaded from the memory location whose address resides 
in Rn after Rn is decremented by 1 and the high order ACC byte is cleared. Branch 
conditions reflect the final 2 byte ACC contents which will always be positive and 
never minus 1 . The carry is cleared. Because Rn is decremented prior to loading the 
ACC, single byte stacks may be implemented with the ST @Rn and POP @Rn opera- 
tions (Rn is the stack pointer). 



Example: 

15 34 AO 

10 04 00 

35 

10 05 00 

35 

10 06 00 

35 

85 

85 

85 



SET 

SET 

ST 

SET 

ST 

SET 

ST 

POP 

POP 

POP 



R5, A034 

RO, 4 
@R5 

RO, 5 
@R5 

RO, 6 
@R5 
@R5 
@R5 
@R5 



Init stack pointer. 

Load 4 into ACC. 
Push 4 onto stack. 

Load 5 into ACC. 
Push 5 onto stack. 

Load 6 into ACC. 
Push 6 onto stack. 
Pop 6 off stack into ACC. 
Pop 5 off stack. 
Pop 4 off stack. 



STP@Rn 



(Store pop indirect) 



The low order ACC byte is stored into the memory location whose address resides in 
Rn after Rn is decremented by 1. Then the high order ACC byte is stored into the 
memory location whose address resides in Rn after Rn is again decremented by 1. 
Branch conditions will reflect the 2 byte ACC contents which are not modified. STP 
@Rn and PLA @Rn are used together to move data blocks beginning at the greatest 
address and working down. Additionally, single byte stacks may be implemented 
with the STP @Rn and LDA @Rn ops. 



Example: 

14 34 AO 

15 22 90 
84 

95 
84 
95 



SET R4, A034 
SET R5, 9022 

POP @R4 

STP @R5 

POP @R4 

STP @R5 



Init pointers. 

Move byte from A033 

to 9021. 
Move byte from A032 

to 9020. 



ADD Rn 

The contents of Rn are added t 
16 bits of the sum restored in A 
branch conditions reflect the fina 






(Add) 

; of the ACC (RO) and the low order 
sum bit becomes the carry and other 
s. 




A n 

i 


th 
CC. 

1 AC 


e content 
The 17th 
C content 


Example: 












10 34 76 

11 27 42 
A1 




SET 
SET 
ADD 


RO, 7634 
R1, 4227 
R1 




Init RO (ACC) 

and R1. 
Add R1 (sum = B85B, 


AO 




ADD 


RO 




carry clear) 
Double ACC (RO) to 70B6 
with carry set. 









SUB Rn 


B n 

i 


(Subtract) 


The contents of Rn are subtracted 
complement addition: 


from the 


ACC contents by performing a two's 


ACC ACC + Rn + 1 


The low order 16 bits of the subtraction are restored in the ACC. The 17th sum bit 
becomes the carry and other branch conditions reflect the final ACC contents. If the 
16 bit unsigned ACC contents are greater than or equal to the 16 bit unsigned Rn 
contents then the carry is set, otherwise it is cleared. Rn is not disturbed. 


Example: 

10 34 76 SET R0, 7634 Init RO (ACC) 

11 27 42 SET R1, 4227 and R1. 

A1 SUB R1 Subtract R1 (diff = 340D 

with carry set) 
AO SUB RO Clears ACC (RO) 



156 



BYTE November 1977 



POPD@Rn 

Rn is decremented 


by 1 


and th 








(POP Double byte indirect) 
\CC byte is loaded from the memory 




C n 

i 


e high order > 


location whose address now resides in 


Rn. Then Rn is again decremented by 1 and 


the low order 


ACC 


byte 


is loaded from the corresponding memory location. Branch 


conditions reflect the final ACC contents. The 


carry is cleared. Because Rn is decre- 


mented prior 


to loading 


each of the ACC halves, double byte stacks may be imple- 


mented with the STD @ Rn and POPD @ Rn operations. (Rn is the stack pointer). 


Example: 












15 34 


AO 




SET 


R5, 


A034 


Init stack pointer. 


10 12 


AA 




SET 


RO, 


AA12 


Load AA12 into ACC. 


75 






STD 


@R5 




Push AA12 onto stack. 


10 34 


BB 




SET 


RO, 


BB34 


Load BB34 into ACC. 


75 






STD 


@R5 




Push BB34 onto stack. 


10 56 


CC 




SET 


RO, 


CC56 


Load CC56 into ACC. 


75 






STD 


@R5 






C5 






POPD @R5 




Pop CC56 off stack. 


C5 






POPD @R5 




Pop BB34 off stack. 


C5 






POPD @R5 




Pop AA12 off stack. 







(Compare) 
by performing the 16 bit binary sub- 


CPR Rn 


D n 

I 


The ACC (RO) contents are compan 


3d to Rn 


traction ACC-Rn and storing the low order 16 difference bits in R13 for subsequent 


branch tests. If the 16 bit unsigned ACC conte 


nts 


are greater than or equal to the 16 


bit unsigned Rn contents then the carry is s 


et, 


otherwise it is cleared. No other 


registers, including ACC and Rn, are disturbed. 






Example: 






15 34 AO SET R5, A034 




Pointer to memory. 


16 BF AO SET R6, AOBF 




Limit address. 


10 00 00 LOOP SET R0, 




Zero data. 


75 STD @R5 




Clear 2 Iocs, incr R5 by 2. 


25 LD R5 




Compare pointer R5 


D6 CPR R6 




to limit R6. 


02 F8 BNC LOOP 




Loop if carry clear. 



INR Rn 

The contents of Rn 
conditions reflect the 


are increm 
incremente 








(Increment) 
carry is cleared and other branch 




E n 

I 




snted 
d vali 


by 1. T 
e. 


he 


Example: 










15 34 A0 
10 00 00 
55 

E5 
55 




SET 
SET 
ST 

INR 
ST 


R5, A034 
R0, 
@R5 

R5 
@R5 


Init R5 (pointer) 

Zero to R0. 

Clears loc A034 and incrs 

R5 to A035. 
Incr R5 to A036 
Clears loc A036 (not A035) 



DCR Rn 



(Decrement) 



The contents of Rn are decremented by 1. The carry is cleared and other branch 
conditions reflect the decremented value. 

Example: (Clear nine bytes beginning at loc A034) 



15 34 A0 


SET 


R5, A034 


Init pointer. 


14 09 00 


SET 


R4, 9 


Init count. 


10 00 00 


SET 


R0, 


Zero ACC. 


55 


LOOP ST 


@R5 


Clear a mem byte 


F4 


DCR 


R4 


Deer count. 


07 FC 


BNZ 


LOOP 


Loop until zero. 



SWEET16N 


onregister Instructions 








RTN 




i 


(Return to 6502 mode) 


Control is returned to the 6502 and 
immediately following the RTN instr 
are restored to their original contents 


program 
jction. Th 
(prior ent 


execution continues at the location 
e 6502 registers and status conditions 
eringSWEET16 mode). 



Circle 16 on inquiry card. 




Shopping for a computer 

attheByteShop 

is almost as 

much fun as building one. 

Computers are fun. And afford- 
able. Thousands of people are 
already using personal computers 
for TV games, video color 
graphics, digital music and lots of 
things nobody ever dreamed of 
— till now. 

Until we came along the 
toughest part about getting started 
with computers was shopping for 
one. Now you can visit a Byte Shop 
and put your hands on a wide 
variety of personal, hobby and 
business computers. 



Arizona 

Phocrik Last 
813 N.Scoltsdak Rd. 
Phoenix West 
12654 N. 28th Drive 



I uc 



nil 



2612 I-'.. Broadway 

California 

Berkeley 

1514 University Ave. 

Burbank 

1812 W. Burbank Blvd. 

Campbell 

2626 Union Ave-. 

Diublo Valley 

29»9 N. Main St. 

I'airl'ield 

119 Oak St red 

Ires-no 

3139 L. Mckinley Ave. 

I lay ward 

1122 "irSlavl 

I. os Angles 

3030 W. Olympic Blvd. 

I.awndale 

16508 Hawthorne Blvd. 

Lone Beach 

5433 E. Skurns St. 

Marina Del Key 

4658 B 

Admiralty Way 

Mountain View 

1063 W. Kl (amino Real 

Palo Alto 

2233 KICaminoKVa) 

Pasadena 

496 W. Lake Ave. 

Place n I in 

123 L. Yorba Linda 

Sacramento 

6041 Greenback Lane 

San Diego 

8250 Vickers-ll 

San I ernando Vallcv 

18424 Ventura ISivd. 

San Irancisco 

321 Pacific Ave. 

Santa Barbara 

4 West Mission 

Stockton 

7910 N.LIdoradoSl. 

Thousand Oaks 

2707 Thousand Oaks Blvd. 

Ventura 

1555 iMorscAve. 

Westminster 

14300 Beach Blvd. 

Colorado 

Arapahoe Cuunlv 

3464 S. Aconia St. 



Boulder 

2040 30th St. 

Rorida 

Cocoa Beach 

13 25 N. Atlantic Ave., Suite 4 

It. Lauderdale 

1044 ['..Oakland Park 

Miami 

7S25 Bird Road 

Indiana 

Indianapolis North 

5947 I ,. 82nd St. 

Kansas 

Mission 

58 15 Johnson Drive 

Minnesota 

l-iusan 

1434 Yankee Doodle- Rcl. 

Montana 

Billing 

1201 Grand Ave., Suite 3 

Neu York 

t .evil town 

2721 Hempstead Turnpike 

Rochester 

264 Park Avenue 

Ohio 

Roekv River 

19524 Center Rid;jc Rcl. 

Oregon 

Beaverlun 

3482 SW Cedar Hills Blvd. 

Portland 

2033 SW 4th 

Pennsylvania 

Bryn Maw r 

1 045 W. Lancaster Ave. 

North Carolina. 

Ralekh 

1213 Hillsborough Street 

South Carolina 

Columbia 

2018 Green St. 

Utah 

Salt Lake City 

261 S. Stale St. 

Washington 

Bcllcvue 

14701 Nl- 20th Ave. 

Canada 

Vancouver 

2151 Burrard St. 

Winnipeg 

665 Century St. 

Japan 

Tokvo 

Town Bids., 1-5-9 

Solokiincla 



BVTE SHOP. 

the affordable computer store 



BYTE November 1977 



157 



Circle 135 on inquiry card. 



WARBLE ALARM 
CAR-VAN CLOCK 

WITH HEADLIGHT ALARM 



1 




COMPLETE KIT 
ASSEMBLED 



$35.95 
$45.95 



ELAPSED TIMER 
SECQNDSOISPLAY SWITCH 
9 MINUTE SNOOZE ALARM 
SIMPLE 4WIRE HOOK-UP 
JUMBO VLEO DISPLAY 

1 TO 59 MINUTE COUNTDOWN 

TIME" "'INS SIMULTANEOUSLY 
WITHULOCK! 

RUGGED ABS CASE 

QUARTZ CRYSTAL 
ACCURACY 



DIGITAL AUTO INSTRUMENTS 
tachometer SEVEN MODELS! 



si 

#2 WATER TEMP. 

«3 FUEL LEVEL 

*4 SPEEDOMETER* 

#5 OIL PRESSURE 

*G OIL TEMP. 

»7 BATTERY MONITOR 




KIT INCLUDES: 

• CASE & ALL HARDWARE 

. PRESSURES TEMP.SENDERS 

• ASSEMBLED MAINPCBOARD 
FEATURES: 



4" ORANGE LEO'S 
4%" « 4" « 2" ABS CASE 
•ADO S10 FOR REQUIRED SPEED SENDER . S15 FOR SPEED SENDER ALONE 

KIT: $49.95 ASSEMBLED: $59.95 



ELECTRONIC 'PENDULUM' CLOCK 




SWING PENDULUM 
7" HOURS AND MINUTES DISPLAY 
TIME SET PUSH BUTTONS 
ALARM FEATURE 



KIT-UNFINISHED CASE $59.95 

ASSEMBLED-STAINED CASE $69.95 



QUARTZ DIGITAL AUTO CLOCK 
OR ELAPSED TIMER! 

ELAPSED TIMER: MRS, MINS & SECS 



SIMPLE PUSHBUTTON RESETS 
HOLDTOGGLESWITCH 

KIT INCLUDES EVERYTHING. 
NOTHING ELSE TO BUY! 4" LEOSI 
INTERNAL BATTERY BACKUP' 
NON POLAR INPUT! 

12 OR 24 HR MODE 




DIMENSIONS -4V*4"x 2" 

KIT: $27.95 ASSEMBLED: $37.95 



NOW WITH 
ELAPSED 

TIME! Vk DIGITAL CLOCK 

• 4 DIGIT KIT . $49.95 • 4 DIGIT ASSEMBLED. $59.95 

• 6DIGITKIT $69,95 • 6DIGIT ASSEMBLED. 579^5 



117VAC- 12 OR24HR MODE . 
6 DIGIT VERSION: Z7" x 5" x 11 



KIT COMES COMPLETE! 

4 DIGIT VERSION:^" x 5" x IV 



TV-WALL CLOCK 



117 VAC 



* ilH 9 rt 



. 25' VIEWING DISTANCE 

. .6" H0URS& MINUTES 

. .3" SECONDS 

- COMPLETE WITH WOOD CASE 

KIT: $34.95 ASSEMBLED: $39.95 




ECONOMY CAR CLOCK 

. V" LED MODULE! 

. COMPLETEWITHCASE, 
BRACKET & TIME SET 
PUSHBUTTONS 



. ALARM OPTION 

KIT: $19.95. 




.ASSEMBLED: $26.95 



PENDULUM 



$14.95 



Give YOURDIGITALCLOCKA PENDULUMSWING 

9TO 12V DC 60HZ INPUT 

SIMPLE HOOK UP TO ANY CLOCK 



CASE WITH BRACKET 



$3.75 




MARK FOSKETS' 



SOLID STATE TIME 

P.O. BOX 2159 
DUBLIN, CALIF. 94866 

ORDERS (415)828-1923 




24 HR 
PHONE 



ESS 



158 



CALIFORNIA RESIDENTS • ADO 6% SALES TAX 
BYTE November 1977 



BR ea 



1 

I 



(Branch Always) 



An effective address (ea) is calculated by adding the signed displacement byte (dd) 
to the program counter. The program counter contains the address of the instruction 
immediately following the BR, or the address of the BR operation plus 2. The dis- 
placement is a signed.two's complement value from —128 to +127. Branch conditions 
are not changed. Note that effective address calculation is identical to that for 6502 
relative branches. 



Some examples: 
dd = $80 
dd = $81 
dd= $FF 
dd = $00 
dd = $01 
dd = $7E 
dd = $7F 

Example: 
$300: 01 50 



ea = PC + 2 - 1 28 
ea = PC + 2 - 1 27 
ea = PC + 2 - 1 
ea = PC + 2 + 
ea = PC + 2 + 1 
ea = PC + 2 + 126 
ea = PC + 2 + 127 

BR $352 



BNCea 



2 

I 



d d 

I 



(Branch if No Carry) 



A branch to the effective address is taken only if the carry is clear, otherwise execu- 
tion resumes as normal with the next instruction. Branch conditions are not changed. 













BC ea 


3 
I 




d d 

i 


(Branch if Carry set) 


A branch is effected only if the 


carry is set. Branch conditions are not changed. 



BPea 

A branch is effected only if the 
positive. Branch conditions are 












4 

I 




d 


d 


(Branch if Plus) 


» prior "result 
not changed. 


' (or most recently transferred data) was 


Example: (Clear mem 1 


rom loc A034 to 


A03F) 


15 34 AO SET 
14 3F AO SET 
10 00 00 LOOP SET 
55 ST 
24 LD 
D5 CPF 
04 F8 BP 


R5, A034 
R4, A03F 
RO, 
@R5 
R4 
\ R5 
LOOP 


Init pointer. 
Init limit. 

Clear mem byte, incr R5. 
Compare limit to 

pointer. 
Loop until done. 



BM ea 



5 

! 



d d 

i 



(Branch if Minus) 



A branch is effected only if the prior "result" was minus (negative, MSB = 1). Branch 
conditions are not changed. 













BZea 


6 

i 




d d 
i 


(Branch if Zero) 


A branch is effected only if t 
changed. 


~ie prior ' 


resu 


It" was zero. Branch conditions are not 













BNZea 


7 

i 




d d 

i 


(Branch if NonZero) 


A branch is effected only if t 
not changed. 


he prior 


'resL 


It" was n 


onzero. Branch conditions are 













BM1 ea 


8 

i 




d d 
i 


(Branch if Minus 1 ) 


A branch is effected only if t 
Branch conditions are not chan 


he prior ' 
ged. 


'resL 


It" was n 


linus 1 ($FFFF hexadecimal). 















BNM1 ea 


9 

i 




d 


d 


(Branch if Not Minus 1 ) 


A branch is effected only if 
decimal). Branch conditions an 


the prio 
j not char 


r "r 
ged. 


2SUlt' 


wa 


s not minus 1 ($FFFF hexa- 






Text continued from page 154 

instructions to this implementation of 
SWEET16. If you use the unassigned op 
codes $0E and $0F, remember that 
SWEET16 treats these as 2 byte instructions. 
You may wish to handle the break instruc- 
tion as a SWEET16 call, saving two bytes of 
code each time you transfer into SWEET16 
mode. Or you may wish to use the 
SWEET16 BK (Break) operation as a 
"CHAROUT" call in the interrupt handler. 
You can perform absolute jumps within 
SWEET! 6 by loading the ACC (RO) with the 
address you wish to jump to (minus 1) and 
executing a ST R15 instruction. 

And as a final thought, the ultimate 
modification for those who do not use the 
6502 processor would be to implement a 
version of SWEET16 for some other micro- 
processor design. The idea of a low level 
interpretive processor can be fruitfully 
implemented for a number of purposes, and 
achieves a limited sort of machine inde- 
pendence for -the interpretive execution 
strings. I found this technique most useful 
for the implementation of much of the 
software of the Apple II computer; I leave it 
to readers to explore further possibilities for 
SWEET16." 









BRK 


A 

I 


(Break) 


A 6502 BRK (break) instruction is executed. SWEET16 may be reentered non- 
destructive^ at SW16D after correcting the stack pointer to its value prior to 
executing the BRK. 



RS 



B 



(Return from 
SWEET1 6 Subroutine) 



RS terminates execution of a SWEET16 subroutine and returns to the SWEET16 
calling program which resumes execution (in SWEET16 mode). R12, which is the 
SWEET16 subroutine return stack pointer, is decremented twice. Branch conditions 
are not changed. 



BS ea 



C d d 



Branch to 
SWEET16 Subroutine 



A branch to the effective address (PC + 2 + d) is taken and execution is resumed in 
SWEET16 mode. The current PC is pushed onto a "SWEET16 subroutine return 
address" stack whose pointer is R12, and R 12 is incremented by 2. The carry is 
cleared and branch conditions set to indicate the current ACC contents. 

Example: (Calling a "memory move" subroutine to move A034— A03B 







to: 


3000- 


3007) 






300: 


15 


34 


A0 


SET 


R5, A034 


Init pointer 1. 


303: 


14 


3B 


A0 


SET 


R4 f A03B 


Init limit 1. 


306: 


16 


00 


30 


SET 


R6, 3000 


Init pointer 2. 


309: 


0C 


15 




BS 


MOVE 


Call move subroutine 


320: 


45 






MOVE LD 


@R5 


Move one 


321: 


56 






ST 


@R6 


byte. 


322: 


24 






LD 


R4 




323: 


D5 






CPR 


R5 


Test if done. 


324: 


04 


FA 




BP 


MOVE 




326: 


0B 






RS 




Return. 



The Best of BYTE, Volume I 



r 



.**, **- 




Send now to: 

BYTE Interface Technical Services, Inc. 

70MainSt 

Peterborough NH 03458 



The volume we have all been waiting for! The answer to those unavailable early issues of 
BYTE. Best of BYTE, edited by Carl Helmers Jr and David Ahl. This 384 page book is 
packed with a majority of material from the first 12 issues. Included are 146 pages 
devoted to "Hardware" and how-to articles ranging from TV displays to joysticks to 
cassette interfaces, along with a section devoted to kit building which describes seven 
major kits. "Software and Applications" is the other side of the coin: on-line debuggers 
to games to a complete small business accounting system is included in this 125 page 
section. A section on "Theory" examines the how and why behind the circuits and 
programs. "Opinion" closes the book with a look ahead, as to where this new hobby 
heading. It is now available through BITS I nc for only $1 1 .95 and 50 cents postage. 



Name 



Address 



City 



State 



_Zjp_ 



The Best of BYTE, Volume 1 



d Check enclosed 

□ Bill MC # 

a Bill BA # 



Price of Book $ 

Postage, 50 cents $ 

Total $ 



Exp. Date 
Exp. Date 



Signature 



In unusual cases, processing may exceed 30 days. 
You may photocopy this page if you wish to leave your BYTE intact. 



All orders must be prepaid, 



LI 



Circle 12 on inquiry card. 



BYTE November 1977 



159 



Switching ROMs 



in the Fairchild F8 Evaluation Kit 



John C Polonchak 

GTE Sylvania 

Electronic Components Group 

114 S Oregon St 

El Paso TX 79901 



Many people who use the Fairchild F8 
Evaluation Kit supplied with the Fairbug 
Monitor would like to try the Mostek DDT 
Monitor. Unfortunately, the read only 
memory chip containing the DDT Monitor 
cannot be directly substituted into the avail- 
able socket as wired for the Fairbug read 
only memory chip. The scheme shown 
below permits the use of either chip without 
modifications to the printed circuit board. 
The DDT monitor chip is plugged into, a 
wire wrap socket. This socket is wired to a 
printed circuit socket that plugs into the 



Table 1 : These are the pin interconnections for the DDT monitor memory to 
the Fairbug socket. Of the 40 pins that need connecting, 23 of them can be 
plugged directly into the socket; 14 of them have their pins cut off and aren't 
used, leaving three pins that need to be rewired. 



DDT READ ONLY MEMORY 3851 



Top wire wrap 

socket containing DDT 

1 2 

2 NC 

3 3 

4 4 

5 2 

6 6 

7 7 

8 8 

9 9 

10 10 

11 11 

12 12 

13 13 

14 14 

15 15 

16 16 

17 17 

18 18 

19 NC 

20 NC 

Bottom printed 
circuit socket. 



Top wire wrap 

socket containing DDT 

21 21 

22 22 

23 NC 

24 NC 

25 NC 

26 NC 

27 27 

28 28 

29 NC 

30 NC 

31 NC 

32 NC 

33 33 

34 34 

35 NC 

36 NC 

37 NC 

38 19 

39 39 

40 40 

Bottom printed 
circuit socket. 



Fairbug socket. Most of the wire wrap pins 
can be plugged directly into the socket in 
piggyback style. The pins marked NC are 
not connected and can be cut off of the 
wire wrap socket. 

This same type of rewiring scheme must 
also be performed on Q5 which is a 7406, 
since the Mostek and Fairchild boards use 
mutually inverted signals. Although both 
chips use the same instructions they seem 
to be complements of each other to the 
outside world. Tables 1 and 2 show the 
interconnections for the two ICs. Note that 
this scheme of simulating one memory 
or processor integrated circuit with another 
similar, but pinout-incompatible, chip can be 
used quite generally." 

Q5 7406 

Top wire wrap 

socket containing 7406. 

1 1 

2 4 

3 NC 

4 NC 

5 5 

6 8 

7 7 

8 NC 

9 NC 

10 10 

11 11 

12 12 

13 13 

14 14 

Bottom printed 
circuit socket. 

Table 2: This is the rewiring diagram for the 
7406 hexadecimal inverters. This chip must 
be rewired since the signals coming from the 
Fairbug monitor are complements of the 
signals from the Mostek DDT monitor. 



160 



BYTE November 1977 



A Bit of the BASIC 



Computer Resource Book— Algebra by 

Thomas A Dwyer and Margot Critchfield is 
an exciting new way to learn about algebra 
and the interesting things you can do with it 
using a computer. The book uses the BASIC 
language, and flowcharts are used through- 
out to show the structure of programs. 
There are 60 applications programs inclu- 
ding straight line graphs, polynomial equa- 
tions, a space probe navigator, temperature 
profiles, computer generated animation, the 
ultramatic root finder, random number 
generation and many more. Although it 
is particularly suitable for students, just 
about everyone will find some intriguing 
and easy to use applications in this enter- 
taining book. $4.80. 

i 





Introduction to Computer Program- 
ming by Rudd A Crawford Jr and David H 
Copp. Here is an excellent way to learn 
about the general aspects of computer pro- 
gramming. Introduction to Computer Pro- 
gramming makes use of a hypothetical com- 
puter model and set of assembly language 
instructions designed to help the beginner 
see what goes on in computer programs. 
The emphasis throughout is on general 
principles; such concepts as loops, decisions, 
flowcharts and 10 routines are covered in 
detail. The book also provides many ex- 
ample problems and prompts the reader by 
posing several quiz questions. Anyone who 
masters its contents will have a solid foun- 
dation for the study of practical assembly 
and high level languages. It is especially 
recommended for students, but just about 
everyone new to the subject should profit 
from it. $4.35. 



Basic BASIC by James S Coan. If 

you're not already familiar with BASIC, 
James Coan's Basic BASIC is one of the 
best ways to learn about this popular 
computer language. BASIC (which stands 
for Beginner's All-purpose Symbolic Instruc- 
tion Code) is easy to learn and easy to apply 
to many problems. Basic BASIC gives you 
step-by-step instructions for using a ter- 
minal, writing programs, using loops and 
lists, solving mathematical problems, under- 
standing matrices and more. The book con- 
tains a wealth of illustrations and example 
programs, and is suitable for beginners at 
many different levels. It makes a fine refer- 
ence for the experienced programmer, too. 
$7.95. 




advanced 



Advanced BASIC by James S Coan. 

Advanced BASIC is the companion volume 
to James Coan's Basic BASIC. In this book 
you'll learn about some, of the more ad- 
vanced techniques for programming in 
BASIC, including string manipulation, the 
use of files, plotting on a terminal, simula- 
tion and games, advanced mathematical 
applications and more. Many useful algor- 
ithms are covered, including some clever 
sorting techniques designed to reduce 
program execution time. As with Basic 
BASIC, there are many illustrative example 
programs included. BASIC doesn't have to 
be basic with Advanced BASIC! $6.95. 



A Guided Tour of Computer Pro- 
gramming in BASIC by Thomas A Dwyer 
and Michael S Kaufman. Colorful graphics 
abound in this lively introduction to the 
BASIC language. The authors have tried 
to present a rigorous, yet entertaining 
approach to the subject. Written for the 
novice, A Guided Tour begins with a 
section on how to recognize a computer, 
followed by some tips on working at a 
terminal. By the end of the book readers 
are writing their own programs and solving 
elementary problems in finance and busi- 
ness. The emphasis throughout is on lear- 
ning by doing. Anyone interested in com- 
puter programming should benefit from 
A Guided Tour of Computer Programming 
in BASIC. $4.80. 



hEA8R 



*m 



* A 




Some Common BASIC Programs by 

Lon Poole and Mary Borchers, published by 
Adam Osborne and Associates. At last, a 
single source for all those hard to find 
mathematics programs! Some Common 
BASIC Programs combines a diversity of 
practical algorithms in one book: matrix 
multiplication, regression analysis, principal 
on a loan, integration by Simpson's rule, 
roots of equations, operations on two vec- 
tors, chi-square test, check writer, geometric 
mean and variation, coordinate conversion 
and a function plotting algorithm. These 
are just some of the many programs in- 
cluded. For only $7.50 you can buy the 
kind of programs previously available only 
as part of software math package systems 
for large scale computers. All the programs 
are written in a restricted BASIC suitable 
for most microcomputer BASIC packages, 
and have been tested and debugged by the 
authors. $7.50. 



I 
I 
I 

i Send to: 

! Bits, Inc. 

J 70 Main Street 

I Peterborough NH 03458 

I 

1 Name 



Check Payment method: 

My check is enclosed 

Bill my MC No 






.Bill my BAC No.- 



I Address 



£itv_ 



State 



Zip Code 



Total for all books checked 
Postage, 50 cents per book for_ 
Grand Total 



Signature 



. Exp. date . 
Exp. date . 



. books 



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 November 1977 



161 



Fun and Games 
from BITS 



It®* 

<OIfiPUTERU 




101 BASIC Computer Games by 

David Ahl. A treasure store of games and 
simulations, 101 all written in BASIC. It 
contains both a complete listing and a 
sample run, along with a descriptive 
write-up. 256 pages, $7.50. 




What to Do After You Hit Return 
or PCC's First Book of Computer 
Games. This is PCC's first book of 
computer games, a compendium which 
includes descriptions of numerous 
games, and listings of 37 selected BASIC 
games. New second edition, $8. 

BITS Inc 
70 Main St 
Peterborough NH 03458 



For ease in ordering, use the coupon on 
the opposite page, writing in the name(s) 
of the book(s) you want. 

Please note that processing may exceed 
30 days in unusual cases. 



Circle 12 on inquiry card. 



BYTE's Gits 



An IEEE Microcomputer Course 

The IEEE's PHP Group in the San 
Francisco area is sponsoring a series of 
talks entitled "Microcomputers: Practi- 
cal Applications." This Thursday evening 
series, beginning November 3, will be 
tutorial in nature, focusing on such 
"how to" topics as: which microcom- 
puter to use (from the user's viewpoint); 
architecture and memory; getting 
started, at work and at home. The series 
will run for five weeks, with registration 
set at $35 ($25 for IEEE members; $10 
students), and will be in the Palo Alto 
and San jose area. Contact David Guidici 
at Siltec, 3717 Haven Av, Menlo Park 
CA 94025, (415) 365-8600." 



Attention Canadian Readers. . . 
A First (Ever) Canadian Personal 
Computing Show 

Personal Computing Showplace is the 
name of a show to be held in Toronto at 
the International Center of Commerce 
on November 8, 9 and 10 of this year. 
The show will feature the first (ever) 
exhibition of personal computing pro- 
ducts in Canada. 

The exhibit hall is located at 6900 
Airport Rd in Toronto. Admission will 
be $5 at the door. Hours are 1 2 noon to 
9 PM each day. This exhibition runs 
concurrently with the eighth annual 
Canadian Computer Show. For more 
information contact Betty Gray, at 
(416)595-1811." 



An Opinion: SOFTWARE AND PATENTABILITY, 1977 



While perusing some of the electronic 
data processing (EDP) literature of the 
past few years, it struck me that the sub- 
ject of software patentability had been 
completely exhausted, and that another 
article on the subject would cause rea- 
ders to shy away in revulsion. However, 
the ebullient EDP industry, in its con- 
stant state of change, has proferred a 
new development which makes all of 
the irrelevant jabberings of the past 
(some of them my own) now of con- 
siderable importance. 

Why have I dismissed the plethora of 
past writings as irrelevant jabbering? 
Because the simple and direct answer to 
the question of whether software is 
patentable is "no!" Volumes have been 
filled discussing the point, yet it should 
have been apparent from the beginning 
that one insurmountable obstacle stood 
in the way: namely, that a patentable 
invention must have a physical existence 
and not be merely a methodology or 
mental process. 

Hence we see the illogical result of 
hard wired programming being patent- 
able but pure software not. But all of 
this really didn't make a great deal of 
difference because the industry was able 
to protect its investment in software 
development through other legal avenues 
such as trade secrecy and was therefore 
spared the labyrinthine procedures of 
the patent law. 

All of this is soon to change. As 
microprogramming state of the art 
brings us closer to the point where a 
programmer can sit down with a few 
integrated circuit chips and a soldering 
iron rather than a pencil and coding 
sheet, his/her product (now a black box 



rather than a source listing) very clearly 
becomes a candidate for patentability 
because it is not just a mental process or 
algorithm any longer, but rather is a 
physical object. 

This means that the arcane and con- 
voluted laws of patents, together with 
those who administer them, suddenly 
become relevant in much the same way 
that a bull in a china shop is relevant. 
Let us examine a few of the more salient 
features of patent law and see how they 
might apply to microprogamming situa- 
tions. 

Novelty 

An invention, both in Canada and the 
United States, must be a "new and use- 
ful art, process, machine, manufacture or 
composition of matter" to qualify for 
patent protection (emphasis mine). A 
new way of achieving a known result, 
or simply creating a new result, would 
permit an invention to qualify if the 
patent officer could be convinced of its 
novelty. 

The reader can appreciate the Alice 
in Wonderland world which would soon 
be created by disputed claims revolving 
around the definition of "new." 

Expense 

Because all of this jousting is done by 
high priced lawyers, the cost of ob- 
taining a patent and prosecuting infringe- 
ment quickly becomes prohibitive for all 
but the largest corporations; so does 
defending against an accusation of in- 
fringement. 

This means that a belligerent patent 
holder is armed with a big legal stick, the 



162 



BYTE November 1977 



Gourmet Reading from BITS 




Security Electronics by John E Cun- 
ningham. To catch a thief, apply liberal 
doses of ingenuity and a modicum of 
cleverness. Find out what's been tried in 
conventional alarm systems before you go 
off computerizing your home security sys- 
tem, though. New 2nd edition $5.95 



Introduction to Biomedical Elect- 
ronics by Edward J Bukstein. What's been 
done in robot doctors? Nothing so far. But 
in terms of electronic aids to physicians and 
practices of health researchers, consult this 
background review of the field of biomed- 
ical electronics $5.95 



Scelbi "6800" Software Gourmet 

Guide & Cookbook 

Scelbi "8080" Software Gourmet 



Guide & Cookbook, both by Robert Find- 
ley. Have you tried cooking up a program 
lately on your 6800 or 8080 processor? 
Have you needed a dash of ideas on how to 
add spice to a program? Then the Scelbi 
"6800" Software Gourmet Guide & Cook- 
book and the Scelbi "8080" Software Gour- 
met Guide & Cookbook may prove to be 
quite useful additions to your library. 

Both books contain a wealth of informa- 
tion on the 6800 and 8080 instruction sets, 
plus general programming techniques ap- 
plied to the 8080 and 6800, conversion rou- 
tines, floating point routines, decimal arith- 
metic routines, and much more. Order yours 
today and get a taste of what your processor 
can do. Both books are priced at $9.95 
each. 



-Practical Microcomputer Program- 



ming: The Intel 8080 by W J Weller, A V 
Shatzel, and H Y Nice. Here is a comprehen- 
sive source of programming information for 
the present or prospective user of the 8080 
microcomputer, an architecture which ap- 
pears in the MITS Altair, 8800, Processor 
Technology SOL, IMSAI 8080, Polymor- 
phics POLY-88, and other popular micro- 
computer system products. 

After several preliminary chapters, the au- 
thors get down to practical details with top- 
ics such as moving data, binary arithmetic 
operations, multiplication and division, use 
of the stack pointer, subroutines, arrays and 
tables, conversions, decimal arithmetic, vari- 
ous 10 options, real time clocks and inter- 
rupt driven processes, and debugging tech- 
niques. Most examples are given in symbolic 
assembly form, with occasional listings of 
assembled code using a Computer Automa- 
tion software development system. 

This 306 page hardcover book is well 
worth its $21.95 price and should be in 
every 8080 or Z-80 user's library. 



Send to'- 

BITS, Inc 
70 Main St 
Peterborough NH 03458 

Total for all books checked 
Postage, 50 cents per book 

for books 

Grand Total 



Check payment method: 

My check is enclosed 

Bill my MC No. 

Bill my BAC No. 



Exp. date 
Exp. date 



Name 



$ 
$ 



Address 



City 



State 



Z^ 



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 November 1977 



163 



use of which need only be threatened in 
order to put financially limited black 
box developers onto the ropes: either 
they fight a protracted and expensive 
legal battle or pull their product off the 
market. 

In my own law practice, clients have 
sought advice and expressed their con- 
cern that software packages which they 
proposed to develop might tread on 
someone else's rights. I have advised 
them that there need be no such fear so 
long as misuse of trade secrets or breach 
of a confidentiality agreement is not 
involved. If black box patents begin 
to appear I, for one, will not continue 
to give the same advice in the future 
because inadvertent duplication through 
independent invention is no excuse in a 
patent matter. 

By contrast, if the system architec- 
ture of a piece of software is a trade 
secret, anyone who independently 
develops a like product is free to market 
it. However, the same piece of software, 
if embodied in a black box and pro- 
tected by a patent, is the exclusive pre- 
serve of the patent holder, and anyone 
independently developing a like black 



box would risk infringement unless a 
costly and time consuming search of the 
patent records was made beforehand. 

A Hands-Off Policy 

In 1971 I prepared a report for the 
Canadian Federal Government in which 
software patentability was examined and 
recommendation made. At that time 
I recommended that no changes need be 
made to the Patent Act so as to extend 
its application to computer software 
because the Act would prove inadequate 
and also because the EDP industry had 
found trade secrecy laws to meet its 
needs reasonably well. 

I also recommended that no further 
study in the area would be required 
until the nature of programming under- 
went a fundamental change. Although 
I cannot claim to have foreseen the ad- 
vent of microprogramming (much less 
the astonishing speed of its arrival) one 
can now say that such a fundamental 
change has occurred. I would now there- 
fore recommend that a review be under- 
taken immediately for the purpose of 
amending the Patent Act so as to 



exclude black box microprogramming 
from its operation. 

Such heresy will probably be rejected 
by bureaucrats who see a golden oppor- 
tunity to expand their little kingdoms 
and also by the many patent law firms 
which would stand to do a land office 
business. 

However, it is accepted that the 
Patent Act has had serious limitations 
even in those traditional areas of indus- 
try for which it was originally designed. 
How much less useful it would be in the 
world of EDP is made plain by that 
industry's general avoidance of patent 
law wherever possible. That being so, it 
is this writer's view that the industry 
should not be dragged kicking and 
screaming into a morass which it has 
until now successfully sidestepped. 

Daniel A Mersich, Attorney 

1262 Don Mills Rd, Suite 17 

Don Mills, Ontario 

CANADA 

[Daniel Mersich is a Toronto lawyer 
whose practice is restricted to EDP 
matters. . .CM/ ■ 



Continued from page 37 

is part of a feature that allows 
statements numbers to be inter- 
preted.). Readers are we/come to 
contact me for further informa- 
tion on this interpreter. 

I found one additional error: In the 
right center section of figure 5 on page 
61, the second line in the box above the 
ERROR 2 terminal should read ,( +S(J) 
-/10 COUNT". 

My thanks to Mr Dickey and to the 
many other eagle-eyed readers who 
wro te in to report these errors. ■ 

A Revision to "Using a Keyboard ROM" 



The article on using a KR2376 key- 
board encoder ROM in the May 1977 
BYTE, page 76, would have been a 
great help rather than a hindrance had 
the author supplied the connections 
for the standard version of this device 
(as was claimed) in his figure 2. I offer 
a revised figure which agrees with the 
code assignment charts suppied in both 
the Gl and SMC data sheets and, I be- 
latedly discovered, Don Lancaster's 
TVT Cookbook. There is very little 
in common between the two charts. 
The author was obviously working with 
a nonstandard unit. 

Dr Samuel I Green 

13052 Ferntrails Ln 

Creve Coeur MO 63141 

This is confirmed by a communica- 
tion from Gl, who informs us that the 
unit by Mr Brehm was indeed a surplus 
part obtained from a manufacturer of 
custom encoded keyboards.^ 



Y 
Y1 



Y 3 
Y 4 



Y 6 " 
Y 7 ■ 
Y 8 " 
Y 9 ■ 
Y10 



*0 

NUL 
NUL 
NUL 



SCH 
SCH 
SCH 



STX 
STX 
STX 



ETX 
ETX 
ETX 



EOT 
EOT 
EOT 



ENQ 
ENQ 
ENQ 



ACK 
ACK 
ACK 



BEL 
BEL 
BEL 



DC1 
DC1 
DC1 



P 

@ 

DLE 





SI 



N = Normal 
S = Shift 
C = Control 



X1 

DLE 
DLE 
DLE 



X 2 



Vnul 



x 3 x 4 



K 

[ 

VT 



L 

\ 
FF 



A 

SO 



CR 



NAK 
NAK 
NAK 



SYN 
SYN 
SYN 



ETB 
ETB 
ETB 



CAN 
CAN 
CAN 



EM 
EM 
EM 



SUB 
SUB 
SUB 





NUL 
V NUL 



FS 
FS 
FS 



V NUL 

X- 



GS 
GS 
GS 



P 

K p 
\DLE 



RS 
RS 
RS 



DEL 
V US 

\ — 



us 
us 
us 



m 

M 

V NUL V CR 



< 

< 
NUL 



> 

> 

NUL 



NUL 



SP 
SP 
V SP 



NUL 



US 



+ 

Vnul 



Vnul 

^ — 



Vnul 

^ — 



Vnul 
^ — 



@ 



\ 



BS 
BS 
BS 



[ 

( 

ESC 



) 
GS 



CR 

K CR 
\C R 



LF 
LF 
K- LF 
A 



DEL 
DEL 
DEL 



X 5 

I 

v F L F 

-^ 



k 
K 



4. 



h 
H 

Vbs 

^ — 



9 

. G 

Vbel 



n 

• N 

N- so 



b 

KSTX 

^ 



'VSYN 

^ 



C 

Vetx 



x 

x 

^CAN 



z 
Z 

VSUB 
V 



X 6 



A 



Kht 
^ — 



u 
U 
'^NAK 

^ 



y 

Vem 



t 

T 
VDC4 



f 

Vack 



d 

Veot 



s 
VpC3 



a 
<k \SOH 



FF 
FF 
FF 



ESC 
ESC 
ESC 



X 7 
9 

Knul 
^ — 



8 

{ 

Vnul 
^ 



7 

Vnul 



6 

& 

Vnul 
^ — 



5 

% 

VNUL 
^ 



r 

• R 
VpC2 



e 

Venq 



■ w 

S^TB 



9 
Vpd 



HT 
HT 
HT 



VT 
VT 
VT 



Knul 

V 



3 

fvWUL 
^ 



'SjMUL 



1 

vnul 



Nrs 



^FS 



N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 

N 
S 
C 



164 



BYTE November 1977 



HB' 



corporation 



64K for $1495 



Available now at these leading dealers 



ALABAMA 

COMPUTER CENTER 

433 Valley Ave Plaza 
Birmingham. AL 35209 
(205) 942-8567 
COMPUTERLAND OF HUNTSVILLE 

3020 University Drive N.W. 
Huntsville, AL 35805 
(205) 539-1200 
ARIZONA 

BYTE SHOP OF ARIZONA 

813 N Scoltsdale Road 
Tempe. AZ 85282 
(602) 894-1129 

BYTE SHOP OF PHOENIX N.W. 

12654 N 26lh Drive 

Phoenix, AZ 85019 

(602) 942-7300 

BYTE SHOP OF PHOENIX 

28 W CamefbackRd 

Phoenix. AZ 85013 

(602) 942-7300 

BYTE SHOP OF TUCSON 

2612 E Broadway 

Tucson, AZ 85716 

(602) 327-4579 

MICRO AGE 

803 N Scotlsdale Blvd 

Tempe. AZ 85281 

(602) 894-1193 

CALIFORNIA 



BYTE SHOP OF CITRUS HEIGHTS 

6041 Greenback Lane 

Citrus Heights, CA 95610 

(916) 961-2983 

BYTE SHOP OF DIABLO VALLEY 

2989 N Main Street 

Walnut Creek. CA 94596 

(4151 933-6252 

BYTE SHOP OF FRESNO 

3139 E McKinley Avenue 

Fresno. CA 93703 

(209) 485-2417 

BYTE SHOP OF HAYWARD 

1122 B Street 

Hayward. CA 94541 

(415) 537-2983 

BYTE SHOP OF LAWNDALE 

16508 Hawthorne Blvd 

Lawndate. CA 90260 

(213)371-2421 

BYTE SHOP OF SAN JOSE 

2626 Union Avenue 

San Jose. CA 95124 

(408) 377-4685 

BYTE SHOP OF SAN RAFAEL 

509 Francisco Blvd 

San Ralael. CA 94901 

(415) 457-9311 

BYTE SHOP OF SANTA CLARA 

3400 El Camino Real 

Santa Clara. CA 95050 

(408) 249-4221 

CALIFORNIA MICROCOMPUTERS 

329 Flume 

Chico. CA 95927 

(916) 891-1730 

COMPUTER ELECTRONICS 

905 Delavma 

Santa Barbara. CA 93101 

(805)962-4198 

COMPUTER POWER & LIGHT 

12321 Ventura Blvd 

Studio City. CA 91604 

(213) 760-0405 

COMPUTER ROOM 

124H Blossom Hill Road 

San Jose. CA 95123 

(408) 226-8383 

COMPUTER STORE 

820 Broadway 

Santa Monica. CA 90401 

(213) 451-0713 

COMPUTER STORE OF S.F. 

1093MissiOn Street 

San Francisco. CA 94103 

(415) 431-0640 

COMPUTERLAND CORPORATION 

1922 Republic Avenue 

San leandro. CA 94577 

(415) 895-9363 

COMPUTERLAND OF EL CERRITO 

11074 San Pablo Avenue 

El Cernto. CA 94530 

(415) 233-5010 

COMPUTERLAND OF HAYWARD 

22634 Foothill Blvd. 

Hayward. CA 94542 

(415) 536-8080 

COMPUTERLAND OF SADDLEBACK VALLEY 

24001 Via Fabncante »904 

Mission Viejo. CA 92675 

(714) 770-0131 

COMPUTERLAND OF S.F. 

117 Fremont Street 

San Francisco. CA 94105 

(415) 546-1592 

COMPUTERLAND OF SAN DIEGO 

4233 Convoy Street 

San Diego. CA 921 1 1 

(714) 560-9912 

COMPUTERLAND OF THOUSAND OAKS 

El Cid Plaza 

171 E Thousand Oaks Blvd 

Suite 105 

Thousand Oaks. CA 91360 

(805) 497-9595 



COMPUTERLAND OF TUSTIN 

104 W First Street 

Tustin, CA 92680 

(714) 544-0542 

COMPUTERLAND OF WEST LA. 

Computers Unlimited. Inc 

6840 La CienegaBlvd 

Inglewood, CA 90302 

(213) 776-8080 

DIGITAL DELI 

80 W El Camino Real 

Mt. View. CA 94040 

(415) 961-2670 

PEOPLE'S COMPUTER SHOP 

13452 Ventura Blvd 

Sherman Oaks, CA 91423 

(213) 789-7514 

POLYMORPHIC, INC. 

460 Ward Drive 

Santa Barbara. CA 93111 

(805) 967-2351 

PROKOTRONICS 

439 Marsh Street 

San Luis Obispo. CA 93401 

(805) 544-5441 

RECREATIONAL COMPUTER CENTER 

1324 S Mary Avenue 

Sunnyvale, CA 94087 

(408) 735-7480 

SUNSHINE COMPUTER COMPANY 

20710 S Leapwood 

Carson. CA 90746 

(213) 327-2118 

XIMEDIA 

1290 24th Avenue 

San l-rancisco. CA 94122 

(415) 566-7472 

COLORADO 

BYTE SHOP OF BOULDER 

Palmer Gardens Shopping Center 

3101 Walnut Street 

Boulder. CO 80301 

(303) 444-6550 

FLORIDA 

BYTE SHOP OF FT. LAUDERDALE 

1044 E Oakland Park Blvd 

Ft Lauderdale, FL 33334 

(305) 561-2983 

BYTE SHOP OF MIAMI 

7825 Bird Road 

Miami, FL 33155 

(305) 264-2983 

DELTA ELECTRONICS 

2000 Highway 441 E 

Leesburg, FL 32748 

(904) 728-2478 

ECONOMY COMPUTING SYSTEMS 

2200 Forsyth Road 

Orlando. FL 32807 

(305) 678-4225 

MICROCOMPUTER SYSTEMS, INC. 

144 S Dale Mabry Highway 

Tampa, FL 33609 

(813) 879-4301 or 879-4225 

COMPUTER AGE 

999 S W 40th Avenue 

Plantation, FL 33317 

(305) 791-80*30 

GEORGIA 

ATLANTACOMPUTER MART 

5091 Buford Highway 
Atlanta, GA 30340 
(404) 455-0647 

ILLINOIS 

ASPEN COMPUTERS, INC. 

7521 W Irving Park Road 

Chicago. 1L 60634 

(312) 589-1212 

(312)625-3555/6 

COMPUTERLAND OF ARLINGTON HEIGHTS 

50 East Rand Road 

Arlington Heights. IL 60004 

(312) 255-6488 

COMPUTERLAND OF NILES 

9511 N MilwaukeeAvenue 

Niles. IL 60648 

(312) 967-1714 

ITTY-BITTY MACHINE CO. 

1322 Chicago Avenue 

Evanston, IL 60201 

(312) 328-6800 

THE NUMBERS RACKET 

623-1/2 S. Wright Street 

Champaign, IL 61820 

(217) 352-5435 

DATA DOMAIN OF SCHAUMBURG 

1612 E Algonquin Road 

Schaumburg. IL 60195 

(312) 397-8700 

INDIANA 



AUDIO SPECIALISTS 

415 N Michigan 

South Bend. IN 46601 

(219) 234-5001 

DATA DOMAIN OF BLOOMINGTON 

{HOME OFFICE) 

406 S College Ave 

Btoomington, IN 47401 

(812) 334-3607 

DATA DOMAIN OF INDIANAPOLIS 

7027 Northwestern Avenue 

Indianapolis, IN 46268 

(317) 251-3139 

DATA DOMAIN OF FORT WAYNE 

2805 East State Blvd. 

Foil Wayne. IN 46805 

(219)484-7611 



HOME COMPUTER CENTER 

2115 E 62nd Street 

Indianapolis. IN 46220 

(317) 251-6800 

DATA DOMAIN OF WEST LAFAYETTE 

219 W Cotumbia 

West Lalayette. IN 47906 

(317) 943-3951 

KENTUCKY 

COMPUTERLAND OF LOUISVILLE 

813 B Lyndon Lane 

Louisville. KY 40222 

(502) 425-8308 

DATA DOMAIN OF LOUISVILLE 

3028 Hunsinger Lane 

Louisville. KY 40220 

(502) 456-5242 

DATA DOMAIN OF LEXINGTON 

506Vs Euclid Avenue 

Lexington, KY 40501 

(606) 233-3346 

MARYLAND 

COMPUTER WORKSHOP 

1776 E Jefferson Street 

Rockville. MD 20852 

(301) 468-0455 

COMPUTERLAND OF GAITHERSBURG 

16065 Frederick Road (Rl 355) 

Rockville. MD 20855 

(301) 948-7676 

MASSACHUSETTS 

THE CPU SHOP 

39 Pleasant Street 
Chariestown. MA 02109 
(617) 241-9556 
MINNESOTA 

COMPUTER DEPOT. INC. 

3515 w 70 Slreet 

Minneapolis, MN 55435 

(612) 927-5601 

MINNESOTA COMPUTERS INC. 

7710 Computer Avenue 

Suite 132 

Edma, MN 55435 

(6t2) 835-3850 

MISSOURI 

K & K COMPANY 

15 East 31 Street 
Kansas City. MO 64108 
(716) 561-1776 
NEBRASKA 

OMAHA COMPUTER STORE 

4540 South 84th Street 
Omaha. NB 68127 
(402) 592-3590 
NEW JERSEY 

COMPUTER MART OF NEW JERSEY 

501 Highway 27 

Iselm. NJ 08830 

(201) 283-0600 

COMPUTERLAND OF MORRISTOWN 

2 DeHart Street 

Morristown, NJ 07960 

(201) 539-4077 

HOBOKEN COMPUTER WORKS 

20 Hudson Place 

Hoboken. NJ 07030 

(201) 420-1644 

NEW YORK 

COMPUTER CORNER 

200HamiltonAve 

White Plains. NY 10601 

(914) 949-3282 

COMPUTERLAND OF BUFFALO 

1612 Niagara Falls Blvd. 

Buflalo. NY 14150 

(716) 836-6511 

COMPUTERLAND OF ITHACA 

225 Elmira Road 

Ithaca, NY 14850 

(607) 277-4888 

NORTH CAROLINA 

COMPUTER ROOM 

1729 Garden Terrace 
Charlotte. NC 28203 
(704) 377-9821 
OHIO 

BYTE SHOP OF OHIO 

19524 Center Ridge Road 
Rocky River, OH 44116 
(216)333-3261 



DATA DOMAIN OF DAYTON 

1932 Brown Street 

Dayton. OH 45409 

(513) 223-2348 

DATA DOMAIN OF CINCINNATI 

7694 Camargo Road 

Cmcmnali. OH 45243 

(513) 561-6733 

OKLAHOMA 

HIGH TECHNOLOGY 

1020 W Wilshire Blvd 
Oklahoma City, OK 74116 
(405) 842-2021 
OREGON 

ALTAIR COMPUTER CENTER 

8105 Nimbus Avenue N W 

Beaverton, OR 97005 

(503) 644-2314 

BYTE SHOP OF PORTLAND 

2033 S W 4th Avenue 

Portland, OR 97201 

(503) 223-3496 

REAL OREGON COMPUTER CO. 

205 w 10th Street 

Eugene, OR 97401 

(503) 484-1040 

PENNSYLVANIA 

PERSONAL COMPUTER CORP. 
Frazer Mall 
Matvern. PA 19355 
(215) 647-8463 
RHODE ISLAND 

COMPUTER POWER, INC. 

M24 Airporl Mall 
1800 Post Road 
Warwick, Rl 02886 
(401) 738-4477 
SOUTH CAROLIN A 

COMPUTER COMPANY 

73 State Street 
Charleston. SC 29401 
TEXAS 

COMPUTER SHOPS, INC. 

21 1 Keystone Park 

13933 N Central Expwy 

Dallas. TX 75243 

(214) 234-3412 

C6MPUTERLAND OF AUSTIN 

Shoal Creek Plaza 

3300 Anderson Lane 

Austin. TX 78757 

COMPUTERLAND OF S.W. HOUSTON 

6439 Westhetmer 

Houston, TX 77057 

(713) 977-0909/0910 

K-A. ELECTRONICS 

1220 Majesty Drive 

Dallas, TX 75247 

(214) 634-7870 

THE MOS 

1853 Richmond Avenue 

Houston. TX 77098 

(713) 527-8008 

YOUNG ELECTRONIC SERVICE 

PO Box DO 

College Station. TX 77840 

(713) 693-3462 

UTAH 

MICRODATA SYSTEMS 

796 E Lazon Drive 
Sandy. UT 84070 
(801) 561-4665 
WASHINGTON 

KBC COMPUTER SHOP 

PO Box 169 

Redmond. WA 98052 

(206) 885-1694 

RETAIL COMPUTER STORE 

410 N E 72nd 

Seattle. WA 98115 

(206) 524-4101 

WEST VIRGINIA 

ALLEGHANYCOMPUTER SERVICES 

PO Box 767 
Elkins, WV 26241 
(304) 636-6600 
WISCONSIN 

MILWAUKEE COMPUTER STORE 

6916 W North Ave 
Milwaukee, Wl 53213 
(414) 259-9140 



tsc tensvs 



'corporation 



592 Weddell Drive 
Sunnyvale, California 94086 
(408)734-1525 



SEE FULL PAGE AD ON PAGE 93 FOR DETAILS. 

Circle 58 on inquiry card. 






Do You Need the Real Time? 



Gregory A R Trollope 
433 Cherry Ln 
Lewiston NY 14092 



There are a number of ways of implemen- 
ting a real time clock for a microcomputer 
system. With the many different clock chips 
available on the market, it would seem 
natural to try to interface to one of these. If 
the requirements set for a real time clock 



REAL TIME CLOCK FOR MIKBUG SYSTEMS 



00030 
00040 
00050 
00060 
00070 
0008U 
00090 
OOIOU 
001 IU 
00 1 20 

00 1 30 
00I40 
00I5O 
00 I 60 
00 I 70 
0018U 
00 I 90 
U0200 

002 I 
00220 
00230 
00240 
00250 
00260 
00270 
00280 
00290 
U0300 

003 I 
00320 
U0330 
00340 
00350 
00360 
0036b 
0037u 
00380 
00390 
U040U 
004 1 
00420 
00430 
00440 
00450 
00460 
00470 
00480 
00490 
00500 
oOblO 
u0b2o 
00530 



•••GENERAL IN STRUCT 1 0NS*** 
* 

* AFTER LEADING THIS REAL TIME CL0CK PACKAGE, 

* EXIT MIKBUG WITH THE G COMMAND, THEREBY 

* ENTERING THE CL0CK INITIALISATION R0UTINE. 

* THE ROUTINE WILL RETURN TO MIKBUG? T0 GO T0 

* THE DEM0NSTRATI0N t TYPE G AGAIN.' THIS WILL 

* PRINT THE TIME EVERY I 0R 2 SEC0NUS. 

* T0 EXIT, HIT THE BREAK KEY (0R ANY 0THER KEY, 

* SEVERAL TIMES). TYPING G WILL RETURN T0 THE 

* DEMONSTRATION. 

OftG A $700 



0700 
070I 
0702 
0703 



•••CLOCK COUNT' 
HR FCB A 
M I N i-'CB A 
SEC FCB A 
SPLIT FCB A 



ERS 

CONTAINS C24-H0URS) 

C60-MINS) 

(60-SECS) 

( I O-DECI SECS ) 



•••CLOCK INITIALISATION ROUTINE*** 

* 

* BRANCH HERE MANUALLY 'TO SET CLOCK 

* 

ME IN THE FORMAT 



* ENTER THE TI 

* HHMM 
*E.G. I803 
•ENTER THE LAS 



0704 
0705 
707 

70A 
070C 
070E 
70F 
0712 
07I4 
07I6 
07 19 
071 A 
07ID 
071 F 
0722 
0723 

0725 
0728 
72 9 



OF 

86 07 
B7 80 IF 

8D 19 

86 18 

10 

B7 0700 

8b 1 I 

86 3C 
B7 702 
10 

87 0701 
86 OA ' 
B7 0703 
Oh 

20 68 

BD EOAA 

4a 

16 



CLOCK SEI 
LDA 
STA 

* 

BSR 
LUA 
StSA 
STA 
BSR 
LDA 
STA 
SUA 
STA 
LUA 
STA 
CLI 
BRA 



FOR 3 WINS PAST 6PM 
T DIGIT ON THE TIME SIGNAL 

STOP CLOCK 
7 CONFIGURE SNTPC PORT 7 
$80 IF AS THE CLOCK INTERFACE 



IN2 

24 

HR 
IN2 
60 
SEC 



SET HOURS 

GET MM 



SET SECS i'0 
SET MINS 



JSR 
ASL 

TAB 



E MIN 

# 10 

E SPLIT SET SPLITS 

FREE CLOCK 
R 02 

E SEOAA 'INHhX' rlRST DIGIT 
H*2 



Listing la: The real time clock software for a 6800 system which uses an IRQ 
interrupt input from a PI A port. This routine is intended to be used with the 
Motorola MIKBUG software, and includes provision for setting time of 
day in hours, minutes and seconds. 

Note: This assembler uses a format in which explicit indication of address 
type is indicated where one mnemonic has several possibilities. Thus, for 
example, LDA A #7 means use immediate (#) addressing of the operand 
7, while LDA A E 7 means use extended addressing (E) of the operand at 
memory location 7. Other abbreviations seen in this listing are R for relative 
addressing (branches only), I for immediate 2 byte operand; and A designates 
an assembler directive. 



design are: the computer should be able to 
read the clock when necessary, the clock 
should keep time while other programs are 
executing, and one should be able to set the 
clock by computer commands, then use of 
external hardware can be a most difficult 
challenge. Taking a software approach using 
minimal hardware can be a most attractive 
alternative. In the implementation described 
here, the computer itself counts 1/10 second 
pulses, derived from the 50/60 Hz line, 
in four memory bytes, one each for hours, 
minutes, seconds and deciseconds. Setting 
the time becomes a process of writing the 
correct time to memory; reading the time, 
one of reading memory. 

To enable other programs to execute 
while the clock is being maintained, the 
computer is forced into the clock counting 
routine only on the arrival of each 1/10 
second pulse, and stays in the routine for 
only as long as necessary to perform the 
rather simple calculations before returning 
to the program that was executing. In my 
version this is achieved by using the inter- 
rupt request line of the 6800 processor, 
although it is conceivable that the NMI 
(nonmaskable interrupt) of the 6800 could 
be used as well. 

Pin 4 of the 6800 processor is designated 
the IRQ line. When this line has a transition 
from logic 1 (~ +5 V) to logic (ground), 
the processor finishes its current instruction, 
stacks all the registers and the address of 
the next instruction, then branches to the 
memory location contained in the memory 
bytes that respond to hexadecimal addresses 
FFF8 and FFF9. In systems using Motor- 
ola's MIKBUG monitor, such as the SwTPC 
6800 computer, the interrupt vector 
addresses are in MIKBUG and point to 
another address in MIKBUG so that control 
of the processor is passed to MIKBUG after 
the interrupt has happened. MIKBUG duti- 
fully passes control on by branching to the 
address contained in its volatile user memory 
at hexadecimal locations A000 and A001. If 
this address happens to be that of clock 
counting routine, it will receive control. 
Since all the registers and machine states 
have been saved, we can use them to do the 



166 



BYTE November 1977 



counting without worrying. When we have 
done all that needs to be done, the RTI 
instruction restores the registers and 
branches back to the program that was 
interrupted. 

But how do we interface a signal to IRQ? 
The simplest way might be to connect it 
directly, but if one wishes to preserve the 
option of finding out what caused the inter- 
rupt, some additional logic is necessary. 
While there are probably all sorts of clever 
ways of doing this, a convenient way to 
implement it is by using a peripheral inter- 
face adapter (PIA). The SwTPC 6800 com- 
puter which I use has a parallel interface 
card which has a PIA. This has 16 data lines 
and four control lines. We will use one of the 
control lines, CB1, to latch the clock pulses 
and provide input conditioning of the inter- 
rupt signal. Part of the clock setting routine 
must be to configure the PIA properly, and 
part of the interrupt routine to acknowledge 
the interrupt, which is achieved by reading 
the PIA B data register, but more of the 
details later. 

A self-supporting real time clock package 
is given in listing 1b. The package is assem- 
bled at hexadecimal location 0700 so as to 



The more astute students of MIKBUG 
will notice that the control line CA1 of the 
MtKBUG serial control PIA is configured by 
MIKBUG to cause an interrupt on its tran- 
sition; CA1 is left free in the SwTPC serial 

control interface; and interrupts can be 

passed to the IRQ line. It is possible to 
implement the clock, then, by routing the 
clock pulses to this MIKBUG oriented 
PIA, with one proviso: that the interface 
not be used for IO! It is an idiosyncrasy of 
the PIA that if you happen to be reading 
the data register when the interrupt occurs, 
the IRQ bit in the control register will not 
be set, even though the interrupt routine will 
be entered ~ 99.99...% of the time. Thus if 
MIKBUG is doing its IO at the same time as 
the clock pulse occurs, there is a small, but non- 
zero chance, that some interrupts will be 
lost, causing long term timing inaccuracies 
for a continuously running real time clock. 



S0o6O0004844b2lB 

a 1 1 5o7oUGGOO00O0Urb6u7B78Q I FtiD I 9861 8 I 0B7O/00Dr 

bll3u7l2JDI K.>63CB707G2l0lj7070la6OAb70703y3 

b I I 30722OE206bljDb0 AA4LS I 6tB48 1 B I 6BDEOAA I B65 

jIj5u732163v72 

b I I 50 7348680 I F2A2y86cOl E7A07032621 bfiOAH707U3W 

b 1 1 5o7*o7A07u226 I 7863C87O7O2/A070I 26UDH7070 1 h7 

b I I 3o75b7A07002605861 eb707uOJBC6 1 8F0O70075 

o I I 3u7ofc802FC63CrG070 1 8D28C63CF0O7028D2 1 69 

■6 MAo 778CEE I yUBDt£07Eb60702F6b0042A07» 1 0702b' I 

o 1 1 3o78927F620D6Cb0763FFA048/i-"A0437EcOE387 

j ! l4g79y4FCIUA2BU6aijlUC0OA20t-61B363ObDEOCA9D 

SI 05o7AA3l3ybh" 

S105AOO007341F 

blu4AO'l300l8 

o!05A048070407 



Listing la, continued: 



OOoAU 0/2A 4o 
u0:>5u 072b 4a 



U056U 

uOd/u 
uObfcO 

uO*j9u 

UU60U 
U06 I U 
u0o2u 
uUo3u 
uOo'lu 
U065U 
u0o6o 
j(j*7u 
U068U 
u0o9U 
00700 
U071U 
u072u 
JOY3U 
uO/40 
uO/50 
UO /60 
u077u 
U078U 

oo/yo 
oobou 
oobio 
u0b20 
00a30 
uUd4U 
U0850 
u0860 
00870 
U088U 
00b9U 

ooyou 
uoyiu 
uuy2u 

0Ov3O 

uoy4u 
uoyso 
uoy6u 
uoy7u 
uoy8u 
uoyyu 
uiooo 
oioio 
olu2u 
U103G 
UI04U 
UIU50 
UIU6U 
U1070 
U108U 
Ol09u 
UI100 
O 1110 
01)20 
01130 
UII4U 
0I15U 
1 160 
01 1 70 
Ul I BO 

1190 
01200 
01210 
01220 
01230 
01240 
01250 
U1260 
01270 
01280 
U1290 
0I30U 
01310 
0I32U 
0133U 
0I34U 
U1350 
01360 
01370 
013BU 
U1390 
01400 
01410 
0142U 
01430 

01 440 
01450 
01460 
01470 
01480 
01490 
01500 
01510 
152U 
01530 
01540 



072C Id 
O72o lo 
072b bD bOAA 
0731 1 13 
07 32 16 
u/33 3v 



ASL 
ASL 
ADA 
1'Ati 

JSR 
AoA 
1'AB 

ins 



H*4 
H*8 

H*H+H*2=li*10 
SAVl 

SEC»i4U UIGT i 
F0R,.. bU,;. 
SAVt 



•••CLOCK Ci4UIJ'iIliG HOU'iIHfc*** 



IRQ BRANCHES hbRE 



•(INSEW1 POLLS 10 ANY OTHuR IiEHKUHlSJ 



0734 He 
0737 2A 
073y Bo 
073C 7A 
073F 2o 
0741 86 
0743 B7 
0746 7A 
074y 26 
074B 86 
074D B7 
0750 7A 
0753 2o 
0755 B7 
758 7A 
075B 26 
075D 86 
075F B7 
0762 3b 



bOlh 

29 

bOlb 

0703 

21 

OA 

703 

0702 

17 

3C 

702 

0701 

OD 

0701 

U700 

05 

18 

0700 



RTI 



LDA 

BRL 
LL)A 
DEC 
BNE 
LDA 
5'1'A 
OEC 
BNE 
LOA 
Sl'A 
DhC 
BNE 
SiA 
OEC 
BNE 
LOA 
Si A 
RTI 



E S801F 

r hi i 

E S80IE 

E SHI. IT 
R RTI 
it 10 

SPLIT 

SEC 

R7.I 

00 

SEC 

MIN 

RTI 
E MIN 
E HR 
9 HTI 
# 24 
E HR 



IRO J-ROA CLSJCK INTERFACE 
BRANCn IF N01 

CLEAR IwTEHrfUHT 
DECREMENT CtJUrfi'LR 
BRANCH It- WAT ZERO 
RhSEl' 



uecre&en r 

...ETC 



NEXi" COURftR 



***CL0CK UEMJNS'l RATION*** 



BPAtMCil HEHL MANUALLY 



0763 Co 18 
076a FO 0700 
0768 8u 2t 
076A C6 3C 
07*C FO 0701 
076F 8b 28 
0771 C6 3C 
773 FO 07U2 
0770 80 21 

778 Ch Elyo 
077b bU E07E 

077E 86 0702 
0781 F6 8004 
0784 2A 07 

0786 Bl 0702 

0789 27 F6 
078B 20 D6 

078D CE 0763 

0790 FF A048 
0793 7F A043 
0796 7E E0E3 

0799 4F 
079A CI OA 
079C 2B 06 
079E 8B 10 
07A0 CO OA 
07A2 20 F6 
07A4 IB 

07A5 36 
07A6 30 
07A7 BD EOCA 
07AA 31 
07AB 3y 



LOA ri 
SUB b 
BSR 
LOA ti 
SUB B 
BSR 
LDA B 
SUB B 
BSR 

LUX 
JSR 

LDA A 

LDA B 
BPL 



24 
HR 
OUT 
60 

to I N 

OUT 

60 

SEC 

0UT 

SEI 9D 
SEO /E 

SEC 

58004 

D2 



C0MPLE/..EN1' 
HOURS 

PR I NT 
M I RS 

PRINT 
SECS 



'MCL' ... SF.-uj CM/U- 
'PDAl Al ' 



SAVE TIME 

TEST F0R BREAK 



CMP A E SEC 
BEO R Dt 
BRA R DEMO 



LDX I DEMO 
STX E SA048 
CLR E SA043 
JMP E $E0E3 

• BCD CONVERSI0N 

BUT CLR A 

CMP B # 10 
BMI R 02 
ADD A 
SUB B 
BRA 
ABA 



D2 







02 



10 



PSH A 

TSX 

JSR E SEOCA 

INS 

RTS 



TIME CHANGED? 
L00P TILL IT D0ES 
PRINT TIME AGAIN 

TRANSFER DEM0 STARTING 
ADDRESS T0 STACK 
CLEAR INTERRUPT MASK 
T0 'CONTROL' 

A H0LDS HIGH 0RDER DIGIT 

B>9 ? 

DONE IF N0T 

A=A+$IO 

B=B-!0 

L00P 

0NLY K0RKS FOR N0S <80 

VALUE TO STACK 
X POINTS TO VALUE 
'0UT2HS'...T0 PRINT VALUE 
CLEAN UP STACK 



• SET INTERRUPT REQUEST PIV0T IN MIKBUG 



AOOO 
AOOO 0734 



A043 
A043 00 



A048 
A048 0704 



ORG 
FDB 



A $A000 
A IRQ 



CLEAR INTERRUPT MASK 

MUST ALWAYS REMEMBER 1'0 D0 THIS BEFORE 

LEAVING MIKBUG, 0R ~lHE CLOCK MAY BE ST0PPED 
BY MIKBUG'S 'RTI'. 
ORG A SA043 
FCB A 

SET CLOCK SET ADDRESS 
ORG A SA048 
FDB A CLOCK 



Listing lb: Object code listing in MIKBUG 
format for the real time clock program of 
figure la. 



SYMBOL TAbLE 
HR 0700 
IN2 0725 
D2 078D 
tfBADD E047 
»40U2S EOCA 



MIN 0701 
IRQ 734 
OUr 0799 
flOUTL E067 
a0U4S E0C8 



SEC 0702 

RTI 0762 

01 079A 

00UTR E06B 

00US EOCC 



SPLIT 0703 
DEMO 0763 
02 07A4 

yPDAT E07E 
tflNEE El AC 



CLOCK 0704 

Dl 0781 

tfLOAD EOOA 

ami E08F 

e>0UTE E1D1 






BYTE November 1977 



167 



LOCAL 
REGULATOR 



o 



ICI 
7805 



o 



Rl 

27K 
-VW- 



*50-60Hz 
(FROM SWTPC 6800 
POWER SUPPLY 
TRANSFORMER 
SECONDARY) 

*SET JUMPER FOR - 
OR -H6 IF 60Hz 



5 IF 50Hz 



be at the top end of the 2 K supplied with 
the SwTPC machine, as it was originally sold 
before 4 K became standard. Modifications 
to load at other locations are only minor. 
The package consists of a number of sep- 
arate segments as follows. 

The Clock Counters 

Four bytes are reserved for the hours, 
minutes, seconds and deciseconds clock 
counters. Each actually contains the natural 
complement of the value, eg: (24-hours) or 
(60-minutes). 

The Clock Initialization Routine. 

On entering this routine, two pairs 
of two digits must be entered. These are 
read using the MIKBUG INHEX routine 
at hexadecimal EOAA. The first of the pair 
is multiplied by 10, by shifting and adding, 
and added to the second. The first sum is 
used to set the hours, the second, minutes. 
Seconds and split seconds are set to zero. 
The fourth digit is entered only on the time 
signal, generated by WWV, for example. To 
prevent the time from being changed while 
waiting for the time signal, the clock is 
inhibited by the SEI instruction and freed 
when the clock is set by the CLI instruc- 
tion. 

The Clock Counting Routine 

This routine is entered when the pro- 
cessor is interrupted, provided the entry 
point is placed in the MIKBUG program- 
mable memory at hexadecimal A000 and 
A001. The routine first checks that the 



>O.I^F 



k 65^i.F 



m 



R2 

47K 

— WV- 



Cl 
MYLAR 



clock PIA did in fact cause the interrupt, 
and acknowledges it by reading the PIA data 
register. The decisecond counter is decre- 
mented and tested. If it has not reached 
zero, the routine returns to the interrupted 
program, via the RT1. If it has, the counter is 
reset to 10 and the minutes counter decre- 
mented and tested, and so on. While it may 
seem that the computer has a lot to do to 
keep up with the clock, it utilizes only a 
tenth of a percent of real time during the 
worst case midnight rollover, and about half 
that normally. 

A Clock Demonstration Routine 

A clock demonstration routine has been 
included in the package and need only be 
loaded for testing purposes, as ordinarily the 
clock would be accessed by the main pro- 
gram. The routine prints the time, in hours, 
minutes and seconds at 1 or 2 second inter- 
vals depending on the printer speed. A short 
routine is used to convert the binary com- 
plement of the clock to binary coded deci- 
mal (BCD) so that it can be printed in hexa- 
decimal by the OUT2HS routine in 
MIKBUG at hexadecimal EOCA. After 
sending CR/LF/* using the MIKBUG 
PDATA1 to send the MIKBUG MCL string, 
the seconds timer is read. The program waits 
in a loop comparing this value with the 
seconds timer and when a difference is 
found, the routine loops to print the time 
again. Also in the loop the routine tests the 
high order bit of the A data register of the 
control interface. If this is not 1, it means 
the operator pressed a key, so the routine 



IC2 
MCI4566 



VDD 

7 5/6 
CB Q2B 



D2 



-O 



■HO 
CA Q3A 



VSS 



TO CBI INPUT OF PIA 
AT HEX LOCATION 
801 C-80IF 



I Hz 

— O 

(OPTIONAL RATE - 
LISTING I. SOFTWARE 
MUST BE MODIFIED ) 



DIODES: IN4I48, ETC. 



m 



Figure 7: A way to derive the power line base of 60 cycles per second (North America) or 50 cycles per second (Europe). The 
low voltage secondary of the transformer in the power supply drives the Motorola MCI 4566, a programmable divider with ratios 
of 5 or 6. A second stage can optionally create 1 Hz as well as the 1 Hz signal assumed by the software of listings 1. 



168 



BYTE November 1977 



branches back to the MIKBUG CONTROL. 
This kind of approach should always be used 
to return to MIKBUG, for the RESET 
button will stop the clock by setting the 
interrupt mask. Also if bit 4 of condition 
codes on the stack (hexadecimal A043) is 
1, the mask will be set upon execution of 
the G command, which should be avoided. 

The timing pulses themselves are derived 
from the 50 or 60 Hz line using the circuit 
given in figure 1. The components can be 
mounted on a small piece of Micro-Vector 
board, supported at right angles to the base 
plate of the SwTPC 6800's box, near the 
+12 V supply board. Three short wires can 
then be run to one of the 12 VAC trans- 
former leads, to the unregulated 7-8 VDC, 
and to ground. The output pulses can be 
strung directly to the C1 pin of a PIA board. 
The heart of the circuit is the Motorola 
MC14566 Industrial Time Base Generator. 
This MOS device contains a divide by 10 
ripple counter and a divide by 5 or divide 
by 6 ripple counter for counting from a 
50 or 60 Hz line. Pulse shapers on the 
inputs accept slow rise time inputs, but 
it is necessary to filter the line signal 
with R1 and C1 to remove noise. The 
two diodes and R2 convert the signal 
approximately to a square wave for the 
counters. -H5 is achieved by strapping 
pin 1 1 to ground, to +5 V for -f5. 

Programming Considerations 

A potentially dangerous way of moving a 
string of bytes from one location to another 
is to use the stack pointer as an index regis- 
ter. It is only dangerous in a case where in- 
terrupts are continuously allowed, as with 
this clock. For example, one might use the 
routine of listing 2 to move the 100 bytes 
starting at OLD to 100 bytes starting at 
NEW. 

If an interrupt occurs during the execu- 
tion of this segment, those bytes just before 
the stack pointer will be zapped with the 
register information, which is probably un- 
desirable! In general, when such a technique 
is used to coordinate multibyte operations, 
it would be desirable to inhibit the inter- 
rupt. This can be done with the instruction 
SEI which sets the interrupt mask, thereby 
preventing the interrupts. The companion 
instruction CLI clears the mask, enabling 
the interrupt. Thus the segment given 
would be preceeded by an SEI and followed 
by a CLI. All is fine, provided we do not 
set the mask for so long that the next inter- 
rupt is lost. This is a perfect example of why 
at least two full index registers should be 
incorporated in each microprocessor's 
design. With the routine given, one can 



OLD 


RMB 


100 




NEW 


RMB 


100 




SAVSP 


FDB 

• 








• 
STS 


SAVSP 


Save stack pointer 




LDS 


#OLD-1) 


First byte pulled will be at OLD 




LDX 


#\!EW 


First byte deposited at NEW 


LOOP 


PUL A 




Get byte 




STA A X 




Store 




INX 




Advance X 




CPX 


#<N'EW+100) 


(NEW+99) was last to move 




BNE 


LOOP 


Loop till done 




LDS 


SAVSP 


Reload stack pointer 



Listing 2. 

move about 4 K bytes in 1/10 second, which 
is probably adequate for most purposes. 
When used with other software, you'll thus 
need to check carefully to make sure that 
any such manipulations of the stack pointer 
are consistent with the existence of a steady 
interrupt source. But once you've got a 
steady clock program going, a number of 
new possibilities will be open: time tagging 
files, extending the counters to keep track 
of days, weeks and years for scheduling 
personal events to be signalled when the 
time is ripe, etc." 



Special 8K RAM assembled and tested $185.00 

Get the Best in 

Business Data 

Processing Systems 

Accounting, Inventory, General Ledger, 
Timesharing Applications 



Also a complete line of personal computers 
and peripherals, including: 

• Processor Technology 

• IMSAI 

• Digital Group 

• Compucolor 

• TDL 



• CROMEMCO 

• North Star 

• TEI 

• DTC 

• Books/Magazines 



HARDWARE/SOFTWARE SUPPORT 

Our experienced staff is ready to help you 

configure the best system to suit your needs 

MAIL ORDERS WELCOME 
(We accept MasterCharge/BankAmericard) 



ThE COMPUTER RDDM 



124 H Blossom Hill Road • San Jose, CA 95123 
(408) 226-8383 



Circle 36 on inquiry card. 



BYTE November 1977 



169 



Circle 140 on inquiry card. 




microprocessors: 

from chips to systems 
Rodnay Zaks $9.95 

Ref C201,400p, 150 illustrations 



This book is based on the author's experi- 
ence in teaching microprocessors to more 
than 2000 persons. It takes you step by step 
from the basic concepts to the actual inter- 
facing techniques. 

CONTENTS: Fundamental concepts; Internal 
operation of an MPU, System chips; Com- 
parative Microprocessors Evaluation; As- 
sembling a System; Applications; Interfacing; 
System Development; The Future. 



2161 Shattuck Ave., Name 

Berkeley, Ca 94704 _ A 

tel: (415) 848-8233 Position 

IN EUROPE: Company 

313 rue Lecourbe A , , 

75015-Paris, France Address_ 



SYBEX 



Amount enclosed: 

fin California add tax) 
□ Bankamericard 

Number 



Signature, 



□ Mastercharge 
Expires 



Fast Shipping: add $1.00 (UPS) 



BYTE 



A Collection of Programming Problems and Techniques, by H A 

Maurer & M R Williams. Here's a book that presents you with pro- 
blems! Nearly 400 of them, in fact: problems in games like chess, 
bridge, and NIM; practical problems such as applications of the law 
of sines, Cramer's rule for solving simultaneous equations, and 
applications of Latin squares to problems in probability; and more 
advanced computer science topics such as the use of Backus-Naur 
form. One quarter of the book is devoted to an appendix that gives 
stymied readers hints on how to proceed with solutions to the pro- 
blems. The most valuable feature of the book, though, is its careful 
and thorough explanation of the use of algorithms to solve pro- 
blems. No dyed-in-the-wool programmer or experimenter will be 
able to read this book for very long before trying to solve the 
tantalizing and well-presented problems. $13.50. 



COLLECTION 

OF 

PROGRAMMING 

PROBLEMS 

AND 

TECHNIQUES 




BITS Inc 
70 Main St 
Peterborough NH 03458 



For ease in ordering, use coupons 
on pages 142-144 or 153. Make 
sure you write in this book's 
name. In unusual cases, processing 
may exceed 30 days. 



Circle 1 2 on inquiry card. 



Technical 
Fopum 



Comments on Live Board 
Removal and Insertion 



S A Stough 

24802 Olive Tree Ln 

Los Altos CA 94022 

In reference to the Technical Forum item 
in the July 1977 BYTE on page 150, "Is 
this a valid hot board placement proce- 
dure?" I have the following comments: 

The suggested procedure in the reference 
has a near certain probability of causing 
catastrophic overstress of parts because of 
the virtual impossibility of maintaining 
sufficient alignment accuracy during board 
removal or installation. 

The close intercard spacing on most sys- 
tems makes it very difficult to visually check 
alignment during installation. Even a rigid 
card frame will allow sufficient misalignment 
in the plane of the board to cause a momen- 
tary short between two or more pins. 

Once installed, the board misalignment 
can typically be as much as one third of the 
pin to pin spacing. This reduces the margin 
for error to a misalignment angle of only 
about ten degrees. Even with card ejectors 
working against a rigid metal card frame, 
a momentary misalignment approaching 
this magnitude is still possible. 

The procedure could be especially disas- 
trous with the most popular 100 pin bus 
where logic signals and high voltage supply 
lines use adjacent pins. 

Certain boards in high priced integrated 
systems use special buffering to allow power- 
on removal and installation where system 
down time is especially costly. Such would 
not seem to be true of personal computer 
systems. It would seem to be an unaccept- 
able risk to use any live board removal or 
installation procedure considering the large 
number of damaged, degraded, and poten- 
tially degraded parts that would have to be 
replaced should a momentary pin to pin 
short occur. The parts replacement time and 
effort would far outweigh the time saved 
in not reinitializing the system for each 
board replacement." 



170 



BYTE November 1977 






XililEDiA P3E}En» 



The SOROC 10120 



CURSOR CONTROL. Forespace, back 
space, up ; down, new line, return, home, 
tab, PLUS ABSOLUTE CURSOR AD- 
DRESSING. 

TRANSMISSION MODES. Conversation 
(half and full Duplex) PLUS BLOCK 
MODE — transmit a page at a time. 

FIELD PROTECTION. Any part of the 
display can be "protected" to prevent 
overtyping. Protected fields are displayed 
at reduced intensity. 

EDITING. Clear screen, typeover, abso- 
lute cursor addressing, erase to end of 
page, erase to end of line, erase to end 
of field. 

DISPLAY FORMAT. 24 lines by 80 char- 
acters (1 ,920 characters). 

CHARACTER SET. 96 characters total. 
Upper and lower case ASCI I . 

KEYBOARD. 73 keys including numeric 
key pad. 

REPEAT KEY. 1 5 cps repeat action. 

DATA RATES. Thumbwheel selectable 
from 75 to 19,200 baud. 

SCREEN. 12 inch rectangular CRT - P4 
phosphor. 




NEW LOW PRICE 
Assembled $975.00 



Specials of the Month 

North Star Micro Disk 

with power supply and cabinet Kit — $699 

Assembled -$799 

IMSAI I-8080 with TDL ZPU Kit - $825 

Assembled -$975 

Digital Systems FDS Disk Drive with 
CP/M Software (assembled only) . Single - $1,750 

Dual -$2,350 

Mountain Hardware PROROM Kit -$145 

Assembled -$210 

Vector Graphic 8K RAM Kit - $235 

Assembled -$285 



NOW WE'RE 
TOLL FREE 

800-227-4440 

in California, Hawaii, and Alaska, call collect: 
415/566-7472) 



XIMEDIA OFFERS A FULL RANGE OF PRODUCTS FOR 
THE PERSONAL COMPUTER ENTHUSIAST AND THE 
SMALL SYSTEM DESIGNER. LET US QUOTE ON ALL 
YOUR HARDWARE AND SOFTWARE NEEDS. 

OUR RETAIL STORE - THE COMPUTER I 'ST tm - IS NOW 
OPEN IN SAN FRANC/SCO. CALL US FOR DIRECTIONS. 



XililEDiA 

1290 24th Avenue, San Francisco, CA 94122 
(415) 566-7472 



COD orders freight collect. Orders with payment shipped prepaid. California 
residents add 6% sales tax. Please allow 3 weeks for delivery. 



Circle 161 on inquiry card. 



BYTE November 1977 171 



NIMBLE: The Ultimate NIM? 



Irwin Doliner 

POB 290 

Owings Mills MD 21117 



NIM is a 2 player game in which the 
players alternately remove counters from a 
pile according to some rule. The player 
removing the last counter is either the 
winner or loser depending upon the varia- 
tion. One important characteristic of NIM is 
that exactly one player has a winning strat- 
egy available to him at the start of the game. 
That is to say, if the game is played 
"perfectly," the winner will be determined 
before the game begins. 

Two examples will better illustrate these 
points. Suppose that there are 100 counters 
and that each player in his turn must take at 
least one, but no more than ten, counters. In 
case 1 consider the player taking the last 
counter as the winner and in case 2 the loser. 

The winning strategy in case 1 belongs to 
player 1. He must take one counter on his 
first move, and in each successive turn take 
enough counters so that both players to- 
gether will remove 1 1 counters. After player 



Game 1 




Game 2 


Pile 1 Pile 2 


Pile 1 


Pile 2 Pile 3 


3 1 


1 


2 3 


Game 3 




Game 4 


Pile 1 Pile 2 Pile 3 


Pile 1 


Pile 2 Pile 3 


9 6 4 


6 


5 3 



Figure 1 : These are the starting positions of four simple NIM type games. If 
the game is played so that the player removing the last counter wins, player 1 
has the advantage in game 1, and player 2 has an advantage in game 2. Player 
1 should win game 3, and player 2 should win game 4 if a perfect game is 
played. 



1 has taken his turns the number of counters 
remaining will be 99, 88, 77, . . . , 11, and 
finally 0. 

Player 2 has the winning strategy in case 
2. In each successive turn he must take 
enough counters so that both players to- 
gether will remove 11 counters. After player 

2 has taken his turns, the number of 
counters remaining after each round will be 
89, 78, 67, and so on down to 12 and finally 
1. On his last turn, player 1 will be obliged 
to take the last counter and therefore lose 
the game. 

With either of these games you will 
doubtless beat an unsuspecting opponent 
several times, even if you let him play in the 
favored position. But eventually, even the 
most casual observer will notice the in- 
variance of your line of play regardless of 
what he does. Once he catches on you must 
find yourself another victim. 

NIMBLE is the extension of NIM to a 
game with several piles and a slightly dif- 
ferent rule for removing counters. It, too, 
has a winning strategy for exactly one of the 
players. This strategy is slightly more dif- 
ficult to explain than the earlier ones, 
but much more difficult to spot. In fact, 
trying to learn the correct line of play 
from watching a knowledgeable player 
is like trying to catch a housefly in your 
hand: very often you will think you have 
him but when you open your hand, he's 
gone. It is for this reason that the game des- 
cribed here was called NIMBLE. It is similar 
to NIM but requires greater mental agility. 

The rules of NIMBLE may be stated very 
simply. It is played with any number of 
piles, each of which may contain any num- 
ber of counters; these numbers are fixed at 
the start of each game. Each player in turn 



172 



BYTE November 1977 



Jack play NIMBLE 

Jack be quick, 
Jack must learn 
The computer's trick. 



removes a quantity of counters from a single 
pile. He must remove at least one counter, 
but he may remove the entire pile. The 
player removing the last counter wins the 
game. For illustration, consider games 1 and 
2 in figure 1. Player 1 has the favored 
position in game 1. If he is to win, he must 
remove two counters from pile 1 at his first 
play. Then player 2 must remove one of the 
two remaining counters and player 1 takes 
the other. In game 2 the advantage is not so 
obvious, but it belongs to player 2. No 
matter what player 1 does, player 2 will 
reduce the game to two equal piles. Then 
player 2 must remove from one pile what- 
ever player 1 removed from the other. 

It is not always so obvious which player 
has the advantage or, in fact, how to use it; 
for example, consider the two slightly more 
difficult examples in games 3 and 4. Unless 
you know the game strategy, it is not 
obvious that player 1 should win game 3, 
and player 2 should win game 4, assuming 
they play correctly. Before reading on, 
assume that you are player 1 in game 3 and 
make your first play. Did you say 'Take one 
from pile 3?" You lose! In fact, you lose 
unless you said "Take 7 from pile 1." This 
tactic will become obvious once the winning 
strategy is explained. 

After becoming an expert at NIMBLE, 
you will get greater enjoyment from the 
game if you can empathize with your un- 
initiated friends' feelings of frustration, feel- 
ings which can better be appreciated if you 
have been in the same situation yourself. So, 
if you enjoy making your own discoveries, 
put this program on your computer (without 
going too deeply into the logic) and play 
against it for a while as a novice. 

Before typing in the program, there are 
some statements that may have to be 
changed to make them more digestible to 
your computer. 

1. The BASIC package I used does not 
have a RANDOMIZE statement. State- 
ments 300 to 350 serve that purpose. 

2. Colons (:) were used in statements 10 
to 70 to signify remarks in place of 
REM. 



Listing 1: A BASIC language source listing for NIMBLE. 



***** 



NIMBLE 



***** 



WRITTEN BY IRWIN DOLINER 
AUGUST. 1976 



20: 

30: 

40: 

50: 

60: 

70: 

80 PRINT 'NEED INSTRUCTIONS'; 

90 GOSUB 1900 

100 IF AS='N' GOTO 290 

1 10 PRINT 

•IN THIS GAME OF NIMBLE TWO PLAYERS ARE CONFRONTED WITH p' 

•<2<P<7) PILES OF OBJECTS WITH NCI) ( < 0< I <=P ) , C 0< = N( I )<64 ) ) ■ 

•OBJECTS IN PILE I. EACH PLAYER IN TURN MUST SELECT ONE* 

'PILE AND TAKE ANY QUANTITY FROM THAT PILE fhOM 1 TO ALL.' 

'THE PLAYER TO TAKE THE LAST OBJECT IS THE WINNER. 

•THE GAME IS BEGUN WITH A COIN TOSS-THE WINNER OF THAT TOSS* 

•HAS THE RIGHT TO INDICATE A PREFERENCE FOR GOING FIRST 

•OR SECOND. • 

•YOU INDICATE YOUR MOVE BY P,Q WHERE P=THE PILE NUMBER* ■ 

•AND Q=THE QUANTITY.' 

'ONCE YOU LEARN THE PROPER STRATEGY YOU SHOULD BEAT THE' 

■MACHINE ABOUT 50X OF THE TIME-THERE IS A WINNING STRATEGY" 

'WHICH THE PROGRAM USES.* 



U C K I I I ! ' 



120 PRINT 

130 PRINT 

140 PRINT 

150 PRINT 

160 PRINT 

170 PRINT 

180 PRINT 

190 PRINT 

200 PRINT 

210 PRINT 

220 PRINT 

230 PRINT 

240 PRINT 

250 PRINT 

260 PRINT *G 

270 PRINT 

280 PRINT 

290 DIM GC6,6),VC6),NC6),P<6),WC2) 

300 PRINT 'PICK A NUMBER'; 

310 INPUT X 

320 PRINT 'THANK YOU! '; 

33 FOR 1 = 1 TO X 

340 T=RND 

350 NEXT I 

360 19=6 

370 J9=6 

380 FOR 1=1 TO 19 

390 V(I)=2**CI-1) 

400 NEXT I 

410 MAT G=ZER 

420 MAT N=ZEh 

4 30 MAT P=ZER 

440 19=6 

450 PRINT 'SHOULD I SET UP GAME'; 

460 GOSUB 1900 

470 IF A$= , N' GOTO 590 

480 PRINT 'INDICATE DIFFICULTY LEVELC 1 - 5) ' ; 

490 INPUT 19 

500 IF I9>63 GOTO 480 

510 IF I9< 1 GOTO 480 

520 19=19+1 

530 N=INTCRND*C J9-2))+3 

540 FOR J=l TO N 

550 NC J)=INT<RND*(2*V( 19)- 1 ) )+l 

560 GOSUB 1700 

570 NEXT J 

580 GOTO 730 

590 PRINT *HOW MANY PILES'J 

600 print 'C3-*; J9; •) •; 

610 INPUT N 

620 IF N<3 GOTO 600 

630 IF N>J9 GOTO 600 

640 PRINT *HOW MANY IN PILE NO.' 

6 50 FOR J=l TO N 
660 PRINT J; 

670 INPUT NCJ) 

680 IF NCJX2 + VCI9) GOTO 710 

690 PRINT 'SELECT NUMBERS LESS THAN ';2*VCI9) 

700 GOTO 660 

710 GOSUB 1700 

720 NEXT J 

7 30 S»l 

740 PRINT ' I AM ABOUT TO TOSS A COIN - CALL H OR T 

750 T1=INTC2*RND) 

760 INPUT AJ 

7 70 IF A$=*H* GOTO 810 

780 IF AJ='T' GOTO 810 

790 PRINT 'DON"T BE A Wl SEGUY - CALL H OR T 'J 

800 GOTO 760 

810 IF Tl -0 GOTO 840 

820 CJ='H' 

830 GOTO 850 

840 C$='T 

850 PRINT 'THE TOSS WAS *;C$ 

860 GOSUB 1780 

870 IF CS=AS GOTO 900 

880 PRINT *MY CHOICE - PONDER PONDER PONBER - •; 



BYTE November 1977 



173 



Listing 1, continued: 



890 GOTO 940 

900 PRINT 'YOUH CHOICE - DO YOU WANT TO GO FIRST'; 

910 GOSUB 1900 

920 IF A$='Y' GOTO 970 

930 GOTO 990 

940 FOR 1=1 TO 19 

950 IF P<I >=1 GOTO 990 

960 NEXT I 

970 PRINT 'YOU GO FIRST - •; 

980 GOTO 1010 

990 PRINT 'I GO FIRST - '; 

1000 S=(S-1>**2 

1010 IF S=l GOTO 1400 

1020 FOR I=I9T0 1 STEP -1 

1030 IF P(I) = 1 GOTO 1100 

1040 NEXT I 

1050 J=INT<N*RND>*1 

1060 IF N<J) = GOTO 1050 

1070 T=INT(N(J)*HND)+1 

1080 PRINT USING 1230, J, T 

1090 GOTO 1560 

1 100 T=V(I ) 

1110 FOR J=l TO N 

1 120 IF GCI,J)=1 GOTO 1 140 

1 130 NEXT J 

1140 GCI,J> = 

1 150 P(I > = 

1 160 FOR K=l TO I 

1170 IF P(K)=0 GOTO 1210 

1180 T=T+(2*G(H*J)-1 )*V(K) 

1190 GCK#J)=CG<K,J>-1>**2 

1200 P(K)s0 

1210 NEXT K 

1220 PRINT USING 1230, J,T 

1230 JMY MOVE IS 999*999 

1240 N(J)=N<J)-T 

1250 FOR J=l TO N 

1260 IF N<J)<>0 GOTO 1370 

1270 NEXT J 

1280 IF 5=1 GOTO 1310 

1290 PRINT 'I WIN !!!!!! '; 

1300 GOTO 1320 

1310 PRINT 'YOU WIN ! I I I I ! '; 

1320 W(S+1)=W(S+1 )+l 

1330 PRINT 'PLAY AGAIN'; 

1340 GOSUB 1900 

1350 IF AI='N' GOTO 1970 

1360 GOTO 410 

1370 IF 5=1 GOTO 1000 

1380 GOSUB 1800 

1390 GOTO 1000 

1400 PRINT'YOUR MOVE'; 

1410 INPUT J,T 

1420 IF J>=1 GOTO 1460 

1430 PRINT 'PICK A PILE FROM I TO ';n; 

1440 INPUT J 

1450 GOTO 1420 

1460 IF J>N GOTO 1430 

1470 IF N(J)>0 GOTO 1510 

1480 PRINT 'THAT PILE IS EMPTY' 

1490 GOSUB 1800 

1500 GOTO 1400 

1510 IF T>=1 GOTO 1550 

1520 PRINT 'PICK A QUANTITY FROM 1 TO ';NCJ>; 

1 530 INPUT T 

1540 GOTO 1510 

1550 IF T>N(J) GOTO 1520 

1560 NCJ)«=NCJ)-T 

1570 T?N(J) 

1580 FOR 1=19 TO 1 STEP -1 

1590 |F V( I )>T GOTO 1650 

1600 T-T-V<I) 

1610 IF GCI«J)sl GOTO 1680 

J620 G(IjJ)=1 

1630 P(I)=(P(I >-l>**2 

1640 GOTO 1680 

1650 IF G(I,J>=0 GOTO 1680 

1660 GCI,J>=0 

1670 P(I)=(P(I)-1)**2 

1680 NEXT I 

1690 GOTO 1250 

1700 T = N(J) 

1710 FOR 1=19 TO 1 STEP -1 

1 720 IF V(I )>T GOTO 1760 

1730 G(Ij J)=l 

1740 T=T-V<I) 

1750 P(I)=(P(I)-1)**2 

1760 NEXT I 

1770 RETURN 

1780 PRINT USING 1790, N 

17901 THERE ARE 99 PILES 

1800 PRINT 

1810 FOR X=l TO N 

1820 PRINT X; 

1830 NEXT X 

1840 PRINT 

1850 FOR X=l TO N 

1860 PRINT NCX>; 

18 70 NEXT X 

1880 PRINT 

1890 RETURN 

1900 INPUT AS 

J910 IF ASo'N' GOTO 1930 

1920 RETURN 

1930 IF A$<>'Y' GOTO 1950 

1940 RETURN 

1950 PRINT 'ANSWER ONLY Y OR N'; 

1960 GOTO 1900 

1970 PRINT USING 1980* WC 1 )> VC2) 

1980 t FINAL SCORE - ME 999 YOU 999 

1990 END 



Figure 2: Three example moves from a typi- 
cal NIMBLE game. Figure 2a illustrates the 
board set up before the first move. Notice 
that all the rows have an even number of Is. 
Figure 2b shows the board after the first 
move. The first column now has an odd 
number of Is. The second player restores 
the binary balance by removing four 
counters from the third pile and leaves 
an even number of Is in each column. 



(2a) 

Pile 


Quantity 


Number 


Decimal 


Binary 


1 
2 
3 


3 
6 
5 


1 1 

1 1 
1 1 


(2b) 






Pile 


Quantity 


Number 


Decimal 


Binary 


1 
2 
3 


3 
2 
5 


1 1 

1 

1 1 


(2c) 

Pile 


Quantity 


Number 


Decimal 


Binary 


1 
2 
3 


3 
2 
1 


1 1 
1 
1 



3. PRINT USING uses a format state- 
ment rather than a format variable (see 
1080, 1220, 1230, 1780, 1970, and 
1980). This may not be acceptable to 
your BASIC. 

Looking at the sample run, you will see 
that you have a choice of setting up the 
game yourself and determining the number 
of piles and the quantity in each pile, or 
letting the computer do it. If the computer 
sets up the game, you must select a 
difficulty level which determines the 
maximum number in each pile. 

When the game is set up, the computer 
will simulate a coin toss; the winner will 
have the privilege of determining who should 
play first. (If the computer ever wins the 
toss and loses the game, look for an error in 
copying the program.) Once you learn the 
strategy, the game will be decided on the 
coin toss (unless you win the toss and make 
an error). You should begin your play by 
letting the computer set up the games at 
difficulty levels 1 and 2. When you think 
that you have discovered the winning 
strategy, test your theory at the higher 
levels. 

If you discover the strategy for beating 



174 BYTE November 1977 



A CALL FOR SPEAKERS 




You read about the FIRST West Coast Computer Faire 

in 

Byte, Interface Age, Kilobaud, Personal Computing, etc. 

held in San Francisco last April 

■ 13,000 People ■ 200 Exhibitors -100 Speakers 

over 320 pages of published Conference Proceedings. 

Well. . . 



WE'RE DOIN' IT AGAIN 



The SECOND West Coast Computer Faire 

will be held in 

The Brand New Convention Center in San Jose 

in the 

middle of "Silicon Valley" - the south end of the San Francisco Peninsula 

expecting 
■ 10,000-15,000 People ■ 50-100 Speakers ■ 150-190 Exhibitors 



M 



arcJ 



1978 



9am-6pm 9am-6pm No on- 5 pm 

(That's right after Compcon concludes in San Francisco) 



YOU Can Be A Part Of It: 

■Talk about your latest project "Exhibit homebrewed system "Organize & chair Conference Section 

Write now for speaker's instructions Prizes for best "homecooking" Help gather speakers you want to hear 

Conference talks will be published (just like an old county fair) Assure the Conference has topics that interest you 

Talks to be included in the published Conference Proceedings must arrive by Januaiy 2, 1978, in the required format. 

Some of the Conference Sections being planned: 
•Tutorials for computer novices •Personal computers for education 

• Speech synthesis & speech recognition • Business systems using "home" computers 

•Computer-driven & computer-assisted music systems • Computers & amateur radio 



►Computer graphics & video art 

► Personal computers for the physically disabled 

► Manufacturer tutorials on explicit systems 



Quick! Write for more details: 
Computer Faire, Box 1 579, Palo Alto CA 94302 



Hardware & software design & implementation 
• Standards for hardware, interfaces & software 
•Workshops for club leaders, retailers, NL editors, etc. 



SPEAKERS' PAPERS' DEADLINE: JAN. 2 



Circle 159 on inquiry card. 



BYTE November 1977 175 



■ 



N(1) 



N(2) 



N(3) 



N(4) 



N(5) 



N(6) 



V 


2 o 


2 1 


2 2 


2 3 


2 4 


2 5 



G 



P 



Figure 3: These tables represent the manner in which the information for this game is stored in memory. The matrices are de- 
fined as follows: 

V The binary value vector V(l) = 2'~' . 

N The pile quantity vector. N(J) = the number of counters in pile J. 

G The binary value matrix. G(l, J) = 1 or depending on whether or not V(l) is in the binary representation of N(J). 

P The parity vector. P(l) = if row i of the G matrix has an even number of Is; otherwise P(l) = 1 '. 



Figure 4: A typical 
NIMBLE game showing 
the contents of G matrix 
and P table for each move 
in the game. 



HOW MANY PILESC3- 6 )?3 

HOW MANY IN PILE NO. 

1 79 

2 76 

3 74 

I AM ABOUT TO TOSS A COIN 
THE TOSS WAS H 
THERE ARE 3 PILES 

1 2 3 

9 6 4 



CALL H OR T ?T 



1 








1 





1 





1 





1 


1 





G 1 








1 


























MY 


CHOICE - 


- POND 


ER PON 



PONDER PONDER 



MY MOVE IS 















1 


1 











1 


1 





G 



































YOUR 


MOVE72 


"3 









1 


1 
1 






1 











1 


1 


G 











































MY MOVE IS 



the computer, short of doctoring the 
program: congratulations! If not, you have 
probably come to the conclusion, after 
watching the computer's strategy for a 
while, that it attempts to maintain a certain 
kind of balance. That is absolutely correct; 
though not in the way you probably think. 

If we lived in a binary world, this game 
would be very uninteresting because the 
strategy would be too obvious. But un- 
fortunately man learned to count on his 
fingers and not his ears. We just normally 
think in decimal. 

The following demonstration should 
clarify the strategy. Suppose we have 3 piles 
with 3, 6 and 5 in piles 1, 2 and 3 
respectively. If we represent these quantities 
in binary, the system would look like figure 
2a. 

There is an even number of 1s in each 
column; no matter what player 1 does, this 
statement will no longer be true after his 
move-. Suppose that player 1 removes 4 
from pile 2: the system now looks like figure 
2b. Player 2 can now restore binary balance 
by removing 4 from pile 3, leaving a system 



176 



BYTE November 1977 






Figure 4, continued: 



Figure 5: A typical NIMBLE game series. 




1 


1 
1 


1 























G 











P 






























YOUR 

1 


MOVE? 2 

2 


3 

3 






2 





1 








i 







1 



1 
1 


















G 











P 






























MY MOVE IS 


1/ 


1 




1 


2 


3 






1 





1 






1 





1 



































G 











P 






























YOUR 

1 


MOVE7 1 
2 


1 

3 












1 












1 


1 
































G 











P 































MY MOVE IS 3, 1 

I WIN !!!!!! PLAY AGAIN7Y 



that looks like figure 2c. The game will 
continue this way, with player 1 disrupting 
the balance and player 2 restoring it. Player 
1 must ultimately leave a single pile which 
player 2 will remove. Therefore, if the initial 
system is in binary balance it is preferable to 
go second; otherwise, it is preferable to go 
first. The strategy is simply to restore binary 
balance each time your opponent disrupts it. 
Now that you know the winning strategy, 
you will want to learn how the program 
knows to play it. First we must think of 
writing binary numbers vertically from 
bottom up rather than horizontally from left 
to right. For example, the numbers 3, 5, 7 
and 8 would be represented as: 

3 5 7 8 



1 


1 


1 





1 





1 








1 


1 














1 



This method is used to represent the pile 
quantities in the G table (matrix). 

Figure 3 demonstrates the relationships 
between the major program tables and how 
they are used to find the optimal move. 

When it is the computer's turn to play, it 
looks at the P vector, statements 1020 to 
1040 of listing 1 . If it is not equal to there 
is no optimal move and the computer plays 
at random as shown in statements 1050 to 



NEED INSTRUCTIONS7Y 

IN THIS GAME OF NIMBLE TWO PLAYERS ARE CONFRONTED WITH P 

(2<P<7) PILES OF OBJECTS WITH N(I) C C 0<K=P), (0<=NC I ><64 ) ) 

OBJECTS IN PILE I. EACH PLAYER IN TURN MUST SELECT ONE 

PILE AND TAKE ANY QUANTITY FROM THAT PILE FROM 1 TO ALL. 

THE PLAYER TO TAKE THE LAST OBJECT IS THE WINNER. 

THE GAME IS BEGUN WITH A COIN TOSS-THE WINNER OF THAT TOSS 

HAS THE RIGHT TO INDICATE A PREFERENCE FOR GOING FIRST 

OR SECOND. 

YOU INDICATE YOUR MOVE BY P,Q WHERE P=THE PILE NUMBER, 

AND Q=THE QUANTITY. 

ONCE YOU LEARN THE PROPER STRATEGY YOU SHOULD BEAT THE 

MACHINE ABOUT 50% OF THE TIME-THERE IS A WINNING STRATEGY 

WHICH THE PROGRAM USES. 



GOOD 



LUCK 



J 



PICK A NUMBER? 74 

THANK YOUI SHOULD I SET UP GAME7Y 

INDICATE DIFFICULTY LEVELC1-5J7 1 
I AM ABOUT TO TOSS A COIN - CALL H OR T ?H 
THE TOSS WAS T 
THERE ARE 5 PILES 



12 3 4 5 

2 13 13 

MY CHOICE - PONDER PONDER PONDER 

MY MOVE IS 1* 2 



I GO FIRST 



1 2 


3 


4 b 


1 


3 


1 3 


YOUR MOVE? 5, 


3 




MY MOVE IS 


3, 


3 


1 2 


3 


4 5 


1 





1 


YOUR MOVE? 2, 


1 




MY MOVE IS 


4, 


1 


I WIN ! 1 1 1 ! 1 




PLAY AGAIN7Y 


SHOULD I SET 


UP 


GAME7Y 


INDICATE DIFFICULTY LEVELCl-5>?5 


I AM ABOUT TO TOSS A COIN - CALL H OH T ?H 


THE TOSS WAS 


T 




THERE ARE 


3 PILES 


1 2 


3 




m 55 


60 




MY CHOICE - 


PONDER PONDER PONDER - I GO FIRST 


MY MOVE IS 


\, 


29 


1 2 


3 




11 55 


60 




YOUR MOVE? 3, 


10 




MY MOVE IS 


1, 


6 


1 2 


3 




5 55 


50 




YOUR MOVE? 2, 


37 




MY MOVE IS 


3, 


27 


1 2 


3 




5 18 


23 




YOUR MOVE73, 


22 




MY MOVE IS 


2, 


14 


1 2 


3 




5 4 


1 




YOUR MOVE7 1, 


2 




MY MOVE IS 


2, 


2 


1 2 


3 




3 2 


1 




YOUR MOVE7 1, 


1 




MY MOVE IS 


3, 


1 


1 2 


3 




2 2 







YOUR MOVE7W 


1 




MY MOVE IS 


2, 


1 


1 2 
1 1 


3 






YOUR MOVE7 1* 


1 




MY MOVE IS 


2, 


1 


I WIN !!!!!! 




PLAY AGAIN7Y 


SHOULD I SET 


UP 


GAME7N 


HOW MANY PILESO- 6 )?3 


HOW MANY IN 


PILE NO. 


1 ?9 






2 76 






3 74 






I AM ABOUT TO TOSS A COIN - CALL H OR T ?T 


THE TOSS WAS 


H 




THERE ARE 


3 PILES 


1 2 


3 




9 6 


4 




MY CHOICE - 


PONDER PONDER PONDER - I GO FIRST 


MY MOVE IS 


1, 


7 



177 



Figure 5, continued: 



YOUR M0VE?2,3 




MY MOVE IS 3> 


3 


1 2 3 




2 3 1 




YOUR MOVE? 2, 3 




MY MOVE IS 1* 


1 


1 2 3 




1 1 




YOUR MOVE? 2,1 




THAT PILE IS EMPTY 


I 2 3 




1 1 




YOUR MOVE7 1, 1 




MY MOVE IS 3> 


1 


I WIN ! Ill I I 


PLAY AGAIN7Y 


SHOULD I SET UP 


3AME7N 


HOW MANY PILESC3 


- 6 373 


HOW MANY IN PILE 


NO. 


1 ?6 




2 75 




3 ?3 




I AM ABOUT TO TOSS A COIN - CALL H OR T ?H 


THE TOSS WAS T 




THERE ARE 3 PILES 


1 2 3 




6 5 3 




MY CHOICE - PONDER PONDER PONDER - YOU GO 


MY MOVE IS 3* 


2 


1 2 3 




4 5 1 




YOUR M0VE?2,2 




MY MOVE IS 1* 


2 


1 2 3 




2 3 1 




YOUR MOVE? 2, 3 




MY MOVE IS i, 


I 


1 2 3 




1 1 




YOUR MOVE7U 1 




MY MOVE IS 3* 


1 


I WIN ! ! 1 1 ! ! 


PLAY AGAIN7N 


FINAL SCORE - ME 4 YOU 



1080. If P equals the computer determines 
the largest I for which P(l) = 1 and then 
selects the smallest j for which G (I, J) = 1, 
ie: it picks the first pile which contains V(l). 
The computer then concentrates on column 
J and takes the Vs complement of G(IJ) 
whenever P(l) = 1, statements 11 00 to 1220. 
Figure 4 demonstrates this process by 
showing the contents of tables G and P after 
each move in the playing of game 3. If you 
work this through carefully, you will see 
how the computer uses these tables to find 
an optimal move when one is possible. 
Figure 5 shows a sample run of NIMBLE. 

Even though you now know the secret of 
NIMBLE, you can still have fun with the 
game. You can test your ability to rapidly 
convert numbers to binary at difficulty 
levels 4 and 5. You can make the game more 
difficult by increasing the sizes of the arrays 
(also 19 and J 9) to allow larger values and 
more piles; or you can merely impress your 
friends by beating the computer when they 
can't. However you use NIMBLE, I hope 
that you have as much fun playing it as I had 
writing it." 



PAPERBYTES Design and Implementation of a 

Tiny Assembler 6800 — Microprocessor Self Assembler 



$7 



Tiny Assembler 6800 




Design and Implementation 

of a Microprocessor Self Assembler 

by Jack Emmerichs 



Send today to: 

BYTE Interface Technical Services, Inc. 
70 Main St 
Peterborough NH 03458 

Dealer inquiries invited 

All orders must be prepaid. 



Originally described in the April and May 1977 BYTE, PAPERBYTES is now offering 
Jack Emmerichs' Tiny Assembler 6800. This book contains the complete Tiny Assem- 
bler source listing plus object code in cross assembly format (space restrictions prevented 
printing of this material in BYTE). A bar code version of Tiny Assembler is included for 
convenience, as well as reprints of Jack's two articles and additional user manual mate- 
rials. Tiny Assembler will run on any machine with MIKBUG and 4K of memory starting 
at address 0000, and is an excellent tool for the interactive development of functional 
blocks for a large structured program. Add it to your 6800 system and you'll have a 
valuable programming aid which can free you from the drudgery of machine language. 
The best part is the price: only $7. Order yours today! 



Name 



Address 



City 



State 



Zip 



m 



PAPERBYTES 
Tiny Assembler 6800 



D Check enclosed 

□ Bill MC # 

□ Bill BA # 



Price of Book $ 

Postage, 35 cents $ 

Total $ 



Exp. Date 
Exp. Date 



Signature 



In unusual cases, processing may exceed 30 days. 

You may photocopy this page if you wish to leave your BYTE intact. 



No. 700 



178 



BYTE November 1977 



Circle 12 on inquiry card. 



4? & 






$6.95 



by Rodnay Zaks. Ref. C201 

T H E BOOK ! MICROPROCESSORS : from chips to systems ) 



^ 



This book is based on the author's experience in teaching microprocessors 
to more than 2000 persons during the past 5 years, both in a professional, and 
in a university environment. The seminars have received the highest ratings for 
their educational and technical value, and have been taught worldwide. 
This step by step book stresses: 

1. How to assemble a complete system 

2. Design trade-offs: advantages, disadvantages, problems, costs. 
About 250 pages, over 70 illustrations. Available August 1977 



CONTENTS 



A comprehensive introduction to all the essential aspects of microprocessors and microcomputers: 
Technical Introduction / LSI Technologies / Internal Architecture of a Microprocessor / System Components / 
The Microprocessor Families / Microprocessor Programming / Applications of Microprocessors / Building a System 
/ Product Development / Design Aids / Microprocessor Selection / Evolution and Perspectives. 

THE AUTHOR 

Dr. Rodnay Zaks has been responsible for the design of industrial microprocessor systems since their inception 
in 1972. He is the author of 11 educational books in the field and more than 20 scientific publications. 

CASSETTES 

The 2 basic microprocessor courses are now available on cassettes. Each course includes 2 cassettes {2Vz hours) and 
a special book: 

51 — An Introduction to Microprocessors $29.95 

52 — Programming Microprocessors $29.95 

OTHER BOOKS 

• MICROPROCESSOR ENCYCLOPEDIA 

2 complete reference books, containing manufacturers' data and description of operation for every microprocessor. 
A necessary tool for any comparative evaluation. 

E8 - 8 BITS MICROPROCESSORS: Am 9080, AMI 6800, EA 9002, Fairchild F8, Gl LP 8000, Intel 8080 A, Intersil 6100, 
Mos Tech 650 X, Mostek 3880, 3850, M 6800, NS 8080 A, SC/MP, RCA CDP 1802, PPS-8, Signetics 2650, TMS 8080, 

Western Digital MCP 1600, Zilog Z-80 $29.95 

E5 - BIT SLICES: AMD 2901, Fairchild Macrologic, Intel 3000, MMI 5701, Motorola M 2900, M 10800, NS IMP, 
Signetics 8X02, 3000, Tl SBP 0400 $18.00 

• IMD — International Microprocessor Dictionary 

10 Languages: English — German — French — Spanish — Italian — Swedish — Norwegian — Danish — Hungarian 
—Polish. 30 Pages $1.95 

• ACR-Microcomputer Acronyms — 4-Page guide to abbreviations $1.00 

• SEMINAR BOOKS (condensed notes) 

B2 - Microcomputer programming $39.95 

B3 - Military microprocessor systems $39.95 

B5 - Bit Slice $39.95 

B6 - Industrial microprocessor systems $39.95 

B7 - Microprocessor interfacing techniques $39.95 

IN-HOUSE TRAINING 

SYBEX is independent from manufacturers and provides in-house training and education on all the above topics, 
as well as on specialized microprocessor techniques. 

AVAILABLE SOON: 

Microprocessor programming techniques (with 8080 and 6800 examples) $7.95 



ORDER FORM 



Name. 



Position 

Company 

Address_ 



□ Send me 

copies of =$ 

copies of =. . 

copies of =. . 

Subtotal 

In California, add tax + . . 

Postage and Handling 

TOTAL 



Payment included: □ check □ P.O. □ money order □ other. 



TO ORDER 



Handling (fourth-class rate): no 
charge. Faster delivery: $1.40 one 
book, $0.90 each additional one. 
($2.50 overseas) 

1. Fill attached coupon, or send P.O. 

2. Enclose payment (prices are for 
U.S. only). In California, add tax. 

3. Mail to SYBEX Inc, Publications 
Dept, 2161 Shattuck Ave, Berkeley, 
Ca 94704. Tel: (415) 848-8233. 
Telex: 336311 

In Europe: SYBEX - Europe, 313 rue 
Lecourbe, 75015 Paris, France 
Tel: (1)8282502, Telex: 200858 



Circle 140 on inquiry card. 



BYTE November 1977 179 



Continued from page 78 



Figure 5: A flowchart of 
the floating point addition 
or subtraction routine. 



r\ 



s~\ 







< 






CO 




uj 


CO 




i 


h£ 




i- 


2C3 




£»- 


< ~ 




5° 

LU — 




UJ 2 




bi- 




k O 


2* 

o^2 




_UJ 


ceo: 









< 




UJ 


to 




I 


Wi- 




H 


fe"? 

< a 




l- 

Zh 
LUZ 






^UJ 


tir 




LUZ 




ttO 




OQ. 


XLU 




LUX 


CO-I 




OLJ 




O 
2 CO 




r~\ 


< 




z 


O _l 




tr 


CJU_ 

< 




3 
(- 




cc 




UJ 


o< 




o: 


artu 

LU_| 
NO 




\J 



<t 


CO 


CO 


h-z: 


zo 


<t — 


■6 


t2 


DBI- 


1 CD 


CV1 => 


ro co 


O 




2 







/~\ 



V 



f~\ 




< 






CO 




K 


CO 




Z 


SO 

55 




UJ 




gs 




UJ a. 




UJ 




LjW 








t>2 




tro; 









o 






q: o 

UJ < 


r 


E o 




z 


°^ 




cr 

13 


UJ 




H 


x cr 




UJ 


i- w 




cr 


DO 




k ) 


r) ^ 




0- z: 







180 



BYTE November 1977 






BYTE FLOWCHART CONVENTIONS 



( XXXX j 




ENTRY POINT, LABEL, 
OR SUBROUTINE RETURN 



GENERALIZED 
PROGRAM FUNCTION 



INTERNAL LABEL 

REFERENCE 

(FLOW INTO CIRCLE) 



INTERNAL LABEL 

DEFINITION 

(FLOW FROM CIRCLE) 



DECISION 

(ENTRANCE UNMARKED, 
EXIT OPTIONS MARKED) 



FLOW JUNCTION 
(ARROWS ON INPUTS) 



FLOW RULE: 

ALL FLOW IS ASSUMED DOWN OR TO 
THE RIGHT-EXCEPTIONS TO THIS RULE 
ARE INDICATED BY ARROWS. ARROWS 
GF.NF.RALIY OMITTFH OTHFRWlSF. 



number of digits can be expanded. 

This format has its list of disadvantages, 
though; but for these the commercial com- 
puter industry might have adopted it long 
ago. The program size required for per- 
forming just the basic operations and the 
conversion routines is about the same as for 
the other formats, but execution times are 
significantly slower. Many hobbyists are not 
as concerned with the number of milli- 
seconds as with the number of bytes, but 
another disadvantage is the larger memory 
required to store the floating point num- 
bers. For most assembly language applica- 
tions the impact is negligible. It does be- 
come noticeable, however, when the float- 
ing point package is part of higher level 
language programs such as interpreters or 
compilers. One major disadvantage is more 
subtle. Many of the transcendental func-' 
tions are best implemented using algorithms 
which are binary based. Using these algo- 
rithms, the BCD format is awkward at best 
and at worst consumes large quantities of 
time and memory. 

The binary floating point format provides 
the fastest execution times, despite the fact 



that its format allows representation of 7 
digit numbers at all times. Because the entire 
format is in binary, implementing the basic 
operations and all of the transcendental 
functions is easier than when using either of 
the other two formats. 

The major drawback is the small range of 
numbers representable, relative to the other 
formats (1 +38 to 10~ 38 ). This is because 
its exponent is only a power of two com- 
pared with bases of 10 and 16 respectively. 
Two other minor drawbacks are the need for 
routines to convert floating point numbers 
from a decimal base to a binary base (and 
vice versa), and the need to expand the 
binary format to perform actual calcula- 
tions. 

The hexadecimal floating point format 
permits a much larger number range 
(10 +76 to TO-" 76 ) than the binary format, 
and the conversion routines are similar 
for both. Although slightly slower than 
the binary format, the hexadecimal format is 
still much faster than any BCD format of 
comparable capability. 

It is somewhat more difficult to imple- 
ment scientific functions such as square 
root, exponential and logarithm with this 
format than with the binary format, and its 
precision is not as great as the binary format's 
precision because it is digit rather than bit 
oriented. Even though the most significant 
digit is nonzero, the most significant three 
bits of the digit itself may be zeroes, resulting 
in only 21 bits of accuracy. This translates 
to only six digits of accuracy. 

In describing the four basic floating 
point operations and the format conver- 
sions, the hexadecimal format will be used 
to illustrate examples. 

Floating Point Operations 

The software uses three floating point 
registers, an accumulator, argument register 
and scratch register. The floating point 
accumulator contains one of the operands 
prior to a calculation, and the result after 
the calculation is performed. The argument 
register contains the other operand, which 
is loaded by the routine, and the scratch 
register is used to hold temporary results. 

In each of the basic operations there are 
two parts: exponent calculation and man- 
tissa calculation. Fixed point operations 
require only the mantissa calculation, which 
turns out to be the easier of the two. 

Add and Subtract Routine 

Figure 5 is a flowchart of the add and 
subtract routine. The two operations are 
described together because the algorithms 



BYTE November 1977 181 



A 
B 



.100000 X 
.FFFFFF X 



16' 
16° 



Figure 6a: Two numbers A and B, which differ from one another by less than 
one part in 2^4 } but which were represented as two different numbers. 



A = 

B - 



Mantissa 

.Tooooo 

.OFFFFF 



Guard Byte 



00 
FO 



16' 
16 1 



Figure 6b: The same numbers as figure 6a, but with B shifted to the right one 
digit, and the extra digit stored in the guard byte in preparation for the sub- 
traction shown in figure 6c. This shifting aligns mantissa radix points (makes 
exponents equal). 



A 
-B 



Mantissa 

.Tooooo 

-.OFFFFF 



.000000 



Guard Byte 



00 
FO 



16 
16 



10 X 16 1 



.100000 



16 



Figure 6c: The subtraction of B from A to give C. There is only one significant 
digit in the result, which is entirely located within the guard byte. 



A = 
-b = 



.100000 
-.OFFFFF 



16' 
16 1 



.000001 



16' 



.100000 



16 



Figure 6d: If the guard byte is omitted, as in this example, the apparent result 
is off by a factor of 16 due to truncation prior to the mantissa addition (or 
subtraction). 

are identical except for a sign change before 
executing a subtract. 

The add and subtract routine consists of 
three functionally separate sections. The 
first prepares the numbers for the operation 
by aligning the radix points. This is analogous 
to aligning the decimal points for an addi- 
tion or subtraction of decimal numbers. 
The addition or subtraction is then per- 
formed and the result normalized. 

The radix points are aligned by shifting 
the mantissa of the smaller number right one 
digit and incrementing its exponent until 
the exponents are equal. When shifting right, 
the last eight bits shifted out are saved in the 
guard byte in order to maintain accuracy. 
During the shifting and incrementing loop, 
the 32 bit mantissa, including the guard 
byte, should be checked for all zeroes (a 
situation which implies that one operand is 
too small to affect the other). This is to 
avoid shifting insignificant zeroes. For 



example, 0.0001 added to 100000 will give 
100000 because only six significant digits 
are retained. 

In the second section the signs of the two 
operands are compared. If they are the same, 
addition is performed, and if they are dif- 
ferent, subtraction is performed. Addition is 
a straightforward 32 bit fixed point add; the 
only normalization is a right rotate one digit 
and exponent increment when there is a 
carry out. An overflow can only occur if, 
on the right rotate, the exponent exceeds 
the maximum value when incremented. 
When this occurs, the current routine is 
exited, the overflow flag is set, and program 
control is returned to the caller. 

If the mantissa signs are opposite, the 
argument mantissa is subtracted from the 
accumulator mantissa in a 32 bit fixed point 
operation. If the absolute value of the 
argument mantissa is greater than that of 
the accumulator mantissa, a carry out occurs 
and the result must be negated and the 
result sign complemented. The effect is the 
same as subtracting the smaller mantissa 
from the larger and using the sign of the 
larger. 

The last section normalizes and rounds 
off the result and checks for exponent over- 
flow and underflow. Normalization consists 
of shifting the mantissa digits left until the 
most significant digit is nonzero. For each 
shift, the exponent must be incremented 
and checked for overflow. Only 24 bits of 
mantissa are saved. Therefore, the 25th bit 
of the temporary result determines whether 
the mantissa is to be rounded up or not. 
For example, if the hexadecimal result were 
10000094, it would be rounded up to 
100001, whereas a result of 10000048 
would not. 

If the guard byte and a round of f opera- 
tion are not used in an addition, one bit of 
significance could be lost. By comparison, 
subtraction without a guard byte could 
mean a difference of an order of magnitude. 
Two numbers can be different by less than 
one part in 2^4 and yet be represented as 
two different numbers (A and B in fig- 
ure 6a). When one is subtracted from the 
other, the smaller must be shifted right in 
order to align the radix points. The guard 
byte stores the shifted out digit (figure 6b) 
and retains the only significant digit of the 
result (figure 6c). Without a guard byte the 
significant digit may be off by a factor of 
16 (figure 6d). 



182 



BYTE November 1977 



IF YOU'RE NOT SUBSCRIBING^) CREATIVE COMPUTING, 
YOU'RE NOT GETTINGTHE MOST OUT OF YOUR COMPUTER. 



No computer magazine gives 
you more applications than we do! 
Games. Puzzles. Sports simula- 
tions. CAI. Computer art. Artifi- 
cial intelligence. Needlepoint. 
Music and speech synthesis. 
Investment analysis. You name it. 
We've got it. And that's just the 
beginning! 

Whatever your access to compu- 
ter power — home computer kit, 
mini, time-sharing terminal — Cre- 
ative Computing is on your wave- 
length. Whatever your computer 
application — recreation, educa- 
tion, business, householdmanage- 
ment, even building control — Cre- 
ative Computing speaks your 
language. 

Read through pages of thorough- 
ly documented programs with 
complete listings and sampleruns. 
All made easy for you to use. Learn 
about everything from new soft- 
ware to microprocessors to 
new uses for home com- 
puters. And all in simple, , 
understandable terms. 
And there's still more. ; ^ ; 

CreativeComputing J 
discusses creative 
prpgrammingtech- / 
niques like sort JT 



I want to get the most out of my computer. 
Please enter my subscription to: 

creative 
coiRpatiRg 



Term 



USA 



□ 1-year □$ 8 
D 2-year D$ 15 

□ 3-year □$ 21 

□ Lifetime D$300 
D Vol. 1 Bound D$ 10 
D Vol. 2 Bound D$ 10 

□ Payment Enclosed 

D Visa/Bank Americard 
Card No. 



Foreign 
Surface 

□ $ 12 

□ $ 23 
D$ 33 
D $400 
D$ 12 

□ $ 12 



Foreign 
Air 

D$ 20 

□ $■ 39 

□ $ 57 
D $600 
D$ 15 

□ $ 15 



□ Master Charge 



□ Please bill me ($1.00 billing fee will be 
added; foreign orders must be prepaid) 

Name 



Address . 
City 



_State_ 



_Zip . 



Send to: Creative Computing, Atten: Inez 
P.O. Box 789-M, Morristown, N.J. 07960 



: M- 



jjjiH 



JL3 



mm 



likjlfr;;; 




M 



v; SB?!'.' 



m 

: I 



^:<i" 



algorithms, shuffling and string 
manipulation to make your own 
programming easier and more effi- 
cient. 

We can even save you time and 
money. Our extensive resource 
section is filled with all kinds of 
facts plus evaluations of hundreds 
of items. Including microcompu- 
ters, terminals, peripherals, soft- 
ware packages, periodicals, book- 
lets and dealers. We also give you 
no-nonsense equipment profiles to 
help you decide which computeris 
best for you — before you spend 
money on one that isii't. 

We've got fiction too. From the 
best authors in the field, like 
Asimov, Pohl and Clarke. Plus 
timely reviews of computer books, 
vendor manuals and government 
pamphlets. And so much more! 
Isn't it about time you subscrib- 
ed to Creative Computing? It's 
the smart way to get the most 
out of your computer. 
% Complete this coupon and 

*%$$L mailittoday.Orforfast 

response, call our toll- 
free hot line. 
(800) 631-8112. (In 
\ '<n< \ New Jersey call 
'*&-,. \ ~'% (201) 540-0445). 



s^^ 



f; ^: 



>V' 



...v^ 1 " 










Wm 



I . 



'3 









Circle 39 on inquiry card. 



BYTE November 1977 



183 



Figure 7: A flowchart for the floating point multiplication routine. 



( MULTIPLY J 



EXCLUSIVE-OR 
SIGNS TO GET 
RESULT SIGN 



ADD EXPONENTS 
TO GET 
RESULT EXPN 







ovf H- 



YES 




ZERO 



YES 




INITIALIZE 
RESULT TO 
ZERO AND SET 
COUNT TO 24 



NC 


)/ CARRY \ 

\ OUT= I / 

\ ?/ 

JYES 






ADD 

MULTIPLICAND 
TO RESULT 




J' 










SHIFT RESULT 
RIGHT 1 BIT 










DECREMENT 
THE COUNT 




Multiplication 

Figure 7 is a flowchart of the multiplica- 
tion routine. Calculation of the exponent 
for the multiplication and division routines 
is achieved by adding or subtracting the 
operand exponents respectively. Since the 
exponents are in excess-64 notation, the 
offset (64) will have to be subtracted from 
or added to the result. If the resultant ex- 
ponent is less than the smallest exponent 
or greater than the largest, an underflow 
or overflow condition exists and the appro- 
priate action is taken (for example, display- 
ing an error message or setting the result to a 
fixed value). Sign calculation for both 
multiply and divide is a simple exclusive or 
of the two operand signs. 

The partial product method is the most 
widely used in fixed point multiplications, 
decimal or binary based. Using binary num- 
bers, this algorithm rotates the multiplier 
right one bit and tests the bit rotated out. 
The multiplicand is conditionally added to 



the accumulated result if the bit is a one. 
The result is then rotated right one bit, 
retaining 32 bits, and the whole procedure 
repeated for all 24 bits of the multiplier. 
[An example of this algorithm implemented 
in hardware was found in the article "This 
Circuit Multiplies" by Tom Hal I, page 36 
in July 1977 BYTE... CH/ 

Though the fixed point calculation is 
straightforward and uncomplicated, it is 
extremely time consuming because the loop 
is repeated 24 times. One method of re- 
ducing the execution time is to cut out all 
subroutines within the loop and use only 
in line code. A complete multiplication 
routine can then have a worst case multiply 
time of about 2.5 ms using an 8080 pro- 
cessor with 2 MHz clock. 

Division 

Figure 8 is a flowchart of the division 
routine. The fixed point divide algorithm is 
analogous to the partial product method and 
is also commonly used. It compares the 
absolute value of the divisor to that of the 
dividend. If it is equal to or less than the 
dividend's absolute value, it is subtracted 
from the dividend, and a one is rotated into 
the least significant bit of the quotient. 
Otherwise there is no subtraction and a 
zero is rotated in. The dividend is then 
shifted left one bit and the loop repeated 
for a total of 32 times, generating a 32 bit 
quotient. Long division by hand goes through 
the identical procedure, but it operates on 
digits instead of bits. 

Since more processing is done in each 
loop cycle than in the multiply routine, 
division execution times are longer than 
multiplication times. The worst case times 
are still around 5 ms for an 8080 with 
2 MHz clock. 

In both the multiply and divide routines, 
the normalization procedure is identical to 
the one in the subtract routine. Therefore it 
usually turns out to be shared code. 

These routines are the core for other 
floating point functions such as format con- 
versions and scientific mathematical func- 
tions. Because of this it is important that 
these routines execute as fast as possible so 
that the other functions' execution times 
are not increased to several seconds instead 
of fractions of seconds. 

BCD to Binary and Binary to BCD con- 
versions are probably the most difficult to 
implement in a binary floatingpoint package. 
There are several simple methods of con- 
verting integers from one format to the 
other, but I haven't seen any published 
literature to date on either floating point 
arithmetic or number base conversions. 



184 



BYTE November 1977 






The methods described here were chosen 
because of their simplicity rather than their 
speed. The slow base conversions are still 
relatively fast compared to the character 
oriented input and output operations in 
which they are used, so for most purposes 
the conversion speed is not noticeable. 

Decimal to Binary Conversion 

The Decimal to Binary (DB) routine 
(figure 9) converts a free format floating 
point BCD number in ASCII to binary 
floating point format, converting from 
ASCII BCD floating point to formatted BCD 
floating point, and then to binary floating 
point in one operation. 

After initialization the DB routine first 
checks for a plus or minus sign, which is 
optional. It ignores a plus sign and sets a 
flag if there is a minus sign. It then reads in 
one or more digits (and possibly a decimal 
point). When it encounters a decimal point, 
it tests a flag to see if another decimal point 
has already occurred and sets the flag if 
not. If a decimal point has already occurred, 
the routine jumps to the last section. For 
each decimal digit input, the routine multi- 
plies the accumulated result by ten in float- 
ing point format, creates a floating point 
number from the digit, and adds the number 
to the accumulated result. If a decimal point 
has previously occurred, a decimal exponent 
count is decremented, keeping track of the 
number of digits in the fractional part. This 
process is repeated until a character which is 
neither a digit nor decimal point has oc- 
curred, at which point control passes on to 
the exponent evaluation routine. 

Here the decimal exponent of the num- 
ber, if any, is processed. The routine first 
searches for the presence of an E character. 
If none is present, control jumps to the last 
section. If the character is present, one or 
two BCD digits are inputted with an optional 
plus or minus sign. The BCD digits are con- 
verted to an 8 bit binary, two's complement 
number and added to the decimal exponent 
count. 

Finally, the mantissa is normalized by 
either repeatedly multiplying or dividing by 
ten, depending upon the decimal exponent 
count. Multiplication is performed if the 
count is greater than zero, and division is 
performed if it is less than zero. The count is 
either decremented or incremented respec- 
tively toward zero for every multiplication 
or division. When the count reaches zero, 
the sign is corrected if the number is nega- 
tive, and the routine returns. 

The Binary to Decimal (BD) routine 
shown in figure 10 converts a binary floating 
point number to packed BCD floating point. 



Figure 8: A flowchart for the floating point division routine. 



( DIVIDE J 






EXCLUSIVE-OR 
SIGNS TO GET 

RESULT SIGN 






SUBTRACT DIVISOR 
EXPONENT FROM 
DIVIDEND EXPONENT I 




ovf H- 



YES S EXPN 
^ OVERFLOW 

? 



FIGURE 5 

f ZERO W- 

FIGURE 5 



YES. 



EXPN 

UNDERFLOW^ 
P 




0VF y* lt^ DIVISOR=0 




YES^ 



FIGURE 5 



DIVlDEND = 0^ 

P 



NO 



SET COUNT TO 32 



The number is left in packed BCD notation 
so the user can define his or her own format 
for the decimal point and exponent. 

Initially, the binary number is normalized 
so that it is in the range of 0.1 to 1 .0, with a 
decimal exponent kept separate. This is done 
by repeatedly multiplying or dividing by 
10 until the number is equal to or greater 
than 1.0 and less than 10.0, and then 
dividing it by 10.0. During this operation, 
each multiplication or division by 10 is 
tabulated in a count. Next, a round off of 
0.0000005 is added and a correction, if 
necessary, is made to make sure the number 
remains between 0.1 and 1.0. 

The number is then converted to a binary 
fixed point fraction, and finally to a BCD 



fixed point fraction 
accurate to only six 
added round off. 
After completing 



of eight digits, but 
digits because of the 

mantissa conversion, 



the binary count of the decimal exponent 
is converted to a signed BCD pair and stored 
with the BCD fraction. 



32-BIT COMPARE 
DIVIDEND 
MINUS DIVISOR 




32-BIT SUBTRACT 

DIVIDEND 
MINUS DIVISOR 



COMPLEMENT CARRY 



ROTATE CARRY INTO 
LSB OF QUOTIENT 



SHIFT DIVIDEND 
LEFT I BIT 



DECREMENT THE COUNT 




BYTE November 1977 



185 






















G 


p 












X 
















+ 








/ h\ 


CO 


X 




0_ 
X 








/ Z CO ^ 


UJ 






UJ 


' 




_*. I 


/ o 


\> 






Q 




' , 




\ wo"- 

\ UJ < j 

\ _l / 

\ U- / 




\ 

X 


1 


* 


i 

X 

UJ 






0| 












Q 






z 









































O 








z 
















o 






/ i-\ 




a 








CO 


< 






Zeo \ 


UJ 


I 






s3 / 


\>- 


1 


J ' - 




* w \ 


\ fcu / 




a 










< 

















z 






0_ 






-^ X 






O uj 






>* 






" t 






o z 

1 UJ 

* tr 




















o 

< 


o 

z 








o 












z 






z 










a 






/ o \ 


CO 


22 

* , 






' A N 

CLfL. 
X 
\ UJ / 
\ O / 


\ > 


z 

1 UJ 

▼ ce 


w V ml 




* *l 






o o 








O UJ 










< o 















o 






tr 


z 






< 






X 






o 


/ "^ \ 


CO 

UJ 


h- 


/ " 


\> 


X 


( cc n_. 




UJ 


\ < 




z 


\ X / 






\° / 




X 

o 
h- 

UJ 








u_ 






^ < 

uio? 








cote 




CD < 


r\ 








u_ , 






\- 


CO 

Q 












<U- 






CC X 


W 


UJh- 




_l UJ 




CJU. 


_l 




< £ 





























CO 














UJ 




















> 










< 






< 

X 












_! 






o 




/A 

— ( "^n-- 




/ CO \ 


CO 


u. 










o 


\ COS 


UJ 


z 


J 


< 


t- 

X 

UJ 

z 








CO 




J 


I N 


\ < / 




\ < / 




UJ 
H 

UJ 




X 

o 

i- 










o 

z 






CO 




Ul 

It, 




















01 




< 




X 




o 




K 




X 




(- uj 




o 2 




5* 




, CJ 




if, 




X u_ 















1- 










o 








CO 








_ \ 


UJ 


+ Q 






-a.. 


\>- 


2 ° 


J ' , , 


\ 






O CD 








t& 








X z 







H 






o 






°~ 




Q 


d° 




+■ 






o 


*s 




u 






< 








o 
o 
< 


<Q 










/Tgcvre 9: Flowchart of a decimal to binary routine used to convert a free format floating point BCD number in ASCII format to 
binary floating point format. 



186 



BYTE November 1977 



to oil BVT€ magazine 

subscribers and 
would-be subscribers 



V 



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. —$12 

Two years U.S. — $22 

Three years U.S. — $32 



Rates 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. 




EITE 




BITE 



RJ5> »•.«.* f Mm |>.. lit 



mSMmmd:f 



i4 



USE THIS MONEY-SAVING COUPON TODAY 



^ptfii3$£' 



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 



Circle 20 on inquiry card. 



BYTE Subscription Dept • P.O. Box 361 • Arlington, Mass. 02174 



PLEASE EWER MY SUBSCRIPTION FOR: 

□ One year $12 (12 issues) □ Two years $22 □ Three years $32 

□ Check enclosed (entitles youtobonusofone extra issue) 

□ Bill me D Bill BankAmericard/Visa □ Bill Master Charge 
Card Number CELT 







TL 



a 



Signature: 
Address: — 
City:- 



Expiration Date: — 
Name (please print)- 



State/Co untry:- 



Code:- 



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 



These two algorithms for conversion of 
bases between BCD (base 10) and binary 
(base 2) are valid for any binary floating 
point format, not just the one used here. 

Concluding Remarks 

It is hoped that this discussion along with 
the flowchart specifications of the algorithms 
can be used by readers as a basis for coding 
a floating point arithmetic package for any 
general purpose microprocessor system. I 
have used this information in particular to 



code an 8080 version of the routines for the 
basic arithmetic functions, as well as exten- 
sions for functions such as square root, ex- 
ponential, natural logarithm, sine and 
cosine, and arc tangent. The extensions all 
use the basic multiplication, division, addi- 
tion and subtraction operations to evaluate 
the more complex functions involved. Read- 
ers interested in a detailed copy of this 
8080 mathematical function software 
documentation can purchase it for $10 by 
writing to me at POB 447, Maynard MA 
01754. ■ 



Figure 10: Flowchart of a binary to decimal conversion routine used to convert a binary float- 
ing point number to packed BCD floating point format. 



Bl 
TO 
DEC 



NARY f \ 

) f BO J 
ICIMAL \ . S 



CLEAR BCD BUFFER 
CLEAR FLAGS 



BCD SIGN*-ACC SIGN 
COUNT = 32 



YES 




ACC«-ACC*IG 
DECR DEXP 



ACC--ACC/IO 
INCR DEXP 



YES 




ACC^ACC+0.0000005 




YES 



DIVIDE 8 BCD DIGIT 
MANTISSA BY 2 




DEXP-* DEXP 

BCD EXPN SlGN = MlNUS 



ROTATE ACC 
RIGHT I BIT 




CONVERT DEXP FROM 
BINARY TO BCD 



ADD 0.5 TO BCD 
MANTISSA WITH DAA 



STORE RESULT 
IN BCD EXPN 



f RETURN J 



DECR COUNT 



■© 




ACC-«-ACC/lO 
INCR DEXP 



188 BYTE November 1977 



SWTPC Business Programs 



Math Package. 5 byte mantissa, 1 byte exponent 
11 Vs digit accuracy. Fortran-type formatting (Integer, 
Floating Point and Free Formatting on both 
read and write) $25.00 

Letter Writing Editor. No line numbers needed. Subset 
of Honeywell's 1648 Time Sharing Editor. $25.00 

Payroll. Phone for details. 

Accounts Receivable. Phone for details. 

Stock Club - Marketing Evaluation. This is the same 
program used by Custom Computer Services to provide 
accounting for clubs belonging to the National 
Association of Investment Clubs. 

Disk Based SWTPC Business Systems. Phone for details. 

Dealer for SWTPC, Smoke Signal Broadcasting, Percom, 
Teletype®, GE, Tl, Centronics, Motorola, etc. 

To Order: Include 3% postage, Illinois residents add . 
5% sales tax. 



AAA Chicago Computer Center 

3007% W. Waveland Avenue 

Chicago, IL 60618 

(312) 539-5833 (3 PM - 6 PM) 



Circle 1 on inquiry card. 



COMPUTER MART 

OF 
NEW HAMPSHIRE 

DEALERS FOR 

TDL ICOM IMSAI 

DIGITAL GROUP 

KIM-1 

SOFTWARE INCLUDES: 

APPLE II 

8K BASIC EXT. BASIC 

TEXT EDITOR DISK BASIC 

WORD PROCESSOR 

MACRO-ASSEMBLER 

1 70 MAIN STREET NASHUA 
(603) 883-2386 



Circle 33 on inquiry card. 



sis 



cm save You Hm fltfb ItfoHEY 

])EYtl0?IklG &U.5TNFSS SYSTEMS. 

KEfcAlS Thcts NBVEK fiZfoKB 
fjMilfiUETo YoO-ft-BSQLOTet-Y 



SUPPLIES 




■ FLOPPY DISKS, MINI OR 
STANDARD MEM0REX OR 3M 

■ 3M DATA CARTRIDGES 
OC300A, DC 100 A 

■ 3M DIGITAL CASSETTES 

■ 3M OR MEM0REX AUDIO 
CASSETTES, C60 

■ 3M DISK CARTRIDGES 

WE OFFER: 
•COMPETITIVE PRICING 
•IMMEDIATE DELIVERIES 

(AnyOuunlily) 
• UNCONDITIONAL GUARANTEE 

BETA BUSINESS SYSTEMS 

8369 VICKERS ST.. #G 
_ _l SAN OlEGO. CA 92117 
~""^1 1714} 565-4505 



Circle 11 on inquiry card. 



If you can program a mini and own one, you may have 
almost everything to start your own software house. 
Find out how, from this 200-page, detailed manual by 
an EDP professional who successfully did it. 



HOWTOSTHl 

SYSTEMS 

HOUSE 




Send $24.95 to 



ESSEX PUBLISHING CO. 
285 Bloomfield Ave. 
Caldwell, N.J. 07006 



Circle 57 on inquiry card. 



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 




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 



computer 
depot inc.™ 

351 5 W. 70th Street 

Minneapolis MN 55435 

612-927-5601 

Upper Midwest 

Headquarters 

for 

PROCESSOR TECHNOLOGY, IMSAI, 
POLYMORPHIC SYSTEMS, DIGITAL 
GROUP, CROMEMCO, VECTOR 
GRAPHICS, TDL, SEALS, TARBELL, 
MICRO DESIGNS, NORTH STAR, 
NATIONAL SEMI-CONDUCTOR, 
FAIRCHILD SEMI-CONDUCTOR, 
MOSTEK, E & L INSTRUMENTS, 
SAMS, TAB, HAYDEN, WILEY, 
MC-GRAW HILL 



Catalog Free 



C40 



Circle 28 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 /usee Read /Write Tjme 

• 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 76 on inquiry card. 



% 



TTY 
395. 

KSR-33 

W/O COVER, USED 

SEND CERTIFIED CHECK 

$395+110 SHIPPING TO: 

QSS 888 SPINNING RD. 

DAYTON, OHIO 45431 






Circle 52 on inquiry card. 



Circle 1 1 5 on inquiry card. 



BYTE November 1977 189 






Languages 
Fopurn 



The notes supplied by Peter Skye in May 1977 BYTE (page 68) created a 
flurry of correspondence activity from numerous sources. One of the best 
proposals we've seen is that provided by Glen A Taylor in his letter titled 
''Language Development: A Proposal. "The main theme of his ideas is pro- 
posal of what might be called a personal computers language development 
society. For our part ; to help foster such efforts, we will provide a "Langu- 
ages Forum" platform for individuals wishing to participate in print with 
ideas on personal computing languages. This forum is open to all who have 
technical contributions or suggestions to make in the field of language design 
for personal computing systems. 

A fundamental ground rule is that persons submitting letters should supply 
a complete address and be willing to correspond with other readers. Tele- 
phone numbers will be printed if authors of letters to this forum supply them 
and indicate a willingness to get together via that medium. 



Language Development: A Proposal 



Glen A Taylor 

The Wisconsin Research and Development 

Center for Cognitive Learning 

University of Wisconsin 

1025 W Johnson St 

Madison Wl 53706 



After reading Peter Skye's note in May 
1977 BYTE and exchanging correspondence 
with him on the subject of a high level lang- 
uage for personal computing, I am moved to 
offer the following comments and sugges- 
tion. I have two fears. My first is that BASIC 
may become for home computing what 
FORTRAN is for large computers, an ana- 
chronism which is the defacto programming 
language. My quarrel with both these lang- 
uages derives from the following. They are 
vast improvements over the tedium of pro- 
gramming in assembly ianguage. They are 
sufficiently powerful to allow most pro- 
blems to be solved. They are almost univer- 
sally available. Herein lies their insidious 
threat. For all these apparent benefits, the 
programmer still pays an invisibly high cost 
in their lack of well-structured syntax. Pro- 
grams cannot be given good clear logical 
structure as an automatic consequence of 
the language; only rudimentary mnemonic 
naming and labelling are permitted; and large 
amounts of fairly tedious detail must still be 
attended to in coding reasonably complex 
programs. Of course, I'm simply restating 
the often heard arguments for structured 
programming, but it is a concept gaining 
rapid widespread acceptance in mainstream 
computing. 

My second fear is that people who feel 
as I do, that BASIC is simply not good 
enough to be enshrined for the next 25 
years, will endeavor to supplant it with 



their favorite programming language. I'm 
not denying the propriety or utility of 
efforts to implement APL or PL/I or even 
good structured programming languages 
such as PASCAL. There is room for several 
languages in home computing, but I cannot 
see any of these "large computer" languages 
as the best choice for a standard home com- 
puting language. None of these languages is 
without flaws. More importantly, none was 
written with the needs and limitations of 
home systems and hobbyist programmers 
in mind. We must not allow our preferences 
and prejudices to influence our thinking 
about what is appropriate and necessary for 
this new computing field. 

My suggestion is that a group be formed 
for the purpose of defining a suitable per- 
sonal computing language. I see this as a 
unique opportunity and high moral respon- 
sibility. We are actively engaged in deve- 
loping a technology that promises to touch 
the lives of millions of people who are as 
yet naive to computing. What finer ambition 
than to develop a language that is human 
oriented, powerful, flexible, and that is 
well-suited to the capabilities of home sys- 
tems for the forseeable future. We are fortu- 
nate that there are years of research into 
programming languages and a vast store of 
programming concepts at our disposal. We 
need not fashion a language of dated lang- 
uage concepts and practices. We absorb 
state of the art hardware technology as 
soon as it is marketed. We should lead 
the computing field in readily utilizing 
state of the art software technology. 

Therefore, I challenge readers of BYTE 
to take the lead and place their support 
behind such an effort. Here too there are 
valuable lessons to be learned from the 
successes and failures of similar ventures 



190 BYTE November 1977 



in the mainstream computing field. The 
development of such a language must not 
be delayed until there is little chance of 
displacing a firmly entrenched BASIC. 
The effort must enlist the support and 
assistance of several of the major manu- 
facturers who are committed to offering 
the language as part of their major software 
line and providing continuing support for it. 
Finally, the services of a group of people 
who have experience with present home 
systems, a clear vision of where the field 
is most likely to go, and an expert know- 



ledge of modern language design must be 
enlisted. 

I hope you will consider this suggestion. 
I hope the readers of BYTE will provide 
vocal support for this idea, thereby en- 
couraging you to support such a project and 
demonstrating its ultimate economic feasi- 
bility to those who would have to support 
its cost. I am almost certain that you will 
find the persons with the necessary technical 
qualifications to serve on the language de- 
signing group among your readership. I 
challenge these persons to step forward. ■ 



Comments on Peter Skye's Language Proposal 



Peter Skye's proposal to develop a higher 
level language for microcomputer use is a 
fine idea, but it seems to be going astray. If 
the project goes forward as described in the 
May 1977 Technical Forum it will be an 
expanded PL/I with added features from 
APL and SNOBOL and an apparently huge 
character set. It appears it was planned to 
be all things to all people (a replacement 
for all general purpose languages), and I 
think it will fail for that reason. 

Programming languages have been 
developed to meet particular needs, and 
they can best be judged on the power and 
appropriateness of their constructs for 
dealing with the intended class of problems. 
SNOBOL, TRAC and LISP do arithmetic 
poorly but are quite powerful when dealing 
with strings and natural languages (English, 
for example). RPG, despite its somewhat 
primitive nature, is widely used because 



it is simple and oriented specifically towards 
producing business reports. (The business 
world would be far more interested in RPG 
running on a micro than anything else I 
can think of!) 

The proposed PL/Skye will make no 
one happy. The comment that nothing 
a particular language can do can't be done 
in PL/I misses the point. BASIC is simple 
and interactive; APL is powerful and elegant; 
PL/I is a poor substitute for either. PL/I 
is fine in large EDP shops which want to 
convert all their FORTRAN and COBOL 
programmers to a single, powerful language. 
It doesn't need APL as a subset. Further- 
more, it might pay to remember early 
experience with PL/I. The first compilers 
produced atrocious object code, and some 
of the features never did work. It took 
compiler writers quite a while before they 
learned to produce accurate, optimized 



Jeffrey L Kenton 
Consultant 
One Bacon St 
Wellesley MA 02182 



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 /1 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 1 0, 1 34.5, 1 50, 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 to 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. 



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. 



KIT PRICE 

$96.00 

$179.00 
$245.00 

$29.00 
$24.00 
$19.00 



Circle 75 on inquiry card. 



BYTE November 1977 191 






code; it will be far worse on a microcom- 
puter. Nor is writing the PL/Skye compiler 
in PL/Skye a practical idea. Intel has written 
an 8080 resident PL/M compiler in 
PL/M which requires well over 100 K 
bytes of code to run (and a disk operating 
system which supports overlays). An 
equivalent assembly language version fits 
in 12 K. 



The first question to ask when beginning 
a large project is, "What am I trying to do, 
and what is it going to be good for?". If 
you haven't answered this question you 
can never tell when your program is finished, 
nor whether it works. I'm afraid that's the 
case with PL/Skye, and we may shortly see a 
programmer jump on his horse and go riding 
madly off in all directions." 



Notes on Floating Point and Critique of PL/Skye 



Stephen R Alpert 

Assoc Prof of CS, WPI 

Vice Chairman, SIGMINI (ACM) 

11 Ridgewood Dr 

Auburn MA 01501 



I would like to add a few comments on 
the articles that appear in May 77 BYTE. 

1. In Sheldon Linker's article "What's 
in a Floating Point Package?", page 62, there 
are a few items that should be mentioned. 

a. Usually one tries to keep all 
floating point information normalized. 
Let's consider an example: let the expon- 
ent be base 10 and assume we have four 
decimal digits of storage. Then 

0.0025x1 5 = 0.2500x1 3 = 250 

Clearly I have a choice of storage. But 
what about 2576? Then I can only use 
0.2576x1 0^. Chances are if my operands 
aren't normalized then the result may not 
be also. 

b. In conjunction with normalized 
data, a hexadecimal base will yield a lar- 
ger range than a binary base, but it will 
not carry the significance of a binary 
base. Hexadecimal base means that a 
a leading hexadecimal digit of 1 will 
waste three binary bits! 



c. In all my years of computing 
(14) I have never had a need for numbers 
greater than 10- 30 except for the legen- 
dary $24 Manhattan Purchase at 6% for 
300+ years. I would suggest the following 
compromise. 



I- 


32 bits = 4 bytes »| 


I EXP 


|s| MANTISSA | 



8 bit t 23 bit mantissa 

exponent algebraic 
sign 

The exponent is a two's complement 
(excess 200) binary exponent. The dy- 
namic range is 10'". The sign bit is stored 
in place of the normalized most signifi- 
cant bit of the mantissa. Simple shifts or 
tests will determine the sign (and hence 
insertion of the MSB is easy). 

2. Is Peter Skye serious? I just finished 
an 8 month project (on the side) writing a 
compiler for a pseudo-subset of PASCAL. It 
was a real job. He will require the user to 
have 32 K bytes just to load the compiler. 




Introducing— New, Low -cost, Fixed Vocabulary 

Speech Synthesizers 

for Computer Hobbyists or OEM use 
FEATURES 



• Two 64-word vocabularies available: 

— Full spoken numerics plus a variety of 
—ASCII characters: numerics, alphabet, 

• Clear, highly intelligible male voice 

• All MOS-LSI circuitry ! 

• 6-bit parallel strobed input 

• No external clocks required 

• Inputs are TTL compatible 

• Analog Speech output signal 

• Custom vocabularies can be produced 



measurement words 
punctuation 



179 



00 



Boards with numbers & 
calculator functions. . . 
only $95.00* 



t Invented by Forrest Mozer 




*Plus state sales taxes where applicable 

TELESENSORY SYSTEMS, INC. 

3408 Hillview Ave., P.O. Box 10099, Palo Alto, CA 94304 
Telephone (415) 493-2626, Attention: Paul Obester 



192 BYTE November 1977 



Circle 149 on inquiry card. 



ENTERTHEWDRLB OF HQWIE AND 
: ? . ^J#AALL BUSINESS: 

COMPUTING 






: ^^W 



* fcmjm M i 








\ ^ W 



K> 






EXPLORE 

INTERFACE AGE 

MAGAZINE 



• MONTH AFTER MONTH LOOK TO 

INTERFACE AGE MAGAZINE FOR THE LATEST 
INFORMATION ON THE DYNAMIC WORLD OF 
PERSONAL COMPUTING. 

• Use your personal computer for auto repair, work 
bench controller, teaching machine, central infor- 
mation bank and design test center. 

• Control your small business with your own real- 
time accounting and inventory control system. 

• Set your computer to turn sprinklers on and off, 
manage a household security system, feed your 
dog. 

• Establish a recipe bank to plan daily meals and 
generate its own shopping list. __ _ 

• Evaluate the stock market, set up 
gambling and probability programs. 
Evaluate odds on sporting events and 
horse racing. 




ARTICLES RANGE FROM THE 
FUNDAMENTALS OF COMPUTERS TO 
LANGUAGES AND SYSTEM DESIGN. 
APPLICATIONS INCLUDE BOTH PRO- 
FESSIONAL AND NON-TECHNICAL. 

Circle 74 on inquiry card. 



READ INTERFACE AGE FOR THE LATEST ON NEW 

PRODUCT INFORMATION AND TECHNICAL 

BREAKTHROUGHS. 

• May's issue included inside the FLOPPY ROM™ 
— a vinyl record which is played on a conventional 
phonograph to enter this month's program in your 
computer. 



• ORDER YOUR SUBSCRIPTION NOW! 

12 Monthly Issues: $14 U.S., $16 Canada/Mexico, $24 International 

Name 




Address 
City 



. State. 



-Zip. 



□ Check or M.O. (U.S. Funds drawn on U.S. Bank) □ Visa Card □ Master Charge 
Acct No. Exp. Date 

Signature 

Make checks payable to: INTERFACE AGE MAGAZINE, P.O. Box 1234, Cerritos, CA 90701 









3. A suggestion: following the ex- 
ample of the Communications of the ACM, 
unless programs are for specific hardware 
tasks, they should be written in a single 
''standard'' language. My current choice 
would be PASCAL for the following rea- 
sons: 

a. It has a very strong (precise) 
standard. Anyone can purchase a user's 
manual and report from Springer-Verlay 
for about $6. 

b. There is a strong user's group 
that is international in scope. 

c. The language permits definition 
of user defined data types. One could add 
bytes, bits, etc. Pointers are standard con- 
structs in PASCAL 

d. If a standard were expounded, 
I'm sure that in short order actual com- 
pilers would soon appear. 

e. A top down (or recursive de- 
scent) compiler for PASCAL is made 
easier if the output is, in fact, an as- 
sembly language source. This output can 
then be fed to your favorite assembler. 
Additionally, by using PASCAL type 
switches one could imbed assembler code 
directly into the higher level code. 

f. PASCAL programs would then 
be highly portable, enhancing the stan- 
dard even more. 

Lest you think PASCAL is my only lang- 
uage, I have also used and taught most of 
FORTRAN, ALGOL, APL, LISP, FOCAL, 
BASIC, BLISS and SNOBOL (and a little 
PL/I). 

I hope this letter stirs the pot a bit. 

The only problem with making a highly 
desirable standard representation for pub- 
lished programs is the problem of actually 
achieving the representations in that form. 
Documentation of an adequate "representa- 
tion language" is a necessary first step to a 
highly desirable end. A syntax and semantic 



checking program (a compiler minus code 
generation) would also be most useful from 
a publication's point of view to verify and 
correct superficial details of programs. But 
such a standardization also requires authors 
and designers literate in the language as well. 
Would anyone care to make further com- 
ments on this subject of adopting a repre- 
sentation standard for programs in pri/lt?m 



What's Wrong with PASCAL, 
Mr Skye? 

David A Mundie 

104B OakhurstCir 

Charlottesville VA 22903 



I am writing in response to the ongoing 
dialogue in your pages over the choice of a 
high level language for microcomputers. 

Mr Crone's analogy with English (May 
1977 BYTE, page 112) is misguided. Eng- 
lish, though archaic, is both beautiful and 
well-suited to its purpose; FORTRAN is 
neither. His letter conjures up visions of our 
grandchildren using dream computers, yet 
still struggling with format statements and 
amorphous programs simply because we 
lacked the courage to junk our outdated 
languages as readily as we junk our outdated 
machines. They will curse us for it. 

I do not design computers, so perhaps 
I am missing something, but Mr Skye's com- 
ment on PASCAL (May 1977 BYTE, page 
68) puzzled me. The point is not that 
PASCAL does nothing other languages can't 
do; the point is rather that PASCAL does 
virtually everything the other languages do, 
but starts from a much simpler set of basic 
constructs. I should have thought that sort 
of efficiency was just what was needed for 
microprocessors." 



Questioning APL 



Rich Snodgrass 
229 Llano Dr 
Portland TX 78374 



I greatly enjoyed the August 1977 issue 
of BYTE on APL. The articles were well- 
done and contained much useful informa- 
tion. 

I do wish, however, to take issue with 
some of the views expressed by E H 



Anthony in the Technical Forum. I became 
weary with superlatives such as "one of the 
greatest intellectual achievements of this 
century," "the teacher of the century," and 
"computer languages scarcely bear close 
comparison with APL." I hear similar com- 
parisons every year when Detroit comes out 
with a new model. 

Such statements are subjective by nature 
and hence a total matter of opinion. How- 
ever Mr Anthony's statement that APL is 
the most "general-purpose mental tool" 



194 BYTE November 1977 



in comparison with other computer lang- 
uages is just too sweeping to let pass without 
comment. 

Generality is an important criterion in 
judging programming languages and, to a 
limited extent, APL is blessed in this regard. 
However, when all the features of APL are 
examined, it is rather specific. 

For example, only homogeneous multi- 
dimensional arrays, programming of num- 
bers, and single characters are allowed as 
data structures; COBOL's heterogeneous 
arrays and the list structures available in 
LISP and SNOBOL are completely lacking. 
Formatted 10 and external data files are not 
specified in the language definition, features 
found even in lowly FORTRAN. Structured 
programming is very difficult in APL, and 
even the most basic control structures are 
missing [except, of course, for the computed 
(GOTO)]. 

Ironically, that "regrettable language" 
mentioned in the article, PL/I, has all the 
features listed above. PL/I also excels in 
readability and run time efficiency, espe- 
cially in comparison with APL. Now PL/I 
is not even close to the "perfect computer 
language," although it does have more 
generality than many other languages, in- 
cluding APL. 

It will now hopefully be evident that no 
computer language is best at everything, 
even APL. The incredible variety of tasks 
that the computer is now given makes it 
impossible for one language to be proficient 
at them all. System programmers should 
keep an open mind when deciding which 
languages to implement: LISP, SNOBOL 
and ALGOL, as well as several other impor- 
tant languages, can . be implemented on 
microcomputers with reasonable memory 
requirements. All it takes is someone to do 
it." 

Suggestions for 
APL Optimization 

Jon D Roland 

Micro Mart 

1015 Navarro 

San Antonio TX 78205 

There seem to me to be three important 
difficulties with APL that are unnecessary, 
and that might be corrected in the develop- 
ment of APL for microcomputer systems. 

The attractiveness of APL arises not only 
from the efficient coding and powerful 
primitives it provides, but from the ways it 
facilitates interactive programming, so that 
the computer user can write programs 



Introducing 
Bit Pad. 



The new, 

low-cost digitizer for 

small computer systems. 

Bit Pad is the newest product from Summagraphics, the leading 
producer of professional digitizers. 1 1 has a small 1 1-inch active area and 
a small $555 price tag. But the list of applications is as big as your 
imagination. 

Better than a joystick or keyboard for entering graphic information, 
it converts any point on a page, any vector, any distance into its digital 
equivalents. I t's also a menu for data entry. You assign a value, or an 
instruction to any location on the pad. At the touch of a stylus, it's 
entered into your system. 

Who can use it? Anyone from the educator and the engineer to the 
hobbyist and the computer games enthusiast. 1 1 comes compatible with 
an S-100 bus, but you can add a power supply, stand-alone display, 
cross-hair cursor and many other options. 

$1,000.00 creativity prize. You can also add $1,000.00 to your 
bank account as a reward for your inventiveness. Just write an article 
on an original Bit Pad application and submit it to any national 
small-computer periodical. I f the editors publish it — and the decision 
is solely theirs -Summagraphics will pay you $1,000.00. Contact 
Summagraphics for rules concerning this offer. 




■ 



xkunrnadiafirm 

*0 * corporation 

35 Brentwood Ave., Box 781, Fairfield, CT 06430 
Phone 203/384-1344. TELEX 96-4348 



Circle 138 on inquiry card. 



BYTE November 1977 



195 



Circle 155 on inquiry card. 



16K Static RAM 

IMSAI/Altair/Poly 88/Sol 20 




'450 Assembled 



• Very low power-650 ma +5V; 90 ma +1 2V; 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. 



M 



ANDENBERG DATA PRODUCTS 



PO BOX 2507 

SANTA-MARIA. CALIFORNIA 93454 



805-937-7951 



CONTROL the WORLD 
OUTSIDE YOUR 
COMPUTER... 

The OPTO-ISOLATOR/RELAY BOARD ($t17) is 

a natural for controlling audio systems, model 
trains, robot devices . . . more uses are dis- 
covered daily, as described in our applications 
notes. 8 reed relays respond to an 8 bit word 
from your computer; 8 opto-isolators accept 
an 8 bit word from the outside world and send 
it back to your machine for handshaking or fur- 
ther control purposes. 




All kits are S-100 buss Altair/IMSAI compatible. Available by mail 
(shipped postpaid in the USA from stock) or at many fine computer 
stores. California mail orders add tax. 



...OR THE WORLD 
I INSIDE IT ! 



CAVi 

8rati> 



Whether for troubleshooting or analysis, 
at some point you will need our EX- 
TENDER BOARD W/ LOGIC PROBE ($35). 

Ours offers a built-in logic probe (hi, lo, 
and pulse), special edge connector that 
allows clip lead probing, jumper links in 
all supply lines, a non-skid needlepoint 
probe . . . plus quality parts and a realistic 
price. 




MULLEN COMPUTER R QARDS 



BOX 6214, HAYWARD, CA 94545 



on the terminal with a minimum of prepara- 
tion on paper. 

Interaction 

The first difficulty arises from the fact 
that APL is entered from left to right, but 
executes from right to left. I, like many 
users, do not always know when I begin 
a line of program how I am going to finish it, 
which means that if I am at the terminal, I 
must either make frequent corrections to 
what I have already entered, or prepare the 
statement on paper before I key it into the 
terminal. I see no fundamental reason why 
APL could not be reversed, or a reverse APL 
made an option for the convenience of pro- 
grammers who think in RPN. There would 
be no need to change the character set; just 
make execution from left to right. 

Character Displays 

The APL character set is not ideal for use 
with 5 by 7 dot matrix printers or video 
displays. Some overstruck combinations are 
not readily distinguishable. Could we not 
choose characters that are optimal For 
legibility and aesthetic appeal, even when 
overstruck? 

Keyboard Layout 

The arrangement of APL characters on 
the keyboard is not convenient for rapid, 
error-avoiding typing. Why could not the 
APL characters be arranged in some pattern 
that is optimal for the user who wants to 
touch-type his input, as the Dvorak key- 
board is for ASCII characters (except the 
special command keys). 

If APL, in some form, is destined to 
become a kind of universal high level com- 
puter language, then let us avoid features 
that are unnecessarily cumbersome for inter- 
active usage, and resolve now to develop a 
language that is optimal in practical terminal 
interaction. Let's not make a mistake like 
the QWERTY keyboard!- 

Some Comments on 
"An APL Bigot Speaks" 

Henry Brandt 
Ithaca NY 14850 

In reference to the letter from Gary 
Luther in the August 1977 BYTE, page 12 
("An APL Bigot Speaks"), I would like to 
offer a few points of clarification. 

First, the European APL implementation 
that he speaks of is described in the IBM 



196 



BYTE November 1977 



Circle 101 on inquiry card. 



Systems Journal, volume 16, number 1, 
and is entitled "An APL Interpreter 
and System for a Small Computer." The 
authors of this paper took a full APLSV 
interpreter and broke it up into 289 128 
word modules which are paged into main 
memory of a System/7. This technique 
should still prove popular among hobbyists 
for whom processor costs are overshadowed 
by the cost of large amounts of main 
memory. 

Second, the IBM 5100 doesn't really put 
the full APL language in 1 6 K, as Mr Luther 
indicated. The 16 K to which he refers is the 
user workspace, which is available in 1 6 K 
increments up to a maximum of 64 K. The 
APL interpreter is resident in 108 K bytes 
of read only storage. I suspect a commer- 
cially available ROM offering of this nature 
is still a number of years away. 

Lastly, unless we see dramatic changes in 
the cost of memory, we are most likely 
doomed to implementing a subset of APL 
in either ROM or a complete version of it in 
an overlay fashion for those who possess 
secondary storage devices such as floppy 
disks." 



Programming Quickies 



A 6800 Program Relocator 

Andrew A Carpenter 

POB841 

Gordonsville VA 22942 

Here is a short program relocator that 
may be of interest and use to readers of 
BYTE. The program to be relocated must 
presently reside in memory. Hexadecimal 
addresses A002 and A003 are set to the 
address of the program. Addresses A004 
thru A007 are set to the beginning and 
ending addresses of the new location for 
the program. This program was written for 
aSwTPC 6800 system. 



LOCNB1B2B3 


> 






1000 


> 






1000 FE A0 02 


> 


LDX 


A002 


1003 A6 00 


> 


LDA A00 r X 


1005 08 


> 


INX 




1006 FF A0 02 


> 


STX 


A002 


1009FE A0 04 


> 


LDX 


A004 


100C A7 00 


> 


STA A00, X 


100E BC A0 06 


> 


CPX 


A006 


1011 27 00 


> 


BEQ 


1019 


1013 08 


> 


INX 




1014 FF A0 04 


> 


STX 


A004 


1017 20 E7 


> 


BRA 


1000 


1019 3F 




SWI 




1012 06 


> 






101A 








*** UNRESOLVED ITEMS: 




*** SYMBOLS 


, SORT?" 







Circle 62 on inquiry card. 

HAMBRECHT & QUIST 

INVESTMENT BANKERS 

PROVIDING INVESTMENT BANKING, 

BROKERAGE AND RESEARCH COVERAGE 

OF EMERGING 

TECHNOLOGICAL COMPANIES 

WALL STREET is beginning to recognize 
the coming boom in personal computers. 
Our Research Department believes that 
PERTEC COMPUTER CORPORATION, 

a leading micro computer supplier (MITS 
ALTAIR, iCOM) has an exceptionally 
bright future. 

Call or send for our Research Report 
on PERTEC 



HAMBRKCIIT & QUIST 



Please send me your Research Report on PERTEC: 
Name 



Company- 
Address 

City 

Phone. 



.State. 



.Zip. 



now open 

New Jersey's most complete store with 
microprocessor and NOVA* compatible 
minicomputer systems and peripherals, 
classroom courses, demonstrations, 
software packages, and expert services. 

For hobbyists, computer professionals, 
and business users. Look for more 
details in the December issue of Byte 
magazine. 



'NOVA is a registered trademark of Data General Corp. 



Ujpetroni< 
comDUtje 



ic 
'hnputjer 
store 

806 Route 17, Ramsey, N.J. 07446. 

Circle 49 on inquiry card. 



BYTE November 1977 



197 



Technical 
Fcpuro 



Relocatable Object Code 



Formats 



In the July 1977 issue we published a 
document handed out into the public do- 
main by Peter Formaniak and David Leitch 
of Most ek. (See "A Proposed Microprocessor 
Software Standard, " page 34, July 1977 
BYTE.) Our purpose for publishing the 
document was to get some interchange 
started on the issue of relocatable object 
code formats. 

In this continuation of the discussion of 
the subject of relocatable formats, we have 
three items. One is a letter reacting to the 
published information and making some 



suggestions. The second item is a format 
used by Technical Design Labs, originated 
by Neil Colvin. This text was given to us 
at the TDL booth at the National Computer 
Conference in Dallas last June, and offered 
as documentation of a standard which is 
in use by that firm, and is reportedly being 
examined for adoption by two other major 
software vendors in the personal computing 
marketplace. The third item is a letter from 
Tom Pittman critiquing the TDL standard, 
an item which resulted from a recent phone 
conversation. 

As an addition to the discussion, the note 
following Tom 's critique was received from 
Philip Tubb, and has a bearing on the pro- 
cess of compiling and making available 
standards documentation for this field. 



A Response to "A Proposed Microprocessor Software Standard" 



Carol Anne Ogdin 
100 Pommander Walk 
Alexandria VA 22314 
(703) 549-0646 



The proposal put forth by Formaniak and 
Leitch is certainly a step in the right direc- 
tion, but it also sets unreasonable limits on 
the lengths of symbols permitted. By im- 
posing a limit of six bytes on symbol length, 
the authors propose to throw back pro- 
gramming techniques to the 1960s. A 
simple analysis of their standard shows a 
clear and obvious format that permits sym- 
bols of virtually unlimited length, although 



an imposition of a length limit of (say) 64 
bytes would not be unreasonable. 

In record types 02 and 03, I propose 
the following modification of their con- 
ventions: 

Byte Number Description 

1 Dollar sign ($) delimiter 

2, 3 Length of the symbol (or zero, 




ALPHA Z-80 $ 495 

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 



198 BYTE November 1977 



Circle 2 on inquiry card. 



4,5 



6,7 



Last 2 
bytes 

CRLF 



implying the symbol is terminated 
by carriage return or other control 
code) 

Most significant byte of the 
address (definition for record type 
02, address of chain for type 03) 



Least significant byte 
address 



of the 



8,9 Record type (02 or 03) 

10. . . Symbol text 



Checksum 



Carriage return, line feed (De- 
limiter of end of record and end 
of symbol text) 



The advantage of this format is that it 
permits (but does not require) longer sym- 
bols. If the particular assembler author needs 



to impose some arbitrary restriction on 
mnemonic and symbolic names, so be it. 
But, to impose such arbitrary restrictions in 
a proposed standard assures that the stan- 
dard will not be adhered to in practice. 

Finally, a note about proposed standards 
themselves. Unless and until the personal 
computing movement gains a coherent voice 
through a single forum, standards will re- 
main nonstandard. It behooves the users 
to get behind the standards movement. Un- 
fortunately, the ANSI mechanism is too 
burdensome for our needs. If some enter- 
prising publisher (hint, hint) were to dedi- 
cate a half a page to listing the currently 
accepted user standards and the references 
where the final definition can be found, 
it might begin to serve as that needed cen- 
tral forum. Could such a list be published 
every couple of months or so? I should 
point out that without such a single point 
of reference, proposed amendments (and 
general acceptance of the original or 
amended proposal) will never get pro- 
perly promulgated to the necessary readers." 



Technical Design Labs 
Relocatable Object Module Format 



DEFINITIONS 

Object Module: The output from a language 
processor. Object modules may be loaded into 
memory for execution at fixed addresses. 

Relocatable Object Module: An object module 
containing information which allows the loader 
to place it anywhere in memory address space. 

Internal Symbol: A symbol whose location is 



Neil Colvin 

Technical Design Labs 
Research Park Bldg H 
1101 State Rd 
Princeton NJ 08540 



available to other modules besides the one in 
which it is defined. 

External Symbol: A symbol which is used in a 
module but is defined as an internal symbol in 
some other module. 

Entry Point: An internal symbol in a module 
which is used to select the module for loading as a 



Get on the Right Track for Christmas 



With the Computer Engineering Poster. . . 




. . .If you like it in black and white, you (and your friends) will love the full color 
limited edition poster. 

It's IbVz by 21 Vz inches (4 1 .9 by 54.6 cm) with a white border; the colors are the same as 
the original by Robert Tinney, which graced our July 1977 cover (minus BYTE logo). 
At $3, plus $.50 postage, it is shipped unfolded, in a mailing tube. 



Posters $3.00 each □ Bill BankAmericard 
plus $ .50 mailing □ Bill Master Charge 
No.. 



D Check Enclosed 

$ 
Exp. Date 



Send to: 

BITS Inc 

70 Main Street 

Peterborough NH 03458 



Name. 



Address. 
City 



_State_ 



_Zip_ 



Circle 12 on inquiry card. 



BYTE November 1977 



199 



Circle 162 on inquiry card. 




1 f- f-r-f-OOOf-Of-Of-f-OOOOOi 



•00001 



\$\ £ R FA Cf 



TO THE 



1 
1 
1 
1 
1 



1 

1 
1 








1 
1 



1 
1 
1 







*fAL -WQ^ 



IF IT MOVES <*\J]J\f\fl- DIGITIZE IT! 

SHAFT ENCODERS 

FOR DIRECT MECHANICAL TO DIGITAL 
CONVERSION ONLY $49.95 

A/D CONVERTER 

LETS YOUR COMPUTER USE ANALOG VOLTAGES 

COUNTERS 

MANY TYPES — MP. COMPATABLE 

SOCKET BOARDS 

COMPLETE WITH WIRE WRAP SOCKETS 
BUSSES AND BYPASSING. LOW AS $1 .00 PER LOC 



FREE 



INFORMATIVE APPLICATIONS 
BULLETIN AND CATALOG 



1 
1 
1 

1 

1 


1 



1 



1 
1 
1 
1 







TEC 

enter 






nical 

RIZE 






P.O. BOXA109 o 

BOERNE TEXAS 78006 -| 

1 





1 O t- f- f- i- i- O i- O O i- O O O O t- i- «-0 O O OO O t- t-t- 



result of its being referenced in another module 
as an external symbol. 

Linkable Object Module: An object module 
containing information identifying external, 
internal, and entry point symbols which can be 
"linked" to other similar modules by the loader. 

Relocation Base: The external symbol whose 
address is the base for the relocation of an object 
module. The external symbol may represent a 
program, data, or common area of memory. 

Object Module Format Definition 

The object module format is an extension 
of the Intel "hex file" format, but is not 
compatible with that format. The module 
consists of a sequential file of ASCII char- 
acters representing the binary data, symbol 
and control information required to con- 
struct a final program from the module. All 
binary bytes within this structure are repre- 
sented as two ASCII characters corres- 
ponding to the hexadecimal value of the 
byte (eg: 11001001 -+C9). All ASCII values 
are represented by the corresponding ASCII 
character (eg: A -* A). 

Each of the different records within the 
module is indicated by the use of a prompt 
character as the first character of the record 
(in the Intel format, this is the ":"). The 
valid prompt characters are: 



Character 


Meaning 


! 


module identification record 


@ 


entry point record 


# 


internal symbol record 


\ 


external symbol and relocation base 




record 


& 


symbol table record 


; 


data or program or end of file record 



Every record in the module is terminated 
by a one byte binary checksum of all of the 
preceding bytes in the record except for the 
prompt character. The checksum is the two's 
complement of the sum of the preceding 
bytes. Either output format (two character 
binary or one character ASCII) still counts 
as only one byte in the checksum (ie: before 
conversion for output). 

In addition, each record is preceded by a 
carriage return and line feed sequence to 
facilitate listing the module on an external 
device. 

• Module Identification Record ("!") 



Byte 
Number 

1-2 

3 

4-9 

10-11 



Description 

CR/LF 

Exclamation point (!) prompt. 

ASCII module name. [See comments 
on length in letter by C A Ogdin.J 

Checksum. 



200 



BYTE November 1977 



Circle 147 on inquiry card. 



Circle 77 on inquiry card. 



• Entry Point Record <"@") 



Byte 




Number 


Description 


1-2 


CR/LF 


3 


At sign (@) prompt. 


4-5 


Number of entry points in this record. 


6-?? 


ASCII names of entry points, six bytes 




per name. The names are left justified 




and blank filled. 


?? 


Checksum. 


• Internal Symbol Record ("#') 


Byte 




Number 


Description 


1-2 


CR/LF 


3 


Pound sign ( #) prompt. 


4-5 


Number of internal symbols in this 




record. 


6-11 


ASCII name of internal symbol, left 




justified and blank filled. 



12-13 Relocation base for symbol. The value 

of this symbol is relative to the reloca- 
tion base specified. 

14-17 Symbol value (16 bit). 

The above three fields are repeated for 
each internal symbol in the record. 

?? Checksum. 



• External Symbol and Relocation Base Record 

r\") 



Byte 




Number 


Description 


1-2 


CR/LF 


3 


Backslash (\) prompt. 


4-5 


Number of external or relocation sym- 




bols in this record. 



6-11 ASCII name of the symbol, left justi- 

fied and blank filled. 

12-13 Relocation number assigned to this 

symbol in this module. This number is 
unique for each symbol. It starts with 
one and increases sequentially for each 
subsequent external or relocation base 
symbol. 

14-17 Relocation segment size or external 

reference flag. If this value is zero, 
it represents a reference to a symbol 
defined externally to this module 
(usually a subroutine or global data 
item). If it is nonzero, then the value 
is the size of the relocation segment as 




IMSAI 8080 

With 22 slot MB 



$ 575.oo 



8k STATIC RAM KIT 

9K0 no' Complete, includinq 
Loll IIS, sockets for all IC's. 



$145.oo 



CHIPS 

2708 EPROM 

650ns $14.00 

450ns $18.00 

Z-80 CPU $25.00 

Z-80 A $35.00 

(607) 273-3271 



PO BOX 91 



ITHACA, N.Y. 14850 



I 



J 



^er Hobbyist from dilit/i/V 



/ 



E 

o 



HOME COMPUTERS: 2 10 QUESTIONS & ANSWERS 

by Rich Didday 

Volume 1 : Hardware $7.95 

Volume 2: Software 



CD 
CO 
CO 



a> 




<D 


^ 


STEP BY STEP INTRODUCTIONS TO 8080 


a 


o 


MICROPROCESSOR SYSTEMS. 


by James Melsa & David Cohn $7.95 


O 
< 


</> 




CD 


o 


HOME COMPUTERS: A BEGINNER'S GLOSSARY 


• 


o 


AND GUIDE 


o 


GQ 


by Merl Miller & Charles Sippl $6.95 


^ 




CD 


0) 




CO 


5 


8080 MICROPROCESSOR EXPERIMENTS 


o 


c 

< 


by Howard Boyet $9.95 




a> 


BEGINNING BASIC 


-^ 


if 


by Paul Chirlian $6.95 


o* 


• 


dilithium Press books are available 
from your local computer store. 


• 



Circle 47 on inquiry card. 



BYTE November 1977 201 



Circle 163 on inquiry card. 



EXPANDOR'S BUCK BOX PRINTER 

$396. 



Cover & Base 
Optional 

$29.95 



Shipped ready to connect to most any microprocessor 
NEW (Not Used) COMPLETE (Not a Kit) 90 DAY GUARANTEE 

CHECK THESE OUTSTANDING FEATURES 

• RELIABLE •LOW COST 




* Parallel Interface Included 
►Lightweight (11% lbs.) 

► Prints 80 columns wide 

► 64 Character print set (ASCII) 

► Easily maintained by user 

► Parts to you - or return for service 



• Small, portable <4.5" x 13" x 10") 

• Complete documentation 

• Prints 10 characters per second 

• Tractor & pressure feed Included 

• Uses standard 816" paper 

• Regular typewriter/teletype ribbon 



EVERYTHING SUPPLIED - JUST CONNECT TO YOUR PARALLEL PORT - 

HUNDREDS IN USE 

Master Charge — ViSA — Check — Money Order 

EXPANDOR, INC. 

61 2 Beatty Road, Box BY, Monroeville, Pa. 15146 
(412) 373-0300 

(Deafer Inquiries Invited) 



Perhaps you've used software we've 
helped produce. Many people have. You 
may not even have seen our name when • 
we've helped produce them, but we were 
there. 

Maybe you've heard our Music System. 
How often have you been delighted with 
a software product? Many people are 
with our Music System. 

We're working on a variety of new 
and interesting projects which will 
enable you to use your computer 
for some of the things you know it 
can do for you — with the right 
software. We'll let you know about 
our products as they're ready. We 
know you'll like them. 

Look for us— we'll be there. 



ffk SoftwareTechndogy 

^J W Corporation 



P.O. Box 5260 San Mateo, CA 94402 



?? 



defined in this object module. This 
segment can contain either code or 
data, and may be located anywhere in 
memory by the loader, independent of 
any other segment. 

The above three fields are repeated for 
each symbol contained in this record. 

Checksum. 



• Symbol Table Record ("&") 



Byte 
Number 

1-2 

3 

4-?? 



Description 

■■ 

CR/LF 

Ampersand (&) prompt. 

The remainder of tnis record is identi- 
cal to the internal symbol record. All 
symbols defined in this module are 
contained in these records. 



• Data/Program Record (";") 



Byte 
Number 

1-2 

3 

4-5 



6-9 



10-11 



12-13 



Description 

CR/LF 

Semicolon (;) prompt 

Number of binary data bytes in this 
record. The maximum is 32 binary 
bytes (64 bytes of ASCII represen- 
tation). If this value is zero, this record 
is a end of file record, described below. 

Load address of the data relative to the 
specified relocation base. 

Relocation base for all relocation in 
this record. All relocatable values in 
this record are added to the current 
value of the specified relocation base 
before being put into memory. 

Relocation control byte. This byte 
controls the relocation of the next 
eight bytes in the record (if that many 
remain according to the count field). 
The bits are used from left to right. 
The bits have the following meanings: 

0: a single absolute byte implies 
load unmodified. 

10: a two byte relocatable value, 
least significant byte first im- 
plies add the 16 bit value to the 
current relocation base, and 
load the result least significant 
byte first. 

1 10: a three byte reference to a dif- 
ferent relocation base. The first 
byte is the relocation base num- 
ber, and the two after that are 
the 16 bit value, least significant 
byte first. This implies add the 
specified relocation base to the 
16 bit value, and load the result 
least significant byte first. 



202 BYTE November 1977 



Circle 132 on inquiry card. 



Circle 24 on inquiry card. 



14-29 
30-?? 

?? 



Note that a two or three byte combin- 
ation is never broken across a record 
boundary. 

Data bytes controlled as above. 

The above control and data byte com- 
binations are repeated as specified by 
the count. 

Checksum. 



• End of File Record (";") 

Byte 
Number Description 

1-2 CR/LF 

3 Semicolon (;) prompt. 

4-5 Zero to indicate end of file record. 

6-9 Starting address for module relative to 

the specified relocation base. This 
address is optionally generated by the 
language processor, and may be zero. 

10-1 1 Relocation base for starting address. 

12-13 Checksum. 

Relocation Bases 

One of the important capabilites of this 
object module format is the ability to 
specify multiple relocation bases for the 
module contents. These relocation bases 
may represent ROM versus user program- 
mable memory shared common areas, special 
memory areas such as video refresh areas, 
etc. Within a module, each of these reloca- 
tion bases is assigned a name, and implicitly, 
a sequentially generated number. The 
relocation bases are actually assigned values 
at load time, but all memory references 
within the module are made relative to one 
of these bases. 

Four of the relocation bases (0 to 3) have 
predefined names and meanings, and are 
treated differently at load time than the 
remainder of the bases. Base represents 
absolute memory locations (ie: It always 
has the value 0). Base 1 has the name 
".PROG." and represents the program area 
(may be ROM or PROM). Most program 
code is generated relative to this relocation 
base. Base 2 has the name ".DATA." and 
represents the local data areas for each 
module. Most local data is defined relative to 
this base. Base 3 has the name ".BLNK." 
and represents the global "blank common." 
This relocation base is always assigned the 
value of the first free address in memory 
after the local data storage (.DATA.) and 
other data relocation segments. Because it is 



COMPUTALKER 



J] 



® o o : 




AMPLIFIER *- 



ft£'2i2 vfe A *•'. V •••£ -, ■ v ' 



S-100 BUS 

t 



CSR 1 

SYNTHESIS-BY-RULE 

SOFTWARE 



SPEAK "KAAMPYUTAOLKER" 



MODEL CT-1 SYNTHESIZER 
CSR1 SOFTWARE SYSTEM 
DEMONSTRATION CASSETTE 



395.00 

35.00 

2.95 



CALIF RESIDENTS ADD 6% SALES TAX 



WRITE FOR INFORMATIVE LITERATURE 

COMPUTALKER CONSULTANTS 

P.O. BOX 1951, DEPT. B, SANTA MONICA, CA 90406 



21 START-AT-HOME 
COMPUTER BUSINESSES 

in the shoestring, start-at-home 

computer business handbook 

CONSULTING •PR0GRAMM I N G • S FTWARE PACKAGES ©COM 
FREELANCE WR I T I N G • S EM I NARS • TA PE / D I S C CLEANING 
FIELD SERV I CE • SYSTEMS H 0U S E S • L E AS I N G«SU P P L I E S 
PUBL ISH I NG • TIME BROKERS • HARDWARE DISTRIBUTORS 
SALES AGENCI ES#HEADHUNTI NG^TEMPORARY SERVICES 
USED COMPUTERS • F I NDER' S FEES^SCRAP COMPONENTS 
COMPUTER PRODUCTS AND SERVICES FOR THE HOME 

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 
ever published. Order now and if 
you're not completely satisfied, 
send it back within 30 days for 
a full and immediate refund. 

II ringbound #113 pp. •$12.00 
Call 312-945-2940 or mail coupon 




730 WAUKEGAN ROAD • SUITE 108 
DEERFIELD, ILLINOIS60015 



DRTRSERRCH 

incorporated 

Rush copies of "The Shoestring S t a r t -A t - Home 

Computer Business Handbook to me right away - 

NAME /COMPANY 

ADDRESS 

CITY/ST ATE /ZIP 

□ CHECK ENCLOSEDQBANKAMERI CARDQMASTERCHARGE 



Circle 44 on inquiry card. 



BYTE November 1977 203 



always the last allocated, modules referen- 
cing this area can be loaded in any order, 
regardless of the amount of the area they 
use. 

Relocation segments relative to bases 1 
and 2 (.PROG, and .DATA.) are always 



loaded additively. (ie: After each module is 
loaded, the value of the relocation base is 
increased by the size of the segment.) All 
other relocation bases are assumed to have 
constant values during the load process and 
may be allocated by the loader." 



Comments on the TDL Relocatable Loader Format 



Tom Pittman 

Itty Bitty Computers 

POB 23189 

San Jose CA 95153 



It begins to look like we are going to see 
the same diversity in design of software in 
the personal computer industry that we have 
seen in the hardware design. This remark is 
prompted by a document describing Tech- 
nical Design Labs' "Relocatable Object 
Module Format" which I recently had a 
chance to examine. 

TDL is not the first to promote a relocat- 
able format, and you may be sure they will 
not be the last. Let me suggest some reasons. 
But first I should remark that the people at 
TDL have obviously put a lot of thinking 
and work into their format. It will serve 
them for much software, some of which is 
clearly still in the future. My personal 
impression is that the format tries so hard 
to be "efficient" that it has acquired the 
distinct flavor of a kluge, but I will admit 
that to be a matter of taste and not a matter 
of substance. 

The problem with the TDL format, and 
also with the other formats which have come 
before, is that it is limited to the relocation 
of 16 bit addresses. This may be satisfactory 
for relocating jumps and subroutine calls, 
but it is quite unworkable for data refer- 
ences where the actual address of the refer- 
ence must be computed from a relocated 
base address plus some computed offset. It is 



true that you can use an LXI instruction 
in the 8080 or Z80 and do the arithmetic 
through the register accumulator ADD 
instructions, but in the 6800 there is no 
convenient way to do arithmetic from an 
address loaded into the index register with 
an immediate mode. Even worse, the 6502 
has no 16 bit register which may be loaded 
immediate, and the programmer would be 
forced to such subterfuges as defining an 
address constant containing the relocated 
address, then using extended addressing to 
refer to it. Another hazard which does not 
affect the 8080 and Z80 is the problem of 
relocating base page addresses. So far I 
have seen nobody address this problem, 
and yet the 6502 is effectively inoperable 
without reference to page 00. Are we to 
continue to force users to laboriously allo- 
cate page 00 even after relieving them of 
the same drudgery with respect to the rest 
of memory? 

I should also like to mention two other 
problems which have not been addressed, 
but which are considerably less severe. One 
has to do with the problem of the difference 
between two relocated addresses. Most 
assemblers do not allow constructs of the 
form (LXI B, ALPHA-BETA), where 
ALPHA and BETA are both externals. The 



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

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

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



RATE 


TERMINAi 


TAPE 


300 


LOCAl 


AUTO 


^ 600 


<v* • 


V s w 


1200 

PERQCM 


LINE 


fir 

ON 
CIS-30+ f 




Kit 


- $69.95* 


Assembled 


- $89.95* 




(manuc 


il included) 




* plus 5% f/shipping 



PEFQOM 



PerCom Data Co. 

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



TEXAS RESIDENTS ADD 5% SALES TAX 



204 



BYTE November 1977 



construct is not allowed because there is no 
way to pass expressions to the loader. It is a 
useful construct, and at present the only 
way to accomplish the same effect with a 
relocatable code costs seven extra instruc- 
tions. But as I said, this is less important. 
More important is the problem of error 
checking. For reliable media, who cares? But 
if we are going to bother to put checksums 
in the format, we should be sure that every- 
thing important is checked. As far as I know, 
only the hex absolute format defined by 
MOS Technology does this, unless the TDL 
loader insists on the presence of the carriage 
return linefeed and requires the next char- 
acter to be either a colon or dollar. Most 
loaders simply ignore all text until the 
header character is recognized, which 
gives rise to the possibility that lines may 
be dropped, an occurrence I know to have 
happened. I think the loader should ignore 
control characters (CRLF should be 
optional) but have some safety against 
dropped lines. 

I said we would be seeing several relocata- 
ble formats. Like the hardware designers, no 
software designer is completely satisfied 
with what someone else has designed, so 
he/she wants to do her/his own. But more 
than that, when a proposed standard has 
serious deficiencies, it will not be widely 
accepted. As you no doubt have suggested 
by now, I think I can do better. Time alone 
can tell whether we actually achieve any 
standards in this area." 

Announcing the Central Standards Library 

To help solve some of the standards pro- 
blems in the small computer and micro- 
computer field, ALF Products is sponsoring 
a Central Standards Library (CSL). After 
discussions with several manufacturers in 
this field at the West Coast Computer Faire, 
ALF has set up the CSL as a means of 
standards information exchange for manu- 
facturers, consumers, hobbyists, and others 
interested in standards. The Library will 
collect submitted standards and distribute 
them on a nonprofit basis. For more infor- 
mation on available standards, on how to 
submit standards, and on the Library's 
services, send $1 (to cover printing and 
mailing costs) to The Central Standards 
Library, c/o ALF Products Inc, 128 S Taft, 
Denver CO 80228. You will receive a copy 
of the first CSL newsletter and the first 
submitted standard (a parallel interface 
standard). Manufacturers currently parti- 
cipating include: ALF Products, I MSA I 
Manufacturing, PolyMorphic Systems, 
Proko Electronics, Vector Graphic, and 
Video Terminal Technology. ■ 




r 



ErasjMflacsto 




Mil® 




Preserve those precious back issues with y 
a handsome but rugged library file—or a 
binder— in flag blue Kivar library fabric stamped 
in gold leaf 




Wsi 




■02* 




Files: Made to hold the first 16 issues of BYTE. Price 
per file $4.95; three for $14;six for $24, postpaid. 

Binders: Made to hold the first 16 issues of BYTE. Price 
per binder $6.50; three for $18.75; six for $36, 
postpaid. 

, (Add $1 each outside USA.) j 



Send to: BYTE, POB 5120, Philadelphia PA 19141 

I enclose check or money order for $ 

Please send me BYTE Files 



Binde 




Name 



Address 




^(P 


tease print J 










City 


State 










Zip 


Allow 


at 




Satisfaction guaranteed 
v four weeks for delivery. 


or 


money 


refunded. 


least 

-> 



BYTE November 1977 205 



Bock Reviews 



A Collection of Programming Problems and 
Techriiques6y/y/4 Maurer and M R Williams, 
Prentice- Hal I Inc, Englewood Cliffs NJ, 
1972, 256 pages, 6 by 9 paperback. $6.95. 

Among the things I like about the com- 
puter field is that it inspires a new style of 
solitaire: It's me against the computer, and, 
if I'm persistent, I can always win. A frequent 
problem, however, is finding a game which 
will both bring satisfaction and sharpen 
my skills. Many beginning programming 
books give only modest examples and 
problems which do not challenge the inter- 
mediate student. Since the trip from ap- 
prentice to journeyman is paid for only with 
experience, a good selection of programming 
problems is a must. 

For the enthusiast seeking a challenge, or 
the novice wishing to become a pro, 
Messrs Maurer and Williams have filled this 
need with nearly 400 problems of varying 
degrees of difficulty. These exercises provide 
experience in most of the common problems 
encountered by programmers. Working your 
way through the book will provide an 
insight into the mysteries of applied higher 
mathematics, even though no knowledge of 
mathematics above the high school level is 
required. You'll find sections on number 
theory, random numbers and equations in 
one variable. The chapter on games discusses 
chess and checkers, and there are number 
games throughout the book. The 10 section 



COLLECTION 

OF 

PROGRAMMING 

PROBLEMS 

AND 

TECHNIQUES 




challenges you to print bridge hands, or 
perhaps a calendar. You can make maps, 
circles and family trees. Some of the great 
problems and legends of history are also 
described; perhaps you can solve them. 

The problems are couched in general 
terms so that any of the common pro- 
gramming languages may be used. Intro- 
ductory problems range from the reading 
and printing of data to the calculation of 
a bowling score. More difficult problems 
address satellite orbits and language transla- 
tion. There is an excellent advanced section 
dealing with simple compilers and three- 
dimensional plotting, as well as the sorting 
and merging of data. In working out these 
problems the programmer will gain a facility 
in common applications. 

An appendix of partial answers to prob- 



$9.00 



THE FIRST 

BOOK 

OF 

KIM 



ORB 



The First Book of KIM 



BITS, Inc 
70 Main St 
Peterborough NH 03458 



Attention KIM users! Here is the book you've been waiting for: The First Book of KIM. 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 controlling analog devices. This 176 page 
volume should prove an essential addition to any KIM user's library. $9.00. 



Please add 50 cents for postage and handling. 



BankAmericard/VISA and Master Charge welcome. 



For convenience, use any of the coupons on pages 142-144 or 1 53. Be sure to write The First Book of 
KIM on the coupon. 

Processing may exceed 30 days in unusual cases. 



206 



BYTE November 1977 



Circle 1 2 on inquiry card. 



Circle 34 on inquiry card. 



lems is provided. Since there are many ways 
to program a given task, sample programs are 
not given. A well thought out index provides 
a reference to any particular problem or 
concept. 

The excellence of this book lies not only 
in its graduated problems, but also in the 
truly great variety of the exercises. It is not 
an introductory text, but of course there are 
many of those. It does promise to make the 
reader a "tackle anything" programmer, 
which is the very best kind. 

Noel K Julkowski 

18755 Van Buren St 

Salinas C A 93901" 



The Thinking Computer: Mind Inside Matter 
by Bertram Raphael, W H Freeman and 
Company, San Francisco, 1976, Soft bound 
$6.95. 

This excellent book is perfectly suited for 
the technically inclined reader who wants to 
know more about artificial intelligence (Al) 
and robotics. Written by one of the pioneers 
in Al research, it provides comprehensive, 
up-to-date coverage of the field in a style 
that adroitly balances technical depth 
against readability and understandability. 
Raphael is especially effective in illustrating 
abstract ideas with memorable examples, 
like a "cryptarithmetic" puzzle which is ex- 
plored via a tree search, and a butler and 
maid mystery which is solved by theorem 
proving techniques. 

The book's introduction, which provides 
a basic orientation to computers for the 
uninitiated, also discusses special Al periph- 
erals and software, and deals, albeit briefly, 
with two common misconceptions about 
computers: that they are just giant arithme- 
tic calculators, and that they are dumb 



THE THINKING COMPUTER 
Mind Inside Matter 




Computer Mart of 
New Jersey speaks 
your language 0^ 

Whether you're just get- .- — >^ jfvL+ iT 

ting involved with com- jff ^\ f\\?.s \ 

puters or an old pro, 
you'll lind everything 
you need at Computer 
Mart of New Jersey. 
Hardware and soft- 
ware from major 
manufacturers, cur- 
rent literature, and 
the latest educa- 
tional material. 
In these respects, 
we're like most 
other computer stores. 
With one important 
extra- a personal concern lor you and your computer. Our experts want 
to help you utilize your computer's maximum potential. So there's no 
hard sell; come in and browse, ask questions, see a demonstration. When 
you're ready to buy, we'll help you select the system that will meet your 
needs and budget best. And if you ever need a service call, we're as 
close as your telephone. When you're into computers, you'll find that 
no one speaks the language as well as we do. 

Be sure to vist our booth (414 and 416) at the Personal Computing 
Expo at the New York Coliseum on October 28-30. See Were and then 
that we're something special. 

The Microcomputer People m 

COMPUTER MART 

OF NEW JERSEY, INC. 

501 Route #27 • Iselin, New Jersey 08830 

201-283-0600 

Tues. thru Sat. 10 a.m. — 6 p.m. 

Tues. and Thurs. til 9 p.m. 




[£3 



Store Hours 



THE BETTER BUG TRAP 



AND 
CONQUER 

Altair/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 possible! 

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. 



* Dr\v oci a i oo inircT nor\ c 



inc. 



BOX 3514, 123 WEST 3RD ST., SUITE 8 
GREENVILLE, NC 27834 e (919)758-7757 



Circle 87 on inquiry card. 



BYTENovember1977 



207 



Circle 22 on inquiry card. 



cai\acta Boards DO Something 



systems, inc 

f n i iii 

i i s i i i i 



CL2400 

Real Time Clock 



S98— Kit 



S1 35— 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 S299— Kit 
PC3216 S189— Kit 
PC3202S39.50— Kit 



$360— Assm. 

$240— Assm. 

$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. 



nahada 

systems, inc. 

(formerly comptek) 



P.O. Box 516 

La Canada, CA 91011 

(213) 790-7957 




WANTED: K 

EXPERT VI 

PROGRAMMERS 



We are the leading manufacturer of industrial pro- 
grammable controllers - minicomputers and micro- 
processor-based systems used for industrial automation. 

Our Software Engineering Operation has doubled 
in the last year and we need good people badly. 
We want experience in the assembly language, micro- 
programming microprocessors, real-time control ap- 
plications, and some familiarity with hardware at 
all levels of experience. 

We offer excellent wages, generous fringe benefits, 
and a pleasant atmosphere for advancement and growth. 

Please send resume with salary requirements to the 
Personnel Department. 



THE PROGRAMMABLE CONTROLLER COMPANY 
P.O. Box 83 
Shawsheen Village Station 
Andover, MA 01810 

An Equal Opportunity Employer 



mechanical servants that can do only what 
they have been explicitly told how to do. 
Raphael's refutation doesn't anticipate pos- 
sible further objections, but these issues have 
been discussed elsewhere. 

The first technical topic is the representa- 
tion of information about problems, which 
has proven crucial in Al application soft- 
ware. Strings and list structures are described 
and applied to the representation of board 
games, symbolic algebraic formulas, English 
sentences and pictures. 

The next topic is search. Breadthfirst, 
depthfirst and progressive deepening strat- 
egies are applied to the problem of searching 
trees, and techniques for adding knowledge 
to the search are described. The problem of 
finding the shortest route between Paris and 
Vienna is used to illustrate the search 
for a path through a general graph struc- 
ture. Techniques for searching game 
trees, including evaluation functions, mini- 
maxing, and alpha-beta pruning, are briefly 
described. 

A major chapter deals with pattern 
recognition and theorem proving techniques. 
The latter discussion presents Wang's algo- 
rithm for the propositional calculus, the 
undecidability of the predicate calculus and 
its implications, resolution theorem proving 
and answer extraction (with a beautiful 
example, "Dr Coleman's wife"), and other 
formal systems such as modal, probabilistic, 
multivalued and fuzzy logics. While it is 
sometimes cursory and far from rigorous, 
this is easily the most readable approach to a 
sometimes forbidding topic that I have ever 
seen; every reader will appreciate it. 

The presentation of formal problem 
solving methods is followed up by a discus- 
sion of informal approaches. The paradigm 
used in Newell and Simon's General Problem 
Solver is presented and applied to . the 
"frame problem," that of updating a de- 
scription of the current situation as actions 
are taken, with an illustration of a robot 
moving through a room. The possibility of 
applying theorem proving techniques to the 
frame problem leads to a description of 
STRIPS, the problem solving system used in 
the robot "Shakey" at Stanford Research 
Institute. The chapter concludes with a 
discussion of the question, "Can a computer 
learn?", with illustrations taken from 
Samuel's checkers playing program and 
Winston's concept learning program at MIT. 

Raphael then turns to computer under- 
standing of natural language, and again 
provides a technical discussion of the 
methods without sacrificing reader under- 
standing. Phrase structure grammars, trans- 
formational grammars, and the difficulties 



208 



BYTE November 1977 



Circle 96 on inquiry card. 



Circle 143 on inquiry card. 



with these approaches are described, leading 
to a consideration of the interplay between 
syntax and semantics, and more recent 
approaches such as case grammars and con- 
ceptual dependency theory. Actual systems 
which understand English are reviewed, with 
a special emphasis on Winograd's very suc- 
cessful program, SHRDLU. The chapter con- 
cludes with comments on the promise of 
current research into speech understanding 
systems. 

Succeeding chapters deal with perception 
and picture processing, and robot systems. 
Techniques such as smoothing and sharpen- 
ing, finding edges and lines, and dealing with 
light and shadow are described in enough 
detail to give the reader an idea of how these 
things are done, with illustrations from the 
work of Guzman, Huffman and Waltz. The 
history of robots is reviewed, with examples 
from Ross Ashby's Homeostat, Grey. 
Walter's tortoises, the Johns Hopkins 
"beast," the MIT robot arm, and Meredith 
Thring's inventions. Then a case study is 
presented of Shakey, the SRI robot. 

The final chapter comments on "frontier 
applications" in which the fruits of Al 
research can be used to better our world. 
Examples are drawn from work in educa- 
tion, psychology and medicine, as well as 
other fields. The book concludes with an 
eloquent commentary on the potential for 
dehumanization and the promise of enrich- 
ment of our society posed by intelligent 
machines. The key, of course, is under- 
standing, and Raphael has made a real 
contribution to popular understanding of 
artificial intelligence research by writing this 
book. 

Dan Fylstra 

Hamilton Hall C-23 

Harvard Business School 

Boston MA 02163" 

The Anatomy of a Compiler by John A N 
Lee, D Van Nostra nd Company, New York, 
1974, 470 pages. Paper bound, $11.95. 

John A N Lee, a professor of computer 
science at Virginia Polytechnic Institute 
and State University, has written a book that 
bridges the information gap between the ele- 
mentary explanations of compilers which are 
usually found in the last chapters of intro- 
ductory textbooks, and the very abstract 
theoretical explanations, ie: those that 
speak in terms of "given a set S." Dr Lee's 
clear, precise prose possesses a great deal 
of flair leading the motivated reader from 
first principles to complex operations. 

This book is a "how to" book, abundant 



Tarbell 
Floppy Disc Interface 

Designed for Hobbyists and 
Systems Developers 



:\H\i T t*^^~~:SH nil 




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 IC 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 MITS, INC. 



20620 South Leapwood Avenue, Suite P 
Carson, California 90746 




(213) 538-4251 



VOLUME OHE 



3sl_ 

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: 



$6 



SOFTWARE RECORDS 

PO BOX 8401-B 
UNIVERSAL CITY, CA 91508 

(CALIFORNIA RESIDENTS: PLEASE ADD 6% SALES TAX) 



Circle 130 on inquiry card. 



BYTE November 1977 



209 



Circle 86 on inquiry card. 




2708 

TMS 2716 

EPROM/RAM 

VERSATILITY • Individual Addressing • Shadow alternates ROMwithRAM • External 
RAM disable • Optional IK on-board RAM • S100 compatible • Power-on jump or 
bootstrap capability • All sockets included 

MR 8 KIT For 2708 99.50 

MR 16 T KIT FOR TMS 2716 99.50 

EPROM (shown) not included 

FIRMWARE • 2K Monitor/Utility • Supports Tarbell cassette, paper tape • Now 
available for SIO. MIO, 3P+S, SIO 2 

MM 2K (two 2708 type EPROMS) 79.50 

MM2T (one TMS 2716 EPROM) 74.50 

EPROMS • Prime, full specification • programming available 

2708 type 1024x8 30.00 



TMS 2716 2048x8 



55.00 



MICRODESIGN 

679-1 S. State College Blvd., Fullerton CA 92631 
(714) 870-9860 



Tps -FINALLY, A 

PjrzyfK TELEPHONE 

.WITH BYTE! 



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 1K 
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. 



in explanation, striving to impress upon the 
reader the hows and whys of current day 
symbolic language definition and execution. 
Dr Lee places a great deal of emphasis upon 
the differences between compilers and inter- 
preters by emphasizing that compilers pro- 
duce separate code (object code) that is 
executed after the compilation phase of 
execution is finished; but interpreters 
execute the source code on a line by line 
basis which may not be optimal in terms of 
processor time. Compilers, as contrasted 
with interpreters, output object code to 
some intermediate storage medium for later 
execution. This means that execution of 
compiled programs is often more efficient, 
in terms of processor time, than interpretive 
execution each time the program is run. 
However, source code errors are more 
difficult to correct in compilers than similar 
errors in interpreters because there may not 
be a clear relationship between compiled 
object code and the original source code. 
Interpreters, on the other hand, by virtue 
of their line by line execution characteristic, 
retain a definite relationship between object 
code and source code. This simplifies the 
debugging of source code. As a result of 
these considerations, we may find an in- 
creasing interest in compilers among com- 
puter hobbyists as high speed mass storage 
devices become less expensive. 

Dr Lee also discusses, in great detail, 
lexical analysis and syntactical analysis. He 
explains that lexical analysis serves to re- 
move redundancy, condense statements and 
delimit phrases from the source code. Syn- 
tactical analysis serves to recognize phrases, 
parse statements and generate parsed text. 
After discussing symbol tables which are 
used by the compiler to reference symbols 
from the source code, he covers string 
manipulation and Polish string conversions 
in great depth. Program control also receives 
thorough treatment. 

Throughout the book Dr Lee draws pro- 
fusely upon examples of actual implemen- 
tations of the techniques he describes. 
Examples are taken from ALGOL, APL, 
BASIC, FORTRAN, PL/I, and other lang- 
uages, thereby avoiding the trap of pro- 
ducing a one language book. Also, much to 
the author's credit, the book is profusely 
illustrated with flowcharts illustrating the 
algorithms described. In summary, Dr Lee's 
book is clear, readable and certainly useful 
to the serious home computerist. Its wealth 
of practical information should be welcome 
to any computerist's bookshelf. 

Michael E Sullivan 

OZ Division USS Saratoga {CV-60) 

FPONY 09501" 



210 



BYTE November 1977 



Circle 129 on inquiry card. 






Glubssnd 
Newsletters 



SPC-1 2 Users' Group 

Anyone who would like to form an 
SPC-1 2 users' group in the Chicago area 
should contact Manuel C Martinez, 7706 W 
Gregory St, Chicago IL 60656, or call (312) 
631-6623. 



HP-65 Users' Club 



LICA 



This club was started to support the 
HP-65 programmable calculator, but now all 
modes are supported (HP-25, HP-25C, 
HP-55, HP-67, HP-97 and HP-65). The 
newsletter, called 65 Notes, is an excellent 
publication in which members (and even 
nonmembers) share programs, ideas, frustra- 
tions, etc. Even if you are not a program- 
mable calculator devotee (timesharers take 
note. . .) you'll find something here. For 
more information contact Richard J Nelson, 
editor, HP-65 Users' Club, 2541 W Camden 
PI, Santa Ana CA 92704. 



The Long Island Computer Association is 
a group of hackers, amateurs and even some 
pros in the Commack, Long Island area. The 
monthly meetings feature good speakers, fun 
and refreshments. The group publishes a 
newsletter called The Stack. Nonmembers 
are welcome to all meetings; bring the whole 
family! Write to Long Island Computer 
Association, c/o Dave Metal, editor, 28 
Splitrail PI, Commack NY 11725. 

Washington Amateur Computer Society 
(WACS) 



Stock Market Anyone? 

An association of persons who have a 
serious personal interest in using a micro- 
computer for stock and commodity market 
investment purposes is being formed. If 
covariance is more than just another word 
to you, send a brief note listing your desires, 
qualifications and market experience/in- 
volvement to J Williams, 2415 Ansdel Ct, 
RestonVA 22091. 

PACC 

Those of you in the Pittsburgh area 
should definitely consider getting involved 
with the Pittsburgh Area Computer Club. 
There are users' groups, displays, activities 
and socializing at the monthly meetings. 
Plan to be there to brag about your system 
or look at others' systems. Membership is 
$12 per year. Contact Ed Dehart, president, 
Pittsburgh Area Computer Club, 400 Smith- 
field St, Pittsburgh PA 15222, or call Kenn 
Marks at (41 2) 352-3412. 

Alamo Computer Enthusiasts 

This nearly brand new club in San 
Antonio TX meets on the fourth Friday of 
every month in room 104, Chapman Grad- 
uate Center, Trinity University. Call (512) 
532-2340 or 342-3874 for more informa- 
tion. Also, the ACE newsletter needs your 
input. If you are a brave soul with something 
interesting on your mind, send your idea to 
John Stanton, 7517 Jonquil!, San Antonio 
TX 78233, or phone (512) 657-3069. 



Every two months or so WACS sends us a 
rather impressive computer newspaper with 
items of interest to club members and non- 



Conducted by 
David Wozmak 



HOBBYISTS! ENGINEERS! TECHNICIANS! STUDENTS! 



Write and run machine language programs at home, display video graphics 
on your TV set and design microprocessor circuits — the very first night 
— even if you've never used a computer before! 

RCA C0SMAC microprocessor/mini- 
computer 



SPECIFICATIONS 

ELF II features an RCA 
COSMAC COS MOS 8-bit 
microprocessor address- 
able to 64k bytes with 
DMA. interrupt, 16 regis- 
ters. ALU. 256 byte RAM, 
full hex keyboard, two 
digit hex output display, 
5 slot plug-in expansion 
bus. stable crystal clock 
for timing purposes and a 
double-sided plated- 
through PC board plus 
RCA 1861 video 1C to dis- 
play any segment of mem- 
ory on a video monitor or 
TV screen. 



USE ELF II FOR . . . 
GAMES 

Play interactive keyboard games, 
games with analog inputs, games 
utilizing your TV set for a video 
display! 
GRAPHICS 

Create pictures, designs, alpha- 
numerics and fabulous animated 
effects on your TV screen for 
hour after hour of family fun! 
CIRCUIT DESIGN 
Design circuits using a micro- 
processor. Use ELF II as a 
counter, alarm system, lock, 
controller, thermostat, timer, 
telephone dialer, etc. The pos- 
sibilities are infinite! 
Coming Soon! 
Exclusive Netronics Plug-In 
Program Debugger and monitor 
allows visual display of any 
program on a clock pulse by 
clock pulse basis to help you 
learn programming 1-a-s-tl • 4k 
memory • Cassette I/O • D to 
A, A to D • Controller plug-ins. 




A THOUGHTFUL GIFT 

FOR ANYONE WHO MUST 

STAY UP TO DATE IN 

COMPUTERS AND 

ELECTRONICS' 



ELF 



ii 



$0095 



99 



— — mm a— _ _ — SEND TODAY 
NETRONICS R&D LTD., Dept. BYll 

333 Litchfield Road, New Milford, CT 06776 Phone (203) 354-9375 



Yes! / want to run programs at 
home and have enclosed: 
□ S99.95 plus $3 p&h for RCA 
COSMAC ELF II kit. Featured 
in POPULAR ELECTRONICS. 
Includes all components plus 
everything you need to write 
and run machine language pro- 
grams plus the new Pixie chip 
that lets you display video 
graphics on your TV screen. De- 
signed to give engineers practice 
in computer programming and 
microprocessor circuit design, 
ELF II is also perfect for college 
and college-bound students (who 
must understand computers for 
any engineering, scientific or 
business career). Easy instruc- 
tions get you started right away, 
even if you've never used a com- 
puter before! 

As your need for computing 
power grows, five card expan- 
sion bus (less connectors) allows 
memory expansion, program de- 
bugger/monitor, cassette I/O, A 
to D and D to A converters, 
PROM, ASCII keyboard inputs, 



controllers, etc. (soon to be 
available as kits). Manual in- 
cludes instructions for assembly, 
testing, programming, video 
graphics and games plus how 
you can get ELF II User's Club 
bulletins. Kit can be assembled 
in a single evening and you'll 
still have time to run programs, 
including games, video graphics, 
controllers, etc., before going to 
bed! □ S4.95 for 1.5 amp 6.3 
VAC power supply, required for 
ELF II kit. □ S5.00 for RCA 
1802 User's Manual. 
D I want mine wired and tested 
with the power transformer and 
RCA 1802 User's Manual for 
$149.95 plus S3 p&h. 
Conn. res. add sales tax. 

NAME 

ADDRESS^ 

CITY 

STATE_ 



_ZIP_ 



□ Send info on other kits! 
fKUrv A5UU :eypoarci inputs, Dealer Inquiries Invited 



Circle 103 on inquiry card. 



BYTE November 1977 



211 



Circle 55 on inquiry card. 




16K RAM 

FULLY STATIC 

INTRODUCTORY 
$450 KIT PRICE 



10SLOTTABLETOP 

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 






CPU'S , MEMORY 

MOTHERBOARDS 

PROTOTYPING BOARDS 

EXTENDER CARDS 

POWER SUPPLIES 



DEALER INQUIRIES INVITED 



SHIPPING EXTRA 



,1 
I 
I 
I 
I 
I 
I 
I 
I 
I 



ELECTRDMJC CONTROL TECHNQLDGV 

J 



P.O. BOX 6, UNION, NEW JERSEY 07083 
(201) 686-8080 



OTHER SURPLUS STOCK 

• KEYBOARDS -ASCII 
ENCODED $40.00-360.00 

• CRT TERMINALS 

• TAPE DRIVES $650.00 

• EQUIPMENT CABINETS 

• POWER SUPPLIES 




"We've Got It!!" 

A NEW ADDITION TO OUR STOCK OF 
SURPLUS ELECTRONIC EQUIPMENT 

The IBM Selectricf Based 
I/O Terminal $695.00 

• INTEGRAL MODEM 

• BCD OR CORRESPONDENCE CODE 

• TABLETOP MOUNTING 

• 22"W, 22"DX8"H,58 LBS 

• ASCII CONVERSION AVAILABLE 

• DOCUMENTATION INCLUDED 



PRINTERS 

TRANSFORMERS 

WIRE-CABLE 



/SfiV Send for a free catalog or call Bill Blaney 
y$f/ toll free 800-256-1036. In N.H. 603-885 3705 

WQFLQWIDE t_EL T l UniLb.ll I 

10 Flagstonu Drive, Hudson, New Hampshire 03051 



Many 
Other 
Items 



Visit Our 
Store 



members alike. It is printed in the form 
of a computer printout by a DECsystem-10. 
The club meets monthly; for specifics, 
write to Washington Amateur Computer 
Society, 4201 Massachusetts Av, Washing- 
ton DC 20016. 

6800 Users in San Jose 

Anything and everything to do with 6800 
microcomputers is of interest. Hardware and 
software are always on display by area 
hobbyists, and everyone is welcome. Meet- 
ings are on the first or second Tuesdays of 
each month. Contact the 6800 Computer 
Club at POB 18081, San Jose CA 95118 
for more information. 

The Chicago Area Computer Hobbyist's 
Exchange 

The montly publication of the Chicago 
Area Computer Hobbyist's Exchange is The 
Cache Register. This impressive newsletter 
has all the necessary club information, some 
great programs, convention news, editorials 
and so on. If you want club information, or 
would like to receive this newsletter, simply 
write Chicago Area Computer Hobbyist's 
Exchange, POB 36, Vernon Hills IL 60061, 
or call (312)849-1132. 

KIM-1 

The KIM-1 users' group has introduced 
The First Book of KIM, designed to help 
beginning KIM users. Introductions to pro- 
gramming, interfacing to KIM, games and 
utility programs are all covered. 

If you are a KIM-1 user/owner/soon to be 
owner, then the K/M-l /650X User Notes 
is for you. All kinds of helpful software and 
stuff is packed into this bimonthly. For 
more information, write K/M-1/650X User 
Notes, 109 Centre Av, W Norriton PA 
19401. 

South Florida Computer Group 

In the Ft Lauderdale/Miami area, meeting 
times vary. These people put out a news- 
letter with page numbers in binary. For 
information on joining the club or receiving 
the newsletter write to South Florida Com- 
puter Group, 1155 NW 14th St, POB 
236188, Miami FL 33123, or phone (305) 
324-5572, ext 45. 

RAMS 

The Rochester Area Microcomputer 
Society is a group of individuals with the 



212 



BYTE November 1977 



Circle 160 on inquiry card. 



Circle 99 on inquiry card. 



aim of advancing the spread of interest and 
knowledge in home computing. By bringing 
together professionals and amateurs, busi- 
nessmen and women, students, and just plain 
interested novices, the society acts as a focal 
point for the distribution of information and 
help in the field of microcomputing. 

RAMS meets on the second Thursday of 
every month at Rochester Institute of Tech- 
nology, building 9, room 1030, at 7:30 PM. 
Meetings usually include a guest lecture 
on some general interest topic relating to 
computers, and discussions by members of 
their own experiences. The "random access" 
sessions allow anyone with a question to 
draw upon the help of the entire group. 
Membership to RAMS costs $5 per year and 
includes a subscription to the club magazine, 
Memory Pages. For more information, or a 
free copy of Memory Pages, write to RAMS, 
POB D, Rochester NY 14609, or call Glenn 
Alexander, president, at (716) 377-0697. 

Tulsa Computer Society 

The TCS had an exhibit at the Woodland 
Hills CA Personal Computing Expo, and 
from the look of the photos in the TCS 
newsletter, it was a success. 

Mike McNatt, editor of The 10 Port (the 
newsletter of the TCS) has informed us that 
they would like to trade the 10 Port with 
other newsletters from other clubs. Write 
to Mike McNatt, c/o TCS, POB 1133, Tulsa 
OK 74101. 

1802 Users' Group in Ontario 

Here is another group of hackers who are 
building their own systems from the ground 
up using 1 802 chips with a kit similar to the 
Cosmac Elf. The club, numbering approxi- 
mately 300, is currently working on more 
memory and IO hardware, and is soon to 
start on monitor programs and BASIC inter- 
preters for the 1802. Write Tom Crawford, 
50 Brentwood Dr, Stony Creek, Ontario 
CANADA L8G 2W8. 

A Compucolor Users' Group 

The Compucolor Users' Group is dedi- 
cated to the exchange of programs and tech- 
nical data for the Compucolor color display 
system. They anticipate issuing a news bulle- 
tin periodically. Subjects such as how to 
concatenate tapes and disks will be covered. 
For each accepted program a member will 
receive a number of other programs in 
return. The initial membership fee of $10 
covers the duplication and mailing of mate- 
rials. Those wishing to join the group may 




'WHAT EVERY CP/M # USER NEEDS' 



BASIC-E MANUAL 

A 200-page User's Guide which provides detailed explanations of 
all BASIC-E capabilities. 

A comprehensive treatment of BASIC programming techniques. 
Includes a Glossary, Index, Vocabulary Summary, and Grammar 
Summary. 

CP/M SOFTWARE 

A disk containing over 40 programs, including: 

• BASIC-E compiler and two run-time monitors 

• Processor to transfer INT files 

• Disk track-to-track copier 

• I MSAI memory check program 

• ASCII to EBCDIC convertors 

• Letter writer, including name embedding and name-file 
management 

• Routine to control number formatting, e.g., total and decimal 
field width, floating $ and commas, etc. 

• Many improved games 



Phone: (415) 673-8962 
Write: John K. Jacobs 

JEM COMPANY 

Suite 301 

2555 Leavenworth St. 

San Francisco, Ca. 94133 

* A Product of Digital Research 



Manual Software 
Only Only 

$25 $60 



Manual & 
Software 

$75 



Terms: Cash with order. 
California residents add 6%. 
$2 for immediate first class 
mail delivery. 



Circle 60 on inquiry card. 



BYTE November 1977 



213 






Circle 151 on inquiry card. 



send the fee to S P Electronics, 5250 Van 
Nuys Blvd, Van Nuys CA 91401. Further 
information may be obtained by sending 
a large self-addressed, stamped envelope 
to the above address. 

Among the present programs are an 
illustrated version of blackjack, an excel- 
lent version of Star Trek, a slot machine, 
and more. For the most part the group 
tries to exchange recorded media rather 
than program listings. Anyone interested 
is welcome to write. 

Central Pennsylvania Computer Club 

The Central Pennsylvania Computer Club 
is now forming for people who are interested 
in all aspects of computers, both large and 



MW and IRC 



$830 




ADM-3A ^— — -~ 

Display: 24 Lines, 1 920 Characiers 
» Addressable Cursor 

Keyboard may be cleared remotely 
» hAa Bell Compatible 



Terminal Systems Inc. 

11300 H48HAH0 STREET. NORTH HOLLYWOOD, CALIFORNIA 91605 
2t3- 769*772 415-573-7723 Toll Free outside of California 800 ■ 123 2* 



• H0 — 30cps, 132 CHARACTERS 

• Upper — Lower Case 

• RS232C Compatible 
•9x6 Dot Matrix 

• Height 5 'A", Width 18", Depth 21 W\ 

Weight 30 lb. 
Sales — Service — Renfals 

For further information call John Storm 



For All your Mini Computer and Tele-Communicafion Needs 



small. People in the Philadelphia, Pittsburgh, 
Baltimore or New York area are invited to 
contact either Joseph Pallas, 1979 Crooked 
Oak, Lancaster PA 17601, (717) 569-3137, 
or David M Ciemiewicz, 533 N Holly St, 
Elizabethtown PA 17022, (717) 367-6512. 
They are seeking material for their News- 
letter, the Data Dump. 

Montreal Area Computer Society 

Over the past year, the Montreal Com- 
puter Society has grown from 12 members 
to over 90! The club meets once a month, 
usually on second Tuesday evenings at 
Vauiev College, 5160 Decarie Blvd. For 
further information, contact John Erikiev, 
president, at (514) 932-2344, or write 
Montreal Area Computer Society, POB 
613, Stock Exchange Tower, Montreal, 
Quebec CANADA. 

Space Coast Microcomputer Club 

The second edition of the Space Coast 
Microcomputer Club Newsletter has an 
interesting feature by Paul Rainosek: a 
tabulated comparison of some of the 
different microprocessor chips available. 
The various advantages and disadvantages 
are clearly listed. Included are the Intel 
8080, Motorola M6800, MOS Technology 
6502, Fairchild F8, Signetics 2650, and 
Cosmac 1802. To find out more about the 
Space Coast Microcomputer Club, contact 
Ray Lockwood, 1825 Canal St, Merritt 
Island FL 32952. 

Officially LACC 

The Louisville Area Computer Club 
(LACC), formerly Louisville Users of Micro- 
processors (LUMP), hereby mentions the 
fact that the club has a new name. So, those 




DAJEN Electronics 

7214 Springleaf Ct. 

Citrus Heights, Ca. 95610 

(916) 723-1050 



HIGH-SPEED CASSETTE INTERFACES (The 

CRI-B 

All I Need!!! 
Universal I/O Interface 

High-speed cassette, two relays for con- 
trol of two recorders; space for three 
2708's, one provided, with monitor soft- 
ware, 2708 programmer; reset-jump; 
ram for stack; RS-232, 20 ma, 60 ma, 
serial; 3 parallel ports; speeds from 20 
to 19,200 baud. 

Kit $285. Assembled, tested $345. 
Mastercharge, BankAmericard, Visa 



600 to 12,000 baud status 
controls, 1K monitor with 
cassette routines provided 
on tape. 



Stringy Disk) 

UCRI 






Biphase, Kansas-City, Altair, IMSAI, Poly, Tar 

Kit $120, Assembled $165 
Manual $3.50 



Relay control of two re- 
corders, latched input port 
for keyboard, tape reader, 
etc. File-search capabilities. 

bell compatible 

Kit $135, Assembled $175 
Manual $4.50 



214 



BYTE November 1977 



Circle 42 on inquiry card. 



Circle 106 on inquiry card. 



of you who have been looking for "LUMP" 
meetings should now go to "LACC" meet- 
ings. These are held on the first Saturday 
of each month at 1 PM (usually). Check 
with this address for the locations: LACC, 
1 1 5 Edgemont Dr, New Albany IN 471 50. 

An F8 Users' Club 

A group of Fairchild F8 users has started 
in the Hartford CT area. They have three 
F8s built and running with two systems 
having 5 K and 16 K memory, and are 
interested in contacting other F8 users who 
would be interested in exchanging informa- 
tion and programs. Contact G W Hemphill, 
132 Scott Swamp Rd, Farmington CT 
06032.- 



The First Annual Micro-Chess Tournament 

The first annual Micro-Chess tourney will 
be held in Louisville KY in August of 
1978, sponsored by the Louisville Area 
Computer Club. To put on a really fair 
tournament the club is in the process of 
drawing up the rules and regulations. The 
preliminary rules are: 

• Competition limited to approved 8 bit 
microprocessors; no bit slice machines 
will be allowed. Other microprocessors 
will be considered. Send request with 
stamped, self-addressed envelope to 
address below. 

• Programs can be in either machine 
language or a higher level language. 

• 16 K 8 bit words memory maximum. 
(9 bits if parity is used.) 

• Homebrew machines and commercial 
machines allowed. 

• Machines may be loaded from any 
media but after the program is oper- 
ating the loading device must be de- 
tached. 

• A panel of judges will rule promptly 
on program crashes or other unex- 
pected problems. 

• Competition will be timed. 

The 1979 Micro-competition will allow 
up to 32 K bytes of memory; the 1980 will 
allow 64 K bytes (65,536 bytes) of memory. 
The sponsoring committee reserves the right 
to alter the rules to meet unforeseen situa- 
tions. First, second and third place prizes 
will be awarded. For further -information 
write: Louisville Area Computer Club, 3028 
Hunsinger Ln, Louisville, KY 40220." 



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. 




'UNRETOUCHED PHOTOS 

FOR FURTHER INFORMATION 
AND PRICING, CONTACT: 

OBJECTIVE DESIGN, INC. 

P.O. BOX 20325 TALLAHASSEE, FL 32304 
(904) 224-5545 




THE PROM SETTER 

WRITE and READ 
EPROM 

1702A and 2708 
Plugs Directly into your ALTAIR/IMSAI Computer 

Includes Main Module Board and External EPROM 
Socket Unit- ^\s\ 

Software included f ' cO^O 

• No External Power Supplies, Your 



xtei^does 



• Programs and Reads Both 1702 A and 2708 EPROMS 

• Doubles as'an Eight Bit Parallel I/O 

• Manual included 

KIT COMPLETE — $210 
ASSEMBLED — $375 

Delivery Less Than 60 Days 

SZERLIP ENTERPRISES 

1414 W. 259th St. — Harbor City California 90710 
California residents pluasv add 6% sales lax. 



Circle 142 on inquiry card. 



BYTE November 1977 



215 






Continued from page 22 



Listing 1: Most of the lunar landing games I 
have seen are not flexible enough to run a 
two degree of freedom real time simulation 
as described in this article, so I have included 
this listing. At each initialization, this 
program finds a random set of starting 
conditions (speed, position, mass, etc) that is 
consistent with a safe landing. It then keeps 
track of speed, position and fuel con- 
sumption, printing them as required, and 
indicating when the surface has been 
reached. The following adjustments will have 
to be made by each user: 

7. Function USR(X) must be provided to 
return the current desired thrust 
settings, to 100% in the vertical 
direction, and - 1 '00 to +100% in the 
horizontal direction. These inputs are 
best achieved by analog to digital con- 
version from joysticks or slide pots. 

2. The step size and print interval must 
be adjusted for your system clock and 
peripheral speed in order to simulate 
real time operation accurately. 

3. Function RND(1.) is assumed by the 
program to return values between 0. 
and I. Alterations may be necessary 
to suit your version of BASIC. 

4. The comments printed by the program 
have deliberately been kept short. A 
better game could be fashioned by 
adding instructions, comments on 
performance, low fuel warning, etc. 
In other words, customize the simula- 
tion to suit your own tastes. 



program should check for end conditions 
and, if none are found, begin another step. 

The speed of a computer makes it 
possible to find results quickly for times far 
into the future, even if the step size is quite 
small. This is fortunate, because as our simu- 
lation stands now, an error is introduced at 
each t step that becomes worse as the step 
size becomes larger. The error occurs 
because in a real LEM the mass and speed 
are changing all the time, but in our simula- 
tion they can be changed only between 
steps. A variety of numerical methods 
have been developed to cope with this 
problem. In our example, simply using 
the average of the beginning and ending 
values in each step would be quite effective. 
Actually, if the step size is small, say 0.01 
seconds, even this is not necessary. It is true 
that by using the average values the program 
could be made to run faster, but it would 
also need to store several extra variables, 
require more lines of code, and use more 
memory. Obviously, there are trade-offs to 



010 REM LUNAR LANDING SIMULATION 

020 REM SET FUEL SAFETY FACTOR 

025 REM ADJUST TO CONTROL DIFFICULTY 

030 LET S= 1.3 ' 

040 REM SET STEP SIZE AND PRINT INTERVAL 

050 LETD=0.01 

060 LETK=1.0 

070 REM SET GRAVITY ACCELLERATION 

080 LET G= 1.62 

090 RANDOMIZE 

100 REM SET NEW STARTING CONDITIONS 

110 LETM=1024.+1024.*RND(1.) 

115 PRINT "LEM MASS =",M 

120 LETF=G*M*(4.+4.*RND(1.)) 

130 PRINT "MAX THRUST =",F 

140 LET A=1.333*F/M-G 

150 LETV=F/M*64.*RND(1.) 

160 LETU=0. 

170 LET Y=V**2./(2.*A)*(1.+RND(1.)) 

180 LETX=V 

182 REM V IS VERTICAL SPEED 

184 REM U IS HORIZONTAL SPEED 

186 REM Y IS VERTICAL POSITION 

188 REM X IS HORIZONTAL POSITION 

190 REM HALF OF MASS IF FUEL 

192 REM M-P IS FUEL REMAINING 

200 LETP=M/2. 

210 REM FIND FUEL BURN RATE, I 

220 LETI=(2.*Y+V**2./G)/(1.+A/G) 

230 LET I=P/(SQR(I/A)*F*S) 

240 PRINT "ALTITUDE, SPEED, FUEL, RANGE" 

250 REM BEGIN DECENT CALCULATIONS 

260 PRINT Y, V, M-P, X 

270 LETT=0, 

280 IF M=P THEN 360 

285 REM GET VERTICAL THRUST 

290 LETA=USR(1.)*F/100. 

300 REM GET HORIZONTAL THRUST 

305 LET B=USR(2.)*F/100. 

310 LETM=M-(A+B)*I*D 

320 IF M>P THEN 360 

330 PRINT "FUEL EXHAUSTED" 

340 LETA=0. 

342 LETB=0. 

350 LETM=P 

358 REM PREDICT NEW U, V, X, Y 

360 LET V=V+D*(G-A/M) 

370 LETU=U+D*B/M 

380 LETY=Y-V*D 

390 LETX=X-U*D 

395 REM TEST FOR END CONDITIONS 

400 IF Y<4. THEN 440 

410 T=T+D 

420 IF T>K THEN 260 

430 GOTO 290 

440 PRINT "MODULE HAS LANDED" 

450 PRINT "SPEED =",V 

460 PRINT "RANGE =",X 

470 IF V<8. THEN 500 

480 PRINT "BETTER LUCK NEXT TIME" 

490 GOTO 110 

500 IF X<128. THEN 530 

510 PRINT "ITS A LONG WALK TO BASE" 

520 GOTO 110 

530 PRINT "CONGRATULATIONS, GOOD LANDING" 

540 GOTO 110 

550 END 



be made among speed, accuracy, complexity 
and size. In each simulation, the programmer 
must decide which combination is best. 

For our games application, the combina- 
tion is not critical. A high degree of accuracy 
is not required, and the program is short 
enough that memory requirements should 
not be a problem. The selection of speed, 
.however, presents an opportunity that 
is unique to the user of a dedicated system. 
With a little trial and error, it should be 
possible to find the step size which causes 
your system to take exactly 1 second to 
calculate and display the speed and position 



216 BYTE November 1977 



Circle 131 on inquiry card. 



BUSINESS APPLICATION SOFTWARE 



MINI WORD PROCESSING (MWP) enables the 
user to prepare letters, text and mailing labels or 
envelopes. When used for correspondence pro- 
cessing, MWP allows each entry in the name/ 
address file to be described by a number of group 
codes and document codes. For example, an 
entry could be group coded by date and inquiry 
type. Phrases, paragraphs or pages can be spe- 
cified as document codes to produce an indivi- 
dualized letter for each name/address. MWP 
provides in-line editing and page or phrase in- 
sertions during text generation. The letter and 
text output modules provide text insert or re- 
placement, margin control and page numbering. 

DISK SORT supports fixed or variable length 
sequential files of any size and will sort or merge 
on any number of keys anywhere in the record. 



An interactive generator allows the user to define 
a customized sort/merge program for each task. 
Multiple sort/merge tasks can run unattended 
with user defined job-stream links (eg. sort 12 
files, merge them with another sorted file and 
link to your report program}. Memory and disk 
space are managed by the system to minimize 
processing time. 



UNIVERSAL DATA ENTRY (UDE) system inter- 
acts with the operator to generate custom key- 
to-disk modules. User defined displays provide 
"fill in the blanks" simplicity Validation pro- 
cedures such as check digits, value tables, range 
tests, batch totals and record counts improve 
data quality. Selectable field duplicate or incre- 
ment eliminate repetitive entries. UDE supports 
fixed or variable length disk files. Specialized Master Charge 



UDE modules can be generated for any applica- 
tion that requires keyed input. 

The above systems are extremely easy to use and 
include carefully created prompts and error re- 
covery, well written user manuals with varied ex- 
amples and extensively documented programs 
with detailed remarks. Each of these systems is 
priced at $195. The programs are supplied on 
diskette and run under MITS Disk Extended 
BASIC. See your computer dealer or contact us. 



THE SOFTWARE STORE 

706 Chippewa Square 
Marquette, Ml 49855 



906/228-7622 



VISA 



1 second into the future. One machine 
might do 100 steps of 0.01 seconds and then 
print the speed, etc. Another might do 64 
steps of 0.015625 seconds before displaying 
new results. Still another, with slow 
peripherals, might output speed and position 
only once every 2 or 3 seconds. In any case, 
as long as the simulated data appears at 
the same time that real data would, your 
system will be said to be running a real time 
simulation. A real time lunar lander game 
gives you exactly the same time to react as 
would be given a real excursion module 
pilot. 

To help you implement this idea on your 
own system, a BASIC language program has 
been included with this article as listing 1. 
It should be easy to follow, but a few points 
are worth explaining. At each step the pro- 
gram will need to obtain the thrust settings. 
This is done through a function called USR. 
Because systems differ widely, the content 
of USR is left to you. Some systems will be 
able to use a register to hold the thrust; 
others will access memory location; and 
some may have to query an input port. Also 
left to the user is the manner in which the 
thrust settings are updated. Obviously, they 
cannot be entered at the keyboard for each 



0.01 second step. The keyboard could be 
used via an interrupt routine however. 
Ideally, you could implement Thomas 
Buschbach's joystick interface (March 1977 
BYTE, page 88) to allow continuous control 
of thrust in both degrees of freedom. What 
began as a simple game will now have 
become a real time lunar landing simulator 
requiring quick thinking and a good bit of 
practice to master. 

If you use this idea then my article will 
have succeeded in its purpose of introducing 
some of the basic concepts of simulation. 
Techniques like separating the problem 
into degrees of freedom, determining the 
effect of each force separately, and stepping 
the simulation into the future are all 
fundamental to any prediction of motion. 
The differences between this lunar lander 
game and the complex simulations used in 
the space program lie in the way forces 
are determined and in the numerical 
methods used to calculate speed and posi- 
tion. In future articles, other applications 
for simulation on microcomputers will be 
discussed as a means for demonstrating some 
of those advanced techniques. For now, 
try applying the ideas presented here to 
create a game of your own." 



6800 REFERENCE GUIDE 






FOR PROFESSIONAL AND HOBBYIST 
The TOOLyou have been waiting for. A 6800 Reference Data Guide (similar to the IBM green card) 
containing just about every piece of pertinent information that you are currently spending valuable 
time searching for. The guide saves TIME, EFFORT and WORK SPACE when programming, debug- 
ging and utilizing the 6800 system. 

Included are INSTRUCTIONS, SPECIAL OPERATIONS, HEXADECIMAL/DECIMAL CONVERSION 
TABLES, code translation tables for MACHINE CODES/MNEMONICS/ASCII/HOLLERITH/BI- 
NARY, 6800 MPU, 6820 PIA, 6850 ACIA and almost everything else that will increase your pro- 
ductivity. TRY IT, YOU'LL LOVE IT. 

Send $4.95 plus 35£ shipping and handling to: 
MICRO AIDS, P.O. Box 1672, St. Louis, Missouri 63011 



Circle 84 on inquiry card. 



BYTE November 1977 



217 









Pseudorandom 
Number Generator 



Daniel Grieser 
4326 Kenny Rd 
Columbus OH 43220 



The following algorithm for generating 
a pseudorandom number is based on the 
"power residue" method described in an 
IBM Data Processing Techniques bulletin. 
The modification presented here preserves 
the brevity of the power residue approach 
and yields 256 8 bit numbers before re- 
peating. Any seed, including zero, can be 
used prior to initializing the sequence. The 
algorithm is simply stated: to obtain the 
next random number, multiply the previous 
number by 13 and retain only the least 
significant 8 bits of the product, then add 1 
to the product yielding the new random 
number. In an 8 bit microprocessor this is 
accomplished by a series of shifts and 
additions. 

Listings 1 and* 2 give an 8080 and a 6800 
version of this algorithm, requiring 16 and 
15 bytes of storage, respectively. Both are 
simple subprograms which execute straight 
through without any loops. ■ 



Listing 1: An 8080 version of the random number routine. This routine uses 
registers of the processor as temporaries, and places its result in memory loca- 
tion RND. Multiplying by the number 13 is accomplished with shifts and 
additions without any looping by noting the identity: 

13xN = Nx2 3 + Nx2 2 + N 
The power -of -two factors are generated by left shifts. 



Address 


Hexadecimal Code 


Label 


Op Code 


Commentary 


00 00 


21 OF 00 


ENTRY 


LXI H.RND 


Point to RNDM # storage. 


00 03 


7E 




MOV A.M 


Retrieve last random #. 


00 04 


87 




ADD A 


Shift left once. 


00 05 


87 




ADD A 


Shift left again. 


00 06 


4F 




MOVC.A 


Store briefly. 


00 07 


86 




ADD M 


Add unshifted number. 


00 08 


77 




MOV M,A 


Store the sum. 


00 09 


79 




MOV A f C 


Retrieve the temporary number 


00 0A 


87 




ADD A 


Shift left. 


00 0B 


86 




ADD M 


Add the sum again. 


00 OC 


3C 




INR A 


Increment the sum. 


00 0D 


77 




MOV M, A 


Store the new random number. 


00 0E 


C9 




RET 


Return to calling program. 


00 OF 


XX 


RND 


BS 


Random number storage. 



Listing 2:The equivalent routine specified for a 6800 processor. Note that for 
both the 8080 and 6800 versions, the code is completely position independent 
so the absolute object code shown can be used without any modifications. 

Address Hexadecimal Code Label Op Code Commentary 

ENTRY LDABRND Load B with last RND #. 



00 00 


F6 00 0E 


00 03 


17 


00 04 


58 


00 05 


58 


00 06 


1B 


00 07 


58 


00 08 


1B 


00 09 


4C 


00 0A 


B7 00 0E 


00 0D 


39 


00 0E 


XX 



RND 



TBA 


Copy B into A. 


ASL B 


Shift B left. 


ASL B 


Twice. 


ABA 


Add to A. 


ASL B 


Shift again. 


ABA 


Add to A. 


INC A 


Increment A. 


STAA RND 


Store result as new 


RTS 


RNDM #and return. 


RMB1 


Random # storage. 




DISKETTE 
CASE 

Attractive 

Durable Plastic 

Easy Handling & Safe Storage 

FREE with every 10 Diskettes. 

DISKETTES: Shugart 800, Altair, 

Helios, OSI, Digital Systems, 

IMSAI, Innovex @ $5.50 

MINI-DISKETTES: Northstar, For- 
trans IV, Smokey Signal, Metropo- 
lis, Shugart SA400 @ $4.25 

Immediate Delivery from Stock 
Bank Americard / Master Charge 



MANCHESTER EQUIPMENT CO. 

120 Bethpage Road 

Hicksville, N.Y. 11801 

Call Collect: (516) 433-0613 



Circle 13 on inquiry card. 

218 BYTE November 1977 



INTRODUCING NEMESIS 7- • 

THE GAME WITH THE BRAIN 

Tiie firsi of a series of handheld computerized 
ga.xes using "State- of the Art" technology 

Nemesis7 electronically duplicates exactly the ancient game 
of Nim. I'ebbles were arranged into 3 columns of 7, 5, & 3 
pebbles each. I'lay alternated witli an opponent. Each could 
remove any or all pebbles from a column but could manipulate 
only one column per move. The loser Look the last pebble. 

Your respectable opponent In Nemesls7 is a fixed progr m 
computer consisting of a custom designed LSI computer chip 
or. circuit. To win Is extremely difficult but possible. 
Human opponents are also permitted. 

Easy to assemble kit Includes all parts (except battery) 
including custom MOS computer circuit, 1'C board fc case. 

Some soldering required $ 9.9S 

Kit that requires no soldering $14.95 

Complete factory assembled g;we $16.95 

UaLlcry extra <9V transistor radio) $ 1.50 

Include $1.50 shipping Nevada residents add 3*i F'ST 

Send check or nioney order to: 

Computer Creations Inc. 

118 West 2nd Street; Reno, Nevada; 89501 



SURPLUS 




BARGAIN 

+ 5V @ 8.5A - 12V @2A 

+ 12V@2.5A +180 V@ 150 ma 

+30V @ 200ma (unregulated) 
-6.2V @ 25ma (no adj. pot) 

Brand new, made by CDC for 
microprocessor terminals. 110VAC 
in, regulated and adjustable DC 
outputs. Overvoltage protected +5, 
-12. Power status signal. Fan. 
Schematic. Original list $600+. 
From stock, UPS paid, custom foam 
box, guaranteed. $50.00 

ELECTRAVALUE INDUSTRIAL 

BOX 464 

Cedar Knolls, NJ 07927 

(201) 267-1117 



Circle 26 on inquiry card. 



Circle 53 on inquiry card. 



« ^CATCH-APULSE II 

C LOGIC PROBE m 




• Open circuit detection 
^^t. • Replaceable tipfi cord 

^^^^r., * High input impedance 



*$M&& * Pulse stretching 
■^Jfc^ • Multi-fi 

10 Nsec SPEED AT 3.5 to V 4£ 



Multi-family 



ONLY 



I 0.3 IU %^A 

$39.95 ^ 



15\J LEVELS 

Compatible with 
RTL, DTL, TTL, CMOS. MOS, and Microprocessors 
using a 3.5 to 15V power supply. Thresholds automati- 
cally programmed. Automatic resetting memory. No 
adjustment required. Visual indication of logic levels, 
using LEDs to show high, low, bad level or open circuit 
logic and pulses. Highly sophisticated, shirt-pocket 
portable (protective tip cap and removable coil cord). 
Eliminates need for heavy test equipment. 
Send S39.95 A definite savings in time and money 

(Calif residents add for engineer and technician. 

6%SaleStax]tu: <£>-• i y.y PalP«ml Dealer iflquinKwelCoine 

/lU^ELECTRONICS 

Box 19299, San Diego, C A 92119, (714)447-1770 



Circle 6 on inquiry card. 



The 

Computer 

Place 

Alpha Micro 

Processor Technology 

Huefistics 

KIM 

NorthStar 

TDL 

Industrial Microsystems 

We service what we sell. 



186 Queen St. W 

Toronto, Canada M5V 1Z1 

(416) 598-0262 Telex 06-22634 



Circle 35 on inquiry card. 



* GENERAL LEDGER 

% for 8080 

♦ 

X Compatible with: 

••♦ MITS Basic 

% & 

* I MSA I 8080 

•> Price $300.00 



Send to: 

Arrow Computer Service 

P.O. Box 271 
West Jordan, Utah 84084 

Or call: 801-268-0130 



Circle 14 on inquiry card. 




New... 
a breadboard 

for your 
Altair Imsai. 



HTC88P kit $138 

write today for specs 
Homestead Technologies Corp. 

891 Briarcliff Rd. NE Suite B-1 1 
Atlanta, Georgia 30306 

dealers please inquire 



Circle 64 on inquiry card. 



^^r^^*« 






^r=r-^^g§iiy ^|||g£^^--=r=rr- 




CANADIANS! 

Eliminate the Customs Hassles. 


^^^^Hb^^^^^^ 


*' IT'S A GREAT BIG COMPUTER WORLO 

~^~ But You Only Need 




Save Money and get Canadian 




Warranties on IMSAI and S-100 


-w-THE COMPUTER CORNER^ 

>h ~ # SOL - A New Dawn Is Here! -i4- 




compatible products. 






+*~ "IMSAI 8080 -*- 




IMSAI 8080 KIT $ 838.00 


~*~ •POLY -88 _K_ 

~*~ *TDLZ-80 -W- 




ASS. $1163.00 


"^ • Memories & I/O Boards -M- 




(Can. Duty & Fed. Tax Included). 


->f- •Computer Book Service ^ 




AUTHORIZED DEALER 


-►j— •Magnetic Tapes & Disks \^ 
->f- • Full Line of Magazines ^ 




Send $1.00 for complete IMSAI 


->j— • Brain Games & Puzzles ^ 




Catalog. 


-►f- *Workshops & Club Information ^ 




We will develop complete applica- 


~y~ Visit THE COMPUTER CORNER for 
_ all your computer needs. Stop in and * 




tion systems. 




Contact us for further information. 


browse — you II like our personal service. 




o 


THE COMPUTER CORNER [4 




^lx 


White Plains Mall - Upper Level 
W 200 Hamilton Avenue '^ 
pi White Plains. New York 10601 — 1+- 




Rotundra JMk 


H Tel: (914) WHY -DATA -++- 
-♦*" Ample Parking "^f- 




Cybernetics mAMl 


^ 10-6 Daily & Saturday ^V 
* j/ , 10-9 Thursday \>W 




Box 1448, Calgary, Alta. T2P 2H9 




Phone (403) 283-8076 



WANTED: 

Adventuresome 

Souls 
For New Horizons. 

Horizon 1 Kit $1439 
Horizons Kit $1799 

Cash Discount Prices 

We also sell IMSAI, 
Cromemco, TDL, Vector 
Graphic, Polymorphic, Seals 
George Risk Industries and 
others. Call for Catalog Now. 
(315)637-6208 

computer 
cm&priic/™ 

P.O. Box 71 • Fayetteville, New York 13066 



Circle 29 on inquiry card. 



Digital Group 

System owners now have available the 
finest Z-80 software ever produced. By 
an exclusive agreement with TDL we are 
able to release all their fabulous software 
ready to run in your DG System. 

Here's what you've been waiting for- 
complete. user-oriented software! The 
following programs are available now! 

Zapple Basic $40 

Super Basic $79 

Macro Assembler $40 

Text Editor $30 

Word Processor $40 

System Monitor $20 

And soon, a Fortran IV Compiler. 

You owe it to yourself to find out. Don't 
let your hardware be under-utilized. 
Order now or send for our complete cata- 
lo 9 Bye Maxi • Hello Super 

| ■JMCRD-CDCT 

P.O. Box 4069 Pompano Beach, Fla. 33063 
Circle 85 on inquiry card. 




South Florida 



Sunny Computer 
Stores, Inc. 

South Florida's First Computer Store 
WE CARRY: 

• ALPHA MICRO SYSTEMS, 
MICRO FILE, IMSAI 

• BOOKS, MAGAZINES, 
NEWSPAPERS 

• FULL SERVICE 

• SOFTWARE 

• WRITE OR PHONE US FOR 
PRICES 

MORE THAN JUST TOYS 

Monday 1 2 noon — 9 pm 

Tues.-Fri. 10-6 

UNIVERSITY SHOPPING CENTER 
1238A SOUTH DIXIE HIGHWAY 
CORAL GABLES, FLA. 33146 

(305)661-6042 



Circle 25 on inquiry card. 



Circle 123 on inquiry card. 



Circle 139 on inquiry card. 

BYTE November 1977 



219 




GRAPLing with APL 



William Leler 
Visual Comforts Etc 
Box 2671 
Houston TX 77001. 



William Leler sent us the following letter 
detailing his thoughts about APL and 
GRAPL. The latter is a new language Mr 
Leler is currently helping to develop. 

I have used APL professionally for many 
years, implementing such things as Jay 
Forrester's simulation of the world and a 
graphics animation package with which I 
have produced several movies. But there are 
many severe limitations to APL, some of 
which become critical on small systems 
like the typical microcomputer. A few of 
these are: 

• All arrays in APL must be homogeneous, 
ie: all elements must be of the same type. 
Since APL does not allow data structures 
(like PL/I or COBOL), it is sometimes 
difficult to define variables that are con- 
venient to manipulate. This results in 
more computer time being spent getting 
the data into an array for a simple APL 
matrix multiply than the time required to 
actually perform the multiply. 

• APL simulates operations in parallel so 
well that there are no constructs for oper- 
ations serially (such as a looping con- 
struct). This leads to much wasted com- 
putation (ie: testing all elements of a 
character vector to see if they are equal 
to a space when all you really want to do 
is find the first nonblank character). This 
may not mean much on, say, the IBM 
370, but it slows a microcomputer down. 

• APL is terrible for dataset management. ' 

• APL has no interrupt action other than 
the ability to break to the terminal user. 
This requires explicit tests to be included 
for such things as zero divides, etc. There 
have been patches for this, but they are 
hard to use. 



• Since APL creates and destroys large 
arrays frequently and at random, storage 
management must be done with some 
sort of free space list (which eats up 
storage) and a garbage collector with full 
compaction of free space (which really 
eats up time). This means that, while on a 
large system most FORTRAN or PL/I 
programs will completely fit in 128 K, 
an APL program is given (normally) 64 K 
bytes just for data and a symbol table, 
not to mention the space occupied by the 
APL system. 

• Almost no translation can be performed 
on APL code. Every time a variable name 
isencountered, it must be looked up in 
the symbol table. A lot of wasteful data 
checking must be done before the simp- 
lest operation can be performed. 

• Character handling in APL is clumsy and 
difficult to code. Only with great effort 
can APL code be made self-documenting. 
Trying to decipher old code (even my 
own) quickly leads to the funny farm. 

But APL has many great features, several 
of which I wish would be available on a 
microcomputer. I have found many of these 
features in a language called GRAPL. 
GRAPL at first looks similar to APL, but 
there are changes and improvements, far too 
many to list here. But just to begin: 

• GRAPL uses symbolic operators (like 
APL), but GRAPL uses the standard 
ASCII character set with no overstrikes. 
The large set of operators is derived by 
allowing two character operators. 

• APL execution is from right to left; 
GRAPL is from left to right. No oper- 
ators have precedence over others. 

• GRAPL is block structured like ALGOL, 



220 



BYTE November 1977 



REMEMBER 
16K 

ASSEMBLED AND TES7E0 

S520 
Features; 

STATIC OPERATION 
ACCESS TIME ? f> On s 
S100 BUS COMPATIBLE 
LOW POWER TYPICALLY 

?DSn,.i it 

I0 5m,i 16 v 
2 4m„ Ibvnt'o 



AVATAR SYSTEMS 



3B30 SWENSON 
BOX 223 

LAS VEGAS NEV 89 109 
17 2) 73 3 8304 



BVTESHDP 

the affordable computer store 
7825 BIRD ROAD Q F 



(305)264-2983 
DIAL264-BYTE 



MIAMI 



WE HELP YOU GET YOUR SYSTEM 
UP AND RUNNING. 



MEMORY EXPANSION 
COLOR TV GRAPHICS 
LEAR SIEGLER ADM 3 
PAPER TAPE READER 



IMSA18080 

BYTE-8 

SWTP MP68 

CROMEMCO 

PROCESSOR TECH 

INTERFACES {KITS or ASSEMBLED UNITS) 

IN FORT LAUDERDALE 

1044 E Oakland Pk Blvd 
(305) 561-2983 




Disc/3 



DISC/3 COMPANY 

COMPLETE MICRO 
BUSINESS SYSTEMS 

Soroc IQ 1 20 
(assembled $899.95) 

Lear Siegler $ 799.95 

ADM-3A kit 
IMSAI 8080 kit $ 599.95 

Centronics Business $1145.00 

Printer (132 columns) 



Disc/3 



DISC/3 COMPANY 

1840 LINCOLN BLVD. 

SANTA MONICA, CALIF. 90404 

(213)451-8911 



Circle 7 on inquiry card. 



Circle 1 9 on inquiry card. 



Circle 48 on inquiry card. 



TYSONS CORNER, VIRGINIA 
(WASHINGTON. DC. AREA) 

THE 

COMPUTER SYSTEMS 
STORE 

"Specializing in Systems" 



FEATURING: 



Processor Technology 

Poly Morphic 

Diablo 

E&L 

Vector Graphics 

Apple 

CROMEMCO 



Lear Siegler 
DEC 

SWTPC 

Seals 

Digital Group 

TDL 

Books — Magazines 

COMPUTERS FOR HOME. SCHOOL. & SMALL BUSINESS 
Our staff will help you select from Ihe best of each manufac- 
turer to complete the system best suited to your needs. 

SPECIAL: LEAR-SIEGLER ADM 3A 



CSS 



CDfTIPUTER SVSTEfTIS STORE 



1984 CHAIN BRIDGE ROAD.McLEAN, VA. 22101 
TELEPHONE (703) 821 -8333 

OPENING SOON 
ALEXANDRIA. VA . NORFOLK.VA "BALTIMORE MD 'ORLANDO FLA 



Washington D.C.'s 

Newest Computer Store 

301-565-2711 

Intelligent 
Business 

Machines, Inc. 



Cromemco, IMSAI, 
TDL, Administrator I, 
SEALS, DIP Chips, etc. 

Come see us at 

938 Ellsworth Dr. 

Silver Spring, MD 20910 

301-565-2711 



Microcomputer 



systems, peripherals, custom 
programs for business, service, 
sound counsel on equipment 
selection. 

We stock IMSAI, ICOM, 
Technical Design Labs, Vector 
Graphics, Heuristics, and other 
lines, and provide business 
packages and engineering 
design. 

Microtex, Inc. 

Microcomputer specialists 

(713) 780-7477 /9305-D Harwin 
Houston, Texas 77036 



Circle 37 on inquiry card. 



^Circle 72 on inquiry card. 



Circle 90 on inquiry card. 




CHESS 

IN BASIC 



HERE IT IS! 

A FANTASTIC CHESS GAME TO 
CHALLENGE BEGINNER OR 
EXPERT — IN STANDARD BASIC — 
RUNS IN 16K OF FREE MEMORY — 
FOR TELETYPES OR CRT'S — 
COMPLETE DOCUMENTATION AND 
A PAPER TAPE INCLUDED IN THIS 
SPECIAL INTRODUCTORY OFFER. 

$20.00 p.p. 

— MD. RESIDENTS ADD 5% 

TENBERG SOFTWARE SYSTEMS 

10311-J MALCOLM CIRCLE 
COCKEYSVILLE, MARYLAND 21030 



Circle 150 on inquiry card. 



$4^E <5 tc 15% 

LIST SALE PRICE 

IMSAI 8080 W/22SLOTS S751 $649 

POLYMORPHICS SYSTEM 2 S735 S675 

SHUGGART MODEL 800 S650 S595 



SIMILAR DISCOUNTS ON: 
IMSAI 4K, 16 K, 32K RAM. MIOetc. 
POL YMORPHICS VIDEO 
DYNABYTE 16 K (ACM) RAM 
MICRODESIGN 2708/2716 EPROM BOARD 
QUANTRONICS 8K (ASM) RAM 
I US 8K (ASM) RAM 
PROCESSOR APPLICATIONS DMA FLOPPY 

DISC CONTROLLER (ASM) 
TAR BELL FLOPPY DISC CONTROLLER 
TAR BELL CASSETTE INTERFACE 
SHUGGART MODEL 850 TWO SIDED FLOPPY 

DISC DRIVE 
ALL SWTP PRODUCTS 
APPLE II 

MODEL 43 TELEPRINTER (OCTOBER) 
ADM 3 A TERMINAL 
SOROC IQ120 TERMINAL 
REPAIRS IN-HOUSE AT LOW COST 
CUSTOM SOFTWARE & FIRMWARE 



In Santa Barbara, CA Opening Soon In 
Call (805) 968-0302 Santa Ana, CA 



ComputerLand 



T.iVl. 



16919A Hawthorne Blwd 
Lawndale CA 90260 
(213) 371-4010 



11:30 to 7:30 Tue-Fn 



Closer) Sunday/Monday 



Circle 31 on inquiry card. 



f 



PRODUCTION LINE 

TIME 

AVAILABLE IN 

JAPAN 

AND THE FAR EAST 



To manufacture your electronic 
components or complete units 
in quantity. 

Will call on you anywhere in the 
U.S. to discuss your require- 
ments. 



=v 



I 



Write: 

TOYO International 

898 Chestnut St 

Redwood City Calif. 94063 

(415) 369-5226 



Circle 153 on inquiry card. 

BYTE November 1977 



221 






which allows a simple and efficient 
stacked storage management scheme. 
GRAPL programs are just character 
strings, so, like LISP, code can be written 
by other programs and executed. This 
technique is extremely powerful in 
GRAPL, because much of the GRAPL 
system is written in GRAPL to allow user 
modification. For example, in APL, all 
function editing is done by special func- 
tion editing routines in a special function 
definition mode. Editing must be done a 
line at a time. Thus, simple tasks, such as 
changing all occurrences of the name A to 
the name B, are made very time-con- 
suming. In GRAPL, the function editing 
routines are written in GRAPL so that 
they are easily modified or rewritten to 
suit the user's tastes. 

GRAPL has some pattern matching 
similar to SNOBOL4, which makes tasks 
such as program editing a lot simpler. 
GRAPL has a nice set of data types 
ranging from bit strings to integers to 
real numbers to three-dimensional points 
and lines. Needless to say, GRAPL is 
very good at computer graphics. 
As well as looping construct, there is a 
construct similar to a KEIL structure 



useful for computer aided instruction 
and other dialog. 

• GRAPL programs are completely free 
form and, as in the case of FORTRAN, 
spaces are ignored. This allows programs 
to be formatted to make reading easier, 
or allows code to be compressed for 
efficient storage. 

• When a program is executed, it is par- 
tially compiled and then executed inter- 
pretively. This is one of the fastest 
methods of execution. 

• Errors are handled either by the user or 
by interrupt routines. Interrupts can be 
signaled in code or with a timer to allow 
for such things as concurrent processing 
and 10, or a limited form of multitasking. 

• GRAPL retains the interactiveness of 
APL. 

I have been involved in the formal defini- 
tion of GRAPL and its implementation on 
an IBM 370 for a year now, and am begin- 
ning a Z-80 version which I hope will fit in 
24 K bytes of memory (including some 
space for user's programs). GRAPL should 
prove to be not just a pacifier for people 
who want APL, but a distinct improvement 
with more general applications. ■ 



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. 
Pin spacing). Double Read out. 

DB25P Plug $3.10 ea 5 pes $2.9E 

50/100 Altair Type - Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB25S Socket $3.90 ea 5 pes $3.7E 

50/100 I msai Type - Dip Solder Pins $4.25 ea 5 pes $4.00 ea DB51212-1 Hood (grey) $1.50ea 5 pes $1.30 

50/100 Imsai Type with Guides $4.50 ea 5 pes $4.25 ea DB51 226-1 A Hood (black) $1.80 ea 5 pes $1.60 

I msai Guides only $ .30/pr 5 pr $ .25/pr 

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) $8.00/set 
When ordering: specify type of contact. 5 sets $7.50/set 


> ea 
ea 
ea 
ea 




2708 1 KX8 PROM 

$22.95 ea 

5 pes or more $21 .50 ea 




8080A- PRIME 

$18.00ea 
5pcs$17.00ea 




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 



222 



BYTE November 1977 



Circle 9 on inquiry card. 





BATTERIES 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 tea 
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 plexiglass 
case. 
*ldeal kit for beginner or gift for children $21*50 eO. 




30MHZ FREQUENCY COUNTER KIT 



Model 250-30A 



Take advantage of this new state-of-the-art counier 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! 
0.5" red LED 6 digits display 
Resolution: 1 Hz at 1 sec. 10 Hz at 1/10 sec. 
Sensitivity: 10 Mv RMS to 30 Hz 
Internal power supply: 5.2V at 1 amp regulated 
Input connector: BNC type 
Input power required: 1 17V AC 50/60 Hz 
Diode protected for over voltage input 



Oni s $59- 50 



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 




/ 



fjP\~ 



IWolt AUDIO AMP 

All parts are pre assembled 

on a mini PC Board 

Supply Voltage 6~ 9V D.C. 

SPECIAL PRICE $1.95 ea. 



2W+ 2W STEREO AMP 



All parts completed on a PC Board 

2 LM3S0 I.C., volume, 

bass, treble control included 

Supply voltage: 9 15V O.C. 

Sensitivity: lOQMv for full output 

Total harmonic distortion: 

1%@ 1 KHz® 1.5 watt 

Output is short circuit protected 

ONLY $5.75 ea. 




SW AUDIO AMP KIT 



2 LM 380 with Volume Contr( 
Power Supply 6 — 18V DC 

only SS.OOoo* 




■-•£> EUECTRONIC IC TIM 



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. 

$11.50 each 



ELECTRONIC ALARM SIREN 




COMPLETE UNIT 

Ideal for useasan Alarm Uni 

or hookup to your car back-u 

to make a reverse indicator 

Light Output up to 130 dB. 

iltage 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 lor Computer 

Data Entry Pad or Digital Lock 

All key tops blank with super 

good touch feeling SO. 95 ea. 




DIGITAL ELECTRONIC LOCK KIT 

for auto ignition, en 
$6.50 ea. door, burglar, alarm, 

m;h cmos i.e. 4 D ; Bits r ro9 :? n ^f- b '" 

IN CIRCUIT AnvComh, nation 

A00SI 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. 

o-3o power supply $9,50 each 



MA1003, 12V DC CLOCK MODULE 



$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". 



LCD DIGITAL THERMOMETER 

Desk Top Model 
66° - 86° F 

Only $3.75 each 




QUARTZ CRYSTALS 



1 MHZ 

2 MHZ 
4 MHZ 
10 MHZ 

3.579 MHZ 
Color TV Type 



$4.95 
$5.25 
$5.25 
S5.25 
S1.25 



<P 



fP CB MICROPHONE 



c? 



500 MIC for CB Unit 

Talk Switch with 

Connector and Cord 

$2.50 each/3 for $5.00 

CLOSE OUT SALE 



TV CAME MODULATOR UNIT 



ONLY $4.50 

Tl 1955 

Alternative AY3-8G00 1 
6 Game (28 Pin Dip! 
TV Game Chip with Dam 
Tennis Squash hockey. 
practice & 2 shooting. 

Special Only $6.50 

PC Board for TV Game with Data $2.50 ea. 
Switch Box between Game & TV $1.25 ea. 




NI-CD 

RECHARGEABLE 

BATTERIES 

AASIZE, 1.2V $1.25ea. 

CSIZE, 1.2V $1.50ea. 

SUB C SIZE $1.50ea. 

F SIZE, 1.2V $2.50ea. 

5SUBC6VPACK $4.90 ea. 



BATTERY HOLDERS 



9\ 


006P 


(Clip 


s) 0.25 e 


4 


AA 


size 


0.40 e 


6 


AA 


Size 


0.50 e 


7 


C 


stze 


0.35 e 


4 


C 


size 


0.50 e 


6 


D 


size 


0.50 e 



OH-SCRIEN 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 




ELECTRONIC 
SWITCH KIT 

CONDENSER TYPE 

Touch on Touch Off 

use 7473 I.C. 

and 12V relay 

$5.50 each 



► 
► 



► 
► 




SOUND ACTIVATED SWITCH 



is completed onaCC Board 
n on relay, buzzer or trigger o 
for 2~10 sec. {adjustable) 



► 
► 
► 
► 



Sub-Mini Size 

Condenser Microphone 

S2.50 each 

FET Transistor Built-in 



SIGMA 78REI, 12DC RELAY 

400JI COILSPDT 
$1.30 ea. or 10 for $10.00 
ALL BRAND NEW UNITS 




COMPUTER GRADE CAPACITORS 



► 
► 
► 



D 



5,600 MFD 60V S2.20 ea. 

10,000 MFD 50V S3. 25 ea. 

11,500 MFD 75V $3.95 ea. 

34.800 MFD 50V S4.25 ea. 

39,000 MFD 12V S2.00 ea. 

100,000 MFD 6V $3.50 ea. 



TV Gomes 




MATIMfSl 

• 4 Games-Tennis, Hockey, 
Racquet Handball and Sin- 
gle Handball. 

* Auto counter display on 
the screen. 



WIRE 

WRAPPING 

TOOL 

$29.50 

Wire Wrapping 

In Bulk 
100' $2.00 

500' $8.50 




Sub Mini Size 
PANEL METER 

500 UA 
ONLY$1.20ea 






WATCHED PAIR 

POWER TRANSISTORS 

MOTOROLA MJE2955 PNP 

MJE3055 NPN 

10 AMP 60 V/Ot-T 90 WATTS 

$2.25 PER PAIR 



4S* 



«l r 



r 



TRANSFORMERS 

ALL 117 VOLT INPUT 



30V at 15 amp S30.00 ea. 

36V CTat 3 amp S 4.50 ea. 

50V CTat 2 5amp S 4.50 ea. 

48V CTat 2 5amp $ 4.50 ea. 

12Vor24V at 2 amp $ 3.90 ea. 

24V CTat 800MA $ 1.80 ea. 

0.BV-12V at 400MA $ 1 .80 ea. 

^*~ ^ A< POWER SUPPLY 

^l^^^rS Adaptor Type Transformer 
^^^ 12V AC Output 200 MA 
II* $2.75 each 

6V DC Output 130MA $1.90 ea. 
8.7VDC Output 130MA $1.90 aa. 
12V DC Output 100MA $1.90 aa. 



BIPOLAR LED 

Jumbo Size red/green change color 
when reverse polarity of voltage. 



Ideal for go/nogo indicator. 
Two for $1 .00 



^D- 



.C. TEST CLIPS 



Same as the EZ clips 
With 20" Long Leads 
n Black and Red Colors 

$2.75 per pair 



150UA METER 
only 



$1.50 ea. 




50 UA PANEL METER 



E B 



CLOCK KIT 
MOST POPULAR 

MM 531 1 KIT 



Special Only S14.95 ea. 



MINI-SIZED I.C. 
AM RADIO 

Size smaller than a box of matches!! 

Receives all AM stations 

Batteries and ear phone included 




^^ rnr.r.1 c cuuiti 



TOGGLE SWITCH 

HjIi-sijc of submirw toggle switch 
tatcd 3 amp 125V AC contact 

19 10 99 
MS 2432P SPST 90 80 
MS 244 SPOT 100 90 

MS 245 DPDT 1 20 1 10 




only $5.50 





Only S3.80 ea. 



SOLID STATE ELECTRONIC BOZZER 

°*. 

Ideal tor Alarm 
r Tone Indicate 

SI. 50 each 



MINIMUM ORDER SlO.OO Calif 
>rdersadd 10% postage for out of state Overs* 



send check on mone y order to 



H% FORMULA INTERNATIONAL INC. 

^U|^ 12603 CRENSHAW BOULEVARD • H AWThORNE. C AL I F ORNl A 902b0 

' — For more <nformar,on olraiv call (2131 679-5162 

STORE HOURS 10 7 Monday Saturday 




► 
► 



► 
► 
► 
► 



-i 



► 
► 



SUBMINIATURES TOGGLE 
J l SWITCHES 

JTI tP™ SPDT ° nOH Si 30m 

itT % #% DPDT On OH S150ea 

^•5JU 3PDT 0,,on S175ea 

■>I l\*+T I M.n, Si ;e Rocker Type 



JOY STICK 

4 1Q0K Volume pot .n one 



i the angle o' 

:r«oct lor elec 

garriei or model re 



► 

► 



PUSH-BUTTON SWITCH 

N/Open Contact 

Color: Red, White, Blue, 

Green, Black. 4/$1.00 

N/Clnse also 

Available 50c ea. 

LARGE QTY. AVAILABLE 



► 



► 
► 






Circle 59 on inquiry card. 



BYTE November 1977 



223 



Mark Dahmke 

1393 8th St 

David City NE 68632 









Virtual Memory and VSAM for Micros 



Concerning the APL articles in the 
August 1977 BYTE, I have not yet seen any 
mention of direct access file handling for 
APL. Since many small systems users are 
processing text, mailing lists, medical re- 
cords, and scientific data, file searching on a 
floppy disk would seem to be of great 
importance. 

In the past, the disk or tape access 
method software was generally cumbersome 
(and still is in languages like FORTRAN). 
Unfortunately, I am seeing the same mis- 
takes made in the software development on 
microcomputers. I suggest taking a look at 
the virtual storage techniques used on 
systems like the IBM 370. A special access 
method called VSAM has been developed 
that allows data on disk or tape to be 
treated as if it were in programmable 
memory. Instead of giving a file record 
number, or track and cylinder address, one 
simply gives the address of the particular 
byte or block to be retrieved, and VSAM 
does the conversion to physical address. 
This also makes VSAM device independent! 



My suggestion is this: instead of adding 
features to the interpreter (in the form of 
READ and WRITE commands as in 
FORTRAN) to handle direct access files, 
why not make the entire disk surface part 
of virtual memory. The available space will 
be the same as if the older direct access 
methods are used, but this gives the user 
the opportunity to store large files and data 
as arrays in memory. Thus one storage 
method is used and each disk surface can 
be treated as one large APL (or other 
language) workspace. 

Since reference was made in one article 
to the difficulties of handling large arrays 
in user programmable memory, and the 
need for more than 20 K of memory to 
hold the interpreter and workspace, the use 
of a floppy disk as virtual memory could 
alleviate most of the problem. In fact, I 
used to work with APL on an IBM 1130 
with one disk and only 8 K of core memory 
and almost all of the workspace was kept 
on disk. Most of the 8 K not used by the 
interpreter was used as temporary storage. 

I hope that those who write the new 
APL interpreters will consider what the 
new technology has to offer before fol- 
lowing the old designs." 



N€W 8080 and 8085 REFERENCE GUIDE 



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 3 A 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 for full and prompt refund. 



URBAN INSTRUMENTS 



4014 CODY ROAD • DEPARTMENT C1 • 
SHERMAN OAKS • CALIFORNIA 91403 



master charge 



BANKAMERICARD 



PLEASE SEND. 

NAME 

STREET 



.8080timesaversto: 



CHECK/M.O. ENCLOSED □ BANKAMERICARD □ MASTER CHARGED 
CARD NUMBER 



q T Y GOOD THRU 4 DIGITS ABOVE NAME 



STATE 



• ZIP SIGNATURE 



(MASTER CHARGE) 



224 BYTE November 1977 



Circle 154 on inquiry card. 



Circle 1 1 1 on inquiry card. 




Page Digital Electronics 



1701 East Orange Grove Blvd 
Pasadena, California 91104 

Orders under S25 and COD Orders add S2 
All others shipped UPS Ppd. 
We accept Visa and Mastercharge 



Orders under $25 and COD's add $2 
All others shipped UPS Ppd. 
Visa and Mastercharge accepted 

(213) 797-4002 or 797-4007 



Lowest Prices on 
Wire Wrap Supplies! 



f 


Precut W 


ire Wrap Wire 


s 






^O Kynar wire 








100 




500 


1000 


5000 


3 " 
3V," 
4 


.82 
.86 
.90 




2.60 
2.80 
3.00 


4.71 
5.12 
5.52 


4.22 

4.55 
4.88 


4V4 
5 

6 


94 
.98 
1.02 
1.06 




3.21 
3.42 
3.65 
3.85 


5.93 
6.34 
6.75 
7.16 


5.21 
5.52 
5.86 
6.19 


6Vj "„ 
7 

8 


1.15 
1.20 
1.25 
1.29 




4.05 
4.25 
4.45 
4.65 


7.57 
7.98 
8.39 
8.80 


6.52 
6.85 
7.18 
7.53 


8V \ 
9 

10 [ 


1.32 
1.36 
1.40 
1.45 




4.85 
5.05 
5.25 
5.51 


9.21 
9.62 
10.03 
10.44 


7.84 
8.17 
8.50 
8.83 


Add+ 


.10 




.41 


.82 


.66 


Color; 
Black 
end. 


: Red, Blue 
All lengths 


, White, Yellow 
are overall with 


, Orange, Green, 
1 strip on each 












<* 






Wire Wrap Tools 



4.95 %lk 

i Free I ,'\ 



S34.! 
with 
Wire Kit 1 



BW360 

Battery Operated 

Hobby Wrap Tool 

Auto-Indexing 

Extra Bit S2.75 

C Batteries 2/S5 

26-28 AWG Bit $7.50 



WSU30tool Hand Wrap/Unwrap/Strip S5.50 
WSU30M Same but wraps VA turns insulation $6.50 



r 


Bulk Wire Wrap Wire 




1 roll 


5 rolls 10 rolls 


50 ft 
100 ft 
250 ft 
1000 ft 


1.25 
2.00 
4.00 
1 2.00 


1.15 1.00 
1.80 1.75 
3.50 3.00 
10.00 8.00 

-J 



f 


Wire Wrap 




—~ > 




Starter Kits 




Kit 1 
S6.95 






250 


3" 100 4'/," 




Kit 2 


250 


3 ft 100 5 




$19.95 


100 


4 100 6 


500 


3" 




Kit 3 


500 


3%' 100 5'// 




$8.95 


500 


4" 100 6 






500 


4'/, '100 6V!," 


50 


3 1 WSU30 


250 


5 100 7 


50 


4 1 soft roll 


1 Roll 250 wire 


50 


5 wire 


^ 






W J 



Interconnect Cables 

Ribbon cable connectors for connecting boards to 
front panels, or board to board. 

Single Ended Double Ended 

14 pin 16 pin 24 pin 14 pin 16 pin 24 pin 

6" 1.24 1.34 2.05 2.24 2.45 3.73 

12" 1.33 1.44 2.24 2.33 2.55 3.92 

24" 1.52 1.65 2.63 2.52 2.76 4.31 

48" 1.91 2.06 3.40 2.91 3.17 5.08 







Wire 


Wrap Sockets 




' % 






Gold 3-Level Closed Entry Design 








13 


10-24 


25-99 100-249 


250-999 


1K-5K 


* 8 pin 
' 14 pin 
■ 16 Pin 


.41 
.42 
.46 


.38 
.39 
.43 


.35 .31 
.36 .32 
.39 .35 


.29 
.29 
.32 


.27 
.27 

.30 


* 18 Pin 
20 pin 

• 22 pin 


.63 
.84 
1.30 


.58 
.78 
1.20 


.54 .47 
.71 .63 
1.10 .95 


.44 
.59 
.90 


.41 
.54 
.84 


24 pin 
28 pin 
40 pin 


.91 
1.25 
1.65 


.84 
1.15 
1.55 


.78 .68 
1 .08 .95 
1.42 1.25 


.64 
.89 
1.15 


.59 
.82 
1.09 


' End and 


>ide stackabte sockets 






J 



f 














> 


Wire Wrap Boards 








WW 










VA 


5J3 


10-24 


Connector 


H-PCB-1 


4x4V; 


44 


Buses on both sides 


4.75 


4.50 


4.00 


3.00 


3662 


4x6 


44 


Blank 


6.25 


5.85 


5.50 


3.00 


3682 


4x10 


44 


Buses on one side 


10.50 


10.00 


9.50 


3.00 


3682-2 


4x6 


44 


Buses on one side 


9.50 


9.00 


8.25 


3.00 


4066-4 


4x6 


72 


Buses on both sides 


13.50 


13.00 


12.50 


4.00 


3719-1 


4x6 


72 


Blank 


9.00 


8.50 


8.00 


4.00 


3719-4 


4x10 


72 


Blank 


11.00 


10.50 


10.00 


4.00 


4350 


7x9% 


80 


Buses on both sides 


17.50 


16.50 


16.00 


7.00 


8800V 


10x5.3 


100 


Buses on both sides 


19.50 


17.96 


16.95 


5.00 


169P84 


8^x17 


_ 


Blank 


6.25 


5.75 


5.25 


_ 


^ 














J 



4K RAM BOARD 



Assembled and tested 




$89.95 

See kit below. 
4K RAM BOARD KIT 



450ns Access RAMs 
Fully Buffered 
Low Power 
Static 
5V only 



$79.95 



4 1 / 2 x6 inch board 
Buy 4 RAM Board kits at 
$79.95 each and an 8 slot 
Mother Board is yours 
Includes 8 connectors and card guides. FREE. 

MOTHER BOARD 

8 SLOT 44 PIN BUS 

50 Pin Edge Connector 



80 LINE DIGITAL 
I/O BOARD 

—Bus Fully Buffered— 
-I/O Includes 4-6820 PIA's 
—Compatible With Our Bus 
-5V Only 

KIT $59.95 



Mother Board $20.00 ea 
Connectors 2.50 ea 

Card guides for above $10.00 per set. 



2102 — $1.30 Multiples of 25 only. 
Low power, 450 n.s. Access and cycle. 



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 5 on inquiry card. 



BYTE November 1977 225 



Classified Ads 



FOR SALE: Two Viatron 21s, one with robot 
printer. Also, SwTPC 6800 with Ct 1024 factory 
tested. Two credit card readers. One Univac 
typewriter terminal. Best offer. Greg Ludwig, 
POB 408, Rice Lake Wl 54868. (715) 234-2680. 

SWAP: YASEU FTDX570 amateur transceiver in 
mint condition for Altair or IMSAI Microcom- 
puter. Specify cash differential and write Tom 
Harmon, R4 Magnolia Dr, Salisbury MD 21801. 
(301) 7424742. 

WANTED: Software for the Fairchild F8 micro- 
computer. Lloyd Lawrey, 8926 N Sammy Ln, 
Kansas City MO 64155. 

EDITOR ASSEMBLER: Enhancements for the 
IMSAI SCS-1. Have package which will add re- 
sequencing of the current file on command; 
printing of the symbol table on command; a new 
op code, ASC, which will allow an ASCII string 
constant of up to 30 characters to be defined per 
line of source code. Package is stored in memory 
locations 0E50 — 0FFF. No additional memory 
required. An INTEL checksum paper tape con- 
taining object code, a complete source listing, and 
complete documentation for $7.50 postpaid. 
James E Bell Jr, 491 Johannah PI, Lilburn GA 
30247. 

FOR SALE: A dozen bidirectional 1.8° stepping 
motors, new, unused, Computer Devices Model 
23H-02, $35 each. Requires 0.5, 1 A/15, 25 V 
power supply. Driving (stepping) circuit can be 
assembled for less than $10. Easily controlled via a 
parallel IO port on a microcomputer. Ray Wilhelm, 
40 Bear Mountain Rd, Ringwood NJ 07456. 

WANTED: BYTE issues 2, 3, 8 and 9. Contact 
Larry F Tonar, PFC 547969268, B Co 1st Br 
USAISDSB, POB 921 , Fort Devens MA 01433. 

COSMAC: Does anyone in the San Francisco CA 
area have a COSMAC system? If so would you like 
to start a COSMAC users group or club? Write or 
call Don Heiden, 1361 Kansas St, San Francisco 
CA 94107, (415) 285-6966. 

FOR SALE: SwTPC 6800 computer with 16 K 
memory $600; AC-30 cassette interface $60; and a 
Lear Siegler ADM-3 dumb terminal $700. All 
components of this system are burned in and 
working. I will also include 4 K and 8 K BASIC, 
Star Trek, and other software free. John Victor, 
1 1 Idar Ct, Greenwich CT 06830, (203) 8694479. 

FOR SALE: New SwTPC CT-1024 video terminal, 
KBD-5 keyboard option, CT-CA cursor option, 
CT-S serial option, CT-P power supply, in custom 
black metal case, running and ready to plug into 
your SwTPC 6800, $450. Reason for selling, using 
HAL DS-3000 for both ham station and computer. 
K Slobb, W9BT, 1605 Oakwood Rd, Northbrook 
IL60062, (312) 272-1223. 



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 100 
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: HP981 5A programmable calculator 
with extended memory, carry case, four cartridges, 
thermal paper, manuals; excellent condition, 
over $3600 new. Asking S2600. Walt Goldys 
200 S Glenn Dr, =53G, Camarillo CA 93010. 
(805) 4824674. 

FOR SALE: 113 point EDP physical security 
checklist with risk management briefing and 
bibliography. $5 postpaid. D J Scherer, 29 Rey- 
mont Av.Rye NY 10580. 

FOR SALE: ASCIISCOPE 12 by 80 $550 with 
documentation; Solid State Music MB3 with 4 K 
1702A $125; MITS 4 K Dynamic $125; Proc Tech 
VDM $170; 3P and S $135; Pennywhistle MODEM 
$80; OAE Tape Reader $65; IMSAI 4 K STATIC 
$120. All assembled fully socketed and factory 
checked out. K R Roberts, 10560 Main St, Suite 
515, Fairfax VA 22030. 

FOR SALE: One IBM Model 735 IO Selectric 
typewriter. Correspondence wiring. 15 1/2 inch 
platten and prints 132 columns. Good documenta- 
tion. Good condition. $650. Sam Weiman, 9396 
Fernbury, Cypress CA 90630. (714) 827-7432. 

FOR SALE: New Sphere computer system, still in 
unopened boxes from factory. System contains: 24 
by 80 chr CRT, 36 K programmable memory, 2 
serial interface ports (one cassette), 4 parallel inter- 
face ports, keyboard, power supply, dual Orbis 
floppy disk drive, and an Okidata line printer 
with tractor feed. Price $6850. T W Reeves, 290 
Almak Ct NW. Issaquah WA 98027. (206) 
392-1447 or (206) 655-5308. 

FOR SALE: Complete set BYTEs, 1 to present, 
$75. John Wagner, 2175 Wagner Dr, Caro Ml 
48723. 

WILL SELL: 15 cps Selectric IO printer, 1621 
paper tape punch and reader, IBM console key- 
board printer, for best offers; IBM 1311-3 2M 
drive with two disk packs, $400 or best offer. All 
stuff with full documentation. Henry Birdseye, 
316 Jefferson NE, Albuquerque NM 87108. (505) 
2684727 10 PM to 1 1 AM. 

FOR SALE: IMSAI PI04-4 parallel and SI02-2 
serial interface boards. $155 each, cables also 
available. Various 4 K programmable memory 
boards, $125 each, all assembled and tested. BYTE 
numbers 1 thru 4, $10. Trade any boards toward 
floppy disk? Dieter Kaetel, .7201-87 SE, Mercer 
Island WA 98040. (206) 232-1513. 

FOR SALE: Pertec 7850 9 track magnetic tape 
drives with elec, $275 with manual; ±12 V 3A and 
±5 V 5A supplies, $25; Superior Elec TRP125 120 
bps optical reader, $200; IVC 600 color video 
recorders with manual $300 . (originally $2700) 
with tape; MSI FD8 disk case and power supply 
$85. Gary Gaugler, 2276 Beaver Valy Rd, Fairborn 
OH 45324. (513) 878-0288. 

FOR SALE: Altair 8800a processor $600, 88 
4MCS 4 K static memory card $200, 88-16MCS 16 
K static memory card $800, 88-DCDD disk drive 
and controller $1500, 88-2SIO serial Teletype 
interface $150, 88-ACR audio cassette interface 
$150. All units factory assembled, tested, brand 
new. Factory new ASR-33 Teletype $1000. 
Michael Clark, RD 3, Nazareth PA 18064. (215) 
759-6873. 

TRADE: First 24 issues BYTE magazine for 
RO/ASR 33 in good condition. Alvin L Hooper, 
207 Self St. Warner Robins GA 31093. (912) 
923-5235. 

FOR SALE: Card reader, 100 cpm optical NCR 
EM-D2, also with spare parts, $75. Arthur Okun, 
1803 N Mulligan Av, Chicago IL 60639. (312) 
637-0938. 



FOR SALE: Teletype Model ASR-33 with MITS 
call-control unit Model 88-TYA, stand and one 
case of roll paper, brand new, never used, $995 
or best offer. Bob Majdanski, 214 Coolidge Av, 
Hasbrouck Heights NJ 07604. (201) 288-3742 
after 7 PM. 

FOR SALE OR TRADE: Texas Instruments 
LCM-1 001 Microprogrammer trainer with manual 
and book, Software Design for Microprocessors, 
all in excellent condition. $100 or in trade towards 
HP-25, 55, 65 or amateur radio gear. Also have 
complete file of BYTE in mint condition for sale 
or trade. David J Lowenstein, 235 E 15th St, 
Tempe AZ 85281 . (602) 966-0140. 



FOR SALE: New (three months old!) IMSAI 
8080 microcomputer system. This complete and 
functional system includes: Seals 8 K memory. 
Polymorphic video display board connected to 
GBC monitor and SwTPC keyboard. Tarbell cas- 
sette interface attached to GE cassette recorder, as- 
sembler and BASIC on tape, all manuals, monitor, 
keyboard, and recorder disconnect at back panel 
for greater mobility. Perfect for hobbyist, $2350. 
Joel Schwartz, 5 The Maples, Roslyn Estates NY 
11576. (516) 484-5732. 

FOR SALE: 3M DC300A data cartridges which 
work in the IBM 5100, TEKRONIX, DEC and 
similar equipment at a club price of $18 per data 
cartridge plus the cost of postage. IBM 5100 Users 
Group, c/o HITS Inc, 5541 Parliament Dr, Suite 
104, Virginia Beach VA 23462. (804) 490-0154. 

FOR SALE: Complete NCR 315"100 data pro- 
cessing system. Includes 315~100 mainframe, 
console with 1933 Teleprinter and power supplies, 
10 K by 12 bit core memory, five 334 7 track V 2 
inch magnetic tape drives, 340~503 high speed 
printer (120 characters per line, 800 lines per min- 
ute) and an IBM 1442 card reader/card punch. All 
units are intact and in perfect operating condition. 
Complete schematics, service and operating 
manuals are included. Looking for offers on all or 
any part. Gary Boehm, 1671 Timmy Dr, Hamilton 
OH 45011. 



FOR SALE: HP9810A computer system including 
10 by 15 inch plotter; audio cassette data storage 
unit; ROMs for plotter, cassette, math functions, 
alphanumeric printing, definable functions; plus 
lots of general-purpose software written by HP 
and me. This system is ideal for a scientist or 
engineer doing independent research who cannot 
afford a full-scale computer system, but who needs 
good quality plots for publication in journals. West 
Los Angeles area. Call Gary Bedrosian weekdays at 
(213)478-3035. 



FOR SALE: BYTE #1, 2 and 3, $25; #9 and 10, 
$15; all five, $30. Wanted: Used, working micro- 
computer system under $1000. Donald Erickson, 
6059 Essex St, Riverside CA 92504, (714) 687- 
5910 2 PM to 9 PM any day. 



FOR SALE: Viatron Print Robot and plans for 
interface, $60. Converts Selectric and other 
typewriters to printers without internal mods, 
via keyboard. Like new, G Lyons, 280 Henderson 
St, Jersey City NJ 07302, (201) 451-2905. 

FOR SALE: Six 4 K dynamic memory boards 
(MITS), $150 each, and two 4 K static boards, 
$150 each. Robert K Snider MD, Medical Arts 
Center, 1230 N 30th St, Billings MT 59101. 



FOR SALE: 6800 microcomputer system: CPU 
board with 1 K EPROM (monitor, debug, assem- 
bler, editor), 4 K RAM, y 2 PIA; 16 K RAM memory 
board; video interface (16 by 32); serial IO with 
two ACIA ports (audio KC standard and baud 
select RS232), EPROM (load and dump), and PC 
wiring for TTY/TTL/modem; 9 inch TV monitor; 
cassette recorder; manuals, schematics, documen- 
tation; software on cassettes includes Tiny BASIC, 
games, and more. Price: $1800. Contact David 
Domorest, 12697 Graton Rd, Sebastopol CA 
95472, (707) 823-1698. Factory assembled and 
tested. 



226 BYTE November 1977 






FOR SALE: Sphere 330 Computer System. 
Includes: 6800 CPU, 20 K memoiv. 32 X 16 video 
interface, ASCII keyboard and interface, dual 
cassette interface, case less cover, power supply, 
manuals, monitor, editor, and debugger routines in 
ROM including cassette IO, 16 bit math, etc. Will 
also supply Tiny BASIC and 16 K BASIC. Com- 
plete system as a kit originally cost over $1700. 
This is an assembled, tested, burned-in system for 
only $1500. First check to clear takes it all. 
Write Richard H Rae, POB 791, Emporia VA 
23847. 

WANTED: Listing or source of listing of assembler 
program for 8080 (home-brewed RM-8080), for 
reasonable price. TP Douglas, POB 1012-C, 
La Junta CO 81050. 

FOR SALE: VIATRON microprocessor system. 
Includes keyboard, two cassette transports, video 
monitor, and power supply. Only $400. Write 
or call Mike Vitale, POB 22, Suncook NH 03275. 
(603) 485-4006. 



FOR SALE: Frieden Selectradata paper tape read- 
er and card reader $50 each. R Rodgers, 1 1 Skip 
Rd, Norristown PA 19403. (215) 279-5761. 

WANTED: Medical software, also artificial intel- 
ligence and robotics. Send description and price or 
trade. Rob Lufkin, UVA School of Medicine, 
Charlottesville VA 22901. 

FOR SALE: Altair 8800, 4 K static, 4 K dynamic, 
Serial IO (RS232 compatible), Tarbell cassette 
interface, complete documentation, new cost 
$1576, barely used and totally functional, $1375 
or best offer. Norm, 8508 Lurline Av, Canoga Park 
CA 91306. (213) 341-1275. 

FOR SALE: First 24 BYTEs, all like new. Best 
offer. J L Cutright, 1417 N Hoyt, Chillicothe IL 
61523. 



F-8 USERS: Have designed a 4-1/2 inch by 6-1/2 
inch double sided PC card with plated thru holes 
for an F-8 system consisting of a 3850, 3853, up to 
two 3851 or 3861 chips as well as space for two 
2708 or 2716 EPROMS. For dedicated applica- 
tions where no programmable memory is needed. 
Need to sell ten at $250 each to recover costs of 
development and prototypes. Homer S White, 
3314 Pickett Rd, Durham NC 27705. 

FOR SALE: QUME Sprint 55 printer, equivalent 
to Diablo printer but better and faster. Has been 
modified by factory to use Xerox print wheels, 
including proportional spacing wheels, new. I paid 
$2950. Please bid. Puran, POB 135, Jamaica Plain 
MA 02130. 

FOR SALE: Video checkers on Tarbell compatible 
cassette. Plays under MITS 8 K BASIC. Total of 
16 K memory and Poly Video board required. 
Send $10 postpaid for cassette and complete 
documentation to Marv Mallon, 6914 Berquist Av, 
Canoga Park CA 91307. 

FOR SALE: IMSAI 8080 with 22 slot mother 
board $649, Polymorphics video board VTI-64 
$199, Vector Graphics 8 K memory board $235, 
Solid State Music 8 K memory board $225, Radio 
Shack keyboard with custom case $49, and a 
Tarbell cassette interface $109, assembled, tested, 
in excellent condition. B Marr, 1800 Brea Blvd, 
Box 18, Fullerton CA 92635. (714) 870-1387. 

FOR SALE: Line printer, 300 cpm 132 column 
drum printer. Operational Mohawk Data Sciences 
series 4000 has full documentation and 63 print- 
able character set. Best offer over $800, FOB 
Madison Wl. Richard Whitnable, 425 Sidney St, 
Madison Wl 53703. (608) 256-3789. 

WILL TRADE: November 1975 BYTE for Decem- 
ber 1975 BYTE. My November issue is in very 
good condition. Elliot S Wheeler, 101 Volney St, 
So Houston TX 77587. 



WANTED: Two 1 K memory boards for Mark 8 
microcomputer (from July 1975 Radio-Elec- 
tronics) as produced by Techniques Inc, prefer 
unpopulated boards. Jeff Lesinski, 1241 Staley Rd, 
Grand Island NY 14072. (716) 773-3783. 

WANTED: Old PDS 1020E paper tape software. 
Can copy and return. Also need any circuit board 
for connectors. Dave Overton, 1709 W 30, Austin 
TX 78703. 

FOR SALE: QUAY 80A1 do everything processor, 
a complete 280 stand alone computer. Add Tele- 
type or RS 232 terminal and you're up and 
running with 1 K static programmable memory 
(low power), 512 byte (ROM) monitor, 4 
UVEPROM sockets (2708), UVEPROM pro- 
grammer, and more, assembled and tested $425. 
Also TDL.ZPU with software (8 K BASIC, 2K 
monitor, text editor, macro assembler) all on 
original paper tape with documentation, assembled 
and tested $225. MFE Model 250 super cassette, 
high speed drive (40 ips) new with case, connector 
and much documentation. Cost $510, your cost 
$225. Paul Lamar, 1024 17th St, Hermosa Beach 
CA 90254. (213) 374-1673. 

FOR SALE: Altair 8800 Computer, with 20 K of 
fast (no wait state) programmable memory, 1 K of 
slow (1 wait state) programmable memory, 2 K of 
ROM, Processor Technology video display module, 
and 3 parallel and serial interface cards. MITS 
audio cassette interface card. Price: $1500 firm. I 
will pay shipping. M Harris, POB 1053, New 
Britain CT 06050. (203) 225-0504. 

FOR SALE: Two MITS 88-S4K (4 K synchronous) 
memory boards, $110 each. Two MITS 88-4MCD 
(4 K dynamic) memory boards, $90 each. All 
boards assembled with sockets for each integrated 
circuit. Every bit OK. A spare 4 K memory chip is 
included if you buy all four boards. Harold Corbin, 
11704 Ibsen Dr, Rockville MD 20852. (301) 
881-7571. 



100% GUARANTEE!! 

We guarantee the products we sell. 
refund or replacement for any 
tisfactory product returned with- 
5 days of purchase. Our magnetic 
ertivie 



Electrolabs 



TRICK OR TREAT!! 



media is certified 100% error-free, and 
shipped fresh from refrigerated storage, 
and our ICs work properly! 

Free catalogue of ICs, Components, Word 
Processing Supplies, Useful Devices, and 
Equipment sent in response to each inquiry 
and order. Call for quantity and special 
group discount programs. 



LS 7031 8 decade counter & 7seg. driver 
all on one 40 pin chip. Uses +5 only 15.95 
(includes schematic and app. note) 
MAN6640 dua I .6" orange ht-intensity 



POB 6721, Stanford, CA 94305 

415-321-5601 



ity 2.95 
Gould 2 AMP-HOUR "C T ' size NICADS 3.95 
MM74C926N 4decad e counter/driver 5,95 
MM5058N/2533V 10 24 Static SIR: 10/9.95 



LINEAR 






LM323K 




5.95 


LM309K 




0.99 


LM317K 




2.95 


LM375N Xtc 


I Osc. Ckt 


. 2.75 


MEMORY 






MCM6810L- 




2.95 


21 L02-1 




1.25 


9341 1 DC 




1.00 


C3107B 




1.00 


C21 14 




19.00 


uPD41 1 D-4 


135nS. 


3.95 



APL Programming language selectric printer balls 

VADIC Modem Cards. Complete, requiring only + 1 2V, 
22 pin connectors for Bell 103 Orig./Answer service: 



CPUs, Support, & PROMs 

Z-80 39.00 

8080A 11.95 

8X300I 55.00 

8228 7.29 

8216 2.39 

AY5-1013 4.95 

8223 PROM SPECIAL 10/9.95 
uPD371D Cassette Cntrl. 49.00 
uPD372D Floppy Cntrl. 52.00 
82S2708 70nS. Pin for P. 29.95 



For each C2716, or TMS2716 
purchased before 1, Jan. 1978 
we will donate $2.00 to UNICEF 
in your name, and issue you an 
equal amount in credit towards 
your 1978 purchases. 
UVEPROMS 



C2716 


5V Only - 


59.00 


TMS2716 


3 Supplies - 


49.00 


C2708 


Indus. Std. - 


18.95 


C2708 


(650nSec.) - 


14.95 


C1702A 


2K 


4.95 


C1702 




2.25 


MM5203Q 


2K 


2.95 


MM5204Q 


4K 


9.95 



TANTALUM CAPACITOR SPECIAL: 22uFd/35VDC 10/3.99 

These are CSR13 type and offer excellent bypass, filter and coupling 
performance out to GHz. frequencies. Perfect for memory and digital. 

34" VIDEO TAPE By major US Manufacturer, but NOT 12.99 

Memorex . Absolutely guaranteed to cause neither head in/IIQ QC 

clogging nor excessive wear. 2400 ft.XVi inch for one hour IU/1 I ?.v J 
play on Sony, g:e:, Panasonic and all other Monochrome and color 
EIAJ standard machines. Call for prices on sizes to fit Sony Portapack, 
and for other lengths. Our bulk purchase makes this offer possible. 
Splice-Free, and shipped in an attractive permanent black plastic storage 
box. Yi" format is the highest performance per dollar. Normally S22.95. 



\ferbatim 



Removable Magnetic. 
Storage Media 

manufactured by 

Information Terminals Corp. 



29.00 

-5V, and 
79.95 



SMOKE DETECTORS Save your life, your lab, your computer. 
Mfg. by BRK. We think that this is the most reliable unit on the market. 
Same as the one demonstrated on TV for Pittway by William Conrad. 
In addition, this unit wi II function for more than a year on an on _ _ 

inexpensive 9V cell, in contrast to many others requiring a 5- 29.95 

7 dollar battery. Nationally advertised at $39.95. Specify battery or 1 1 OV. 



MiniDisks 



5 Per Box, Ea. Box: 10 Boxes, Ea: 50 Boxes, Ea: 



MD525-1 (Soft Sector) 29.95 

MD525-10 (Hard Sector: 10 Holes) 29.95 

MD525-16 (Hard Sector: 16 Holes) 29.95 

Flexible Disks 



2 Per Pkg. 

FD34-1000 (Soft Sector IBM Std.) 
FD32-1000 (Hard Sector, Inner) 
FD65-1000 (Hard Sector, Outer) 



11.95 
12.49 
12.49 



10 Per Box: 



Flippy Disks 

FD342000 (Soft, IBM) 
FD32-2000 (Hard, Inner) 
FD65 2000 (Hard, Outer) 

Digital Cassettes 2 Per Pkg. 

I 150 For all "Kansas City" and 
R-300 Digital Direct 



89.30 
93.80 
93.80 



26.95 
26.95 
26.95 



10.49 
11.29 
11.29 



80.30 
84.40 
84.40 



other digital recording with audi 
8.90 8.50 

11.99 10.99 



24.25 
24.95 
24.95 



9.49 

10.19 

10.19 



72.30 
75.90 
75.90 

o decks. 
7.49 
9.99 



Circle 54 on inquiry card. 



BYTE November 1977 



227 



Whai's New? 



A New Bar Code Scanner 




Micro-Scan Corporation has an- 
nounced a new bar code scanner de- 
signed to read bar code programs as 
featured in BYTE. The unit, called 
the Micro Scan, is capable of scanning 
varying contrast ratios (photostatic 
copies can be read) at rates of 10 to 36 
inches (25 to 91 cm) per second. Docu- 
mentation of loader programs for the 
6800, 6502, 8080 and Z-80 processors 
are provided with each scanner. Power 
supply requirements are 11.5 to 18 V, 
unregulated. The Micro Scan is available 
for $97.50 from Micro Scan Corpora- 
tion, POB 705, Natick MA 01760, (617) 
655-5406." 

Circle 517 on inquiry card. 



Shield and 
Seal for Real 




A new conductive material with 
excellent sealing properties has been 
announced by Radeon Corporation, 
246 Columbus Av, Roselle Nj 07203, 
. (201) 241-5550. Free samples as well as 
a data sheet giving compression and 
electrical characteristics are available 
upon request. The material, called 
Multi-Con 2, is priced based on custo- 
mers' applications." 

Circle 518 on inquiry card. 



An Unregulated DC Power Supply for 
Microprocessor(s) 

A new DC power supply which 
provides unregulated power to micro- 
processors and peripheral equipment has 
been announced by Standard Power Inc. 

Designated the SMP-30B, the unit 
provides three voltages of 9 VDC at 1 A 
and ±18 VDC at 0.5 A. It may be 
operated at 115 or 230 VAC, 50 or 
60 Hz input. 

Priced at $27.50 (single quantity), 
the unit measures 3 3/8 by 3 3/8 by 
4 3/4 inches (8.57 by 8.57 by 12.1 cm) 
and weighs 2.1 pounds (0.95 kg). 

Details are contained in Standard's 
Catalog C477, available on request from 
local distributors, or from Standard 
Power Inc, 1400 S Village Way, Santa 
AnaCA 92705, (714) 558-1172. - 

Circle 519 on inquiry card. 



Attention APL Lovers. . . 

MCM Computers is a Canadian firm 
which has been marketing small desk top 
APL machines for about five years. As 
this issue was going to press, we received 
word that the company is making avail- 
able a $5000 package consisting of a 
complete self-contained computer with 
APL interpreter and dual cassette tape 
drives for work space. Contact the US 
office, 2125 Center Av, Fort Lee NJ 
07048,(201) 944-2737." 

Circle 520 on inquiry card. 



[g] cybercDm 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-8 2708 EROM board, S-100, 8KX8or 1 6KX8 kit without 

PROMS $85 

IO-2 S-100, 8 bit parallel l/Oport, %of board is for kludging. 

Kit $55 PCBD $30 

VB-1 64X 1 6 video board, upper lower case Greek, com- 
posite and parallel video with software, S-1 00. 

•Kit $189.00 PCBD $35 

SP-1 Music synthesizer board. S-1 00, computer controller 
wave forms, 9 octaves, 1V rms Vfe% distortion, includes 

software kit $250 

Altair Compatible Mother Board, 11 x 11 72 x Vb". 

Board only . . . $45 With 15 connectors $1 05 

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. 



A 



Wmc?, 



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 
10% discount on 10 or more of WAMECO PCBD in any 
combination. 



NEW! All IC's, sockets & hardware for WAMECO MEM-1 
includes prime 21 02AL-4's $144 

Order PCBD separately below. 

Special 2102AL-4 1K x 1 ram ft 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 4702A Prime 

TMS-6011 UART Prime 

2513 Char Gen Upper Prime 

2513 Char Gen Lower Prime 

1702 A Intel Not Prime 



8T10 
8T13 
8T16 
8T20 
8T24 
8T26 
8T34 
8T37 
8T38 
8T80 



2.00 
2.50 
2.00 
2.50 
2.50 
2.50 
2.50 
2.50 
2.50 
2.50 



8T97 

8T110 

5309 

5312 

5313 

5320 

5554 

5556 

5055 

MC4044 



2.00 
2.00 
8.00 
4.00 
4.00 
5.95 
1.90 
2.50 
1.60 
2.25 



m 



80L97 
81L22 
82L23 
85L51 
85L52 
85L63 
86L70 
86L75 
86L99 
88L12 



419 Portofino Drive 
San Carlos, California 94070 

Please send for IC, Xistor 
and Computer parts list. 



20.00 
4.00 
8.30 
4.95 
5.00 
8.90 
14.50 
14.50 
6.00 
6.95 
11.00 
11.00 
4.00 



1.50 
1.50 
1.90 
2.50 
2.50 
1.25 
1.50 
1.90 
3.50 
.80 




74L00 

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 
7.50 
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 of 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 that 
have been soldered to. Prices subject to change without notice. $10 
minimum order. $1.00 service charge on orders less than $10. 



228 



BYTE November 1977 



Circle 93 on inquiry card. 



New Bargains 



2708 PROM BOARD (10K) 



$59 95 




Illustrated above is our 10K 2708 Board 
(2708) 

Kit w/basic IC sockets. Any PROM addressable anywhere in mem- 
ory map. ORDER AS C80-2708-2. 



PROTOTYPE BOARDS 



from |^9 



Prototype boards for the S-100bus are available from many others— 
but ony MINI MICRO MART supplies four different types. Two are 
wire-wrap versions and two are general-purpose DIP, for either ww 
or point-to-point wiring. All boards come with a 5V regulator and a 
heat sink. The two "bus" versions are unique and have circuitry 
etched on for buffering and address decoding, and include the 
decoders -and necessary Tri-State buffers. (Illustrated below is the 
general-purpose DIP version, MODEL 01-2115.) 




01-2115 GENERAL-PURPOSE DIP PROTOTYPE BOARD $18.90 

01-2116 WIRE-WRAP PROTOTYPE BOARD 19.96 

01-2136 GEN-PURPOSE DIP BUS INTERFACE 

BOARD, incl. IC's for address decoding 

and buffers 29.96 

01-2112 WIRE-WRAP BUS INTERFACE BOARD 

incl. IC's for address decoding and buffers 30.96 

BARE BOARDS 

Bare boards for 8080 and Z-80 systems, as well as for 4K, 8K, and 
16K static and dynamic memory boards — 

BARE 4K S-100 MEMORY BOARDS ONLY $ 14.96 



Surplus Bargains 



TELETYPES 




MINI MICRO MART hes one of the largest selections of used, 
reconditioned, and rebuilt Teletypes in the U.S. — 

R0-37s (printer only) $395 to $595 

KSR-33's(keyboecd8i printer) $495 to $695 

ASR-33's (prntr., keybd., reader & punch) $695 to $895 

Model 35 RO's, KSR's and ASR's also available. 



SURPLUS PERIPHERALS 

MINI MICRO MART has a variety of surplus (new and used) 

items of interest to the hobbyist and commercial minicomputer 

user. 

Our equipment list changes daily as we sell out of one item and 

add others. Among the items we currently have in stock are — 

HIGH-SPEED PAPER TAPE PUNCHES: FACIT, BRPE, Digi- 
tronics, and others. 



READERS: EECO, Digitronics 



PRINTERS: Univac and others 

HIGH-SPEED PAPER TAPE 

PERTEC TAPE UNITS 

COGAR TAPE UNITS 

We also have in inventory an item of interest to the homebrew 

builder — an electronic desk wired with line cord, line filter, 

circuit breaker, boxer fan, and card cage for 40 PC boards, new 

and used, from $ 49.96— up. 

Write and get on our mailing list for these and other interesting 
surplus items. 



PRIME COMPONENTS 

2708 1K x 8EPROM $ 19.95 

2716(T1) 2K x 8 EPROM 39.95 

ZWTs (ZiloeJ 29.95 

8QBQA/ AMD 9080A 29.95 

1702A's (Intel/AMD) 4.95 

2102*3 low power 460ns 1.49 

4K x 1 STATIC CHIPS (5V) 450ns for Heathkit and 

other boards $8.49 



Add $2 for handling, shipping and insurance for each order 
(exception: Teletypes are shipped freight collect). 

Send stamped, self-addressed envelope for details on any advertised 
items or for a copy of our catalog. 



MiniMieroMart 

1618 James Street, Syracuse, N.Y. 13203, Phone: (315) 422-4467 



Circle 94 on inquiry card. 



BYTE November 1977 



229 



What's 

New? 



Altair Offers Microcomputer 
Timesharing 




Anyone who has an Altair 8800 
series computer can now convert it to 
serve as the control center for a time- 
sharing system. A special version of 
BASIC, called Timesharing BASIC, has 
been developed along with Altair Time- 
sharing Disk BASIC. Both are exten- 
sions of Altair extended BASIC and 
allow up to eight independent pro- 
grams to be run simultaneously. 

A memory partition technique is 
used to keep each program job in a 
unique area of memory. Each pro- 
gram area contains the BASIC pro- 
gram text, variable and string space, 
a workspace, plus approximately 300 
bytes of the timesharing system. The 
system can be used with a variety of 
10 devices including video displays and 
printers. 

Control of a specific job may be 
transferred from one terminal to another 
with a single command. Various control 
characters allow suspension and resump- 
tion of each job without loss of data. 
Diagnostics are provided for program 
debugging and automatic line numbering 
is available during program entry. Both 
versions of Altair Timesharing BASIC 
furnish line oriented text editor with 
line and character manipulation 
capabilities. 

Extensive hardware is needed (in 
addition to the 8800 series mainframe 
and processor) to support both versions 
of Altair Timesharing BASIC. This 
includes a minimum of 32 K bytes of 
programmable memory, a vectored inter- 
rupt real time clock card, up to four 
2SIO serial interface boards for terminals 
and an optional line printer for the disk 
BASIC version. The disk version, of 
course, requires a floppy disk peripheral. 

Contact MITS, 2450 Alamo SE, 
Albuquerque NM 87106." 

Circle 451 on inquiry card. 



Attention Toronto Readers 

Computer Mart in Toronto has been 
in operation since January 1977 and 
maintains at least three systems up and 
running for demonstration purposes. The 
store offers complete service facilities as 
well as programming services for micro- 
processor based systems. This includes 
operating system enhancements and 
accommodating unusual interface 
situations, both software and hardware. 
The store's product line includes Pro- 
cessor Technology, Polymorphic, The 
Digital Group, Peripheral Vision, 
Cromemco, IMSAI, iCOM, IASIS, Lear- 
Siegler, North Star, TSC Software, 
Hitachi and Sanyo, Volker-Craig, 
Scientific Research, Sams, Hayden and 
AP Products, etc. Computer Mart's 
policy is to provide the most effective 
guidance and general advice to our 
customers and continue this policy after 
the system is plugged in at the 
customer's home. The store address is 
1543 Bayview Av, Toronto, Ontario 
M4G 3B5 CANADA, (416) 484-9708." 

Circle452on inquiry card. 



A Small Shank Electric Drill from Wahl 



A New General Purpose PC Board 




Here is a device that should prove 
useful for the fabrication of printed 
circuit boards, as well as other applica- 
tions involving the drilling and cleaning 
of small holes. The Wahl ISO-TIP elec- 
tric drill is less than 5 inches (12.7 cm) 
long with drill bit removed and is 
designed to fit into tight corners. The 
on-off switch provides both intermittent 
and locked modes of operation, and the 
power cord is 10 feet (3.04 meters) long. 

Operating at 9000 rpm, the drill is 
supplied with a collet chuck, three 
collets and two drill bits (#56 and #71 ). 
The unit is available in either 110 VAC 
or 12 VDC versions. 

Contact the Wahl Clipper Corpor- 
ation, 2902 Locust St, Sterling IL 61081 
(815)625-6525." 

Circle 453 on inquiry card. 




Model H-PCB-1 is the first in a series 
of PC boards. The 4 by 4.5 by 1/16 inch 
(10.16 by 11.43 by .19 cm) board is 
made of glass coated epoxy laminate and 
features solder coated 1 oz copper 
pads and has a 22/22 two sided edge 
connector. 

The board contains a matrix of .040 
inch (.1 cm) diameter holes on .1 00 inch 
(.25 cm) centers. Two independent bus 
systems are provided for voltage and 
ground on both sides of the board. In 
addition, the component side contains 
14 individual buses running the full 
length of the board which enable direct 
access from edge contacts to distant 
components. 

Priced at $4.99 from OK Machine 
and Tool Corporation, 3455 Conner St, 
Bronx NY 10475,(212) 994-6600." 

Circle 454 on inquiry card. 



Data On the Cable? 




OK Machine and Tool Corporation, 
3455 Conner St, Bronx NY 10475, 
(21 2) 994-6600, has sent a picture of the 
new dual in line package cable termina- 
tion assemblies, retailing at $3.75 to 
$4.35. Variations on this theme include 
double ended cables in lengths of 2, 4 
and 8 inches (5, 10 and 20 cm) and 
single ended cables in lengths of 12 and 
24 inches (30 and 61 cm); either 14 or 
16 pin cables are available." 

Circle 455 on inquiry card. 



230 



BYTE November 1977 



Ca Li torn i a I n d u s t r i a I 

Post Office Box 3097 B • Torrance, California 90503 



-0\ 



3.IH 15921 




$ 149. 5 L 



CALCULATOR 

WRIST WATCH 

Designed for the on the go executive, that Indi- 
vidual who has to make those on the spot 
decisions. 

Handsome gold tone stainless steel watch 
features space age micro-circuitry. The MOS 
Inte grated circuit contains the equivalent of 
more than 10,000 transistors. 

This LEO wrist watch displays date, time, 
elapse seconds and also functions as an eight , 
digit calculator with memory. Information 
stored in memory can be recalled at any later 
date, even weeks or months. Use this memory 
feature to store phone numbers, parking stall 
location or flight departure time. 
Manufactured by one of California's leading 
aerospace contractors. Because of the 
discount price we have agreed not to publish 
the manufacturer's name. 
Includes batteries, jewelry case and 18-month 
factory warranty. 



CONNECTORS 

P 3 "*» L RS-232 






°^ 



DB25P 

male plug & hood 

5395 

DB2S5 female 

*3.95 




100 PIN 

IMSAI/ALTAIR 
Edge Connector 



Altair. Imsai compatible gold plated, dual 50 
(.125 centers) three tier wire wrap edge 
connector. 3 tor $13.50 



498 

llOfof H5. 



Scotch 



Diskettes 



Certified Digital 

CASSETTES 

Won't drop a BIT! 



Electronic Entertainment Center 

Tennis-Handball 
Hockey-Smash 

Action-packed color Entertainment for 
the whole family. Adjustable skill level 
controls allow players ot all ages to com- 
pete In tennis, hockey and handball. 
This lour game entertainment center 
turns your television ln1o a video play- 
ground. 

On screen scoring, live action sound and 
___ m t\t\ ,rue component color makes th'is video 

Color '/AOO center an excellent buy at only S24.88. 

«^^. Complete with antenna box and AC adapter. 




HEXADECIMAL KEYBOARD 

Maxi-Swltch hexadecimal keyboards are designed for SOC&95 

microcomputer systems that require 4-bit output ^ ' _ ^" ^r > 

In standard hex code. 
Each assembly consists of 16 hermeti- 
cally sealed reed switches and TTL "onei 
shot" debounoe circuitry. 
Reliable low friction acetal resin 
plungers are credited for the smooth 
operation and long life of this premlui 
keyboard. 
Requires single + Svolt supply. 





'B4.88 



<xn ; UNIVAC 

KEYBOARD 

The ramniis Sperry Un.vac »?|0 HOHcnlh keyboard assembly 
is nOw available i*Cm Calilom.a Industrial lor only $24 88 
Trie ideal compulei anpul device for accou ' 
maihematici,-ins The numirffc Keys are placed c 
three rows 1o resemble a ten koy adding m; 
formal allows ono handed numeric clala entr] 
Original cos! was S3BS UsecJ hul guaranteed 
condition Complele «i 



TELETYPE"M0DEL43 



New from Teletype, the Model 
43 Is capable of printing 132 ASCII 
characters por line. Send and receive 
dataal 10or 30 words per second. Key- 
board generates all 128 ASCII code combina 
tlons. RS-232 Interface, same as the popular 
Modol 33. Data sheet sent upon request, Manufac- 
turer suggested price S1377.00, 

IMMEDIATE DELIVERY $1199 

We also have tor sale a 
Priced at only S449.50 




mited quantity of used Model 35's. 



'TET1 



DIGITAL 

ALARM CLOCK 

Completely $4 AQC 
Assembled LU. 




Walnut-grained decorator clock leatures large .7' LEO display which is 
drivon by the new National MM5385 alarm clock chip. Preset 24-hour alarm 
function allows you to awaken at the same time each morning without 
resetting. Upon reaching the wake-up time, the clock's loudspeaker emits 
a gentle tone. Touch the snooze button and doze off for an additional 9 
minutes of sleep. Clock also functions as a ten-minute elapse timer, 
"Alarm Set" Indicator, AM-PM display. 



Quiet Buss 

S-100 MOTHER 

The Quiet Buss from California Industrial is 
quality engineered. No short cuts have been taken 
to produce this n)olher board. Active termination 
circuitry prevents noise and crosstalk. Manufac- 
tured I rom extra heavy FR-4 epoxy glass. Features 
2 ounce double thickness copper traces. Purchase 
this board along with the power supply kit below 
and you have the start of a super Micro-System. 



teh 



^24.88 



S&29.95 



mnnuflL graphite 
Display GEnEWYrap, 



Modem technology has pioneered the development ot 
unique character printer Our Manual Graphite Display I 
Generator haslhe capabilityot producing thetutt upper, 
tower case ASCII set Sell contained cursor assembly allows I 
the operator to eliminate erroneously entered information [ 
Eachunaismanutactutedlostrict tolerances as prescribed I 
by standards setfofthby California Industrial One Iree with | 
every order. 



JOYSTICK $ 4So 





the 
GEORGE 



fir 



This joystick leature four 100K potentio- 
meters, that vary resistance proportional to 
the angle of the stick. Perfect tor television 
games, quad stereo and radio controlled 
aircraft. 




BRIDGE RECTIFIER 
MOTOROLA 12 Amp. 50v. 



RISK 

ASCII 

Keyboard Kit 



Model 753k 



Microcomputer 
Power Supply Kit 



Ideal supply for S-100 systems. Con- 
tains all the necessary components 
to produce 5 volts @ 10 A., ± 12 @ 
2.5 A. (voltage actually higher). New 
surplus from Memorex Corporation. 
Kit Includes 117 ac. transformer, 
diodes, six computer grade electro- 
lyses, chassis, circuit breaker and 
grounded power cord. Transformer 
has 5 output windings. 
Include S9.00 shipping East of the 
Mississippi: $4.00 for Calif.; all other 
States $7.00. 




$2438 
Plus Shipping 




$.59 

Conductor Ft. 

RIBBON WIRE 

SPECTRA-STRIP 



Transistors 

ea. 10 50 100 



M J 3055 
2 N 3772 
2N3904 
2N3906 



2N2222A.20 .18 .16.15 
2N3055 .89 .84 .77 .65 
.99 .94 .87 J5 
219 195 175 159 
.15 .11 .09 .07 
.15 .11.09.07 

Diodes 

10 2 5 100 
1N4002 100V. .08 06.05 
1N4005 600v.. 10.08.07 
1N4148 signal .07.05.04 
jumbo red ea. 10 25 100 
LED's ^15.13.11.09 



compucorp 

Power Adapter 



shipping 



SOLID-STATE 




MICRO 
BUZZER 



Thumbwheel 
?^{§1 switch 

Ten position 

BCD 

$ 139ea. 



*C, 



Nw 



TRIMMER 

POTENTIOMETERS 



I4l 



2K 10K 50K 

5for*.98 

20 50 100 Uji j 

16< 14c 12< j J 




4.98 



175ma. 
TRANSFORMER 



Solar Cells 




10 100 
s.98 $85 

125mA. at ,43V. Ideal for powering 
radio receivers or charging bat- 
teries. 



(213)7720800 



RELAYS 

SPOT MINIATURE 

10 25 100 
$ 139 e a. $115 104 .89 

Coil 5 or 12 Volt dc. 
3 Amp Contacts 
P. C. Board Mount 



10 50 

$1.19 .89 



CAPACITORS 



ELECTROLYTICS 

ea. 10 50 



SPDT 

MINIATURE 

TOGGLE 

SWITCH 

$.98ea 

10 50 100 Ik 
$.88 .81 .73 .66 



I 



4500/50v.SW9 135 1J9 

1000/15*. *55 49 .45 
axial 



*98 




DPDT 

ROCKER SWITCH 



.1 disc 

.Oldisc 



$.12 .09 .07 
.06 .05 .04 



DIP Switch 




$175 



SPST 



10 25 100 




Heavy 
duty grounded 
power cord and mating 
chassis connectors. 




FAST CHARGE 



DISCOUNT 



IC SOCKETS 



Wire Wrap 
ea. 25 50 


solder 
ea. 25 50 




17< 16 15 




37<36 35 


20 19 18 


38 37 36 


21 20 19 


99 93 85 


36 35 34 


169 155 139 


63 60 58 



£23.95 \ 



VISA 1 


uS -"'la 

W93 



40 

so.,. KYNARSiSP 

.98 500 1,000 11,000 

$9. $15. $105. 



Circle 21 on inquiry card. 



o COD's ■ Foreign orders add 10', 



BYTE November 1977 231 



laBiBiiiiiBiiU 



What's New? 



A Single Chip StepperMotor Drive 



New Additions to UPS 
Uninterruptible Power Supply Family 



National Upgrades SC/ MP Electronics 




Semiconductor Circuits Inc, 306 
River St, Haverhill MA 01830, has an- 
nounced the addition of 27 new models 
to its line of uninterruptible power 
supply systems. The UPS family float 
charges either a 12 or 24 V backup 
battery and offers the choice of a 
±12 or ±15 VDC output for powering 
analog circuits. The third output, 
+5 VDC for powering logic, remains 
unchanged. MTBF (mean time between 
failures) is said to be in excess of 50,000 
hours at 25°C. 

The UPS series conserves battery 
charge by employing both a DC/DC con- 
verter, which delivers either analog 
power outputs of ±12 or ±15 VDC at 
±100, ±200 or ±300 mA, and a 
switching regulator, which delivers a 
logic power output of +5 VDC at 1 , 2 
or 3 A. 

Under normal line conditions, series 
pass power supply serves as the power 
input to the DC/DC converters and as a 
float charge output for either 12 or 24 V 
backup batteries. 

All models are packaged in a black 
anodized aluminum U-type open frame 
that is drilled for mounting and which 
measures 3 by 6 by 9 inches (7.62 by 
15.24 by 22.86 cm). Prices range from 
$155 to $225 for a single unit, and 
$148 to $205 in quantities of ten and 
more. Availability is stock to two 
weeks." 

Circle 470 on inquiry card. 




Faster, lower power n channel metal 
oxide semiconductor versions of 
National Semiconductor Corp's SC/MP 
microprocessor are now available as 
retrofits for SC/MP kits. 

Called the SC/MP-II, the new 8 bit 
single chip device has all the features of 
the original p channel MOS version but 
will operate at twice the speed and will 
dissipate less than 200 milliwatts of 
power, about 25% of the power dis- 
sipated by the first SC/MPs introduced 
last year. 

SC/MP-II requires only a +5 V 
supply, compared with the +5 and —7 V 
supplies required on earlier versions. 
Because of the +5 V only operation, the 
SC/MP-II can be interfaced with TTL 
and NMOS devices, and (by using pull up 
resistors) with CMOS devices. 

The SC/MP-II microprocessor retro- 
fit kit is available for $18.50. It includes 
the new SC/MP-II central processing unit 
(CPU), a 2 MHz crystal, a retrofit kit 
user's manual, an applications handbook 
and a SC/MP-II datasheet. No software 
changes are required as long as the retro- 
fitted SC/MP-II runs at the same speed 
as its predecessor. Contact National 
Semiconductor at 2900 Semiconductor 
Dr, Santa Clara CA 95051." 

Circle 471 on inquiry card. 



No Transients Allowed 




Circle 472 on inquiry card. 



The Dyma AC Line Surge Protector 
is a suppressor and filter combination 
which is designed to protect equipment 
such as microprocessors and peripheral 
units from voltage transients on incom- 
ing power lines. The unit plugs directly 
into any standard AC outlet; equipment 
to be protected is plugged directly into 
the surge protector. 

The 20 A load model is priced at 
$14.95. Other ratings are available on 
special order. Contact Dyma Engineer- 
ing, 213 Pueblo Del Sur, POB 1697, 
Taos NM 87571." 




North American Philips Controls 
Corporation, Cheshire Industrial Park, 
Cheshire CT 06410, (203) 272-0301, has 
introduced this integrated circuit stepper 
motor driver in a 16 pin dual in line 
package. The chip is intended to be used 
with 4 phase stepper motors which use 
12 VDC and have 350 mA coils for each 
phase. This drive circuit includes the 
necessary logic to create motor motion 
in forward or reverse direction at rates 
determined by a clock input. The motors 
which North American Philips manu- 
factures are listed in the brochure 
describing this part, and can typically 
provide working torque values in the .16 
oz-in to 6 oz-in range with maximum 
stepping rates from 700 steps per second 
(lower torque motors) to about 200 
steps per second (higher torque motors.) 
Typical step sizes for the motors 
mentioned in the engineering notes on 
the driver are 7.5° and 15°. With gearing, 
this type of motor should prove quite 
useful for robotic mechanisms exper- 
iments. Price for the SAA1027 driver 
circuit is $4.75 in lots of 100." 

Circle 473 on inquiry card. 



A New Music System Program 

Software Technology Corporation 
has announced the Music System, a 
hardware and software package designed 
to generate music by producing three 
simultaneous tones of fixed amplitude 
using a complex waveform which appro- 
ximates the sound of a reed organ. 
Tones are generated using square waves, 
which are actually produced by a highly 
controlled pulsing of one of the Altair 
(S-100) bus status lines. 

The Music System comes complete 
with a program on cassette tape, six 
sample selections, a user's manual and 
a circuit board with components. 

Running in close to 2 K bytes of 
programmable memory, the program in- 
cludes a monitor, text editor compatible 
with Processor Technology's ALS-8 
file structure, and a high level music 
composing language compiler. Language 
capabilites include dotted notes, 
4 octave range and staccato. 

With the addition of amplifier, 
speaker, cable and any Altair (S-100) bus 
computer, the Music System is ready to 
play. The price is $24.50. Contact Soft- 
ware Technology Corporation, POB 
5260, San Mateo CA 94402, (415) 
349-8080." 

Circle 474 on inquiry card. 



232 BYTE November 1977 



COMPUTER 
WAREHOUSE 

584 COMMONWEALTH AVE., BOSTON, MA. 02215 

OLIYETT! P6060 

4 BRAND NEW + 

1. FAST EFFICIENT COMPLIER BASIC! 

2. TWIN FULL-SIZE FLOPPY DISKS! 

3. 80 CHAR. /SEC. PRINTER! 
k. FULL FUNCTION 96-KEY KEYBOARD! 

5. HASSLE-FREE MAINTENANCE (OLIVETTI 

6. kSK EXPANDABLE TO 80K! 

7. PROGRAM CHAINING, STRINGS VARIABLES 

8. MATRIX OPERATIONS, PLOTTING! 

9. OUTPUT FORMATS SELECTED BY PROGRAM!- -^ , r c - 

10. COMPLETE INTEGRATED SYSTEM rLUv7 IlM CH1CI UbC 



CALL US NOW! (617) 261-2700" 




ORDER OUR 

NEW CATALOG 

SYSTEM BUILDERS II 

• DISCOUNTS UP TO 20%! 

• WIDE RANGE OF MICROCOMPUTERS 

• SUPER SELECTION OF GOOD USED 
AND COST SAVING PERIPHERALS! 

• OVER 250 BOOKS DESCRIBED AND 
READY TO SHIP! 

• I N-DETA I L DESCRIPTIONS OF 
HARDWARE, KITS, PERIPHERALS! 

• SPECIAL SELECTION OF PROFES- 
SIONAL-GRADE COMPUTER SYSTEMS! 

• MICROCOMPUTER COMPARISON CHART! 



*" 5 ?™!^LllIND $1 1 TODAY!! 




'WARRANTEED COST-SAVING USED PERIPHERALS 



ALL an ASR33 is...and MORE!! 

OLIVETTI 318 

^ OTr RS232, QUIET OPERATION, 10CPS PRINTER, 

5875 PAPER TAPE READER/PUNCH, ELECTRIC TYPE- 

165 lb. WRITER KEYBOARD AND 10-KEY NUMERIC PAD, 

shipping STANDARD PAPER/TAPE, OLI VETTI MAINTENANCE 



OUR GREEN PHOSPHOR 
IDEO MONITOR 



DATAPOINT 2200-200 CONSOLE 



% 



IS IS A BEAUTIFUL COMBINATION OF 
A UNIVAC 0769 PRINTER, CABINET, AND 
ENOUGH SIDE SPACE FOR AN ENTIRE MICRO 
SYSTEM. IT COMES COMPLETE WITH POWER 
SUPPLY AND PARALLEL I NTERFACE , $495' 
132 COL, 285 lb. shipping. _ 




30 CPS 



DATAPOINT 3300-200 



IDEAL SMALL THERMAL 30CPS PRINTER 
(NCR), PARALLEL ASCII, 80 COL, CRT 
COMPATIBLE 5X7 DOT MATRIX, SOLID- 
STATE, LESS THAN 25 MOVING PARTS : 
96 CHARACTERS, 110V. 
$25 shipping 



RIXON DATA SET 

MODEM GIVES YOU 1200 BAUD ON 
STANDARD LINE, FULL/HALF DU- 
PLEX $250 +$25 ship/hand 




$150 



+ $25 SHIPPING/ 
HANDLING 

IV P TO P COMPOSITE 
iVIDEO, 16MHZ BANDW. , 
^RASTER SCAN, 7x9 IN. 
2*4x80 DISPLAY POSSIBLE 
POWER SUPPLY, VIP AMP, ANTIGLARE 



IBM SELECTRIC PRINTER 

BASED ON AN IBM SELECTRIC, THIS COPE 
1030/10*40 EBCDIC TERMINAL MAKES A 
GREAT PRINTER WITH OUR RS232 (8080) 
CONVERSION PROGRAM, 15 IN. CARRIAGE, 
USE ALSO AS A SELECTRIC TYPEWRITER. 
Add $35 for shipping 



$795 



$375 



I YOU CAN RELY ON 
■COMPUTER WAREHOUSE 

|"YOUR MONITOR ARRIVED TODAY AND IT 

■ REALLY ADDS TO MY SYSTEM — NO MORE 
J TIRED EYES!" 

B.C. , PHILADELPHIA, PA. 

I"l DIDN'T EXPECT YOUR CENTRONICS 
| PRINTER WOULD LOOK AND WORK SO 

■ WELL. . .THANKS FOR A GREAT DEAL!" 
5 G.M. , COLUMBUS. OHIO 

COMPUTER WAREHOUSE STOBE WILL 

■ AT NO COST TO THE CUSTOMER FOR 
PARTS OR LABOR. REPAIR ANY COM- 
m PUtER WAREHOUSE STORE PRODUCT 
| FOUND DEFECTIVE IN MATERIAL OR 

■ WORKMANSHIP OR AT ITS OPTION 
REPLACETHE UNIT OR REFUNO THE 
PURCHASE PRICE 

THIS WARRANTY IS EFFECTIVE FOR A 
_ FULL 90 DAYS FROM SHIPMENT THE 

■ ONLY EXCEPTIONS ARE CASES INVOLVING 
EQUIPMENT MAINTAINED UNDER A MAIN- 
ITENANCE AGREEMENT 8Y A MAINTE- 
NANCE SUPPLIER, ABUSE. MISUSE. ALTER 

■ ATION NEGLECT. OR SHIPPING DAMAGE 




101A...$1500 



INSTALLED IN THE U.S. 



HERE ARE THE CHOICE PRINTERS THAT SYSTEMS HOUSES, MINICOMPUTER 
VENDORS, AND TOP SYSTEMS BUILDERS RELY ON FOR PERFORMANCE AND 
RELIABILITY! WITH THOUSANDS OF THESE PRINTERS 

165 CHAR/SEC, 132 COL, , .; 

60 LPM, 2 CHANNEL VFU, 

TTL, 8-BIT PARALLEL 



102A...$2000 3 



125 
TTL. 



LPM, 2 
8-BIT 



CHANNEL VFU 
PARALLEL 



90 DAY 

USED GEAR 
WARRANTEE 



.10S....$2000]™IH 



Bl D I RECTI ON 



, 132 COL, 
BOLDFACE : 
PRINTING 




INTERFACES FOR DEC, 
AND RS232 AVAILABLE 



.LOOKING FOR RELIABLE SMALL BUSINESS SYSTEM? 

| IBM SYSTEM/3 AND 1130 SYSTEMS ... AVA I LABLE NOW FROM OUR PARENT FIRM! 

^AMERICAN USED COMPUTER (617) 261-1100 



Circle 38 on inquiry card. 



BYTE November 1977 



233 



Robot and Mechanism Hackers 



What's New? 




So You Want to Automate Your House? 



EDmFUTEPfP.flGE 



Tired of Monopoly, Aggravation and 
Sorry? Looking for a game that teaches 
something about computers as well as 
being fun? Then try Computer Rage for 
a change. First of all it uses three dice, 
but they're binary dice, so you can move 
from zero to seven spaces per turn. 
There are priority interrupts, input and 
output channels with finite capacity, 
power failures, program bugs and branch 
points. Your objective is to get your 
three programs (shaped like miniature 
disk packs) from the input to the output 
weaving through a maze of program 
steps, checkpoints, 10 queues, interrupts 
and decision points. 

Computer Rage comes with a large 
(19 by 19 inch) game board, 12 playing 
pieces, three binary dice, 38 interrupt 
cards, rules and a booklet describing how 
to use the game as an educational tool. 
Recommended for ages 9 to adult, two 
to four players. Several playing varia- 
tions are possible. Computer Rage is 
available for $8.95 postpaid from 
Creative Computing, attn: Pamela, POB 
789-M, Morristown NJ 07960." 

Circle 490 on inquiry card. 



A Slick Dress for KIM-1 




The Enclosures Group, 55 Stevenson 
St, San Francisco CA 94105, (415)495- 
6925, has introduced this interesting 
enclosure for the KIM-1 product of MOS 
Technology. It should help to protect 
the circuit board of the KIM, especially 
during transit. The SKE 1-1 is available 
from stock in a variety of colors for 
$23.50.- 

Circie 491 on inquiry card. 








- ■ > m 



If you want to control things with a 
microprocessor system, boards like this 
product from Wintek, 902 N 9th St, 
Lafayette IN 47904, (317)742-6802, 
will prove useful when applied with 
other products in the firm's line of 
modules. This photo shows the same 
board populated in two different ways 
to emphasize the fact that combinations 
of up to 16 output driver circuits or 
eight sensor inputs can be built on the 
same board, when ordered at a price of 
$69 plus $3 per driver and $12 per 
sensor. Drivers will handle up to 28 
volts at 250 mA for use with relays, and 
sensors are optically isolated inputs for 
AC or DC voltages up to 240 V." 

Circle 492 on inquiry card. 




Here's an unusual item: Artisan 
Electronics has announced a new 
miniature solenoid designed with body 
dimensions equivalent to that of the 
TO-5 transistor case. Most applications for 
this TO-5 are for impulse duty, ie: the 
generation of relatively high forces for 
short times or pulsed operations on 
intermittent duty. On such impulse 
duty, the average power should not 
exceed 3 A W. Instantaneous power may 
be as high as 200 W, provided that the 
on time does not exceed 25 ms. At this 
duty, forces up to 50 grams may be 
generated at gaps of 0.100 inches 
(0.254 cm). For applications of con- 
tinuous duty, the TO-5 solenoid will 
develop forces of from 1 to 1 grams 
with plunger travels. up to .050 inches 
(0.025 cm). At this duty the solenoid is 
rated at 3 A W. A typical coil for 
operation on 12 VDC impulses would 
have a resistance of 1.5 ft, pulsed at 12 
VDC with a maximum on timeof25 ms 
and a minimum off time equal to 130 
times the on time. 

Contact Alan Seman, Artisan Elec- 
tronics, 5 Eastmans Rd, Parsippany NJ, 
07054,(201) 575-7684." 

Circle 493 on inquiry card. 



3000 Hole 
General Purpose 
Prototyping Board 

Electronic Product Associates Inc, 
1157 Vega St, San Diego CA 92110, 
(714)276-8911, announces the availa- 
bility of a new general purpose proto- 
typing board for use in the Micro-68 
microprocessor systems. The 8 by 14.8 
inch (20.3 by 37.6 cm) GP-2 board is 
Motorola Exorcisor bus compatible and 
has complete bus buffering already 
established using 8833 driver/receiver 
integrated circuits. The GP-2 board con- 
tains +5 V power and ground busing, 
3000 holes worth of blank DIP patterns 
which allow for up to 35 large (24, 40 
or 42 pin) DIP packages, or up to 107 
small (14 or 16 pin) DIP packages. Price 
is $1 70, and they are said to be available 
from stock." 




Circle 494 on inquiry card. 



234 



BYTE November 197 7 



D.R.C. ELECTRONICS 



16K E-PROM CARD 

S-1 00 ( 1MSA1/ ALT AIR) 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. / 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 




$149.00 kit 



8K LOW POWER RAM KIT! 



ADD $30 FOR ASSEMBLED AND TESTED. KIT FEATURES: 

1 . Double sided PC Board with solder mask and silk screen layout. 
Gold plated contact fingers. 

2. All sockets included! S-l 00 (IMSAI/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. 




USES 
21L02-1 
RAM'S. 




S-100 



REVERSING 

EXTENDER BOARD 

$24.95 Turns the board under test around so that the foil side is facing you. 

with connector Makes trouble shooting and debugging a SNAP! P.C. Layout designed to 

minimize noise and stray capacitance. 



COMPUTER GRADE CAP. 

48,000 MFD 25 WVDC Mallory 

$3.95 NEW! 



IC SOCKETS 

For the newer RAM chips. 

18 PIN — 4FOR$l 

22 PIN — 3 FOR $1 



RCA HOUSE #2N3772 

NPN Power Transistor. 30 AMP. 

150 W. VCEO-60. TO-3. Vastly out 

performs 2N3055. Reg. List $3.04 

2FOR$l 



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 



tfEN* 1 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. 

2FOR$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. 




mM 



$19.95 



imrmifffTmi 



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! $12.95 



1KX8 
2708 EPROMS 2708 

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. 



W& 



ELECTRONICS 



WE PAY POSTAGE! 

P. O. BOX 401247 -GARLAND, TEXAS 75040 • (214) 271-2461 



Circle 50 on inquiry card. 



BYTE November 1977 



235 



North Star's New Computer 



Whafs New? 



SYSTEMS 



A Finished Product Concept 




Vector Graphic Inc, 790 Hampshire 
Rd A-B, Westlake Village CA 91361, 
(805) 497-0733, has sent along this 
photo of the latest output of its design 
and production facility. This Vector 1 + 
is an Altair (S-100) bus computer pro- 
duct in an attractive cabinet, with pro- 
visions for the user to add a Shugart 
minifloppy™ (or equivalent) disk drive 
(not included), thus providing an inte- 
grated processor and mass storage 
combination rarely seen so far in the 
personal computing marketplace. Prices 
start at $659." 

Circle 475 on inquiry card. 



An LSI-11 Based Computer in a Suitcase 




From RDA Inc comes news of the 
PRD11,an LSI-11 based microcomputer 
with the capacity for 56 K bytes of pro- 
grammable memory and provisions for 
multiple terminal interfaces, a mass 
memory interface and a data acquisition 
subsystem. The entire unit weighs 23 
pounds (10.43 kg) and is housed in an 
aluminum suitcase, a useful feature for 
the traveller. 

Pictured with the PRD11 is a 
Computer Operations portable LINC 
tape mass memory compatible with the 
Digital Equipment Corporation's RT1 1 
operating system. Software available in- 
cludes a macroassembler, FORTRAN IV, 
multiuser BASIC, FOCAL and APL. 

The PRD11 complete with 32 K 
bytes of programmable memory and a 
serial line interface is priced at $4,950. 
Contact RDA Inc, 5012 Herzel PI, 
Beltsville MD 20705, (301 ) 937-2215.- 

Circle 476 on inquiry card. 



Andromeda's New Computer 




Andromeda Systems has announced 
the Model 11 /B, an LSI-11 based 
turnkey computer. The dual floppy 
system features 20 K by 16 bits of 
programmable memory and a 24 line 
video terminal with 80 characters per 
line. The terminal communicates with 
the computer via an RS232 interface 
at 9600 bps. 

The 11/B uses the RT-1 1 operating 
system, the same system used by the 
Digital Equipment Corporation PDP-11 
computer. It is designed for the single 
interactive user, although it can support 
up to eight users under multiuser BASIC 
(optional). System programs include a 
text editor, macroassembler, file 
manager and batch monitor. The user 
can choose from a variety of high level 
language options, including FORTRAN 
and FOCAL. The processor has a built-in 
floating point package. 

The floppy disk system provides 512 
K bytes of on line mass storage. A 
bootstrap loader program is built into 
the disk controller. 

Contact Andromeda Systems, 14701 
Arminta St •#), Panorama City CA 
91402,(213) 781-6000." 

Circle477 on inquiry card. 




North Star Computers Inc has 
announced the new Northf Star 



Horizon 



TM 



computer, which uses a 



full speed (4 MHz) Z-80 microprocessor 
and includes 16 K bytes of memory, a 
disk controller with one or two Shugart 
minifloppy ' M disk drives, and full ex- 
tended disk BASIC. A serial IO port is 
also provided. 

Options include additional disk 
drives, hardware floating point arithmetic 
board, 24 line by 80 character upper and 
lower case video display controller 
board, and 16 K memory board with 
parity check. The video display board, 
when used in conjunction with the 16 K 
memory board, will display high resolu- 
tion (480 by 250 point) graphics on a 
video monitor. The Horizon computer 
uses the Altair (S-100) bus. 

The single drive is $1599 in kit form 
and $1899 assembled. The dual drive is 
$1999 in kit form and $2349 assembled. 
Contact North Star Computers Inc, 2465 
Fourth St, Berkeley CA 94710, (415) 
549-0858." 

Circle 478 on inquiry card. 



Attention London Computer Hackers 

London's Computer Workshop has 
announced a new 4 terminal multiuser 
computer system including a printer and 
a BASIC compiler for under£3000. To 
obtain more information about this 
system, contact either Gordon Ashbee or 
John Burnett at the Computer Work- 
shop, 174 [field Rd, London SW10 9AG 
ENGLAND, phone 01 373 8571 .■ 

Circle 479 on inquiry card. 



EPA's Microcomputer and Floppy Disk 




Electronic Product Associates Inc, 
1157 Vega St, San Diego CA 92110, 
have announced a combined microcom- 
puter and floppy disk system which uses 



the 6800 processor. The microcomputer 
is designated the Micro-68b and comes 
complete with 8 K bytes of program- 
mable memory plus the Motorola 
MIKBUG monitor system, 20 mA cur- 
rent loop and RS-232 interfaces, and 
cassette interface. In addition, there is a 
built-in hexadecimal keyboard and LED 
display. 

The Micro-68 floppy disk system is 
compatible with IBM standards and is 
available in either single or dual configu- 
rations. Both versions come complete 
with power supply and interface elec- 
tronics. 

The Micro-68b costs $1878; the 
single floppy disk system is $2595, and 
the dual version is $3295. Software 
available includes FORTRAN IV, 
BASIC, assembler language, an editor, 
and a floppy disk operating system." 

Circle 480 on inquiry card. 



236 



BYTE November 1977 



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 




m 



3RD GENERATION ONLY $63.00 

ASCII KEYBOARD KIT 




.,..,,>>5i 

FURTHER IMPROVEMENTS, MORE FEATURES 

• TTL Logic Circuits OPTIONS: 

• Power: +5V, 275mA • Metal Enclosure (Paint- 

¥T ai n ed IBM Blue and white 

• Upper and Lower Case $25 00 

• Full ASCII Set (Alpha " " " " " " ' " " " " ft 
Numeric, Symbols, # 18 Pin Edge Con. $2.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) 

• 'INT Key Roll-Over $20 " 

• Full Debounced KIT NUMBERS: Key- 

. Carriage Return Key board ; PC Boar ?' a " re ' 

6 ' quired components and as- 

• Repeat Function Key sembly manua i. 

. Shift Lock, 2 Shift Keys N0T£ . , f you haye Ms 

• 4 User Defineable Keys 53 Key Teletype Key- 

• P.C. Board Size: board you can buy the 
17-3/16" x 5" Kit without it for $44.95. 



A FULLY PROGRAMMABLE 
SLIDE RULE 

the MATHEMATICIAN with 100 STEPS 



• RPN logic with built-in' hier- 
archy for increased speed and 
accuracy in calculating se- 
quences involving arithmetic, 
trigonometric, logarithmic, pow- 
er or exponential functions. 

• Athree-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- 
arithms. ■ 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 calculations • 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 
permits skipping overentirepro- 
grams to access additional pro- 
grams within 100-step capacity. 

• Programs remain intact until 
new programs are written over 
or until your 4615 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. • The 461 5 
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 @ 2.95_ 
Calc. stand @ 1.95- 



FROM CONCORD 

the first full featurel 
lsiDMMkit 

INTRODUCTORY PRICE: 




77 



Reg. Suggested Retail: 3149.00 

AUTO RANGING 

AUTO POLARITY 

AUTO ZERO 

3 Large Digits (1/2") 

Rechargable 



77 



MEASUREMENT RANGES: 

Voltage: (ACS DC) 1 MV- 1000V 
Current (AC & DC) 10JJA- 1A 

RESISTANCE: 1Q-10MQ 
Basic DC. Accuracy, better than 
1% i 1 Digit 

Power: 4 AA batteries ( Recharg- 
able batteries optional) 



NI-CAD BATTERIES: $6.00 • ACCHARGER:$4.95 • ENCLO- 
SURE: $12.95 • TEST LEADS: $2.95 • SHUNT KIT FOR 3 
CURRENT RANGES: $4.75 

Minimum Order: $10.00 



SHIPPING AND HANDLING 

KEYBOARD. DMM and CALCULATOR: S3.50. 

ALL OTHERS- SI. 00. 

California residents add 6% sales tax 

ELECTRONICS WAREHOUSE Inc. 

1603 AVIATION BLVD. 
REDONDO BEACH, CA. 90278 

TEL. (213)376-8005 
WRITE FOR FREE CATALOG 

You are invited to visit our store at the above address 



Circle 56 on inquiry card. 



BYTE November 1977 



237 



Z80 Microcomputer Boards 



Whafe New? 



SYSTEMS 



Gnat Leaps into Dual Minifloppy System 















Aj&l 






w 


U_j^ 


M : ~ : 











A "Puzzling" New Development 
from Europe 



The dual GNAT-PAC System 8 
microcomputer is now available with 
dual minifloppy disk drive from Gnat 
Computers Inc, 7895 Convoy Ct, Unit 6, 
San Diego CA 92111. Each minifloppy 
has storage capacity of 80 K bytes; oper- 
ations include on board data buffering, 
automatic seeking and disk initialization. 

The system is called the extended 
System 8, and it comes equipped with 
the following features: 

• 16 K bytes of programmable 
memory. 

• 2 K bytes of programmable read 
only memory (PROM) with space 
for an additional 14 K bytes. 

• Serial and parallel 10. 

• Disk interface and controller. 

• Hexadecimal front panel. 
Software for the System 8 includes a 

monitor, bootstrap loader, and disk 
operating system. The monitor and load- 
er are PROM resident. The disk operat- 
ing system features an assembler, editor 
and debugger with trace, test and debug 
capability. PL/M, BASIC, FORTRAN 
and other high level languages are avail- 
able. Single unit price is $3690." 

Circle 462 on inquiry card. 




What's happening in Europe? One 
answer to the question is ES's new 
"Puzzle" microprocessor system. Puzzle 
is a 6502 based system which uses 
European style printed circuit boards 
and connectors. It consists of a processor 
card (with 500 bytes of programmable 
memory and 2 K bytes of programmable 
read only memory), a 4 K byte program- 
mable memory extension card, a 6 to 12 
K byte programmable memory extension 
card, and an 10 card. 

A software development and test 
system is also available which features 
serial and parallel interfaces. 

For more information, contact Ing 
Ernst Steiner, 1130 Wein Geylinggasse 
16 AUSTRIA, phone 82 26 74.- 

Circle 463 on inquiry card. 



Wintek Module Line 




Circle 464 on inquiry card. 
238 BYTE November 1977 



Here is the beauty contest photo of 
the Wintek line of modules for micro- 
processor systems use. This unique line 
of "Wince Micro Modules" includes 
backplanes, card racks, power supplies 
and associated items. The intent is to 
allow the user to quickly and cheaply 
assemble a customized microcomputer 
system using the standard 4.5 by 6.5 
inch (11.4 by 16.5 cm) 44 pin connector 
cards available from the firm. Options 
available include modules for control, 
volatile user memory, ROM and EROM 
programmer, analog interfaces, data ac- 
quisition, relay drivers and sense inputs, 
cassette interfaces, floppy disk interface, 
console, CMOS volatile memory with 
battery backup, and a touch tone 
transmit/receive modem. Wintek is 
located at 902 N 9th St, Lafayette IN 
47904, (317)742-6802. ■ 




Zilog Inc has introduced a family of 
Z80 based microcomputer boards to 
offer users a modular approach for build- 
ing their own computing and processing 
systems. 

The new MCB board series is de- 
signed with Zilog's Z80 circuit. Each of 
the present boards is bus compatible and 
directly interfaces with all other boards 
in the series. All boards currently offered 
are available for delivery 30 days ARO. 

Leading off the series is the Z80-MCB 
microcomputer board, designed to oper- 
ate as a single board computer, including 
its own self-contained memory, plus 
serial and parallel IO ports. The Z80- 
MCB has capacity of 4 K bytes, of 
dynamic programmable memory, plus up 
to 4K bytes of programmable read only 
memory, erasable read only memory, or 
read only memory. 

The Z80-MCB can be expanded to 
include more IO and memory by adding 
other boards in the series. A strapping 
option allows users to put 16 K by 1 bit 
dynamic programmable memory mod- 
ules in place of 4 K by 1 bit program- 
mable memory modules. Single unit 
price of the Z80-MCB is $495. 

The Z80-MDC memory/disk control- 
ler board provides users with 12 K bytes 
of dynamic programmable memory, plus 
a floppy disk controller capable of han- 
dling up to eight floppy disk drives. The 
Z80-MDC has a strapping option for 
setting start address of each 4 K byte 
page. Another feature is a 16 bit cyclic 
redundancy check. Single quantity price 
of the Z80-MDC is $795. 

The Z80-PMB/PROM memory board 
provides up to 32 K bytes of memory. 
Jumper options allow each 16 K bytes of 
memory to reside in any segment of the 
64 K address space. The price is $395 for 
single units, excluding the cost of pro- 
grammable read only memory chips. 

Also included in the MCB series are 
three programmer boards and three 
interface boards. Standard card cages, 
extender boards, edge connectors and 
wire wrap boards are available as options. 

For more information contact Dave 
West at Zilog, 10460 Bubb Rd, Cuper- 
tino CA 95014, (408) 446-4666.- _ 

Circle465on inquiry card. 



f r om Pa«**s to P€Pipfic^ /s; 

a one stop, mail-order computer store, 
serving computer enthusiasts since 1973. 

Low power Schottky 



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. If you 
want a classy home for your micro, check 
this out... it is the best we have seen. 
VP2 ASSEMBLED MICROCOMPUTER CASE $134.30 




STATEK 3 


TERMINAL CRYSTALS. 


$4 


.95 each 


(all frequencies 


in KHz) 






10.000 


12.800 


15.360 


16.000 


16.384 


18.641 


19.200 


20.480 


24.576 


30.720 


31.500 


32.768 


36.864 


38.400 


40.960 


60.000 


76.800 


100.00 


153.60 


240.00 



8Kx8 
Econoram II 

single Kit $163.84 
3kits-24K!-$450 



i ir l 




SENTRY CRYSTALS: SERIES MODE, FUNDAMENTAL, 

WIRE LEADS, HC18 PACKAGE $4.95 each 

(all frequencies in MHz) 

4.0 4.5315 5.0 8.0 9.0 

10.0 12.0 15.0 18.0 20.0 

MISCELLANEOUS CRYSTALS 

500 KHz, series mode, fundamental, HC6/U 

package, wire leads $4.95 each 

1 MHz, series mode, fundamental, wire leads 
in HC6/U package $5.95 each 

2 MHz, series mode, fundamental, wire leads 
in HC6/U package $5 . 90 each 



Those who know memory recognize the God bout board 
not just an exceptional value (it's no secret 
we know how to keep costs down), but as an example 
of how to pack extra options into a basic memory 
board. Extras like a vector interrupt provi si on 

I if you try to write into protected memory. Con- 
figuration as two independent AK blocks (both pro- 
tectable se para tely) . A selectable write strobe 
for either PWR or HWRITE. An all static design, 

■free of timing and refresh problems. Guaranteed 
speed under k$0 ns (with on-board wait state logic 
for use with A MHz Z-80) and guaranteed current 
under 1.5A (1250 mA typ) . And of course. .. sockets 
for all ICs, legended board with solder mask, one 
year warranty on parts. . .we 1 ve got it all. 

AVAILABLE: 8K ASSEMBLED, TESTED, WARRAH 
TED 1 YEAR. ..$188.50; *iK KIT... $100. 



I 





74LS00 

74LS01 

7ALS02 

74LS04 

74LS08 

74LS10 

74LS11 

74LS12 

74LS14 

74LS15 

74LS20 

74LS21 

74LS22 

74LS26 

74LS27 

74LS30 

74LS32 

74LS37 

74LS38 

74LS42 

74LS47 

74LS48 

74LS74 

74LS75 

74LS76 

74LS86 

74LS109 

74LS125 

74LS126 

74LS132 

74LS138 

74LS139 



CAVE 



$0.30 
0.30 

0.30 



33 
36 
30 
36 
33 
38 
30 
30 
33 
33 
A3 
36 
30 
38 
45 
45 
98 
00 
98 
50 
68 
50 
50 
50 
0.63 
0.63 
1.25 
1.10 
1.15 



74LS151 
74LS155 
74LS157 
74LS160 
74LS161 
74LS162 
74LS163 
74LS168 
74LS169 
74LS173 
74LS174 
74LS175 
74LS195 
74LS240 
74LS257 
74LS258 
74LS266 
74LS283 
74LS365/ 

80LS95 
74LS366/ 

80LS96 
74LS367/ 

80LS97 
74LS368/ 

80LS98 
74LS386 
81LS95 
81LS96 
81LS97 
81LS98 



$0.95 
1.38 
0.95 
1.40 
1.40 
1.40 
1.40 
1.87 
1.87 
1.65 
1.25 
1.15 
1.30 
1.88 
1.25 
1.25 
0.53 
1.20 

0.75 

0.75 

0.75 

0.75 
0.55 
1.13 
1.13 
1.13 
1.13 



232 



r 




~\ 



25 PIN RS 
CONNECTORS: 
mini D type 

Male plug wi th 
plastic hood, 
part #DB25P 
$3-95 

Female jack, 

t #DB25S 
$3-95 




Act'ive 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. 



BBoQS 

1 

j EDGE CONNECTORS: #S-100-140ST Gold plated soldertail edge con- 

! nector, 0.140" spacing for Altair Motherboards l/$6, 5/$27.50 

IS-100ST same but .250" row spacing for IMSAI l/$5, 5/$22.00 

j IS-10OWW same but gold plated, 3 level wrap posts.. l/$5, 5/$22.00 

^otherboarB\ 

■10 Slots $90 18 Slots $124; 



music sfder tore •"WJH 



Many of you are into making music with your computer; 
some people generate sounds within the machine itself, 
others use them to control synthesizer hardware. Where 
do we come in? One of our lines is the series of Musi- 
Kits^ designed by Craig Anderton, writer for Guitar 
Player , Popular Electronics, Contemporary Keyboard , and 
a bunch of others. MusiKitstm contain a circuit board, 
electronic components, and pots; user supplies case and 
hardware. There are 24 in a 11... some you might like are 
the 8 In, 1 Oat Mixer (#18, $20) which can mix up to 8 
audio inputs to a common output; the Super Tone Control 
(fl7, $10.50), a low noise, state variable filter that 
gives high, low, and bandpass outputs; a Reverb Unit 
(#22, $13.00 less springs) for adding concert hall sound 
and acoustic depth. Want to know more? Check our flyer. 



TERMS: Please allow up to 5% for ship- 
ping, more for Vector #VP 2; excess re- 
funded. Prices good through end of mag- 
azine cover month. Californians add tax. 
CODs accepted with street address. For 
Bank Amer icard®/ VI SA®/Mast ere harge® orders 
C$15 min) call 415-562-0636, 24 hours. 




10000 uF at 10V! 




Building a SV power 
supply? Need to beef 
up an existing supply 
that lacks sufficient 
capacitance? Here is 
the answer. 



Includes all edge connectors, plus active terminations 
to minimize crosstalk, noise, overshoot, and ringing 
may be present with unterminated busses. Excel- 
lent for stand alone system, or add to existing 
systems. Kit form only. 



5 to m 
■ that 

V. 



tcel- ■ 

J 





BILL GODBOUT ELECTRONICS 
BOX 2355, OAKLAND AIRPORT. CA 94614 



SEVERAL GOOD REASONS WHY 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 11) ALL THE OTHER 

THINGS WE CAN'T FIT INTO THIS SPACE. 



Circle 61 on inquiry card. 



BYTE November 1977 



239 



What's New? 



MEMORY 



Will Memory Megalomania Never Stop? 




Technico Inc, 9130 Red Branch Rd, 
Columbia MD 21045, (800) 638-2893, 
has just sent along an exciting new 
development for those readers interested 
in opting for the Texas Instruments 
TMS-9900 architecture. The firm manu- 
factures a TMS-9900 based processor 
board, shown at .the top in this photo. 
The new development is the board at the 
bottom, the TEC-9900-MA dynamic 
memory board which has a capacity of 
up to 32 K bytes (16 K 16 bit words) 
and plugs directly into the previous 
TEC-9900-SS product. The new board 
measures 7 by 16 inches (17.8 by 
40.6 cm) and includes all the necessary 
refresh and control circuitry. Address 
selection logic allows DIP switches to 
specify any starting address for the 32 K 
byte region in 1 K address increments. 
The board uses Texas Instruments TMS- 
4051 dynamic memory chips which are 
organized 4 K by 1 bit. As a result, the 
board can be populated with any in- 



crement of 4K 16 bit words. These 
memory parts have a sufficiently fast 
response time to allow the 9900 to run 
at its maximum speed of 3.3 MHz clock. 
A fully populated 32 K byte version of 
the board sells under part number 
TEC9900-MA-32KB for $799 assembled 
and tested. (At the price of 3 cents/bit 
installed, who can haggle?) This is a 
very desirable item for the homebrewer 
willing to supply the finishing touches 
to a 16 bit minicomputer with 32 K 
bytes of memory. The economics can be 
summarized as follows: 

TEC-9900-SS Processor $399 

TI-9900 + ancilliaries 
TEC-9900-MA-32KB Memory $799 
32,768 bytes memory 
TEC-9900-PP Power supply $149 

$1347 

To these assembled and tested module 
prices one should add the cost of a serial 
ASCII terminal, a cabinet or chassis in 
which to mount the equipment (home- 
brew style), and any mass storage re- 
quired to complete the system. 

A phone conversation with the firm 
at the time this note was being written 
(July 5 1977) brought out the fact that 
forthcoming additions to the line are a 
video and audio cassette interface board 
(TEC-9900-VA), and a floppy disk 
controller, both of which were expected 
to be available in the fourth quarter 
of 1977. ■ 

Circle 466 on inquiry card. 



Attention Microprogrammed Computer 
Designers 




Motorola has sent along this photo 
and block diagram of a new addition to 
their M 10800 family of high speed 
MECL 10,000 current mode logic. (This 
family of logic is used in the highest 
speed contemporary processors, and due 
to the difficulties of designing with 
transmission line interconnections, tends 
to be ignored by experimenters favoring 



slower TTL logic.) Illustrating the way 
future packaging trends are going, this 
MCI 0803 memory interface processor is 
mounted in a so-called "quad in line" 
(QUIL) package with four rows of 12 
pins for 48 pins total. 

Its internal logic, shown in the back- 
ground, includes six 4 bit registers, an 
arithmetic logic unit (with encoded 
selections of function and operands) and 
data transfer circuitry. Its intended use is 
as a node in a large machine, dedicated 
to memory and peripheral operations. 
An example is performing the tasks of 
direct memory access control where 
intelligent programming is useful, but 
the versatility of a main processor is not 
needed. 

The high speed nature of this device 
and its price ($40 in 100 quantity) say 
that this chip will be of most interest to 
those individuals designing new products 
subject to high performance specifica- 
tions. For more information contact 
Jerry Tonn at Motorola Semiconductor 
Products, POB 20912, Phoenix AZ 
85036, (602)962-2515. ■ 

Circle 468 on inquiry card. 



Memory Module from MITS 




The new Altair memory module pro- 
vides 16 K bytes of dynamic random 
access memory. The unit runs at a max- 
imum power dissipation of 3 W and a 
maximum cycle time of 350 ns. 

Crystal controlled logic timing 
eliminates the need for on board oneshot 
multivibrator circuitry to allow con- 
tinuous operation without wait states. 

Bus strips provide isolation between 
power and signal lines for maximum 
noise suppression. Address selection is 
switch selectable in 4 K blocks. Each 
board requires one slot on the Altair 
(S-100) 8800 bus. Contact MITS at 2450 
Alamo SE, Albuquerque NM 87106." 

Circle 467 on inquiry card. 



An LSI-11 EROM Board 




RDA Inc, 5012 Herzel PI, Beltsville 
MD 20705, (301) 937-2215, has sent 
along this picture of an LSI-11 option 
(Digital Equipment Corporation) which 
requires two slots of an LSI-11's back- 
plane and provides 8 K bytes of storage 
using 2708s as memory elements. The 
memory is set up for selectable 
addressing. Power requirements are 1 A 
on each of three voltages: +5 V, —5 V 
and —12 V when all sixteen 2708 mem- 
ories are plugged into the circuit in the 
empty sockets shown in the photo. (A 
separate programming device is required 
since this board does not include a built- 
in programmer.) Exclusive of the 16 
memory chips, the price of this board is 
$285. Assuming a current mail order 
price of $35 for each 2708, fully stuffing 
the board will cost $560. ■ 

Circle 469 on inquiry card. 



240 BYTE November 1977 





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 


1 2N2907 


PNP 


.15 


1N4007 


1000v 




1A .15 


16-pin pcb .25 ww .40 


2N3906 


PNP 


.10 


1N4148 


75v 


10mA .05 


18-pin pcb .25 ww .75 


2N3054 


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 


i T1P125 


PNP Darlington 


.35 


1N759A 


12v 




z .25 


28-pin pcb .35 ww 1.45 


LED Greer 


, Red, Clear 


.15 


1N4733 


5.1v 




z .25 


40-pin pcb .50 ww 1.25 


D.L.747 


7 seg 5/8" high com-anode 1 .95 


1N5243 


13v 




z .25 


Molex pins .01 To-3 Sockets .45 


XAN72 


7 seg com-anode 


1.50 


1N5244B 


14v 




z .25 




FND359 


Red 7 seg cpm-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 


74L00 


.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 


74S257(8123) 


.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 


741 22 .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 


741 57 .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 
4069 
4071 


.95 
.40 
.35 


7472 


.40 
















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.50 


9000SERIE5 




LM320T12 1.65 


LM340K18 


1.25 


LM741(8-14).25 


9301 




5 .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 


MEMORY CLO( 


:ks 






74S188 (8223) 
1702 A 
MM5314 
MM5316 
2102-1 


3.00 
6.95 
3.00 
3.50 
1.75 


INTEGRATED CIRCUITS UNLIMITI 

7889 Clairemont Mesa Boulevard, San Diego, California 91 


ED 


NE566 
NE567 


1.75 
1.35 


2111 






2102L-1 
TR 1602B/ 
TMS 601 1 


1.95 
6.95 


(714) 278-4394 (Calif. Res.) 
All orders shipped prepaid No minimum 


SPbUIAL 
DISCOUNTS 

Total Order Deduct 

d»oc d»nn cat 


8080AD 

8T13 

8T23 


1 


5.00 
1.50 
1.50 


Open accounts invited COD orders accepted $100 -$300 10% 




Discounts available at OEM Quantities California Residents add 6% Sales Tax J?221 " f} 00 ° I™ 


8T24 




2.00 


All IC's Prime/Guaranteed. All orders shipped same day received. 


q>iuuu - up 


ZU7o 


2107B-4 




4.95 


24 Hour Toll Free Phone 1-800-854-2211 MasterCharge / BankAmericard / AE circle 70 on inquiry card. 



What's New? 



MEMORY 



A 16 K Bit EROM 



An EROM Programmer 




MicroPeripherals, 24 Matford Close, 
Westbury on Trym, Bristol BS10 6LR 
ENGLAND, has announced this pro- 
grammer for the popular erasable read 
only memories with part numbers 
2704, 2708 and 2716. The product 
will program a 1 K chip in 2.5 minutes, 
a process which includes setting up the 
programmed pattern and verifying the 
pattern. The programmer is intended 
to be used with the user's processor as a 
peripheral, and comes in several models. 
The basic model is intended for use with 
2704 (1/2 K bytes) and 2708 (1 K bytes) 
parts, borrowing power from the user's 
system. This model is priced at $199. 
The larger models feature built-in power 
supplies and manual operations via 
switches and LED readouts." 

Circle 486 on inquiry card. 



Nonvolatile to the Core 

For the first time, to our knowledge, 
a product has been designed for the 
Altair (S-100) bus which provides core 
memory for a personal computer system. 
The product is Micro Memory Inc's 
MM-S100 8 K by 8 bit programmable 
memory card. Of what use is a magnetic 
core memory in an age of semiconductor 
circuits? Nonvolatility is the answer. 
With a core memory, magnetic storage of 
data is involved, a technology which is 
not dependent upon continuous 
application of power. Turn off the 
power on a core memory, and it will 
retain its pattern unaltered "forever." 
Turn on the power and the active 
circuits, and it is functionally like any 
semiconductor programmable memory. 
This core memory card thus combines 
the nonvolatility of a read only memory 
with the programmability of dynamic or 
static semiconductor memories. 

The MM-S100 unit plugs directly into 
the Altair (S-100) bus, and has all the 
circuitry needed: timing, control logic, 
decode logic, drive circuits, address and 
data latches, power regulators, etc. It 
runs with a 1 .0 /is cycle time so that no 
wait states are needed with a standard 
8080 clock rate. The price is $650 from 
Micro Memory Inc, 9438 Irondale Av, 
Chatsworth CA 91311, (213) 998- 
0070.- 

Circle 487 on inquiry card. 




16 
EPR0M 



If your 2708 erasable programmable 
read only memories (EROMS) are filling 
up fast, here's one answer to the pro- 
blem: Texas Instruments' 2716, a direct 
plug-in replacement for the 2708. Each 
chip contains 16,384 bits of memory 
and features low power consumption 
(375 milliwatts typical) and DC noise 
immunity in both high and low states 
so that all inputs can be driven by TTL 
logic without the use of pullup resistors. 

The memory circuit is organized as 
2048 words of 8 bit length. It is designed 
for high density, fixed memory applica- 
tions where low power dissipation, fast 
turnarounds or program changes are 
required. Maximum access and minimum 
cycle times are 450 ns. The data outputs 
of the TMS2716 are three state to allow 
connecting of multiple devices on 
common bus. The EROM can be erased 
by exposing the chip through the trans- 
parent quartz lid to high intensity ultra- 
violet light. The TMS2716JL is supplied 
in a standard 24 pin dual in line ceramic 
package. 

Contact Texas Instruments Inc, In- 
quiry Fulfillment Service, POB 1443, 
M/S 669 (attn: TMS2716) Houston TX 
77001,(214) 238-2011." 

Circle 488 on inquiry card. 



At the Frontiers of Silicon Technology 

This electron microscope image 
shows a new American Microsystems Inc 
VMOS process memory device with a 
human hair juxtaposed on top of it. The 
magnification factor is on the order of 
10,000 times the actual size. The V in 
VMOS is emphasized by the V-shaped 
slots in the structure of the devices. The 
part design from which this enlargement 
was made (the S4015-3 integrated cir- 
cuit) is a new commercial volatile memo- 
ry product which has an extremely fast 
access time (45 ns) and 1 K by 1 bit 
static operation. The product is intended 
for use with fast random access scratch 
pads, buffers, cache memories, etc. For 
those implementing microprogrammed 
machines on an experimental basis, this 
memory will prove ideal in a control 
store matched to the characteristics of 
the TTL bit slice parts such as the 2900 
and the Texas Instruments' 74S481 
family. American Microsystems Inc is lo- 
cated at 3800 Homestead Rd, Santa 
Clara CA 95051, (408) 246-0330." 

Circle 489 on inquiry card. 




242 BYTE November 1977 



master charge 



MICROCOMPUTER 



WA 



SUPPORT DEVICES 



8212 
8214 
8216 
8224 
8228 
8238 
8251 
8253 
8255 
8257 
8259 

6800 SUPPORT 

6810P 
6820P 
6828P 
-6834P 
6850P 
6852P 
6860P 
6862P 
6880P 
Z80 



4.00 

12.95 

5.25 

6.00 

9.25 

8.20 

12.00 

28.00 

12.00 

22.00 

22.00 



6.00 

8.00 

9.60 

21.95 

12.00 

17.00 

15.00 

18.00 

2.70 



SUPPORT DEVICES 


3881 15.95 

3882 15.95 

F-8 SUPPORT DEVICES 


3851 
3852 


14.95 
14.95 


FLOPPY 

DISC CONTROLLER 



PD372D 
1771. 



65.00 
69.95 



DYNAMIC RAMS 

414D (16P) 
1103 (16P) 
2104 (16P) 
2107B (22P) 
2107B-4(22P) 
TMS4050 (18P) 
TMS4060 (22P) 
4096 (16P) 
MM5262 (22P) 
MM5270 (18P) 
MM5280 (22P) 



5.50 
1.50 
6.50 
4.50 
4.00 
4.50 
4.50 
5.50 
3.00 
5.00 
6.00 



STATIC RAMS 

31L01 

91L11A 

91 LI 2 A 

1101A 

2101 

2102 (10S) 

2102-1 (5.00NS) 

2M1A-4 

2112A-4 

250 1B 

3107 
*4200A (250NS) 

410D (200NS) 
*4804 

5101 

74C89 

74S201 

91L02A 

7489 

8225 

8599 

82S09 
* Limited supply. 



2.00 
4.25 
4.25 
1.00 
3.00 
1.25 
1.50 
4.45 
3.00 
1.45 
2.95 
13.75 
11.95 
20.00 
20.00 
3.00 
4.75 
2.00 
2.25 
1.50 
1.50 
9.00 



MISC OTHER 
COMPONENTS 

NH0025CN 

NH0026CN 

N8T20 

N826 

N8T97 

74367 

DM8098 

1488 

1489 

3205 

D-3207A 

C-3404 

P-3408A 

P-4201 

MM-5320 

MM-5369 

DM-8130 

DM-8131 

DM-8831 

DM-8833 

DM-8835 

SN74LS367 

SN74LS368 



1.75 
3.00 
4.00 
3.25 
1.45 
1.00 
1.00 
1.95 
1.95 
6.20 
2.50 
3.95 
6.75 
4.95 
7.50 
2.00 
3.00 
2.50 
2.50 
2.50 
2.50 
1.00 
1.00 



MICROPROCESSOR'S 



F-8 

Z-80 

Z-80A 

CDP1802DC 

AM2901 

6502 

6800 

8008-1 

8080A 

8080B 



19.95 
36.95 
49.95 
29.50 
22.95 
24.95 
24.95 
8.75 
15.95 
16.95 




SHIFT REGISTERS 
DYNAMIC 



1404 AN 


3.00 


2405 


4.95 


2505K 


3.00 


SHIFT REGISTERS 


STATIC 




MM506 


.89 


2509K 


1.00 


2518B 


3.95 


2533V 


2.00 


TMS3002 


1.00 


TMS3112 


3.95 


MM5058 


2.00 



FIFO 

3341 A 
2812-D 



6.75 
11.95 



KEYBOARD CHIPS 

AY5-2376 14.95 

AY5-3600 14.95 

TV GAME CHIPS 
TMS 1955 (6 Games) 

10.95 
AYSS-8500(6Games) 

10.95 



S-2350 
IM-6403 
TMS-6011 (Tl) 
TR-1602A(WD) 

U ARTS 

AY5-1013 
AY5-1014A 



13.50 
10.80 
6.25 
6.25 



6.75 
9.95 



CHARACTER 

GENERATORS 

2513 

2513 

3257 

MCM6571 

MCM6571A 

MCM6572 

MCM6581 



WAVEFORM 
GENERATOR 

8038 

MC4024 

566 



6.75 
6.75 
18.00 
10.80 
10.80 
10.80 
8.75 



4.50 
2.75 
2.00 



PROM'S 



1702A 

1702AL 

2704 

2708 

2716 

3601 

5203AQ 



5.00 

7.00 

20.00 

24.00 

75.00 

4.50 

7.00 



5204AQ 

6834 

6834-1 

82S23B 

82S129B 

8223B 



10.00 
21.95 
16.95 
4.00 
4.25 
4.00 



IMSAI/ALTAIR 



S-100 



COMPATIBLE 



JADE Z 80 

v KIT 

-with PROVISIONS for 

ONBOARD 2708 and POWER ON JUMP 

$135.00 EA. 




Electronics for the Hobbyist and Experimenter 



5351 WEST 144th STREET 

LAWNDALE, CALIFORNIA 90260 

(213) 679-3313 



Discounts available at OEM quantities. Add $1.25 
for shipping. California residents add 6% sales tax. 



Assembled & Tested 



8K STATIC RAM BOARD 

250ns. $209.95 

350ns. $1 99.95 

450ns. $189.95 

* WILL WORK WITH NO FRONT PANEL 

* FULL DOCUMENTATION 

* FULLY BUFFERED 

* S100 DESIGN 

* ADEQUATELY BYPASSED 

* LOW POWER SCHOTTKY SUPPORT IC'S 



KIT 



250ns. 
350ns. 
450ns. 



$169.95 
149.95 
11 39.95 



Circle 78 on inquiry card. 



BYTE November 1977 



243 



What's New? 



PUBLICATIONS 



Motorola's New HEP Catalog 




Motorola has announced its new 
cross reference guide and catalog describ- 
ing the HEP line of semiconductor 
products. HEP products are designed 
primarily for hobbyists, experimenters, 
professional service technicians and 
dealers and consist of replacements for a 
large number of transistors, thyristors, 
diodes and FETs, as well as RTL, HTL, 
DTL, TTL and CMOS integrated circuits 
and linear devices. The catalog costs $2 
and is available from the Motorola 
Technical Center, Motorola Semi- 
conductor Products Inc, POB 20294, 
Phoenix AZ 85036, (602) 244-6900.- 

Circle 456 on inquiry card. 



Is the Dragon a Phoenix? 




The theme of rebirth and renewal is a 
very real one, as exemplified by Phyllis 
Cole's transformation of People's Com- 
puters from a newspaper format tabloid 
(hard to keep track of) into the 64 page 
(including covers) saddle stitched publi- 
cation shown in itsMay-june 1977 form 
in this photo. People's Computers is 
published bimonthly by People's Com- 
puter Company, 1263 El Camino Real, 
Box E, Menlo Park CA 94025. PCC is 
a tax-exempt, nonprofit corporation 



and donations are said to be tax-deduct- 
ible. Subscriptions are $8 per year in 
the US. Single copy price is $1.50. 

The editorial flavor which Phyllis 
brings to this publication is that of 
commentary on what's happening, light 
software, background information on 
computing and related peripheral issues. 
It is a magazine intended to be readable 
and enjoyable for the neophyte. (Our 
resident noncomputer people at BYTE 
grabbed the first issue so quickly that it 
became difficult to find a copy from 
which to abstract this short review.) 
Some titles from the first issue received 
here in the new format include: 

Home Computing: An Introduc- 
tion for Novices 

Once Upon a Faire 

Computers and Copyright Law 

Women and Computers: A Dia- 
logue 

The Dot and the Line 

Stock Market Simulations 

BASIC Mortgages 

Exagon 

Women and Math Projects: 
Lawrence Hall of Science 

Space Colony: Living In a Garden 
of Illusions 

Fortran Man 

More Tiny BASIC 

Make Believe Computers 

Pilot 

The Data Handlers Users Manual, 
Part 3. 

Announcements 

Letters 

It is an interesting and positive transfor- 
mation which should be sampled to be 
believed. . .CH" 

Circle 458 on inquiry card. 



IEEE Offers Microprocessor Talks on 
Cassette 

A recording of three talks given at a 
tutorial "How to Use Microprocessors" 
held at Stanford University in the 
Spring of 1976 is available on standard 
magnetic tape cassettes for $5 from the 
IEEE. The talks are by Dr Robert 
Noyce, chairman of the board, Intel 
Corporation, Floyd Kvamme, vice pres- 
ident, National Semiconductor, and Dr 
Adam Osborne, president, Osborne 
Associates. 

Topics covered include future 
developments in microprocessors, the 
business aspects of producing them, and 
which of the current microprocessors is 
most suited to particular hardware 
requirements. The tutorial was 
sponsored by the IEEE Computer 
Society, the Electron Devices and the 
Reliability Groups, Santa Clara (Silicon) 
Valley Section. 

To obtain your copy of the cassette 
tape, send a check for $5 to the IEEE 
Section Office, 701 Welch Rd, Palo Alto 
CA 94304. Notes on the blackboard 
presentations and view graphs of the 
speakers will be included." 



A Special Free Offer from Radio Shack 

Radio Shack is offering five free 
copies of their new Archer Semicon- 
ductor Reference Handbook to any in- 
terested organization. 

The 128 page handbook, which nor- 
mally sells for $1 .95, lists over 36,000 
replacement transistors, diodes and other 
devices, and includes a cross-reference 
guide, sections on the care and handling 
of transistors, soldering precautions, how 
to test transistors, and a glossary. 

To get five free copies of the hand- 
book, write on your club's stationery to 
Radio Shack, Dept SRH, 2617 W 7th 
St, Fort Worth TX 761 07. ■ 



Home Computer Books Available 

Dilithium Press has a new brochure 
detailing their computer books, all of 
which are slanted toward the home com- 
puter hacker. Beginner's books as well as 
more advanced books are included in the 
list, available for free from Dilithium 
Press, POB 92, Forest Grove OR 9711 6." 



Fenwal Offers a New Thermistor Manual 




THERMISTOR 
MANUAL 




Many people who read BYTE are 
interested in microcomputer applications 
involving temperature measurement. One 
way to monitor temperatures is with a 
thermistor. Fenwal Electronics is making 
available a free 34 page thermistor 
manual containing a variety of tempera- 
ture coefficient tables, resistance temper- 
ature tables and so on. Contact Fenwal 
Electronics, 63 Fountain St, Framing- 
ham MA 01701, (617) 872-8841.- 



Circle 457 on inquiry card. 



Circle 460 on inquiry card. 



Circle 461 on inquiry card. 



244 



BYTE November 1977 



C^mnn 



7400N TTL 



SN7400N 
SN7401N 
SN7402N 
SN7403N 
SN7404N 
SN7405N 
SN7406N 
SN7407N 
SN7408N 
SN7409N 
SN7410N 
SN7411N 
SN7412N 
SN7413N 
SN7414N 
SN7416N 
SN7417N 
SN7420N 
SN7421N 
SN7422N 
SN7423N 
SN7425N 
SN7426N 
SN7427N 
SM7429N 
SN7430N 
SN7432N 
SN7437N 
SN7438N 
SN7439N 
SN7440N 
SN7441N 
SN7442N 
SN7443r 
SN7444N 
SN7445N 
SN7446N 
SN7447N 
SN7448N 
SN7450N 
SN7451N 
SN7453N 
SN7454N 
SN7459A 
SN7460N 
SN7470N 



C04000 
CD4001 
C04002 
CD4006 
C04007 
CD4009 
C04010 
CD4011 
CD4012 
C04013 
C04014 
C04015 
C04016 
CD4017 
C04018 
CD4019 
C04020 
C04021 
C04022 
C04023 
C04024 
C04025 
CO4026 
C04027 
CD4028 
C04029 
C04030 
CD4035 
CD4040 
C04041 
C04042 
C04043 



SN7472N 

SN7473N 

SH7474N 

SN7475N' 

SN7476W 

SN7479N 

SN74S0N 

SN7482N 

SN7483N 

SN7485N 

SN7486N 

SN7488N 

SN7489N 

SN7490N 

SN7491N 

SN7492N 

SN7493N 

SN7494N 

SN7495N 

5N7496N 

SN7497N 

SN74100N 

SN74107N 

SN74109N 

SN74116N 

SN74121N' 

SN74122N 

SN74123N 

SN74125N 

SN74126N 

SN74132N 

SN74136N 

SN74141N 

SN74142N 

SN74143N 

SN74144N 

SN74145N 

SN7-1147N 

SN74148N 

SN74150N 

SN74151N 

SN74153N 

SN74154N 

SN74155N 

SN74156N 

SN74157N 



SN74160N 

SN74161N 

SN74162N 

SN74163N 

SN74164N 

SN74165N 

SN74166N 

SN74167N 

SN74T70N 

SN74172N 

SN74173N 

SN74174N 

SN74175N 

SN74176N 

SN74177N 

SN74179N 

SN74160N 

SN7-1161N 

SN74162N 

SN74184N 

SN74185N 

SN74186N 15.00 

SN74187N 

SN74188N 

SN74190N 

SN74191N 

SN74192N 

SN74193N 

SN74194N 

SN74195N 

SN74196N 

SN74197N 

SN74198N 

SN74199N 

SN742O0N 

SN74251N 

SN74279N 

SN74283N 

SN74284N 

SN74285N 

SN74385N 

SN74366N 

SN74367N 

SN74368N 

SN74390N 

SN74393N 



6.00 



1.79 



2.25 



20% Discount for 100 Combined 7400's 



CMOS 



C04044 

C04046 

C04047 

C0404B 

CD4049 

C04050 

CD4051 

CD4053 

CD4056 

C04059 

C04050 

C04066 

CO4068 

C04069 

CD4070 

C04071 

C04076 

C04081 

C04082 

MC14409 

MC14410 

MC14419 

MC14506 

MC14507 

C04508 

C04510 

CD4511 

CD4515 

CD451S 

CO4520 



14.95 
14.95 
4.95 



MC14562 


14.50 


C04566 


2.25 


MC14583 


3.50 


74CO0 Series 


74C00 


.39 


74C02 


.55 


7«C04 


75 


74C10 


65 


74C14 


3.00 


74C20 


.65 


74C30 


.65 


74C42 


2.15 


74C73 


1.50 


74C74 


1.15 


74C89 


4.00 


74C90 


3.00 


74C93 


2.00 


74C95 


2.00 


74C107 


1.25 


74C15J 


2.90 


74C154 


3.00 


74C157 


2.15 


74C160 


3.25 


74C161 


3.25 


74C1B3 


3.00 


74C164 


325 


74C173 


2.60 


74C193 


2.75 


74C195 


2.75 


80C95 


1.50 


80C97 


1.50 



IM3U0H 
I.M301H 
LM301CN 
LM302H 
I.M304H 
LM305H 
LM307CN 
LM306H 
LM308CN 
LM309H 
LM309K 
LM310CN 
LM311H 
LM311N 
LM317K 
LM318CN 
LM319N 
LM320K-5 
LM320K-5.2 
LM320K-12 
LM320K-15 
LM320T-5 1.25 
LM320T-5.2 1.25 
LM320T-8 1-25 
LM320T-12 1.25 
LM320T-15 1.25 
LM320M8 125 
LM320T-24 1.25 
LM323K-5 5.95 
LM324M 1-80 

LM339N .99 

LM340K-5 1-35 
LM340K-6 1-35 
LM340K-8 135 
LM340K-12 1.35 
LM340K-15 1.35 
LM340K-18 1-35 
LM340K-24 1.35 
LM340T-5 1-25 
LM340T-6 125 



LINEAR 



6.50 



1.35 



LM340T-8 

LM340M2 

LM340T-15 

LM340T-18 

LM340T-24 

LM350N 

LM351CN 

76MG 

LM370N 

LM373N 

LM377N 

LM380N 

LM380CN 

LM381N 

LM382N 

NE501K 

NE510A 

NE529A 

NE531H 

NE536T 

NE540L 

NE550N 

NE555V 

NE560B 

NE5618 

NE562B 

NE565H 

NE385N 

NE566CN 

NE567H 

NE567V 

LM703CN 

LM709H 

LM709N 

LM710N 

LM711N 

LM723H 



6.00 
4.95 
300 
6.00 
6.00 



5.00 
5.00 
5.00 



LM723N 

LM733N 

LM739N 

LM741CH 

LM741CN 

LM741-14N 

LM747H 

LM747N 

LM74GH 

LM748N 

LM1303N 

LM1304N 

LM1305N 

LM1307N 

LM1310N 

LM1351N 

LM1414N 

LM1458CN 

LM1496N .95 

LM1556V 1.75 

LM2111M 195 

LM2901N 2.95 

LM3053 1.50 

LM3065N .69 

LM3900N(3401).49 

LM3905N .89 

LM390 1.25 

LM5556N 

MC5558V 

LM7525N 

LM7534N 



1.40 
.85 
2.95 



1.75 



1.00 



LM75450 
75451CN 
75452CN 
75453CN 
75454CN 
75491CN 
75492CN 
75494CN 



4.95 
.49 



74LS00 
74LS02 
74LS03 
74LS04 
74LS05 
74LS08 
74LS10 
74LS13 
74LS14 
741.S20 
74LS26 
74LS27 
74LS28 
74LS30 
74LS32 
74LS40 
74LS42 
74LS47 
74LS51 
74LS55 
74LS73 
74LS74 
H.74LS75 



I74LS00 TTL 



74LS76 
74LS83 
74LS85 
74I.S86 
74LS90 
74LS92 
74LS93 
74LS95 
74LS96 
74LS107 
74LS109 
74LS112 
74LS123 
74LS132 
74LS136 
74LS138 
74LS139 
74LS151 



74LS153 
74LS155 
74LS157 
74LS160 
74LS161 
74LS162 
74LS163 
74LS164 
74LS175 
74LS181 
74LS190 
74LS191 
74LSt92 
74LS193 
74LS194 
74LS195 
74LS253 
74LS257 
74LS260 
74LS279 
74LS367 
74LS388 
74LS670 



Grab Bag Specials 



GB100 
GB101 
GB102 
GB103 
GB104 
Gei05 



GB106 
G3107 



GB110 
GB111 
GB112 



CAPACITORS 

100 ea. Ceramic Disc S2.00/lot 

60ea. Mylar 4.00/lot 

60ea. Electrolytic* 4.00/tol 

40ea. Tantalum (tubular) 4.00/lo1 

20 ea. Ceramic Trimmeis (marked) 6.00/lot 

20 ea. Ceiamic Trimmers 
(house # or unmarked) 

DIODES 

100 ea. Germanium 2.00/tol 

100 ea. Silicon 2.00/lot 

INTEGRATED CIRCUITS 

50 ea. Marked TTL Series 4.00/lot 

30ea. Marked Linear 4.00/lot 

LEOS LAMPS • Readouts 

lOOea. ASST LEOS 6.00/lot 

40 ea. NE2T.ype Lamps 3.00/lot 

20 e . Multiple Readouts. Calculators, Watches, 
Timers. Ledsto Panaptex 

New — Used — Rejects 600/lo1 



RESISTORS 

GB116 200 ea. V* watt Assortment 

Gei17 200 ea. M w tt Assortment 

GB118 40 ea.Wirewound 3-10 watt 1-100 ohm 

GB119 40 ea. Wirewound 3-10 watt 10IW-25K 

SWITCHES 

3.00/lot GB120 25 ea. Miniature Slide 
GB121 12 ea. Rocker 
G0122 20 ea. Reed-Coii & Magnetic 



MISC. 

G8123 30 ea. Hea! Sinks Asst. Sizes 2.50 

GB124 6 ea. Calculator Type KoyboarrJs 5.00 

GB125 300ea.MofexPins(8.9.14 sections) 3.00 

G8126 50 ea. Opto Isolatois IL-1 Series (untested) 2.00 

G8127 100 ea. Transistors Plastic & Power 3.00 

G8128 30 ea. Torolds Cores Iron & Tape 4.00 

GB129 50ea. Ph otoTranslstors 4.00 
G8130 1 aa. Tape Orive • 6 volt Motor with Erase Head & 

2 Cassette Tapes (no amplifier) 5.00 

GB131 30 m. 6" Shrinktubing Asst. Sizes & Colors 4.00 

GB132 Wire Asst. Sizes & Colors — 1 lb. 2.95 

POTENTIOMETERS 

30 ea Minature Trimmeis t00v-1meg 4.00 G8115 10ea. tO Turn P.C. Mount (rectangular 

10 ea. 10 Turn P.C. Mount (rectangular mismaiked) 2.00 

marked) 4.00 G8133 15 ea. %" sqaure Single Turn P.C. Mount 

(mismarkedl 3.0O 



XC209 
XC209 
XC209 

XC22 
XC22 
XC22 
XC22 
SSL -22 



125" dia. 

Red JO/SI 

Green 4/Sl 

Oange 4/S1 

Yellow 4/S1 
.200" dla 

Red 10/S1 

Green 4/S1 

Yellow 4/S1 

Orange 4/Sl 

RT 4/Sl 



DISCRETE LEDS 



XC111 
XC111 



XC526 
XC526 
XC526 
XC526 
XCS26 



Red 
Green 
Yellow 
Orange 

Cleat 



XC558 
XC556 
XC556 
XC556 
XC556 



.200" dia. 
Red 
Green 
Yellow 
Orange 
Clear 



.190" dia. 
Red 10/S1 

Green 4/St 

Yellow 4/Sl 

Orange J /SI 

.085" dia. 
MV50 - Red - 6/S1 



7/J1 



INFRA-RED LED 



DISPLAY LEDS 



TYPE 

MAN 1 
MAN 2 
MAN 3 
MAN 4 
MAN 7 
MAN7G 
MAN7Y 
MAN52 
MAN71 
MAN 72 
MAN 74 
MAN 81 
MAN 82 
MAN 84 
MAN 3620 
MAN 3640 
MAN 4610 
MAN 4540 
MAN 4710 
MAN 4730 
MAN 4740 
MAN '330 
MAN 6810 

MAN 6630 



POLARITY 

Common Anode 
5 x 7 Dot Matrix 
Common Cathode 
Common Cathode 
Common Anode 
Common Anode-green 
Common Anode-yellow 
Common Anode-green 
Common Anode 
Common Anode 
Common Cathode 
Common Anode -yellow 
Common Anode -yellow 
Common Cathode-yellow 
Commmon Anode-orange 
Common Cathode-oran ge 
Common Anode-orange 
Common Cathode-orange 
Common Anode-red 
Common Anode-red 
Common Cathode-red 
Common Anode-yellow 
Common Anode-Double Olgit- 
range 
Common Anode-orange 



MAN 8650 
MAN 6660 
MAN 6680 
MAN 6710 



POLARITY 

Common Cathode-Oouble 
Olgit-oraitge 
Common Cathode 
Common Anode 
Common Cathode 
Common Anode-Double Dig 
red 



MAN 6730 Common Anode-Oouble Digit- .560 



.300 1.25 
.300 1.50 
.300 1.00 



MAN 6740 

MAN 6750 

MAN 8760 

MAN 6780 

DL70I 

DL702 

OL704 

OL707 

DL728 

DL741 

OL746 

DL747 

OL749 

OL750 

OL338 

FND70 

FND503 

FND507 



RCA LINEAR 

2.15 
2.56 



CA3013 
CA3023 
CA3035 
CA3039 
CA3046 
CA3053 
CA3059 
CA0O60 
CA3080 
CA3081 
CA3062 



CA3083 
CAM 36 
CA30S9 
CA3091 
CA3102 
CA3123 
CA3130 
CA3140 
CA3401 
CA3600 
RC4194 
RC4195 



red 

Common Cathode-Oouble 
Olrjlt-red 

Common Cathode 
Common Anode-red 
Common Cathode-ted 
Common Anode-redit 
Common Cathode-red 
Common Catnode 
Common Anode 
Common Cathode 
Common Anode 
Common Anode 
Common Anode 
Common Cathode 
Common Cathode 
Common Cathode 
Common Cathode (FND359) 
Common Cathode (FND500) 
Common Anode (FNDS10) 



.250 .75 



HP 5082-7400 Series — Multi-Digit 

• VV' hi. • Common Cathode Red 

• 3-5 volts @i 5 mils/second 10 "J?** 

• 7 segment Monolithic jJJ'J ' 7g 

• Dip Package 4Digit M m 
5 Digit 1.19 



TV GAME CHIP SET — $9.95 

Includes AY-3-8500-1 Chip and 2.010 mhz crystal 
(2.010 crystal - $1. 95 fla/AY-3-8500-1 chip — $8.95 ea.) 



8 pm 
14 pm 
16 pin 
18 pin 
22 pm 
U pin 
16 pm 
18 pin 
24 pin 



14 pm 
16 pm 
18 pm 

10 pin 
14 pin 
16 pin 
18 Pin 
22 pin 



S 17 

20 



IC SOLDERTAIL — LOW PROFILE (TIN) SOCKETS 

25-49 50-100 



35 Pin 
40 pm 

35 SOLQERTAIL STANDARD (TIN) 



SOLDERTAIL S TANDARD (GOLD) 

24pm 



WIRE WRAP SOC ETS (GOLD) LEVEL #3 

^■^■^■m ^mm 24pm 



36 pin 
40 pin 



50 PCS. 

ASST. 1 
ASST. 2 
ASST. 3 
ASST. 4 
ASST. 5 
ASST. 6 
ASST. 7 

ASST. 8R 



RESISTOR ASSORTMENTS $1 .75 PER ASST. 



10 OHM 12 OHM 

27 OHM 33 OHM 

68 OHM 82 OHM 

180 OHM 220 OHM 

470 OHM 560 OHM 

1.2K 1.5K 



15 OHM 18 OHM 

39 OHM 47 OHM 

100 OHM 120 OHM 

270 OHM 330 OHM 

680 OHM 820 OHM 



16K 



2 2K 



22 OHM 
56 OHM 
150 OHM 
390 OHM 
1K 
2 7K 
4.7K 5 6K 6.8K 

12K 15K 18K 

33K 39K 47K 

82K 100K 120K 

220K 270K 330K 

560K 680K 820K 

1M 1.2M 1 5M 1 8M 2 2M 

5ea. 2.7M 3.3M 3 9M 4.7M 5 6M 

Includes Resistor Assortments 1 -7 (350 PCS 



150K 
390K 



180K 
470K 



1/4 WATT 5% = 50 PCS. 
1/4 WATT 5% = 50 PCS. 
1/4 WAIT 5% - 50 PCS. 
1/4 WATr 5% 50 PCS. 
1/4 WATT 5% = 50PCS. 
1/4 WATT 5% = 50 PCS. 
1/4 WATT 5% = 50PCS. 

) $10.95 ea. 



$5.00 Minimum Ortir - U.S. Finds Onry 
Callfenili RMitfrnts — AM 6% Sates Th 



Spec Sheds - 25e — Sand 35c Stomp for 1578 Catalog 
Dealer Information Available) 




1021-A HOWARD AVE., SAN CARLOS, CA. 94070 
PHONE ORDERS WELCOME - (415) 5928097 
All Advertised Price* Good Thru November 



WIRE WRAP CENTET N 

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 for 30 AWG Wire 

• 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 

25ft. min. $1.25 50ft. $1.95 100ft. $2.95 1000ft. $15.00 
SPECIFY COLOR — White - Yellow - Red - Green - Blue - Black 



WIRE DISPENSER — WD-30 

• 50 ft. roll 30 AWG K NAR wire wrap wire $3.45 ea. 

• Cuts wire to desired length 

• Strips 1" of insulation Specify — Blue- Yellow-White-Red 




Comes with lest 
leads, oper ting manual 
and spare lice. 



Nevi 
3'/2-Digit Portable DMM 

. Overload Protected • . 3" high LEO Display 

• Batteiy or AC operation • Auto Zeroing 

• Imv, IVa, 0.1 ohm resolution • Overange reading 

• 10 meg input impendence 

• DC Accuracy 1% typical 

RangM: OCVoItage: ±0-10O0V7ACVoltage: 0-1000V 
Freq. Response: 5O-400HZ/OC-ACCurrent:0-1000mA 
Resistance: 0-10 meg ohm 
■ Size: 6.4- x 4.4" x 2- 
Model 2800 $99.95 

AC Adapter BC-28 8.00 

Rechargeable Batteries BP-2B 20.00 
Carrying Case LC-28 6.00 



rJATA HANDBOOKS 

7400 Pin-out & Description of 5400/7400 1CS $2.95 

CMOS Pin-out & Description of 4000 Series ICS $2.95 

Linear Pin. out & Functional Description $2.95 

ALL THREE HANDBOOKS S6.95 



TYPE 

1N746 

1N75IA 

1N752 

1N753 

1N754 

1N959 

1N9658 

1N523Z 

1N5234 

1N5235 

1N5236 

1N456 

1N456 

1N495A 

1N4O01 

1N4002 

1N4O03 

1N4004 



ZENERS - 

VOLTS 



400mm 
400m 
400m 
400m 
400m 
40Om 
400m 
500m 
500m 
500m 
500m 
40m 
7m 



100 PtV 1 AMP 
200 PIV 1 AMP 

4oo m 1AMP 



VOLTS 

500 PIV 1 AMP 
600 PIV 1 AMP 
1000 PIV 1 AMP 
200m 



12 



10m 
10m 



DIODES - RECTIFIERS 

PRICE TYPE 

4/1.00 1N4005 

4/1.00 1fM006 

4/1.00 1N4007 

4/1.00 1N3600 

4/1.00 1N4148 

6/1.00 1N4154 

4/1.00 1N4305 

28 1N4734 

28 1N4735 

28 1N4736 

2B 1N473A 

6/1.00 1N4742 

6/1.00 1N4744 

6/1.00 1N1183 

12/1.00 1N1164 

12/1.00 IN1 185 

12/1.00 1N11B6 

12/1.00 1N11S8 



PRICE 

10/1.00 
10/1.00 
10/1.00 
6/1.00 
15/1.00 
12/1.00 
20/1.00 
28 
28 



SOPTV 35 AMP 
100 PTV 35 AMP 
150 PfV 35 AMP 
200 PIV 35 AMP 
400 PW 35 AMP 



SCR AND 

C360 15A<§ 

C38M 35A@ 

2N2328 

M0A980-1 

MDA 980-3 



12A@ 

12A@ 



FW BRIDGE RECTIFIERS 

400V SCR 

200V SCR 

200V SCR 

50V FWBaiOGE REC. 

200V FW BRIDGE REC, 



MPSA05 
MPSA06 

2N2221 
2N2222A 
2N2369 
2N2369A 
2N2484 
2N2906A 
2N2907A 
2N2925 
2N30S3 
2*3055 
MJE3055 
MJE2955 
2N3392 
2N3398 



TRANSISTORS 



3/SlOO 
4/S1 00 
5/J1.0C 
Wl 00 
4*1.00 
4*1.00 
4/J100 
5.1100 
5/S100 
2*100 
I 69 
$100 
SI 25 
5*100 
5*100 



PN3567 
PN3568 
PN3569 
2N3704 
2N3705 
2N3706 
2N3707 
2N3711 
2N3724 
2N3725 
2N3903 
2N3904 
2N3905 
2N3906 
2N4013 
2N40U 



11.00 ._, 

11.00 JLX 

11,00 (T 

11.00 | I 

« 111 



5*1. 



51 .00 
5,11.00 

4*1.00 
4*1 00 
3,1100 
3*100 



2N4123 10/51.00 



PN42-I9 

PN4250 

2N4400 

2N4401 

2N44D2 

2N4403 

2N4409 

2N50K6 

2N5087 

2NS088 

2N5089 

2N5129 

2N5138 

2N5139 

2N5209 

2N5951 

C106B1SCR 

2H5432 



4*100 
4*100 

4*1 00 
4*1.00 



5.1100 

ill 00 

2/1100 

HOO 



CAPACITOR 



TOpf 

22pf 

47pf 
100 pi 
220p1 
470 pi 

,001ml 
.0022 
.0047mf 
01mf 

.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 .OOlfiF 



CORNER 



.05 



.04 .03 ,0047 M F 

.04 .03 .01/iF .05 

.04 .03 .022pF .06 

.04 .03 .047>xF .06 

.04 .035 .1 M F .12 
100 VOLT MYLAR FILM CAPACITORS 

.10 .07 .022mt .13 

.047mf .21 



.10 



.07 



,1mf 



.22mf .33 .27 

+20% DIPPED TANTALUMS (SOLID) CAPACITORS 
.26 .23 .17 1.5/35V .30 .26 
.28 .23 .17 2.2/25 V .31 .27 
.28 .23 .17 3.3/25V .31 .27 

.28 .23 .17 4.7/25V .32 .28 
.28 .23 .17 6.8/25V .36 .31 
.28 .23 .17 10/25V .40 .35 

.28 .23 .17 15/25V .63 .50 

MINIATURE ALUMINUM ELECTROLYTIC CAPACITORS 



AililLMd 
.47/50V .15 .13 
1.0/50V .16 .14 



3.3/50V 

4.7/25V 

10/25V 

10/50V 

22/25V 

22/SOV 

47/25V 

47/50V 

100/25V 

100/50V 

220/25V 

220/50V 

470/25V 

1000/16V 

2200/16V 



.47/2SV 
-47ffiOV 
1.0/16V 
1.0/25V 
1.0/SOV 
4.7/16V 
4.7/25V 
4.7/50V 
10/16V 
10/25V 
10/5OV 
47/50V 
100/16V 
100/25V 
100/50V 
220/16V 
470/25V 



Circle 79 on inquiry card. 



BYTE November 1977 



245 



What's New? 



SOFTWARE 



PDP-11 Software Information Available 



Real-Time 
Systems 




"Real-Time Systems," a new 
brochure available from Digital Equip- 
ment Corporation, describes the hard- 
ware and software components of 
Digital's real time computing systems 
based around the PDP-11 family of 
computers. The publication covers the 
RT-11, RSX and IAS operating systems, 
FORTRAN IV, FORTRAN IV-Plus and 
IAS COBOL high level languages. Also 
covered is special application oriented 
software for real time data acquisition, 
analysis and reporting in biological and 
physical science laboratories and process 
monitor/control situations. The 

brochure also lists sample configurations 
ranging from PDP-11 V03 to PDP-11/70 
systems, laboratory and industrial real 
time interfaces, and available supporting 
services. To obtain a copy, contact 
Communication Services, Digital Equip- 
ment Corporation, 444 Whitney St, 
North boro MA 01532." 

Circle 500 on inquiry card. 

New Information for Sphere Owners 

If you've been looking for informa- 
tion about the Sphere computer, contact 
Programma Consultants, 3400 Wilshire 
Blvd, Los Angeles CA 90010. They offer 
a free catalog of new software and hard- 
ware, plus user group news pertaining to 
the Sphere. The catalog is arranged in 
question and answer format, and deals 
with such topics as the availability of 
FOCAL, FORTH, APL and cross com- 
pilers for the unit." 

Circle 501 on inquiry card. 

An Assembler/Text Editor for the KIM 

Micro Software Specialists have an- 
nounced their new assembler/text editor, 
package for KIM and TIM computers. 
Documentation and a hexadecimal 
object code listing are included. The 
price is $19.95 for the program in either 
cassette or paper tape form. Contact 
Micro Software Specialists, POB 3292, 
E T Station, Commerce TX 75428." 

Circle 502 o n inquiry card. 



A High Level Programming Language 
for the Motorola Microcomputer 

Intermetrics Inc has announced PL/ 
M6800, the first high level programming 
language for the Motorola M6800 (or 
AMI S6800) microcomputer. The lan- 
guage is syntactically identical to Intel's 
PLM. 

PL/M6800 has a 1 pass compiler 
which produces directly loadable object 
code and listings. The new compiler 
features a user controlled switch to 
determine whether the emitted code will 
be in the AMI or Motorola loader 
format. Other user controlled features 
include listings of source code, object 
code, and assembler code, as well as 
symbol table dumps. 

The new compiler is accessible via 
the NCSS timesharing network, or can 
be purchased directly from Intermetrics 
for installation on IBM 360 or 370 
computers. The purchase price of $1 000 
includes a tape containing the cross 
compiler and all library routines, a user's 
manual, a language reference manual, 
and product maintenance for one year. 

The PL/M6800 compiler is com- 
patible with the PL/M language developed 
by Intel to program their line of micro- 
processors. Intermetrics claims to offer 
"true software portability" in that 
PL/M6800 is not only "PL/M-like," 
but is syntactically identical to PL/M. 

Information on PL/M6800 is avail- 
able from PL/M6800 Product Support, 
Intermetrics Inc, 701 Concord Av, 
Cambridge MA 02138, (617) 661-1840." 

Circle 503 on inquiry card. 



A Mini Word Processing System 

The Software Store has announced 
its Mini Word Processing system designed 
to run on Altair equipment under disk 
extended BASIC, for $150. Mini Word 
Processing is designed to help the oper- 
ator generate letters, text, and mailing 
labels or envelopes. The system consists 
of seven programs which are driven by a 
menu select routine. Each program inter- 
acts with the operator to establish file 
names and drive numbers. The options 
are selected by the yes or no responses 
to the detailed program prompts. After 
each function is completed, the system 
reloads the menu routine. 

A user's manual consisting of 51 
pages is provided with the system. The 
manual includes detailed instructions 
concerning all operator prompts and sys- 
tem error messages, plus a number of 
examples with test data and program- 
ming considerations for custom applica- 
tions. 

Contact The Software Store at 706 
Chippewa Sq, Marquette Ml 49855, 
(906)228-7622." 

Circle 504 on inquiry card. 



Computerized Plotting 

Sylvanhills Lab has announced the 
availability of 8080 software to control 
its series of plotters. Approximately 2 K 
bytes of memory are required. The soft- 
ware may be used in conjunction with 
application routines available from 
Micro-Visions Inc, 4926 Travis, Houston 
TX 77002. 

Plotters are shipped completely 
assembled and tested. The user mounts 
them on the drawing surface and 
completes the interconnection between 
the control boards and the computer. An 
8 bit parallel 10 port, and 5 and 24 V 
power sources are also supplied by the 
user. 

Applications include architectural, 
mechanical and schematic drawing; 
printed circuit board artwork; position- 
ing of small objects; computer generated 
art; games. Sizes available are 1 1 by 1 7 
inches (27.94 by 43.18 cm) for $750, 17 
by 22 inches (43.18 by 55.88 cm) for 
$895, and 22 by 34 inches (55.88 by 
86.36 cm) for $1200. 

Contact Sylvanhills Lab Inc at 1 
Sylvanway, POB 239, Strafford MO 
65757,(417)736-2664." 

Circle 505 on inquiry card. 



TEMPOS, a Multitasking Operating 
System for MITS Computers 

Administrative Systems Inc (AS I) has 
announced its memory resident, multi- 
user, multitasking operating system, the 
TEMPOS Operating System for MITS 
computers with MITS floppy disks. Up 
to seven on line users may access the 
system concurrently, using shared (re- 
entrant) or different tasks. In addition, 
background tasks are supported as 
queued processes. 

The TEMPOS system supports shared 
access to data files with a file "lock" 
feature under program control. 
Extensive file handling capabilities, 
including user defined logical record 
length and random access to file, as well 
as logical record number, are featured. 

A command macro feature may be 
invoked under the TEMPOS system, al- 
lowing an unlimited number of macros 
to be defined and recalled at the system 
and user program levels. Also, to 
facilitate debugging, a single step trace 
feature is included for assembly language 
programs. 

The minimum recommended 

memory requirement for the TEMPOS 
multiuser, multitasking operating sys- 
tem, using two disks and three terminals, 
is 48 K bytes. The price of the TEMPOS 
system is $1000. For further informa- 
tion contact Administrative Systems Inc, 
222 Milwaukee, Suite 102, Denver CO 
80206,(303) 321-2473." 

Circle 506 on inquiry card. 



246 



BYTE November 1977 



/- ^CRYSTALS IT" 

— /-«*»-■ THESE FREQUENCIES ONI Y ^*MH — 



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 (.100 spacing) PINS (Wire Wrap) $6.95 
25 PIN-D SUBMINATURE 

DB25P PLUG $3.25 

D825S SOCKET $4.95 



Part # 

CY1A 
CY2A 



IGY2.01 



Frequency 

1.000 MHz 
2.000 MHz 



Case/Sfyle PFIht 

HC33/U $5.95 

HC33/U $5.95 



CY3A 
CY7A 
CY12A 
CY14A 
CY19A 
CY22A 
CY308 



2.010 MHz 



HC33/U 



4.000 MHz 
5.000 MHz 
10.000 MHz 
14.31818 MHz 
18.000 MHz 
20.000 MHz 
32.000 MHz 



urn 



HC18/U S4.95 

HC18/U S4.95 

HC18MJ S4.95 

HC18U S4.95 

HC18/U S4.9S 

HC18/U S4.95 



HC18/U 



S4.95 



XR-2206KB Kit $19.95 

WAVEFORM 
GENERATORS 

XR-205 S8.40 

XR-2206CP 4 49 

XR-2207CP 3 B5 



XR-2206KAKII $14.95 



EXAR 



STEREO DECODERS 

XR-1310CP S3 20 

XR-1310EP 3.20 

XR-1600P 3 20 

XR-2567 2.99 



XR-2211CP 

XR-4136 

XR-1468 



TIMERS 

XR-555CP S .49 

XR-320P 1 55 

XR-556CP 1 85 

XR-2556CP 3 20 

XR-2240CP 325 

PHASE LOCKED LOOPS 

XR-210 5 20 

XR-215 6.60 

XR-557CP 195 

XR-567Ct 1.70 



205-CB 



HEAT SINKS # 



205-CB Beryllium Copper w-black finish tor TO-5 
291 -.36H Aluminum for TO-220 Transistors & 

Regulators 
680-.75A Black Anodized Aluminum for TO-3 
401 -A Black Anodized Aluminum — predrllled 

mounting holes for TO-3 — 4% x 114 x 2" 



$ .25 



$ .25 

$1.60 



$1.75 



DIP SWITCHES SPST Slide Action 
#206-4 ( 8 pin dip) 4 switch unit $1.75 ea 
#206-7 (14 pin dip) 7 switch unit $1.95 ea 
#206-8 (16 pin dip) 8 switch unit $2.25 ea. 



Etchi ng KjtS (cannot be shipped via air] 

32 X A-1 P.C Etch Materials Kit 

enough lor 5 circuit boards 

27 X A-1 Etcned Circuit Kit 

Plugboards Complete kit — only add water 

6.5 X 4.5 X 1/16 Epoxy glass 
P-Pattern-44 PC. Tabs-spaced .156 ' 
Mating connector tor plugboard — 
22 pin double readout 
Universal Microcomputer/Processor 
plugboard — Epoxy Glass — complete 
with- healsink and mounting hardware 
5.313 X IPX 1/16 copper clad 



3662- 

22/44 - 

8800V- 



®Pm 



$29.95 ea. 
$ 9.95 ea. 
$ 6.95 ea. 
$ 2.95 ea. 
$19.95 ea. 



1/16 VECTOR BOARD 



64P4J Q62XXXP 
169PJJ 02XXXP 
6-1P" 062 
Wii 062 
169PJ4 05? 
169P84 062 
l69P-id 062C1 



6 50 
17 00 
6 50 



© 1km 



' SLIT-N-WRAP WIRE WRAP TOOL 

_ • Slits and opens insulation exposing 
bare wire 

• No pre-cutting or pre-stripping. 

• Comes complete with two - 100 ft spools #28 AWG wire 

Modal P180 $24.50 



HEXADECIMAL ENCODER 19-KEY PAD 

• i • o ' 

• ABCDEf 

• Return Key 

• Optional Key (Period) 

• - Key 

$10.95 each 






63 KEY KEYBOARD 




$24.95 

This keyboard features 53 unen- 
coded SPST keys, unattached to 
any kind of PC B A very solid 
molded plastic 13" x 4" base 
suits most applications. 



HD0165 16 LINE TO FOUR BIT PARALLEL KEYBOARD ENCODER CHIP 17.95 



TOOLS 

A97MS —Diagonal Cutter - 4" semi-flush cut $8.50 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 TodI - 8 1 /T long 8.50 ea. 
Nibbing Tool — Cuts. Trims or Notches Metal 

up to #18 gauge 6.95 ea. 

Nibbling Tool Replacement Punch 3.75 ea. 



i PERMACEL® P-29 PLUS Electrical Tape - All Weather 

\ »W wide x 66 ft. • Blac* vinyl 

\^9_Rolls $.79 each 10-up Rolls $6.95/10 roll package 



8080A 

8212 

8214 

8216 

8224 

CDP1802 



MICROPROCESSOR COMPONENTS 



CPU 

8 Bit Input/Output 
Priority Interrupt Control 
Bi-Directional Bus Driver 
Clock Generator/Driver 



$16.00 
4.95 
15.95 
6.95 
10.95 
19.95 



8228 System Controller - Bus Driver 

MC6800 8 Bit MPU 

MC6820 Periph. Interface Adapter 

MC6810AP1 128 x 8 Static RAM 

MC6830L8 1024 x 8 Bit ROM 

Z80 CPU 



S10.95 
22.50 
10.00 
7.95 
15.00 
39.95 



250-J 
2518 
2519 
252-: 
2525 
2527 
2529 
2532 
2533 
3341 
7-115670 

AY-5-1013 



Supe' 8008 
SuPer 8008 
8 BIT MPU 
CPU 

SR'S 
1024 Oynarrnc 
Hex 32 BIT 
Hex 40 BIT 
512 Oynamic 
I024 0ynamic 
Ouai 255 BIT 
Dual 512 BIT 
Ouafl 80 BIT 
1024 Static 
Fife 
15 * J Reg 

UART'S 
30K Baud 



24 95 
16.00 
2550 
29.95 



HOI 



256 » 



RAM'S 
Statu: 



8599 


Id » 4 


SMtiC 


3 49 


91L02 


1024 x 1 


Sialic 


2.25 


74200 


255 x i 


Sialic 


6 95 


93421 


256 x 1 


Sislir 


2 95 


IMMS262 


2Kx1 


Dynamic 


2 tor 1 .00, 



PROMS 

hmos 



ROMS 
2513(2140) Char. Gen. -upper case 
2513(3021) Char, Gen.-lower case 
2516 Char Gen. 



EToy 



2716 16K 
6301-1 1024 
6330-1 256 



Epiom 



Eorom 

Trr-State Bipolar 
Open Collector Bipolar 



~T9~95] 



34.95 
3 49 
2 95 



FCM3817 S 5.00 

AY-3-8500-1 8.95 

MC306JP 3.50 
MC4016P (74416) 7.50 

MCM6571 17.50 

MCM6574 17.50 

AY-5-2376 14.95 



SPECIAL REQUESTED ITEMS 



4N33 

8T20 

8T97 

9374 

S2S145 

MCM6575 

ICM7045 



26.00 
17.50 
24.95 



5B41 $ 9.95 
MK50240 17.50 
11C90 19.95 
OS0026CH 3.75 
TIL30S 10.50 
ICM7208 22.00 
ICM7207 7.50 



9368 

MC1408L7 

LD110/LO11 

AY-5-9100 

95H90 

1CM7209 

HD0165 



S 3.95 

9.95 

25.00/set 

17.50ea. 



CLOCK CHIPS 

MM5309 $9.95 
MM5311 4.95 
MM5312 4.95 
MM5314 4.95 
HM5316 0.95 
MM531B 9.95 
MM5369 2.95 
CT7001 5.95 



NOW 
IN STOCK 



PARATRONICS 

Featured on February's Front Cover of Popular Electronics 



Logic 
Analyzer Kit 




• Analyzes any type of digital system 

• Checks data rates in excess of 8 
million words per second 

• Trouble shoot TTL, CMOS. OTL, RTL, 
Schottky and MOS families 

• Displays 16 logic states up to 8 digits wide 

• See ones and zeros displayed on your 
CRT, octal or hexadecimal format 
Tests circuits under actual operating 
conditions 

Easy to assemble — comes with step-by-step construction durin 9 testing 
manual which includes 80 pages on logic analyzer operation, 



MODEL 

100A 

$229.00/Kit 



Some applications are: 
Troubleshooting microprocessor 
address, instruction, and data flow 

— Examine contents of ROMS 

— Tracing operation of control logic 

— Checking counter and shift 
register operation 

— Monitoring I/O sequences 
Verifying proper system operations 



PARATRONICS TRIGGER EXPANDER - Model 10 

Adds 16 additional bits. Provides digital delay ant! qualification of input clock Model 10 — $229.00 
and 24-bit trigger word. — Connects direct to Model 100 A for integrated unit). Bmpiata — $6.95 




BUGBOOK • 

Continuing Education Series 



BUGBOOK I & II - Basic concepts of TTL logic — over 90 
experiments S17.0u7set 

BUGBOOK I la - Introduces UART — recommended for RTTY 

enthusiast M.OO/book 

BUGBOOK 111 - Explores 8080 chip — introduces Mark 80 

Microcomputer $t5.M/book 

BUGBOOK V 4 VI • Introductory experiments in digital electronics, 
808OA Microcomputer interfacing and 
programming S19.00/set 

555 TIMER APPLICATIONS SOURCEBOOK WITH EXPERIMENTS - 

over 100 design techniques S6.95/book 

CMOS-M-OESIGNERS PRIMER AND HANDBOOK - 

a complete CMOS instruction manual W.DQ/twok 

OP AMP MANUAL — over 25 experiments on all phases 
of OP AMPS S9.Q0/bwk 

DBUG — a program for entering, debugging and storing assembly programs. WOO/book 
INSTRUCTORS MANUAL - Necessary for instruction on BUGBOOKS I and II W.OO/book 



CONTINENTAL SPECIALTIES 



PROTO BOARD 6 \<s$> 

$15.95 ^\mm 

(6" long X 4" wide) 



Other CS Proto Boards 



$ 17.95J 
29H5 




PB101 - 5.8" x 4.5' 

PB102 - 7" x 4.5" 39.95 

PB103 - 9" x 6" 59.95 

PB104 - 9.5" x 8" 79.95 

PB203 - 9.75 x 6V2 x 2% 80.00 

PB203A - 9.75 x 6% x 2% 129.95 

(includes power supply) 



MAX-100 FREQUENCY COUNTER J Logic Monitor ' $84.95 

20 MHz-100 MHz - 6 digit . — " | [or DTL HTL m , CM0S te 
.6" LED >134.95 



PROTO CLIPS 

14 PIN S4.50 
16 PIN 4,75 

24 PIN 8,50 



DESIGN MATES 

DM1 - Circuit Designer 

S69.95 
DM2 - Function Generator 

$74.95 
DM3 - RC Bridge 

$74.95 



QT PROTO STRIPS 

' ■Jh^lySiiaMSWiSilliiiiSilgi' 




* r 



UT type Wholes price 

OT-59S 590 12 50 

O.T-598 bus strip 2.50 

0T-47S 470 10 00 

QT-47B bus strip 2.25 

□T-35S 350 8.50 

QT-35B bus strip 2.00 

QT-1BS 180 475 

0T-12S 120 3.75 

QT-BS 60 3.25 

QT-7S 70 3.00 



CD Timeband 
Digital Alarm Clocks 




C-SDO • Ivory Case 
CS008 - Ebony Case 

S16.95 



» 24-hour alarm 
i Ooze Button 
. 100° o Solid State 
i Large Red Led Display 
( 8' high) 

► AM PM Indicator 

• Secondsdisplay at touch 
ot button 

> Powei lailure indicator 

• One year laciory warranty 




Timeband' 



i 



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 



r 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 WD 

Model 8365 $149.95 



DIGITAL STOPWATCH 



• Bright 6 Digit LEO Display 

• Times to59 mmutes59 59 seconds 

• Crystal Controlled Time Base 

• Three Stopwatches in One 

Times Single Event — Split & Taylor 
■ Size4.5" x2 15' x 90"(4Vj ounces) 

• Uses 3 Penlite Cells 

Kit - $39.95 

Assembled — $49.95 

Heavy Duty Carry Case$5.95 



Stop Watch Chip Only {7205} $19.95 




3V 2 DiGITDPMKIT 



• New Bipolar Unit 

• Auto Zeroing . 

• .5" LED 

Model KB500 DPM Kit 




Auto Polarity 
Low Power 
Single !C Unit 

$49.00 
Model 311D-5C-5V Power Kit $17.50 




JE700 CLOCK 

The JE700 isalow costdigital dock, but 
is a very high quality unit The unit lea- 
luies a simulated walnut case with di- 
mensions ot6' *2'! xl Ituliluesa 
MAN72high brightness readoui. and ihe 
,2o,MHou, WMsaiUlOCkchip 

KIT ONLY $17.95 



Rejected ATARI GAME BOARDS 

Over 60 Reusable IC's, misc. 1 
transistors, resistors, diodes, 
caps, crystals, switch, etc. 
(8W x 16"). Limited Quantity. 

$4.95 ea. 




INSTRUMENT/CLOCK CASE 



Injection molded unit. Complete 
with red tazal.Wx 4" x 1-9/16". 



$3.95 ea 




Experi mentor 300 S 9.95 
Experimenter 600 $10,95 



(5.00 Minimum Order — U.S. Funds Only 
California Residents — Add 6% Sales Tax 



Spec Sheets - 25c — Sand 35c Stamp lor 1978 Catalog 

Dealer Information Available 




1021 A HOWARD AVE., SAN CARLOS, CA. 94070 

PHONE ORDERS WELCOME — (415) 592-8097 

All Advertised Price* Good Thru November 



JE803 PROBE 

The LogicProtje isa umiwrnch istorthe mosipan 
mdespensible in trouble shooting logic lamihes 
TTL DTL RTL CMOS II derives Ihe power it 
needs to operate dired'y oft ol tne tncuii uncei 
(est drawing a scant 10 mA mix H uses a MAN3 
readoui lo indicate any ol ihe lollowmg states by 
mesesymbois <H) - 1 (LOW) - o (PULSfi • P The 
Probe can detecthigh trequencypuises to^SMMz 
n can 1 be used at MOS levels or circjil damage 
will result 




$9.95 Per Kit 

printed circuit board 




PL 5V 1A Supply 

This is a standard TTLpower supply usmgthe well known 
LM309KregulatorlCto piovideasoltd 1 AMPot currentai5 
volts We iry 10 make things easy tor you by providing 
eveiythtngy ou need mone package. including the nardware 

,oronly $9.95 Per Kit ^> 



Circle 79 on inquiry card. 



BYTE November 1977 



247 



Floppy Disk Drive 



What's New? 



MASS STORAGE 



A 5100 System Mass Storage Device 



A New Cassette Recorder Interface 




"■■'''' : jF : - ; >i: v. 
** 1 Ji % 


31 






pM IP- 


Y&MffljIHulm 


^^Hilrfe' 


|^:-j- 



Users of the IBM 5100 personal 
computer product will appreciate this 
new addition from an independent 
vendor. Sykes Datatronics of 375 Or- 
chard St, Rochester NY 14606, (716) 
458-8000, showed off this IBM 5100 
compatible dual floppy disk subsystem 
at the NCC show in Dallas TX in June 
of this year. What it does is give the 
user a truly random access 3740 com- 
patible diskette hardware subsystem 
and file management software on 3M 
cartridges for the 5100. No changes 
to the 5100 are required, and this 
subsystem plugs directly into the 51 00's 
serial 10 port. The software provided 
with this system includes ten BASIC 
files and 14 APL functions, and allows 
BASIC programs to communicate with 
APL programs using files on disk as 
an intermediary. The price is under 
$3000 for a single drive system, 
and under $4000 for dual drive." 

Circle 481 on inquiry card. 




Dajen Electronics has announced a 
new cassette recorder interface with data 
transmission rates selectable from 800 to 
12,000 bps. 12 K bytes of memory can 
be loaded in approximately 8 seconds. A 
1 K byte monitor program is included to 
provide basic system operations and 
allow the saving of files. The unit is com- 
patible with the Altair, iMSAI, Kansas 
City, Polymorphic Systems and Tarbell 
formats. Kit price is $120; the assembled 
unit costs $165. The price of the manual 
is $3.50. 

Contact Dajen Electronics at 7214 
Springleaf Ct, Citrus Heights CA 95610, 
(916) 723-1050.* 

Circle 482 on inquiry card. 



A Dual Floppy Subsystem 




This photo shows the new Sykes 
Datatronics Series 9000 floppy disk 
system which is a complete mass storage 
subsystem with two drives and a built-in 
6502 microprocessor controller. The 



system is offered in the dual drive ver- 
sion illustrated here ($3900) and a single 
drive version ($2800). All search, block- 
ing, CRC verification and mechanical 
controls are handled asynchronously 
by the "smart" 6502-based controller 
of this device, and data is buffered 
using FIFO memories. The physical 
dimensions are table top compatible: 
9.7 by 17 by 19 inches (25 by 43 by 
48 cm). Hardware interfaces include 
an optional programmed IO parallel 
interface, which will be of interest to 
homebrewers, as well as detailed inter- 
faces for a variety of microprocessors 
and minicomputers. Typical interface 
costs are $300 above the base prices; 
using the non-IBM format "dual and a 
half" density recording format, approxi- 
mately 630,000 bytes can be recorded 
on each cartridge, making the dual drive 
on line capacity approximately 1.26 mil- 
lion bytes. Sykes is located at 375 
Orchard St, Rochester NY 14606, 
(716)458-8000.- 

Circle 483 on inquiry card. 




According to the manufacturer, Gen- 
eral Systems International Inc, 
1440 Allec St, Anaheim, CA 92805, 
(213) 378-9385, this drive uses both 
sides of the floppy disk recording me- 
dium for data as opposed to just one. 
We can expect to see personal com- 
puting systems with on line floppy disk 
storage capacities on the order of 
1.5 million bytes per drive growing out 
of this type of drive technology. Price of 
this drive to manufacturers is "in the 
low $400 range.""" 

Circle 484 on inquiry card. 

Attention Floppy Disk Correspondents. . . 




A new lightweight mailing envelope 
for floppy disks which saves 44 to 50 
cents per disk in first class postage com- 
pared with older corrugated mailers is 
available from Curtis 1000. 

The new envelope accommodates one 
to five floppy disks with filing sleeves in 
a lint and dust free environment. 

Made of DuPont's Tyvek® fiber, the 
new Curtis 1000 "Disk-O-Mailer" mail- 
ing envelope is extremely resistant to 
tearing and puncturing forces, as well as 
such dangers to floppy disks as chemicals 
and wetness. It features fast, dry sealing 
closure. Its glossy whiteness and green 
triangles printed along all edges on 
both sides assure first class handling in 
the post office just like regular business 
letters. Retailers and floppy disk soft- 
ware distribution outlets should contact 
the firm at 1000 Curtis Dr, Smyrna GA 
30080, (404) 436-6155.- 

Circle 485 on inquiry card. 



248 BYTE November 1977 




MITE COMPUTER PRINTER 

Mite 123P Impact printer. Designed for small 
keyboard printer terminals. 64 characters per line on 
8/4 inch paper. 75 characters per line, 10 CPS. Printer 
only, no electronics. With 30 pages documentation. 
Used, good shape. \ 

Shipping wgt. 18 lbs. $63.00 




VIATRON CASSETTE DECKS 
The computer cassette deck alone $35.00 



CONRAC VIDEO MONITOR 

Used, checked out. Operates on 115 volts 60 cycle AC. In 
cabinets as shown. 128 x 40 with bandwidth of 8 Mc. Ideal 
for computer or TV monitor. Green phosphor display, 9" 
tube. With data & schematic. 
Shipping wgt 16 lbs. $62.00 




SPECTRA FLAT TWIST 

50 conductor, 28 gauge, 7 strands/ 
conductor made by Spectra. Two con- 
ductors are paired & twisted and the flat 
ribbon made up of 25 pairs to give total 
of 50 conductor. May be peeled off in 
pairs if desired. Made twisted to cut down 
on "cross talk." Ideal for sandwiching PC 
boards allowing flexibility and working 
on both sides of the boards. Cost orig- 
inally $13.00/ft 
SP-324- A $ 1 ,00/f t. 1 f t/$9.00 




SP-234-A $1.00ft50cond. 
SP-234-B .90 ft 32 cond. 



10ft/$9.00 
10ft/$8.00 



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 10' 50' 100' 

8 Cond. #24 $2.50 9.00 15.00 

12 " 22 3.00 11.00 18.00 

14 " 22 3.50 13.00 21.00 

24 " #24 5.00 20.00 30.00 

29 " 22 7.50 28.00 45.00 

Great savings as these are about 1/4 

book prices. All fresh & new. 



TOUCHTONE ENCODER CHIP 

Compatible with Bell system, no crystal required. Ideal 
for repeaters & w/specs. $6.00 



CHARACTER GENERATOR CHIP 

Memory is 512x5 produces 64 five by seven ASCII 
characters. New material w/data $6.00 



\Aie&(vnci 



Please add shipping cost on above. Minimum order $10 

FREE CATALOG NOW READY 

P.O. Box 62, E. Lynn, Massachusetts 01904 



Circle 83 on inquiry card. 



BYTE November 1977 249 



What's New? 



PERIPHERALS 



Do You Want to Draw 
Pictures on Your Display? 




Users of personal computers who are 
interested in graphics input will find 
this new peripheral of great interest, and 
at a price which makes it attractive for 
personal use. Scientific Accessories Cor- 
poration, 970 Kings Highway W, South- 
port CT 06490, (203) 255-1526, has in- 
troduced the Model GP-1 01 sonic digitizer 
for a single unit price of $800. What you 
get is a stylus with or without ink or a cur- 
sor, an electronics package, and the L- 
frame sensor seen in this photo. It is in- 
tended to be used in any situation where 
input of XY position data is required. 
Typically, a computer oriented artist 
might make a rough sketch of graphic 
display information on paper and then 
trace the outline of the figure with the 
stylus after positioning the rough within 
range of the sensors. The artistic dig- 
itization could also be done interactively 
with the display in a freehand mode. 

To use this device, some additional 
logic and timing circuitry will be 
required since the basic electronics 
simply produces TTL level signals which 
have a known start edge time and a var- 
iable delay time representing the X and 
Y distances to the stylus or cursor unit. 
The user must also provide power 
supplies and custom software to analyze 
the signals for particular purposes." 

Circle 507 on inquiry card. 



Sargent's New Altair (S-100) 
Prototype Board 

Sargent's Distributing Company, 
4209 Knoxville, Lakewood CA 90713, 
has introduced this new Altair (S-100) 
bus prototype board. The board is con- 
structed of epoxy G-10 material. There 
is space for four 7805 type voltage 
regulators. It accommodates 14, 16, 18 
24 and 40 pin wire wrap sockets with 
room for a maximum of forty-eight 14 
or 16 pin sockets. Also available is a 
complete set of plans for a S-100 bus 
compatible front panel and bootstrap 
system which it features direct parallel 
ASCII keyboard input, one additional 
parallel input port, and two parallel out- 
put ports/ This design uses PROMs for 
instant turn on and reset. Start cassette 
tape and your system is fully loaded and 
running in about 30 seconds, and can be 
wire wrapped using the prototyping 
board. Price of the prototype card is 
only $25 postpaid; the plan set is $7.50 
postpaid; and a complete kit of all parts 
for the front panel design is $79.95 post- 
paid." 




mmk" '■■ 





• *'■* ,",» t-> 1'-! '■* ?"* " * ." 



Circle 509 on inquiry card. 



A New Model Self-Scan from Burroughs 



Centronics Introduces High Speed 
Microprinter 





The Electronic Components Division 
of Burroughs Corporation, POB 1226, 
Plainfield NJ 07061 , has introduced this 
new single line 40 character version of 
Self-Scan II technology, intended for use 
in any product where a limited size 
alphanumeric display is required. Special 
effects include left or right data entry, 
moving message effects, blinking sub- 
fields within the 40 character line, etc. 
Self-Scan is a registered trademark of 
Burroughs Corporation." 

Circle 5l0on inquiry card. 



A 60 Character per Second Printer 




The Altair. C700 from MITS is a 60 
character per second serial printer using 
a 5 by 7 dot matrix and the 64 character 
ASCII subset. The unit is designed to 
be interfaced to the Altair 8800 compu- 
ter and features automatic motor con- 
trol, paper runaway inhibitor and auto- 
matic line feed after carriage return. 
The printer is bidirectional and can 
print 26 132 column lines per minute. 
It can accommodate 15 inch wide forms. 

Dimensions are 7 by 28 by 24.5 
inches (17.8 by 45.7 by 62.2 cm). 
Contact MITS, 2450 Alamo SE, 
Albuquerque NM 87106." 

Circle 508 on inquiry card. 



Centronics Data Computer Corpora- 
tion has announced a high speed com- 
pact microprinter called the Micro-1 for 
$595. Aimed at the home, hobby and 
microprocessor markets, the 240 char- 
acter per second Micro-1 is offered as a 
complete unit including case, power 
supply, 96 character ASCII generator 
and interface, paper roll holder, low 
paper detector, bell, and multiline 
asynchronous input buffer. 

The microprinter produces copy on 
aluminum coated paper by discharging 
an electric arc to penetrate the coating, 
which is less than one micron thick. 
Toners and ribbons are not required. 

The printed characters are said to 
be impervious to light, temperature and 
humidity. The machine prints 180 lines 
per minute on 4 3/4 inch roll paper in 
20, 40 or 80 column widths, selectable 
by the user. The special aluminized 
paper used by the unit costs nominally 
more than standard paper. 

This is an excellent way to get 
acceptably high speed listings at rela- 
tively low prices. Contact Centronics 
Data Computer Corporation, Hudson 
NH 03051,(603) 883-0111." 

Circle 51 1 on inquiry card. 



250 



BYTE November 1977 



Now low-cost memory 
stacks uytf^itaJn 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-100 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 
lyear 



9 



A product of Morrow's Micro-Stuff for 



Thinker Toys 

*EC0H0RAHI is a trademark of Godboat Flertrnnir.c "^" 



tm 



Circle 97 on inquiry card. 



BYTE November 1977 



251 



A Pair of New Terminals 



What's New? 



PERIPHERALS 



Apple II Features Built-in Color 
Capability 



1 


. 1 in iwm - a 


^1 




- 1 




••-■'-; -J 


% ^& 



The Apple II is Apple Computer Inc's 
entry in the home computer market. The 
unit uses the MOS Technology 6502 
processor and can display alphanumeric 
characters and video graphics in 15 
colors using any standard color tele- 
vision set. 

A BASIC language package is per- 
manently stored in 6 K bytes of read 
only memory; execution speed is fast 
enough to run many video games. The 



integer BASIC language includes special 
functions related to color video display 
programming. 

In both the color graphics mode and 
in the high resolution graphics mode, 
four lines of text may be optionally 
displayed at the bottom of the screen 
to annotate displays. The Apple II also 
features a built-in cassette interface. 

Minimum memory configuration 
available includes 4 K bytes of program- 
mable memory and 8 K bytes of read 
only memory. A 2 K byte monitor 
provides debug commands, a mini- 
assembler, disassembler, . floating point 
package and software-simulated 16 bit 
arithmetic capability. 

The unit comes complete with a 
switching power supply which requires 
no fan. The computer is housed in a 
plastic case with dimensions of 18 by 
15.25 by 4.5 inches (45.72 by 38.74 by 
11,42 cm). It comes with two game 
paddles and a demonstration cassette 
for $1298. It is also available in board 
only form, without case, keyboard, 
power supply or accessories for $598. 

Contact Apple Computer Inc, 20863 
Stevens Creek Blvd, Bldg B3-C, Cuper- 
tino CA 95014." 

Circle 512 on inquiry card. 



An Altair Bus Compatible Music Board 



f 

(A 


/TMHj 


Hk' il 


i t ]: 

it'"- 


* f * .. ■ f j i-JC 






i 


t 
i 

t 










,: * ■; * 


k 


■">■■■--?■. 



Newtech Computer Systems' Model 6 
Music Board is designed to enable ex- 
perimenters having Altair (S-100) bus 
computers to produce music and sound 
effects. Applications include generating 
melodies, rhythms, sound effects, Morse 
code and touch tone synthesis. 



The Music Board comes assembled 
and tested. Features include selectable 
output port address decoding, a latched 
6 bit digital to analog converter, audio 
amplifier, speaker, volume control and 
RCA phono jack for connection to 
external audio systems. It employs a 
glass epoxy printed circuit board with 
plated through holes and gold plated 
fingers. 

A users manual, which is supplied 
with the board, includes a BASIC 
language program for writing musical 
scores and an 8080 assembly language 
routine for playing them. The price is 
$59.95. Contact Newtech Computer 
Systems Inc, 131 Joralemon St, Brook- 
lyn NY 11201, (212) 625-6220." 

Circle 513 on inquiry card. 




A CT-1 024 Scroll Mod 

Lenwood Computer Systems, POB 
67, Hiawatha IA 52233, has announced 
a modification to Southwest Technical 
Products Corporation's CT-1 024 termi- 
nal product. The Model SM-2 scrolling 
modification board is available at $19 
plus $1.50 postage and handling, and 
converts the CT-1 024 style display from 
a page oriented display to a scrolling 
display. The photo shows the board 
mounted on the CT-1 024 main board 
using a stand off stud." 

Circle 514 on inquiry card. 





Infoton, Second Av, Burlington MA 
01803, (617)272-6660, has introduced 
this pair of video terminal products. The 
Model 200 is the low end version, a 
Teletype replacement with multiple 
additional features and 80 character by 
24 line display. The Model 400 is a 
model with more features, including 
upper and lower case display, additional 
keyboard functions, etc. Both models 
feature RS-232, 20 mA current loop and 
60 mA current loop serial interfaces at 
16 switch selected data rates to 19,200 
bits per second. No price was given in 
the documentation from which this note 
was abstracted." 

Circle 515 on inquiry card. 



Several Gimixfor the SwTPC 6800 Bus 

We received a sales brochure for three 
products available from Gimix Inc, 1337 
W 37th PI, Chicago IL 60609, (312)927- 
5510, which plug directly into the South- 
west Technical Products Corporation's 
6800 bus. One of these products is a 
$119 read only memory board which 
holds up to 8 K of 2708 EROM parts 
(not supplied), and can be placed on any 
even 8 K memory address boundary (ie: 
0000, 2000, 4000, 6000, 8000, A000, 
C000, or E000) using switches. A second 
product is a $25 extender board for use 
when troubleshooting or debugging a 
prototype card. The third product is a 
video output board which contains a 1 K 
by 8 bit volatile programmable memory 
region which can be connected at any 
1 K boundary in memory address space 
using jumpers. This $249 generator can 
be set up for 16 lines of 32 characters or 
16 lines of 64 characters; output is El A 
video with adjustable "density"!?) ar >d 
left-hand margin. These products are 
fully assembled." 

Circle 5 1 6 on inquiry card. 



252 



BYTE November 1977 




SD SALES COMPANY 



P.O. BOX 28810-B 



DALLAS, TEXAS 75228 



NOW-THE ULTIMATE RAM BOARD 
32K FOR $427. 



Memory Capacity 

Memory Addressing 

Memory Write Protection 

8K, 16K, 24K, 32K USING MOSTEK MK4115 

WITH BK BOUNDARIES & PROTECTION. 

Utilizes DIP switches. 

PC board comeswith sockets for 32K operation 

THE ABOVE NOW AVAILABLE 



'AVAILABLE THE 1st QUARTER OF 1978:* 
16K, 32K, 48K, 64K USING MOSTEK 4116 
WITH 16K BOUNDARIES & PROTECTION. 



BUY AINl S100 COMPATIBLE 8K RAM BOARD AND UPGRADE 
THE SAME BOARD TO A MAXIMUM OF 32K* 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 $139.00 FOR 8K RAM KIT. 
ADD $96.00 FOR EACH ADDITIONAL BK RAM DESIRED 

Board fully assembled and tested for $50.00 extra. 

8K FOR $139. 



Interface Capability 

CONTROL, DATA AND ADDRESS INPUTS 
UTILIZE LOW POWER SCHOTTKY DEVICES. 

Power Requirements 

+BVDC 400 MA DC 
+ 18VDC 400MADC 
-1BVDC 30MADC 
on board regulation is provided. 
ON BOARD (INVISIBLE) REFRESH IS PRO- 
VIDED WITH NO WAIT STATES OR CYCLE 
STEALING REQUIRED. 

MEMORY ACCESS TIME IS 375ns. 
Memory Cycle Time is 500ns. 



P R\ce\ 



Z-80 CPU BOARD KIT complete Kit 

$139. 



N e\N 

CHECKTHE ADVANCED FEATURES OF OUR Z-80CPU 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, standard kit shipped with Z-80 technical 
manual and all parts plus sockets provided for all IC's. Z-80 Chip & Manual Sep. — 39.95 
*Add $10.00 extra for Z-B0A chip which allows 4MHZ operation. 



$$!& 



4K LOW POWER RAM 

Fully Buffered — on board regulated — reduced power 
consumtion utilizing low power 21 L02— 1 500ns RAMS — 
Sockets provided for all IC's. Quality plated through PC 
board. *Add $10.00 for 250ns RAM operation. 

The Whole Works - $79.95 

NEW PRICE! 



ALL OF ABOVE ARE S100, IMSAI & ALTAIR A' COMPATIBLE. 

We can supply modifications needed for many other systems! 



SIX 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 cincludes all 
necessary parts (except case). P.C. Board and Xfmr 
optional. Eliminate the hassle — avoid the 5314! Do not 
confuse with Non-Alarm kits sold by our competition! 



P.C.B. - $3.00; A C XFMR - $1.50 



$9.95 KIT 



MUSICAL HORN 

ONE TUNE SUPPLIED WITH EACH KIT. ADDI- 
TIONAL TUNES - $6.95 EACH. SPECIAL TUNES 
AVAILABLE - YOU SUPPLY THE SHEET MUSIC 
WE SUPPLY PROGRAMMED PROM TO YOU. 
STANDARD TUNES NOW AVAILABLE: 
- DIXIE - EYES OF TEXAS - ON WISCONSIN - YANKEE 
DOODLE DANDY - NOTRE DAME FIGHT SONG - PINK 
PANTHER - AGGIE WAR SONG - ANCHORS AWAY - 
NEVER ON SUNDAY - BRIDGE OVER RIVER KWAI - 
CAR & BOAT KIT HOME KIT 

$34.95 $26.90 



JUMBO LED CLOCK KIT 

FEATURES: 

A. 8owmar Jumbo .5 inch LED array. 

B. MOSTEK -50250 -Super Clock Chip t/Al 1 ^ 1 

C. On board precision crystal time base. r-nO^ 

D. 12 or 24 hour Real Time Format. u 

E. Perfect for cars, boars, vans, etc. 

F. P.C. Board and all parts (less case) included. 

Alarm option —$1.50 

AC XFMR -$1.50 $16.95 KIT 



RAMS 



CPUS 



PROMS 



21 L02 - 500 NS 8/1 1.50 

21L02 - 250 NS 8/15.95 

2114-4K 14.95 

1 101 A - 256 8/4.00 

1103 -1K 99 



Z— 80 includes manual 39.95 

Z-80A includes manual 44.95 

8080A CPU 8 BIT 11.95 

8008 CPU 8 8IT 6.95 



1 702A - 1 K - 1 .5us 3.95 or 1 0/35.00 

2708 - BK Intel - 450ns 14.95 

5204 - 4K 7.95 

82S129 - 1K 2.50 

270BS - 8K signetics 650ns 9.95 



CESS0R CHIPS-MICROPROCESSOR CHIPS-MICROPRO 



1ESS0R CHIPS-MICR0PR0CE 



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. RECR 2.00 

74LS138N - 1/8 DECODER 99 

8T97 - HEX TRI STATE BUFFER 1.25 

1488/1489 - RS232 1.50 

TR16028 UART 3.95 



NTER CHIPS-COUNTER CHIPS-COUNTER CHIPS- COUNTER CHIPS- COUNTER CHI 



MK50397 6 digit elapsed timer 8.95 

MK50250 Alarm Clock 4.99 



MK50380 Alarm chip .2,95 

MK50396 - 6 digit up/down counter 1 2.95 



MK5002- 
MK5021 



4 digit counter 8.95 

Cal. Chip w/sq. rt 2.50 



ITT DUAL SENSE AMPLIFIER. 
75234 AND 75235. 49c each 



SPRAGUE DUAL 
AMP. TD101 



DIFFERENTIAL 
49c each 



GENERAL INSTRUMENT DIODE. 
1N82AG 19c each 



FLAT PACK 5400 SERIES. 

SPECIAL BUY FROM ITT. 

20 Assorted Devices for $1.00 



DISC CAP ASST. 
P.C. leads. At least 
10 different values. 
Includes .001, .01, 
.05 + other stan- 
dard values. 

60/$1. 



1000 MFD 
FILTER CAPS 
Rated 35 WVDC. 
Upright style with 
PC leads. Many 
popular values. 

4/$1.00 



39 MFD 
16VMallory 
Electrolytic 

15/$1. 



THERMISTORS 

MEPCO-NEW! 

1.5KOHM 

5/$1.00 



7500 Mallory 
30WDVC 
Computer 
Grade Caps 
$3.00 each 



RESISTOR 

ASSORTMENT 

PC leads 

A good mix 

of values. 

SPECIAL! 

200/$2. 



POWER 

RESISTOR 

15 OHM 

25Wby 

CLAROSTAT 

75<P ea. 



IC s from XEROX 

IC's Removed from PC boards. All tested; full spec. 



7400- 9c 
7402 - 9c 
7404- 9c 
7410- 9c 
7416 -13c 
7420 - 9c 
1402A-50c 

GREAT BUY !f 



7430- 9c 
7440 - 9c 
7437 -10c 
7438 -10c 
7451 - 9c 
7474 -16c 
7475 -24c 
LIMITED QUANTITY. 



7493 - 26c 
74121- 22c 
74123- 32c 
74155 -22c 
74193 -35c 
8233- 35c 
Intel 1302 
45c 



ITT Part # SA J 101 g0odBU v. 

IDEAL FOR ELECTRONIC 

MUSIC CIRCUITS -7 STAGE A r\A* ~ 

FREQ. DIVIDERS. 49$ 63. 



MICRO-DIP by EECO $1.95 

NEW SERIES 2300! 
WORLD'S SMALLEST BCD CODED DIP SWITCH! 
P.C. Mount! 2300-02G -1248; 2300- 12G- 1248 compliment 



JOYSTICKS 

4-100K 

POTS 

$3.95 ea. 



P.C. LEAD 

DIODES 

1N4148/1N914 

100/$2. 



IC SOCKETS 
14pin-5/$1.00 
16 pin-5/$1.25 
28pin-3/$1.00 



TRIM POTS 

10K,20K, 

25K 

10/$1.00 



Slide Switch Asst. 
Our best seller. In- 
dues miniature & 
standard values. 

12/1.00 



1N4002 

1A 
100 PIV 

40/$1. 



CALL IN YOUR BANKAMER- 
ICARD (VISA) OR MASTER 
CHARGE ORDER IN ON OUR 
CONTINENTAL TOLL FREE 
WATTS LINE: 



Texas Residents Call Collect: 

214/271-0022 
1-800-527-3460 

DEALER INQUIRIES INVITED! 



Zerms - 60 Day 
Money Mack Guarantee! 



NO COD'S. TEXAS RESIDENTS ADD 
5% SALES TAX. ADD 5% OF ORDER 
FOR POSTAGE & HANDLING . OR- 
DERS UNDER $10. ADD 75c HAND- 
LING. FOREIGN ORDERS - U. S. 
FUNDS ONLY! 



Orders over $15. - Choose $1. FREE MERCHANDISE! 



Circle 126 on inquiry card. 



BYTE November 1977 



253 



What's ; Mm< 



PERIPHERALS 



Video Display Memory Board for 
LSI-1 1 Systems 



New Terminal from TEI 




TEI Inc of Houston TX has an- 
nounced a new processor terminal. De- 
signated the Model MCS-PT, the unit is a 
self-contained computer system with dis- 
play and disk storage, keyboard, and a 
12 slot motherboard. It may be used 
either as a stand alone processor or as a 
processor terminal in a larger system. 

Features include a 15 inch (38.1 cm) 
high resolution video monitor with a full 
upper and lower case ASCI I character set 



keyboard, eight user designated special 
function keys, and a 16 key numeric 
cluster pad. A Shugart SA-400 mini- 
floppy disk drive is standard. 

The 12 slot mainframe contains a 
processor board featuring an 8080 pro- 
cessor and a special circuit that imple- 
ments a start up "jump to" routine to 
any user selected memory address. 16 K 
bytes of programmable memory is pro- 
vided with additional capacity available 
as an option. The disk controller (which 
can handle up to four drives) and the 
video board are also standard. The IO 
board provides three parallel and three 
serial ports with selectable data rates of 
75 to 19,200 bps. RS-232C or TTL 
interfaces are provided. Power is pro- 
vided by a constant voltage transformer 
(CVT) power supply. 

Software provided includes a CP/M 
disk operating system and BASIC on 
disk. The processor terminal is $3495, 
fully assembled and tested. The kit is 
$2995. The unit without the disk drive 
and controller is $2495 assembled, or 
$2195 in kit form. 

Contact Bill R Tatroe, CMC Mar- 
keting Corp, 7231 Fondren Rd, Houston 
TX 77036, or call (713) 774-9526." 

Gircle495on inquiry card. 



NEC "Spinwriter" Technology 



A Selectric Interface for Microcomputers 




The latest in a series of low inertia 
spinning plastic font impact printers to 
come to our attention is this NEC 
Information Systems "Spinwriter" 
terminal, intended for commercial 
markets. This terminal comes with a 
choice of five standard interfaces, 10 or 
12 character per inch spacing (4 or 4.7 
characters per cm), ASCII character 
codes, and a variety of plastic "thimble 
print mechanism" fonts for different 
type faces. The typing elements are 
rated at over three million impressions 
per character. No pricing information 
was given in the press release, other than 
the vague comment "10% below most 
competitive printers." If past experience 
is any guide this means a price above 
$3000 in unit quantities. Deliveries of 
this printer begin in October 1977 and 
are expected to be 60 days after receipt 
of orders thereafter. NEC Information 
Systems is located in Lexington MA." 

Circle 496 on inquiry card. 





^^^^^^^^! 


«R 




mmf£&® 






\ ggUEETWES 






it 




W- • 1 


WMimMwM 






^Smm 





The Center for the Study of the 
Future has announced an electronic 
Selectric interface kit designed to work 
with most Selectric terminals and type- 
writers using the Tycom adapter. It 
includes 14 solenoid drivers rated for 24 
V (solenoids and power supply are not 
included in the kit). The price of the kit 
plus manual is $325, available from the 
Center for the Study of the Future, 
4110 NE Alameda, Portland OR 97212, 
(503)282-5835. ■ 

Circle 497 on inquiry card. 




Computer Technology, 6043 Law- 
ton Av, Oakland CA 96418, (415) 
451-7145, has introduced a board which 
plugs into the LSI-1 1 bus of Digital 
Equipment Corporation, and creates a 
video display peripheral which features 
16 lines of 64 ASCII characters accessed 
as a 1 K byte region of memory address 
space. According to the information 
received here, the board fits into one 
dual width half slot segment of the 
LSI-1 1 backplane and requires only 
+5 V and +12 V power supplies. Out- 
put is El A RS-170 composite video 
(2 volts peak to peak, negative sync) 
mA matched to 75 ohm coaxial cable. 
The photo shows a typical display on a 
video monitor. Individuals using LSI-1 1 
systems may find this to be quite a use- 
ful addition to memory address space." 

Circle498on inquiry card. 



A New Desktop Teleprinter Terminal for 
APL Users 

Designed to meet the special 
character set requirements of APL users, 
the newly announced Anderson Jacob- 
son AJ 860/A desktop Teleprinter 
terminal produces both an APL 
character set and a high resolution ASCII 
character set. Using a 9 wire dot matrix 
printer mechanism, the AJ 860/A prints 
each 9 by 5 character in a 9 by 12 char- 
acter cell. The APL character set 
includes all of the standard APL over- 
strike characters, while the ASCII char- 
acter set includes lower case, underscore 
and selectable double wide characters. 
Alternate selection of either the 128 
code APL character set or the 128 code 
ASCII character set is done from the 
keyboard or remotely by code selection. 

Standard features include operator 
selectable speeds of 1 0, 30, 45 or 60 cps, 
horizontal and vertical tabulation, 
reverse line feed, autopagination, dual 
gate forms tractor, self-test diagnostics, 
and a 350 character receive-only buffer 
with buffer overflow protection. Single 
unit purchase price is $3285 from 
Anderson Jacobson, 521 Charcot Av, 
San Jose CA 95131, (408)263-8520." 

Circle 499 on inquiry card. 



254 



BYTE November 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, -5Vat1A, ± 12V at 1 A 
regulators supplied 6 340T-5 supplied. 



$79 



00 



UNIVERSAL 4K 
MEMORY BOARD KIT 



$69 



95 



This memory board may be used with the 

F8 and with minor modifications may be used 

with KIM-1MP- 

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 

• 1K 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° 



2708-8K EPROM . . 

2522STAT1CSHIFT RE6 
2513CHARACTER GEN 
2518-HEX 32BITSR 
2102 1 1024 BTRAM . . , 
5280 4K DYNAMIC RAM 



PRINTED CIRCUIT BOARD 



TANTULUM CAPACITORS 



Full Wave Bridges 



S 4,75 



5202A UV PROM - S 6 95 



1101A-256 BIT RAM. 
21078 ...:.... 
MK4008P- .... 
1702A UV PROM 
5204. 4K PR»M . . 
82S23 . 



S .75 
S 3.75 
S 1.95 
S 4.95 
S10 95 
S 1-95 

AY-5-1013 UART S 6.95 

M1f\JIATURE MULT1 TURN TRIM POTS 
100. 500. 1K.2K.5K.10K.25K.50K.100K. 

200K.500K 1 Meg. $.75 each 3/S2.00 

!.1ULTI-TUni\l TRIM POT 5 Sitn,l.* to Bourns 

3010 stVle 3n6"x5/8"*i W-1". 50. 100. 

1 K 10K. 50K ohms I $1 50 e;i . 3/S4.QQ 

LIGHT ACTIVATED SCR '5 

TO 18. 200V 1A. . . . . S 1.10 

TRANSISTOR SPECIALS 

2N3585 NPN Si TO-66 S 95 

2N3772 NPN Si TO-3 S 1 60 

2N456A PNP GE S 75 

2N490S PNP S. TO 3 S 1 00 

2NC056 NPN S: TO 3 D;iilinqtOn S 1.70 
2N5086PNP Si TO 92 . . . . 4/S 1 00 

2N4898 PNP TO 66 S 60 

2N404 PNP GE TO-5 5/S 1 .00 

2N3919 NPN Si TO-3 RF S 1 .50 

MPSA 13 NPN Si TO 92 3/S 1 .00 

2N3767 NPN Si TO 66 S 70 

2N2222 NPN Si TO-18 5/S 1 .00 

2N305S NPN Si TO 3 S .70 

2N3904 NPN Si TO-92 5/S 1.00 

2N3906PNPSrTO92 5/S 1 .00 

2N5296 NPN Si TO 220 S 50 

2N6109 PNP S. TO-220 S .55 

2N3C38 PNP Si TO-5 5/S 1.00 

2N65I 7 NPN TO-92 Si 3/S 1 ^ .00 



C/MOS (DIODE CLAMPED) 



7 WATT LD-65 LASER DIODE IR $a95 



74C10- .22 4012- .22 4023- .22 4042- 

74C193-1.50 4013- .40 4024- .75 4046-2.25 

4001- .22 4015- .95 4025- 

4002- .22 4016- .40 4027- 
4006-1.20 4017-1.05 4028- 
4007- .22 4018-1.00 4029-1.10 4066 

4009- .42 4019- .25 4030- .22 4071- .27 

4010- .42 4020-1.05 4033-1.50 4076-1,05 

4011- .22 4022- .95 4035 



4049- .401 
.40 4050- 

4055-1.501 



IN 4 148 <IN9 141 



1 5/S 1.00 



MCA 81 OPTICAL LIMIT SWITCH SI .50 



LED READOUTS 

r-ND 359 C.C. A" S .50 DL704-.3" C.C. $ .95 

FND 70 C.C. .4" S .55 MAN-7-.3" C.A. S .95 

END 503 C.C. -5" $ .85 'NS 33-3 dig. array $.75 



BOARD 1/16" thick, onetched 

S.60 ea 5/S2 .6 

2N 3820 P FET $ .45 

2N 5457 N FET $ .45 

2N2646. S 45 

ER 900 TRIGGER DIODES .. 4/S1.00 
2N 6028 PROG. UJT S .65 

CCD202-100X 100 charge coupled device 

image sensor $145.00 

MCM6571A 7x9 upper & lower case char- 
acter generator $15.95 

VERIPAX PC BOARD 

This board is a 1/16" single sided paper epoxv 
bonrd, 4'/,"x6'//' DRILLED an* ETCHED 
which will hold up to 21 single 14 pin IC's 
or 8. 16, or LSI DIP IC's with busses for 

power supply connector $4.00 

MV 5691 YELLOW-GREEN 

BIPOLAR LED $ .90 

FP 100 PHOTO TRANS S .50 

RED. YELLOW. GREEN or AMBER 

LARGE LED's 6/$1 .00 

1L-5 IMCT-2) $ .75 

MOLEX PINS 100/S1.00 

1000/S8.00 
1 WATT ZENERS 3.9, 4.7, 5.6, 8.2, 

12,15,18,22,100,150 or 200V . ea. S .60 
1 WATT ZENERS4.7, 5.6,10, 12, 15 

18 or 22V ea. $ .25 

MC6860 MODEM CHIP S9.95 

PH\^JA 3A 12A __50A 125A 

100 .06" ".14" ".30 .80 ""3.70 

20C-" ~0Y 720 .35 " _ 1 A 5 4.25 

400 ~09^ " 35 ,50 " _j 740 ~ 6.50 

600" .11" '_ .30 " " .70 _ _ 1 ,ffl_ ' " 8.50 
BOO" .15] .35" ' _ .90 J _ 2.30 J0.50 

1000 .20" ~A5~ 1.10 2.75 12.50 



.SILICON SOLAR CELLS 

2V*" diameter 
.4V at 500 ma. $4.00 



ntlaULA I UKb 

309K $ .95 340K-5,12,15 

723 $ .50 or 24V. . . . .$ .85 

LM 376 .... $ .60 340T-5, 6, 8, 12 

320K-5or15V $1.40 15,18 or 24VS1.10 

32CT-5, 15 78 MG $1.35 

or 24V . . $ .85 79 MG $1.35 

RS232 DB 25P male $2.95 

CONNECTORS DB 25S female $3.50 



Silicon Power Rectifiers 



47UF 35V 5 SI. 00 
G8UF 35V" 5.S1 00 
1UF 35V 5 SI 00 

2.2 UF 20V5.S1 00 
3.3UF 35V 4/S1 00 
4.7UF 15V 5/S1.00 
68UF 35V 4/SVOO 



10UF 10V S .25 

22UF 25V S 40 

15UF35V 3/S1.00 

30UF 6V 5/$1.00 

33UI : ")5V 5 40 

47UF 20V S .35 

68 UF 15V S .50 



M7001 ALARM CLOCK CHIP 



NATIONAL MOS DEVICES 



MM1402- 1.75 
MM1403- 1.75 
MM1404- 1.75 
MM5013- 2.50 
MM5016-2.50 
MM5017- 2.70 
MM5055- 2.25 
MM5056- 2.25 



MM5057- 2.25 
MM5058- 2.75 
MM5060- 275 
MM5061- 2.50 
MM5555-4.75 
MM5556- 4.75 
MM5210- f.95 
MM5260 1.75 



7400- 
7401- 
7402- 
7403- 
7404- 
7405- 
7406- 
7407- 
7408- 
7409- 
741 0- 
7411- 
7412- 
7413- 
7414- 
7416- 
7417- 
7420- 
7425- 
7426- 
7427- 
7430- 
7432- 
7437- 
7438- 
7440- 
7441- 



TTLIC 

7445- 

7446- 
7447- 
7448- 
7450- 
7472- 
7473- 
7474- 
74 75- 
7476- 
7480- 
7483- 
7485- 
7486- 
7489 
7490- 
7491- 
7492- 
7493- 
7494- 
7495- 
7496- 
74107- 
74121- 
74123- 
74 1 2 5 • 
74126- 



SERIES 

• 55 74151- 
.65 74153- 
74154- 
74155- 
74157- 
74161- 
74163- 
74164- 
74165- 
74173- 
74174- 
74.1 75 - 
74 176- 
74177- 
74180 
74181- 
74190- 
74 1 9 1 - 
74192- 
74193- 
74194- 
74195- 
74196- 
74257- 
74279- 
75324- 
75491 



.60 
.60 
.95 
.70 
.58 
.85 



1.20 
.95 
.82 
.75 
.75 
.65 
1.90 
1.00 
1.00 



1.25 
.87 



7442- .40 


74150- 


.90 


75 


492- 


.50 


MINIATURE DIP SWITCHES 
CTS-206-4 Four SPST switches 

in one minidip package. SI. 75 
CTS-206-S Eight SPST switches in a 16 

pin DIP package. . . $2.20 



3-8V SPST Miniature reed, relay., normally 
apen, 330 Ohm coil resistance. S.75, 3/S2.00 



ALCO MINIATURE TOGGLE SWITCHES 

MTA 106SPDT SI .20 

MTA206 DPDT $1.70 



Terms: FOB Cambridge, Mass. Send 25^ for our cat 
Send Check or Money Order. Transistors and R 

oSSS&tXuffi 145 Hampshire St., Cambria. M f 



SOLID STATE SALES 

P.O. BOX 74B 

SOM ERVI LLE, MASS. 02143 TEL. (617) 547-4005 



200 



1.25 



400 



2. QO 



1.50 



3.00 



600 1.20 1.75 4.0Q 

SANKEN AUDIO POWER AMPS 

Si 1010 G 10 WATTS S 7.95 

Si 1020 G 20 WATTS. S15.95 

Si 1 050 G 50 WATTS $27.95 



$5.30 



#24, EIGHT 
CONDUCTOF 

SPECTRA 

FLAT CABLE 

10751.50 

1007$ 13. 50 



DIP SOCKETS 

8 PIN - .22 24 PIN - .40 
14 PIN - .25 28 PIN- .50 
16 PIN - .28 40 PIN - .60 
18 PIN - .30 




74 LS 
SERIES 



741.SOO 
741 $02 - 

741. 503 - 

741.504 - 
74t_S05 - 

741. 508 - 

741.509 - 
74LS10 - 
741.511 - 
741. S13 - 
74LS15 - 
741. S20 - 
74LS21 - 
741 S22 - 
74LS26 - 
74LS27 - 
74LS30 - 
74LS32 - 
74LS37 - 
74I.S38 
74I.S40 
74LS42 - 
74LS47 - 
741.S51 
74L.S54 - 
74LS90 - 
74LS73 
74LS74 
74LS76 
74LSD0 
74LS92 
74LS93 
741.S109 
74LSI12 
74LS113 
74LS114 



741. S 125 

7.H.S126 

741 S132 

741.S136 

74LS138 

74J.S139 

74I.SI51 

74LS153 ■ 

741.S155 

74L.S156 

74I.S157 

741.S160 

74LS161 ■ 

74I.S162 

74LS163 • 

741.S168 

741.S169 

74LS170 

74I.S173 

74I.S174 

741.S175 

74LS190 

741.S191 

74LS192 

74LS193 

74I.S195 

74I.S196 • 

74LS197 

7/ILS221 

74LS257 

74LS258 

74L.S279 

74LS365 

74t.S366 • 

74LS367 

74 1. S 363 

74LS30O 



LINEAR 
CIRCUITS 



LM 1 



/I 301/74B .3 
LM307 - .31 
LM 308 - .« 
LM 311 - .9! 
LM 318 -13< 
LM319 - 9' 
LM 324 -1.0! 
LM 339 -1.11 
LM 358 
LM370 
LM 377 
LM 380 
LM 381 
LM 382 
LM537 
LM 553 
LM 555 
LM5S6 
NE540L 
560 



-1.15 
-2.50 

- 95 
-1.25 
-1.25 
-2 50 
-2.50 
_ 44 

- 85 



CA3046 
3900 
8038CC 
UA791P5 



- WE SHIP OVER 95% 

OF OUR ORDERS THE 
DAY WE RECEIVE THEM 



Circle 134 on inquiry card. 



BYTE November 1977 



255 



fieadep Service 



Inquiry No. 



Page No. 



Inquiry No. 



Page No. 



Inquiry No. 



Page No. 



1 AAA Chicago Computer Center 189 

2 Alpha Digital 198 

3 Anderson Jacobson 23 

4 Apple Computer 34,35,36 

14 Arrow 219 

5 Atwood Enterprises 225 

6 AVR Electronics 219 

7 AVATAR Systems 221 

8 Axiom 7 

9 Beckian Enterprises 222 

10 Bell & Howell Schools 13 

11 Beta Business Systems 189 

12 BITS 142-144, 153, 159, 161, 163, 178 

15 BPI 109 

16 Byte I nc 157 

* BYTE Binders 205 

18 Byte Shop Mail Order 141 

1 9 Byte Shop of Miami 221 

20 BYTE Subscription 187 

21 California Industrial 231 

22 Canada Systems 208 

23 CMC Marketing 57 

24 Computalker 203 

25 Computer Corner 219 

26 Computer Creations 2 1 8 

27 Computer Data Systems 21 

2 8 Computer Depot 189 

29 Computer Enterprises 219 

30 Computerland 30, 31 

31 Computerland, Lawndale 221 

33 Computer Mart of NH 189 

34 Computer Mart of NJ 207 

35 The Computer Place2 19 

3 6 Computer Room 169 

37 Computer Systems Store 221 

38 Computer Warehouse 233 

39 Creative Computing 183 

40 Cromemco 1, 2 

42 DaJen214 

43 Databyte125 

44 Data Search 203 

45 Digital Group 97 

46 Digital Microsystems 92 

47 Dilithium Press 201 



48 Disc 3 221 

50 DRC Engineering 235 

51 , Dynabyte 99 

52 EDP Professionals 189 

53 Electravalue Industrial 218 

54 Electro Labs 227 

55 Electronic Control Technology 212 

56 Electronic Warehouse 237 

57 Essex Data 189 
163 Expandor202 

58 Extensys93, 165 

59 Formula International 223 

61 Godbout 239 

62 Hambrecht & Quist 197 

63 Heath 24, 25 

64 Homestead Technologies 219 

65 Heuristics 87 

66 IMMM78 135 

67 IMSAI48,49 

68 Information Terminals 5 

69 Integral Data Systems 145 

70 Integrated Circuits Unlimited 241 

71 Intel 11 

72 Intelligent Business Machines 221 

73 I nterdata Systems 29 

74 Interface Age 193 

75 International Data Systems 191 

76 IOR189 

77 Ithaca Audio 201 

78 Jade 243 

79 James Electronics 245, 247, CI II 

60 Jem 213 

80 LearSiegler 55 

81 Logical Services 155 

13 Manchester Equipment 218 

82 MCBA47 

83 Meshna 249 

84 Micro Aids 217 

85 Micro Com 219 

86 Micro Design 210 

87 Micronics 207 

88 Micro Tech 113 

89 Micro Term 70 

90 Microtex Inc 221 

91 Microware 148 

92 MSI 133 

93 Mikos228 

94 Mini Micro Mart 229 

96 Modicon 208 

97 Morrow's Micro Stuff 251 

98 Morrow, William & Co, Inc 156 



BPMB 

.BY I Vi Prtf ciflf Moiiiltp Bo* 



On BOMB Card, 
Article No. 



August 1977 BOMB results appear on page 38. 



ARTICLE 



1 Ciarcia: Memory Mapped IO 

2 S P Smith: Simulation of Motion, Part 1 

3 Piele: A Minicomputer Fair: Tiny and Personal 

4 M F Smith: Using Interrupts for Real Time Clocks 

5 McCain: Spikes: Pesky Voltage Transients 

6 Grappel: Does Anybody Know What Time It Is? 

7 Sneed: Adding an Interrupt Driven Real Time Clock 

8 Hashizume: Floating Point Arithmetic 

9 Jones: Building a Computer From Scratch 

10 Brader: A 6502 Personal System Design: Kompuutar 

11 Lynne: Implementing an LSI Frequency Counter 

12 Wozniak: SWEET16: The 6502 Dream Machine 

13 Trollope: Do You Need the Real Time? 

14 Doliner: NIMBLE: The Ultimate NIM? 



PAGE 

10 

18 

26 

50 

54 

68 

72 

76 

80 

94 

146 

150 

166 

172 



99 mpi 213 

100 MSDInc107 

101 Mullen 196 

102 National Multiplex 101 

1 03 Netronics Research 21 1 

104 Newman Computer Exchange 140 

1 05 North Star Computer 61 , 67 

106 Objective Design Inc 215 

* Ohio Scientific Instrument 39-45 

108 Oliver Audio Engineering 66 

109 Osborne & Associates 75 

110 PAIA 139 

111 Page Digital 225 

112 Parasitic 15 

* Percom Data 32, 204 

114 Peripheral Vision 129 

115 Phone I 189 

* Polymorphic 27 

1 1 7 Processor Technology 62-65 

1 19 Quantronics 17 

120 Radio Shack CIV 

122 RHS Marketing 105 

123 Rotundra Cybernetics 219 

118 S-100lnc103 

124 Scelbi 51, 117 

* Scientific Research 115, 131 

126 SD Sales 253 

127 Seals 71 

128 Smoke Signal Broadcasting 123 
. 1 29 Software Exchange 2 1 

130 Software Records 209 

131 The Software Store 2 1 7 

132 Software Tech 202 

133 Solid State Music 19 

134 Solid State Sales 255 

135 Solid State Time 158 

136 SwTPCCII 

137 Space Byte 79 

138 Summagraphics 195. 

139 Sunny Computer Stores 219 

140 Sybex170, 179 

141 Synchro Sound 58, 59 

142 Szerlip215 

143 Tarbell 209 

144 Tech Mart 81 

145 Technical Design Labs 33 

146 Technical Systems Consultants 89 

147 Tech Prize 200 
23 TEI 57 

149 Telesensory Systems 192 

1 50 Tenberg Software Systems 221 

151 Terminal Systems 214 

1 52 Texas I nstruments 8, 9 

153 Toyo International 221 

49 Typetronic Computer Store 197 

154 Urban Instruments 224 

155 Vandenberg Data Products 196 

156 Vector Electronics 138 

157 Vector Graphic 120, 121 

158 Vectron 139 

159 West Coast Computer Faire 175 

160 Worldwide 212 

161 Ximedia171 

162 Xybek 200 



To get further information on the products advertised in 
B Y TE, fill out the reader service cord with your name and 
address. Then circle the appropriate numbers for the adver- 
tisers you select from this list. Add a 9 cent stomp to the 
card, then drop it in the mail. Not only do you gain infor- 
mation, but our advertisers are encouraged to use the 
marketplace provided by B YTE. This helps us bring you a 
bigger BYTE. 

* Reader Service inquiries not solicited. Correspond directly 
with company. 



256 



BYTE November 1977 



■s "£ 



a. c 



Kp 


o 


> 


WU 


L. 




§ 


> 

Pi 


a 

CD 


OJ 

■a 

n 


UJ 


H 


5 


u 


« 


oo 


F 


a 









N 






£ 


LT. 








Cll 






a j 








a 


C 






ca 


3 






5 


CD 



cd cr co 

cd cr o 
£ 1 ° 



a 


, , 


a 


£ 


0) 


F 


RJ 


♦J 





^ 


H 


u 







CO 

to 


CN 
CO 
CO 


co 

co 
to 


co 

to 


if; 
CO 
CO 


to 
co 

(O 


CO 

CD 


00 

co 
CD 


03 

co 

to 


O 

■c 


•o 
to 


CN 

CD- 


CO 

••cr 

CD 


CO 


in 

-cr 

CO 


CO 
CO 


r-- 

■^r 

CD 


CO 
CO 


CO 

^r 
CD 


o 
in 

CO 


LO 
CD 


CN 
CO 

co 


CO 

Ifl 

CO 


■J 

CO 

CO 


uo 

CD 


CD 

to 


LO 

CO 


CO 

LO 

CO 


03 

UO 

CD 


O 
P". 

to 




1 




5 

CO 


C J 
o 
CO 


CO 

o 
to 


- 
o 

CD 


in 
o 
to 


CD 
O 
CO 


o 
to 


8 

CD' 


CO 

o 

CD 


o 

CO 


to 


CN 
CO 


CO 

to 


CO 


in 

CO 


CD 
CD 


CD 


CO 

to 


GO 

to 


o 

CJ 

CO 


CN 

to 


CN 

OJ 

CO 


:o 
CN 
10 


CN 

to 


Ifl 

O.J 
CO 


CD 
■CN 

to 


p* 

CN 
CO 


00 

CN 
CD 


00 
CN 
CD 


s Cxi 




Z 




P» 

LO 


CN 

in 


CO 

CD 


in 


m 

ps 

UO 


to 

10 


p*. 

P-. 

LO 


OQ 

r- 

m 


03 
LO 


c 

CC 

ID 


CC 
LO 


CN 

cc 
m 


CO 

CO 

;n 


•3" 
CO 

in 


LO 
CO 

to 


CD 
CO 

LO 


cc 
Ifl 


CC 
CO 
LO 


GO 
CO 
LO 


Q 
Gi 

LO 


03 

LO 


CN 

CO 

to 


CO 

Co 

LO 


O 
LO 


10 

•DO 
Ifl 


CO 

CO 
LO 


p". 

GO 

in 


DO 

CO 

in 


GO 
00 
Ifl 






GL 

hi 




io 


CN 

T 

10 


co 

-r 
m 


in 


in 

in 


CD 

■cr 

LO 


>- 

ifl 


cc 
■- 
in 


CO 

10 


o 

LO 
LO 


cc 

CO 


CN 
LO 

in 


to 
m 


•:r 

LO 
LO 


10 

10 

in 


CO 
LO 

LO 


LO 
LO 


CO 

LO 

lO 


03 

LO 

LO. 


O 
(D 
LO 


CD 
LO 


CN 

CD 
LO 


CO 

CD 
10 


•C 

CD- 
LO 


lO 

CO 
10 


CD. 

-c. 
m 


p* 

CO 

10 


CO 
CD 

to 


03 
CD 
LO 






CO 

< 

LU 
_l 
Q_ 




in 


CN 

LO 


CO 

in 


in 


in 
in 


CO 

m 


Ifl 


00 

lO 


CO 

m 


O 
CN 
LO 


CN 

LO 


CN 

CN 

in 


to 

CN 

LO 


CN 

m 


ID 

CN 

LO 


CO 

CN 
Ifl 


CN 

LO 


CO 
CN 

LP. 


03 

CN 
UO 


a 

CO 

in 


CO 

in 


CN 
CO 

LO 


CO 

CO 
LO 


<cr 
CO 

Ifl 


uo 
CO 
Ifl 


CD 
CO 

Ifl 


CO 

in 


CC 
CO 

in 


CO 
CO 
UO 


a 




CO 

-v 


CN 

CO 


co 

CO 


cc 


LO 


to 

DO 
3 


CO 


CO 


CJJ 
CC 


O 
-^7 


CO 


CN 
03 


CO 
GO 


en 

- 


LO 

cn 

-ci- 


CO 

CO 

-r 


0^ 

•cr 


CO 
00 

T 


CO 
DO 

-: 


a 
o 
in 


o 

LO 


CJ 

O 

LO 


CO 

o 

LO 


3 

c 

LO 


LO 

o 
la 


s 

LO 


p> 

o 

LO 


00 

c 

10 


g 
LO 


o pci 


N 


1 
> 




in 


CN 

in 


co 

•r 


OT 

uo 
o. 


in 

LO 


CO 

LO 


in 


CO 
LO 


C7: 
LO 


a 

CO 

•c 


to 


CN 

to 


CO 

CD 


CD' 

-r 


io 

CC 

-r 


CD 

cc 
*cr 


■-- 

to 

■o 


CC 
CD 
■3" 


CO 
CD 

■n 


o 
px 
3 




CN 

b 


CO 

p- 

■cr 


•c 


LO 


CD 
*3- 


P* 

•cr 


cc 
p> 

•cr 


00 

p« 

•cr 




03 


3 
O 

> 

o 


cs 


CN 
CN 


CO 

-r 


CN 


LO 

CN 

•cr 


CD 
CN 


p-. 

CN 

-o 


cc 

CM 


03 

CN 


O 
CO 


CO 


CN 

co 


to 

CO 

•cr 


CO 

•T 


Ifl 
CO 


CD 
CO 


CO 

•T 


00 
CO 

■rr 


03 
CO 

^r 


CD 
N- 

•,T 


•cr 


CN 
^r 
3 


CO 

■o 

-^r 


3 
3 
3 


Ifl 
3 

^r 


■CD 
-■T 


p- 

•cr 
-cr 


CO 

3 


03 

- 






(0 


03 
CO 


CN 
03 
CO 


co 

cr. 
CO 


co 
co 


in 

en 
CO 


CD 
CO 

co 


03 
CO 


co 
03 
CO 


CO 
CO 


o 
o 


o 


CN 

O 


to 
o 


g 

o 
••? 


LO 

o 


CD 

o 


o 


CO 

o 
•cr 


G> 
O 
-7 


o 
•-I 


5 


CN 


co 
^r 


■■I 


lO 


CO 

-r 


p*. 

-o 


CO 

b 


GO 


§EB< 


CD 


3 
O 


5 

co 


CN 

CO 

CO 


CO 

CD 
CO 


■:, T 

CD 

co 


m 

CO 
CO 


CO 

CD 

co 


p«. 

CD 
CO 


CC 
CD 

CO 


03 

CD 
CO 


o 

CO 


CO 


CN 
CO 


CO 

r» 

CO 


CO 


in 

ro 


CO 

CO 




cc 
CO 


03 

CO 


o 

CO 

CO 


CO 
CO 


co 

CO 
CO 


to 

CO 
CO 


3 

cc 
co 


10 

CC: 
CO 


CD 

cc; 
co 


r- 

CO 

to 


00 

-o 
CO 


GO 
CC 

CO 


s o 


co ^ 


a") 
to 
E 
■a 

03 

+-- 

CA 

09 

3 


co 

co 


to 

co 


CO 
CO 

co 


CO 
CO 


co 

CO 


CD 
CO 


P*. 
CO 
CO 


cc 

CO 
CO 


03 

co 
CO 


o 

CO 


CO 


CN 
CO 


CO 

-r 
co 


3 
3 

co 


uo 
CO 


to 
to 


3 
co 


cc 
3 
to 


01 

CO 


o 

LO 
CO 


Ifl 
co 


CN 

LO 

CO 


CO 
LO 

CO 


•C3 

LO 

CO 


LO 

lO 
CO 


CD 
UO 

CO 


CD 

CO 


CO 
LO 

to 


01 

LO 

to 


1 £H 




CD 
U 

CO 


b 
co 


CN 
o 
co 


co 

o 

CO 


O 

co 


in 

o 

CO 


CO 

o 
co 


b 

CO 


CO 

o 

CO 


o> 

o 

CO 


o 
co 


CO 


CJ 

to 


co 
CO 


to 


m 

CO 


CD 
CO 


CO 


CO 
05 


03 

CO 


o 

CN 
CO 


CN 

CO 


CN 

CN 

to 


CO 
CN 

co 


CN 
CO 


LO 

CN 
CO 


CD 
CN 
CO 


CN 

CO 


00 

CN 

CO 


01 

CN 

co 


§o 

° HZ 




Q) 


CN 


CN 

r» 

tN 


CO 

r- 

CN 


--.■ 
r- 

CN 


LO 

CN 


to 

r* 

CN 


P> 

p> 

CN 


00 


03 
r- 
CN 


o 

CO 
CN 


CO 
C-: 


(N 

CO 
tN 


CO 

CO 
CN 


^r 
cc; 
CN 


LO 
CO 

CN 


CD 
CO 
tN 


o 

c ; ; 
CN 


CO 
CO 

CN 


01 

cc 

CN 


o 

ON 

CN 


CO 
CN 


co 
CN 


CO 
r,, 
CN 


GO 

CN 


LD 

C) 
CN 


CO 

CO 


f-- 

00 
CN 


CO 

CO 
CN 


CO 
0) 

CN 




o 


5 
(N 


CN 

-r 
tN 


CO 
3 
CN 


-: 
CN 


in 

"7 

CN 


(0 

3 

CN 


- 

CN 


00 

••J- 
CN 


01 

CN 


o 

LO 

CN 


UO 
CN 


CM 

LO 

CN 


to 

UO 

tN 


3 

LO 
CM 


uo 

LO 

CN 


CO 

co 
CN 


LO 

CN 


CO 

co 
CN 


03 

LO 
CN 


O 

CD 
CM 


CO 
CN 


OJ 
<D 
CN 


CO 
CD 
CN 


CD 
CN 


Ifl 

CD 
CN 


CO 

CD 
CN 


P» 
CD 
CN 


CO 
CD 
CN 


CO 
CC 

CN 






c 


rs> 


CN 


CN 


CO 

CN 


"9 

CN 


m 

CN 


CO 

CN 


r- 
CN 


00 


GO 

CJ 


o 

O-l 

CN 


CN 
!OJ 


■CO 
CN 
CN 


CO 

CN' 
CN 


*-? 
C-i 
CN 


uo 

CN 

CJ 


CO 

CN 

CN 


CN 

CJ 


CO 
CN 

CN 


03 

CN 


O 

to 

CN 


CO 
CN 


CN 
CO 
CN 


CO 

CO 

CJ 


•^r 
co 
CN 


10 

CO 
CN 


CD 
CO 
CN 


P» 

to 

CN 


CO 
CO 

CN 


03 

co 
CN 


CN ^^ ^fcV 




E 


o 


5 


CN 

CO 


CO 

CO 


CO 


LO 
CO 


CO 

c: 


p* 

CO 


CO 
CO 


03 

CO 


o 

CO: 


C) 


CJ 
CO 


CO 
03 


3 


10 
03 


CO 

CO 


03 


zo 

CCj 


03 


a 

o 

CN 


b 
CN 


CN 

o 

CN 


CO 

o 

tN 


Q 

CN 


LO 
C 


CD 
C 
CN 


O 
CN 


CO 
CD 
CN 


•00 

o 

CN' 


S ^£ 




> 

ca 


10 


CN 

uO 


CO 

in 


10 


LT 

10 


CO 
LO 


r- 

LO 


CC 
L0 


CO 

LO 


o 

CO 


CO 


CN 

■CD 


CO 

CD 




LO 

CO 


CD' 
CD 


c-~ 
CD) 


cc 

CD 


03 

;o 


a 


r» 


CN 


CO 

r-- 


P-» 


LO 


CD 
0- 




CC 

- 


03 
P«- 


CO *^ 




CO 


> 


CN 


CM 
CN 


co 

CM 


.... 

CN 


10 

CN 


CO 

cn 


P» 

CN 


CC 
CN 


cr; 
CN 


o 

CO 


CO 


CN 
CO 


CO 
CO 


CO 


in 

CO 


CO 

CO 


to 


00 

CO 


03 

CN 


o 


5 


CM 

T 


CO 

*cr 


•cr 


LO 

•■:- 


CD 




CO 

•c- 


GO 


S ^ 






c r^"^SSI^22S ^^"^^^^Maio^cNco^LncQr^cocno 

— ^ M ^^^^^ ro O^O^CNCO^i^COr^COOOO^CNc^crin(ai^rr>mr-i 

w CDcocDtDcococDcocor^r^r-r^i-r-^r^SSSooScoS 
"_. ^^"^^C^^KlCJlO^CNcO^KlCOr^COCTlOT-iNri^mtnr^rnrnr-i 

$ oncncoMconnco^^^^^^^^^g^KSSSLnSSSg 
^N^^ln(D^[l)C))O^CNn^LIO^D^coalO-c^l^o*Ln(D^a>GO 

'-'-'-'-T-r-i-i-T-^CNJCNCMCNCNCNCNfNCNCNCO 



CO 
U 





a 


C/3 


F 


z 





o 


OJ 


HH 


CD 


H 


03 


Cu 


CL 






D^ 


LU 
1— 


U 


> 


C/) 


DQ 


PQ 


O 


5 


*^ 


00 


O 



m 



o o o 

LO O LO 

rb co co 

*- CO xt 

W <f) GO 

a a n 





CN CN CN 




< 


^- CN CO 




LO CO 00 


!_ 


CO 

D 


a a d 


CD k- 
0) 

CL § 

O QJ 

U. LO 

LO LT) 
CM CN 



. — ■ 


OJ 


OJ 


F 


3 




,i J 


rn 


< 




DC 


LJ 


h 




X 





CD 


CD 


CO 




> 


c, 


P- 
I 


CD 
U 


O 


CO 


CD 


03 


c 






D 




CO 


4- 

D 


_3 
O 
> 


> 



< 



£i o 






X 

2 



O 



81 

c 
O 



H 
>- 

CD 



DQ 


CD 



> 0000000000000000000000000 

oia^oocnaiocnoooajocnoGioc^ 
^ aioocoo3cocx)cocococx)coo3raracora 



•4= E 

CD O 

cc CO 



r^~- r-~- c - r — r~- r^- r~— r~~- r~— r^- 1 — - r-~ 1 — r~— 1 — - r~~- r~— r^- i — - r^- r~~- r~— r~— r — r^~ 



E 
E 



rirooonconnfirQnnroncinnronroncocoorin 



CNCNCNrNICNrNCNW^CNWCNIWCNCNCNOJC^ 



0000000000000000000000000 



< 2 




m| JWK READER SERVICE 
Ett I [ Publications Inc 
PO Box 319 

Dover NJ 07801 



November 1977 




EITI 

PO Box 361 
Arlington MA 02174 



SUBSCRIPTIONS 




6CMB- 

EYTE 2 Cingcinf Monitor Etcx 



■JTr I [ Publications Inc 
70 Main St 
Peterborough NH 03458 



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-PAK® 
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 



Jim-pak 
EBBHmBB BB 

Component Center 

U4J-JJ-UU I 






mhfm 



ftm 



m 
hi 



Sliiiiiu" 









life 



y * I «» I * j • jijj f 

Wfim 



vn 



SP- u r 



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 79 i 




The first complete, low-cost microcomputer 
system for business, home or education 



Radio Shack TRS-80 




Includes 

CPU, 

memory, 

keyboard, 

display, 

power 

supply 

cassette 

recorder 



iiiiiiiiiii 




: M 



The computer that helps a small business think big — 
and grow bigger. The TRS-80 can greatly reduce the time 
you spend on payroll, accounting, inventory control and 
other clerical tasks. So you have more time for clients or 
customers. You don't have to be an expert in 
programming or electronics, because the TRS-80 is not a 
kit — it's wired, tested, U.L. listed, ready to use. The 
Z80-based system comes with 4K read/write memory and 
Radio Shack Level-I BASIC® stored in read-only memory. 
Memory expandable to 62K bytes. With programming 
instructions and ready for an expanding selection of 
prepared programs on cassettes. Designed and built in 
the USA by Radio Shack. Just 599.95! 



Clip and Mail Coupon Today! 



Mail to: Radio Shack, Dept. TRS-80 cois 

205 N.W. 7th St., Ft. Worth, TX 76101 
Send me more data on the TRS-80 microcomputer 

• Description of applications, software and peripherals 
available through Radio Shack • Owners' newsletter 

• Price list • List of stocking stores and dealers 

NAME APT. NO . 

ADDRESS 

CITY STATE ZIP 




SOLD ONLY WHERE YOU SEE THIS SIGN: 

Radio Jhaek 

A TANDY COMPANY • FORT WORTH, TEXAS 76102 
OVER 6000 LOCATIONS IN NINE COUNTRIES 



Circle 120 on inquiry card. 

Price may vary at individual stores and dealers