Text content (OCR)
ISSUE #1 SEPTEMBER 1975
$1.50
the small systems journal
Which Microprocessor
for you?
Cassette Interface — Your
key to inexpensive bulk memory
Assembling Your Assembler
Can YOU use these SURPLUS
KEYBOARDS?
(You bet you can!)
COMPUTERS -
now.
Since 1947, ACM has served as the educational and
scientific society for computing professionals—30,000
strong and growing.
Write today
For regular and student membership information
send the attached coupon to ACM headquarters. With
Special Interest Groups covering every major computing
discipline and local Chapters in most metropolitan areas,
ACM is probably the organization you're looking for.
! would like to consider joining ACM.
I
|
| sso
| ox
a
] Association for Computing Machinery I
1133 Avenue of the Americas, New York, N.Y. 10036 l
Please send more information.
Name.
Position
State Zip
The MODULAR MICROS
from MARTIN RESEARCH
Here’s why the new M/KE 2 and MIKE 3
are the best values in microcomputers to-
day!
8008 OR 8080
Martin Research has solved the problem
bothering many potential micro users
. ++. Whether to go with the economical
8008 microprocessor, or step up to the
powerful 8080. Our carefully designed
bus structure allows either processor to
be used in the same system!
The MIKE 3 comes with an 8080 CPU
board, complete with crystal-controlled
system timing. The M/KE 2 is based on
the 8008. To upgrade from an 8008 to
an 8080, the user unplugs the 8008 CPU
board and plugs in the 8080 CPU. Then
he unplugs the 8008 MONITOR PROM,
and plugs in the 8080 MONITOR
PROM, so that the system recognizes the
8080 instruction set. That's about it!
If the user has invested in slow memory
chips, compatible with the 8008 but too
slow for the 8080 running at full speed,
he will have to make the 8080 wait for
memory access—an optional feature on
our boards, Better still, a 4K RAM board
can be purchased from Martin Research
with fast RAM chips, capable of 8080
speeds, at a cost no more that you might
expect to pay for much slower devices.
In short, the MIKE 2 user can feel confi-
dent in developing his 8008 system with
expanded memory and other features,
knowing that his MIKE 2 can be up-
graded to a MIKE 3—an 8080 system—in
the future.
EASE OF PROGRAMMING
Instructions and data are entered simply
by punching the 20-pad keyboard. Infor-
mation, in convenient octal format, ap-
pears automatically on the seven-
segment display. This is a pleasant con-
trast to the cumbersome microcom-
puters which require the user to handle
all information bit-by-bit, with a confus-
ing array of twenty-odd toggle switches
and over thirty red lights!
A powerful MONITOR program is in-
cluded with each microcomputer, stored
permanently in PROM memory. The
MONITOR continuously scans the key-
board, programming the computer as
keys are depressed.
Say the user wishes to enter the number
135 (octal for an 8008 OUTPUT 16 in-
struction). He types 7, and the right-
hand three digits read O07. Then he
presses 3, and the digits say 073. Finally
he punches the 5, and the display reads
135. Notice how the MONITOR program
(Continued in column 3.)
hamily
Introducing the family of modular m
from Martin Research!
Choose either the economical 8008 proces-
sor, or the powerful 8080. Either CPU is
compatible with our advanced bus structure!
Plus, a convenient monitor program, in
PROM memory, allows you to enter instruc-
tions with the ease of a handheld calcul-
ator. Six large digits display data in octal
format.
jodularity makes for easy expansion. First
quality parts throughout. Professionally
made PC boards with plated holes, solder
mask protection, 8080 CPU board features
jersatile interrupt structure, multiprocessing
apability. E:
output ports.
MIKE 303A
board/display 6
monitor O 6 bytes of RAM),
breadboard, “hardware, and tuctions:
$395.00 kit, $495.00 bled and tested.
MIKE 203A: CPU board with 8008, key
PROM/RAM,
interfacing to input and
4K RAM board
$165.00 kit, $190.00
CATALOG!
'S & Canad
Master Charge accepted.
OEMs: write for
quantity prices
MARTIN RESEARCH
Microcomputer Design
1825 S. Halsted St.
Chicago, IL 60
(312) 829-6932
shifts each digit left automatically as a
new digit is entered! The value on the
display is also entered into an internal
CPU register, ready for the next opera-
tion. Simply by pressing the write key,
for example, the user loads 735 into
memory.
The MONITOR program also allows the
user to step through memory, one loca-
tion at a time (starting anywhere), to
check his programming. Plus, the Swap
Register Option allows use of the inter-
rupt capabilities of the microprocessor:
the MONITOR saves internal register
status upon receipt of an interrupt re-
quest; when the interrupt routine ends,
the main program continues right where
it left off.
We invite the reader to compare the pro-
grammability of the MIKE family of
microcomputers to others on the mar-
ket. Notice that some are sold, as basic
units, without any memory capacity at
all. This means they simply cannot be
programmed, until you purchase a mem-
ory board as an “‘accessory.” Even then,
adding RAM falls far short of a conve-
nient, permanent MONITOR program
stored in PROM. Instead, you have to
enter your frequently-used subroutines
by hand, each and every time you turn
the power on.
EASY 1/0 INTERFACE
The MIKE family bus structure has been
designed to permit easy addition of in-
put and output ports. A hardware inter-
face to the system generally needs only
two chips—one strobe decoder, and one
latching device (for output ports) or
three-state driving device (for inputs). A
new 1/0 board can be plugged in any-
where on the bus; in fact, all the boards
in the micro could be swapped around in
any position, without affecting opera-
tion. 1/0 addresses are easy to modify by
reconnecting the leads to the strobe de-
coder (full instructions are provided);
this is in marked contrast to the clumsy
input multiplexer approach sometimes
used.
POWER & HOUSING
The micros described to the left are com-
plete except for a cabinet of your own
design, and a power supply. The basic
micros require +5 V, 1.4 A, and -9V,
100 MA. The 4K RAM board requires
5 V, 1 A. A supply providing these volt-
ages, and +12 V also, will be ready soon.
OPTIONS
A number of useful micro accessories are
scheduled for announcement. In addi-
tion, the MIKE 3 and MIKE 2 may be
purchased in configurations ranging from
unpopulated cards to complete systems.
For details, phone, write, or check the
reader service card.
COMPUTER EXPERIMENTER SUPPLIES
FACTORY FRESH—PRIME QUALITY
PERFORMANCE GUARANTEED
MICROPROCESSORS AND MEMORY
8008 ... .$ 35.00 ————— Commercial Grade—up to 35°C.
8080 . . 135.00 ————+ P
2102 . 3.50 |_____—« These units are factory
2102-2 ... 450 ————— fresh, full spec devices.
COMPUTER GRADE REGULATED POWER SUPPLIES
All units are short-circuit proof, fold back current limited and with
over-voltage crowbar protection.
MD-15 MD-5-1 MD-5-3 MD-5-6
+15 Volt at 200MA +5 Volt at 1 Amp +5 Volt at 3 Amp +5 Volt at 6 Amp
Dual Tracking $24.50 $34.50 $44.50
$30.00
MICRO COMPUTER SUPPLY TTL INTEGRATED CIRCUITS
COMBINATIONS All devices are factory fresh, full spec units.
For the 8008 7400
-9 at 200 7404
. $75.00 7442
7447
MD-80—+5 volt at6 amp, +12v at 200 ma ...$75.00 7448
For the Fairchild F-8 7475
MD-08--+5
volt at 6 amp.
MD-8—+5voltat6amp,+12vat200ma ...$65.00 | 7490
For the M6800 7493
MD-5—+5 voltat6amp ............... ee $44.50 74125
74126
All units are short circuit proof, fold-back current | 74192
limited and with over voltage crowbar protection. 74193.
All Prices Subject to Change Without Notice
Minimum Order $10.00
Add $1.00 to Cover Postage and Handling
Send Check or Money Order (No C.O.D.) To:
N. J. Residents Add 5% Sales Tax
BOX 413, EDISON, NJ 08817 © (201) 549-2699
In the Queue
Foreground
RECYCLING USEDICs.............0000 0s 20
Hardware — Mikkelsen
DECIPHERING MYSTERY KEYBOARDS ... .62
Hardware — Helmers
LIFE Line
Applications — Helmers
Background
WHICH MICROPROCESSOR FOR YOU?..
Hardware — Chamberlin
RGS 008A MICROCOMPUTER KIT ......... 16
Review — Hogenson
SERIAL INTERFACE ..............0.0005 22
Hardware — Lancaster
WRYTE for BYTE seas cives ws oe6 anes ane! 44
For Profit — Ryland
WRITE YOUR OWN ASSEMBLER .........- 50
Software — Fylstra
Nucleus
BYTE magazine is published
monthly by Green Publishing,
Inc., Peterborough, New
Hampshire 03458.
Subscription rates are $12 for
one year worldwide. Two
years, $22. Three years, $30.
Second class postage
application pending at
Peterborough, New Hampshire
03458 and at additional
mailing offices. Phone:
603-924-3873. Entire contents
copyright 1975 by Green
Publishing, Inc., Peterborough,
NH 03458. Address editorial
correspondence to Editor,
BYTE, Box 378, Belmont MA
02178. From inception to
press in seven weeks — surely a
magazine creation record.
Guinness please take notice.
What is BYTE?s scses ous m ores wegen Sow a oF 4
How BYTE Started
Clubs — Newsletters
Book Reviews........ 00. eese cece e eee ed
LOCO Siie saci isinmeces sewers owntba oa wore reward
Byter’s Digest . .
Reader's Service ..
BUTE #1
SEPTEMBER 1975
p.22
Carl Helmers:
“It could not have been
long before some
wizard of verbal magic
figured out that a group
of little bits must con-
stitute a mouth water-
ing BYTE.”
“...the term byte has
become part of the lexi-
con.”
For the hardware per-
son, “the fun is in the
building.”
What is BYTE?
This is the first issue of a
new publication — BYTE —a
monthly compendium of
information for the owners
and users of the new
microcomputer systems
becoming widely available at
moderate cost. To formal and
informal students of
computer science, the choice
of the name BYTE is quite
appropriate. For a_ large
number of applications of
this new technology of
inexpensive computers,
character string and text, data
(basic unit, one byte) is an
important consideration.
Bytes are the units of data
manipulated by many of the
small computer systems
designed by readers — or
assembled using one of a
number of kit products now
‘on the market.
The most common
definition of a byte is that of
a unit of information
containing 8 bits. This unit of
information can at any time
represent one of 2° = 256
possible things — for instance,
one of the ASCII or EBCDIC
character codes, one of the
integers from 0 to 255, a
signed integer from -128 to
+127, etc. The origin of the
term “byte” lies in 1BM’s
documentation and
terminology for the
extremely successful System
360 series. The folk tale has it
that IBM needed a more
“personalized” (i.e. unique)
term for the old standby of
earlier generation computers,
the “character”. The term
had to be less tied to a
specific type of data such as
character codes — and had to
take on a generic meaning as
“unit of storage”. With that
functional specification for
the required term, it could
not have been long before
some wizard of verbal magic
figured out that a group of
little bits must constitute a
mouth watering byte.
With the term’s
widespread use in the
computer field due to 1BM’s
benign influence, the term
byte has become part of the
Jexicon. The fundamental
significance of a byte as a
unit of information makes
BYTE an appropriate name
for the publication. BYTE is
your unit of information on
the state of the art of small
computer systems for
individual persons, clubs and
classroom groups. Each
month you will find
information ranging from
computer club announce-
ments to manufacturers’
advertisements, from
technical details of hardware
and software to humorous
articles and _ editorial
opinions.
The Home Brew Computing
Trilogy
The story of computing is
a story composed of several
elements. A good way to look
at the story is as a trilogy of
interrelated themes...
HARDWARE.
SOFTWARE
APPLICATIONS...
You need the hardware
before you can progress
through the first gate of a
system. A virgin computer is
useless so you add some
software to fill it out. And
the whole point of the
exercise — in many but not
all cases — is to come up with
some interesting and exotic
applications.
The technical content of
BYTE is roughly divided into
the trilogy of hardware,
software and applications.
Each component of the
trilogy is like a facet of a
brilliant gem — the home
brew computer applied to
personal uses. The trilogy is
not confined to home brew
computers alone of course.
In the personal computing
field as in any endeavor there
are people who will have
foremost in their minds any
one of these three topics to
the exclusion of the other
two. For instance some of the
people | know are interested
in software — and pretty
exclusively software. They’ll
tend to concentrate on
software as much as possible
and try to get a minimal
amount of hardware
sufficient to experiment with
software. A person with a
primary interest in software
will oftentimes be the person
who purchases a kit computer
because the kit minimizes the
amount of hardware
knowledge the person is
required to have.
An example of another
kind of person — in terms of
isolated characteristics — is
the hardware kind of person.
Here the emphasis of the
work with home brew
computing is on putting
together the hardware,
designing the hardware,
making things that quote
“‘work’’? unquote. A
“hardware person” in many
cases may not do much else
— but he or she certainly will
accomplish the design goal.
This is the person who builds
up a computer system to the
state where it might even be
able to do a bootstrap off
tape — then drops the system
and decides to build a better
one. The fun here is in the
building, not in the using and
programming.
Then in this description of
possible ways of approaching
the home brew hobby there is
the applications person. This
person’s attitude is somewhat
a synthesis of the other two
types. The applications
person is typically interested
in getting a particular
program up and running. Soa
Space War freak would spend
a good portion of available
time getting the hardware and
software needed to play space
war. A LIFE addict would
spend a fair amount of time
getting the hardware and
software for the game of
LIFE — and fooling around
with LIFE patterns. And a
person who enjoys other
computer games — using the
game as a goal — spends much
time assembling a
hardware/software system for
the game. A person interested
in toy robots would have a
combined hardware/software
problem of coordinating and
controlling movement — this
home roboteer must design
the mechanical details, design
a control algorithm — and if
sophisticated fun is required,
must design a pattern
recognition input device and
algorithm for interpreting
scenes. A model railroader
requiring a computer
controlled layout again has
this applications model —
computer controlled yard and
main line switches — and
faces a choice of possible
hardware and = software
the first
components needed to make
the application.
Now, aspects of the trilogy
exist in any particular person
who experiments with the
computer systems. A
common combination is for
the application to drive the
hardware and software
choices. Then there is the
person who builds the
hardware first — getting
caught up in the ‘“‘neatness”
of a logical construction in
the same way that a
mathematician goes off the
deep end with a neat
theorem. If you're starting as
such a hardware hacker, you
may come to the point where
you say “Hmmm — I’ve built
the hardware, so now what
do | do with it?” Here the
applications are following the
design of the computer. It’s
the same way with many
kinds of programming... the
software is an exploration of
the possibilities of the
hardware. As a software
hacker you might turn to the
pure logic of programming —
writing and trying out
routines for things ranging
from augmentations of the
instruction set to file
managers, to games simple
and sophisticated. Or you
may just foo! around with
programming with no specific
end in mind in terms of
applications, for the sole
purpose of seeing what you
can do with the machine.
As a home brew computer
software experimenter, you'll
find an emotional kinship
with the people who take
part in the automotive
hobbies. What does a
“performance”? automobile
buff do with the machine —
once all the optional
improvements and features
have been added underneath
the personalized paint job?
The auto nut takes his car out
to the local drag strip or
other test track and opens
up the throttle to see what
the engine and drive train will
do in terms of speed and
acceleration (proper spelling:
exhilaration). Well, for
computer experimenters
there is a logical drag strip in
every computer — an
instruction set waiting to be
explored. You exercise this
logical drag strip by seeing
what you can do in the
invention of neat little (and
not so little) programs to do
useless (equivalent of real
drag strip) performance tests
in artificial circumstances —
or really useful tasks
(equivalent to normal
transportation functions of
autos). | haven’t yet figured
out what the computer
equivalent of an air scoop
hood is — or the equivalent of
the weird mechanical
contrivances | often see on
the derriere of “muscle” cars.
You might even be the
type of person who wants to
do a certain programming
technique just for the sake of
programming — you say to
yourself: “OK — 1 want to
write a BLURPTRAN
language compiler and code
generator, so what hardware
do | need to do it?” As sucha
person, you would then
choose a computer system in
packaged and/or self-designed
form such that it would fit
the compiler writing goal.
In truth many will find it
best to seek a sort of
en
editorial
“A virgin computer is
useless so you add some
software to fill it
Sophi:
quires
thought
work...
icated fun re-
sophisticated
and hard
“Hmmm — I’ve built
the hardware, so now
what do | do with it?”
“Well, for computer
experimenters there is a
logical drag strip in
every computer — an
instruction set waiting
to be explored...”
interactive — balanced —
relationship between the
three aspects of the computer
trilogy. At any given time,
almost anyone has some
aspects of all three combined
within his own philosophy of
home brew computing.
BYTE — the magazine —
addresses this mixture that
occurs in various people by
providing articles permuting
and combining these areas.
In this first issue hardware
articles include “Deciphering
Mystery Keyboards,” an
article on recycling used ICs,
and Don Lancaster’s article
on serial output interfaces.
Articles on software include a
description of the assembler
concept by Dan Fylstra.
Applications are found in the
first segment of LIFE Line.
This application includes
information on programming
techniques as well as
suggestions regarding required
hardware.
So here in the first issue
you find an example of the
mixtures of these factors
which go into home brew
computing. This mixture of
aspects is a guiding theme of
the current and following
issues of BYTE — one of the
key editorial goals is to cover
a complete range of ideas
spanning this triumvirate of
concepts.
The Impossible Dream
The art of home brew
computing has come a long
way in the past few years. To
paraphrase the science fiction
author Robert Heinlein,
“When it’s time to do home
brew computing, people do
home brew computing.” That
time has come today, with
the advances in memory and
processor technology
inherent in large scale
integration. The present
devices are not as good as the
“Thorsen Memory Tubes” in
Heinlein’s Door Into Summer
— but it’s getting almost to
the point where a basement
tinkerer can put together a
manufacturable robotic
device and plant the
economic acorn which will
grow into an industrial oak
tree.
My own first exposure to
the idea of home brew
computing was about eight
years ago when | was
attending high school in rural
New Jersey. A ham (radio
amateur variety) friend of
mine at that time was
attempting to get a surplus
RCA computer card rack into
operation as his own
6
conception of a home
processor. | didn’t know
enough at the time even to
ask an intelligent question
about its design. The thing
was a monstrous 3-level card
rack with a heavy wire wrap
back plane and_ transistor
logic with integration to the
level of modular cards. |
don’t think this friend of
mine ever got his processor
working to any significant
extent — but the impression
was made: “Wouldn’t it be
neat to have a computer all
one’s own without being as
rich as Croesus?” | filed away
the thought of a home brew
computer as an “impossible”
dream at that time — how
could | afford a computer if |
could barely afford a beat up
old Hallicrafters SX-99
receiver and flea power ham
transmitter? That did not
stop me from having fun with
computers — it merely caused
a redirection of attention to
the use of computers
financed by agencies other
than myself... for a while.
The while lasted several
years as | bootstrapped
myself through college with
or, “Wouldn’t it be neat to have a computer all one’s
own without being as rich as Croesus?”
FORTRAN, COBOL, PL/I,
BAL and a bit of financial aid
from a private foundation.
Along about 1972 when |
started reading about the LSI
computers being designed by
Intel — the 8008 and 4004 —
| began to revive that old
dream of “having a personal
computer.” Here was a single
IC chip — the 8008 — which
would give me a real stored
program machine at
reasonable (‘‘reasonable” =
under $1000) cost. After
attending an Intel seminar in
1972, | resolved that | would
actually build an 8008
computer,
The resolution was a long
time being turned into reality
— 1 did not actually begin
design and construction until
January 1974. | took my
time for numerous
reasons... among them
being the fact that | had to
learn something about the
way hardware works, had to
equip a laboratory of sorts,
got this bug about
self-publishing the results
along the way*, and so
on...1 finally got an 8008
computer which would
execute instructions in the
middle of the summer of
1974 — and to quote one of
the subscribers to my self-
published series of articles, “I
learned a lot...,’’ just as he
did. So much for the personal
involvement — I’ve built a
kluge of sorts — the software
hacker’s first attempt at
hardware — and have learned
quite a bit as a result. You —
the reader of BYTE — can go
that route or use a much
easier route — there are
several manufacturers of kit
products advertising in this
magazine. And you'll find a
magazine full of helpful
information which | didn’t
have.
«+ CARL
*1 got the idea of self-publishing
from a pamphlet put out by SOL
II Publications, Farmington,
Maine — which has since been
turned into a book entitled The
Shoestring Publisher’s Guide —
full of useful materials on
publishing by individuals and
small organizations.
$995
Limit: one per customer.
OFFER expires September 15, 1975.
Two 4,096 word Memory Boards (kit)
Altair 8K BASIC Language. This language was chosen for the
Altair Computer because of its versatility and power and because
it is easy to use (comes with complete documentation). Altair
8K BASIC has many features not normally found in BASIC lan-
guage including an OUT statement and corresponding INPut
function that allows the user to control low speed devices
(machine control without assembly language). Leaves 1750 words
in 8K machine for programming and storage.
NOTE: Altair BASIC comes in
either paper tape or cassette
tape. Specify when ordering.
Interface Board Options. The Parallel Interface Board is used
to connect the Altair 8800 to external devices that send and
teceive parallel signals. Many line printers require a Parallel
Interface Board. The RS232 Serial Board is used to connect the
Altair 8800 to external devices that send and receive RS232 serial
signals. Most computer terminals require an RS232 Serial Interface
Board. The TTY Serial Interface Board is used to connect the
Altair 8800 to an ASR-33 or KSR-33 teletype (20 milliamp current
loop), The TTL Serial Interface Board is for custom interfacing.
The Audio Cassette Interface Board is used to connect the Altair
8800 to any cassette tape recorder. It works by changing the
MINTS
1D Enclosed is check for $_
1 BankAmericard #3!
+ 1 $995 BASIC System Special with following Interface Board: CI Pi
O Serial R232 € Serial TTY Ci Serial TTL O Audio Cassette
O Altair 8800 OO Kit O Assembled
Include $8 for postage and handling
CG Please send free Altair System Catalog
NAME
ADDRESS
“Creative Electronics” ai
Credit Card Expiration date:
Altair 8800 Computer Kit
Your choice of Interface Boards (kit)
Altair 8K BASIC Language
electrical ‘signals from the computer to audio tones. It can be
used to store unlimited amounts of information coming out of
the computer and it can be used to put information back into
the computer.
PRICES:
Altair Computer kit with complete assembly instructions $439
Assembled and tested Altair Computer $621
1,024 Word Memory Board $97 kit and $139 assembled
4,096 Word Memory Board $264 kit and $338 assembled
Full Parallel Interface Board: $92 kit and $114 assembled
Serial interface Board (RS232) ‘$119 kit and $138 assembled
and $146 assembled
it and $174 assembled
Interface Board (TTL or TTY—teletype) $124
Audio Cassette Interface Board s1
4K BASIC language (when purchased with Altair,
ed)
4,096 words of memory and Interface Bo: $60
‘8K BASIC language (when purchased with Altair, two
4,096 word memory boards and interface Board) 875
COMTER I : $780 kit
Teletype ASR-33 $1500 (assembled only)
Input Output Devices. The Comter !! Computer Terminal has
a full alpha-numeric keyboard and a highly-readable 32-character
display. It has its own internal memory of 256 characters and
complete cursor control. Also has its own built-in audio cassette
interface that allows you to connect the COMTER II to any tape
recorder for both storing data from the computer and feeding it
into the computer. Requires an RS232 Interface board.
The Standard ASR-33 Teletype prints 10 characters per second.
It has a built-in paper tape reader and punch. Has standard 120
day Teletype warranty. Requires a Serial TTY Interface board.
NOTE: The Altair 8800 can be connected to any number of
input/output devices other than the ones listed above.
MAIL THIS COUPON TODAY
C Options (list on separate sheet)
STATE & ZIP
MITS/6328 Linn, NE,"Albuquerque, NM 87108 505/265-7553
6328 Linn, N.E., Albuquerque, NM 87108 505/265-7553
Warranty: 90 days on parts for kits and 90 days on parts and labor for assembled units
Prices, specifications and delivery subject to change.
conesscoscoccersrssecccccccecccsccee es
Ne © oa Ze Ab pIT MICROCOMpyre Q Cy
MPy
FONTESTL
* *
2nd prize: ODEO Ir:
6060 cpu
BILL GODBOUT ELECTRONICS
* > « * BOX 2355, OAKLAND AIRPORT, CA 94614
*
We were Ist to offer the 8008 to hobbyists over 6
months ago; now we're setting the pace again with a
powerful new 16 bit microcomputer IC ina 40 pin DIP
made bye SaGREL MICROCOMPUTER, God
YOU MAY WIN ONE OF THESE CHIPS --- SIMPLY:
1)Reveal the Secret Microcomputer Co.'s true identity
2) Tell us in 25 words or less why you should re-
ceive a free chip
If you can convince our jaded judges, in a form suit-
able for use in this family (2) magazine, you win.
» A:
FINE PRINT: ALL ENTRIES MUST BE POSTMARKED BY AUG. 31 AND BE IN OUR
HANDS BY SEP 7, 1975; ENTRIES BECOME PROPERTY OF BILL GODBOUT ELEC-
TRONICS. ALL CONTESTANTS RECEIVE A DATA SHEET ABOUT OUR FIRST PRIZE
FOR THEIR TROUBLE. WINNER WILL BE NOTIFIED BY OCT. 1, 1975. IF YOU
DON'T WIN ANYTHING THIS TIME AROUND DON'T FEEL TOO BAD; ENTER OUR
COMING CONTEST FOR A COMPLETE 16 BIT MICROCOMPUTER KIT. THESE CON-
TESTS SPOTLIGHT Rees TO BP INTRODUCED BY US IN THE FALL OF '75.
from the Publisher...
how
BUTE
started
Two series of events came
together and triggered BYTE.
One was the surprising
response | received from the
readers of 73 Magazine
(amateur radio) every time |
published an article involving
computers. Being a curious
person | decided to learn
more about them, only to
find my way blocked by
formidable obstacles. The
more | tried to dig into the
subject the more | found that
there was a need for
information that was not
being satisfied.
The other event was the
success of 73, with more
subscriptions and advertising
calling for some sort of
computerization of the
drudgery — the billing, record
keeping, reader’s service,
indexing, and such. | knew
what | wanted done and had
a good idea of what | had to
spend to accomplish this, so |
started talking to computer
salesmen... . only to find that
| wasn’t even able to read
their literature, much less
have even a vague idea of
what they were saying.
Some deep well of
obstinacy within me fought
back and refused to let me
throw a dart to pick out the
computer system | needed. |
felt that as a businessman
running a good sized small
business and as the editor and
publisher of an electronics
magazine, 1 damned well
should be able to come to
grips with the salesmen and
pick out a computer system
‘on some sort of rational basis.
But the more | tried to get
information, the more |
realized that it was going to
be very hard to get.
Between my professional
need to understand
computers and my amateur
interest in the subject | found
myself subscribing to one
newsletter after another
... talking at exhaustive
length with computer savvy
73 readers ... reading books
...and wearing computer
salesmen out. | discovered an
interesting thing — few of the
hardware chaps could talk
software — and vice versa.
Further, neither could talk
much about applications.
There ought to be a
magazine covering the whole
thing, thought I. A magazine
which would help the
neophite to grapple with
programming lan-
guages... would permit the
beginner to build
microcomputers and
peripherals . .. would provide
a dialog for the more
sophisticated to communicate
as well. How about a
publication which would
cover all aspects of small
computer systems?
As the computer hobby
newsletters arrived | looked
them over. Some were very
well done, some pretty
juvenile. One chap was doing
a splendid job... designing
his own hardware. . . devel-
oping software... plus
writing and publishing a
monthly magazine on the
subject just about single
handed. This was Carl
Helmers and his ECS Journal,
which was in its fifth issue,
having just started in January
(this at the time being May). I
got together with Carl and
explained my idea and
suggested that it was time
to get a good professional
magazine going in the field,
one which would help
computer hobbyists get the
information they needed and
which might thus encourage
manufacturers to come out
with more hardware for the
growing body.
Carl had been building up
his circulation to ECS
gradually, with it being about
300 in May. We figured to go
all out and run off 1000
copies of the first issue of
continued on page 96
BUTE
staff
EDITOR
Carl T. Helmers Jr.
ASSISTANT PUBLISHER,
Judith Havey
ASSOCIATE EDITORS
Dan Fylstra
Chris Ryland
CONTRIBUTING EDITORS
Hal Chamberlin
Don Lancaster
EDITORS
John Burnett
Susan G. Philbrick
PRODUCTION MANAGER
Lynn Panciera-Fraser
ART DEPARTMENT
Nancy Estle
Neal Kandel
Peri Mahoney
Bob Sawyer
PRINTING
Biff Mahoney
PHOTOGRAPHY
Bill Heydolph
TYPESETTING
Barbara Latti
Marge McCarthy
ADVERTISING
Bill Edwards
Nancy Cluff
MARKETING
David Lodge
CIRCULATION
Susan Chandler
Dorothy Gibson
Pearl Lahey
INVENTORY CONTROL.
Marshall Raymond
DRAFTING
Bill Morello
Which Microprocessor
by
Hal Chamberlin
Box 295
Cary NC 27511
10
National Semiconductor’s IMP-8 and IMP-16 computers were originally offered as completely
populated subsystem cards such as the one pictured here.
At this time there are
three microprocessor chips or
chip sets readily available to
the hobbyist: the 8008, the
8080, and the IMP-16. The
first two were pioneered by
Intel and the last is a National
Semiconductor invention.
Chips and/or kits utilizing
each of the three
microprocessors are available
from at least two sources
catering to hobbyists as of
this writing. This level of
availability and popularity is
not even approached by other
microprocessors, therefore
this discussion is being
confined to these three.
Comparing computers is
like comparing people: the
conclusions depend on the
application, the
circumstances, and personal
preference. The comparisons
made will be based on use of
the microprocessor as a
general purpose computer.
For our purposes a. general
purpose computer is one
which has read-write memory
for the bulk of its storage,
which is expected to run a
variety of programs, and for
which the end use is the
development and execution
of programs written by the
user. General purpose
computers are also expected
to be able to control a variety
of input-output equipment.
Instruction sets will be
compared on the basis of
assembly
language
programming. Speed will be
compared on the basis of the
time’ necessary for the
machine to complete a
non-trivial task. Complexity
will be compared on the basis
of ease of understanding
microprocessor operation as
well as the sheer number of
parts required to implement a
system. Finally, cost will be
compared on the basis of
minimum systems capable of
assembling programs for
themselves given the
existence of suitable 1/0
devices.
Before getting into
comparisons, we will take a
brief look at the leading
Reprinted from The Computer Hobbyist, Box 295, Cary
NC 27511.
The MITS Altair 8800 is one package in which you can purchase an 8080 based system.
features of each
microprocessor. Then the
comparisons will be made in
each performance area
elaborating on individual
features as necessary.
The Intel 8008 Processor
The 8008 was the first
microprocessor to be
introduced and the first to be
available to the hobbyist. It
has an 8 bit instruction and
accumulator length. There are
essentially only two memory
addressing modes: immediate,
and zero displacement
indexed. Subroutine and
branch addresses are full
length absolute, allowing
branching anywhere with one
instruction. Subroutine
return addresses are saved on
an internal 8 level stack
which puts a 7 deep
restriction on subroutine
nesting. Much of the
instruction set power is
derived from the six
additional 8 bit index
registers which may count,
save, or address memory. The
maximum directly
addressable memory is 16k
bytes; in addition, 8 input
and 24 output devices may be
directly addressed with a one
byte instruction. CPU speed
is modest ranging from 20
microseconds for a register
operation to 32 microseconds
for a memory operation to 44
microseconds for a jump or
call. A selected chip, the
8008-1, reduces these times
to 12.5, 20 and 27.5
microseconds respectively. A
single level of interrupt is
provided but external
hardware is necessary for
complete status saving during
interrupts. Interfacing the
chip to the rest of the system
is fairly involved and requires
from 20 to 70 TTL packages
depending on the system
performance desired. The
lower figure will barely
function while the higher one
includes a console, complete
interrupt system, and
dynamic memory interface
with direct memory access
capability. Most of the
interfacing complexity can be
blamed on _ overzealous
designers trying to make-do
with an 18 lead package.
Present cost to the
experimenter ranges from
$40 to $80 with the ‘‘dash
one” version bringing roughly
50% more.
The Intel 8080 Processor
The 8080 is Intel’s sequel
to the 8008. Basically it has
more of everything. The
instruction set contains all of
the 8008 instructions making
it upward compatible at the
assembly language level.
Major additions to the
instruction set include direct
load and store of the
accumulator, double
precision (16 bits) add and
increment for address
calculation, and a pushdown
stack of indefinite length in
memory thus allowing
unrestricted subroutine
nesting. Addressable memory
Comparing computers is
like comparing people;
the conclusions depend
on the application, the
circumstances, and per-
sonal preference.
has been increased to 64k
bytes and addressable 1/0
devices have been increased
to 256 inputs and 256
outputs at the expense of 2
byte 1/0 instructions.
Execution speed has been
considerably improved also.
Register operations take 2
microseconds, memory
operations require about 3.5
microseconds, and subroutine
calls consume 8.5
microseconds. Interrupts
work the same way as on the
8008 but everything required
for complete status saving is
provided as well as an
interrupt enable/disable flag.
Interfacing an 8080 is
generally regarded as being
simpler than interfacing an
8008. There is only a slight
1
The 8080 is Intel’s sequel to the 8008. Basically it
has more of everything . . .
improvement in the minimum
system, about 15 chips, but a
full-bore system may be cut
in half to 35 chips. The 40
lead package allows a separate
16 bit address bus and 8 bit
data bus, as well as simplified
timing and control. Present
cost to the hobbyist is about
$160.
The National IMP-16
The IMP-16 is one of the
older microprocessors and for
a long time the only one
with a 16 bit wordlength.
The programmer is supplied
with four 16 bit accumulators
and a 16 word stack. The
instruction set is typical of
many 16 bit minicomputers,
and in many ways resembles
that of a NOVA. Four general
address modes are provided,
base page direct, program
counter relative, and indexed
using either accumulator 2 or
accumulator 3. In addition,
The IMP-16 is the first
of the 16-bit micros . . .
A good instruction set
should be well organ-
ized...
12
LOAD, STORE, JUMP, and
CALL can be indirect
addressed using any of the
addressing modes to get to
the address pointer. Two
memory modification instruc-
tions are provided, ISZ
(Increment memory, Skip if
Zero), and DSZ which allows
much counting and indexing
to be done in memory freeing
the registers for arithmetic.
The stack is used for
subroutine return addresses
but can also be used for
saving registers and status. A
unique feature is the
availability of an extended
instruction set chip which
provides automatic multiply,
divide, double word add and
subtract, and byte
manipulation. The CPU can
address 64k words but this
should be held to 32k if the
byte instructions are used.
The 1/0 instructions can also
address 64k devices. Another
unique feature is that several
bits of input and output are
provided by the
microprocessor itself making
communication with a
teletype possible without any
interface at all. Speed is good
ranging from 4.2
microseconds for a register
operation to 7 microseconds
for a memory operation. A
multiply takes about 160
microseconds which is. still
considerably faster than a
software routine would be.
The IMP-16 provides two
priority levels of interrupt
and all of the hardware
necessary for complete status
save/restore. Interfacing is
conceptually simple and
requires 25 to 50 packages
depending on system
sophistication. Part of this
number is due simply to the
fact that 16 bits are to be
handled rather than 8. The
microprocessor is in the form
of five 24 lead packages
which for the most part are
simply wired in parallel. The
extended instruction set
resides in a sixth package.
Present cost of the standard
chip set is about $160. The
extended instruction set chip
is available only from
National at this time for $80.
Comparisons —
Sets
One of the most important
performance areas of a
microprocessor is the
instruction set. A good
instruction set should be well
organized so that it is easy to
learn, powerful so that
complex routines can be
coded with a small number of
instructions, memory
efficient so that complex
routines require only small
amounts of memory, and
time efficient so that only a
small number of memory
cycles is necessary to
complete a task. In addition,
performance should be
equally high on both
character oriented tasks and
numerically oriented tasks.
Instruction set
organization is best on the
8080 closely followed by the
8008 with the IMP-16 being
somewhat disorganized.
Consequently, the beginner
will find the 8008/8080 the
easiest to learn. Experience
has shown that beginners
prefer simple instruction sets
and that they retain a certain
“fondness” for their first
machine long after they have
graduated into much more
sophisticated endeavors. The
experienced programmer
however should experience
little difficulty keeping the
Instruction
little quirks, distinctions, and
special cases straight when
working with the IMP-16.
Instruction set power is
best on the IMP-16, followed
by the 8080 with the 8008 a
distant third. Based on actual
experience, it may require as
few as one half as many
IMP-16 instructions to
program a task as 8008
instructions. The 8080 falls
about midway between the
extremes. There are many
reasons why the IMP-16 is
superior. Memory addressing
is much more flexible due to
the four addressing modes
and indirect addressing
capability. An additional
advantage is that the
arithmetic word length is the
same as the address length.
Since the return addresses are
put on a stack in all three
machines, multiple
entrypoint subroutines are
easy but the IMP-16 also
allows multiple return points
(return to CALL+1 on error,
CALL+2 otherwise, etc.) with
no additional instructions.
The 8080 is a big
improvement over the 8008
because registers may be
saved on the stack when they
are used by a subroutine and
then restored unaltered upon
return, This allows
subroutines to be called as
needed without regard to
which registers they may
destroy. Note, however, that
this capability may be added
to the 8008 quite simply. The
direct load and store
instructions of the 8080
reduce the number of lines of
code in a program.
Memory efficiency of the
instruction set is best on the
IMP-16 but is closely
followed by the 8080. The
8008 is not as bad as might
be presumed but is definitely
Instruction set organization and memory efficiency
are usually conflicting requirements.
inferior. In terms of numbers,
the 8080 may require 10 to
15 percent more memory bits
and the 8008 20 to 40
percent more. Note that these
figures are based on
optimized programs written
by experienced programmers.
The spread can be much
greater with inexperienced
programmers or hastily
written programs. It is also
interesting to note that
instruction set organization
and memory efficiency are
usually conflicting require-
ments. This is because
many of the lesser used
possible operation
combinations have been
culled from a memory
efficient set in order to
reduce the number of bits
required to encode the
instruction. Implied operands
are also utilized in order to
free up bits for other uses.
Experienced programmers are
able to plan ahead and avoid
having these restrictions
become restrictive. The 8008
and 8080 are as good as they
are because many of the
instructions are a single word
(8 bits) long whereas the
minimum instruction length
in the IMP-16 is 16 bits. This
is somewhat offset by the
three word (24 bit)
instructions of the 8008 and
8080 which in most cases
would only require 16 bits in
the IMP-16. A fringe benefit
of high memory efficiency is
that the shorter programs will
load faster regardless of the
Joading method.
Time efficiency is by far
the best on the IMP-16 with
the 8008 a distant second and
the 8080 a slightly poorer
third. On a classic
minicomputer, a machine
cycle was the same as a
memory cycle in most cases.
As a result, a time efficient
instruction set meant a faster
machine without faster
hardware. Microcomputers on
the other hand may have very
few of their machine cycles
being memory cycles. As a
result, time efficiency may
have little relation to actual
machine speed but does
represent the potential speed
with an optimized CPU. Time
efficiency can be important
in multiprocessor systems
with a shared memory where
more memory cycles
increase the probability that
a CPU will have to await its
turn. The IMP-16 has a high
time, efficiency mainly
because twice as much data is
fetched in each memory
cycle. Further improvement
is due to the instruction set
power, requiring fewer
instructions to be fetched.
The 8080 has poorer time
efficiency than the 8008
mainly because the stack is in
memory. A subroutine call,
for example, requires 5
memory cycles, 3 to fetch the
instructions and two to stack
the return address.
Historically some
minicomputers were better at
handling character oriented
tasks and others were well
Scelbi Computer Consulting
Inc. is one of a number of
companies who take the Intel
8008 computer, package it
into a system design, and
sell the result as a system.
The photograph supplied by
Scelbi with a press release
shows you the result of
assembling their new .
“SCELBI-8B” version of the
8008. As a supplier to the
computer enthusiast market
from the start, Scelbi has
done a very credible job
of assembling a true system
product as opposed to a
bare-bones CPU which
merely blinks its lights
after assembly.
adapted to number crunching
tasks. Microcomputers are no
exception. Most micros have
been optimized for character
handling because of expected
high usage in terminals and
the 8008 and the 8080
belong to this class. The
IMP-16 on the other hand is
much better at numerically
Most micros have been
optimized for character
handling because of ex-
pected high usage in
terminals.
oriented tasks and was aimed
more toward machine tool
control and industrial
monitoring. Interestingly, use
of the extended instruction
set on the IMP-16 greatly
improves both character
handling and arithmetic
capability.
How About Running System
Software?
One performance area of
interest to hobbyists is the
suitability of a machine for
running a BASIC system. The
IMP-16 and the 8080 are
about equal in their ability to
compile BASIC quickly but
the IMP-16 without the
extended instruction set may
13
Speed in a hobby com-
puter system can be a
two-edged sword.
execute BASIC twice as fast.
This is due mainly to the all
floating point arithmetic that
BASIC requires. The
extended instruction set may
double the speed again if a lot
of multiplies and divides are
done. The 8008 can of course
run BASIC also but compile
and execution speeds are
likely to be one tenth of the
8080.
One other property of an
instruction set is the ease
with which it may be
assembled, either by hand or
with an assembler program.
In this respect, the 8008
comes out on top with the
8080 next and the IMP-16
last. Use of the mnemonics
and format recommended by
the manufacturer is assumed
in making this comparison.
8008 code is easy to hand
assemble because the octal
notation used corresponds to
the various fields in the
instruction word. Assemblers
for 8008 code can also be
quite simple because
instructions require at most
one operand and very few
instruction formats exist.
Further simplification results
from all addresses being
absolute and all mnemonics
being three characters. 8008
14
assemblers run on an 8008
can be as small as 2.5k bytes
for a limited implementation
but 4k bytes is more realistic
when providing an easy to use
assembler. If the hexadecimal
notation recommended by
Intel is used with the 8080,
hand assembly is definitely
more difficult. The assembler
also has a tougher time with
the two operand format and
other niceties defined for the
8080. The Intel version of the
8080 assembler requires 8k
bytes but it should be noted
that it provides macro
capability. Hand coding and
assembling for the IMP-16 is
harder yet due mainly to
relative addressing
considerations and a wider
variety of instruction
formats. National’s version of
the assembler requires 4k
words and can produce
relocatable object code and
handle external symbols.
Is Speed Useful?
Speed in a_ hobby
computer system can be a
two-edged sword. A_ high
speed microprocessor requires
higher speed in other system
components such as memory
in order to realize its higher
speed. An 8008 for example
can run at full speed with
memories as slow as 3
microseconds access but the
8080 will have to wait on
memories slower than 520
nanoseconds and the IMP-16
requires 420 nanoseconds. If
the ready line is used on the
8008 and 8080 to permit the
use of slower memories, the
wait will be in increments of
whole machine cycles which
is 4 microseconds on the
8008 and 500 nanoseconds
on the 8080. Thus if
memory is a tad slow, one
cycle will be added to each
three cycle memory access
sequence slowing the system
down an average of 25
percent to 30 percent. The
IMP-16 does not have a ready
line, rather the user stretches
one of the clock periods in a
cycle long enough to permit
memory access. This scheme
has the advantage that the
stretch can set to the exact
amount needed. The higher
time efficiency of the IMP-16
instruction set will greatly
reduce the performance
impact of a slow memory as
compared to the 8080.
How Complex is the Interface?
The ranking on interface
complexity is 8080 (least),
IMP-16, and 8008. The
comparison is based on
sophisticated general purpose
implementations having a
complete 1/0 interrupt
facility, software console
using ASCII 1/0, and a
generalized input/output
memory bus allowing
simultaneous direct memory
access without affecting the
CPU. The ranking is the same
whether parts count or
conceptual complexity is
being considered. The
difference between the 8080
and the IMP-16 is primarily
due to the wider word of the
IMP-16 and less confusing
discussion of chip interfacing
in the Intel manual. The 8008
is just plain difficult to
understand and _ interface
correctly but once that is
done, either by the user, a
magazine, or a manufacturer,
the system should operate
just as well.
Software?
Software support is often
a big issue among industrial
users of microprocessors.
Unfortunately, the majority
of the software they are
fighting over is unavailable to
the hobbyist because of high
prices. It is not unusual for a
program such as an
assembler to cost as much as
a handful of microprocessors.
8008 and 8080 users can look
to Scelbi and MITS for some
software at reasonable prices
even if they did not purchase
their machines from these
sources. National has an
excellent body of software
for the IMP-16 but the
package price is $200 for
object tapes and source
listings. The hobbyist will
have to depend on himself,
kit manufacturers, and
publications for most of his
software in the near future.
Ultimately, the level of
software support will be
directly proportional to the
popularity of the
microprocessor.
And Finally ...
There are a number of
other performance areas that
are only of minor interest to
hobbyists. Although there is a
large spread in the maximum
memory size, all three
machines are likely to have
ample addressing capability
for the hobbyist’s memory
budget. The same may be said
relative to addressable 1/0
devices. Power supply
voltages and power
consumption are also usually
of minor importance. All of
the microprocessors can be
successfully operated from
standard +15, +5 and -15
system supply voltages using
simple, - fail-safe, zener
regulators. Package size and
pinout are unlikely to be
factors in hobbyist use.
This brings us to a
comparison of overall system
cost. First, the spread in chip
cost is roughly from $50 to
$150, so the spread in system
cost would be $100 at most.
An 8008 requires more
interfacing circuitry however
which reduces the spread
somewhat. After enough
memory to do assemblies or
run BASIC and a few 1/0
devices are added, the $75
difference left may be small
compared to the total
investment. Nevertheless, an
8008 system will be the least
expensive followed by an
8080 system closely followed
thereafter by an IMP-16.
Which microprocessor for
you? The answer still depends
on the application,
circumstances, and_ personal
preference, but hopefully the
decision can be made with
more authority after reading
this article.
Last Chance ~
DON’T MISS THE BOAT!
This is the last opportunity to become a CHARTER SUBSCRIBER to BYTE... at the
special Charter rate of $10 per year.
Perhaps you’ve held off to see the first issue .. . perhaps you've just seen a friend’s copy of.
BYTE ... whatever the reason .. . send in your $10 and be sure to get your next issue of BYTE
hot off the presses.
If you are reading a pass-along copy, just mark the subscription order that you’d like your
subscription to start with issue number 1.
Name.
Address,
City. State. Zip.
(] it Me Ccheck for $10 enclosed
CIBill BankAmericard or MasterCharge #
(J start with #1 BYTE Cstart with #2 BYTE
My occupation
BYTE Peterborough NH 03458
RGS 008A
PWR
E
os
ms
wo
&
The RGS OO8A Microcomputer Kit
Review
by
James Hogenson
Box 295
Halstad MN 56548
16
The RGS 008A
microcomputer is a general
purpose machine based on
the Intel 8008 CPU chip. The
008A uses a minimum of 1k
of random access memory
and a bus type of I/O system
capable of handling up to 256
peripheral devices.
The basic kit consists of 6
printed circuit boards and all
components necessary to
build the CPU, 1k of memory,
the control panel and the
power supply. Molex pins or
sockets, edge connectors,
backplane, front panel
switches and LEDs, and a
power transformer are
included. A cabinet, some
hardware, line cord and fuses
are not included. The kit sells
for $375, making this one of
the least expensive kits on the
market.
Physical Construction
The control switches are
mounted directly on the
control panel PC _ board,
together with the LED the system. The control panel
indicators. A printed circuit
backplane board is connected
to the back side of the
control panel. Once the
control panel and backplane
are wired together, anything
plugged into an edge
connector on the backplane is
automatically connected to
and backplane measure 4.8”
x 6.75”. The double-sided
plug-in boards measure 4” x
6’? with 72-pin edge
connectors, and have plated
through holes. The CPU with
all control circuitry included
is fitted onto only two of
these plug-in boards.
Microcomputers, microcomputers and more microcom-
puters! The number of options you have for a homebrew
system is expanding at a rapid rate - with the corresponding
difficulty in picking and choosing among the options. BYTE
has an answer to this problem — reviews of kits and equipment
from various manufacturers and advertisers in the magazine.
The idea of a review is to give the user’s evaluation of the
product - and. in the process aid you in the choice of
equipment for your own homebrew system. Here is BYTE’s
first review of an 8008 product — the RGS 008A microcom-
puter kit (made by RGS Electronics, 3650 Charles St., Suite
K, Santa Clara CA 95050).
James Hogenson provides this review of the RGS product,
based upon his own experiences assembling and utilizing the
computer. Jim built the kit early this year as part of his high
school Science Fair project activities designing an oscilloscope
CRT display. I think you'll find Jim’s account to be a useful
source of information on the RGS product. .+. CARL
The control panel holds
three 8-bit binary LED
displays. Two of the displays
indicate the memory address
of the date or instruction
presently being operated
upon or executed. The third
display shows the contents of
the memory location
indicated by the memory
address displays.
The two LEDs not used in
the upper memory address
are used to indicate the
second and third bytes in a
two and three byte
instruction. Two additional
LEDs indicate the stopped
and waiting state of the CPU.
The only switches used on
the contro! panel are a
common 8-bit binary switch
register and 6 control
switches. The six control
switches and their functions
are:
Memory Load. A
momentary switch which
loads the data presently on
the 8-bit switch register into
“the memory location
specified by the memory
address register.
Load L. A moméntary
switch which loads the
address set on the 8-bit
switch register into the lower
memory address register.
Load H. A momentary
switch which loads the
address on the switch register
into the upper memory
address register. (The three
load switches will operate
only when the CPU is in the
stopped state.)
Interrupt. A momentary
switch for entering interrupt
instructions.
Step. A momentary switch
for single stepping through a
program. The run/wait switch
must be set on wait to single
step a program.
Run/Wait. A toggle switch
which is used to set the CPU
in either a run or a wait state.
During the run state, the CPU
operates normally. During the
wait state, the CPU does
nothing unless being single
stepped.
The 008A is designed to
be panel mounted. The entire
system is contained on
plug-in boards mounted on
the back of the control panel.
The entire unit may then be
mounted very neatly;
however, a nice improvement
be for the
to offer a
would
manufacturer
cabinet to mount the unit in.
The power supply
included in the kit will
provide enough power to
allow for moderate expansion
of the system. If necessary,
auxiliary power supplies can
be purchased from the kit
manufacturer. The power
supply included in the kit will
produce -5 V at 5 Amps and
-12 V at 1 Amp. The -9 V for
the 8008 is derived from the
-12V.
The only type of
peripheral interface presently
offered for the OO8A is a
parallel TTL-compatible
interface. The parallel
interface boards are also 4” x
6” boards which may be
plugged directly into the
backplane if desired. Up to
256 interface cards may be
used. The parallel interface
kit sells for $43.75.
A 008A cassette tape
adapter is offered for $100.
The FSK adapter’s
data rate is 300 bits per
second. The popular 40-pin
UART chip is used for
parallel-to-serial and serial-to-
Is an RGSOO08A the
computer for your
-*= system?
Here is one
RGS 008A’s owner’s
evaluation.
parallel conversion. The
cassette adapter cludes a
parallel interface kit for
interfacing with the
computer. Only a cCassete
deck with an auxiliary output
or earphone plug and an
optional remote start/stop
plug is required.
An ASCII keyboard is also
available from RGS. This
keyboard and the cassette
tape adapter are intended to
interface with the RGS 008A
microcomputer, so adapta-
tion would be a problem if
you have some other make of
computer. RGS says that a
sérial interface is being
developed for use with
teletype, as well as a TV
typewriter.
Highlights
The 008A uses fewer
components, compared to
other 8008 systems | have
seen. The 008A computer
structure is basicatly similar
to other 8008 systems, with
one exception: The input/
output structure is unusual
for an 8008 system. Instead
of the more common port
7
system capable of handling
only 8 input and 24 output
devices, the 008A uses a bus
system capable of handling
256 bi-directional data
input/output channels. RGS
uses several of the 8008
chip’s I/O channels
instructions to set up this bus
1/0 System.
There are four input/
output instructions in the
008A’s “instruction set:”
Select, Control, Input, and
Output. To select a
peripheral, the device number
is loaded into the
accumulator and a_ select
instruction is executed. This
enables the peripheral device.
If necessary, a control
instruction is available. Upon
its execution, the
accumulator data is made
available at the output and
the contro! strobe line is
pulsed. Once the device has
been selected and initialized,
data transfer using the input
and output instructions is
executed as it is in the port
system.
Each peripheral interface
board is jumper-wired for its
own device number. When
the device number of a
particular unit is selected,
data transfer between the
unit and the CPU is enabled
until another device number
is selected. When a control
instruction is executed, the
accumulator data is placed on
the I/O bus. The interface
transfers the data from the
bus to the interface output.
The control strobe line is
then pulsed. An output
instruction also causes the
accumulator data to be
placed on the I/O bus. The
interface transfers the data to
18
its output. This time the
output strobe line is pulsed.
On an input instruction, the
interface transfers data from
its input to the I/O bus. The
CPU then transfers the data
from the bus to the
accumulator. The input
strobe line is also pulsed.
The bus system has three
big advantages. The obvious
one is the capability
of handling up to 256
devices. The second
advantage is that each of the
256 channels will perform
both input and output. The
third advantage is the ability
to send control instruction,
thus eliminating the need to
use an adjacent I/O channel
for device control.
Ready and interrupt line
expansions may also be
brought out through the
peripheral interface boards,
Assembly
Most of the circuitry is
completed by soldering the
components on the various
PC boards. Although most of
the PC boards are double
sided, components need only
be soldered on one side since
all holes are plated through.
Edge connectors are
provided for each plug-in
board. These connectors must
be soldered on the backplane.
Some 68 wires must be
soldered between the
backplane and the control
panel. The backplane and
control panel are fastened
back to back using spacers on
long machine screws.
The control panel, CPU
boards, memory boards, and
parallel interface boards are
double sided PC boards with
plated through holes. These
PC boards seem to be of good
quality. The backplane board
and the power supply board,
however, are single sided and
not quite as good. Extreme
caution must be used as the
foil patterns on these single
sided boards will lift with
very little excessive heat
applied.
Only about half the power
supply circuitry is included
on the power supply PC
board. A power transistor and
a voltage regulator, both in a
TO-3 case, must be mounted
in a heatsink (supplied in kit)
on a chassis which must be
provided by the builder. The
power transformer, fuses,
filter capacitors and power
switch are also mounted on
the builder supplied chassis.
All of these components must
be point to point wired. Wire
must be supplied by the
builder.
Documentation
The manuals and
instructions provided for the
008A fall short. Anyone
planning to write up any
documentation in the future
should take note of this and
use the criticism
constructively.
The assembly instructions
provided for the 008A are
brief. The author of the
documentation spent very
little time on clarifications.
Someone who has _ had
considerable experience in
both electronic engineering
and computer science would
have very few problems with
the OO8A. However, if a
product is made with the
intention of selling it to
everyone, the documentation
should be written to be
understood by everyone. This
includes people who are not
experts in hardware or
software.
Much of the construction
has to be done by following
the component placement
diagrams and_ circuit
diagrams. A diagram of the
foil pattern line-up for double
sided boards should have
been included in the 008A
documentation. For easier
reading, component
placement diagrams should be
black components on a grey
foil pattern diagram rather
than black on black.
The 008A documentation
provides only a brief
definition of each software
instruction. No information
describing the circuit
operation of the CPU is
provided. A brief description
of circuit operation is
provided for the parallel
interface kit and cassette
adapter kit. Only a small
amount of information is
provided on the use and
operation of the computer.
Although the 008A
documentation does include
complete circuit diagrams
with IC pinouts, absolutely
no troubleshooting
information is included.
Logic circuit troubleshooting
can be followed on the circuit
diagram after you have
checked wiring and
component placement, but
test points and voltages
should be given on the power
supply. Test points and
waveforms should be given
for devices such as a cassette
tape adapter. Even in the
logic circuitry, a few major
test points and the
specifications wouldn’t hurt
anyone.
This author obtained his
troubleshooting information
via long distance calls to
California, The cause of
several problems was
narrowed down to about
three faulty components
which RGS_ cheerfully
replaced free of charge.
A nice addition to the
owners manual for those who
may assemble a OO8A in the
future would be a series of
test routines to verify all
operations of the computer.
These routines should state
specifically, step by step,
what is to be done and the
results of each step. When
starting up a computer for
the first time, it is sometimes
difficult to determine
whether a problem is in the
hardware or the software,
especially if you are not
familiar with the machine in
the first place.
Software
The only difference in the
008A instruction set as
compared to other 8008
based systems is the
input/output instruction
format as mentioned before.
Initial program loading is
through the control panel.
Startup is achieved by setting
the restart instruction on the
8-bit binary switch register
and depressing the interrupt
switch. As in other 8008
systems, the first 64 words of
memory are divided into 8
program start-up locations.
Any single-byte
instruction will be accepted
by the CPU at any time when
the interrupt switch is
depressed. Therefore, if you
get your computer into a
loop with no exit, set a halt
or return instruction and
depress the interrupt switch
to get out.
A software exchange
program is slowly getting
underway for the 008A. Each
user is asked to submit a
program to RGS. The
programs are compiled as
they come in, then sent out
to each 008A manual holder.
As of yet, exchange has been
slow. Ray Stevens, owner and
designer, expects the
exchange program to pick up
somewhat since the cassette
tape adapter, ASCII
keyboard, and some software
for each have recently
become available. The
available software (sent out
to owners of the units) deals
with program loading and
storage necessary in the
development of further
programs.
Conclusion
A generalized statement
summarizing the 008A scene
would have to be this: The
008A is one of the most
economical systems on the
market, offering a nearly
complete kit and software
exchange program. RGS
holds good potential for
becoming a healthy segment
in the growing world of
avocational computing. But
there is some work yet to be
done.
In the meantime, if you
are inexperienced in either
electronics or computer
science, you could run into
difficulties in assembling a
008A. Those of us who
already own a O0O8A
microcomputer should work
on building up the software
exchange program to a point
of excellence. In the interest
of obtaining a_ revised,
updated, improved and
rewritten owners manual, let
me suggest that all OO8A
owners send RGS a letter
listing changes and
improvements they would
like to see.
The 008A is one of the
most economical
systems on the market,
offering a nearly
complete kit and
software exchange
program... But there
is some work yet to be
done.
Recycling
Used
ICs
by
Carl Mikkelsen
35 Brookline St., No. 5
Cambridge MA 02139
The surplus market is
saturated with used printed
circuit boards from early
computer systems which
offer a very inexpensive per
‘chip source of ICs. Used
boards typically contain
50-200 chips of small scale or
medium scale integration,
usually with many simple two
input gates and four bit data
registers. Common_ part
numbers include 7400, 7402,
7404, 7408, 74126, 74174,
74175, etc. Through careful
shopping, | have found
boards with large numbers of
multiplexors such as 74151,
74153, and even scratch pad
registers — 7489. After
removing chips from the
boards and eliminating any
non-functional units, cost per
chip is from 3 to 8 cents,
resulting in an overall cost of
about one fourth to one
tenth of the individual chip
cost through other surplus
outlets.
Removing chips from
boards offers advantages over
purchasing chips surplus
which makes them attractive
for reasons other than price.
Primarily, the companies
which originally built the
boards used top-quality, fully
spec’ed components. All
chips have already been
tested, and most have already
served in equipment.
Given that you’ve found a
serendipity of well soldered
chips, it’s necessary to
unsolder them without either
burning them or cracking
their cases. Desoldering
individual leads can be done,
but usually the chip is made
unnecessarily hot by the
prolonged application of
heat. Also, pulling each lead
Sweep the blow torch over the IC’s pins—one complete sweep
once or twice a second.
out separately results in bent,
often broken leads. Devices
are available which will heat
all 14 or 16 pins of a small
IC, but again a long time is
needed to melt the solder
since the total amount of
energy available is limited to
a small soldering pencil
heating element. Most
available boards are two sided
and four layer boards aren’t
uncommon. Multi-layered
boards make the required
amount of energy even
higher.
When a board is built, the
ICs are positioned in place
with all other components,
and the board is soldered by a
three step process.
1. The underside is washed
by hot, bubbling, liquid flux.
2. The clean board is
passed over a small fountain
of solder, so that the board
just touches it.
3. After cooling, the board
is immersed in FREON gas to
remove any remaining flux.
As you can see, the board
is subjected to high
temperatures during the
soldering phase, which takes
around 5-10 seconds.
The blow torch method of
1C removal duplicates
conditions during board
soldering by heating all pins
simultaneously; removing the
IC is a single step.
Equipment Needed
To use this technique, you
will need:
A torch. Non-oxygenated
propane and acetylene gas has
been used.
Clamps or a vise to hold
the board fairly rigid during
chip removal.
A way to grip the chips,
depending on how they are
packed next to each other.
Components, small vise grips,
a small screw driver and a fine
point awl should be all that
are needed.
A place where splashed
solder will not be serious.
Some form of eye
protection.
WARNING 1
Using this method involves
heating PC boards to high
temperatures. Some boards
release Hydrogen Chloride
(HCI), which becomes
hydrochloric acid in your
lungs. Do this only in a well
ventilated area, and stop to
allow air to clear if irritation
develops.
Grip the IC a second after removing the flame and rock it away from the board. It should come
free in a couple of seconds.
WARNING 2
When an IC is pulled from
a board, the board often
snaps back to its original
position. This is especially
true if it isn’t fixed very
rigidly in place. When the
board flips, solder is often
sprayed away from the back
side of the board. | ruined a
pair of pants by not
considering this before |
started. |, therefore, wear old
clothes and if you don’t want
solder on the floor, cover it
with newspapers.
Enough warnings...
following is how | pull ICs
from boards:
First | clamp the board to
my bench so that | can get
my vise grips on about half
the ICs (this is with a 10” x
14” board). | adjust the vise
grips so | can grip a 14 pin IC
without the vise grips locking
and then light the torch. The
flame on my _ Benzo-matic
torch with the narrow tip is
about an inch long.
Beginning with the lowest
IC | can reach, | heat it with
the torch by sweeping the
torch over its pins (you
obviously heat the
non-component side).
Especially when using a torch
with a narrow flame it is
necessary to move the flame
over the pins. One complete
sweep should be done once or
twice a second. After a
second or so, the IC should
be gripped, and rocking
tension away from the board
applied. It helps to rock the
IC, especially if corner pins
have been bent over to hold
the IC in place during
assembly. The IC should very
rapidly become loose, and in
another couple of seconds
should come free of the
board.
When the IC is removed,
quickly drop it on the bench
and move the torch and pliers
to the IC above the one
removed. Heating the lower
IC pre-warms the board
above, making the next
removal easier. Also, the
board position just heated
will cool faster, thereby
reducing the amount by
which the board will be
damaged.
As each column of ICs is
removed, the next is done.
When all ICs on one half have
been removed, reposition the
board so the other half is
accessible. I’ve found that the
half-way point often can be a
good excuse to let the room
ventilate and drink a beer.
No matter how carefully
and rapidly I’ve worked, |
always burn the board at least
once because | have trouble
removing an IC, or my pliers
slip, or for some other reason.
If you consistently burn each
board position, your flame is
probably too hot. If,
however, it takes longer than
5 to 10 seconds to remove an
IC, your flame is too cool.
A certain amount of care
is necessary when gripping
the ICs. Too much pressure
may crack them. Too little
pressure will let the pliers
slip, costing time to
reposition them and marring
the cases.
When attempting to
remove the larger ICs such as
74181s and 74154s, which
come in 24 pin DIPs, | have
trouble gripping them, so |
remove them as a two step
process. First, | place an awl
under the middle of one side,
say between pins 6 and 7. |
heat that pin row and, with
the awl applying leverage,
pull out that row. | then grip
the IC on its thinnest
dimension, heat the
remaining pins, and remove
the IC.
So far, by using this
technique, my friends and |
have removed about 1000 ICs
from surplus boards which
have about 80-100 ICs each. |
tend to break 2% of the chips
1 pull by applying too much
force with the pliers. But a
friend has never broken one,
so it clearly is an individual
matter. Of those chips
removed unbroken, we have
tested around 250, and have
never found a bad chip.
As an unrecommended
demonstration of the
ruggedness of ICs, I
accidentally grossly
overheated one, so that when
| gripped it in vise grips, the
chip was bent in a curve. The
plastic case must have
softened significantly. After
allowing it to cool several
minutes to the point where |
could handle it by hand, |
plugged it into a circuit,
expecting it to have failed
totally. It worked, although |
didn’t check out its ac
characteristics. Out of general
paranoiac distrust for a device
so intensely mistreated, 1
discarded it.
After removing ICs from
boards it is usually necessary
to clean and straighten the
pins. Boards with plated
through holes often lose their
plating around the IC lead.
| have found this method
useful as a means of quickly
building a stock of ICs ready
to use in any project. It is
limited mainly by the
availability of exotic surplus
chips, but most standard
7400 series TTL is easily
available. The price of 4
cents/chip can’t be beat, and
the time required — about 10
to 20 minutes/80 chip board
— is rather small.
This technique provides a
fast, cheap, safe means of
removing chips. | hope it
proves as effective for you as
it does for me.
2
by
Don Lancaster
Box 1112
Parker AZ 85344
22
SERIAL
We all know
microcomputers use parallel
data for internal operations.
Computers - mini, micro or
maxi - are often specified
with the ‘‘bus data width” as
a key parameter. This is the
number of parallel bits which
participate in operations at
one time. Typical
microprocessors now
available have bus data widths
of 4,8,12, or 16 bits. If you
employ a used minicomputer
in your system you may
enjoy a 12,16,18, or 24 or
even 32-bit wide bus. When
shuffling data to or from
memory and peripherals, the
parallel lines of the bus are
defined simultaneously - and
you have to run at least as
many physical wires to each
interfaced subsystem.
When wire is at a premium
you can get by with only one
channel if the data is sent ina
time-ordered sequence, one
bit at a time. Communicat-
ions and peripheral interfaces
thrive on diets of serial bits
provided the speed is
relatively low.
In this article, Don
Lancaster provides us with an
excerpt from his forthcoming
book, TV Typewriter
Cookbook, to be published
by Howard W. Sams,
Indianapolis, Indiana. Don
describes the basics of parallel
to serial conversion and its
inverse, using UART
technology to do _ the
transformation. His article
this month concerns UARTs
and serial interfaces which are
relatively self-contained -
local wires, tape recorders,
etc. He also covers the
communications aspects of
serial data...radio and
telephone network modem
hardware.
While Don wrote the
article from the point of view
of the TV Typewriter
technology which he
pioneered, the problems he
discusses are just as applicable
to the home brew computer
context...simply read
“computer” every time you
see TVT in the text. Don’s
comments on the serial
cassette interface will provide
one input to the discussion of
various possible recording
interfaces in the pages of
BYTE.
... CARL
Most TV_ typewriter
circuits need all their ASCII
character and command bits
simultaneously available in
parallel form. This is also true
of most electronic keyboard
encoders and the
bidirectional data buses of
many minicomputers and
microprocessors. In simple
systems, we Can connect all
these parallel sources and
loads together as needed
without any further interface
circuitry.
Sometimes, it’s far more
useful or convenient to have
the bits march by one by one
in serial form. While serial
form is much slower, it has
one big advantage — only a
single wire or com
munications channel is
needed, instead of multiple
signal lines. Another benefit
of serial form is that it can be
made slow enough to
communicate over ordinary
phone lines, cassette tapes,
radio channels, or
electromechanical teletype
systems. Some of the places
where we'd like to use serial
transmission are:
Remote Keyboards, where
a single pair interconnection
gets used instead of expensive
multiple conductor cable.
Teletypes, where the bits
have to be converted to
signals based on current or no
current in a wire loop.
Industry Standard
Interfaces, such as the
RS232-C and the newer
RS422 and GPIB, allowing
signals to travel relatively
long distances.
Cassette Recorders, where
we can store and exchange
characters and programs with
properly designed single
channel, speed independent
circuitry,
Radio Transmission, where
only two tones on a single
transmitted frequency are
often used. This is typical of
ham RTTY.
Modems, or Modulator-
Demodulators that let us
exchange data over the
telephone line, either one
way, or both ways at once.
We can call the circuits
INTERFACE
that get us from parallel to
serial and back again serial
interface. Usually, there are
two distinct parts to the
interface problem. The first is
to convert from parallel to
serial (or vice versa) at logic
level, staying compatible with
CMOS or TTL integrated
circuits. This is often done in
an industry standard single
integrated circuit called a
UART, short for Universal
Asynchronous Receiver
Transmitter. UARTs will
simply and cheaply do the
conversion and back again,
along with providing all the
necessary housekeeping bits,
control signals, and noise
immunity provisions.
The second portion of our
conversion process gets us
from logic levels to whatever
form of signal the serial part
of the system uses — such as
dc currents for teletypes,
bipolar signals for standard
interface, and carefully
selected tones suitable for
cassette recording or
transmission over a radio
channel or a phone line. We'll
be taking a detailed look at
most of these techniques
later.
How Fast?
There are two basic types
of serial transmission we can
use, synchronous and
asynchronous.
In synchronous
transmission, all the
characters (called “words”)
are locked into system
timing. We know the exact
time position of each piece of
data. If some time is to go by
without doing anything
useful, do-nothing words
called nulls are provided.
Timing signals must somehow
be supplied to each end of a
synchronous serial data
system so we can tell when
each word is to start. This
usually means a_ separate
timing channel or track or
some sort of elaborate timing
recovery circuit. Synchronous
systems are usually fast and
complex, but they are rarely
used in most TV Typewriter
applications.
With asynchronous
transmission, the data words
are not locked into system
timing and can arrive with
almost any spacing between
words. To tell the beginning
and end of a word, we have
to add some new bit
groupings, called start and
stop bits, to the data. We
don’t have to provide any
other locking signal between
common Baud rates. The
most popular of these include
110, 300, 600 and 1200 bits
per second. 1200 BPS is
usually the fastest that can be
handled by the phone
company without fully
dedicated lines. Inside
systems, and where special
lines can be provided, faster
synchronous standard Baud
rates of 2400, 4800 and 9600
bits per second may be used.
Should the Baud rate
change between transmission
and reception, such as when
two recorders are used, or the
batteries on one recorder age,
the receiving end of the
system has to be able to
adjust itself to the new
effective Baud rate if errors
are to be avoided.
110 Baud is very popular
Serial Uses
Remote keyboards
Teletypes
Cassette recorders
Modems
the source and destination of for limited speed TV
Fig. 1. Standard serial communications speeds.
BAUD TELETYPE ODD PHONE
RATE TYPE COMPATIBLE? COMPATIBLE? COMPATIBLE?
110 BPS Asynchronous Yes TWO WAY Yes
300 BPS Asynchronous No TWO WAY YES
600 BPS Asynchronous No ONE WAY MAYBE
1200 BPS Asynchronous No ONE WAY NO
2400 BPS Synchronous NO NO No
4800 BPS — Synchronous NO NO NO
9600 BPS Synchronous NO No No
the data. Asynchronous data
is commonly used in TVT
systems.
Both ends of a serial
transmission system have to
exactly agree on a system
speed, usually called the Baud
Rate. The Baud rate is simply
how many bits per second are
going to be transmitted,
including any start and stop
bits. Fig. 1 shows us some
Typewriter uses. This rate is
compatible with the ASR-33
eight bit Teletype code and
corresponds to a 100 word
per minute typing rate. While
this is the fastest that most
teletypewriter systems can be
driven, and is easily handled
by two-way 103 style phone
modems, it takes painfully
long to fill the screen. Even
with a 512 character screen,
FRAME UPDATE TIME TO LOAD
512 CHARACTERS
51.2 SECONDS
18.7 SECONDS
9.3 SECONDS
4.6 SECONDS
2.3 SECONDS
1.2 SECONDS
0.6 SECONDS
THE START BIT IS
ALWAYS A ZERO
THE STOP SIGNAL IS ALWAYS
AT LEAST TWO ONES
(NEXT WORD)
START ]ASC!
Bit | BIT
o 2
i ]ascii JAScIT
BIT
3
ASCII
AScIT
BIT
5
ASCII
BIT
6
‘ASCII
BIT
7
‘ASCII
PARITY
BIT
BIT
4
STOP
START
BIT
a
mi | coomsee (TYPICAL)
in
ANY AMOUNT OF
TIME CAN PASS
loomSEC
BETWEEN WORDS
Fig. 2. 110 Baud, 100 word per minute code. ‘0” isa space or an open line. “‘1"" is a mark or a shorted line.
24
UART = Universal
Asynchronous Receiver
Transmitter
RTTY = Radio
Teletype
TVT = Television
Typewriter
it takes 51.2 seconds, or
almost a minute to load or
retransmit the screen.
300 Baud is equal to 30
characters per second or 300
words per minute. This rate is
the fastest normally used by a
two frame update cursor
system. It is also a rate easily
handled by a cassette
recorder, and by many
two-way or full duplex
modem systems. About 18.6
seconds are needed to load or
dump a 512 character screen.
These frame update and
retransmission rates can be
minimized by using a
“virtual” update where one
page is viewed while the other
is updated, and by creative
use of carriage return
commands to return after the
last character of each line,
rather than going on out to
the end of the line.
Faster Baud rates usually
take more in the way of
circuit design, and are usually
limited to one-way modem
transmission, premium
recording techniques, and a
Direct Memory Access type
of update in the TV
Typewriter.
A 110 Baud Standard
The 110 Baud, 100 word
per minute code is an
industry standard for slow
data exchange. It is
compatible with the Model
33 and Model 35 Teletype
systems, and other
teleprinters using an 8 level
code. The code takes 100
milliseconds to send a
character. The next character
can follow immediately or
can be sent any time later.
Fig. 2 shows us the standard.
The original Teletype
notation still carries over to
this code. A Mark is a digital
“1”, a shorted line, or a
completed connection. A
Space is a digital “O”, an
open line or a_ broken
connection. Between words,
the teletype line or digital
output is constantly putting
out ‘1s or marks, and is
thus marking time. One of
the reasons this was originally
done was so that any break in
communications is
immediately known.
There are eleven bits to
the code. Each bit is an
identical 9.09 milliseconds
long for a total code time of
100 milliseconds per word.
Each word begins with a start
bit. The start bit is always a
zero and tells the receiving
circuitry that a new character
is to begin. The start bit is
essential since some ASCII
words will begin with one or
more “1”s and there is no
way to tell a marking time
“7 from a “1” bit in an
ASCII character code.
The ASCII bits follow in
sequential order, starting with
bit B1 or the least significant
bit. After the seven character
bits, an eighth bit is sent
either as a “1” or providing a
parity check bit for the rest
of the word. At least two
stop bits must follow the
word. The stop bits are ‘'1”s.
or marks, and any number of
additional marking ‘‘1’’s can
follow between characters.
The stop bits give the
receiving circuitry a chance to
shut itself down and await a
new word.
The receiver can be
electronic in the case of a
UART or electromechanical
in the case of a teletype.
Between words, the receiver
just waits. Since the data
transmission is asynchronous,
the receiver has no way of
knowing ahead of time when
a new word is to arrive, so it
has to wait for a new start bit
before it can do anything.
The arrival of this bit
activates the receiver, which ~
then goes through a
sequential procedure that
sorts out the bits, puts them
in parallel form, and outputs
them.
With a UART, sequential
time intervals of 9.09
milliseconds each are
electronically generated and
the center of each interval
window is tested against the
incoming code to see whether
a “1” or a “O” is received.
These are accumulated in a
shift register, error tested,
and output as a parallel word
at the end of the interval. The
stop bits are used to reset and
shut off the circuitry.
With an electromechanical
teletype, the break in line
current caused by the stop bit
releases a one-turn clutch on
a mechanical scanning
commutator that goes once
around in 100 milliseconds. It
sequentially routes the
incoming code to a group of
scanning solenoid magnets.
These set up the code in
parallel form, and at the end
of the word, the scanner
resets and the code is typed
or output on paper tape.
Tolerances
It’s extremely important
that both the transmitter and
receiver are clocking bits out
at the same 9.09 millisecond
rate, and that nothing
happens in the channel to
speed up or slow down the
bits. There are many possible
sources of error. If the bit
positions jitter around or are
differentially delayed to by
any tone keying, the filtering,
or channel response, we get a
bias error. Bias errors put
individual bits ahead of or
behind where they actually
belong. One source of bias in
a two tone modem or cassette
system occurs when one tone
is delayed more than the
other in any filtering circuit.
This is called the group delay
distortion problem.
If the basic transmission
and reception rates differ so
that the bits can get ahead of
or behind where they’re
supposed to be, we have a
skew error. Note that bias
errors apply to individual
bits, while skew errors are
progressive, making each
sequential bit decision that
much more difficult to detect
without error. We get a skew
error if there is an absolute
timing difference between
transmitter and receiver.
Cassette recording systems
introduce a potential skew
error if the record and
playback rates differ. This
easily happens with cheaper
units susceptible to speed
variations with battery
voltage, and almost is
inevitable if the recording is
done on one machine and
playback on a second.
Recording skew errors are
correctable if the recording
signals are designed to include
speed information, and the
receiver is capable of using
this information to speed up
or slow down as needed to
eliminate this error source.
How accurate do we have
to be? This is easy to
calculate. Assume
temporarily that there are
zero jitter and zero bias errors
in the channel, and that we
are using an_ electronic
receiver that very narrowly
samples for valid data. The
last data bit we are interested
in is the parity bit. The center
of the parity bit is 8% bits
removed from the beginning
of the start bit, a delay of
77.26 milliseconds. The
receiver delay is also
supposed to be 77.26
milliseconds. If our sampling
is narrow enough, we can be
up to just under half a bit
slow or fast and still be able
to read the parity bit without
error. This corresponds to a
time error of 4.53
milliseconds either way, or
slightly over 5%.
But, this figure leaves no
room for bias and jitter errors
and doesn’t give the slower
electromechanical circuits
enough time width to reliably
respond to the incoming data.
As a practical rule, the
receiver and transmitter bit
times must match to well
within plus or minus one
percent. \t is absolutely
essential to hold things this
close for low-error
communications.
A 300 Baud asynchronous
timing system is very similar
to Fig. 2 and uses the same
eleven bit code of equally
spaced bits. The only
difference is that the per-bit
time is 3.33 milliseconds,
corresponding to a 300 Hertz
clock rate. Optionally, only a
single stop bit may be used.
This rate is cassette and TV
Typewriter compatible and
may be used for full duplex
(two way) operation in most
modem circuits, but it is too
fast for teletype use.
Using UARTs
Parallel to serial
conversion and back again
can obviously be done with
CMOS or TTL circuits.
Basically, you parallel load a
shift register and_ serially
clock out data or serially
clock in data to a shift
register and then latch its
parallel outputs when the
data is valid. By the time you
add all the error testing
circuitry, housekeeping bits,
synchronization, and so on,
the circuits tend to get
specialized and complex.
Instead of this route, you
can use an industry standard
MOS integrated circuit called
a UART for virtually any
serial to parallel conversion
and return process. Several
pin compatible UARTs
appear in Fig. 3. These are
general purpose,
programmable devices that let
you select the number of
start and stop bits, the word
length, type of parity, and so
on to suit your particular
system. Dedicated UART-like
devices are also available for
use with specific
microprocessors. The Intel
8201 and the Motorola 6850
are typical of these.
The standard UART
comes in a 40 pin package,
and has supply voltages of +5
routed to pin #1, -12 to pin
#2, and ground to pin #3.
The later versions of these
devices are N channel types
that need no -12 supply, and
Fig. 3. Pin compatible UARTS.
$1883 (American Microsystems}
AY-5-1012 (General Instruments)
2536 (Signetics)
COM2502 (Standard Microsystems)
TMS6012 (Texas Instruments)
TR1602 (Western Digital)
that pin is left unconnected.
The General Instruments
AY-5-1014 is one of these.
The low number pins
(1-20) are the receive portion
of the UART, while the high
number pins (21-40) are the
transmit portion. Except for
common word length and
parity programming, the two
halves of the circuit are
separate, although they often
are used as a send-receive
pair.
Both the receiver and
transmitter portions of the
circuit need a clock. The
clock frequency is usually
sixteen times the Baud rate.
This high frequency lets the
UART do things like sample
the center of each data
interval and recheck for valid
start signals and similar good
things. For instance, a 110
25
Fig. 4. UART circuit to transmit code of Fig. 2.
ASCI| PARALLEL INPUT
MSB 6 5 4 3 2158
16x —=
cLock
INPUT © o SERIAL
eouz OUTPUT
DATA
(M0 BAUD) {MARK=
4800Hz HIGH
(300BAUD)
BiTs/
©) cuanacter
AY-5-1012
UART
TOP
view
RECEIVER
CONNECTION
Baud circuit needs a clock of skew error that would
1760 Hertz, while a 300 Baud
one uses a 4800 Hertz clock
and so on.
The clock signals can be
derived from a CMOS or 555
type of astable oscillator, but
it is far better to digitally
derive clock frequencies from
TVT system timing or
another stable source.
Remember these clock signals
must be held to well within
one percent and_ ideally
shouldn’t have any
adjustments. If our TVT has a
15,840 horizontal rate, we
can divide this by nine to
exactly get 1760 for a 110
Baud system. With a 15,720
rate, we get 1746.6 Hertz, a
figure a bit low, but still
normally result from a change
in tape speed from time to
time or machine to machine.
Fig. 4 shows us the
connections for transmission
of the 11 unit code of Fig. 2.
The input ASCII code goes
on pins 26 through 33, with
the least significant or b1 bit
on pin 26. A 16X clock goes
into pin 40, and a KP send
command goes to pin 23. The
leading edge of this send
command starts transmission,
but the input data must be
valid for the entire time the
command is positive.
Normally, this is a narrow
pulse a few milliseconds wide,
derived from a_keypressed
command on a keyboard.
useful and less than one Serial output data appears on
percent under. pin 25.
The receiver and Pins 34-39 program the
transmitter clock inputs are
on separate pins. They are
often tied to a common clock
source in simple send-receive
circuits. One important
exception is when a UART is
used as part of a
speed-independent cassette
interface. In this case, the
receiver clock frequency is
derived from the tape during
playback. While it is
nominally the same as the
transmitter frequency, its
exact value is set by speed
information recovered from
the recorder. This can be used
to eliminate much of the
UART for different bit
lengths and codes. 34 is an
enable that normally remains
high. Pin 35 provides a parity
bit if it is grounded and omits
one if it is high. Pin 36 picks
the number of stop bits.
Ground gives you one and
high gives you two, 37 and 38
together decide how many
data bits are to be sent,
ranging from 5 to 8. Both
grounded provide for 5 data
bits, useful for Baudot RTTY
transmission. The connection
shown gives us a seven bit
data word. Note that if you
use the parity bit, it adds to
the number of data words.
The code of Fig. 2 uses our
start bit, seven data bits, one
parity bit, and one stop bit
for an eleven unit code. Pin
39 picks even or odd parity
with ground giving odd
parity. An optional reset
input is provided on pin 21.
It is normally grounded.
Bringing it high resets the
UART. Without resetting, the
first word transmitted after
power is first applied can be
wrong.
The UART transmitter is
double buffered. This means
you can load a new character
as soon as the one already
inside begins its transmission.
Two optional outputs are
provided. Pin 22 tells you
when it is OK to provide a
new character by going high.
Pin 24 tells you that a
character has been
completely sent when it goes
high.
There are two ways you
can use a UART transmitter,
either unconditionally or
handshaking. In the
unconditional mode, any
time a character arrives, it
gets sent. This is the simplest,
but you have to make
absolutely certain that
characters don’t arrive spaced
or grouped too closely
together. While pairs of
inputs can be closely spaced
much the same way that two
key rollover works in a
keyboard, you have to be
absolutely certain that the
Jong term average is never
exceeded by the word rate of
the UART. This means a 100
millisecond character spacing
for 110 Baud, and around
one third that for a 300 Baud
system. In the handshaking
mode, the UART decides
when it wants to receive a
new character, using the pin
22 and 24 outputs. Circuits
driving the UART are set up
to provide characters only
when they are asked for
them. For most TVT uses,
unconditional UART
transmission is simpler and
easier to use.
Fig. 5 shows us the UART.
receiver circuit, again set up
for the code of Fig. 2. The
receiver logic has elaborate
noise elimination provisions,
made possible by the sixteen
times higher clock frequency.
Whenever a start bit is
purportedly received, that bit
is retested later and verified
to prevent a random noise
pulse from generating an
unwanted character output.
All data bits are narrowly
sampled in the middle of
their possible time slots,
allowing considerable bias
and skew distortion to exist
without error.
The same pin 34-39 inputs
that programmed the
transmitter’s word length and
format identically program
Baud rate, applied to pin 17.
In send-receive systems, we
can often tie the receiver and
transmitter clocks together.
In speed-independent cassette
interface circuits, the receive
clock is reconstructed from
speed information recovered
from the recorder to
eliminate skew errors.
The serial input is routed
to pin 20 and converted to
the equivalent seven bit
parallel ASCII output on pins
6 through 12, with the least
significant bit on pin 12.
When the output is valid, a
strobe on pin 19 goes high as
an output.
This output strobe must
be reset before a new
character can be output. \f
we’re operating in a
TRANSMITTER
CONNECTIONS
invert it, and reapply it to the
strobe reset input pin 18. Fig.
5 shows us one way to do this
with a RC network and a
CMOS inverter. Many UART
receiver problems are caused
by failing to reset the strobe
after each character — watch
this particular detail very
closely.
Several additional outputs
are available for use in fancier
systems. Parity, framing, and
overrun errors produce
respective high outputs on
pins 13 through 15. These
can be used to ask for a
repeat or put in a question
mark to indicate a
transmission error. All
receiver UART outputs are
tri-state and may be floated
in systems where the UART’s
Fig. 5. UART circuit to receive code of Fig. 2. Parity, word length, and stop bits set by transmitter
programming, pins 34-39.
ADDITIONAL CIRCUIT
NEEDED FOR
UNCONDITIONAL OUTPUT
4049
(CMOS)
Fo
16X CLOCK
1760 Hz (110 BAUD)
4800 Hz (300 BAUD)
the receiver portion of the
UART. Although the receiver
and transmitter can be used
in totally different circuits
and at different baud rates,
they have to operate with a
common format, set by these
pins.
The receiver needs its own
clock of sixteen times its
mse 6 5 4 3
handshaking mode, the TVT
circuitry accepting the
character sends back an
acknowledgement or
completion signal that
momentarily drives pin 18
low. If we are using an
unconditional output mode,
you somehow have to delay
the pin 19 strobe output,
ASCII PARALLEL OUTPUT
LPI td)
positive disables the ASCII
outputs, while making pin 16
positive disables the error
outputs.
Besides its usual use as a
two way serial to parallel
converter, there are other
5
¥ g AY-5-1012
z w UART
= 3 TOP VIEW
3s &
= =
¢ &
N = serial
© INPUT
DATA
I= MARK= HIGH
2 LSB
NEXT CHARACTER
CHARACTER RECEIVED
ENABLE
outputs must share a
common or a bidirectional
data buss. Making pin 4
27
useful circuit tricks you can
do with a UART. For
instance, by connecting the
parallel outputs of the
receiver back to the parallel
inputs of the transmitter, you
can change Baud rates. This is
handy in speeding up slow
data for use on a fast channel,
and for correcting speed
errors on cassette systems.
If the UART is to accept
data from several sources
you can either tri-state
combine the sources onto a
single input buss, or else use
an input eight pole, double
throw selector switch to pick
one of two input channels.
This is common in TVT
service, where the keyboard
forms one channel and the
screen retransmission output
buss forms the other. 4502
hex tri-state drivers or 4019
four pole selectors are
suitable CMOS devices to use.
In general, tri-state lines onto
a common buss are much
preferable to selectors, but
few keyboard encoders have
inherent tri-state output, and
the output buss on the TVT.
often has to continously drive
the display if we want to view
the re
Showing the first 100000 of 354746 characters.