Text content (OCR)
ISSUE NUMBER 14 $1.50 IN NORTH AMERICA ($2.50 elsewhere) OCTOBER 1976
the small systems
journal
PRINTED IN USA
Eh
Our computer
There is simply no point in trying to
hide it, everyone is going to find out
sooner or later anyway. The Southwest
Technical Products 6800 computer is
a big bore. Discussions with customers
and dealers have confirmed our worse
suspicions.
At first people thought that perhaps
owners of our system were just a bit
shy because they were outnumbered at
local computer club meetings. But then
as the number of owners rose it be-
came clear that this was not the pro-
blem. And it wasn’t that they were un-
sociable or anything like that; they
were simply just bored because they
had nothing to talk about.
Here they were, just sitting there while
all the other members with other
brands of computers exchanged data
on circuit board errors, secret schemes
of adding extra bypass capacitors to
make the thing reliable, tricks to keep
the clock phases from overlapping, cor-
rections to manual errors and other fun
subjects. Can you imagine the frustra-
tion this caused? All our customers
could do was to sit and be bored. They
had nothing to talk about.
Our 6800 has an internal monitor
ROM that automatically puts the boot-
strap loader in memory and refers con-
trol to the terminal, when you power
up. This feature deprives you of the
chance to tell sad stories of how many
Vi
same 6800 S270"
§ NO OU
is a bore—
times you had to go back and flip the
console switches before you got the
loader program in right. Since you can
do machine language programs direct-
ly from your video terminal or teletype
in hexidecimal form, you will not have
a chance to exchange horror stories
with your friends about how you for-
got the last zero when you entered
10100110 from the console on your
374th Byte and messed up the program
that had just taken you two hours to
put into memory. It just isn’t fair.
Since we use full buffering on all data,
address and control lines on all boards
in our system and since we use low
power 2102 static memories in our
system, there are no noise sensitivity
problems that can lead to hours of fun
trying to figure out why a program
“bombed”. Dynamic memories that
some others use can drop bits, fail
to refresh random cells, cause programs
to do crazy things by going into
a refresh cycle at the wrong moment
and all kinds of interesting things. Our
poor customers will never have a chance
to have these interesting experiences.
Even our documentation and software
is no help. Not only do we have the
most complete and thorough set of
instructions available for any system,
we are supplying software either
free, or at crazy low prices. Our big
documentation notebook for instance
a
H
i
H
H
ing” computers.
NAME
ESUTON
is just full of information on the sys-
stem. There are complete sections on
software with sample programs and
information on programming. We have
no assembly instructions in that big
yellow notebook. They are packed
with the kits themselves. The note-
book is completely devoted to instruc-
tion on using your computer system.
You are therefore not going to be
spending day after jolly day trying to
find out how to put a program into
your machine; researching all available
outside literature in an attempt to dis-
cover just how you write software for
the beast. Sorry about that folks, we
didn’t mean to spoil all your fun.
So please, have a heart, when you see
those poor lonely souls that have pur-
chased our systems say “hello’’. All
they have to keep them interested in
computers is writing and running pro-
grams. Our editor, assembler, 4K and
8K BASIC programs work so well that
even this is quick and easy. So be kind
to those poor bored SwTPC-6800
owners, it’s not their fault that they
have nothing to talk about.
Sule! SS00
Computer System
with serial interface and 2,048 words
$395.00
of memory.
1 | don’t like puzzles anyway and have no free time to be bored so
send information on your 6800 computer system and peripherals.
(© Thanks for warning me. Send names of manufacturers of “interest-
ADDRESS.
city
STATE, ZIP,
Southwest Technical Products Corp., Box 32040, San Antonio, Texas 78284
ae
oe crime waar
The 2 or 4 MHz clock fis
cull icracacate te anu ate
above
has some
‘of its own.
Ams
-
Yes, the new ZPU is plug-com-
-
romemco
Specialists in computer peripherals —
2432 Charleston Rd., Mountain View, CA 94043 © (415) 964-7400
——
—— ee
4 MHz speed
The only
CPUcard
to give you
About the Cover
As a way to highlight the history of
electronic digital signalling, we dug up
a picture of one of Joseph Henry’s
original telegraphy keys, circa the
early 1800s. Robert Tinney then
placed the key in the frame and wall
setting you see on the cover, using a
photo supplied by Brian McCarthy.
In This
The problem of decoding arbitrary
hand generated Morse code is not a
trivial one, It requires some care and
thought in the design of adaptive
algorithms. As one contribution to this
issue’s sub theme of computerized
Morse code, Lt William A Hickey,
USN, provides some background infor-
mation and suggestions on the subject.
W J Hosking, W7JSW, is an amateur
radio operator in search of applica-
tions hardware and software. Read
about A Ham's Application Dreams
and find out how to implement one
aspect of his dream with the Morse
code input and output conversion
technology described in detail in the
balance of this issue... .
A theme of this October issue is the
application of microcomputers to the
decoding of Morse code. One approach
to the problem is detailed in Robert
Grappel and Jack Hemenway’s article
on MORSER...a program to read
Morse code, implemented with a
Motorola 6800 computer.
BUTE
Lawrence Krakauer describes a tech-
nique to store Morse characters as a
packed table of bit patterns for ma-
chine generated outputs — or for
machine decoded inputs.
If Only Sam Morse Could See Us
Now. He’d have a fistful of problems
trying to copy radio transmissions at
1000 wpm generated by programs
such as Wayne Sewell’s CWBUFFER
subroutine. But, using one of Wayne’s
set of sundry drivers for CVBUFFER,
Mr Morse could potentially learn to
copy — or at least have his computer
copy — in a code practice mode.
One application of the Morse code
problem solvers is documented in
Bruce Filgate’s article on Morse Code
Station Data Handler. This is an appli-
cation program which handles direct
sending of Morse outputs, from
character text, adaptive interpretation
of Morse inputs, storing of fixed mes-
sages (eg: ‘CQ CQ CQ DE WIAW’) in
a message buffer for later transmission
or repetitive transmission, etc. Bruce
has put it all together in the form of a
comprehensive 1536 byte program for
an 8008.
In the Queue is on page 7 this month.
Once you sit down and Build This
Mathematical Function Unit as de-
scribed in part one of R Scott
Guthrie’s two part article, the world of
high level mathematical functions is
opened to your microcomputer. In
part two this month, the software
needed to interface with the calculator
is described, as well as several test
loops used to adjust timing parameters
with an oscilloscope. As a final illustra-
tion of the calculator’s use, the author
provides a program called CALCULA
which enables a Teletype (or other
ASCIl) port to drive the calculator and
print results, simulating the ordinary
hand calculator level of operation.
National Semiconductor announced
the PACE computer some time ago,
but until recently it has been some-
what hard to obtain. Now that this 16
bit minicomputer is beginning to enter
its volume production stage, we Keep
PACE With the Times by offering
Robert Baker’s Microprocessor Update
on this processor. If you missed the
convenience of your familiar 16 bit
minicomputer when you started
reading about and “dry run program-
ming” for personal computing, then
the PACE processor might be a logical
choice for a homebrew or kit system.
The advent of the personal system
portends a fundamental change in the
ways computers are used. In Home-
brewery vs the Software Priesthood,
David Fylstra and Mike Wilber make
some comments about the impact of
widespread use and knowledge of com-
puters.
Looking for ideas for meetings of
your local computer group? Dr Charles
F Douds has a few suggestions to make
in his background article on the
subject this month,
KIT-A-MONTH
The Altair kit-a-month plan allows you to own an Altair mainframe without
taxing your pocketbook. Mits has made it easy for you to purchase an 8800a,
8800b or 680b computer in monthly installments where you receive compon-
ents with each payment. There are no financial charges because we have made
each monthly shipment a kit in itself. This will give you time to read up on com-
puters and/or gain knowledge from friends.
We have set up an Altair kit-a-month payment desk to service your needs.
When writing or calling the factory for information about your shipment or
account, just refer to the “kit-a-month payment desk*’
wr *<
NU
&
MTS
OG OO ©
OWN YOUR 680b IN FIVE EASY PAYMENTS.
ist month 680b Manuals, Main and Display PC Boards,
and membership in users group
2nd month 680b Case and Power Supply
3rd month —_- Parts for 680b Display Board
4th month Parts for 680b Main Board less Integrated
Circuits
5th month 680b Chips
$93.20 plus $2.00 per month make your payments $95.20 per month and you have your complete
kit in five easy payments. This plan gives you the full 680b with memory and I/O. The BAUDOT Option ts
still $42.00 extra and may be purchased with Time Payment #4 or #5. Remittance of $95.20 will start you
on your way to owning your own computer.
Alaska, Hawaii, APO and FPO customers include $3.00 per month for Air Parcel Post charges instead
of $2.00 for regular Parcel Post shipment. This would make your payment $96.20 per month.
Canadian customers include $3.00 per each month for postage and handling fees.
NOTE: This pian does not apply to foreign sales other than Canada.
NEW ALTAIR 8800B
Available on Time Payment Plan
$105.00 payment per month plus $2.00 postage and handling for each kit makes an easy $107.00
per month to own the newest of the Altair processors.
Send in your first $107.00 money order and start receiving your 8800B Kit by August 1, 1976.
8800B Month #1 Manuals
#2 EcC-18
#3. Power Supply Board & Parts
#4 Transformer
#5 Display Board & Parts
#600 «Case
#7 Main Chips
#8 CPU Board & Parts Less 8080A
Alaska, Hawail, APO and FPO customers please include $4.00 for shipping charges (making $109
per month payments) for Air Parcel Post shipment. Otherwise, shipment will come Parcel Post, not insured.
Canadian customers must accept month #6 Emery Airfreight Collect. All other months must include
$4.00 postage and handling making monthly payments of $109.00.
$79.00 / Month
ALTAIR 8800A TIME PAYMENT PLAN
8800A Time Payment #1 8800A Manuals and Users Group Membership
#2 EC-18, PC Board and Hardware
#3 8800A Power Supply Kit
#4 8800A Case
#5 CPU PC Board and Bag of Parts less the
main chip
#6 © Main Processor Chip
#7 Display Control Board and Parts
The price of the Altair 8800A mainframe is $539.00. Seven easy payments plus $2.00 per month for
postage and handling charges make this plan equal $79.00 per month. Upon receipt of your first $79.00
payment you are on your way to owning your own 8O80A basic computer system. A list of available com-
patible peripherals is enclosed to let you plan your system as you learn about your microprocessor. By
8800A Time Payment #7 you're ready to go.
Alaska, Hawali, APO and FPO customers please include $4.00 for shipping charges (making $81
per month payments) for Air Parcel Post shipment. Otherwise. shipment will come Parcel Post. not insured.
Canadian customers must accept month #4 Emery Airfreight Collect. All other months must include
$4.00 postage and handling making monthly payments of $81.00.
KIT-A-MONTH
ORDERING INSTRUCTIONS
In order to smoothly and efficiently expedite your orders, we ask that you
note the following helpful hints:
1. Send all payments other than BankAmericard or Master Charge in the
form of a cashier’s check or money order. Personal checks are acceptable, but
clearance time will delay your order by 2-3 weeks.
2. The kit-a-month plan has been set up to proceed in order and we cannot
deviate from that order. You can help us by noting with your payment what
month you are on.
3. When calling or sending in orders, refer to your customer name on
the original order and also your Mits order number.
4. If you change your address, keep your name as it is on the original
order to keep records straight.
5. Please note special instructions for Alaska, Hawaii, APO, FPO and
Canadian customers. If these are not followed, it could result in delays in proc-
essing your order.
6. The Kit-a-Month desk has been set up to help expedite your orders
because of the overwhelming response we've had with previous time payment
plans. Please feel free to use this service whenever you have questions. When
writing letters to Mits, simply note “Kit-a-Month desk” on the outside of the
envelope.
NOTE: Once you start the Kit-a-Month plan you are guaranteed the existing
price at the time of your first order. You will not be affected by price increases.
Enclosed is my payment of ______ for the first shipment of my Altair
kit-a-month.
Master Charge #______-———S or BankAmericard #~ >>
Altair 680bC] Altair 8800a7] OAltair 8800b
!
1 1
1 1
1 1
1 1
! |
| !
| |
1 NAME. if
1 1
1 ADDRESS. 1
! I
1 !
' 1
I 1
! 1
! 1
1 1
I 1
CITY STATE & ZIP
Ps) GOBS3/2450 Alamo SE/Albuquerque, NM 87106 505-243-7821
In the Queue
<
BUTE #14
OCTOBER 1976
staff
Foreground
30 ADD THIS 6800 MORSER TO YOUR AMATEUR RADIO STATION
Applications — Grappel-Hemenway
42 IF ONLY SAM MORSE COULD SEE US NOW
Applications — Sewell
52 A MORSE CODE STATION DATA HANDLER
Applications — Filgate
74 BUILD THIS MATHEMATICAL FUNCTION UNIT—Part 2
Software — Guthrie
Background
12 THE COMPUTER ... VERSUS... HAND SENT MORSE CODE
Applications — Hickey
26 A HAM'S APPLICATION DREAMS
Speculation — Hosking
36 EFFICIENT STORAGE OF MORSE CHARACTER CODES
Applications — Krakauer
82 KEEP PACE WITH THE TIMES
Hardware — Baker
90 HOMEBREWERY VS THE SOFTWARE PRIESTHOOD
Philosophy — Fylstra-Wilber
118 MEETING ACTIVITIES FOR COMPUTER CLUBS
Organizations — Douds
Nucleus
2 In This BYTE
9 The Concertina System
16 Letters
41 Software Bug of the Month 5
81 Some Historical Notes a
86, 110, 126 What's New? Romthiy by BYTE. Publica
95 BYTE’s Bits nr rae eae
96 Classified Ads See ee ee eee tor tae
99 Programming Quickies yours, e004 for three years Jn
0S Book/Reviews $53 twee secre, Second class
ie ml oprs SEUSS St eaaitona
107 Travelogue mailing offices: Ehone
116 Excerpts from Future History tents copyright 1976 BYTE
Publications Inc, Peterborough
130 Clubs, Newsletters NH 03458. Address editorial
144 Boma BYTE TO Main st, Peter
144 Reader Service borough NH 03458.
———»
PUBLISHERS
Virginia Peschke
Manfred Peschke
EDITOR
Carl T Helmers, Jr
GENERAL MANAGER
Manfred Peschke
PRODUCTION MANAGER
Judith Havey
CIRCULATION
Deborah R Luhrs
DEALER CIRCULATION
Deena Zealy
PUBLISHERS ASSISTANTS
Cheryl Hurd
Julie Nelson
Carol Nyland
Kim Place
ADVERTISING
Elizabeth Alpaugh
Virginia Peschke
TYPOGRAPHY
Custom Marketing Resources, Inc
Goodway Graphics
Mary Lavoie
Taimi Woodward
PHOTOGRAPHY
Ed Crabtree
Custom Marketing Resources, Inc
ART
Matthew Arnold
Mary Jane Frohlich
Lynn Malo
Bill Morello
PRINTING
The George Banta Company
Custom Marketing Resources, Inc
ASSOCIATES
Bob Baker
Dan Fyistra
Harold A Mauch
Chris Ryland
PRODUCTS COORDINATOR
Floyd W Rehling
TECHNICIAN
Melvin G Weir
CONSTRUCTION
Walter Pence
If you thought a rugged,
professional yet affordable
computer didn't exist,
think
IMSAI
8080.
Sure there are other commercial,
high-quality computers that can
perform like the 8080. But their
prices are 5 times as high. There is
a rugged, reliable, industrial com-
puter, with high commercial-type
performance. The IMSAI 8080.
Fully assembled, it’s $931.
Unassembled, it’s $599. And ours
is available now.
In our case, you can tell
a computer by its cabinet. The
IMSAI 8080 is made for commer-
cial users. And it looks it. Inside
and out! The cabinet is attractive,
heavy-gauge aluminum. The
heavy-duty lucite front panel has
an extra 8 program controlled
LED's. It plugs directly into the
Mother Board without a wire
harness. And rugged commercial
grade paddle switches that are
backed up by reliable debouncing
circuits. But higher aesthetics on
the outside is only the beginning.
The guts of the IMSAI 8080 is
where its true beauty lies.
The 8080 is optionally
expandable to a substantial system
with 22 card slots in a single
printed circuit board. And the
durable card cage is made of
commercial-grade anodized
aluminum.
The IMSAI 8080 power
supply produces a true 28 amp
current, enough to power a full
system.
You can expand to a
powerful system with 64K of
memory, plus a floppy disk con-
troller, with its own on-board
8080-and a DOS. A floppy disk
drive, an audio tape cassette input
device, a printer, plus a video
terminal and a teleprinter. These
peripherals will function with an
8-level priority interrupt system.
IMSAI BASIC software is avail-
able in 4K, that you can get in
PROM. And a new $139 4K
RAM board with software
IMSAI 8080
memory protect. For the ultimate
in flexibility, you can design the
system for low-cost multiprocessor,
shared memory capability.
Find out more about the
computer you thought didn’t
exist. Get a complete illustrated
brochure describing the IMSAI
8080, options, peripherals, soft-
ware, prices and specifications.
Send one dollar to cover handling.
Call us for the name of the
IMSAI dealer nearest you.
Dealer inquiries invited.
IMSAl
IMS Associates, Inc.
14860 Wicks Boulevard
San Leandro, CA 94577
(415) 483-2093,
Dept. B-10
The Concertina System
Editorial by
Carl Helmers
The often asked question of the personal
systems cynic is ‘What on earth do people
do with home computers?” In many ways
this question is analogous to what might
have been asked by automotive skeptics in
the early part of this century: “What on
earth do you expect people to do with
automobiles?” Fifty to 60 years of history
have answered the latter question in
numerous concrete demonstrations, and one
can only expect the coming decades of
computer evolution to answer the former
question in numerous ways.
Of course the simplest reply to the first
question is “Compute!” and is as empty of
content as the analogous reply for auto-
mobiles, “Drive!”. Computing without a
purpose is like driving without a destination,
an intrinsically enjoyable pastime on
occasion but hardly touching upon the set of
possibilities inherent in digital computation
and control. The key to a broadened per-
spective on the computer and its place in
human activities is the concept of the
application. An application for the computer
is like a destination for an automotive trip.
If | set in my mind the goal of driving down
to Boston for an evening in Symphony Hall
with Arthur Fiedler, the Boston Pops and
company, my automobile has now acquired
an “application.” Similarly, if | decide to
customize my computer system as a vehicle
for editing and playing music, a very
ordinary and garden variety Motorola 6800
plus memory and peripherals has acquired an
“application” whenever | choose to use it
for that purpose. (Like an automobile that
can be driven anywhere without reason, the
true general purpose computer need not be
exclusively dedicated to one applications
goal.)
The concept of music played using com-
puters is an excellent focal point to
demonstrate practical uses for personal
computers. Here is a specific application of
the computer technology for very human
purposes, a concrete argument to throw at
the skeptic and cynic. The choice of a
musical application goal, like the decision to
drive to a concert with an automobile,
makes the technology come alive with
human values.
The traditional concertina is a simple
pneumatic acoustical instrument similar to
an accordion. The pneumatic concertina is
hardly a widely known or used instrument.
In a hand held package with control buttons,
it gives the player an ability to create a fairly
rich timbre similar to a reed organ or a
harmonica. Like all instruments, it requires
an element of virtuosity to play at all well,
but within its limitations it makes an
interesting vehicle for musical expression.
The relative obscurity of the original
concertina instrument, the harmonically rich
nature of its timbre, noting its use by a
single (good) artist in creating a polyphonic
output, and most of all, falling in love with
the smooth sound and etymological roots of
its name leads me to propose the name
“concertina system” for a musical instru-
ment based on a personal computing system
integrated with musical software and
peripherals. The concept of the digitally
controlled musical instrument is not new,
but the technology which makes it possible
at a reasonable price is as new as the whole
LSI computer technology. For about the
same price that you or | would pay for a
virtuoso quality home electronic organ, it is
possible to add a music playing peripheral to
a computer system which will allow the
owner to accomplish musical performance
feats unheard of on an organ or traditional
instruments. As of this writing, | know of
two companies which are in the process of
preparing products which can simply convert
an existing computer system into a
polyphonic synthesizer with the potential
(with software) of becoming a truly playable
concertina system, One company is located
in Arizona and is said to be designing an
Altair compatible plug-in card with several
polyphonic channels of digitally controlled
music output. Another company, ALF
Products, 2130 Bell Ct, Lakewood CO
80215, is in the preproduction prototype
stages of preparation to market a modular
computer controlled synthesizer which inter-
faces to any existing computer by using the
two programmable ports of a single PIA
chip. (Most existing computers have pro-
visions for a “PIA card” with one or more
such “parallel interface adapters” together
with appropriate plugs.) The ALF design has
8 fully programmable music channels with
an option to add 8 less versatile ‘‘back-
ground” channels to achieve the potential
for a truly orchestral sound,
There are undoubtedly additional in-
dividuals and companies working on similar
systems and products which can simply and
inexpensively (relative to costs two to three
years ago) add a minimal concertina system
capability to the typical home computer
system. Readers will find more information
on this subject as the products become
better defined and reach the marketplace;
we also expect to publish articles on the
technology of computer controlled musical
instruments (experimenters and potential
authors: take note).
If you have a computer, you have 75 to
90% of such a “concertina system” already
available. All the contro! and data manage-
ment power needed to implement a rela-
tively simple and quite functional
polyphonic music interpreter is present in a
microprocessor system using chips such as
the 8080, Z-80, 6800 or 6502 with several K
of applications program memory (I use 12 K
myself for interpreter and text area, but it
would certainly be possible to program a
usable system with as little as 4 K memory.)
The system also requires a video output
Word Gets Around...
The personal computing field is getting
some attention as the amount of activity
creates some micro ripples in the big pond of
things people do. An article in the July 12
issue of Business Week featured Paul Terrell’s
Byte Shop computer store in Mountain View
CA. Paul’s shop is one of the largest retail
outlets among the more than 250 stores
coast to coast which regularly stock BYTE.
Also, lvan Berger, electronics and photog-
raphy editor of Popular Mechanics magazine,
reports in phone conversation that he has
scheduled a short feature article on home
computers, their present and future
prospects, in the September Popular
Mechanics.
There have of course been several local
and national newspaper stories lately. As
products improve and the market expands,
we should see more and more examples of
public awareness of computers documented
in the press and other media, a welcome
trend indeed.™
display, ASCII text keyboard and a pair of
audio cassette drives with motor control via
relays and a data rate of at least 300 baud.
Obtaining better mass storage peripherals
such as floppy disks, 3M cartridge drives or
high speed electronically controlled Philips
cassette decks is of course highly desirable.
This use of the computer system, while
requiring a dedicated peripheral, is com-
pletely consistent with the concept of the
general purpose personal system, for when
the system is not being used for music,
programs with other purposes can be
employed. Many typical uses require such a
peripheral specific to the application; many
other applications such as record keeping,
calculation, text processing, mathematical
and simulation games, and so on merely
require the general purpose computing sys-
tem composed of processor, programmable
memory, text keyboard, video display and
mass storage on magnetic media. The
“concertina system” concept is but one of
innumerable answers to the critic’s question
of “What do you really do with a home
computer?”’™
Size and Finesse
Perhaps you’ve noted a moderate expan-
sion in the size of your monthly mouthful of
BYTE, along with the addition of some
colorful spices to make each BYTE more
flavorful.
Switching metaphors, a magazine such as
BYTE is in many respects like a very large
and complicated program design. The first
concern was and is to fill a high quality
technical magazine with good useful infor-
mation and fun, once a month. This is the
algorithm we have used very successfully and
continue to use.
But, like the large program, although the
basic algorithm design is not subject to
major changes there are always new features,
incremental improvements and parameters
to adjust. Striving for the “best possible
BYTE” is an ingrained part of our philoso-
phy, where ‘‘best’’ is defined as serving the
needs of our customers in this specialized
field.
In the area of improving the product,
recent increases in the size of each BYTE
reflects a synergistic combination of sub-
scriber and advertiser support. The added
spice of color printing on interior pages is
directly a result of support from advertisers,
who make such support possible because of
our readership. We’re still experimenting
with this new possibility of highlighting and
enhancing technical articles but the presenta-
tion should continue to improve.#
10
_ And now minis too!
All from a catalog, at discount prices.
Digital’s Direct Sales Catalog —
the first catalog to offer com-
puter products by mail with
off-the-shelf delivery — was
sucha success, we've come out
with an expanded second edi-
tion that includes the PDP-8A,
the newest member of the
world’s most popular mini-
computer family.
We’ve also added the LA180
line printer and expanded the
sections on microcomputers,
logic modules, terminals, cab-
inets, connectors, accessories,
and supplies from the first
edition.
Of course, you still get our
5% catalog discount, plus
another 4% for cash with your
order. You also get a 10-day
free trial period, plus our stand-
ard 90-warranty. (Since we're
selling by mail, you do have to
install the equipment yourself.)
If you were among the thou-
sands who ordered our original
catalog, you'll get the new one
automatically by mail.
If you weren't, why not sign
up now?
For your free copy, call 800-
225-9480 (Mass. 617-481-7400
ext. 6608). Or write:
Components Group, Digital
Equipment Corp., MR2-2/M59,
One Iron Way, Marlborough,
MA 01752. (Catalog sales to
U.S. only.)
The Computer...
Versus...
Hand Sent
orse Code
sy
ieur
FROM
RECEIVER
4 2700
LEVEL NES67 8
S300 ae ourpur
PPL LE
fe
6200
S000
FREQUENCY
AbwusT
are
ming
AIIMERAENTT on oe
{
PLLLOCKUP
i
{
TIME DELAY—+! fo
Hi
i
‘SPACE
TTL OUTPUT
MARK [LJ
INTERRUPTS REQUIRED TT T J
Figure 1: A suggested circuit to decode the audio output of an amateur radio
receiver, The receiver produces an audio tone burst corresponding to the
keyed continuous wave (CW) signal being received. This tone has a frequency
which depends on the tuning of the receiver. The 567 PLL circuit is a tone
decoder, which can have its center frequency adjusted by R1. The receiver
output frequency and the NE 567 frequency should be the same for the
desired signals. Noise and garbage (such as other stations nearby) will
complicate the actual receiver output waveform.
12
Lt William A Hickey USN
c/o US NSGA Edzell
FPO New York NY 09518
So you’ve been reading all about these
marvelous new microcomputers, and think-
ing about how nice it would be to have one
that would translate Morse code for you.
Well, it certainly sounds reasonable; it really
depends upon what you expect from your
computer. If you are expecting error free
code translation under even the best signal
conditions, you are in for a rude awakening.
First of all, a computer (by today’s
standards anyway) cannot beat or even meet
the standards set by a good human operator
receiving code. You say you'll concede that
point? Why should it be so difficult to
design a translator that would work most of
the time? That’s the purpose of this article! |
am not trying to discourage all the code
copying enthusiasts out there; | am trying to
prepare you for some of the not so obvious
problems you might expect.
For the purpose of this article, | will have
to assume that you have somehow managed
to translate the audio (code signal plus noise
plus garbage) into a digital format of 1’s and
0’s. There are many ways to do this, but
probably the most simple is shown in figure
1. This is a straightforward tone decoder
using a 567 integrated circuit. (Remember
that when a tone is present and decoded, the
output is a zero.)
Now that you have this nice (hopefully
free of noise) digital signal, what do you do
with it? The answer to this one is sim-
ple.... Anything you want to do! In all
seriousness, | will now branch into a discus-
sion of hand sent Morse code characteristics.
Assuming that you all know that a dot is
assigned a relative time duration of (1.0), it
follows that you also know that the dash is
ideally (3.0), the letter space is (3.0) and the
word space is (7.0). (If you are a ham, you
do know that, don’t you?) At this point |
can safely say that the problem of transla-
ting machine sent Morse code is relatively
trivial. | use the word trivial because it is
really just one machine talking to another
machine; the intervals are all fixed and are
constant, making translation merely a matter
of a table lookup assuming both machines
use the same Morse code data rate.
At this point, it will be convenient to
illustrate the hand sent Morse translation
problem. Figure 2 is a histogram of a very
short message sent with a hand key.
CQ CQ CQ DE OPERATOR NUMBER ONE
The largest single distribution in the
shorter mark group has been assigned the
relative time value of (1.0). Keeping in mind
the very small size of this sample, you can
see that there is a wide variation in mark
lengths. (This variation will increase pro-
portionately with an increase in sample size.)
Space lengths are not as clearly defined, and
it is very difficult to decide where the
decision should be made between letter
spaces and word spaces. This won’t be a
serious problem though, since an extra space
or the lack of a space between words rarely
damages the message context. The decision
problem will become acute when the space
interval within characters begins to spread
toward the lower boundary of the space
interval between characters. This will be one
of the primary sources for decoding errors.
This article will not and should not
specifically address such problems as: (1)
gradual frequency drift from either the
transmitter or receiver, (2) rapid transmitter
frequency drift (“chirp”), (3) atmospheric
fading, (4) noise from natural or human
made sources, or (5) the presence of many
other Morse and non-Morse (SSB, RTTY,
etc) signals in the same receiver passband.
The reason for this is simple: These factors
are just too complex to be within the
correction capability of simple algorithms.
Remember that these problems are common
to machine sent and hand sent Morse code
signals.
Translating hand sent code really begins
to get sticky when the sending operator gets
sloppy. (He or she might send a “special”
signal like -......- [73,@ signoff greeting]
which tends to give receiving operators
problems too!) Let’s face it, there are a lot
of really bad “fists” out there. Of course,
there are some pretty good ones too, but
frequently the contact you want falls into
the bad group!
The reason automatic decoders are usual-
ly unsuccessful at decoding hand sent Morse
code is: they are unable to adapt to the time
MARK
“AVERAGE”
OCCURRENCE
AVERAGE = 1.13
SPACE
varying properties of the statistical Morse
signal. (This means the signals change charac-
teristics from time to time... . usually just
as the machine was ready to adapt to the
previous change.) These statistical changes
are reflected only partly in the mark and
space timing characteristics of different
operators or those of the same operator over
an extended time.
One of the advantages a human has is the
ability to make contextual analysis on what
is sent. For example, an operator might hear
Cc? Q?
oS
N N M A
and understand the signal [“CQ’]; the
machine would translate NNMA (just as
it was sent), Examples of this phenomenon
are endless and are available on the airwaves
daily.
There are three primary approaches to a
solution of the hand sent Morse translation
problem:
1, Macro: You can accumulate statistical
information on a particular operator
and use this data to make decoding
decisions.
2. Micro: You can make your decisions
ona mark to mark basis.
3. Averaging: You can compromise these
two methods and come up with a
hybrid algorithm.
Approach (1) requires a long sample time
to develop the statistical information, and
during this time the decoded output would
probably be unacceptable. Even after the
statistics become valid, the decoder would
operate only on operators with similar
13
AVERAGE = 3.81
AVERAGE = 4.97
Figure 2: A histogram of a
typical hand sent message,
the text “CQ CQ CQ DE
OPERATOR NUMBER
ONE”. The terms “mark”
and “space” refer to the
low and high TTL levels
out of the detector of fi-
gure 1, respectively.
ENTRY
FOLLOWING
| vTeRRUPT aT
| CHANGE OF
[STATE
(he
CL
(MORSREG)
CLEAR
MORSREG
———7] AND SPACE REAI
Data Definitions: 8 bit registers or programmable memory
x Duration of the previous input
state.
Running average of the previous
“n" dot times.
AVGDOT
COMPUTE
Xe
(DURATION OF
PREVIOUS STATE) INTERRUPTS,
MORSE
DECODER
EXECUTION
PREVSTATE OUTCH*0
=STATE; OUTCH¥O
STATE
INPUT
Yes
SPACE |
MORSE; MARK
OUTCH Output ASCII character tempo-
rary buffer.
MORSREG — Morse code pattern input shift
register.
PREVSTATE Previous mark or space input
state.
STATE Current mark or space input state
feAvcoor be-—+ie 5 + AVGDOT
Hi i i
PULA.
TO) es
REAL TIME—» ‘
S-—END OF CHARACTER
DETECTED BY
X> 2 * AVGDOT
Note: This routine is intended
to be executed following an
interrupt generated by both
‘the rising and falling edges of
the TTL Morse code input
from a detector. An applica-
--------)
[ror an avepot |
| INcLUOING DasH |
READ- + —By
INGS INSERT CALCU]
AVGDOT: ©
(NEW Ri
AVERAGE);
(UNNING
tion routine to receive the
output of this routine must
have a wait loop which con-
tinually tests OUTCH for zero.
| LATIONS HERE
Lati ERE
RETURN
After .an interrupt is com-
pleted, a non zero character
will be in QUTCH and the
application routine will leave
its idling loop and can use the
character after copying it and
setting OUTCH back to zero.
Figure 3: The flow diagram of a relatively unsophisticated Morse decoder program. The adaptive features of this program are
contained in the calculation of a new running average of the dot length whenever a dot is detected. The speed of the algorithm's
response to a change in the keying rate of the Morse input is a function of the number of dots maintained in the running average.
A more complex algorithm could take into account the nominal dash spacing of three dots as part of the average, as well as the
spacing between signal elements within characters.
idiosyncracies. This is a nice idea, and it
works well for individual operators; but it is
not very workable for a broad collection of
operator characteristics. Approach (2) is the
easiest method — sometimes called the
“ideal dot” method — but it is very suscep-
tible to noise pulses and rapid code speed
changes. (It tends to generate an excessive
number of errors and is not really that good
for decoded output.) For now, approach (3)
seems to offer the best chance of working.
14
Many individuals and commercial manu-
facturers have tried variations on approach
(3); but they all boil down to: Sample from
four to eight characters, average the lengths
of the dots, and use that average to make
decoding decisions. After the initial average
is set, you can update the average each time
a dot is detected; or you can average both
dot and dash lengths and settle on a median
Continued on page 106
Cabinets clockwise from top: CPU, Dual-cassette drive, Keyboard, 9” Monitor.
The Digital Group covers up.
(Beautifully)
For many months the Digital Group has been hard at
work on the heart of our microcomputer system, insisting on
quality where it counts in every product we’ve designed.
Now, we have turned our attention to the outside and cov-
ered up... with a complete line of custom cabinetry that
will enhance your Digital Group system for all the world to
see. The result is beautiful.
Sleek and sophisticated, but rugged enough to take all
the hard knocks you hand out, Digital Group cabinets are
made to be used and not just admired. Extra-heavy-duty
eighth-inch aluminum is utilized throughout with a special
tough-texture commercial-grade paint in Computer Beige.
All front panels are anodized aluminum in dark brown.
Even the front panel switches are lighted.
The Digital Group offers a beautiful cover-up for each
part of your system — from the CPU to the video monitor.
What's more, every new Digital Group product will get cov-
ered, too, so each piece will maintain that unmistakable
Digital Group image.
We're sure you’ve already fallen madly in love with
our cover-ups, but just wait until you take a peek inside.
That’s where the real beauty lies.
Our video-based systems, including 8080, 6800 and
the super new Z-80, are state-of-the-art, high quality and
totally integrated designs. Digital Group systems are com-
plete and fully featured and are specifically designed to be
easy to use. Merely power on, load cassette and go! (And
with our new cover-ups, you go in style.)
Best of all, Digital Group systems are available now.
And affordable. Prices for a complete Z-80 based CPU start
as low as $645, including the cover-up.
So write or call us for all the beautiful details. And
then head for cover!
(the digital group )
The Digital Group
P.O. Box 6528
Denver, Colorado 80206
(303) 777-7133
Letters
TTT |
mia
MORSE CONVERSION BACKGROUND
INFORMATION
A letter from W A Hickey regarding
Morse translators appeared on pages 92-93
of your July issue. For the further edifica-
tion of your readers, perhaps including Mr
Hickey, | provide the following additional
references on this topic:
Althoff, W A, An Automatic Radio-
telegraph Translator and Transcriber
for Manually Sent Morse, NTIS
AD-772 745, Dec 1973.
Ball, Edison L, Processing of the
Manual Morse Signal Using Optimal
Linear Filtering, Smoothing, and
Decoding, NTIS AD-A019 493, Sept
ASUS:
Bedzyk, W L, Machine Translation of
Morse Code Using a Microprocessor,
NTIS AD-785 130, June 1974.
Guenther, J} A, Machine Recognition
of Hand-Sent Morse Code Using the
PDP-12 Computer, NTIS AD-786-492,
Dec 1973.
McElwain, D K and M B Evens, “The
Degarbler — A Program for Correcting
Machine Read Morse Code,” /nforma-
tion and Control, March 1959.
McNaney, J T, and Richard R Tice,
System for Converting Telegraphic
Code into Characters, US Patent
2,840,637, June 1958.
Powers, B L, and F R Scalf, The
Design of a Morse-to-Teletype Signal
Converter Using Integrated Micrologic
Circuitry, NTIS AD-840 255, June
1968.
16
Shenk, E R, and J C Phelps, Auto-
matic Code Signal Discriminating
Device, US Patent 2,534,388, Dec
1950.
Smith-Vaniz, W R, and E T Barret,
“Morse to Teleprinter Converter,”
Electronics, July 1 1957.
Tevis, R, Printing Telegraph Receiver,
US Patent 1,805,114, May 1931.
Thomas L A, Morse Code Printing
System, US Patent 2,534,387, Dec
1950.
Winter, A C, Code-Controlled Appa-
ratus, US Patent 2,384,513 Sept 1945.
| doubt that this list is complete; | have
not been interested enough to do a really
thorough literature search.
On a different topic: May | suggest that
you provide the magazine name, the volume
number, and the date, at the bottom of each
page. Despite your predominantly hobbyist
readership, this small professionalism would
be useful.
E Douglas Jensen
Principal Research Engineer
Computer Systems Technology Section
Research Department
Honeywell Aerospace & Defense Group
Minneapolis MN 55413
The current issue of BYTE adds a bit to
the applications literature. Thanks for
sending along an excellent list of further
sources.
MORE ON MAKING PC BOARDS
| would like to add a few things to James
Hogenson’s article on making printed circuit
boards [July 1976 BYTE, page 58].
Readers who wish to make their own PC
boards will find that the spray resists are
messy and often difficult to use. We have
found that a dry film resist made by
Dynachem Corporation, Santa Fe Springs
CA 90670, works very well and is easy to
use. The material is called Laminar and
comes in various thicknesses. The one mil
thickness is the best for general use. One of
the nice things about it is that it is developed
in a water solution of sodium carbonate
(Arm and Hammer washing soda) made to a
concentration of 2 to 3%. It is moderately
sensitive to light and may be used in room
lighting without difficulty. It is easily ap-
plied by heating the PC board and rolling it
on with heating. A hard rubber roller works
the best. These are available from art supply
How you can
cook up
hot programs
on your own
“8080”
Scelbi offers you a
gourmet’s delight
of all new second
generation soft-
ware for your own
“8080”. Now you can cook up delectable pro-
grams to satisfy your own appetite for
“8080” mouthwatering applications. Best
of all, Scelbi’s “8080” Software Gourmet,
Guide & Cook Book can be yours for
only $9.95 ppd.
OVER 200 PAGES... only $9.95!
You'll eat up everything that’s in this action- :
packed, information-crammed book. Gobble up
practical “how to” facts. The description of the
“8080” instruction set. How to manipulate the
“8080” stack. Flow charts and source listings.
General purpose routines for multiple precision
operation. Programming time
delays for real time applica-
tions. Random number
generators. And many
other basic pro-
gramming function
comestibles.
Master Charge, Postal and Bank Money Orders preferred.
Personal checks delay shipping up to 4 weeks. Pricing,
specifications, availability subject to change without notice.
Prices for U.S. and Canadian delivery at book mailing rate.
‘Add $2.50 for each publication if Priority Alr Service (U.S.)
desired. Foreign orders add $6.00 for each publication.
FLOATING POINT ARITHMETIC ROUTINES
The Scelbi “Cook Book” even includes a com-
pletely assembled floating point arithmetic pro-
gram... plus input/output processing for your
basic I/O programming through interrupt proc-
. essing. There are code and numeric
conversion routines. Real time pro-
gramming. Search and sort routines.
And too many more finger-lickin’
goodies to mention here.
If you’re into the “8080”, you
must own this complete, compact
book. It has everything the e
good computer chef needs
And, you can’t beat the
price! Only $9.95 ppd.
Order your copy of
Scelbi’s “8080” Software
Gourmet Guide & Cook Book
today. Read it over. Then start cookin’ on all
four burners! Bon appetite!
\4
SCELBE COMPUTER
CONSULTING ING
1322 Rear Boston Post Rd., Milford, CT 06460
Telephone: 203/874-1573
If we credit Charles Bab-
bage with the first pro-
grammable digital com-
puter design, we should
likewise consider Lady
Lovelace as the first
programmer.
stores. The Laminar also has protective
plastic coatings on both sides. The soft,
flexible coating is removed before laminating
to the clean copper clad. The inflexible
coating is removed before developing. The E
| du Pont Company also has a similar type of
resist material.
The PC boards must be very clean before
resist is put down on the copper surface. A
dip in dilute hydrochloric acid or muriatic
acid followed by a scrubbing with Ajax or
steel wool will prepare the surface. Hogen-
son’s photo 9 looks like the result of resist
put on a dirty board.
Printed circuit boards shouldn’t be drilled
with regular steel drills. They will wear out
quickly and will leave ragged holes. Try
carbide drills made for PC drilling. Most PC
material houses should stock these. The type
with an eighth inch shaft will fit in most
tools.
Bishop Graphics Inc, 20450 Plummer St,
Chatsworth CA 91311, has a wide variety of
PC layout and tape-up aids. | would suggest
that readers get a copy of their catalog since
the last 32 pages are a technical manual on
PC layout and related techniques.
| hope this will help your readers to
improve their PC board technique.
Jonathan A Titus
Tychon Inc
POB 242
Blacksburg VA 24060
ON BLANKS, CHARACTERS AND
WOMEN IN COMPUTING
lam glad to see BYTE is developing as a
stable but flexible medium for the computer
hobbyist. There are, however, three points
which should be addressed early in your
history:
1, Invent a “blank character.” Variable
spacing for uniform column width is
fine for reading, but poor for showing
significant blanks. Programmers have
long used special symbols to represent
spaces or blanks, much as zeros act as
placeholders for Arabic numerals.
Examples are the lower-case b with
overstruck slash or dash, and a square-
cornered U. If no special character is
available, perhaps just a lower-case b
would do (eg: “LIMb+1” to show a
blank as necessary) [Only necessary in
the limited context of character text
string examples... CH]
2. Publish your character set. Testing the
character set is often one of the first
acts performed with a new medium
(such as a keyboard, video display, or
18
printer). It appears that you do not
have, for example, Greek letters,
although you have quite a variety of
fonts and styles. (This suggests using a
different typeface to spell out symbols
that may be single characters in the
original, such as THETA or UP-
ARROW). Many of us are no longer
limited to 47 computer symbols, but
use 128 character ASCII. [Our text
character set is published by IBM, in
its literature on Selectric Composer
balls; for computer graphics we gener-
ally assume 7 bit ASCII unless nated. |
3. While it is awkward in English to avoid
masculine pronouns (he, him, etc), |
do think we should try to avoid the
masculine assumption about readers
(eg: having a wife). This is a new field,
which is developing at a time in our
history when women (and men) are
outgrowing their traditional roles. 1
think we can expect to see a gradual
increase in the number of women
interested in computers, and should
encourage the trend.
In this light, it may be relevant that if we
credit Charles Babbage with the first pro-
grammable digital computer design, we
should likewise consider one of his chief
advocates, the Lady Lovelace, as the first
programmer. She wrote instructions for set-
ting up the Analytical Engine to perform
certain calculations. (This was, of course,
working in the abstract, as the machine was
never completed.)
Zhahai Stewart
POB 1637
Boulder CO 80302
As to the Jast point, we're all for it. But it
is a fact that most BYTE readers are male.
Where is the other 50% of the human race in
computing? As a rule, we try to keep things
relatively free of stereotypes in the hopes
that the other 50% will start finding out
about the wonderful attractions of com-
puters and computing. ... CH
IDENTITY CRISIS
This is just a short note to say that | am
enjoying BYTE and to offer a suggestion in
the form of a question:
“What do we call ourselves ?””
Radio amateurs call themselves hams and
| am sure other people have other names for
them. However, in BYTE to date, | find that
writers are grasping for words to use to
describe the computer hobby. Perhaps you
Microcomputers are highly
complicated devices. When you
buy one you want to make sure
the manufacturer has a solid repu-
tation for reliability and support. You
want to make sure he'll be in your corner
a year or two down the road.
The Altair“8800 from MITS was the first
general-purpose microcomputer. Today, there are
more Altair computers up and running than all the
other general-purpose microcomputers combined.
Today, Altairs are successfully used for literally hun-
dreds of personal, business, scientific, and industrial
applications.
Because we are so popular, many people have tried
to copy us. The pages of microcomputer magazines
are full of advertisements for Altair compatible devices
and Altair imitation computers.
Because we are NUMBER ONE,
we offer a much broader range of
products and services than any of
our competitors. One manufacturer
might be able to copy one of our
computers. Another might be able
to produce a working memory card.
But no one can copy the overall
Altair concept.
The Altair concept is a system
concept aimed at practical, cost
effective applications. That's why
we offer three mainframes includ-
ing the Altair 680b, Altair 8800a,
and Altair 8800b; ten peripherals
including a multi-disk system; and
over 20 plug compatible modules
including our new, low power 16K
static memory board. That's why we
are the only microcomputer manu-
facturer to go to the extra expense
of providing our customers with
quality, higher language software.
When you buy an Altair, you're
not just buying a piece of equip-
ment. You're buying years of reli-
able, low-cost computing. You're
buying the support of the NUMBER
ONE manufacturer in the micro-
computer field.
ms) nts
2450 Alamo SE/Albuquerque, NM 87106/505-243-7821
could run a contest of sorts to promote a
name for those active in the small computer
hobby.
Looking through some past BYTEs | find
words such as microists, kluge, hacker,
amateur computer, digital, analytical engine,
cyber(nuts) that may be altered, adapted or
crossed to coin some new word to describe a
computer hobbyist. Then we can say:
Do you suppose this will help people under-
stand what we are up to?
Bryan Patterson
Box 1726
Port Elgin
Ontario CANADA NOH2CO
Well, if we wanted to sound self aggran-
dizing, we could of course suggest “‘Byters”
as a term. Actually, in spite of the negative
connotations in computer science circles, |
[CH] tend to prefer the traditional term
“hacker.” At the start of amateur radio,
“ham” as used previously also had somewhat
negative connotations. (1 make an etymo-
logical assumption here that the term as used
in radio circles evolved from the tendency to
“ham it up” on the air as in the usage of
“ham actor.”) | like hacker as a term for the
serious amateur computer nut (who is also
typically professionally involved as well)
because it has implications of digging into
the subject matter and really learning it at
multiple levels of detail. The “compleat
modern hacker” is the renaissance man
(oops... person) of computing.
WHO SAYS THEY AREN'T?
With respect to BYTE covers, you blew
it. The phrase “Computers — the world’s
greatest toys” told it like it was and still is.
Truly, the only difference between men and
boys is the price of their toys.
A co-worker commented, “If computers.
are the world’s greatest toys, then are
programmers the world’s biggest kids?” How
can | argue with logic like that?
Julius T Marinaro
725 Cricklewood Dr
State College PA 16801
VIDEO TAPE AND COMPUTERS?
| was very pleased to find out about the
existence of your journal, | have had an
interest in small system uses for several
years. At present | am working with video
tape systems within a school district in Flint
20
Michigan. | am interested in finding various
smal} computing systems to use in video tape
editing and special effects for CRT displays.
Enclosed is my check for a three year
subscription to BYTE. | am looking forward
to my subscription. Also | would like to ask
for your assistance in answering two ques-
tions. | would like to find out if | could
obtain back issues of BYTE since it was first
published, and | would also like to find out
if you can give me any information on the
use of small computing systems with video
tape systems. Any information that you can
give in these areas would be greatly appre-
ciated. Thank you for your time and
trouble.
William D Wolverton
10320 Henderson Rd
Otisville MI 48463
September, October and November 1975
BYTE back issues are sold out at present, as
is May 1976. Remaining back issues are now
being serviced at a price of $1.50 per copy,
plus 25¢ for postage and handling. Send in
your requests, but send no money with your
request. If we have what you're looking for,
we'll bill you for what we ship.
As to the use of computers with video
tape applications, it sounds like an excellent
use. However, we have no articles in house
on the subject.... Yet. Perhaps you'd like
to write about your results,
HELP!
| have some surplus ICs from our local
IBM factory and would like to identify
them. | hope you can help me. | have three
types:
2709400 JUQ Mii
V 721304
7324FQ
2709401
Q Korea Mi
721304
7432FO
2709170
JUK Mi
V 721186
733180
They are all ceramic chip with 14 pins
gold plated in each side and in the top a gold
square with the numbers and a ground line
to pin one like in the MOS devices,
Jose Vincente
Caiza Postal 764
13100 Campinas
SP Brazil
Rickey’ tackling t
microcomputer kit for his next science project.
Rickey likes soccer, lizards, hot
fudge sundaes, skateboards and
microscopes. He can’t decide if he'd
rather be Franco Harris, Bobby
Fischer or Jonas Salk.
When his Dad brought home
the Intel SDK-80 microcomputer
systems kit, Rickey helped him put
it together. It took only four hours.
Everything was there. The 8080
CPU, RAM, PROM, programmable,
I/O, a printed circuit board with all
those capacitors and resistors and
the other things that go with it. The
best part was the instruction manu:
Every step was clearly explained. It wa
easy. The programming part looked
especially interesting. So simple. Just
imagine talking to a computer.
The big thrill came on Saturday
when they went to his Dad's office to
use a terminal. When they connected
the SDK-80 to the teletypewriter
they got a printout. That was e:
ing. Within an hour they were
to the computer, then inventing
games. They E
he SDK-80
computer of his own. He may be the
first kid on his block with nis own
computer. Thanks to a $350 low
interest loan from his Dad.
If youre interested in being the
first on your block to have a micro-
computer, contact your Intel distri-
butor: Almac/Stroum, Component
Specialties, Components Plus,
Cramer, Elmar, Hamilton/Avnet,
Industrial Components, Liberty,
Pioneer, Sheridan, or L. A. Varah.
Microcomputers.
First from the beginni
3065 Bowers Ave , SantaClara,C:
ABIT OF CIRCULATION
Attention: Circulation
Dear Ms Luhrs:
Thank you very kindly for making avail-
able the lifetime subscription to BYTE
magazine which | won at the First World
Altair Convention in New Mexico. Of all the
door prizes given, | firmly believe | won the
best. It was generous of your firm to make it
available. | would appreciate your conveying
my gratitude to Mr and Mrs Peschke and Mr
Helmers.
Since | already have a subscription to
your fine magazine, | am presently receiving
two copies. | am passing one along to
non-subscribers and hopefully it will gen-
erate additional subscriptions.
1 commend you on the many fine articles
which have appeared in past issues. Being a
novice in hardware applications, | parti-
cularly look forward to tutorial type hard-
ware articles.
Gene Straub
5723 Shasta Cir
Littleton CO 80123
THE IEEE 488 BUS
Regarding your comments about a stan-
dard interface for microprocessors, etc, on
page 96 of the April issue: | imagine you are
familiar with the IEEE 488 which is being
used by HP, Tektronix, Fluke and many
others to interface microprocessors, calcula-
tors, disks, cassettes, DVMs, counters, etc.
488 is not as complex as the standards
document would lead you to believe. It is
achieving rapid acceptance because it is well
suited to microprocessor manipulation, For
various reasons it may not be ideal for
personal computing, but it seems to be an
excellent starting point, One drawback is
that HP has the handshake patented. Their
license fee is quite reasonable for some
organizations but perhaps not for hobbyists,
Other drawbacks include the question of
common availability of the connector, etc.
However it would be nice if there could be
some degree of commonality between 488
and any hobbyist standard that might
evolve.
Bob Huenemann
4209 Armand Dr
Concord CA 94128
Yes, 488 might be a good place to start.
For those unfamiliar with the issue, the full
name is \EEE Standard Digital Interface for
Programmable Instrumentation, published
by the Institute of Electrical and Electronic
22
Engineers, Inc, document number IEEE Std
488-1975. Quoting from the IEEE standards
document, “The Hewlett-Packard Company
has assured the [EEE that it is willing to
grant a license under these patents on
reasonable and nondiscriminatory terms and
conditions to anyone wishing to obtain such
a license.” To obtain a copy of the 80 page
standards document write IEEE Service Cen-
ter, 445 Hoes Ln, Piscataway NJ 08854.
TEXT PROCESSING OUTPUT VIA
CONVERTED TYPEWRITERS?
Jim Lang’s letter in the August BYTE on
hard copy and IBM Selectric typewriters
aroused a responsive chord. | too have been
interested for some time in using the ubiqui-
tous Selectric typewriter to obtain high
quality hard copy. \t seems to me that any-
one familiar with both Selectrics and Tele-
types would prefer the former — half again
higher speed, much higher print quality, and
both upper and lower case. The clincher
would seem to be that most XYLs would
look more favorably on the idea of spending
half a kilobuck or so on something that can
also be used as a good typewriter instead of
something that can’t.
As some readers are probably aware,
there is a commercial firm that markets a
(rather expensive) applique that attaches to
a standard Selectric and makes it into a
terminal. (Tycom Systems Corp, 26 Just Rd,
Fairfield NJ 07006.)
In this connection, I’d like to point out
that the US Patent Office is a veritable gold
mine of technical information that can be
obtained for a very modest price. For
example, the patent documentation covering
the Tycom system consists of 26 pages of
diagrams and 50 fine print pages of descrip-
tive text. An appreciable fraction of this
consists of a very detailed description of the
internal workings of the Selectric type-
writer — it seems to collect details from the
myriad of IBM patents on the Selectric into
a single place.
A copy of the printed version of this (or
any) US patent can be obtained by speci-
fying the patent number (#3,453,379 for
the one mentioned above) and remitting
50 cents to ‘Commissioner of Patents, Wash-
ington DC 20231.”
Obviously one cannot duplicate a
patented item in making a product for sale.
Nor, in this case, would one want to, since
with new ICs and components, the circuitry
involved is verging on obsolescence, Never-
Continued on page 136
altair 8800a
TECHNICAL INFORMATION
The Altair 8800a is a parallel 8-bit word/16-bit address
computer with an instruction cycle time of 2 .s. Its
central processing unit is the 8080 LSI chip. It can
accommodate 256 inputs and 256 outputs, all directly
addressable, and has 78 basic machine instructions.
It is capable of directly addressing up to 65,000 bytes
of memory.
As well as the LSI chip, the CPU board contains
the two-phase clock, status latch, buffers and
the various lines going to the bus. (The buffers
are tri-state devices.)
The CPU contains six general-purpose registers,
P counter, arithmetic unit, accumulator, stack
pointer, instruction decoder, and miscellaneous
timing and control circuits. The arithmetic unit
contains the circuitry required to perform
arithmetic in both decimal and binary forms. The
stack pointer defines the current address of the
external stack, which resides in memory. The
stack is used to service interrupts and provides
virtually unlimited subroutine nesting. The
instruction decoder decodes the instructions and
sets up the various registers, gates, etc., in the
CPU for proper functioning.
There are 36 LED status indicators on the front
panel, 16 of which are used for the address bus,
8 for the system status latches, and 8 for the
data bus. The four remaining LEDs are used for
indicating memory-protect, interrupt-enable,
system-wait and hold status. Address line inputs
AO through A15, data lines DO through D7, and
the various status lines originate on the
CPU board.
The front panel control board contains the
circuitry for interfacing between the control
switches located on the front panel and the CPU.
In addition to the interconnections to the actual
processor, this board accepts memory address
switches AO through A15 (also on the front
panel). The first eight of these switches (DO to
D7) are used to put data into the CPU.
The front panel logic permits the following
functions: STOP—stops the processor
immediately after it completes the current
instruction; RUN—starts the processor at the
current address; EXAMINE-—causes the data
stored at the location (set by the switches) to be
displayed in binary by LEDs; EXAMINE NEXT—
steps the P counter once and displays the word
stored at the next location; DEPOSIT —causes
the information preset by the switches (AO-A7)
to be stored in memory; DEPOSIT NEXT—steps
the P counter and loads the memory; SINGLE
STEP —steps the program one machine cycle;
RESET—clears the CPU and sets up a starting
address of O; PROTECT/UNPROTECT—allows
selective write protection of blocks of memory.
When a block of memory is protected, it is
impossible to write over that block, but its
contents can be read out.
With proper adjustments, any memory speed can
be used in the 8800a computer, although
memory access time must be 500 nanoseconds
or less if it is to be run without wait states. In
addition to semiconductor RAMs, the processor
will also service ROMs and PROMs.
NEW FEATURES
POWER SUPPLY
The power supply provides three voltages to the
8800a bus: +8V pre-regulated at 8 amps;
+15V at 500mA; -15V at 500mA.
FAN
A fan has been mounted on the back panel of the
8800a to provide cooler operating temperatures.
18 SLOT MOTHERBOARD
The four-slot expander cards in the Altair 8800
have been replaced with a single-piece 18-slot
motherboard. The 18-slot motherboard contains
the 100 solder lands that comprise the
100 pin bus.
FRONT PANEL SWITCHES
The front panel toggle switches have 50% longer,
handles that are flat (instead of round)
for easier use.
An assembled Altair 8800a may be ordered with
six, twelve, or eighteen sets of edge connectors.
The Altair 8800a kits include an edge connector
with every plug-in module purchased.
Fan
New 18-Slot
Motherboard New Front Panel Switches
The four boards, along with the power supply, mount
in an 18" deep x 17" wide x 7" high (45.7 x 43.2 x
17.7-cm) metal cabinet.
SPECIFICATIONS
Number of Boards Up to 18
Microprocessor
Model 8080A
Technology NMOS
Data Word Size, Bits 8
Instruction Word Size, Bits 8
Clock Frequency, 2MHz
Add Time, Register to
Register, Microsec.
Per Data Word 2
Number of Instructions 78
Input/Output Control
1/O Word Size, Bits 8
Number of I/O Channels 256
Direct Memory Access Optional
Interrupt Capability Std. one level
Vectored Interrupt (8 priority levels) Optional
Software
Resident Assembler Yes
Cross Assembler No
Simulator No
Higher-level Language BASIC
Monitor or Executive
Sys. mon.; text edit.
Software Separately Priced Yes
0 monies
2450 Alamo S.E. Albuquerque, New Mexico 87106
Consider .
eh at Seahee
f POSTERS OF
CHARLI€ CHAN
well buy 12 COCKTAILS ON
AN AIRPLAINE ;
1996:
FLIGHT
(PRETZELS EXTRA}
TEN HOURS OF
PARKING IN
DOWNTOWN
WASHINGTON, Dc,
ONE FULL-YEAR
or MEMBERSHIP IN THE
IEEE COMPUTER SOCIETY
and with it, an automatic subscription to
COMPUTER magazine.
Special introductory offer: join now and receive FREE the one-volume collection of COMPUTER reprints,
“Microprocessor Architecture and Applications.”
Fill out and mail the form below. Find out why membership in the IEEE Computer Society is one of the
wisest investments you'll ever make. (At 24 bucks, can you afford NOT to?)
Quick—send me everything | need to know about joining the IEEE Computer Society." |
You can send me my free copy of “Microprocessor Architecture and Applications”
25 YEARS OF SERVICE when | join.
Name
IEEE COMPUTER SOCIETY
MAIL THIS FORM TO:
\EEE Computer Society 5855 Naples Plaza @ Long Beach, California 90803
!
I
I
|
|
V address
|
l
!
|
°
WJ Hosking W7JSW
8626 E Clarendon
Scottsdale AZ 85251
A Ham’s
Application D
'’m writing this article for a selfish
motive. | want to build some things and the
construction articles aren’t here yet, parti-
cularly in state of the art.
I just finished a television typewriter
(TVT) which has alphanumeric character
generation and storage capacity plus capa-
bility of serial or parallel ASCII (plus con-
trol) interface. Now that it is finished, |
want more than a plaything. | would like to
have the following capabilities:
a) Keyboard Morse code (CW) transmit
and receive encoding with CRT dis-
play.
b) Keyboard RTTY transmit and CRT
RTTY read.
c) Alphanumeric slow scan TV transmit
and receive.
d) Computer terminal operation with a
telephone coupled to a timeshared
computer system.
Description
My envisioned system is shown in figure
1, Let’s tackle that drawing block by block,
considering the TVT and CRT to already
exist and applying the constraint of a mini-
mum hardware (low cost) implementation.
FASTTO. =F
SLOW SCAN
——P} CONVERTER fe
VIDEO CW KEYER KEY
¥
Bite yy
F i tL reve
KEYBOARD SOFTWARE
SERIAL
ACOUSTIC
COUPLER
PHONE
Fsk 4
KEYER AND
CONVERTER }q—__J
Figure 1; An ideal ham
station configuration,
where “ideal” is defined
by the author in the ac-
companying text.
Pub. price, $8.95,
Club price, $7.60
Club price, $11.40
Pub. price, $11.95
Club price, $9.95
770/271
BUCHSBAUM'S
768/641 COMPLETE
~ MINICOMPUTER HANDBOOK OF
SYSTEMS: PRACTICAL
| Organization & ELECTRONIC /
Fiscrauaag REFERENCE
Phuhotse at H. ]
Pub. price, $15.95 Buchsbaum
3. Club price, $12.50 Pub. price $17.95 ‘
Club price, $13.50
BOOK CLUB
on introductory offer ma
')
salve: to new members of the CaaS
LD. H.
vier | GOMPUTER PROFESSIONALS’ Pe loys
Pub. price, $29,95
Club price, $21,50
787/98X
THE 787/661
PROGRAMMER’S INTERACTIVE
fee ert
by D. Maurer r= | n y ¢ yr ? e by B. §. Walker,
Pub. price, $13.50 E. A. Drawneck
of these great
Pub, price, $14.50
Club price, $12.30
767/246 =
A COMPUTER rof ional books
PERSPECTIVE Pp ge itl 7ee/t79
by C. Eames COMPUTER
Eames
Pub. price, $15.00 isuayer
Club price, $12.75, Market Power
by G. W. Brock
768/03X Pub. price, $15.00
MICROPRO- Club price, $12.50
GRAMMABLE
oe oe
TER
wae values up TO ENGINEERS
Salisbury AND SCIENTISTS
Pub. price, $13.50 ice) $29.95 by G. A. Korn
Club price, $11.40 Pub, price, $23.45
Club price, $15.50
768/307
CONTENT
ADDRESSABLE 767/088
PARALLEL Special $1.00 bonus book comes to you THE SUN NEVER
a with your first club selection a
Pub. price, $7.95
Club price, $6.75
767/815
GAMES & 766/053
PROGRAMS: ‘SYSTEMS
Mathematics ‘tren ‘SIMULATION:
for Modeling } Methods and
by RB Applications
ngieton ‘A. re
SW. Tyndall M4 Sisufivans
&D. J. Carlino
Pub. price, $13.00
Club price, $10.75 Pub. Price, $16.00
Club price, $12.95
save time and money " !
by joining McGraw-Hill’s new A
COMPUTER PROFESSIONALS’ ait
BOOK CLUB
TT HIS new professional club is designed to meet your day-to-day, on-the-job
needs by providing practical books in your field on a regular basis at below
publisher prices. If you're missing out on important technical literature—if
today's high cost of reading curbs the growth of your library—here's the solution
to your problem.
The Computer Professionals’ Book Club was organized for you, to provide an
economical reading program that cannot fail to be of value. Administered by
the McGraw-Hill Book Company, all books are chosen by qualified editors and
consultants. Their understanding of the standards and values of the literature in
your field guarantees the appropriateness of the selections.
How the Club operates: Every month you receive free of charge The Computer
Professionals’ Book Club Bulietin. This announces and describes the Club’s
featured book of the month as well as alternate selections available at special
members’ prices. If you want to examine the Club's feature of the month, you do
nothing. If you prefer one of the alternate selections—or if you want no book at
all—you notify the Club by returning the card enclosed with each Bulletin.
‘As a Club Member, you agree only to the purchase of four books (including
your first selection) over a two-year period. Considering the many books published
annually, there will surely be at least four you would want to own anyway. By
Joining the club, you save both money and the trouble of searching for the best
Oks.
————
MAIL THIS COUPON TODA
+ COMPUTER PROFESSIONALS/Book Club
P.O. Box 582 Princeton Road, Hightstown, New Jersey 08520
Plaaso enroll me as « member of the Computer Professionals’ Book Club
and sand me the two books indicated below. | am to receive the bonus
Book for lust §1, and my trst selection af the special Club price. Actual
postage, plus 25¢ handling charge will be added (sales tax, also, if appli-
gable), These books are to be shipped on approval. and | may relurn them
both without cost or further obligation. If | (0 keep the books, I
agree to. purchase as few as four additional books (including this fist
selection) during the noxt two years at special Club prices (guaranteed
45% discount often more), This order subject 10 acceptance by McGrew-
Hill. Orders trom outside the continental U.S. must be. prepaid. All prices
Subject to change without notice. Offer good for new members only.
Write Code # of $1.00 Write Code 3 of
bonus book
selection here selection here
NAME,
‘ADDRESS.
city.
STATE. ZIP.
P39161
41
Morse (CW) Transmit and Receive
Looking back through previously existing
magazines on electronics and amateur radio,
| have found several articles on Morse
keyboards, most using bulky diode matrices.
The literature on Morse code readers is much
harder to find, and as this is written | found
nothing approaching state of the art.
It would seem that, with the rapidly
dropping prices of microprocessors and their
associated memories and peripherals, the
way to go on this project would be a
computer using minimum hardware imple-
mented with an LSI microprocessor. | have
presented a very basic approach to such a
system in figure 2. All that would be
required from the hardware standpoint
would be the microprocessor, a read only
memory for permanent program storage, a
programmable random access memory for
MICROPROCESSOR:
Figure 2. For a dedicated
“black box” ham radio
data processor, the use of
POWER
SUPPLY
@ microprocessor system
DATA
JapoR|
216x8
ROM
with as much as 2 K by 8
bits of program ROM with
perhaps 256 bytes of pro-
clocks
CONTROL,
grammable memory for
256X8
PROGR.
MEMOR’
17/0
(Pia)
gair
DATA
AND.
CONTROL,
Editor’s Note
AMMABLE
Y
data buffering. [Exact
amounts of ROM will
depend upon the com-
plexity and features of the
software foaded; 2K
should be reasonable for
Morse and_ radioteletype
support .... CH]
working storage, and a peripheral interface
adapter (PIA) for input and output. Some
other items such as power supplies and
clocks are also required. | would hope that
the microprocessor interface unit cost could
be kept under $100.
Now for the required design work. This
black box | am planning would have to
accept a seven bit ASCI! code (serial or
parallel) plus a data present strobe. The box
would convert the input character to serial
Morse code and output the code over some
suitable keying circuit to the station trans-
mitter. Since we are talking about a small
computer, the Morse code speed desired
could be ordered by an appropriate input
code sequence from the keyboard. The box
then has to send a character or flag back to
the TVT to say it is ready for a new
character.
The reverse or receive mode is the Morse
to ASCII conversion. However, here a special
conversion device will be needed to change
the audio out of the receiver to some kind of
signal that the computer can recognize and
convert. The software which drives the
converter must also recognize intercharacter
versus interword spacing and provide space
characters to the TVT where required in the
received text.
The end result would be Morse code sent
by the keyboard through your transmitter
and the Morse code heard by your receiver
being displayed on the TVT CRT. This is a
job for both hardware and software de-
signers. [See the articles elsewhere in this
BYTE for technical details... CH]
Radioteletype (RTTY) Transmit
and Receive
The same basic microprocessor described
above could be used to provide the radio-
teletype function instead of or, with more
Here isa short article on a theme of “wouldn’t it be nice to have X” where
X is defined as some automation applications for the amateur radio station, It
is timely, in the context of this month’s Morse code theme, in that one of the
author’s application goals is detailed in several different technical articles in
this issue. There’s still plenty of room for further explorations of computer
application to amateur radio technology of course.... CH
28
ROM, in addition to the Morse code
function.
Here, the transmit conversion would be
from parallel ASCII (or serial) to serial
Baudot at a transmission speed programmed
into the computer. The system could easily
include niceties such as automatic line feed,
etc. The Baudot output would be serial
signals sent to an FSK transmit terminal
unit. When the FCC finally gets around to
approving ASCII on the air, a simple ROM
change would reconfigure the hardware to
reflect this improvement.
On the receive side, a standard RTTY
terminal unit would be used to convert the
received FSK signal to a serial binary signal
for the microprocessor. This keying signal
would be routed to the processor which
would convert it to either serial or parallel
ASCII, whichever your TVT or terminal
interface requires.
This system would work just as a regular
teleprinter does, except that the received
copy would be on a CRT instead of hard
copy on a printer. For those desiring hard
copy, a printer can easily be interfaced to
the computer system. The development here
is mostly software since really good terminal
unit and keyer designs are readily available.
Slow Scan TV
This is another area eagerly awaiting new
developments. The TVT already has fast
scan composite video as an output and the
CRT involved accepts composite video. The
problems and areas for new development are
mostly in the area of conversion from fast
scan to slow scan and reverse. It is highly
likely that the microprocessor box we have
already discussed can do at least part of this
job for us. | think this one is really ripe for
new breakthroughs.
Computer Terminal Operation
This is probably the easiest task. There
are those out there who, had they the
terminal, could make use of one or another
timeshared computer system. This use re-
quires coupling in one way or another to a
telephone line. The easiest way to do this
without angering Ma Bell is with an acoustic
coupler.
Conclusion
As | said earlier, this was an idea article
and now I’m going to sit back and eagerly
await the neat ideas generated by all you
experts out there. There’s room for much
development in both hardware and software.
If you have designed something to do one of
these jobs, then publish it for the rest of us.
Meet the new
OSI 400
Computer System.
Now more performance and
more flexibility actually cost you less.
Ask yourself how much system you need. Or how little.
Whatever the answer, even if you want to change it later, you
get more system for less money with the OS! 400.
Start with the OSI Superboard. Add your choice (!) of a
6502, 6512 or 6800 microprocessor; eight 2102s for 1024 bytes
of RAM; and an external front panel. Power it up and you havea
working CPU. Or populate the board with a processor, system
clock, 512 bytes of PROM, 1024 of RAM, an ACIA with RS-232
or 20 ma loop interface, a PIA with 16 I/O lines and full buffer-
ing to as many as 250 system boards for system expansion.
Even fully populated, Superboard costs less than $140 with
a 6502, less than $160 with a 6800.
But take a look at what you can have for $29. Our special
offer includes a plated-through-hole G-10 epoxy Superboard,
bare, plus a 50-page theory of operation and construction
manual including complete chip documentation in an attrac-
tive OSI binder.
And Superboard is just the beginning of the OS! 400
system. You can expand its memory; interface to many I/Os
including plotters, cas-
settes, FSK, ASCII,
Baudot and more; go
video, including graph-
ics; even add floppy
disk. And bare boards
are just $29 each, com-
plete with in-depth
manuals.
But first things first.
— ——-—-—--—-,
400 me now! SPECIAL —$29 postpaid with this coupon only.
Name
Address City
State Phone
= eS Enclose check or money order or supply
FT onier >) Be 4 Bank Card information below.
Card No. (include all digits) ______________ Good thru
Interbank No. (Master Charge)
Sign your name
Ohio Scientific Instruments
Ohio residents, 11679 Hayden Street
please add tax, am, Ohio 44234 Dept. B
=
I
|
|
|
I
I
I
1
I
|
!
l
|
\
l
———— ee
Add This 6800 MORSER
to Your Amateur Radio Station
Robert D Grappel
148 Wood St
Lexington MA 02173
Jack Hemenway
151 Tremont St
Boston MA 02111
A great many amateur radio operators
find Morse code operation a nuisance. It
isn’t easy to develop proficiency in copying
code, and it often seems that those stations
one wants to work are just those whose
operators send code too fast to readily copy.
There must be hundreds of Morse coding
aids developed over the years, ranging from
mechanical keys and paper tape transmitters
to fancy code memories and typewriter like
automatic transmitters. Nearly every ad-
vance in electronic componentry has
spawned a new series of Morse code aids.
Nearly all have been designed to help the
operator send more effectively; the problem
of reception has been more difficult to solve.
Some complex circuits have been devised
which can copy code, provided that it
follows strict timing requirements. Truly
general code followers, circuits which can
Development of MORSER
The program for MORSER shown in this article was pro
relocating assembler designed and written by Jack Hemenway and described.
somewhat humorously in the August BYTE article “Jack and the Machine
Talk” [page 52). by authors Grappel and Hemenway, The i
feature allows one to put assembled code anywhere in mel
reassembly, a feature which is most useful for building large programs. One
drawback of this is that relocatable addresses (denoted “‘R” in the listing) are
always. two bytes, so the programmer cannot generally make use of
Motorola’s direct addressing mode, which requires addresses to be in the base
page; the first 256 bytes of memory address space. Since MORSER was
programmed so that both data and program code are relocatable, it is not the
most compact form in which the algorithm could be expressed on a 6800, If
“one rewrote the program to keep all the variables in the first page of memory
“and used direct addressing wherever possible, about 75 bytes of storage could
30
copy code with performance approaching
that of a skilled human operator, are rare.
They are very complex, using dozens of
integrated circuits, large diode matrices, etc.
The recent advent of inexpensive yet power-
ful microcomputers can make the dream of a
relatively simple yet very general code fol-
lower possible. Why a computer? First of all,
it allows one to develop and improve an
algorithm by simply changing program,
instead of rebuilding complicated circuitry.
Second, since the computer is not restricted
to running only the Morse programs, one can
use the computing power for any number of
other uses, limited only by the operator’s
creativity. This article describes a code fol-
lowing computer program as implemented
on a Motorola 6800 microcomputer. It can
copy any code speed from 3 to 60 words per
minute, and can adjust to the irregularities
of hand sent code. A minimal amount of
external hardware is needed, ahd the
program only takes about 600 bytes of
memory. The algorithm can be converted to
run on almost any 8 bit microprocessor.
Since you are still reading this, you are
hooked. Let’s begin to dissect the program.
MORSER consists of five segments:
initialization, decoding, delay timer,
sampler, and terminal driver. In the program
listing, lines 001-068 are initialization, lines
069-200 are decoding, 200-213 form the
delay timer, 214-250 form the audio
sampler, and lines 251-277 drive the output
terminal. Each segment will be described in
turn.
The major function of initialization is to
define the variables in the program and to
give them appropriate initial values. The
operating system of Jack Hemenway’s
machine performs some of the initialization
automatically at loading time, such as clear-
ing the peripheral registers and setting the
stack pointer. If the program is to be run on
a system without these features, then state-
ments to perform these functions must be
added to initialization. The values of DTIME |
and MAXCNT must be set, based on the
computer running the program. DTIME
adjusts the program timing to the processor
cycle time, and MAXCNT adjusts the ter-
minal driver to the data rate of the terminal
in use for output. These values are not very
critical, and the program comments list
typical values for these constants. As assem-
bled, MORSER assumes a 6820 PIA at
addresses 8040-8043 (hexadecimal). The
peripheral interface can be relocated to suit
the particular hardware configuration in use.
Only one input bit is needed; the rest of the
PIA may be used for other functions. The
listing also shows that an external sub-
routine, OUTCRT, is being used to drive a
CRT terminal for output. This program is
part of Jack Hemenway’s system. The user
of MORSER must provide a suitable routine
for his or her own system. For example, the
OUTEEE routine in Motorola’s MIKBUG
will work. The idea is that some way must
be found to take a character from the A
accumulator and place it appropriately on
the output device. An automatic carriage
return and line feed is required, as MORSER
does not count the characters in a line.
Initialization also sets up the decoding
table DECTAB. The ordering of this table is
the heart of MORSER. The ASCII repre-
sentation of a character is placed in
DECTAB at an offset generated as follows:
Generate a byte with a binary 1 for every
dot and 0 otherwise; generate another byte
with a binary 1 for every dash and 0
otherwise. For example, the letter A (Morse
+—) generates 00000010 and 00000001
respectively. Multiply the dash byte by two
with a left shift and add the bytes. The
result is the character offset. Using this
algorithm, it is seen that A is at an offset of
4, All other Morse characters are generated
in the same manner, and the rest of the table
is filled with blanks. It is the function of the
remainder of MORSER to convert the
incoming audio signal into offsets into
DECTAB, and to transfer the character
representations found there to the output
device,
MORSER decides which inputs are dots,
dashes or word spaces by sampling the audio
31
Photo 1: Author Robert
Grappel, shown at the con-
sole of Jack Hemenway's
computer system with a
hand held switch used to
test Morse code inputs to
MORSER during the de-
velopment of the program.
Listing 1: The MORSER
program, as assembled for
the 6800 at location 0000
hexadecimal using Jack
Hemenway's assembler.
The program is written in
a relocatable fashion, so
no data references are
made to page O of the
6800 address space. In
Jack’s assembler, the col-
umn immediately follow-
ing the hexadecimal code
output sometimes has the
letter “R” in it. This indi-
cates a reference to a re-
locatable symbol.
input at intervals. The delay timer section
controls the period of the sampling. This
tiny section of code (only six instructions)
actually consumes more than 75% of the
running time of MORSER. In fact, the time
spent in all other parts of MORSER is
considered negligible in the design. A rough
“rule of thumb’ states that one word per
minute of Morse code is equivalent to one
dot length per second. All other code cle-
ments have lengths nominally equal to
integer multiples of the dot length.
MORSER is designed to sample each dot
length time unit four times. Since the range
of code speeds is 3 to 60 words per minute,
this implies that the sampling period should
2801 e800 7F OES K RFGIN JMP INIT FFCIN INITIALIZATION ona
woe . 09
e203 e462 72Fe OUICRT FOU S72FH SYSTEM CRT HANDLER e084 POA 7
e202 0003 8040 FIAL EGU $8040 PERIPHERAL LOCATIONS eS AOFD Ze
2885 e003 S940 DRI FOL sean 0086 OCF TF
26 ees Beat CkKI FEU eset ves? ouce 7D
2987 9803 BeAr Flee FEU senae GRE ACS PA
wees e683 Beaz npRe FUL Seer eo89 @ec? TE
28e9 2003 6e23 CkKe RGU s6 Ben 090 weCA ES
eo1e + suDIO INFUT ON SIDE 1, FIT @ 91 coc as
11 vao2 ee2e PUFFL | RMF 32 NFCODEN OUTFIT FUFFER e92 ocr Et
cord * 693 wanl 2F
13 6029 0@ COUNT «FCB OUTFUT_ TIMER e094 Capa ES
opie eo2e FF DFLAG OFCE SFF “RPTA-RRANY" FLAL 995 aane 27
e215 ened a2 DIIME FCF 66 —OFLAY LOOF TIMFK 96 anD7 EI
016 + ADJUST DIIMF FOR FRUCESSOR CYCLE IMF 097 Bane 26
e17 + DTIMF#165 FOR 166 USFC PROCESEOR we98 eeDc 70
18 © DIMES B88 FO 2.8 USFC ROCF: ee99 Hunk 26
ees + DUIMF= 66 FOR 265 USEC FROCE e100
aazy ono6 FF Loaie oo FCE SPF CLAS] DATA wet earl a6
9021 4027 FF MARK CE SPF LAST MAK TYRE bers BT
022 ous 6C LUMEN FCF 12 LAST MPrK Lewcin were Ee
229 0¢29 09 Likse RCE 090 LFTIFR-SReCF LF VCTM bord Fe
neze waza 12 mAKCNT FCE 26 TFRMINAL CUNSIBNT OFC 48
oes + MAKCNT= 6% FOR 110 FAUD GUTRUT TERRI NAL OED 25
en26 + MANGNT=2@ FOR 366 EAUD QUTFUT TERMINAL eure 58
ewe? + MEXCVT= @ FOR FASTER TFRMINAL cern 25
pare ene ce MLN OFC & MARK LENGTH were ac
eH29 aweC we OLDSTA FCE & OLD MehK/SFACE STATUS ors ET
2930 neen ce OUTACY FCF & FURFFF POINTER wore FT
ee31 g@eF ec SPLEN FCF 12 SFATF LENGTH Bors Fe
ees weer oe stkoui FCF DOT RFCISTFR Har CO
ee33 30 oH STLOAS FCF © DASH KFCISTFR err 2c
ee34 we3! Ct Tcwik FCE IMF COUNTER: eon 7A
eas #e32 14 TIKFR FOR 2 © CLOCK ADJUST VeLUE B103 oF
pose vOI3 13 NOSe -FCE 2a WORD-SFACE LewCT4 4105 7F
a7 were Be unsxey FCF © FURFER FOIVIER 2108 7C
e038. : hor en
239 S OFCODING TALE CENFRATED eS FULLUDS: ergo ct
cea0 = TAKE MURSE CODF FUR CHPKACI Frees Wier PF
Peat * CENFRAIE €-E11 VALUF, I=u7y &2De ein 7
fear © CENFRATE 6-FIT VALUF. 1=DASH E elle Fe
0.03 + SHIFT SPOON VALUF LEFT ONF FLACr ony er
wena POD VALUFE.++THE RESULT 1S THF UFESFT w1i9 en
eras OF THAT CHARACTER IN DFCTAE erik ce
e046 + FLANKS OCCUR WAFRF THERE TS 0" VALID erin FT
e947 + CHARACIFR e12@ 75
ence % ORFFE JORCENSON, HOM KANIOs MAY 72
£0.49 . e129 Fe
ese 8235 20 DECIAR FCG tt e126 a7
2851 Fes6 45 Foc TANMSURKDK OMY? 127 16
52 CO26 26 Fe 'F LJP Lacie 54° e128 57
p53 vase oe Foc 1 8 e ee vies te
9054 0066 2F Fee ty 7 et 21D BT
855 ee76 20 Foc tt e120 66
2056 0879 04 FOE $02 END OF TRANS. CHAhe ier e7
057 087A 20 Feo tt £132 BE
2058 e7F 20 Foc +? : : 15 Fé
0059 HBF 20 Foc ¢ : 6138 46
2060 0a9F 3E Fee) 6 : a1ag 25
61 Bear 20 Foc #136 58
eee . e1ac 25
263 + CONFIGURE PERIFHFROL INTERFACE w1aF 8c
rece . e13F &7
O65 HUFS G6 RA INIT LOA Ansa
866 OFF FT BEAL STA ® CkhI
67 +
ease = END OF INITIALIZETION SPCTION
eees .
e078 * DECODING PLCOAITHY HAS FIVE AULFS:
671 * 1s TR NER MARK TS AT LFAST IkICF
e072 . THF LAST ONE. THEN IT IS @ Dest
73 + 2. TR NFW MARK TS LFSS INAN HALF
ee74 . THE LAST ONF, THEN 17 TS 8 DOT
e275 © as TF MBhK TS MOR THAN M@LFs FUT
2276 . LESS THAN TICF, 11 1S SOMF eS
277 . THE LAST MARK
evs + AL TF A SPACE IS MORE THAN 974 OF
9279 . LAST DASH LFNCIH, IT 15 LFITFR SPACE
e08e 5. TF A SPACF 1S MOKF IMAN TWICE THF
eee . LAST DASH LFNCTHs 11 1S WORD SPACE
32
eure
wics,
we2e
23
e166
08
veee
eves
ever
0@27
a
o
0027
aor
eae
06.29
FF
eT
ener
op3e
range from 100 to 4 ms. The delay timer is
adjusted by DTIME to count time in milli-
second intervals. The variable TIMER de-
termines how many milliseconds will be
spent in the delay loops. This time is roughly
the sampling period, since the longest path
through the rest of the program is at most
0.3 ms. TIMER is adjusted in the decoding
section to suit the speed of the code being
processed. The formula 250/TIMER gives
the approximate input code speed in words
per minute, after the program has been
running for several characters and has ad-
justed itself to the code.
The sampling section repeatedly tests the
status of the audio input signal against its
© REF: FRIDYs GS1s Ja 1971
fk START 181 DFLAC —NFW DATA KFAnY?
FRO te
& UMP WAT) wall FOR DATE
RJie 181 LDATE LAST RATA KERK UR SHACE?
FR Jt
R Jur Skece
RJ1E LDA ALMLEN LEN «(Fe PeLMLeN?
ASL @
Re CHF A LEN
FLE DASH
& LOA PB LMLEN MLN sLTe LaLeN72?
SKB
kK GMP & MLEN
PPL 901
kK 187 LMARK —LASI DAIA MARK Oh SFACE?
bMI DASH
pol Le a at
f S18 ® Lmekk FUT 001 INTO KFLISTFR
& Coa A S1Lbur
K LOA & STLDAS
cars
BCS LFAFRR 100 MANY BITS FOR REGISTFR
asl
ECS LENFRR
Ine & INSERT 101
K STA ® STLDOT
r STA B SILAS
Loe FHLEN RECENFKATE CLOCK RATE
SUF ES FASED ON DOT LENCTH
BOE NFAST TF LESS THAN 3, CLOCK SLOW
k DEG TIMER IF MOKF THAN Sy CLOCK FAST
BCT FUT IF EFTUFFN 3 AND So Deke
K CLR TIMER
R INC TIMER
ERA FUT
MAST CHE B92
FUE FUT
h Ist TIMER
RFUL LOAF IIMFR LIMIT TIMFA 10 1-126
CHEF #Ize
FLT RFLnan
Lor F #120
hk RFLOED STA E TIMER
ie IMP Soke
Kh DPSH LOA A MLEN SPT LTRSFEO7 s0ML FW
bSk &
TAP
PSh &
Pe
b S18 LIRSE
Loe A #EFF FUT DASH INTO RFCISTER
R STA A LMAKK
r Line @ StLnoT
R Loa & StL nes
ast 8
ECS LENFRR 100 MANY FITS FOR RFCLSTFR
ASL
BCE LENERE
ING & INSPRT pasH
bs S1é 6 SILPOT
F S18 & STLDAS
oy LOA BMLEN SFI KNSP=2eMLEN
PSL e
BRL 12
LOA # #127
Ryi2 STA 6 sosF
ROSTORF Loe 6 mew
F S10 LMLEN
RPSFI LOE @ #SFF RESET “DATA-RFADY™ FLAG
ke STA A DFLAG
R SME WAIT
kh LENFKA CLK STLO1 ELIMINATE Be oFTA
F CLR STLNeS
BRA FFSFT CVE Uk ON CHARACTER
£255
0256
257
vese
0259
0260
e261
262
9263,
o2ea
e265,
266
267
e268
0269
e270
eT)
272
9273
e278
0275
e716
e277
eres,
eice
eice
eee
aice
e1cr
e232
208
e230
e230
bee
e243
e246
24g
eae
ear
e251
ese
pose
257
BF
86
be
eI
76
Td
ec
ce
Fr
1
ce
FT
Fe
10
26
FT
1
7
70
26
FT
1
ce
Fr
BT
7
1
a
Fe
a
20
EL
2c
1
1
*
6
26
1
Fe
oF
a
66
pp
a
Fe
ca
77
1
ose
anes,
kK
K
SHACE LOA Ph EPLEN IS SPLEN CFs LTASP?
GMb LIRSF
PLY RRSET
LDA F SILDAS NFCORR LETIFR FRUY RFCS.
fun F N€AF KFSTRICT WU € EITS
Lee @ s1L007
AND A #SaF
SL F
aPh
ANI A ACTF RESTRICT 10 7 FITS
Lox #neciee
STA A INDFRIFY
ANDEAT LIB BF & RFIRLEVE ASCII cope
k LDP A MDSACY FUFFFI: FULL?
CMe eo #32
ECE RESE] IF 0s FINT.e
ADD A GUTXCY CFNERATE FUFFFA FUINIRA
AND A #SIF RESTRICT RANCE
INC wOSKCV
LOx «BUFF
STA A INDFRP+L
weer x25
B®
a pane om
INDFA2 STA F rh FUT CHAK. IN10_EUFFFR
CLR STLDOT CLARK REGISTERS
Lk S1LOAS
LOA A SFLEN IS SPLEN .UF. WOSr?
CMF A wOSE
FLT RESET NOTA WOAD SFRCE
LOA A WDSKCY INSFRT ELANK FOR KORD SPACE
cur a 1S EURFFR FULL?
EGF IF SOs PUNT.
ADD A OUTACY GFNFRATF EUFFFR POLVIER
AND h ASIF RESTRICT KASCF
1Nc
Loa F PSCII BLANK CHAKACTEE
Lox
STA A
INDFA3 SIA & FUT FLANK INTD EUFFFR
© FNP OF MAIN PROGRAM
+ BFGIN DELAY Ime
+ CEWERATF "TIMER" MSFCS. OF FLeY
Wald Lpe 6 TIMFR
PLODPL Loe & MTIMe
OLOOFe DRC &
NE pLOOPe
Dec A
ENE pLOOF!
END OF DELAY TIMER
TEST AUDIO INPUT AFRE
AOADLF OUTFUT TO TERMINAL,
Loa a Fler CeY @UCLD INFUT
OND A EEL ELI ZERO OF FIA
CMF @ OLDSTA FI1#0 TE MarK
ENF DIFFER
INC TCVIR
TST 16N1K
Key
#120
TONTR
TRANS
OVERFLOW OF 1eNIR?
FIX OVFRFLOM
okey
DIFFER n SFT NDATACRRADY" FLAC
DFLAL
STORF ITEM LENCIK
A MARK OF SEACE?
SPACE,
ZERO
mae
"1 SFI Lopate 10 oLnsie
TIESPACEs T=MeRK
Neuse
ontRa RESET OLosTA
RESFT TIME COUNTER
TRANS CHECK FOR TFPRINEL FFADY
LY 10 SFEFO TFRMIWAL
s1 orb &
BoE
ING
MP
PAKCNT
ouTeHK
cousT
S16R1
TERMINAL KFADY
BEIURN TO FECINNING
oureHK cL
Loa e
ENF
Pilg
coud
wosxey
wouut
START
Loa + ovtacy
LDA PUFF
STA & INDEXA®t
INDEXA LOe # 4% OUTPUT CHAK. IN AECL A
© USF SYSTEM SUBROUTINE 10 OUTFUT CHAKACTEK
Jan
ANY DATA IN FIIFFER?
TF NOs RETURY
wou GENERATE FUFFFR FOINTFR
bec
La &
ING E
ann &
ste &
Me
END
wosxey
avTacy
ante
ouixcy
START
KFSTAICT KANCE
FACK 10 THF BECINNING
33
previously sampled value. If no change is
found, the time counter is incremented to
indicate the increased length of the signal. If
a change is found, then a series of processes
are done. The data ready flag is set to tell
the decoder that a pulse is complete, the
time counter is stored into the mark length
or space length variable, the data type (mark
or space) is recorded, and the time counter is
reset to one. A few notes are in order about
sampling. First, the sampler assumes that an
input level zero (ground) indicates the pres-
ence of an audio tone (mark), and that a one
level input (high voltage) indicates no tone
(space). This setup coincides with the audio
processing hardware described later; but if
one wishes to have a one input signify mark
instead, only two simple program changes
are necessary. Changing the BNE (branch on
not equal to zero) instructions on lines 236
and 241 to BEQ (branch on equal to zero)
instructions will accomplish the inversion.
This illustrates the ease of modifying the
system when it is based on a program instead
of hardware. One other note: One must
protect against overflows of the time coun-
ter. This occurs when long marks or long
spaces cause the counter value to exceed the
maximum value representable as a positive
byte. MORSER checks for such occurrences,
and resets the time counter to a large
positive value whenever an overflow is
detected.
We come now to the decoding section.
The section is a software version of algo-
rithms abstracted from several hardware
designs. It can be described by a set of five
decoding rules. The length (time counter
value) of the last mark received is used to
determine the type of the present mark. The
length of the last dash received is used to
determine the type of space being received.
RULE 1. If the new mark length is at
least twice the length of the
last mark received, then the
new mark is a dash.
If the new mark length is less
than one half of the length of
the last mark received, then
the new mark is a dot.
If the new mark length is
more than one half but less
than twice the length of the
last mark received, then the
new mark is the same type as
the old mark was.
If the new space length is
more than 3/4 of the last
dash length received, then the
new space is a letter space.
If the new space length is
RULE 2.
RULE 3.
RULE 4.
RULE 5.
AupI0
INPUT O.1MF
FROM
RECEIVER
longer than twice the last
dash length received, then the
new space is a word space,
Any other space is an element space. These
rules determine the processing path of each
data item returned by the sampling section.
The dots and dashes are stored in memory
(STLDOT and STLDAS) until a letter space
is detected. Then the memory contents are
converted to an offset in DECTAB, follow-
ing the process previously described. The
character code found in DECTAB is then
transferred to the output buffer. The buffer
is arranged as a 32 character first in, first out
store which allows the decoding to get ahead
of the output device for short periods. The
detection of a word space causes the latest
letter to be decoded and an extra blank
character is inserted into the output buffer
to provide a space between output words.
The decoding section also adjusts the
TIMER value each time a dot is detected.
Dots are nominally four samples long. If a
dot is declared shorter than three samples,
the sampling period is reduced. If a dot is
declared longer than five samples, the
sampling period is increased, This mech-
anism helps MORSER to follow changes
in code speed during a message or even
within characters. The flexibility of the
decoding rules will allow code far from the
proper timing to be decoded correctly
during the adjustment process. Most de-
coding errors will result either in no charac-
ter at all being output, or a blank being
+12v +5V
4
5K
NES67
2k To Pia
2 # <S INPUT
P
TUNE m
6, z
+
aa ; FR l00pF
tk 25 nF ar [
l Te
Figure 1: A suggested audio input processing circuit designed to be used with
an amateur radio receiver. The tuning adjustment sets the frequency of the
signal which is to be interpreted as a dot or dash by the program. The receiver
tuning and BFO should be adjusted so that the desired station will have its
dots and dashes at the frequency set by R1.
34
INosay RMB 2
INDEX
substituted for the garbled character.
MORSER can handle code with wild speed
variations and weightings from 10% to 90%,
but it can be fooled by sufficiently erratic
code. So too, however, can most human
operators.
MORSER uses a programming “‘trick” in
conjunction with indexed addressing to
facilitate the decoding and output process.
This occurs on lines 174, 183, 198, and 267.
The problem is to retrieve or store data at a
particular location within a table or buffer.
The starting address of the area is known,
and the desired offset is calculated each
time. MORSER uses the technique of
modifying itself during execution. Since the
program is stored in programmable memory,
it can be changed just as the variables can be
changed. In Motorola systems, the second
byte of an instruction using indexed address-
ing stores an offset to be added to the index
register contents to generate the final effec-
tive address for the instruction. MORSER
loads the index register with the beginning
of the desired table and then writes the
calculated offset into the second byte of the
indexed instruction. The processor adds the
two, making the desired address. This works
well, as long as the program is stored in
programmable memory, and one is careful
where one writes. If this type of trickery is
to be avoided (for example, if the program is
to be put into read only memory), the
process of adding the offset to the base
address must be done explicitly. The follow-
ing code will perform the function, where X
contains the starting address of the table,
and accumulator A contains the offset:
Programmabie memory area for
computation
st inosav Starting addvess
PSH 8 Save contents of B sccumulitor
CLR 8
ADD A INDSAV#1 Add tow order part of address with
ltset ia &
ADC 8 ~—INDSAV. Add high avd part of audress wth
carey
STA A IN
Showing the first 100000 of 507255 characters.