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